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

How to do tabletop object manipulation for my own robot with ROS?

asked 2012-08-29 02:47:24 -0500

I have a robot arm of 7DOF. Now i want to use it to grasp tabletop objects like what pr2 does

According to my understanding and the wonderful tutorials, basically there are four things to do: 1) object perception: determine where is the object. this is just the goal for the arm; 2) environment perception: this is to avoid collision between the arm and the environment; 3) path planning for the arm and trajectory filtering 4) move the arm to the goal according to the result of path planning.

so first of all, i want to realize the 3rd and 4th steps with my robot arm. that is, i manually assign the start and goal, and then move the arm to the goal according to the result of path planning. According to the tutorial in IROS2011 named Motion Planning for Real Robots(, i create the URDF for my robot and i can do the motion planning with the Arm Navigation Warehouse Viewer. but with the warehouse viewer, i can only assign the start and the goal through the GUI. how can i assign the start and the goal programmically? in the IROS2011 tutorial, indeed there is a chapter named Programmatically Controlling the Robot Arm, but that is for PR2. i cannot figure out how to apply this to my robot arm. so till now, it seems that my question can be converted to: how to control my robot arm programmically? e.g., move the arm's each joint to a specified value. in fact, i've realized this with the robot state publisher according to this tutorial: so now let's back to the chapter of IROS2011 tutorial named Programmatically Controlling the Robot Arm. In the provided cpp file, it seems it only constructs the goal command, and then sends it out. The planning part and the arm action part are done with right_arm_navigation.launch under the package pr2_3dnav but i don't know how to fulfill this part for my robot arm.

sorry for my tedious description. here is a simple summary:

ultimate goal: i want to do motion planning for my robot arm with the start and goal assigned programmically.

what i've already done: 1) construct the URDF for my robot; 2) finish the motion planning with the Arm Navigation Warehouse Viewer; 3) move each joint to a specified position programmically with joint state publisher and robot state publisher.

question: how to fulfill my ultimate goal with all the achievements i've already finished?

thanks in advance for all the answers and comments.

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2013-02-06 05:25:44 -0500

MartinW gravatar image

Hey yangyangcv,

So does your Arm Navigation Warehouse Viewer allow you to use Real Robot Data? You need an Action Client and Action Server. From my understanding, the Action Client requests movements from the server which runs with your real robot's drivers. I'm just starting to work with these now, but I am looking at the mototman industrial package. Then look at how they have setup their launch files in sia10d_mesh_arm_navigation/ ---> specifically these files:

planning_scene_warehouse_viewer_sia10d_mesh.launch (simulation) planning_scene_warehouse_viewer_sia10d_mesh_real.launch (real robot data)

I have this stuff working on my non-pr2 project but I think I need low-level controllers to actually programically control the motors. I am also working on tabletop manipulation with my robot :)

Hope this helps, I will try to help you out since you're working close to my area but I am not very experienced.

Kind Regards, Martin

edit flag offensive delete link more

answered 2013-02-05 01:13:42 -0500

ramya345 gravatar image

how did u link the state publisher with warehouse viewer ???????????

edit flag offensive delete link more


Please do not post questions as "answers" here, this is not a discussion forum. Instead, use the comment box or post a new question of your own.

AHornung gravatar image AHornung  ( 2013-02-05 01:53:41 -0500 )edit

Question Tools


Asked: 2012-08-29 02:47:24 -0500

Seen: 690 times

Last updated: Feb 06 '13