Rosanswers logo

Hello There,

I have some trouble to work with the Getting Started with a Universal Robot and ROS-Industrial. After setting up the ur_modern_driver for our 3.4.X UR5 Robot I tried to execute the test_move.py script. The console returns: Robot is not ready, check Robot_mode! I have after several hours of research no clue.

REF: Getting Started with a Universal Robot and ROS-Industrial


@gvdhoorn Below I postet the actuall execute command that leads to the following Error:

[ WARN] [1519905657.372310797]: Goal error: Robot is not ready, check robot_mode

This warning shows up if I enter the command on another terminal:

$ rosrun ur_modern_driver test_move.py

After this I got the Infostream from test_move.py and confirm the movement with "y" and it leads to the listed Warning.

@PeteBlackerThe3rd As it sounds like the obvious Solution, it is not easy to discover. I've plenty hours of experience with industrial robots from denso, but its my first atempt with ROS. I have 3 modes at a denso robot: Auto, Manual or Teach-Check. This is something what I have missed as I start with UR5. After a little more analysing of the ur_modern_driver Code I have realized the lines 70-80 of robot_state.h. I actually dont know if it's the point of my problem, but my experience with ROS is just beginner's status.

At last thank you both for the fast response.


After running the launchfile:

roslaunch ur_modern_driver ur5_bringup.launch robot_ip:=IP_OF_THE_ROBOT

I still can move the Robot-Arm with the Polyscope-Teachpendant. I also searched for an option to change the robot_mode but I just found and also know about the "reduced Mode".

EDIT: The "Initilaize Robot" Screen shows:

Robot --> "green-ample-sign" NORMAL


Meanwhile we tested the response of the dashboardserver. Our results was the following:

  • RUNNING --> if the robot is in NORMAL, RECOVERY and running a PolyScope-Program

-IDLE --> if the robot is IDLE

-BOOTING --> if the robot is BOOTING

so far everything as expected.

Originally posted by MaKaNu on ROS Answers with karma: 11 on 2018-02-28

Post score: 1

Original comments

Comment by gvdhoorn on 2018-02-28:
can you please copy-paste the output that you get? There is probably some context missing here.

Comment by PeteBlackerThe3rd on 2018-02-28:
Not trying to point out of the obvious but the UR5 is in drive mode and you can drive it from the attached tablet?

Comment by MaKaNu on 2018-03-01:
I've edited my Question

Comment by gvdhoorn on 2018-03-01:
"Robot Mode" is something Universal Robots came up with, it's not a ROS or ROS-Industrial invention. See the robotmode entry on this page fi. If your robot is not in ready mode, it cannot ..

Comment by gvdhoorn on 2018-03-01:
.. be controlled by the ROS driver component.

As @PeteBlackerThe3rd asks: can you use the UR teach pendant to control the robot at that point?

If not: you'll need to make sure the robot is operational before trying to use ROS with it. Please refer to the Universal Robots documentation for that.

Comment by MaKaNu on 2018-03-01:
Readed your awnsers and edited again.

Comment by gvdhoorn on 2018-03-01:
Could you please add some more detail to your opening post? I can only find the phrase "Robot is not ready" in a version of ur_modern_driver that is currently in a Pull Request. It's not the normal version of the driver. Can you clearly state which particular pkg you are using?

Comment by gvdhoorn on 2018-03-01:
It could be that your robot is using a Polyscope version that is not supported by the driver yet. In that case, if Universal Robots changed the binary protocol, the driver could be misinterpreting the data it receives from the robot, leading to what you observe.


1 Answer 1


Rosanswers logo

The solution was quite simple. The last required step was to call the service rosservice call /ur_driver/robot_enable

I think, this is came from a fork we used instead of the original /ur_modern_driver by ThomasTimm. This servicecall was, AFAIK, not required by the original /ur_modern_driver. Maybe someone can tell me if I'm right or not?

Originally posted by matt_do with karma: 43 on 2018-03-26

This answer was ACCEPTED on the original site

Post score: 0

Original comments

Comment by gvdhoorn on 2018-03-26:
Yes, the enable service was only added in the fork I mentioned in one of my comments. That was also why I asked: "Can you clearly state which particular pkg you are using?"

Comment by matt_do on 2018-03-26:
Oh, now I understand what you meant with "not the normal package". We just looked for the package-name and not for the actual repo where the package was cloned from. However, thank you for your help.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.