一、柔顺控制
所谓的柔顺控制(导纳或者阻抗控制),应该同时必须考虑“干涉碰撞”问题。
这两种控制的基本控制目的,是希望在执行器(例如机器人电机、液压缸)的作用下,将负载移动到绝对位置为的目标位置。但一般在移动的过程中,负载不会顺利移动到
的位置,而是在中途中,会碰到障碍物。这时,柔顺控制(导纳或者阻抗控制)依据算法不同,修正执行器的行为。最终使执行器停止在一个平衡位置。这个平衡位置不等于
。就是说以牺牲位置精度的方式,实现柔性接触(接触力取决于算法),从而对碰撞物体进行保护,反过来也对执行器有所保护。
二、导纳控制
以电液伺服执行器(电液伺服阀控制的液压缸)为例,电机驱动的机器人关节执行器也类似,说明导纳控制的原理
图1 导纳控制原理图
导纳控制原理图如图1所示。图中为负载的当前位置。其余符号在下面的公式中进行说明。图1上部分表示系统的初始状态,下半部分表示液压缸驱动负载触碰到障碍物K(黄色)上,并对其进行了一定程度的挤压。
当不存在导纳控制时,设定运动目标位置为 (注意如果移动到
的位置,将使绿色负载和黄色障碍物碰撞)。凭借液压缸的输出力,本是足以克服障碍物的弹性,驱动绿色负载移动到预设的
的位置。但是这样,可能会造成对障碍物的破坏。如果有了导纳控制,液压缸的目标移动位置就修正为
。这个
,就是根据导纳控制算法计算出来的。
导纳控制器的计算公式为
式中 ——为参考接触力,已知;
——为导纳控制器参数,已知;
——为期望的目标位置、速度和加速度,计算得到。
为了使问题更清晰明确,可以对上式进行简化。当目标位置 不随时间改变时,则有
那么导纳控制器的公式变为
由于均为已知,则上式中只有
为未知数。如果已知
(设定了参考接触力),则可以求解上式微分方程。这个微分方程的解
,是一个时变函数。控制器内部的位置闭环,将驱动执行机构,不断向着这个目标值
逼近。最终稳定在
的位置上。在稳定状态时,控制器的力平衡方程变为
图1的原理图可以整理为图2所示的方框图。
图2 导纳控制原理方框图
其中,对于导纳控制(图2)来说,系统只有一个位置闭环。控制器根据已知的 值,利用导纳控制算法,计算出
。注意,这个
是一个时间序列,将这个时间序列
作为目标值,驱动负载运动,直到
。
导纳控制框图可以花成如图3所示:
图3 导纳控制框图
三、阻抗控制
图4 阻抗控制原理图
阻抗控制的原理图如图4所示。图4上部分表示系统的初始状态,下半部分表示在阻抗控制的作用下,液压缸驱动负载触碰到障碍物K(黄色)上,并对其进行了一定程度的挤压。
阻抗控制的目标,也是希望执行器移动到绝对位置为 的位置。与导纳控制的不同之处在于,阻抗控制形成的是力闭环。另外,与导纳控制不同,阻抗控制将
作为已知值,来计算期望力
。阻抗控制算法的方程式为
式中 ——为阻抗控制的输出期望力,计算得到;
——为当前负载的位置、速度和加速度,已知;
——为期望的位置、速度和加速度,已知。
为了理解起来更加简单和方便,我们假设期望位置不随时间改变时,则有
。则阻抗控制算法的方程式简化为
则根据 (这些均为已知量),可以计算
(期望执行器输出的力)。在控制器中力闭环的作用下,不断进行
和
(接触力)进行比较,将差值驱动执行器运动,形成力闭环。当
时,系统达到了平衡状态。
上图阻抗控制的原理图可以转化为方框图的形式,如图5所示。
图5 阻抗控制原理方框图
对于阻抗控制(图5)来说,可以理解系统为两重闭环。内重为力闭环,外重为阻抗控制闭环。控制器根据 值和阻抗控制算法,计算出执行器修正力控制目标为
,同时检测与被接触物体的接触力
,两种做差值控制负载运动。当
时,进入稳定状态。
导纳控制框图可以化成如图6所示:
图6 阻抗控制框图