[ODE] Featherstone vs ODE for large-scale ALife project

jon klein jklein at artificial.com
Thu Sep 4 07:33:01 2003


On Thursday, September 4, 2003, at 06:54  AM, drvdo@free.fr wrote:

> I am currently involved in a large project that involves a long-time
> simulation of a large number of articulated animats, living together 
> and
> interacting in an open space.

> My options are the following:
>
> - Rewriting a physics simulator using the Featherstone algorithm 
> (sounds a bit
> frightening)

I have an implementation of the Featherstone algorithm I wrote which 
I'd be
happy to share with anybody who's interested.  It probably needs some 
work,
but it works pretty well.

> My most important question is: Are Featherstone-based method adapted 
> for this
> task ? Are they really more stable or faster, and is it worth the 
> effort ? In
> particular, does the need to implement contacts (between animats, or 
> between
> animats and the ground) imply "tricks and hacks" that reduce the
> attractiveness of Featherstone's algorithm ?

Myself, I moved to ODE from Featherstone a while back for this type of 
work
without any problems at all (http://www.spiderland.org/breve).  
Although a
lot of people maintain that Featherstone is much better for this kind of
thing, I've seen a lot of counter-examples, including several projects 
using
ODE that have been discussed on this list.

> (From what I understood, FSTN is
> essentially about articulated bodies only, and might not natively 
> allow for
> inter-part contact or resting contact on the ground or on each other)

This is true of the basic algorithm itself, but there are extensions to
the algorithm which allow for the simulation of collision impulses from
the environment or from other parts of the body.

Brian Mirtich's thesis explains these algorithms, and also how 
Featherstone
can be used to simulated resting contact:
	http://www.cs.berkeley.edu/~jfc/mirtich/impulse.html


All in all, I think you'll find that the implementation/debugging time 
for
the Featherstone algorithm will outweigh any possible benefits.  It's
probably best to start with ODE (since it's already ready-to-use) and 
see
if it works before making the leap to Featherstone.

- jon