Ask Your Question

Gripper Grasp Planner Cluster - gripper model changes during grasp testing

asked 2013-01-28 06:08:01 -0500

dbworth gravatar image

Hi all,

I'm testing pr2_gripper_grasp_planner_cluster, which plans grasps on PointClouds as part of the Tabletop Manipulation pipeline. This node requires a configuration file, specifying a model of your gripper & the grasping area.

I'm running the grasp planner configured for side-grasps only, & displaying the gripper model. It fails to find a valid grasp, so my model needs tweaking, but strangely the planner/Rviz is mangling the model!

Each time I run the planner, the gripper model is shown in Rviz but with the pieces of the gripper moved in relation to each other! So it's not going to find a solution if it's mangling the model. Or maybe this is just a problem with the visualization markers in Rviz.

Please see pictures & config file below.

Many thanks,

As a reference, this is the grasping model of the PR2 gripper:
(Gripper is blue, grasp area is yellow)

image description

I'm trying to simulate a simplified human hand.
Imagine your thumb points downwards, and you approach an object with your fingers pointing towards it (x-direction). Like grasping a book from a bookshelf.
(The gripper is shown in green, with the small "thumb" pointing out from the screen, and the "fingers" would point to the right if they were shown. The grasping area is blue.)

These pictures are 3 runs of the grasp planner. Each time the blocks of the gripper model are moved around in relation to each other.
image description

Configuration file from cluster grasp planner:

# Gripper area
gripper_boxes: [ [[0.000, -0.020, -0.053], [0.120, 0.044, 0.03125]], [[0.000, -0.029, 0.001], [0.054, -0.020, 0.051]], [[0.0065, -0.059, 0.00875], [0.0415, -0.029, 0.03125]], [[0.040, -0.089, 0.00875], [0.080, -0.067, 0.03125]] ]

# Grasp area
space_boxes: [[ [[0.054, -0.067, 0.013], [0.120, -0.020, 0.023]] ]]

  right_arm: ['hand_r_thumb_joint', 'hand_r_index_1_joint', 'hand_r_index_2_joint', 'hand_r_index_3_joint', 'hand_r_middle_1_joint', 'hand_r_middle_2_joint', 'hand_r_middle_3_joint']
  left_arm: ['hand_l_thumb_joint', 'hand_l_index_1_joint', 'hand_l_index_2_joint', 'hand_l_index_3_joint', 'hand_l_middle_1_joint', 'hand_l_middle_2_joint', 'hand_l_middle_3_joint']

# thumb is downwards
  right_arm: [1.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ]
  left_arm: [1.5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ]

# all closed
  right_arm: [1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5 ]
  left_arm: [1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5 ]

  right_arm: [100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0 ]
  left_arm: [100.0, 100.0, 100.0, 100.0, 100.0, 100.0, 100.0 ]

  right_arm: [50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0 ]
  left_arm: [50.0, 50.0, 50.0, 50.0, 50.0, 50.0, 50.0 ]
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2013-01-28 08:01:05 -0500

hsiao gravatar image

I've seen that issue as well--as far as I can tell, it's an issue with tf and rviz visualization; it doesn't affect the actual grasp planning. I'm using a tf broadcaster to broadcast the object frame to draw the gripper model, and my guess is that there are issues with the timing of messages and which tf message rviz is using to draw various boxes. But I'm not using tf to transform the points into the wrist frame when computing collisions and points-in-the-grasp-box, so the actual grasp planning is unaffected by that.

edit flag offensive delete link more


btw, if your 'thumb' really is that short, unless it and the fingers actually move to cover the entirety of your blue grasping area, I would recommending making the blue grasping box at least a bit shorter.

hsiao gravatar image hsiao  ( 2013-01-28 08:03:40 -0500 )edit

Thanks @hsiao I enabled display of the TF frames object_frame & wrist_frame, and they act properly. Also, I removed one gripper_box, so my model has 3 gripper_boxes like the PR2. The boxes now behave properly, but I haven't tested this theory by going back to 4/5 boxes yet :-)

dbworth gravatar image dbworth  ( 2013-01-30 10:36:19 -0500 )edit

@hsiao Also, I created a new frame specifically as the origin for this grasping model. This frame is passed to object_manipulator. My gripper is asymmetrically positioned to the wrist joint, so this frame has the space_box (grasping area) positioned symmetric to the y & z axes of gripper_boxes.

dbworth gravatar image dbworth  ( 2013-01-30 10:41:32 -0500 )edit

...the result is that the pr2_gripper_grasp_planner_cluster now approaches objects with the grasping area symmetric to the z-axis of the object cluster.

dbworth gravatar image dbworth  ( 2013-01-30 10:43:53 -0500 )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

1 follower


Asked: 2013-01-28 06:08:01 -0500

Seen: 365 times

Last updated: Jan 28 '13