Applying Swarm Intelligence to Robots


Brian Goodacre
James Jacob,
Bill Rossi

Prof. Manish Parashar


Throughout the world, there are a vast variety of situations and environments that are inaccessible to humans. There are highly dangerous terrains that would put any humans at great risk, hard to reach locations that are inhospitable to people, and long-term projects that simply take too much time to allow for human interaction. However, as society and technology progresses, robotic systems have begun to take up these tasks in place of their fragile and expensive counterparts. Unfortunately, these systems are often limited in their abilities. The robots are usually controlled by human operators and usually work alone. In respect to many real-world problems, a swarm of independent robots would be much more appropriate. These robots would be able to navigate around mines within a battlefield, operate within the unforgiving pressures beneath the ocean or beyond the atmosphere, and repair large structures and systems throughout the course of months or years without a central authority. Designing the intelligence in a computer-simulated environment will make it possible to tailor an intelligence to the specifications of real-world robots, and discovering the capabilities of swarm intelligence will allow for improving the design of the robots of the future.


The purpose of this project is to develop a distributed intelligence system that would be capable of solving traversal problems autonomously, without consulting a central authority.


The distributed intelligence system would be implemented as a system of nodes, where each node represents a single robot. The system would then be tested within a computer-simulated environment, complete with obstacles and dangers that would need to be avoided. Thus, each node would be simulated by a parallel thread running the same set of instructions. Each thread or node would need to be able to sense and interact with its environment while communicating its findings with other nearby nodes. As each node would carry the same algorithm, the distributed system could be easily customized to consider a wide variety of situations. Furthermore, the system can be assigned any number of goals and priorities in order to test how it would react to different problems.

Project Website: