We are a group of enthusiastic, motivated students interested in exploring the contemporary field of distributed algorithms for robot swarms, and their implementation.
Swarm robotics is the study of how to design groups of robots that operate without relying on any external infrastructure or on any form of centralized control.
Swarm robotics is a major contemporary field of application and research in institutes around the world, not to mention a vastly untapped one in India. The potential for use in the industry as well as for non-commercial purposes is great.
The aim of this project is to design a team of co-ordinating robots which use swarm intelligence to achieve a number of objectives related to navigation and mapping.
Our work encompasses the artificial intelligence and software, as well as the communication and embedded system operations necessary to demonstrate swarm behaviour and perform certain collective tasks such as coverage, patrolling, exploration and mapping.
Given the known environment, the swarm agents should spread themselves out across the terrain so as to minimize the average distance of any point on the terrain from its nearest swarm agent. We utilize Lloyd’s algorithm, which is a continuous-time descent method, to achieve this goal, known as Centroidal Voronoi Tessellation. Further analysis needs to be done when there are obstacles in the arena, i.e. when the environment becomes non-convex. Click here for a short video of that method.
In order to better localize themselves, considering the absence of any central controller, swarm agents need a reliable estimate of the relative poses of their nearby co-agents. On the software side, we are currently attempting to do this via AprilTags as fiducial markers.
The manner of movement of a swarm of robots has some important distinctions from that of a single one. Some of the important things to consider are mutually avoiding each other, moving in a constrained manner since individual agents should avoid drifting too far away from each other. We are currently working on Artificial Potential Fields which provids a simple and effective solution to path planning problem in dynamic environments such as in case of swarm robots.
All the tasks are implemented on ROS (Robot Operating System) and visualized through the Gazebo simulator. This is an essential step for being able to check for possible errors in implementation and observe how the system behaves in various environments.
Localization in a swarm system, in the absence of a GPS or other global signal, is a difficult task. One way to leverage the multiplicity of the system is to have the agents transmit their relative poses to every other agent, and aggregate these readings to obtain a good estimate of their global pose, assuming they know where they started from. We are exploring a number of methods to achieve this - such as transceiver modules and rotating SHARP encoders. This is parallel to the work being done on this from the software side.
The swarm agents are an example of distributed message passing systems - the messages they exchange are chunks of data with information about the sender’s ID, timestamp, pose and so on. These messages must be sent in a synchronous manner, and be utilized accordingly by the receivers.
The final motion executed by each swarm robot should be reliable and robust to error and environmental irregularities. Furthermore, the movement of the wheels allows for tracking of the relative motion from the starting point, which can then be corrected by error reduction and using relative poses from other agents. The team uses PID on encoder motors for these purposes.
Our team consists of members from a multitude of backgrounds. The team is divided into two subteams: Software and Embedded.
We are always happy to talk to and work with interested students. Anybody from IIT Kharagpur who wishes to be part of the Swarm Robotics Group, fill this up and click on 'Send Message'!