[ODE] LMotor?

Nate W coding at natew.com
Tue Nov 5 17:20:02 2002


While talking off-list with Adam M about motors, I had an idea that I want
to share here, in hopes of elongating Russ' to-do list.

ODE has angular motors, but how about linear motors?  I'd like to be able
to define an 'anchor' body and one to three axes relative to that body,
and then constrain the position of a second body along those axes... sorta
like the angular motors do now, but with position rather than orientation.

The thing I like about this approach to motorization is that AMotors and
LMotors together will allow me to create gaits for walking creatures using
a higher-level "language."  It's basically a way to use ODE's solver to do
reverse kinematics.

For example, rather than commanding the hip to flex 5 degrees, the knee to
bend 10 degrees, and the ankle to flex 5 degrees, the control system could
just attach the foot to the hip via an LMotor and command the foot to move
up a couple inches.

It should allow creature motions to be controlled in a more intuitive way
- and in a way that should still work with little or tuning even if the
creature's limbs get lengthened or shortened or placed at different
angles.  From the user's perspective, it turns the problem of foot or hand
placement from a nonlinear problem with as many variables as there are
joints in the limb, to a linear problem with only as many variables as the
user wants to bother with.

Comments?

Volunteers?  I started trying to implement this myself, but couldn't shake
the feeling that I was getting in way over my head and would have no idea
how to debug what I was writing.  Math is hard. :-)

-- 

Nate Waddoups
Redmond WA USA
http://www.natew.com