The overall aim of the project was for a group of small robots to spread out autonomously after they are released, video as much of an unknown environment as possible, then return to a central base with images for later analysis.
Mandating small robots, to make them safe around people, ruled-out power-hungry on-board processors and therefore advanced navigation techniques such as camera-based SLAM (simultaneous localisation and mapping).
“The biggest challenge in achieving swarm exploration lies at the level of the individual intelligence of the drones”, said researcher Kimberly McGuire. “In the beginning of the project, we focused on achieving basic flight capabilities such as controlling the velocity and avoiding obstacles. After that, we designed a method for the small drones to detect and avoid each other.”
To give each drone some idea of the proximity of its neighbours, and avoid collisions, an on-board 2.4GHz transceiver on each was used to monitor signal strength between pairs.
Delft used Bitcraze’ extremely capable Crazyflie 2.0 drones in its swarm. All processing had to be squeezed into the spare capacity of its STM32F4 MCU.
The algorithm is the ‘swarm gradient bug algorithm’ (SGBA), which maximises the area covered by having robots travel in different directions away from the departure point, while following walls and avoiding objects as they go, according to the paper ‘Minimal navigation solution for a swarm of tiny flying robots to explore an unknown environment’, which describes the work in Science Robotics
Bug algorithms
Bug algorithms are a class of algorithms that just react to objects as they come into sensor range.
“Bug algorithms,” explained McGuire, “do not make maps of the environment but deal with obstacles on the fly. In principle, detailed maps are very convenient, because they allow a robot to navigate from any point in the map to any other point, along an optimal path. However, the costs of making such a map on tiny robots is prohibitive. The proposed bug algorithm leads to less efficient paths but has the merit that it can even be implemented on tiny robots.”
To spread them from the start, each robot has been programmed with its own preferred direction of travel that differs from the others in the swarm.
Once on the move, the drones head in their preferred direction, navigated by analysing sequential images from a down-facing camera (‘visual odometry’) which is modified by wall-following using laser raging (yes, those Crazyflies include laser ranging). Laser ranging is also used to avoid static objects.
Triggered by low battery charge, the robots return to base where stored camera images can be viewed. Return navigation is through locking on to a radio beacon (2.4GHz) located at the nominal base and tracking along the signal gradient.
Effective search and rescue is the overall aim of the project, which also includes the University of Liverpool and Radboud University of Nijmegen, and has funding from Dutch national science foundation natural artificial intelligence programme.
“Swarms of small and cheap robots would be able to perform tasks that are currently out of reach of large, individual robots. For instance, a swarm of small flying drones would be able to explore a disaster site much quicker than a single larger drone. Such swarms have not been realised yet,” according to TU Delft.
In a proof-of-concept simulated search-and-rescue situation, the swarm was introduced into a building within which with two dummies had been left (diagram right and ‘victim’ photos above).
Within six minutes, the six drones had explored ~80% of open rooms and found both ‘victims’. “Swarming turned out be useful for redundancy,” according to TU Delft. As “one drone found a victim, but due to a hardware failure of the camera, it could not bring back any images. Luckily, another drone captured the victim on camera as well”.
This video is well worth a look, as is the Science Robotics paper which is exceedingly clear and covers a lot of ground omitted above, including a section on state-of-the-art swarm autonomy.
Photographs are by Guus Schoonewille of TU Delft.