Skip to main content
Dryad

Data from: Secure and secret cooperation in robot swarms

Cite this dataset

Castelló Ferrer, Eduardo; Hardjono, Thomas; Pentland, Alex; Dorigo, Marco (2021). Data from: Secure and secret cooperation in robot swarms [Dataset]. Dryad. https://doi.org/10.5061/dryad.3j9kd51j8

Abstract

The importance of swarm robotics systems in both academic research and real-world applications is steadily increasing. However, to reach widespread adoption, new models that ensure the secure cooperation of large groups of robots need to be developed. This work introduces a method to encapsulate cooperative robotic missions in an authenticated data structure known as Merkle tree. With this method, operators can provide the "blueprint" of the swarm's mission without disclosing its raw data. In other words, data verification can be separated from data itself. We propose a system where robots in a swarm, to cooperate towards mission completion, have to "prove'' their integrity to their peers by exchanging cryptographic proofs. We show the implications of this approach for two different swarm robotics missions: foraging and maze formation. In both missions, swarm robots were able to cooperate and carry out sequential tasks without having explicit knowledge about the mission's high-level objectives. The results presented in this work demonstrate the feasibility of using Merkle trees as a cooperation mechanism for swarm robotics systems in both simulation and real-robot experiments, which has implications for future decentralized robotics applications where security plays a crucial role. This dataset includes all experimental data generated for this paper. 

Usage notes

Content and structure

This dataset is composed of four compressed tarball files (tar.gz), each one representing one of the following categories:

real_robots

This file contains all the data collected during the real-robot experiments presented in the paper. The structure of the subdirectory hierarchy is the following:

    |-- (type of mission) -> either foraging or maze_formation
    |   `-- R (number of robots)
    |       `-- T (number of tasks)

At the end of this tree hierarchy, two folders can be seen: data and videos. Within videos, you will find one .avi file for each real-robot experiment. The name of the file is generated based on the experiment's timestamp (e.g., 2020-07-23-04-49-43). For each video file there is one corresponding data file (with the same timestamp) in the data folder.

  • real_robot data file (.bag)

Within the data folder you will find one .bag file per experiment. As mentioned in the supplementary material of the paper, ROS (Robot Operating System) was used in order to publish/subscribe information to/from the robots. Accordingly, we used the rosbag toolbox to record every message the robots sent/received during the experiment into a .bag file.

Therefore, you can recreate each experiment by "playing" each .bag file in your ROS environment:

$ rosbag play file.bag    

For more information about how to filter, reindex, or obtain additional information from these files, please take a look here.

simulation

This file contains all the data collected during the simulation experiments presented in the paper. The structure of the subdirectory hierarchy is the following:

    |-- (type of mission) -> either foraging or maze_formation
    |   `-- R (number of robots)
    |       `-- T (number of tasks)
    |           `-- SIM (number of simulation run)
   

  • simulation data files (.dat & .json)

Within each SIM folder you will find two files:

  • .dat, this file contains information about the progress of the simulation. In particular, how many robots completed their Merkle tree copy and at what time they did it. The structure of this file is the following:

      time step  

      number of robots with a completed Merkle tree  

    For instance, in simulations where there are two robots involved (R2), the value for the last row for the "number of robots with a completed MT" field would be 2. In this regard, the last value of the column "time step" would be the time all robots completed their Merkle tree copies.

  • .json, this file contains a list of objects (one for each time step) that describes the folllowing information:

    • robots -> list containing all information from the robots:

      • id -> id of the robot currently displaying information

      • mk -> Merkle tree object for robot with id as identifier

        • by_robot -> leaf id completed by the robot itself

        • leaf_received -> leaf id received from another robot

        • from_robot -> robot id that sent the leaf described in leaf_received

      • neighbors -> information about the robot neighbors

        • id -> robot neighbor id

        • range -> robot neighbor range

    • time -> current time step

Merkle_tree_statistics

This file contains all the data collected in order to recreate Table 1. Each .pickle file contains three lists (one for each LEGO model) for the following concepts:

  • merkle_creation -> creation time of the complete Merkle tree

  • proof_generation -> proof generation time for a random leaf in the Merkle tree

  • proof_validation -> proof validation time for a random leaf in the Merkle tree

These files have been generated using the pickle python library. This library allows to convert a python variable to bytestream and viceversa. You can read each .pickle file and convert it into a python "list of lists" variable by ussing the following command in your python environment:

    # Load the pickle library
    import pickle

    merkle_creation_times = pickle.load( open( "merkle_creation.pickle", "rb" ) )   

More information about the pickle library can be found here.

marketplace

This file contains all the data collected during the IRIDIA marketplace set of experiments. The folder structure of this directory is the following:

  • data -> .bag files for the completed services

  • videos -> .avi files for the completed services

  • pics -> .png files for the completed services

Demos

This list contains one high-quality demo video for each scenario presented in this dataset:

Funding

European Commission, Award: 751615

Fund for Scientific Research