Impedance Control

为了解决交互式机器人控制,Hogan3提出了Impedance Control这个控制方法。本文是对这个控制方法的学习与总结。

根据两个物体相互做功的定义,可以得到以下公式:

dW=FdXd\bold{W}=\bold{F} \bullet d\bold{X}

用上述公式可以推出,当F\bold{F}几乎为零时,说明物体之间几乎没有作用力,也可以说有一个物体十分柔软,因为变形导致没有受力。当dXd\bold{X}几乎为零时,则可以看成有运动约束,此时则可以当做纯粹的力控。这两个情况下,做功的功率变化几乎为零,但是实际情况下这个是基本无法发生的。Hogan3提出了Impedance Control theory来解决这个问题。

在论文1里,Impedance Control 是这么定义的:

“Simplistically, impedance control may be understood as a complex scheme behaving as a second order dynamic system, where the user must decide about the coefficients in the characteristic equation, that defines the system parameters.”

下图就是一个二阶动力系统的简单模型,以及对应的常微分方程。

Mx¨(t)+Bx˙(t)+Kx(t)=Fint(t)M\ddot x(t) + B\dot x(t) + Kx(t) = F_{int}(t)

Screen Shot 2022-10-07 at 18.15.55
为了使机械臂末端实现上述微分方程的运动效果,机械臂关节力矩与输出的关系为:

Tact=I(θ)J1(θ)M1K[X0L(θ)]+S(θ)T_{act} = I(\theta)J^{-1}(\theta)M^{-1}K[\bold{X}_0-L(\theta)] + S(\theta)

+I(θ)J1(θ)M1B[V0J(θ)]+V(ω)+ I(\theta)J^{-1}(\theta)M^{-1}B[V_0- J(\theta)] + V (\omega)

+I(θ)J1(θ)M1FintJt(θ)Fint+ I(\theta)J^{-1}(\theta)M^{-1}F_{int}-J^t(\theta)F_{int}

I(θ)J1(θ)G(θ;ω)+C(θ;ω)-I(\theta)J^{-1}(\theta)G(\theta; \omega) + C(\theta; \omega)

按照论文中所述,根据系统的输入输出来区分Impedance和Admittance:

“Power is defined as the relationship of two elements: effort and flow.”
“Every domain has its own variables for this evaluation, such as velocity and current as flow variables for mechanical and electrical domains, respectively, and force and voltage as effort.”
“If the system is capable of receiving flow as input and imposes an effort as output, it is, by definition, an impedance.”
“On the other hand, if effort is input and flow, output, it is an admittance.”

由速度与力的输入输出关系定义了Impedance和Admittance:输入速度输出力,就是Impedance,输入力输出速度,就是Admittance,因此协作机器人可以看作Impedance,而对于关节有很高减速比的工业机器人,则只能作为Admittance。但是工业机器人通过外接力与力矩传感器,可以间接实现输出力与力矩的控制效果。

算法实现

为了实现工业机器人的Impedance Control,论文里面给出了两种控制算法,分别是基于积分的控制方法与基于离散化的控制方法:

Screen Shot 2022-10-07 at 19.43.04
Screen Shot 2022-10-07 at 19.43.20

第一种方法就是使用一个简单的积分方法求出控制量,而第二个离散方法则考虑了从连续域到离散域的拉普拉斯变换。

这样的控制算法在嵌入式设备或者是上位机中都可以很方便的实现,具有很好的通用性。不过在我看来,由于谐波齿轮与无刷力控电机的成本不断下降,未来可能会更多的采用直接力控的方法驱动机器人,而不需要这样的间接控制的算法。况且在工业机械臂末端安装的力和力矩传感器成本也很高,很有可能之后都可以由协作机械臂代替。

Reference

  1. Understanding the Implementation of Impedance Control in Industrial
    Robots.
  2. On the Implementation and Performance of Impedance Control
    on Position Controlled Robots.
  3. Impedance control: An approach to manipulation: Parts I-III.