Citation | Docker image | Installation | Usage | License
This repository contains the code for the paper:
Watch the presentation video of the paper.
If you use this repository in your research, cite it using:
@inproceedings{miyauchi2023Sharing,
author = {Miyauchi, Genki and Lopes, Yuri K. and Groß, Roderich},
booktitle = {IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
title = {Sharing the Control of Robot Swarms Among Multiple Human Operators: A User Study},
year = {2023},
pages = {8847-8853}
If you have Docker installed on your computer, you can try it out using the Docker image found here.
docker pull genki15/multi-human-swarm-control
mkdir results
Then start a container with:
docker run --name argos -it --network="host" -v $(pwd)/results:/home/docker/multi-human-swarm-control/results -w /home/docker/multi-human-swarm-control genki15/multi-human-swarm-control python3 src/web_app/app.py -m $condition -o $order
- Use the
-mflag to specify the mode. Replace$conditionwith eitherindirect(default) ordirect. - Use the
-oflag to specify the order of the trials. Replace$orderwith either1(default) or2.
The following steps have been tested in Ubuntu 22, but it should be applicable to other Ubuntu distributions as well.
You need to have ARGoS installed on your computer before proceeding.
Install the following apt packages:
sudo apt update
sudo apt install python3 python3-venv pip git libyaml-cpp-dev nlohmann-json3-dev
Install the plugins used in this project:
git clone https://gitlab.com/genki_miyauchi/multi-human-swarm-control-plugins.git
cd multi-human-swarm-control-plugins
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr ../src
make
sudo make install
After executing the above commands, you should see e-puck_leader and rectangle_task appear when using argos3 -q entities
Install the ARGoS Webviz plugin. This is a modified version of the origianl Webviz plugin modified for this project.
git clone https://gitlab.com/genki_miyauchi/argos3-webviz.git
cd argos3-webviz
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr ../src
make
sudo make install
After executing the above commands, you should see webviz appear when using argos3 -q visualizations
Protobuf is used to log the experiment in binary format. Install protobuf using the following commands.
wget https://github.com/protocolbuffers/protobuf/releases/download/v21.12/protobuf-cpp-3.21.12.tar.gz
tar xzf protobuf-cpp-3.21.12.tar.gz
cd protobuf-3.21.12/
./configure
make -j$(nproc)
sudo make install
sudo ldconfig
Once the protobuf compiler is successfully installed, you should be able to run protoc in the terminal.
Install the Python dependencies in requirements.txt using your choice of virtual environment. Here, we assume using venv:
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cd multi-human-swarm-control
mkdir results
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr ../src
make
Use the following command to run the experiment:
python3 src/web_app/app.py
This hosts the main page at to access the rest of the experiments.
Open a web browser and access localhost:5000.
The app has been tested on Chromium. There are known issues in Firefox.
The code in this repository is released under the terms of the MIT license.
Part of the source code in this repository is developed within the frame and for the purpose of the OpenSwarm project. This project has received funding from the European Unioan's Horizon Europe Framework Programme under Grant Agreement No. 101093046.


