Multi-robot Reinforcement Learning Scalable Training School (MRST) is a training and evaluation platform for reinforcement learning reasearch.
Check out the background and project goals in our paper "From Simulation to Reality: A Scalable Emulation Platform for Multi-robot Reinforcement Learning".
Our project require the installation of the following third-parties before getting started:
- Ubuntu 18
- python 3.7+
- torch 1.8+
- Ros Knetic or Melodic
- Turtlebot3
Create a workspace, clone the repo using git command:
git clone https://github.com/Blackmamba-xuan/MRST.gitMove the folder mrst_simulation to your catkin workspace and build for it
cd ~/catkin_ws/src/
catkin_makeWe implement several high impact reinforcement learning algorithms and extend them to multi-robot areas.
- Indepent Q-learning
- MADDPG
- COMA
- MAAC
- MASAC
- IPPO
- MAPPO
- VDN
- QMIX
- Hierarchical RL
- Others
Use the roslaunch command to run the simulator:
# launch a crosslane environment
roslaunch mrst_simulation turtlebot3_autorace_crossLane.launch
# launch a roundabout environment
roslaunch mrst_simulation turtlebot3_autorace_roundabout.launch
from Env import Env
def main():
env=Env(scenario="roundabout")
n_episodes = 100
n_agents=12
episode_length=15
for e in range(n_episodes):
env.reset()
for et_i in range(episode_length):
print(et_i)
actions=[[1] for i in range(n_agents)]
next_obs, rewards, dones, speeds = env.step(actions, isTeamReward=True)
if __name__ == "__main__":
main()
For more detalis, please check our documentaion.