Openai_ros WAM arm learning example not working in ROS Neotic


I am trying to run the start_training_v2.launch but getting the error ImportError: cannot import name 'JointLimits' from 'moveit_msgs.msg' (unknown location). I have installed MoveIt using the command sudo apt install ros-noetic-moveit and installation process finished cleanly. I am using Ubuntu 20.04. Can you please help me out resolving the problem? Thank you in advance. The complete error message is given below for your reference,

roslaunch iriwam_openai_ros_example start_training_v2.launch 
... logging to /home/i2r/.ros/log/59c99942-811f-11eb-9c9d-fdbc231597b5/roslaunch-i2r-ai-21285.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://i2r-ai:46149/


 * /iriwam/alpha: 0.1
 * /iriwam/epsilon: 0.9
 * /iriwam/epsilon_discount: 0.999
 * /iriwam/gamma: 0.7
 * /iriwam/nepisodes: 500
 * /iriwam/nsteps: 10000
 * /iriwam/ros_ws_abspath: /home/user/simula...
 * /iriwam/task_and_robot_environment_name: IriWamTcpToBowl-v0
 * /rosdistro: noetic
 * /rosversion: 1.15.9

    iriwam_tcp_to_bowl_qlearn (iriwam_openai_ros_example/

auto-starting new master
process[master]: started with pid [21293]

setting /run_id to 59c99942-811f-11eb-9c9d-fdbc231597b5
process[rosout-1]: started with pid [21303]
started core service [/rosout]
process[iriwam_tcp_to_bowl_qlearn-2]: started with pid [21310]
[DEBUG] [1615325722.559839]: init_node, name[/iriwam_tcp_to_bowl_qlearn], pid[21310]
[DEBUG] [1615325722.560875]: binding to 0
[DEBUG] [1615325722.561654]: bound to 44647
[DEBUG] [1615325722.562550]: ... service URL is rosrpc://i2r-ai:44647
[DEBUG] [1615325722.563308]: [/iriwam_tcp_to_bowl_qlearn/get_loggers]: new Service instance
[DEBUG] [1615325722.564623]: ... service URL is rosrpc://i2r-ai:44647
[DEBUG] [1615325722.565335]: [/iriwam_tcp_to_bowl_qlearn/set_logger_level]: new Service instance
[WARN] [1615325722.567105]: Env: IriWamTcpToBowl-v0 will be imported
Traceback (most recent call last):
  File "/home/i2r/simulation_ws/src/openai_examples_projects/iriwam_openai_ros_example/scripts/", line 22, in <module>
    env = StartOpenAI_ROS_Environment(
  File "/home/i2r/simulation_ws/src/openai_ros/openai_ros/src/openai_ros/", line 26, in StartOpenAI_ROS_Environment
    result = RegisterOpenAI_Ros_Env(task_env=task_and_robot_environment_name,
  File "/home/i2r/simulation_ws/src/openai_ros/openai_ros/src/openai_ros/task_envs/", line 119, in RegisterOpenAI_Ros_Env
    from openai_ros.task_envs.iriwam import tcp_to_bowl
  File "/home/i2r/simulation_ws/src/openai_ros/openai_ros/src/openai_ros/task_envs/iriwam/", line 4, in <module>
    from openai_ros.robot_envs import iriwam_env
  File "/home/i2r/simulation_ws/src/openai_ros/openai_ros/src/openai_ros/robot_envs/", line 14, in <module>
    from moveit_msgs.msg import JointLimits
ImportError: cannot import name 'JointLimits' from 'moveit_msgs.msg' (unknown location)
[iriwam_tcp_to_bowl_qlearn-2] process has died [pid 21310, exit code 1, cmd /home/i2r/simulation_ws/src/openai_examples_projects/iriwam_openai_ros_example/scripts/ __name:=iriwam_tcp_to_bowl_qlearn __log:=/home/i2r/.ros/log/59c99942-811f-11eb-9c9d-fdbc231597b5/iriwam_tcp_to_bowl_qlearn-2.log].
log file: /home/i2r/.ros/log/59c99942-811f-11eb-9c9d-fdbc231597b5/iriwam_tcp_to_bowl_qlearn-2*.log


I supose yu are exeuting it locally. For that at least ( it could be more, I dont know your currentsetup how it is ) you should install this:

sudo apt update
sudo apt install -y ros-noetic-moveit
sudo apt install -y ros-noetic-moveit-*
sudo apt install -y ros-noetic-moveit-core
sudo apt install -y ros-noetic-moveit-kinematics
sudo apt install -y ros-noetic-moveit-plugins
sudo apt install -y ros-noetic-dynamixel-sdk
sudo apt install -y ros-noetic-moveit-ros-planning-interface
sudo apt install -y ros-noetic-tf2-tools
sudo apt install -y python3-osrf-pycommon

cd ~/catkin_ws/src
git clone --depth 1
ls hokuyo_model
git clone --depth 1 -b noetic
source /opt/ros/noetic/setup.bash
cd ~/catkin_ws
sudo rm -rf build devel
source devel/setup.bash

You can aslo use a ROSject, which will have most of the dependencies already solved, and you will only have to download the iriwam simulation git and not much more.

Is up to you ;).

Also the iriwam openai wasn’t tested in Noetic so itcould have bugs for sure.
To get a better idea , have a look at the fetch openai that it IS used in OpenAI ROS course using noetic ;).