An Application of Artificial Neural Networks to Decentralized Cooperative Navigation
CSEF · 2016 Mathematics & Computer Science Third Award
Overview
Objectives/Goals Swarms of robots offer an alternative to the conventional single-robot approach in navigation and exploration problems. In this project, I show the viability of using Artificial Neural Networks (ANNs) to control swarms of robots. I train ANNs to execute two tasks involving "exploring" area in a virtual environment: Separation - "dividing and conquering", and Cohesion - staying close together. Methods/Materials The project was written in Python. The virtual environment consists of a 30x50 cell region, where each cell can either be an obstacle or an explorable area. Each robot has 3 proximity sensors that gives the distance to the nearest obstacle and 2 "swarm sensors" that give the distance and direction of the swarm member in the best position. The ANNs output the direction in which the robot turns. To evaluate the ANNs, the program determines how much area 3 robots (controlled by identical but independent ANNs) could explore under a time limit. In Cohesion, the robots have to stay together for the explored area to count. I used a simple genetic algorithm (GA) to train the ANNs. The GA keeps a population of 80 ANNs - each is evaluated, and is given a fitness score. In each iteration (generation), the GA selects the best ANNs through a process called roulette selection and creates a new population based on those ANNs. For each task, I ran the GA 5 times for 20-30 generations each. I then tested the best ANN out of all 5 runs in my tester program. Each ANN was tested at least 150 times. I also varied both obstacle density and swarm size to test the ANNs' versatility. Results The best ANNs stayed together very well in Cohesion, and separated immediately in Separation. I compared the best ANN scores from both tasks to a baseline - randomly wandering robots. The ANNs performed much better than the baseline - almost two times better in Separation, and over 50 times better in Cohesion. These differences were statistically significant (ps < 0.001). In addition, my tests showed that both ANNs were versatile. Conclusions/Discussion This project met my design goal of creating two intelligent ANN controllers. On both tasks, the ANNs perform well and are versatile. Although there is room for improvement (e.g. robots occasionally get confused), this project suggests that ANNs may be used to control swarms in real world navigation and exploration problems.
Summary statement
This project demonstrated the viability of using ANNs to control swarms of robots by training ANNs to perform swarm navigation tasks in a virtual environment.
Help received
I design and coded the project myself after searching the internet for methods pertaining to neural networks. My mother introduced me to Python. I also got coding help from Stack Overflow.
Awards (1)
Competition history
- CSEF 2016
Resources
Related projects
CSEF · 2010
Utilizing Artificial Neural Networks to Create a Learning Robot
CSEF · 2016
The Behavior of a Swarm of Simple Robots Expressing Collective Intelligence
ISEF · 2015
Developing a Comprehensive, Efficient, and Mulit-Layered Navigation Algorithm for Coordinating Driverless Vehicles
ISEF · 2024
Effective Robotic Swarm Controller Applied to Autonomous Swarm Assembly of Modular Flexible Production Lines
CSEF · 2017
Direct Control of Autonomous Mobile Robots via Deep Reinforcement Learning
CSEF · 2017
Coordinated Multi-Agent Control Utilizing Deep Reinforcement Learning
ISEF · 2015
The Implantation of the Phototaxic Behavior of Physarum polycephalum in a Decentralized Robotics System
CWSF · 2026
Emergent Collective Intelligence in Swarm Robotics via Stigmergic Multi-Agent Reinforcement Learning
Closest projects by meaning, across every fair and year in the corpus.
Browse more like this
Source: California Science & Engineering Fair public projects