Slider Joint Stability

Please don't post Bullet support questions here, use the above forums instead.
noone688
Posts: 6
Joined: Fri Sep 10, 2010 2:13 pm

Slider Joint Stability

Post by noone688 »

Hi,

I've implemented a pretty standard PointOnLine constraint in my engine:

C=|(p2-p1)xl| where l is the line normal in world space, p1 and p2 the points on the bodies (also in ws).

The line is fixed on point body1. So d/dt(l) = w_1 x l (w_1 angular is the velocity of body1).

The jacobian (vel1,angVel1,vel2,angVel2) is asymmetric, I think thats correct:

vel1 = -vel2 but
angVel1 != -angVel2

Everything works so far :) - Thanks to Erin for his GDC slides! The problem I have: Adding three of this constraints to two bodies to just allow sliding without any degree of rotation is a bit unstable - the body oscillates a bit and reacts not stiff. I use baumgarte for error correction.

Any ideas of how to get a stable slider joint?
noone688
Posts: 6
Joined: Fri Sep 10, 2010 2:13 pm

Re: Slider Joint Stability

Post by noone688 »

okay, it may be smarter to combine a constraint which locks the angle of both bodies with a point on line constraint to get the effect :) Or to formulate the whole prismatic joint jacobian and create a single constraint.