[ros-users] gazebo: robot model dances

John Hsu johnhsu at willowgarage.com
Fri Oct 1 18:09:17 UTC 2010


Hi Ricarda,
Very interesting problem indeed.  What you're seeing is a typical numerical
instability of the current constraint solver.  The redundant contacts of the
cylinder/box with the ground has made the system stiff enough that your
solution gitters/fails to converge.  This is something I am actively looking
into stabilizing at the moment.  There are a few ways to fix this problem
for now:

   - switch to single contact (e.g. use spheres, trimeshes, etc) or shorten
   the moment arm between the two contacts on the same cylinder with the
   ground, i.e. even if you just shorten your cylinder so the length is say
   0.05m instead of 0.145m, your simulation will be stable..
   - reduce mass ratio between the base and the wheels.  As you know, heavy
   objects sitting on top of light objects produces an ill conditioned system
   for ode formulation.  If you increase the wheel inertia, things will also
   stabilize.
   - lower <stepTime>, increase <quickStepIters> or decrease <quickStepW>.
   You'll end up with slower simulation but nevertheless a stable one.

These are the typical "tricks" to making rigid body simulations stable.
You'll find yourself trading off between performance, model fidelity and
simulation accuracy whenever you are trying to model systems by discretizing
some or all of its state variables.
John



On Fri, Oct 1, 2010 at 8:14 AM, Ricarda Steffens <
steffens at informatik.uni-bonn.de> wrote:

> Hi,
>
> thanks for your answer, John.
> Unfortunately, the robot is not actuated, yet. I am still having problems
> to even spawn the model without explosions or dancing.
> Maybe I am just misunderstanding some attributes.
>
> I am breaking down the model into pieces nearly all of the time I spend
> with it. It seems that there is a problem with the wheels/base.
> Moreover, the arms produce some tremor, too.
>
> I checked all of the masses, moi's and possible collisions by means of the
> bounding boxes.
> I only use fixed joints in order to avoid problems with joint limits etc.
>
> The source code for the base is attached.
> I already tried to use boxes instead of cylinders but it did not help.
> Furthermore, I did some trial-and-error value changes.
>
> Thanks,
> Ricarda
> _______________________________________________
> ros-users mailing list
> ros-users at code.ros.org
> https://code.ros.org/mailman/listinfo/ros-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ros.org/pipermail/ros-users/attachments/20101001/e2b528f5/attachment-0003.html>


More information about the ros-users mailing list