Place the following folders in a catkin_ws/src ROS workspace:
my_ur3_descriptionmy_ur3_reachmy_ur3_training
The folder openAI_ROS contains the files/folders we created and also the ones
we modified to train the robot. In order to run experiments it's necessary
to put the new files in the correct folders within the openai_ros package and
additionally replace those that were updated:
Inside task_envs folder, there's a folder named 'ur3' that goes in here:
/../catkin_ws/src/openai_ros/openai_ros/src/openai_ros/task_envs
In this same directory, please replace the existing task_envs_list.py file
with the one provided.
Inside robot_envs folder, there's a file named ur3_env.py that goes in here:
/../catkin_ws/src/openai_ros/openai_ros/src/openai_ros/robot_envs
My abs path is /home/alejandro/catkin_ws, please make sure to modify it in
the training YAML file located /../my_ur3_training/config to make it work
for your machine.
1) Move the robot's arm to a certain position. Execute the following commands in different terminal windows/tabs:
# Terminal-1
~/catkin_ws$ source devel/setup.bash
~/catkin_ws$ roscore
# Terminal-2
~/catkin_ws$ source devel/setup.bash
~/catkin_ws$ roslaunch my_ur3_description ur3.launch
# Terminal-3
~/catkin_ws$ source devel/setup.bash
~/catkin_ws$ roslaunch my_ur3_reach ur3_reach.launch
2) Train the robot using RL algorithms:
SARSA:
# Terminal-1
~/catkin_ws$ source devel/setup.bash
~/catkin_ws$ roscore
# Terminal-2 (SARSA)
~/catkin_ws$ source devel/setup.bash
~/catkin_ws$ roslaunch my_ur3_training start_training_sarsa.launch
Q-Learning:
# Terminal-1
~/catkin_ws$ source devel/setup.bash
~/catkin_ws$ roscore
# Terminal-2 (Q-Learning)
~/catkin_ws$ source devel/setup.bash
~/catkin_ws$ roslaunch my_ur3_training start_training_qlearn.launch
Deep Q-Network:
# Terminal-1
~/catkin_ws$ source devel/setup.bash
~/catkin_ws$ roscore
# Terminal-2 (Deep Q-Network)
~/catkin_ws$ source devel/setup.bash
~/catkin_ws$ roslaunch my_ur3_training start_training_dqn.launch