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
Force Limited Velocity Constraints: what are they??
-
- Posts: 197
- Joined: Sat Aug 19, 2006 11:52 pm
-
- Posts: 316
- Joined: Fri Jul 01, 2005 5:29 am
- Location: Irvine
Re: Force Limited Velocity Constraints: what are they??
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.
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.
-
- Posts: 197
- Joined: Sat Aug 19, 2006 11:52 pm
Re: Force Limited Velocity Constraints: what are they??
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..
-
- Posts: 44
- Joined: Sun Jan 22, 2006 4:31 am
Re: Force Limited Velocity Constraints: what are they??
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
Sounds interesting

--EK
-
- Posts: 316
- Joined: Fri Jul 01, 2005 5:29 am
- Location: Irvine
Re: Force Limited Velocity Constraints: what are they??
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.
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.
-
- Posts: 231
- Joined: Tue Feb 20, 2007 4:56 pm
Re: Force Limited Velocity Constraints: what are they??
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.
-
- Posts: 197
- Joined: Sat Aug 19, 2006 11:52 pm
Re: Force Limited Velocity Constraints: what are they??
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 

-
- Posts: 231
- Joined: Tue Feb 20, 2007 4:56 pm
Re: Force Limited Velocity Constraints: what are they??
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.