0
$\begingroup$

Rosanswers logo

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


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

image description http://i47.tinypic.com/2s9au54.png


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 http://i50.tinypic.com/334isdx.png

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

joint_names: 
  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
pregrasp_joint_angles:
  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
grasp_joint_angles: 
  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 ]

pregrasp_joint_efforts:
  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 ]

grasp_joint_efforts:
  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 ]

Originally posted by dbworth on ROS Answers with karma: 1103 on 2013-01-28

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

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.


Originally posted by hsiao with karma: 741 on 2013-01-28

This answer was ACCEPTED on the original site

Post score: 0


Original comments

Comment by hsiao on 2013-01-28:
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.

Comment by dbworth on 2013-01-30:
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 :-)

Comment by dbworth on 2013-01-30:
@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.

Comment by dbworth on 2013-01-30:
...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.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.