Code for ICRA2024 Paper: Dynamic Coalition Formation and Routing for Multirobot Task Allocation via Reinforcement Learning.
This is a repository using deep reinforcement learning to address single-task agent (ST) multi-robot task(MR) task assignment problem. We train agents make decisions sequentially, and then they are able to choose task in a decentralized manner in execution.
Three main structures of the code are as below:
- Environments: generate random tasks locations/ requirements and agents with their depot.
- Neural network: network based on attention in Pytorch
- Ray framework: REINFORCE algorithm implementation in ray.
-
Set hyperparameters in parameters.py then run
python driver.py
-
How to test:
- Generate a new test set by choosing environment parameters in
TestSetGenerator.py
then runpython TestSetGenerator.py
- OR-Tools: Change parameters in
baselines/OR-Tools.py
then runpython baselines/OR-Tools.py
. - CTAS-D: see original paper for details
-
cd baselines/CTAS-D mkdir build && cd build cmake .. make
- then run
bash CTAS-D_test.bash
-
- get results from
python results_plotting.py
and the results will be save intesetSet/metrics
- Generate a new test set by choosing environment parameters in
-
requirements:
- python => 3.6
- torch >= 1.8.1
- numpy, ray, matplotlib, scipy, pandas, ortools