ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

which rostopic should 3rd part controller publish to, to control a real Universal Robot?

asked 2019-02-14 11:09:55 -0600

porkPy gravatar image

I am attempting to control a UR5 robot arm using a neural network controller. With the minimum amount of reconfiguring, to which topic should the joint commands from the neural network be published? The network output will be a tuple of joint movements of +/- 1 degree. How could I test such a publication message using the command line? This is using ROS Kinetic. Thanks, Dom

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2019-02-15 05:07:49 -0600

gvdhoorn gravatar image

updated 2019-02-15 05:33:34 -0600

Provided you are using the kinetic-devel version of ur_modern_driver and provided you are running your network at 125 Hz and you make sure to not violate any limits, you could make use of the ros_control compatibility, configure a JointGroupPositionController, keep track of the absolute joint angles and publish new targets to the position controller.

Alternatively: use the JointGroupVelocityController that's already there and publish velocities.

Another alternative could be to use something like jog_arm between you and the driver. It can take care of some of the steps I wrote about above.


Edit:

which rostopic should 3rd part controller publish to

just an observation: all controllers would be "3rd party" in this setup. I'm not sure what would make yours different from any other.

edit flag offensive delete link more

Comments

Hi gvdhoorn, Thanks for your answer. I have managed to get jog_arm to start publishing to /move_group. I have worked out (I think) how to publish actions to the /jog_arm_server node using the /jog_arm_server/joint_delta_jog_cmds topic using the /jog_msgs/JogJoints message. .....

porkPy gravatar image porkPy  ( 2019-02-18 08:46:50 -0600 )edit

Example: $ rostopic pub /jog_arm_server/joint_delta_jog_cmds jog_msgs/JogJoint -1 '{stamp: now, frame_id: base_link}' [wrist_3_joint] [10]
and I get output publishing and latching message for 3.0 seconds However, the robot does not move. Any ideas? Many thanks

porkPy gravatar image porkPy  ( 2019-02-18 08:49:25 -0600 )edit

If I echo the joint_delta_jog_cmds topic I get an output of:

header: seq: 1 stamp: secs: 1550500372 nsecs: 132920026 frame_id: "base_link" joint_names: [wrist_3_joint] deltas: [10.0]

porkPy gravatar image porkPy  ( 2019-02-18 08:54:15 -0600 )edit

I would recommend you ask the jog_arm author, @AndyZe. Either here on ROS Answers or in an issue on his tracker.

gvdhoorn gravatar image gvdhoorn  ( 2019-02-18 11:08:49 -0600 )edit
AndyZe gravatar image AndyZe  ( 2019-02-18 16:34:24 -0600 )edit

Ok, will do. Thank you for your help.

porkPy gravatar image porkPy  ( 2019-02-18 16:35:21 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2019-02-14 11:09:55 -0600

Seen: 438 times

Last updated: Feb 15 '19