Gazebo | Ignition | Community
Ask Your Question
0

Gripper tag with gazebo11

asked 2022-03-16 07:20:42 -0600

christophfroehlich gravatar image

Hi there! Anyone has used the gripper tag with the latest gazebo versions? The "newest" article I've found was with gazebo7

However, if I add the following code

 <gazebo>
  <gripper name="grasping">
    <grasp_check>
      <attach_steps>20</attach_steps>
      <detach_steps>40</detach_steps>
      <min_contact_count>1</min_contact_count>
    </grasp_check>
    <gripper_link>outer_jaw</gripper_link>
    <gripper_link>inner_jaw</gripper_link>
    <palm_link>tool_center</palm_link>
  </gripper>
</gazebo>

I'll get this error

gzserver: /usr/include/boost/smart_ptr/shared_ptr.hpp:734: typename boost::detail::sp_member_access<T>::type boost::shared_ptr<T>::operator->() const [with T = gazebo::physics::Link; typename boost::detail::sp_member_access<T>::type = gazebo::physics::Link*]: Assertion `px != 0' failed.

When I only define one gripper_link and the palm_link gazebo starts, but I do not see any effect of the gripper code (no "__gripper_fixed_joint__" or similar)

Am I using the tag in a wrong way, or is this function broken?

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2022-03-23 02:47:03 -0600

christophfroehlich gravatar image

updated 2022-03-23 03:06:01 -0600

I realized why i get this assertion: gazebo creates other link names (some hack to use URDF with DH conventions) checked by

gz sdf -p model.urdf > models.sdf

After using the correct link names, it launches and I can observe the contacts with

gz topic -e /gazebo/default/grasping/contacts

wrench { body_1_name: "gripper_model::moved_with_q12::moved_with_q12_fixed_joint_lump__inner_jaw_collision" body_1_id: 20 body_2_name: "Wood_Log::link_0::collision" body_2_id: 46 body_1_wrench { force { x: 22126.307460241038 y: -25543.127831681646 z: 2009.67790021516 } torque { x: -5672.71425322889 y: -5714.5659828432763 z: -10176.590835338162 } } body_2_wrench { force { x: -33757.213203980529 y: -1566.588043136891 z: 2014.9504007453961 } torque { x: 354.69985180830543 y: -7656.83515862313 z: -10.634448792365738 } } }

But still, the object moves inside the gripper and no __fixed_joint__ seems to be added. Anyone who can explain the gripper tag for me please? :)

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2022-03-16 07:20:42 -0600

Seen: 215 times

Last updated: Mar 23 '22