机器人部分控制算法
1. WBC - 全身力矩控制
-
核心思想:如前所述,它是一种分层优化的方法。它将任务(如保持平衡、移动手脚、注视目标)按优先级排序,并在满足高优先级任务的前提下,尽可能完成低优先级任务,最终解算出每个关节所需的力矩。
-
特点:
-
输出是关节力矩。
-
基于完整的机器人动力学模型(包含惯性、科里奥利力、重力)。
-
显式地处理多个任务和约束(如接触力不能打滑)。
-
通常是瞬时优化,只求当前时刻的最优解。
-
-
类比:公司的CEO。CEO不直接管具体细节,但负责制定公司战略目标(任务优先级),并协调各个部门(关节)的资源(力矩),以确保首要目标(如生存/盈利)必须达成,次要目标(如员工满意度)尽力达成。
2. VMC - 虚拟模型控制
-
核心思想:这是一种非常直观的控制方法。它让控制工程师通过想象在机器人身上附加“虚拟的”力学元件(如弹簧、阻尼、质点)来定义行为。然后通过计算,将这些虚拟元件产生的力映射到机器人的关节力矩上。
-
特点:
-
输出是关节力矩。
-
概念直观,设计简单,不需要复杂的优化理论。
-
它也基于动力学模型,但更侧重于实现“虚拟组件”所描述的行为。
-
可以看作是WBC的一种特例或一种简单的实现方式。
-
-
例子:想象在机器人的躯干上连接了一根虚拟的弹簧,把它拉向目标位置。计算机需要算出每个关节输出多大扭矩,才能产生等同于那根虚拟弹簧的效果。
-
类比:用乐高搭建。你可以用标准的乐高零件(虚拟弹簧、阻尼器)来构建你想要的整体结构(机器人行为)。
3. LQR - 线性二次调节器
-
核心思想:这是一种最优状态反馈控制方法。它用于将系统从当前状态稳定到一个平衡点(通常是零点)。它寻找一个最优的控制律,使得一个二次型的代价函数(通常权衡状态误差和控制能耗)最小。
-
特点:
-
输出通常是力或力矩,但也可以是其他控制指令。
-
要求系统是线性的,或者在其工作点附近被线性化。
-
是全局最优的(对于线性系统和二次型代价函数而言)。
-
不考虑未来的约束,只根据当前状态计算最优输入。
-
计算出的控制律是一个简单的矩阵乘法,因此非常快。
-
-
应用:常用于平衡控制(如倒立摆、四足机器人的躯干姿态稳定),作为更复杂控制器的底层稳定器。
4. MPC - 模型预测控制
-
核心思想:这是一种滚动时域优化方法。它在每一个控制周期内,基于当前的系统状态,利用模型来预测未来一段时间的系统行为,并求解一个优化问题,以得到一序列最优的控制输入,但只执行第一个,然后在下一个周期重复这个过程。
-
特点:
-
输出可以是位置、速度或力矩指令,非常灵活。
-
显式地处理约束(如关节角度极限、电机扭矩极限),这是其巨大优势。
-
是前馈+反馈的结合,通过预测来“预见”未来,做出更智能的决策。
-
计算量很大,因为需要在线上求解优化问题。
-
-
类比:自动驾驶。司机在过弯时,不会只盯着眼前一米,而是会预测未来几秒的路径,并确保整个路径都在车道内(满足约束),然后只执行第一步的方向盘转动,接着持续重新规划。
-
应用:在机器人中,常用于脚踝位置规划、高速避障等需要“前瞻性”的任务。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)