8.2 阻抗控制与导纳控制
在传统的工业机器人应用中,位置控制是主流范式,其核心是精确跟踪预编程的轨迹,并假设机器人与环境是隔离的。然而,当机器人需要与环境进行主动的物理交互时,例如装配、打磨、康复训练或人机协作,纯位置控制会暴露出根本性局限。微小的位置误差在刚性接触中会产生巨大的、可能导致损坏的相互作用力。因此,机器人控制需要从“精确轨迹跟踪”范式转向“调节交互动态”范式。阻抗控制与导纳控制是实现这一转变的两种核心且互补的柔顺控制策略,它们的目标不是直接控制位置或力,而是控制机器人末端与环境之间的动态关系——即机械阻抗或机械导纳。
8.2.1 物理交互的挑战与柔顺控制理念
当机器人末端执行器与环境接触时,两者构成一个闭环的动力学系统。环境的动力学特性(通常简化为刚度KeK_eKe、阻尼BeB_eBe和惯性MeM_eMe)是未知或时变的。纯位置控制试图在环境约束下仍维持一个期望位置xdx_dxd,这等价于对环境施加一个高增益的位置源,极易导致力超调或失稳。纯力控制则要求精确控制接触力FFF,但在自由运动阶段无法控制位置。
柔顺控制的核心理念是在机器人和环境之间建立一个期望的、表现良好的动态行为。这种动态行为通常用一个二阶质量-弹簧-阻尼系统来描述,称为目标阻抗模型:
Mde¨+Bde˙+Kde=Fext M_d \ddot{e} + B_d \dot{e} + K_d e = F_{ext}Mde¨+Bde˙+Kde=Fext
其中,e=x−xde = x - x_de=x−xd是位置误差,FextF_{ext}Fext是机器人受到的环境作用力(通常定义为正方向)。MdM_dMd,BdB_dBd,KdK_dKd是期望的惯性、阻尼和刚度矩阵,由设计者指定。该模型定义了外力FextF_{ext}Fext如何引起位置偏差eee的动态响应。
阻抗控制与导纳控制都是为实现这一目标阻抗而设计的,但它们的实现路径和适用场景有本质区别。
8.2.2 阻抗控制
阻抗控制的思路是:将机器人本身改造为一个具有期望阻抗特性的物理系统。它通过力反馈来调节控制器的输出,使机器人表现得像一个被动的、具有特定Md,Bd,KdM_d, B_d, K_dMd,Bd,Kd的机械系统。
8.2.2.1 基于力的阻抗控制
这是最经典和直接的阻抗控制结构。其控制律通常基于计算力矩控制框架,但在外环增加了根据力误差调节目标位置的环节。核心公式为:
- 根据目标阻抗模型计算期望的加速度偏移:
x¨r=x¨d+Md−1[−Bd(x˙−x˙d)−Kd(x−xd)+Fext] \ddot{x}_r = \ddot{x}_d + M_d^{-1} [ -B_d (\dot{x} - \dot{x}_d) - K_d (x - x_d) + F_{ext} ]x¨r=x¨d+Md−1[−Bd(x˙−x˙d)−Kd(x−xd)+Fext]
这里x¨r\ddot{x}_rx¨r