[ODE] ODE & Motion Sensors & Haptics??
Nate W
coding at natew.com
Sun Nov 23 09:15:46 MST 2003
On Sun, 23 Nov 2003, Manohar B.S wrote:
> I am doing exactly that way. I am not getting huge
> vibrations though, but when the position of the body
> being dragged and the cursor point comes very close
> then I have the problem high freqency & low amplitude
> vibrations.
Oscillation is usually (maybe always) an indication that a feedback loop
has too much gain or not enough damping. There are two feeback loops
here, one between the cursor and body, one between the body and
force-feedback. So here's some things I would try:
> F_Drag = K_Spring * (Cursor_Pos - Body_Pos);
Try a smaller K_Spring. This would slow the rate at which the body
approaches or follows the cursor, so you might have to compromise between
stability and that sort of latency.
> F_Drag += K_Damp * (Cursor_Vel - BodyVel);
Try using -=, just to be sure there isn't a sign error here. Changing the
sign will probably either help a lot or hurt a lot, so it should be easy
> F_ForceFeedback_To_ExternaDevice = -F_Drag;
Try reducing this force, for example with a Gain_Reduction_Factor
of 0.3 or 0.7 or something:
> F_ForceFeedback_To_ExternaDevice = -F_Drag * Gain_Reduction_Factor;
You might also try:
F_ForceFeedback_To_ExternaDevice += K_Damp * (Cursor_Vel - BodyVel);
And again, try changing += to -= and see if that helps or hurts.
> Due to the spring & mass system, I feel damping when
> I change the cursor position with my hand, which is
> also not accepted.
If you are simulating a spring-damper connection between your hand and the
mass, this sounds like a desirable result. Why isn't it?
--
Nate Waddoups
Redmond WA USA
http://www.natew.com/
More information about the ODE
mailing list