Force Limited Velocity Constraints: what are they??

Please don't post Bullet support questions here, use the above forums instead.
Post Reply
raigan2
Posts: 212
Joined: Sat Aug 19, 2006 11:52 pm

Force Limited Velocity Constraints: what are they??

Post by raigan2 »

hi,
I came across this term in the paper "Facilitating Controller Evolution in Morpho-functional-Machines -- A Bipedal Case Study" (by Torsten Reil/NaturalMotion). In the paper they claim that Force Limited Velocity Constraints can be used as a replacement for PID controllers, and that the former are more robust than the latter as well as being able to cope with different loads (while typically you need different sets of PID constants, or procedural adjustment of the constants, to get good behaviour across a range of loads).

Sadly the paper doesn't explain at all what FLVCs are, or how they're modeled, and doesn't provide any references! They were using MathEngine, and the only hits google was able to find are from KarmaUserGuide.pdf -- in the glossary entry for "Constraint", it says that an inequality condition could be used "to impose motion in a joint by applying a
force limited velocity constraint which is used to model a motor". This isn't helpful.

Basically I'm curious about this because we're currently using PD controllers to set motor velocities, and it's been difficult to get good behaviour (stable without oscillations) across a wide range of situations/loads. Does anyone have any ideas about what sort of practice/technique/idea they're referring to? It seems like the terminology FLVC is MathEngine-specific.

thanks,
raigan
Erin Catto
Posts: 324
Joined: Fri Jul 01, 2005 5:29 am
Location: Irvine
Contact:

Re: Force Limited Velocity Constraints: what are they??

Post by Erin Catto »

I talk about force limited velocity constraints (aka motors) in my GDC'07 slides:
http://www.gphysics.com/files/GDC2007_ErinCatto.zip

You can also find these implemented in Box2D:
http://www.box2d.org

The basic idea is that you specify a joint velocity (like rate of rotation) and a maximum force(torque). The constraint solver tries to achieve the specified velocity until the maximum force is exceeded.

You can view friction as a motor with a target velocity of zero and the maximum force comes from Coulomb's law.
raigan2
Posts: 212
Joined: Sat Aug 19, 2006 11:52 pm

Re: Force Limited Velocity Constraints: what are they??

Post by raigan2 »

That makes sense -- I was confused because you'd still need a PD controller to drive the target velocities, so I don't see how motors eliminates the need for a controller. I guess in the case of that paper they're proposing to hook the neural net directly to the target velocities? I didn't consider this as everyone else always uses PD controllers between their actual control system and the simulated body..
Eternl Knight
Posts: 58
Joined: Sun Jan 22, 2006 4:31 am

Re: Force Limited Velocity Constraints: what are they??

Post by Eternl Knight »

Intuitively, that kinda makes sense. When you think of moving your leg, you think of the speed you WANT it to move. Which is why you will stumble/trip/whatever when something impedes the "expected velocity" of your foot.

Sounds interesting :)

--EK
Erin Catto
Posts: 324
Joined: Fri Jul 01, 2005 5:29 am
Location: Irvine
Contact:

Re: Force Limited Velocity Constraints: what are they??

Post by Erin Catto »

A motor solved as a constraint is much more stable than a PD controller. Large P and D values can lead to stiff differential equations.

You can make the target velocity the difference between the actual and target positions, using some Baumgarte factor. If you include constraint softness (CFM in ODE speak), then you can mimic any positive P and D values with a stable result. You can think of the constraint solver as performing implicity integration of the PD controller.
bone
Posts: 235
Joined: Tue Feb 20, 2007 4:56 pm

Re: Force Limited Velocity Constraints: what are they??

Post by bone »

Just to clarify, what does P and D stand for? I thought PID means proportional-integral-derivative, but then you guys are also just saying PD sometimes. And then Erin says values of P and D ... sounds a bit like spring and damper but I'm not clear.
raigan2
Posts: 212
Joined: Sat Aug 19, 2006 11:52 pm

Re: Force Limited Velocity Constraints: what are they??

Post by raigan2 »

You're right, PD is spring and damper (proportional and derivative); in the paper I mentioned they were using PID controllers, I've only used PD. I don't think that constraints could be used to emulate the "I" term, I guess this is glossed over in the paper ;)
bone
Posts: 235
Joined: Tue Feb 20, 2007 4:56 pm

Re: Force Limited Velocity Constraints: what are they??

Post by bone »

Thanks. Yeah, I understood it better after visiting http://en.wikipedia.org/wiki/PID_controller, and why the I or other letters can be dropped.
Post Reply