[ODE] Inverse Kinematics

Chunky Kibbles chunky at icculus.org
Fri Dec 10 21:10:21 MST 2004


On Fri, Dec 10, 2004 at 11:36:05PM -0200, Proyecto de Grado - Construcci?n de Robots B?pedos wrote:
> Hello,
> 
>    We are using ODE for IK. We are working on a biped robot for our degree 
> thesis and we also have a walking biped simulated with ODE. What we do when 
> we want to know angles for a specific foot position/rotation is adding a 
> fixed joint between the trunk and the world and another fixed joint between 
> each foot and the world. We then destroy the joint for one foot and move it 
> a little, create the joint again and then let the simulation adjust to it. 
> Something important is puting a stop to the knee so it doesn't extend 
> completely, this trick is used with other IK programs too, it helps the 
> program to find out what to do. I hope it helps...

Good idea, I'll try that too.

Currently, I'm doing it by applying forces something akin to:

// xblah, yblah, zblah are the position I /want/ it to be in.
// f is an adjustable force modifier that I can play with.
currpos = dBodyGetPosition(handl);
force[0] = f * (xblah - currpos[0]);
force[1] = f * (yblah - currpos[1]);
force[2] = f * (zblah - currpos[2]);
dBodyAddForce(handl, force[0], force[1], force[2]);


ie, apply a force in the direction I need it to go, with a force
multiplier that I can adjust.

I guess that the joint ERP figure as you use it is roughly similar to
my force modifier.

Gary (-;


More information about the ODE mailing list