阻抗控制是一种与力和位置相关的动态控制方法。它通常用于机械手与其环境交互并且力位置关系受到关注的应用中。此类应用的示例包括人类与机器人交互,其中人类产生的力与机器人应该移动/停止的速度有关。当机械手接触时,更简单的控制方法(例如位置控制或扭矩控制)表现不佳。因此,阻抗控制通常用于这些设置。

机械阻抗是力输出与运动输入的比率。这类似于电阻抗,即电压输出与电流输入之比(例如,电阻是电压除以电流)。“弹簧常数”定义了弹簧拉伸或压缩的力输出。“阻尼常数”定义了速度输入的力输出。如果我们控制一个机制的阻抗,我们就是在控制对环境施加的外部运动的阻力。

机械导纳是阻抗的倒数 - 它定义了由力输入产生的运动。如果机制向环境施加力,环境将移动或不移动,具体取决于其属性和所施加的力。例如,放在桌子上的大理石对给定力的反应与漂浮在湖中的圆木的反应截然不同。

该方法背后的关键理论是将环境视为导纳,将机械手视为阻抗。它假设“没有控制器可以使操纵器在环境中看起来像物理系统以外的任何东西”。这个经验法则也可以表述为:“在最常见的情况下,环境是一个导纳(例如一个质量,可能是运动学约束的),该关系应该是一个阻抗、一个函数、可能是非线性的、动态的,甚至是不连续的,指定响应环境施加的运动而产生的力。”

原理

阻抗控制不只是调节机构的力或位置。相反,它一方面调节力和位置之间的关系,另一方面调节速度和加速度之间的关系,即机构的阻抗。它需要一个位置(速度或加速度)作为输入,并有一个合力作为输出。阻抗的倒数是导纳。它强加了立场。所以实际上控制器通过保持力之间的动态关系对机构施加弹簧质量阻尼器行为{\displaystyle ({\boldsymbol {F}})}以及位置、速度和加速度{\displaystyle ({\boldsymbol {x}},{\boldsymbol {v}},{\boldsymbol {a}})}{\displaystyle {\boldsymbol {F}}=M{\boldsymbol {a}}+C{\boldsymbol {v}}+K{\boldsymbol {x}}+{\boldsymbol {f}}+{\boldsymbol { }}}, 和{\displaystyle {\boldsymbol {f}}}是摩擦和{\displaystyle {\boldsymbol {s}}}是静力。

群众({\displaystyle M})和弹簧(有刚度{\displaystyle K}) 是能量储存元件,而阻尼器 (带阻尼{\displaystyle C}) 是一种能量耗散装置。如果我们可以控制阻抗,我们就可以控制交互过程中的能量交换,即正在完成的工作。所以阻抗控制就是交互控制。[2]

请注意,机械系统本质上是多维的 - 典型的机器人手臂可以将物体放置在三个维度({\displaystyle (x,y,z)}坐标)和三个方向(例如滚动,俯仰,偏航)。理论上,阻抗控制器可以使机构表现出多维机械阻抗。例如,该机构可能沿一个轴非常僵硬而沿另一轴非常柔顺。通过补偿机构的运动学和惯性,我们可以在各种坐标系中任意定位这些轴。例如,我们可能会导致机器人零件夹持器在与砂轮相切的方向上非常坚硬,同时在砂轮的径向轴上非常柔顺(控制力而几乎不关心位置)。

阻抗控制用于机器人等应用中,作为向机器人手臂和末端执行器发送命令的一般策略,该策略考虑了被操纵对象的非线性运动学和动力学。