Gazebo | Ignition | Community
Ask Your Question
2

Why is inertia influencing collision?

asked 2013-01-16 12:01:08 -0600

AndreiHaidu gravatar image

updated 2013-01-17 03:08:01 -0600

Hi,

I am using Gazebo 1.2.5 with ROS Groovy.

I have a spatula whose head has a 0.002 thickness, the problem is that it goes through objects like a hot knife through butter. The erp, cfm, kp, kd constants don't help me in this case (for other objects they work fine).

I give them the approx values:
HARD bodies: cfm=0; erp=0.02; kp = kd = 100000000;
SOFT bodies: cfm = erp = 100; kp = kd = 1;
Like I said these values don't seem to influence the spatula heads collision;

If I comment out the <inertia> tag it works perfectly, but then I don't have inertia, which I need.

Any ideas why is this happening, and how could I solve this without commenting out the inertia?

Thanks, Andrei

EDIT:
Here is the sdf file. The model is composed of one link with more collisions/visuals. The collision I am interested in is called spatula_head_collision.

Here is the inertia commented (not going through objects):

        <inertial>
            <pose>0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000</pose>
            <!--inertia>
                <ixx>0.000019</ixx>
                <ixy>0.000000</ixy>
                <ixz>0.000000</ixz>
                <iyy>0.000041</iyy>
                <iyz>0.000000</iyz>
                <izz>0.000054</izz>
            </inertia-->
            <mass>0.105000</mass>
        </inertial>

Un-commented (going through objects):

        <inertial>
            <pose>0.000000 0.000000 0.000000 0.000000 -0.000000 0.000000</pose>
            <inertia>
                <ixx>0.000019</ixx>
                <ixy>0.000000</ixy>
                <ixz>0.000000</ixz>
                <iyy>0.000041</iyy>
                <iyz>0.000000</iyz>
                <izz>0.000054</izz>
            </inertia>
            <mass>0.105000</mass>
        </inertial>

I don't think the problem is the <inertia> tag because changing the values changes the behavior of the model in simulation.

@hsu could you give me an example for erp, cfm, kp, kd constants values, so the body is the hardest / softest. Thanks.

edit retag flag offensive close merge delete

Comments

Can you show us the <inertia> tag that's giving you problems? If there is malformed xml in your inertia element, then the parser may stop parsing that link and move on to the next one, so that the collision element doesn't get parsed.

scpeters gravatar imagescpeters ( 2013-01-16 12:49:22 -0600 )edit

This is not expected simulation behavior, I'd have to guess the way the model is constructed exposes some hidden bug, or the model is constructed incorrectly. To determine the problem it helps to take a look at the model. Btw, erp of 100 should cause unstable physics if it's actually active.

hsu gravatar imagehsu ( 2013-01-16 14:08:15 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2013-07-23 17:12:23 -0600

scpeters gravatar image

I think the problem with the spatula_head_collision is that the <surface><contact><ode><min_depth> parameter has a value of 0.001, while the thickness of your box is 0.002. Try making min_depth an order of magnitude smaller.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2013-01-16 12:01:08 -0600

Seen: 1,123 times

Last updated: Jul 23 '13