Search and Rescue Operations with Robotic Swarms
Electrical and Computer Engineering
The purpose of particle swarm optimization algorithms is to utilize simple actions to complete a complex task. Despite being an established field in the realm of computer science, practical implementations in robotics are lacking. Typical applications of these algorithms in computer science give each particle access to a wealth of information about the rest of the swarm, including details like global positions and directions. In robotics, this kind of information requires additional hardware that limits the practicality of a swarm in small size, low-cost systems. In our research we aim to push the boundaries of this field, and create algorithms that do not require direction or position awareness on an individual level. As a test bed for our work, we are using Kilobots, small inch-sized robots with a very limited feature set. These robots have a forward motion/turn drive system, an infrared transmitter/receiver, and an ambient light sensor. The IR transmitter is used for communication between robot “particles” and is limited to 9 bytes of data at a range of 10 cm and a frequency of about 2 Hz. Moreover, using the IR signal strength, the distance from other robots can be calculated.
The most significant limitation and our main focus of research is the implications of the inherent lack of direction and global position awareness when approaching global problems. Our case study is a search and rescue algorithm that simulates potential targets using light sources. The brightest light source in our field is the actual target. The algorithm used to accomplish this has three stages - divergence, seeding, and convergence.
The previously mentioned limitations prevent us from creating a positional map of the robot disbursement, since exact relative positions cannot be derived. To compensate for this, we instead map the robots according to a node tree of each robot’s “degree” to the anchor; convergence is then a matter of each robot minimizing its distance to another robot with a lower degree in the tree. Though we can calculate angles using distances from multiple robots, it is infeasible to reliably turn to that angle. Instead, we continuously check for our desired angle. Depending on the proportion of this angle to our previous turn attempt, we then adjust the time spent turning proportionately. Over time this results in each robot self-calibrating to their turn speed, and in an algorithm that works independent of global position or direction.
Roggow, Aaron W.; Doner, Richard; and Jegal, Eugene, "Search and Rescue Operations with Robotic Swarms" (2016). Symposium on Undergraduate Research and Creative Expression (SOURCE). 524.