Re: [ros-users] gazebo: robot model dances

Top Page
Attachments:
Message as email
+ (text/plain)
+ (text/html)
Delete this message
Reply to this message
Author: User discussions
Date:  
To: User discussions
Subject: Re: [ros-users] gazebo: robot model dances
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 <
> 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
>
> https://code.ros.org/mailman/listinfo/ros-users
>
>