Robotics StackExchange | Archived questions

avoid interpenetration between links that are connected by a joint

Hello,

I want to avoid interpenetration between links that are connected by a joint.

I thought to add another link that will act like a joint. i.e instead of putting a link exactly in front of the other link with an invisible joint, I will add another one (small cube or sphere) between the two first links.

This solution fixes the problem, but weight and inertia values of joint link must be like those of one of the links (unrealistic and sort of cheating)

Is there any other solution? Thanks in advance

Asked by djou07 on 2015-10-28 09:56:54 UTC

Comments

Answers

You might want to use collide bitmasks to determine which links can collide with each other.

Asked by chapulina on 2015-10-28 19:04:08 UTC

Comments

even links that are connected by a joint ?

Asked by djou07 on 2015-10-29 03:08:00 UTC

The bitmask is added to each collision surface, so it should work for links in the same model, links connected by a joint, or even different collisions within the same link.

Asked by chapulina on 2015-10-29 11:57:53 UTC

I tried to add a bitmask to all links of one model in which way that avoid the inter-penetration but this didn't work

Asked by djou07 on 2015-11-03 10:56:07 UTC

Doesn't work for me either, with gazebo7 and sdf 1.5. I put the following in every collision element. The model stays above the ground, but parts connected by revolute joint pass through each other. Is this not a bug? If so, it's a problem, as many robots have to bend around to touch themselves.

      <contact>

0x01 ...and I also included a true self_collide element at the model level.

Asked by klaatu on 2016-06-02 21:59:54 UTC