Master thesis project that simulate robot swarms for learning communication-aware coordination.
@ USI 19/20.
See https://drive.google.com/drive/folders/1mUF_uHNvKKEePV2O_CP-Pd_aTXNxHpZR for datasets, models and report.
Giorgia Adorni - giorgia.adorni@usi.ch GiorgiaAuroraAdorni
Python 3
Enki
PyTorch
To install Enki follow the following instructions: https://jeguzzi.github.io/enki/intro.html.
Clone our repository and install the requirements
$ git clone https://github.com/GiorgiaAuroraAdorni/learning-robot-swarm-controllers
$ cd learning-robot-swarm-controllers
$ pip install -r requirements.txt
To receive help on how to run the script, execute:
$ python source/run_distributed_no_communication.py --help
> usage: run_distributed_no_communication.py [-h] [--gui] [--myt-quantity N]
[--n-simulations N] [--avg-gap N]
[--generate-dataset]
[--generate-split]
[--plots-dataset] [--check-dataset]
[--compare-all]
[--controller CONTROLLER]
[--dataset-folder DATASET_FOLDER]
[--dataset DATASET]
[--models-folder MODELS_FOLDER]
[--model-type MODEL_TYPE]
[--model MODEL] [--train-net]
[--net-input {prox_values,prox_comm,all_sensors}]
[--plots-net]
Imitation Learning - Distributed Controller No Communication
optional arguments:
-h, --help show this help message and exit
--gui Run simulation using the gui (default: False)
--myt-quantity N Number of thymios for the simulation (default: 5)
--n-simulations N Number of runs for each simulation (default: 1000)
--avg-gap N Average gap distance between thymios (default: 8)
--generate-dataset Generate the dataset containing the simulations
(default: False)
--generate-split Generate the indices for the split of the dataset
(default: False)
--plots-dataset Generate the plots of regarding the dataset (default:
False)
--check-dataset Generate the plots that check the dataset conformity
(default: False)
--compare-all Generate plots that compare all the experiments in
terms of distance from goal (default: False)
--controller CONTROLLER
Choose the controller for the current execution.
Usually between all, learned, manual and omniscient
(default: all)
--dataset-folder DATASET_FOLDER
Name of the directory containing the datasets
(default: datasets)
--dataset DATASET Choose the datasets to use in the current execution
(default: all)
--models-folder MODELS_FOLDER
Name of the directory containing the models (default:
models)
--model-type MODEL_TYPE
Name of the sub-directory containing the models
(default: distributed)
--model MODEL Name of the model (default: net1)
--train-net Train the model (default: False)
--net-input {prox_values,prox_comm,all_sensors}
Choose the input of the net between prox_values and
prox_comm_events (default: prox_values)
--plots-net Generate the plots of regarding the model (default:
False)