[ODE] Repositioning a jointed body

John Buehler johnbue at msn.com
Thu Oct 7 10:17:01 MST 2004


I've been having some trouble repositioning a jointed body.  I have a human
figure which I create at the origin, then move to its proper starting
position by using dBodyGetPosition/dBodySetPosition.  Originally, my joints
were kept simple and were all hinges.

To move the figure, I get/set each body's position, and do the same with the
joints.  I don't touch the geoms.  I found that the figure would rocket off
into the distance if I tried that combination.  I then found that not
updating the joint positions would avoid imparting forces to the figure.  So
I stopped updating the joint positions when I manually repositioned the
figure.

Then I switched over to ball joints for some joints on the figure.  Using
the body-only get/set operation, the figure jumps a long way of its own
accord, and the ball joints are all now anchored at their body's origins as
far as I can see.

If I attempt to return to the technique of setting the joint anchors
correctly, the entire figure still rockets off into the distance.

I've attempted to set the force, linear velocity and angular velocity of the
body to zero any time I reposition it (and after any joints have been
repositioned), but to no effect.  Apparently the configuration of bodies and
joints that I've created is not palatable to the simulation, and it is
resulting in energy being imparted.

So how do I go about properly repositioning a jointed figure without side
effects?

JB




More information about the ODE mailing list