Ask Your Question
1

How to check robot mode on UR5

asked 2018-02-28 08:17:41 -0600

MaKaNu gravatar image

updated 2018-03-26 11:15:49 -0600

ahendrix gravatar image

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

EDIT:

@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.

EDIT:

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

EDIT:

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.

edit retag flag offensive close merge delete

Comments

can you please copy-paste the output that you get? There is probably some context missing here.

gvdhoorn gravatar imagegvdhoorn ( 2018-02-28 08:37:48 -0600 )edit

Not trying to point out of the obvious but the UR5 is in drive mode and you can drive it from the attached tablet?

PeteBlackerThe3rd gravatar imagePeteBlackerThe3rd ( 2018-02-28 11:33:48 -0600 )edit

I've edited my Question

MaKaNu gravatar imageMaKaNu ( 2018-03-01 07:40:27 -0600 )edit

"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 ..

gvdhoorn gravatar imagegvdhoorn ( 2018-03-01 07:58:55 -0600 )edit

.. 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.

gvdhoorn gravatar imagegvdhoorn ( 2018-03-01 08:00:21 -0600 )edit
1

Readed your awnsers and edited again.

MaKaNu gravatar imageMaKaNu ( 2018-03-01 08:59:07 -0600 )edit

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?

gvdhoorn gravatar imagegvdhoorn ( 2018-03-01 10:22:20 -0600 )edit

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.

gvdhoorn gravatar imagegvdhoorn ( 2018-03-01 10:23:29 -0600 )edit

1 Answer

Sort by » oldest newest most voted
0

answered 2018-03-26 02:24:28 -0600

matt_do gravatar image

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?

edit flag offensive delete link more

Comments

1

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?"

gvdhoorn gravatar imagegvdhoorn ( 2018-03-26 03:07:18 -0600 )edit

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.

matt_do gravatar imagematt_do ( 2018-03-26 03:13:30 -0600 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

3 followers

Stats

Asked: 2018-02-28 08:17:41 -0600

Seen: 344 times

Last updated: Mar 26 '18