Data from: Self-organizing nervous systems for robot swarms
Data files
Nov 05, 2024 version files 154.77 GB
-
1_Mission_Self-organized_hierarchy.zip
352.54 MB
-
10_Plots.zip
136.84 MB
-
2_Mission_Balancing_global_and_local_goals.zip
933.38 MB
-
3_Mission_Collective_sensing_and_actuation.zip
908.73 MB
-
4_Mission_Binary_decision_making.zip
1.43 GB
-
5_Mission_Splitting_merging.zip
289.55 MB
-
6_Scalability_setups_a.zip
6.73 GB
-
6_Scalability_setups_b.zip
10.37 GB
-
6_Scalability_setups_c.zip
17.62 GB
-
6_Scalability_setups_d.zip
15.66 GB
-
6_Scalability_setups_e.zip
20.82 GB
-
6_Scalability_setups_f.zip
24.02 GB
-
6_Scalability_setups_g.zip
19.58 GB
-
6_Scalability_setups_h.zip
24.88 GB
-
7_Fault_tolerance.zip
8.87 GB
-
8_Demos.zip
539.26 MB
-
9_Videos.zip
1.65 GB
-
README.md
8.40 KB
Abstract
We present the self-organizing nervous system (SoNS), a robot swarm architecture based on self-organized hierarchy. The SoNS approach enables robots to autonomously establish, maintain, and reconfigure dynamic multilevel system architectures. For example, a robot swarm consisting of n independent robots could transform into a single n–robot SoNS and then into several independent smaller SoNSs, where each SoNS uses a temporary and dynamic hierarchy. Leveraging the SoNS approach, we showed that sensing, actuation, and decision making can be coordinated in a locally centralized way without sacrificing the benefits of scalability, flexibility, and fault tolerance, for which swarm robotics is usually studied. In several proof-of-concept robot missions—including binary decision making and search and rescue—we demonstrated that the capabilities of the SoNS approach greatly advance the state of the art in swarm robotics. The missions were conducted with a real heterogeneous aerial-ground robot swarm, using a custom-developed quadrotor platform. We also demonstrated the scalability of the SoNS approach in swarms of up to 250 robots in a physics-based simulator and demonstrated several types of system fault tolerance in simulation and reality.
https://doi.org/10.5061/dryad.xpnvx0knc
Authors
Weixu Zhu (ULB, co-first author)
Sinan Oguz (ULB, co-first author)
Mary Katherine Heinrich (ULB, co-first author)
Michael Allwright (ULB)
Mostafa Wahby (ULB)
Anders Lyhne Christensen (SDU)
Emanuele Garone (ULB)
Marco Dorigo (ULB)
*Contact (Corresponding authors)
mary.katherine.heinrich@ulb.be
mdorigo@ulb.ac.be
This dataset accompanies the article Self-organizing nervous systems for robot swarms: https://doi.org/10.1126/scirobotics.adl5161
Description of the data
The dataset is organized according to experiment type and contains folders of results from real robot experiments and experiments in simulation:
- Each folder containing real robot experiments contains data from 5 or 6 trials.
- Each folder containing simulation experiments contains folders for different system sizes (i.e., number of robots), which each contain data from 30 or 50 trials.
- Some folders contain demos
For details of the experiment types and setups, please refer to the accompanying article on self-organizing nervous systems (SoNSs): https://doi.org/10.1126/scirobotics.adl5161
File structure
The directories containing results data are organized as follows:
1_Mission_Self-organized_hierarchy
- Variant1_Clustered_start
- Real_robots_experiments
- Simulation_experiments
- 8robots
- 50robots
- Variant2_Scattered_start
- Real_robots_experiments
- Simulation_experiments
- 12robots
- 50robots
2_Mission_Global_local_goals
- Variant1_Smaller_denser_obstacles
- Real_robots_experiments
- Simulation_experiments
- 8robots
- 50robots
- Variant2_Larger_less_dense_obstacles
- Real_robots_experiments
- Simulation_experiments
- 8robots
- 50robots
3_Mission_Collective_sensing_actuation
- Real_robots_experiments
- Simulation_experiments
- 8robots
- 50robots
4_Mission_Binary_decision
- Real_robots_experiments
- Simulation_experiments
- 8robots
- 65robots
5_Mission_Splitting_merging
- Variant1_Search_and_rescue_in_passage
- Real_robots_experiments
- Simulation_experiments
- 8robots
- Variant2_Push_away_obstruction
- Real_robots_experiments
- Simulation_experiments
- 5robots
- Large_scale_Simulation_experiments
- 50robots
6_Scalability_setups_a
- Scalability_in_decision_making_mission
- 35robots
- 65robots
- 95robots
- 125robots
6_Scalability_setups_[b-h]
- Scalability_in_SoNS_establishment_mission
- [5-250]robots
7_Fault_tolerance_setups
- Real_robots_experiments
- Simulation_experiments
- 8robots
- 50robots
- Variant1_One_third_chance_for_each_robot_to_fail
- Variant2_Two_thirds_chance_for_each_robot_to_fail
- Variant3_Temporary_system_wide_vision_failure
- 0.5s_failure
- 1s_failure
- 30s_failure
- Variant4_Temporary_system-wide_communication_failure
- 0.5s_failure
- 1s_failure
- 30s_failure
- Variants_additional
- One_third_chance_for_each_aerial_robot_to_fail
- One_third_chance_for_each_ground_robot_to_fail
- Two_thirds_chance_for_each_aerial_robot_to_fail
- Two_thirds_chance_for_each_ground_robot_to_fail
8_Demos
- Aerial_robot_hover_in_simulation
- Ground_robot_brain
- 3_Mission_Collective_sensing_actuation
- Random_quality_values_at_initialization
- 1_Mission_Self-organized_hierarchy
- 3_Mission_Collective_sensing_actuation
- Real_robots_with_failure_and_substitution
- Brain_aerial_robot_failure
- Ground_robot_failure
- Non_brain_aerial_robot_failure
Each of the above directories contain one folder for each trial, labeled as: run[1-n]
Each run[1-n] folder contains the following:
NOTE: in all csv files, each column corresponds to a variable and each row corresponds to a time step (in ascending order, starting with time step 0).
A. experiment_data folder
- folder includes one csv file for each robot included in the experiment trial, labeled using the ID number of the robot, as:
drone[ID].csv
if the robot is an S-drone quadcopterpipuck[ID].csv
if the robot is an e-puck mobile robot with a pi-puck extension board
- variables in the
drone[ID].csv
andpipuck[ID].csv
files:position_x
,position_y
,position_z
: x,y,z position of the robot recorded by the external motion capture system (meters)orientation_x
,orientation_y
,orientation_z
: x,y,z orientation angles of the robot recorded by the external motion capture system (Euler angles)virtual_frame_x
,virtual_frame_y
,virtual_frame_z
: robot’s self-recorded x,y,z orientation angles of its intermediary motion frame relative to its body frame (Euler angles) (for an explanation of the intermediary motion frame, please refer to the Supplementary Materials of the accompanying article)goal_position_x
,goal_position_y
,goal_position_z
: robot’s self-recorded x,y,z target position relative to its intermediary motion frame (meters)goal_orientation_x
,goal_orientation_y
,goal_orientation_z
: robot’s self-recorded x,y,z target orientation angles relative to its intermediary motion frame (Euler angles)target_id
: robot’s self-recorded node ID in its SoNS target graphbrain_name
: robot’s self-recorded ID of the SoNS that it belongs to (i.e., the robot ID of the brain of the SoNS it belongs to)- [OPTIONAL – column only included for some simulated experiments]
parent_name
: robot’s self-recorded ID of its parent, if it has one (i.e., the robot ID of its parent, if it has one)
B. error_measurements folder
- error_per_robot folder
- includes one csv file for each robot included in the experiment trial, labeled using the ID number of the robot, as above
- each
drone[ID].csv
orpipuck[ID].csv
contains one column giving: the actuation error of the robot (please refer to Eq. 1 in the accompanying manuscript)
error.csv
, which contains one column giving: the mean actuation error of all robots in the experiment (please refer to Eq. 2 in the accompanying manuscript)
C. _failed_robots.txt
[OPTIONAL – only included for some experiments]
- contains a list of the robot IDs of all robots that were subject to failure in that trial
D. _timesteps_target_SoNS_change.txt
[OPTIONAL – only included for some experiments]
- contains a list of time steps at which a brain triggered a change in the target graph of its SoNS
The remaining directories contain videos of the experiments/demos and plots of the results data in the directories above, organized as follows:
9_Videos
- 1_Mission_Self-organized_hierarchy
- Variant1_Clustered_start
- Variant2_Larger_less_dense_obstacles
- 2_Mission_Global_local_goals
- Variant1_Smaller_denser_obstacles
- Variant2_Larger_less_dense_obstacles
- 3_Mission_Collective_sensing_actuation
- 4_Mission_Binary_decision
- 5_Mission_Splitting_merging
- Variant1_Search_and_rescue_in_passage
- Variant2_Push_away_obstruction
- 6_Scalability_setups
- 7_Fault_tolerance_setups
- Demo_replace_a_robot
- 8_Demos
- Ground_robot_brain
- 3_Mission_Collective_sensing_actuation
- 6_Mission_Scalability_in_SoNS_establishment
- Ground_robot_brain
10_Plots
- 1_Mission_Self-organized_hierarchy
- 2_Mission_Global_local_goals
- 3_Mission_Collective_sensing_actuation
- 4_Mission_Binary_decision
- 5_Mission_Splitting_merging
- 6_Scalability_setups
- 7_Fault_tolerance_setups
Code/Software
The code to run the experiments is primarily in C++ and Lua. The code to analyze the results data is primarily in Python. The simulation experiments require the ARGoS simulator and the real robot experiments require ARGoS libraries to be installed on the robots. The code and accompanying information is provided in the Zenodo software repository.
Supplemental information
The following documentation is provided in the Zenodo supplemental files repository:
- SoNS theoretical analysis and mathematical proofs
- Real indoor arena setup
Please refer to the accompanying article for information about the Methods.