1
$\begingroup$

I'm facing very weird problem with gazebo the robot link cross the object even though its collision and inertial properties are proper generated from Solidwork CAD Software . Why link is penetrates the box? min_depth is also zero. Friction is also quite high.

enter image description here

World file

<?xml version="1.0" ?>

<sdf version="1.6">
  <world name="default">  <physics type="ode">
      <max_step_size>0.001</max_step_size>
      <real_time_factor>1</real_time_factor>
      <real_time_update_rate>1000</real_time_update_rate>
      <ode>
        <solver>
          <!-- <type>world</type> -->
          <!-- <iters>50</iters>
          <sor>1.3</sor> -->
        </solver>
        <constraints>
          <cfm>0</cfm>
          <erp>0.200000</erp>
          <contact_max_correcting_vel>100.0</contact_max_correcting_vel>
          <contact_surface_layer>0.0001</contact_surface_layer>
        </constraints>
      </ode>
    </physics> 
     <include>
      <uri>model://sun</uri>
    </include>
    <include>
      <uri>model://ground_plane</uri>
    </include>
<model name='unit_box'>
    <pose>0.4 0.07 0.5 0 -0 0</pose>
    <link name='link'>
      <inertial>
        <mass>0.00015774</mass>
        <inertia>
          <ixx>0.000000433335</ixx>
          <ixy>0</ixy>
          <ixz>0</ixz>
          <iyy>0.000000433335</iyy>
          <iyz>0</iyz>
          <izz>0.000000433335</izz>
        </inertia>
        <pose>0 0 0 0 -0 0</pose>
      </inertial>
      <collision name='collision'>
        <geometry>
          <box>
            <size>0.054384 0.056414 0.066751</size>
          </box>
        </geometry>
        <max_contacts>100</max_contacts>
        <surface>
          <contact>
            <ode/>
          </contact>
          <bounce/>
          <friction>
            <torsional>
              <ode/>
            </torsional>
            <ode/>
          </friction>
        </surface>
      </collision>
      <visual name='visual'>
        <geometry>
          <box>
            <size>0.054384 0.056414 0.066751</size>
          </box>
        </geometry>
        <material>
          <script>
            <name>Gazebo/White</name>
            <uri>file://media/materials/scripts/gazebo.material</uri>
          </script>
        </material>
      </visual>
      <self_collide>0</self_collide>
      <enable_wind>0</enable_wind>
      <kinematic>0</kinematic>
    </link>
</model>

  </world>
</sdf>

urdf link part

<link name="palm_Link">
    <inertial>
      <origin
        xyz="0.11195757840872 0.0218208391835557 -0.0102781634021541"
        rpy="0 0 0" />
      <mass
        value="0.0574455788604759" />
      <inertia
        ixx="2.76099031307389E-05"
        ixy="-8.29004144373025E-05"
        ixz="-1.91812265176209E-06"
        iyy="0.000324487528258486"
        iyz="2.5599393986152E-07"
        izz="0.00034583642559353" />
    </inertial>
    <visual>
      <origin
        xyz="0 0 0"
        rpy="0 0 0" />
      <geometry>
        <mesh
          filename="package://robot_description/meshes/palm_Link.STL" />
      </geometry>
      <material
        name="">
        <color
          rgba="0.698039215686274 0.698039215686274 0.698039215686274 1" />
      </material>
    </visual>
    <collision>
      <origin
        xyz="0 0 0"
        rpy="0 0 0" />
      <geometry>
        <mesh
          filename="package://robot_description/meshes/palm_Link.STL" />
      </geometry>
    </collision>
</link>

<gazebo reference="palm_Link">
    <mu1>10.0</mu1>
    <mu2>10.0</mu2>
    <kp>1e+9</kp>
    <kd>1e+9</kd>
    <selfCollide>true</selfCollide>
    <material>Gazebo/Black</material>
</gazebo>
$\endgroup$

1 Answer 1

0
$\begingroup$

Your box has a mass two orders of magnitude smaller than your link. In my experience, Gazebo contact simulation does not work well if the object masses are too far apart. I suggest to try again with the box mass 0.0015774 or 0.015774 instead of the current 0.00015774.

$\endgroup$
1
  • $\begingroup$ doesn't seems have any effects. $\endgroup$ Commented May 15 at 5:06

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.