Two decentralized behaviors for robotic swarms from simulation to the field
Many applications benefit from the use of multiple robots, but their scalability and applicability are fundamentally limited when relying on a central control station. Getting beyond the centralized approach can increase the complexity of the embedded software, the sensitivity to the network topology, and render the deployment on physical devices tedious and error-prone. This work introduces a software-based solution to cope with these challenges on commercial hardware. We bring together our previous work on Buzz, the swarm-oriented programming language, and the many contributions of the Robotic Operating System (ROS) community into a reliable workflow, from rapid prototyping of decentralized behaviours up to robust field deployment. The Buzz programming language is a hardware independent, domain-specific (swarm-oriented), and composable language. From simulation to the field, a Buzz script can stay unmodified and almost seamlessly applicable to all units of a heterogeneous robotic team. We present the software structure of our solution, and the swarm-oriented paradigms it encompasses. While the design of a new behaviour can be achieved on a lightweight simulator, we show how our security mechanisms enhance field deployment robustness. In addition, developers can update their scripts in the field using a safe software release mechanism. Integrating Buzz in ROS, adding safety mechanisms and granting field updates are core contributions essential to swarm robotics deployment: from simulation to the field. We show the applicability of our work with the implementation of two practical decentralized scenarios: a robust generic task allocation strategy and an optimized area coverage algorithm. Both behaviours are explained and tested with simulations, then experimented with heterogeneous ground-and-air robotic teams.
The top-level of this data-set has two folders corresponding to the two algorithms studied (exploration and task allocation). Each folder contains a simulation and field deployment sub-folder, which in turn contains the data files. In the simulation folder, there are
additional sub-folders labeled based on the experimental configuration used during the
experiment. In particular, the simulation folders are labeled as PacketDropRate_NumberOfRobots_RepetitionNumber (for example, a folder with 0.0_6_1 denotes an experimental setting with a packet drop of 0.0, 6 robots and the first repetition). Each simulation folder for the exploration algorithm contains a ROS bag file, a CSV file (one for each robot, containing the Voronoi tessellations as computed by the robot), a log file (one for each robot, containing the logs generated by ROSBuzz) and a folder containing the CSV files generated from the ROS topics using the corresponding bag file. The field deployment sub-folders for the task allocation algorithm contain six experimental trials using field robots. Each of these experimental folders contains the ROSBuzz log files generated by the field robots, one for each robot. Similarly, the field deployment sub-folder within the Semi-autonomous exploration folder contains the CSV files generated from the ROS bag files during the three field deployment experiments. Only the CSV files used to generate the trajectories for the user-centric study (exploration) are provided in this data-set to keep the anonymity of the user.
The python notebooks used to parse the data provided in this data-set and generate the plots are also attached.
Dataset FilesLOGIN TO ACCESS DATASET FILES
Open Access dataset files are accessible to all logged in users. Don't have a login? Create a free IEEE account. IEEE Membership is not required.