经典控制与柔顺控制

核心 运动与控制 kp-203 PID阻抗控制柔顺力控

一句话定义

经典控制(PID、计算力矩)让机器人"精确到达指定位置",柔顺控制(阻抗/导纳)让机器人"像弹簧一样与世界的接触相处"——操作任务一半靠后者。

为什么重要

  • 自由空间运动用位置控制即可;但接触任务(插孔、擦拭、装配、递物)中位置的微小误差就是巨大的接触力误差,纯位置控制必然硬碰硬卡死。
  • 阻抗控制是协作机器人(Franka、UR、KUKA iiwa)产品的灵魂,也是 RL/VLA 策略真机部署时的底层安全网。
  • 它回答了具身智能一个深刻问题:不确定性可以用物理柔顺性吸收,不必全部靠感知与计算消除。

前置知识

kp-201(动力学、雅可比)、基础反馈控制。

核心概念

PID 控制:误差的比例、积分、微分加权成控制量

$$u(t) = K_p e(t) + K_i \int e\,dt + K_d \dot{e}(t)$$

$K_p$ 决定刚度、$K_d$ 阻尼抑制振荡、$K_i$ 消稳态误差(但易饱和需抗积分饱和)。关节伺服层的事实标准(kp-003 的 1000 Hz 层)。

计算力矩控制:用动力学模型前馈抵消 $\mathbf{M}\ddot{\mathbf{q}}+\mathbf{C}\dot{\mathbf{q}}+\mathbf{g}$,把非线性系统线性化再套 PID——模型准则性能极好,模型差则放大误差。

阻抗控制(Impedance Control, Hogan 1985):不做"力=指令",而是调节"位置误差 → 力"的动态关系,让末端表现为质量-弹簧-阻尼系统:

$$\mathbf{F} = \mathbf{M}_d \ddot{\mathbf{e}} + \mathbf{D}_d \dot{\mathbf{e}} + \mathbf{K}_d \mathbf{e}$$

调 $\mathbf{K}_d$(刚度)与 $\mathbf{D}_d$(阻尼)即可"捏软捏硬":刚度低 = 顺从安全,刚度高 = 精确有力。

导纳控制(Admittance):反向操作——测到外力 $\mathbf{F}$,按导纳模型算出位置修正量 $\mathbf{x}_{cmd} = \mathbf{Y}(s)\mathbf{F}$。适合刚性位置控制的机器人(如多数工业臂),代价是需要力传感器且带宽略低。

混合位置/力控制(Raibert & Craig 1981):任务空间分解成"位置控制子空间 + 力控制子空间"(擦玻璃:法向控力、切向控位)。

原理与机制

为什么位置控制在接触中失效:位置误差 $\delta$ 在刚性接触下产生力 $K_{env}\delta$($K_{env}$ 为环境刚度,金属可达极高)。误差 1mm 就可能是数百牛——系统要么弹飞要么烧电机。阻抗控制把末端"变成弹簧",接触力被限制在 $K_d \cdot \delta_{des}$ 内,物理上即安全。

实现要点:

  • 阻抗控制需要力矩接口(电流环级别)与较好动力学模型(重力补偿必需);Franka 提供的 torque interface 就是为它设计的。
  • 无力矩接口的机器人走导纳路线:外置力传感器 + 位置指令修正。
  • 稳定性:接触环境的刚度参与闭环,$\mathbf{D}_d$ 不足会在硬接触上振荡——调参需考虑最硬接触场景。

公式与图示

位置控制: x_des ─► [控制器] ─► τ ─► [机器人+环境] ─► x     (命令位置)
阻抗控制: x_des ─► (x_des - x) ─► 阻抗律 ─► τ ─► 机器人   (命令"刚度与阻尼")
导纳控制: F_sensor ─► 导纳模型 ─► x_cmd ─► [位置控制器]   (测力改位置)

直觉对比:阻抗控制像"把手臂变成弹簧",导纳控制像"被推了就让一让"。前者无传感器也能做(靠模型),后者必须有力觉(kp-104)。

直观类比

  • 握手:对方用力你顺势回一点(低刚度),用力过猛你会往回顶(刚度上限)——人在社交接触中就在实时调阻抗。
  • 穿针引线:硬怼是位置控制思路;拿线头在孔口轻蹭、感受到阻力的方向再微调(导纳),才是真的穿法。机器人的 peg-in-hole 同理。

实例与案例

  • 协作机器人产品:UR 的力控模式、Franka 的 Cartesian impedance interface 均为阻抗控制商用化代表;拖动示教(hand-guiding)本质是零刚度阻抗模式。
  • 精密装配:插销任务标准做法——粗定位(视觉)+ 螺旋搜索 + 恒定小下压力(阻抗),成功率远高于精确位置控制。
  • 与学习方法的结合:RL 策略输出目标刚度/目标位姿,阻抗控制器作为底层执行——学习负责"何时软何时硬",物理层保证接触安全。许多 VLA 精细任务部署同样依赖这层。

常见误区

  • 误区一:阻抗=力控传感器。阻抗控制可以零传感器实现(基于模型);力传感器只是让它更准(kp-104)。
  • 误区二:阻抗控制万能。需要高带宽力矩接口与准确模型;在廉价减速臂上实现效果差,此时导纳控制更现实。
  • 误区三:刚度越高越"控制得好"。自由空间中刚度高精度好,接触空间中刚度过高等于回到位置控制的老坑。刚度的选择是任务设计,不是默认最大。

自测题

  1. 推导或论证:为什么位置控制的机器人在刚性接触下会产生巨大接触力?
  2. 阻抗控制与导纳控制的本质区别是什么?各需要什么硬件前提?
  3. 设计擦玻璃任务的混合控制策略:哪个方向控力、哪个方向控位、为什么?

与其他知识点的关系

  • kp-104 触觉力觉:导纳与混合控制的传感输入。
  • kp-205 MPC:接触约束下的预测控制是其现代扩展(接触隐式 MPC)。
  • kp-501 执行器:准直驱的可反向驱动性是高带宽阻抗的硬件基础。

延伸阅读

  • Hogan, N., Impedance Control: An Approach to Manipulation, J. Dyn. Sys. 1985(三篇系列)。
  • Siciliano & Villani, Robot Force Control, 1999。
  • Franka 控制接口文档(Cartesian impedance 实现参考)。

本节引用来源

  • Hogan, Impedance Control, 1985
  • Raibert & Craig, Hybrid Position/Force Control, 1981