Contact Force Optimization (Force Distribution)
接触力优化AdvancedGiven the total force and torque the body needs, solving how much force each foot or finger should contribute.
Contact force optimization, also called force distribution, applies whenever a robot has force at multiple contact points at once — a quadruped standing on four feet, two hands holding a box, or a multi-fingered grasp. A higher-level controller first computes the total force and torque the body needs (together called a wrench), then solves an optimization problem to split it among the contact points. With four feet on the ground, for instance, each foot contributes 3 force components for 12 unknowns total, but the balance equations give only 6 constraints, so there are infinitely many solutions — an objective is added to pick one: stay close to the desired wrench, and keep the forces themselves small. Constraints are added too: tangential force must not exceed the friction coefficient times normal force (the friction cone, commonly linearized into a friction pyramid), normal force must stay within upper and lower bounds, and any foot in the air must have zero force. It's typically a quadratic program solved once per control cycle, with the resulting forces converted to joint torques via the foot Jacobian transpose. It only looks at the current instant; convex MPC extends the same problem across time, and whole-body control further folds in the full dynamics.
ExampleThe BalanceController in MIT Cheetah's open-source code: given desired body linear and angular acceleration, it solves for 12 force components across the 4 feet, subject to a linearized friction cone and per-foot upper/lower bounds on normal force (with the bounds pinned to 0 for any foot in the air), solving with qpOASES and warm-starting from the previous solution; the code comments cite Focchi et al.'s 2016 paper on steep-slope walking as the method's basis.
- Also called
- Force Distribution, Ground Reaction Force Distribution
- Related
- Quadratic Programming · Friction Cone · Friction Pyramid · Ground Reaction Force (GRF) · Convex MPC · Whole-Body Control
- Sources
- MIT Cheetah-Software: BalanceController.cpp(接触力 QP,qpOASES) (Chinese)
Kim et al., Highly Dynamic Quadruped Locomotion via Whole-Body Impulse Control and Model Predictive Control (arXiv:1909.06586)