[Opensim-dev] ODE plugin information
Teravus Ovares
teravus at gmail.com
Wed Jun 15 01:50:58 UTC 2011
In ODEPrim, what I can tell you is that m_PIDTau is approximately the number
of seconds that an object will take to arrive at a target described by
llMoveToTarget. PID_G is the gain. PID_D is the derivative factor. This
code does not activate unless llMoveToTarget is activated.
Regards
Teravus
On Tue, Jun 14, 2011 at 8:36 PM, Edoardo Morandi <morandidodo at gmail.com>wrote:
> Hi,
> I would like to develop a bit the ODE plugin, especially in relation to
> torque and rotation methods. But I need a bit of help.
> Everything related to movement use "PID" parameters. I really would like to
> know what are they, how they works and how the default values have been
> chosen.
> I tried to imagine how gain and derivative properties (PID_G and PID_D
> parameters) work, but there's really something I can't understand.
> First: from what's written in ODEPrim.cs at lines 1626-1628 we can say [image:
> %5Cnormalsize%5C%21%5Cvec%7Bv%7D_%7Btarget%7D%20%3D%20%5Cvec%7Bx%7D%20%5Ccdot%20%28G_%7BPID%7D%20-%20%5Ctau_%7BPID%7D%29%20%5Ccdot%20timestep.gif]
> .
> But in physics [image:
> %5Cnormalsize%5C%21%5CDelta%20%5Cvec%7Bv%7D%20%3D%20%7B%20%5CDelta%20%5Cvec%7Bx%7D%20%5Cover%20%7B%5CDelta%20t%7D%20%7D.gif]...
> If timestep is a time variable it would be true that [image:
> %5Cnormalsize%5C%21%5BG_%7BPID%7D%5D%20%3D%20%5B%5Ctau_%7BPID%7D%5D%20%3D%20%5Bs%5D%5E%7B-2%7D%20%3D%20%5BHz%5D%5E2.gif]..
> and that would be quite strange. That's because I need some help
> understanding this code.
> In the same file at lines 1656-1661 we will find that [image:
> %5Cnormalsize%5C%21%5Cvec%7BF%7D%20%3D%20%28%20%5Cvec%7Bv%7D_%7Btarget%7D%20-%20%5Cvec%7Bv%7D%20%29%20%5Ccdot%20D_%7BPID%7D.gif].
> The value will be changed again at lines 1748-1754, becoming [image:
> %5Cnormalsize%5C%21%5Cvec%7BF%7D%20%3D%20%5Cvec%7BF%7D_0%20%2B%20%28%20%5Cvec%7Bv%7D_%7Btarget%7D%20-%20%5Cvec%7Bv%7D%20%29%20%5Ccdot%20D_%7BPID%7D%20%5Ccdot%20m.gif]
> .
> Again, we know that [image:
> %5Cnormalsize%5C%21%5Cvec%7BF%7D%20%3D%20m%20%5Ccdot%20%5Cvec%7Ba%7D%20%3D%20%20m%20%5Ccdot%20%7B%20%7B%20%5CDelta%20%5Cvec%7Bv%7D%20%7D%20%5Cover%20%7B%20%5CDelta%20t%20%7D%20%7D.gif],
> so it would bring to the dimensional equation [image:
> %5Cnormalsize%5C%21%5BD_%7BPID%7D%5D%20%3D%20%5Bs%5D%5E%7B-1%7D%20%3D%20%5BHz%5D.gif]
> .
> I'm not saying that's wrong... try taking a cube and push it inside
> opensim... it works!
> The problem is that I can't implement anything related to rotations since I
> can't understand what's behind these parameters...
>
> Thanks for you support.
> -- dodomorandi
>
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20110614/00371760/attachment-0001.html>
More information about the Opensim-dev
mailing list