Swarm Bots
Updated 10 months ago
Computer Vision Based Centralized Multi-Agent System on MATLAB and Arduino Duemilanove


This project focuses on developing a Vision Based 'Swarm Robots' setup, that can be used for testing the functionality of a Swarm Algorithm for a task performed by a group of semi-dumb agents. The wired rovers used in the experiments did not have any on-board sensors and used coloured identifiers to inform about their current location and orientation. The image of the arena is captured by an overhead camera, which is connected to a computer running MATLAB. The image is processed and the task planning is done through the MATLAB programs. Arduino Duemilanove with ATMEL’s AtMega328 Microprocessor is connected to the centralized processing unit via USB Ports. MATLAB controls the Arduino development boards, which in turn controls the robots to perform the defined function. The scaled versions of this setup can have vast application in military and space application.
Other simulations in MATLAB were also implemented that can be extended to practical experiments after hardware upgrades and can be used for real-life applications.

The Swarm

The general idea of a swarm, from a mathematical point of view, is the resulting behavior of each member of a system, because of the rules followed by each member. The project focused on these rules, enforced by a central intelligence, followed by the members. Each bot was provided with the most basic maneuverability, and the least amount of artificial intelligence.
  1. Rover’s base plate
  2. Castor wheel
  3. Front wheels and motors
  4. Wheel guard
  5. Rover hood: mounts the wheel guard and arms
  6. Auto adjusting arms.
  7. Colored identifier


Instead of using an array of on-board sensors the approach used is to place a single overhead camera on the central vertical axis of the arena. While it decreased the robustness of the swarm setup, it allowed to test centralized as well as decentralized swarm processing algorithms more effectively. The robustness of multiple agents is implemented in actuation rather than sensing. Coordination functions of robots like pushing, formations etc. are implemented. The vision based approach also provides more information about the arena than single type of sensors. It provides the average arena illumination, colour of the object; size and shape, giving the robots more data to act intelligently. The entire behavior of the robots now rests in the programming complexity and intelligence that is embedded in the algorithms.


The hardware tested operation works on a relative positioning algorithm, which finds the most efficient methods of solving an area related problem. The simulation primarily works out how to cover an area and has military applications. This simulation can be used to find out the ideal locations to set up perimeter by a task force. It can be used to control bots in areas where there is imminent threat to the life of a soldier (diffusing a bomb).The bots are directed to approach and escort the foreign object out of the perimeter.

Surrounding an Area

The marked points on the irregular polygon define the positions of the perimeter setup.
The image on the right shows the setup for 2, 3 and 4 bots respectively.

Escorting an Object

The approach points and direction is indicated by the marked lines.

Solving a Maze

The software simulations works on a mapping based algorithm. The aim of this program is to solve a maze and explore unknown terrain using multiple bots, in a way so that the maximum area of the maze is covered (note: NOT to solve the maze in minimum TIME). This simulation when completed gives us a general idea of the positions where the robots tend to move, having no sense at all of the direction towards the exit, thus providing us with a distinct sense of crowding patterns. This simulation has many architectural applications of construction based on swarm behavior. The crowding pattern can help us decide where to provide emergency exits in a building as well as the most efficient usage of air conditioning and venting.
The hollow black square defines the starting point for 5 simulated bots The solid squares are the possible exits
As part of the solution, each robot’s exploration values are mapped. The 5 robots' paths and finally the combined map, of the overall world is shown. The higher illumination denotes the places where the bots have lingered for long.

Terrain Exploration

Terrain exploration bots are of great use in mine explorations. A self-communicating swarm system of exploratory bots can be of a great use in such applications. The simulation modelling of such a system is attempted.
The exploration operation ends when all robots collectively finish exploring their maximum possible space coverage. Thus an enclosed room where no robots have entry is left unexplored.
The principle here is similar to that of the maze solving case, the only difference that there are no goal states. The robots keep exploring till the entire map is covered, or the robots have no other place to move.
We can see from the solutions that, the lower part which is inaccessible for all 4 robots is left unexplored. Each robot explores it local environment speeding up the exploration. The 1st 2 robots have divided their regions very distinctly while the separation is still visible for the other 2 robots. The overall exploration map is exactly the same as that of the original map except the unreachable portions.


The aim of the project was to develop and test a labor swarm, increasing robustness or tasks in physical environments and reducing intelligent hardware by control from a centralized intelligence.
Future scope lies in developing real-world hardware adaptation of our maze solving and terrain mapping simulation in the hardware setup. This would require work on all current problems and limitations. Such a project would require bots to have avoidance maneuvering actions as well as path planning. For this the bots should be made capable of moving in different kinds of terrain and with mobility of the vision provider. This would also lead to develop our seeker (overhead camera in our project) into a network based identifier capable of identifying and locating a robot without vision. Or multiple cameras with individual partial coverage of a larger arena could be used to provide identification and control.
Jayant Kumar
Game Designer - Student