导纳控制与 PI 控制:力控算法的定位与对比
机械臂末端恒力接触任务(沿工件表面保持法向接触力恒定、人体接触类应用等)的控制链路里,力误差到位置修正之间需要一个「修正器」,两个常见候选是 PI 控制和导纳控制。两者常被混为一谈,实际分属控制理论的两棵树:一个是经典反馈控制家族的线性补偿器,一个是柔顺控制家族的参考模型法。本文讲清两者的定位、原理与工程取舍。
分类定位
名字的来源是电路对偶概念:阻抗是位移进、力出;导纳是力进、位移出。记住输入输出方向,两者的区别就不会混。
PI 控制
无模型的经典线性反馈控制,控制律:
u(t) = Kp·e(t) + Ki·∫₀ᵗ e(τ)dτ - 比例项:当前误差的即时放大响应,提供环路增益
- 积分项:误差历史累积。专业意义由内模原理给出——控制器含积分器(一型系统)时,对常值参考/扰动稳态误差为零
- 频域视角:
Kp + Ki/s是滞后补偿器,抬高低频增益消稳态误差,代价是相位滞后 - 「无模型」指控制律不含被控对象动力学,Kp/Ki 是抽象数,靠整定
- 电机电流环、速度环、过程控制的事实标准,因为这类对象近似一阶惰性环节
导纳控制
间接力控(柔顺控制)的一种,模型基的参考模型型控制。Whitney 1985 的经典分类:直接力控把力当被控量显式闭环;间接力控不闭环力,而是给末端指定期望的机械导纳,让接触力通过这个动态关系被间接塑造。
控制律是求解一个参考模型的动力学方程:
M_d·ẍ + D_d·ẋ + K_d·x = e_f (e_f 为力误差)
传递函数:G(s) = X(s)/E_f(s) = 1/(M_d·s² + D_d·s + K_d) 算法本体:每个控制周期把实测力喂进这个二阶系统,数值积分(欧拉/龙格-库塔)出位置修正,叠加到名义轨迹,交给底层高增益位置环执行。
三个参数的物理意义:
| 参数 | 意义 | 调大的效果 |
|---|---|---|
| M_d 虚拟质量 | 惯性 | 反应变慢,动作更圆润 |
| D_d 阻尼 | 耗能 | 振荡变小,慢而稳 |
| K_d 刚度 | 弹簧硬度 | 稳态让位变小,纠偏更硬 |
与阻抗控制的专业分界在实现层级:阻抗控制基于机器人逆动力学在关节力矩层实现,需要力矩接口;导纳控制在位置指令层实现,位置接口即可。工业臂(CANopen/EtherCAT 位置模式)天然只能走导纳这条路。
稳定性经验:环境接触刚度与期望导纳的乘积构成环路增益。刚性环境对阻抗控制危险(力矩级硬碰硬),对导纳控制友好(内层位置环本身是硬的);软环境则导纳要调得软才有力响应。
两者作为算法的真正区别
插在同一个槽位(力误差 → 位置修正)时的差异:
| 维度 | PI | 导纳 |
|---|---|---|
| 算法性质 | 无模型线性补偿器 | 参考模型(二阶滤波器),模型基 |
| 参数意义 | 抽象增益,整定出来 | 物理量纲(kg、N·s/m、N/m),按期望动力学设计 |
| 稳态力误差 | 零(积分器保证) | 非零,e_ss = K_d·Δx |
| 动态行为 | 滞后特性,需 anti-windup | 有惯性有阻尼,过渡是物理系统的样子 |
稳态误差那一行最要紧:纯导纳对恒定目标力有原理性稳态偏差——虚拟弹簧要维持输出就必须一直顶着误差;PI 的积分器能压到零。所以工业实现常混用:导纳结构管动态品质,内部挂一个慢积分器管稳态精度(或外环 PI、内环导纳的串级)。
落到恒力任务
- 控制方式必须是闭环:每周期实测力、与目标比较、误差决定位置修正。开环(事先标定「压 5mm ≈ 10N」)在软体、软硬不均、形变的表面上不成立——同样下压量每次产生的力都不同
- 软环境(假人、人体等柔性对象)对位置式力控友好:环路增益低、稳定裕度大,增益好调
- 底层运动规划器兜底的是速度/加速度约束,不是力——力的闭环在应用进程自己手里,两层保护各管各的
- 工程建议:修正器按导纳结构写(参数有物理直觉,现场按「太冲加阻尼、太软加刚度」调),参数退化起步等价于 PI,后续按需要加慢积分拿零稳态误差
要点
- PI 是经典反馈控制家族的线性补偿器,核心资产是积分器(零稳态误差);导纳是柔顺控制家族的参考模型法,核心资产是参数的物理意义
- 记住方向:阻抗 = 位移→力(力矩接口),导纳 = 力→位移(位置接口)
- 位置接口的工业臂做力控,导纳是自然选择
- 纯导纳恒力有稳态偏差,工业方案是导纳 + 慢积分的混合结构
- 软环境让位置式力控稳定裕度变大,这是人体接触类应用选这套方案的物理依据