接触力优化
Contact Force Optimization (Force Distribution)进阶已知机身需要的总力和力矩,求每只脚或每根手指各出多大力。
接触力优化也叫力分配:机器人同时有多个接触点受力时(四足站立、双手抱箱、多指抓取),先由上层控制器算出机身需要的总力和总力矩(合称力旋量),再解一个优化问题把它分给各接触点。以四脚着地为例,每只脚 3 个力分量共 12 个未知数,平衡方程只有 6 个,解有无穷多组,所以要加目标来挑:尽量贴合期望力旋量、力尽量小;同时满足约束:切向力不超过摩擦系数乘法向力(摩擦锥,常线性化成摩擦金字塔)、法向力在上下限之间、腾空脚的力为零。它通常是每个控制周期解一次的二次规划,解出的力再经足端雅可比转置换成关节力矩。它只看当前一瞬间;凸 MPC 相当于把同一问题沿时间展开,全身控制则进一步纳入完整动力学。
例子MIT Cheetah 开源代码里的 BalanceController:给定期望的机身线加速度和角加速度,求 4 只脚共 12 个力分量,约束是线性化的摩擦锥和每只脚的法向力上下限(腾空脚上下限直接设为 0),用 qpOASES 求解并用上一次的解热启动;文件注释写明方法参考了 Focchi 等人 2016 年关于陡坡行走的论文。
- 也叫
- 力分配、地面反力分配、接触力分配、Force Distribution、Ground Reaction Force Distribution
- 相关
- 二次规划、摩擦锥、摩擦金字塔、地面反作用力、凸 MPC、全身控制
- 来源
- MIT Cheetah-Software: BalanceController.cpp(接触力 QP,qpOASES)
Kim et al., Highly Dynamic Quadruped Locomotion via Whole-Body Impulse Control and Model Predictive Control (arXiv:1909.06586)