Skip to content

Sharing the Control of Robot Swarms Among Multiple Human Operators: A User Study

License

Notifications You must be signed in to change notification settings

openswarm-eu/multi-human-swarm-control

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multi-Human Swarm Control

screenrecord

Citation | Docker image | Installation | Usage | License

This repository contains the code for the paper:

Watch the presentation video of the paper.

MHSC IROS2023 Video

Citation

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}

Docker image

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 -m flag to specify the mode. Replace $condition with either indirect (default) or direct.
  • Use the -o flag to specify the order of the trials. Replace $order with either 1 (default) or 2.

Installation

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 plugins

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

Install protobuf

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.

Python dependencies

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

Usage

Build the project

cd multi-human-swarm-control
mkdir results
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr ../src
make

Run the project

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.

License

The code in this repository is released under the terms of the MIT license.

Acknowledgement

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.

OpenSwarm - Funded by the European Union

About

Sharing the Control of Robot Swarms Among Multiple Human Operators: A User Study

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •