[ODE] Ragdoll characters with ODE

Adam Paul Coates acoates at stanford.edu
Fri Aug 8 10:51:02 2003


  Genetic algorithms are nice if you can make them work;  but they're
-very- slow to converge.  Depending on what you use it for, having a
character learn to walk on its own is no better than using mo-cap data.
On the other hand, if you can develop a scheme which outputs the desired
velocities for the legs/arms given, say, a simple vector which describes
the direction to walk (and how fast) as well as a small state vector
describing the current position of the limbs and the direction of the
body, then you'd have something!  I don't know what they're doing
specifically, but there are lots of other solutions to this.  GAs are
based on the assumption that "after a while" the "surviving" code will do
something useful.  This is particularly cool if you don't have any idea
what that "something useful" is going to be.  But if you know what the
right thing to do is (and how to define this for walking doesn't seem easy
to me, but I suspect it can be hacked) then you could certainly formulate
a way to have a computer iteratively develop the correct parameters for
walking that would do "the right thing".  I don't know what approach would
work best, but depending on the formulation (and how you want to use it),
policy/value iteration, simple search, even linear regression or neural
nets can get you pretty close.  In a class project last year, we "taught"
an airplane to fly itself in a knife-edge, etc. using neural nets -- but
any of these algorithms can be hacked to do something similar with varying
degrees of ease and accuracy.

	In short, yes I think for simple purposes it could be done in ODE
now if you just want animation (if you want fully physical modeling
[including balancing on the balls of feet in mid-stride] it might be tough
-- at least it sounds tough to me :) )  The --really-- great/horrible
thing about most of these algorithms (and you could adapt GAs to do this)
is that they usually give you a fat lookup-table that defines exactly what
output to use for a given input.  i.e., current state goes in --> joint
velocities come out.  Very very easy to implement, and very very fast at
runtime.  The trouble, of course, is designing the character model and
then coming up with this table, which for a large input space [e.g., if
your input is the state of every joint] your table will be -huge-;
squashing everything down buys memory at the cost of accuracy. :| If
anyone is looking into this seriously, I'd be interested in chatting more
with you -- at least with the eye on developing a sufficiently 'correct'
model of a human limb system on which to test learning algorithms.

TTYL,
Adam C.

On Fri, 8 Aug 2003, Chris Gregan wrote:

> These guys have developed a system using genetic algorithms to allow a
> character to learn how to walk by itself over several generations.
> Interesting stuff, I wonder will we be seeing this in games in a few years?
> Could something like it be done with ODE now?
>
> The article...
> http://www.discover.com/aug_03/feattech.html
>
> Check out the movie on this page...
> http://www.naturalmotion.com/pages/technology_hiw.htm
>
>
> Chris
>
> ----- Original Message -----
> From: "Martin C. Martin" <martin@metahuman.org>
> To: "Nate W" <coding@natew.com>
> Cc: <ode@q12.org>
> Sent: Friday, August 08, 2003 4:18 AM
> Subject: Re: [ODE] Ragdoll characters with ODE
>
>
> > Wouldn't be all that hard if you use a "virtual walker" approach, although
> > it might not look too natural.
> >
> > - Martin
> >
> > Nate W wrote:
> > >
> > > On Thu, 7 Aug 2003, Ivan Bolcina wrote:
> > >
> > > > How stable are ragdolls? Do you think you could teach them to walk
> > > > that way also. I mean, command them some isolated action, lets say,
> > > > rise right leg, and the AI would keep the rest of body in balance.
> > >
> > > This is the problem that got me interested in ODE, and I'm sure that's
> > > true for many other people here as well.  It is a challenging problem,
> one
> > > that many people are working on solving in many different ways in
> research
> > > projects around the world.  When someone posts a video of a creature
> > > walking in an ODE universe, we all cheer. :-)
> > >
> > > --
> > >
> > > Nate Waddoups
> > > Redmond WA USA
> > > http://www.natew.com
> > >
> > > _______________________________________________
> > > ODE mailing list
> > > ODE@q12.org
> > > http://q12.org/mailman/listinfo/ode
> > _______________________________________________
> > ODE mailing list
> > ODE@q12.org
> > http://q12.org/mailman/listinfo/ode
> >
>
> _______________________________________________
> ODE mailing list
> ODE@q12.org
> http://q12.org/mailman/listinfo/ode
>