This is a Pytorch implementation of the paper Towards Optimally Decentralized Multi-Robot Collision Avoidance via Deep Reinforcement Learning
- python2.7
- ROS Kinetic
- mpi4py
- Stage
- PyTorch
Please use the stage_ros-add_pose_and_crash
package instead of the default package provided by ROS.
mkdir -p catkin_ws/src
cp stage_ros-add_pose_and_crash catkin_ws/src
cd catkin_ws
catkin_make
source devel/setup.bash
To train Stage1, modify the hyper-parameters in ppo_stage1.py
as you like, and running the following command:
rosrun stage_ros_add_pose_and_crash stageros -g worlds/stage1.world
mpiexec -np 24 python ppo_stage1.py
To train Stage2, modify the hyper-parameters in ppo_stage2.py
as you like, and running the following command:
rosrun stage_ros_add_pose_and_crash stageros -g worlds/stage2.world
mpiexec -np 44 python ppo_stage2.py
rosrun stage_ros_add_pose_and_crash stageros worlds/circle.world
mpiexec -np 50 python circle_test.py
mpiexec --allow-run-as-root -np 35 python ppo_stage2.py