Swarm-Enabling Technology for Multi-Robot Systems - Chamanbaz, Mohammadreza; Mateo, David; Zoss, Brandon M.; Tokić, Grgur; Wilhelm, Erik; Bouffanais, Roland; Yue, Dick K. P. (Frontiers in Robotics and AI, 2017)
Swarm robotics has experienced a rapid expansion in recent years, primarily fueled by specialized multi-robot systems developed to achieve dedicated collective actions. These specialized platforms are in general designed with swarming considerations at the front and center. Key hardware and software elements required for swarming are often deeply embedded and integrated with the particular system. However, given the noticeable increase in the number of low-cost mobile robots readily available, practitioners and hobbyists may start considering to assemble full-fledged swarms by minimally retrofitting such mobile platforms with a swarm-enabling technology. Here, we report one possible embodiment of such a technology—an integrated combination of hardware and software—designed to enable the assembly and the study of swarming in a range of general-purpose robotic systems. This is achieved by combining a modular and transferable software toolbox with a hardware suite composed of a collection of low-cost and off-the-shelf components. The developed technology can be ported to a relatively vast range of robotic platforms—such as land and surface vehicles—with minimal changes and high levels of scalability. This swarm-enabling technology has successfully been implemented on two distinct distributed multi-robot systems, a swarm of mobile marine buoys and a team of commercial terrestrial robots. We have tested the effectiveness of both of these distributed robotic systems in performing collective exploration and search scenarios, as well as other classical cooperative behaviors. Experimental results on different swarm behaviors are reported for the two platforms in uncontrolled environments and without any supporting infrastructure. The design of the associated software library allows for a seamless switch to other cooperative behaviors—e.g. leader-follower heading consensus and collision avoidance, and also offers the possibility to simulate newly designed collective behaviors prior to their implementation onto the platforms. This feature greatly facilitates behavior-based design, i.e., the design of new swarming behaviors, with the possibility to simulate them prior to physically test them.