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

Tele-Operation of an Arm's End-Effector

asked 2012-04-05 09:34:56 -0600

John Hoare gravatar image

Is there a way in ROS to tele-operate the arm's end-effector location? What I am envisioning is something like the move_arm_warehouse but instead of setting start and end positions, the robot's end-effector just follows the location of the interactive marker.

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2012-04-05 10:46:52 -0600

Matei Ciocarlie gravatar image

For that you'll need two things: some form of controller that operates in Cartesian end-effector space (like a J-transpose or J-inverse controller), and then a simple interactive_marker application that will just send the location of the interactive marker to the controller as a set point.

We have both implemented for the PR2, and the pr2_marker_control package in the pr2_object_manipulation stack is a good starting point. For a generic robot, I expect the Cartesian controller to be the most significant hurdle; the interactive_marker based app should be relatively straightforward.

Alternatively, you could just compute inverse kinematics on the location of the interactive marker and then feed the result directly to your regular joint-space controller. You run the risk of sudden movements in the redundant space of the arm (if your arm is redundant), or inability to get close to locations where IK can not find solutions. We do not have anything generic like that already implemented, but if your IK is fast enough, then it should be a relatively straightforward implementation, at least for a proof of concept.

edit flag offensive delete link more


Do you have an opinion of what would happen if I were to just feed end_effector goals into the command side of move_arm ? Is that essentially equivalent to your paragraph 3?

John Hoare gravatar image John Hoare  ( 2012-04-06 03:33:52 -0600 )edit

Could work. You could get sudden jerky movement in the redundancy. It will just flat out refuse to move if IK can not find a solution (whereas a Cartesian controller would get you close). You would need to send goals slow enough to give it time to plan.

Matei Ciocarlie gravatar image Matei Ciocarlie  ( 2012-04-06 16:23:52 -0600 )edit

Also, not sure how well move_arm is set up to handle being interrupted and asked to re-plan all the time. All in all, I would say it's worth a try.

Matei Ciocarlie gravatar image Matei Ciocarlie  ( 2012-04-06 16:24:21 -0600 )edit

answered 2012-04-07 07:27:02 -0600

Robert Krug gravatar image

I recently wrote a node for teleoperating the Shadow Arm with a 6DOF pose sensor using a Cartesian Pose Controller - code can be found here. The node is fairly generic but you would need to adapt it to your purposes - maybe you can use it as a starting point.

edit flag offensive delete link more


Thanks, Robert. I'll take a look at it!

John Hoare gravatar image John Hoare  ( 2012-04-09 03:32:20 -0600 )edit

Question Tools



Asked: 2012-04-05 09:34:56 -0600

Seen: 363 times

Last updated: Apr 07 '12