[ODE] Self Righting Boxes (on castors)
Ed Jones
ed.jones at oracle.com
Thu Oct 31 11:05:02 2002
Thanks for the ideas Nate and Fil,
I think I'll go for a big comedy magnet, attached to helicopter
rotor-blades (or possibly a jet-pack or something) to hover around and
pull them back up.
Cheers,
Ed.
Nate W wrote:
>On Wed, 30 Oct 2002, Ed Jones wrote:
>
>
>
>>The "castorbox people" fall over quite regularly, which is fine and all
>>part of the "fun". But what I'd like to do is, after a couple of seconds
>>of lying down, get them to spring back up to their feet of their own
>>accord. Obviously I can just reset the little fella to be the right way
>>up but I'd like it to look more like they're jumping back up themselves.
>>
>>Anyone got any ideas of what would be a good (and preferably simple!)
>>way to achieve this?
>>
>>
>
>How about using an angular motor?
>http://q12.org/ode/ode-latest-userguide.html#ref56
>
>Set the motor to have one axis, and set one of the motor's bodies to the
>"castorperson" body and set the other to null. Use dJointSetAMotorParam
>to set a desired (angular) velocity. That should rotate the person
>upright.
>
>To come up with a desired velocity, get the angle between the person's
>current orientation and the desired "upright" vector. Multiply that angle
>by a "gain" factor. To tune the way the people get upright, you can tune
>the gain, the maximum force, the people's mass, gravity, etc. When the
>person's angular velocity gets close to zero, you can probably consider
>them upright and turn off the angular motor.
>
>I haven't actually used angular motors yet in my own code, so this is as
>much a question as a suggestion. If anyone has other ideas I'm all ears.
>
>
>