[ODE] Controlling an avatar and the use of AMotors

Patrick McColgan patrick at torcinteractive.com
Wed Nov 10 12:09:12 MST 2004


Patrick McColgan wrote:

> My problem now is applying torque to the axis;  The axis are defined 
> relative to body one, if I rotate body one (not the axis of the joint 
> but the body itself) it returns the correct angle difference between 
> the directions.  However if I apply the torque to the axis (as opposed 
> to the body) the body itself turns normally and stops but the second 
> body seems to accumulate the force over time even though I damp the 
> torque and the first body slows to a halt.  I am not using stops, when 
> I do it becomes really strange, any thoughts?

I wrote so much I made a mess of the last part.  Let me clarify:

The axis are unit vectors in the global axis directions set relative to 
body 1, and to my knowledge the angle code I outlined is returning the 
correct angles.  However when I apply a torque to the y or up axis with 
no limits (i.e. default +/- dInfinity) body one moves normally, right 
direction and slows to a stop.  But body 2 accumulates the force 
(doesn't slow) and also in the opposite direction (so perhaps I'm still 
getting something wrong).

Using stops seems strange too, in Euler mode I thought stops acted like 
the minimum and maximum difference in the angles between the two body's 
axis.  i.e. if the HiStop was pi and body 1 was turned to an angle 
greater than pi body 2 would then begin to rotate to keep the angle 
distance at pi.  So in Euler mode when I set the Hi and Lo stops to zero 
the second body followed the first.  In user mode setting the stops to 
zero stops either from moving and setting other values has no effect.

Help?


More information about the ODE mailing list