[ODE] Average Velocity feature and 'Disabling islands problem'

Christoph Beyer boernerb at web.de
Fri Nov 3 02:13:31 MST 2006

*Jaroslav Sinecky wrote:*
>Probably a body in island shouldn't disable when it alone 
>reaches auto-disable condition.

I think disabling a body in island when it alone 
reaches auto-disable condition is important to slow the
islands jittering movement down.
But I think we should create "island_idle_step" and "island_idle_time"
values which are the values only for islands.
So, you are able to set a lower idle step for island then for "stand alone bodys"
just an idea

*David Walters wrote:*
> I have added this patch to SVN (#1125) as I feel that
> it provides a good system for a much better
> quality auto-disabling of bodies...

Thank you!

> NOTE: I have taken the liberty of renaming your new API very slightly:
> I hope you agree :-)

I agree ;-)

> can we discuss
> examples that would make it not a sensible idea to collapse the
> standard auto-disable system into a specialisation of the averaging
> system with a sample size of 1

A good idea!
But, if you create a teeter - trotter, there exist perhaps an average
angular velocity near Zero, but the teeter - trotter has a current
angular velocity higher as it's angular velocity threshold.
If you have chosen a 'idle_step' of 1 the body gets disbled,
but he have to remain enabled!
For sure, an idle_step of 1 is very strange, i prefer 3 - 6 for my tests.
( sorry for bad English :-), but i think you understand me )

Just another idea:
I think in my teeter - trotter example, there is the possibility,
that both average and current velocities are below their threshold.
Bu the body have to remain enabled.
perhaps we could check if a body has only two contact-joints
and check it against a lower threshold.



More information about the ODE mailing list