[ODE] On torque ..
Sergey Kurdakov
k15c20 at zelmail.ru
Sat May 8 01:03:08 MST 2004
Hello Wenzel,
> This function should return the torque which needs to be applied
> to the body in order to rotate the coordinate system onto the new
> forward vector in the given amount of time.
there is an approach to get torque which performs desired rotation. this one I seen in russian here
http://www.gamedev.ru/articles/read.shtml?id=30127&page=1 but I do not think this will suite you as this one does not take time
into account.
another approach is to solve optimal problem of rotation of the body which is usually used in space applications 'optimizing' the
applied torque. the 'optimal ' solution as a rule will consist of three stepts - the first acceleration phase then free rotation
phase then deaccelearation phase. But as you need not achive min 'applied over time'
torque you might to make the following.
to develop a controller which will output desired torque observing rotation of the given body
I suggest to get idea - to
read an article here http://www.ntu.edu.sg/centre/sec/P0609.pdf
and develop a controller ( maybe be even proportional controller will suite but maybe you will prefer PID or maybe fuzzy :)
controller) which for example will keep constant angular vel.
so from desired angular rotation and time you get desired angular rotation speed - then you pass it to controller which outputs
controlling torque...
I might tell that from my experince to keep a desired angular rotation with a controller which outputs desired torque is not a
prob.
Regards
Sergey Kurdakov
----- Original Message -----
From: "Wenzel Jakob" <wenzel at schlund.de>
To: <ode at q12.org>
Sent: Friday, May 07, 2004 11:07 PM
Subject: [ODE] On torque ..
> Hi,
>
> I am implementing a program with several "agents" using simple steering
> algorithms (seek, follow, flee) in 3d space using ODE for
> physics and collision detection. Everything has worked
> quite well so far, but now I am stuck with a problem:
>
> Every body/agent in the simulation has a local coordinate system
> (a forward, up and side vector).
>
> I am trying to write a function which takes
> - a body/agent
> - a new "forward" vector
> - a time value
>
> This function should return the torque which needs to be applied
> to the body in order to rotate the coordinate system onto the new
> forward vector in the given amount of time.
>
> I have spent quite some time messing around with quaternions, but
> haven't come up with something working yet.
>
> Does anybody have some advice?
>
> Thanks in advance,
> Wenzel Jakob
>
>
> _______________________________________________
> ODE mailing list
> ODE at q12.org
> http://q12.org/mailman/listinfo/ode
More information about the ODE
mailing list