gazebosim / gazebo-classic

Gazebo classic. For the latest version, see https://github.com/gazebosim/gz-sim
http://classic.gazebosim.org/
Other
1.17k stars 477 forks source link

Gazebo does not like tiny robots #1646

Open osrf-migration opened 9 years ago

osrf-migration commented 9 years ago

Original report (archived issue) by Aaron Gokaslan (Bitbucket: Skylion007).


So I am planning on using Gazebo in a microrobotics lab. Unfortunately, each link appears only to support a minimum mass of 0.01kg. Any lower and the GUI displays 0 and I did not detect any movement from gravity on ODE.

This limitation in Gazebo makes it extremely difficult to work on small scales or use it in the budding field of microrobotics. Additionally, there also appears to be an issue with the collision detection algorithm of DART and Simbody at these scales, but I will reach out to their respective developers to see if the feature can be improved. ODE, however, works well. Is there any workaround I can do to allow for smaller masses in Gazebo?

Some of these robots only weigh a few grams, but alas the smallest you can make the mass in Gazebo is ten grams. I have tried setting it lower in the SDF, but it appears to just round to 0.00g, which means the robot is unaffected by gravity.

Any help/suggestions would be appreciated.

osrf-migration commented 9 years ago

Original comment by Louise Poubel (Bitbucket: chapulina, GitHub: chapulina).


About small masses showing as 0.00 kg, it seems to be only a problem with precision on the GUI display. I just made a simple model with mass equals to 1e-5 Kg and it falls with gravity using ODE:

<?xml version='1.0'?>
<sdf version='1.5'>
  <model name='Untitled'>
    <link name='link_0'>
      <inertial>
        <mass>1e-05</mass>
      </inertial>
      <visual name='visual'>
        <geometry>
          <sphere>
            <radius>0.5</radius>
          </sphere>
        </geometry>
      </visual>
      <collision name='collision'>
        <geometry>
          <sphere>
            <radius>0.5</radius>
          </sphere>
        </geometry>
      </collision>
    </link>
  </model>
</sdf>
osrf-migration commented 9 years ago

Original comment by Aaron Gokaslan (Bitbucket: Skylion007).


Hmm, okay hmm I just assumed that the mass was being incorrectly parsed. Regardless, that is a GUI feature which should be fixed. Additionally, if there are any parameters that can make the physics engine play nicely with small objects it would be awesome if they could be included in the SDF file.

On second thought I had it attached to a hinge so maybe there is some default stiffness value in ODE that won't allow it to bend if it weighs less than that despite not having any such value visible through the SDF file.

osrf-migration commented 9 years ago

Original comment by Louise Poubel (Bitbucket: chapulina, GitHub: chapulina).


I created issue #1647 specifically for the number of decimals displayed. Afterwards I saw there was already a similar issue (#169) for editable properties (like pose).