[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