[ODE] 6DOF Positioning of Objects

Jon Watte (ODE) hplus-ode at mindcontrol.org
Thu Oct 18 12:30:47 MST 2007

Pet peeve: Euler angles don't have Gimball lock; only people thinking 
about 3D rotations suffer Gimball lock :-)

Anyway, I would recommend manually adding forces and torques to the 
simulated hand to track the movement, instead of trying to do it with 
joints. Just implement a typical PID controller that, based on forward 
extrapolation from the current position and velocity, tries to apply 
force and torque to get the body in the right position for the next 
step, ignoring joints. This is likely to work just fine, as long as 
movements between two frames aren't too abrupt (which they likely won't 
be with a glove). Another approach would be to run an IK solver, and 
apply force and torque based on the output of that, but that's probably 
overkill for your needs.

The biggest problem, of course, will be that there may be limitations in 
the simulated world, which the hand in the real world won't feel or be 
constrained by, unless you also have a good haptics system.


             / h+

Rene Weller wrote:
> Hello,
> and thanks for answering my last stupid question, even if 
> it turned out that it was a bug in my application (when 
> rotating > pi).
> However, I just have another problem: I want to use a 
> tracker in combination with a cyberglove. Thus, the 
> position and orientation of a virtual hand should be 
> controlled by the tracker, and the movement of the fingers 
> by the glove. When I directly set the position and 
> orientation of the palm from the tracker input, the joints 
> of the fingers that are connected to the palm, go crazy. 
> So I tried to use joints instead of setting the 
> orientation of the palm directly. Therefore I used 3 
> slider joints to control the position and 3 hinge joints 
> for the orientation. But using euler-angles for the hinge 
> joints results in singularities. So it would be better to 
> use quaternions for the orientation.
> So my question: Is it possible to control the orientation 
> of a ball joint or a motor via quaternions? I couldn`t 
> find something like that in the documentation.
> Or am I completley wrong and there exists an far easier 
> way for a 6 DOF control for a moving hand?
> Thanks in advance,
> Rene
> _______________________________________________
> ODE mailing list
> ODE at ode.org
> http://ode.org/mailman/listinfo/ode

More information about the ODE mailing list