深谷技术 | 主动柔顺控制——阻抗与导纳控制理解

发布日期:2022-12-15 浏览次数:3268

       柔顺控制概念对于理解阻抗/导纳控制非常重要,所以先介绍一下柔顺控制。首先大家要明确一点,位置控制是有局限性的,在位置精度需求很高且环境刚度很大的情况下会出问题,为什么呢?因为位置一旦有偏差,环境的刚度很大,再加上机器人本身极大的刚度,硬碰硬,两者之间会产生很大的力,这不论对机器人还是环境都会带来很大的损伤。柔顺控制的实现方法应该是多种多样的,比如要接受的阻抗导纳控制。


       柔顺控制光看名字就能想象出来了,机械臂正在移动,如果突然来了一个外力,机器人将顺着这个外力运动,外力撤销之后,再回复到之前的状态。就像一个人突然被推了一下,人会产生一个惯性运动,这叫做柔顺。


       普通的位置控制,是控制机器人末端到指定的地点,这种控制是说一不二的,让机械臂向前运动1cm,就是运动1cm,没有商量的余地。这种控制在涉及到接触作业时就会产生麻烦,因为现实环境是充满各种误差的,位置上很小的误差,经过大刚度的放大会产生很大的接触力。例如,一个作业需要机器人向前1cm接触到前方固定的玻璃板,我们假设机械臂的刚度无限大。然而,因为各种误差,钢板与机器人的实际距离其实是0.9cm,可机器人还是会到1cm的位置,这时你最好希望这块玻璃不太贵,因为它以及在劫难逃了。



被动柔顺控制

       在机械臂末端加一个六自由度的弹簧不久解决了?让机械臂末端具有有限的刚度,位置误差就只会产生比较小的力,不久迎刃而解了吗?


       这种方法就叫被动柔顺控制。通过弹簧,阻尼等机构,让机器人拥有顺从自然环境的能力。但这样做有一个巨大的问题,就是精度低。机械臂拥有复杂的结构,有非线性的摩擦力、传动间隙等等,导致期望刚度无法精确获得。这样,就无法精确地由位置信息得到接触力信息或由力信息得到位置信息了。


阻抗控制

       主动柔顺控制又分为阻抗控制、导纳控制和混合力位控制。阻抗控制,严谨地说,就是把控制器等效为阻抗系统,输入位置输出力,机器人等效为导纳系统,输入力输出位置。所以,阻抗控制需要我们能够获取位置信息,并且能控制机器人的关节力矩。


       依然用我们刚才那个碰玻璃的例子,采用阻抗控制的话,我们并不指定机器人末端的位置,而是让机器人末端产生一个力Fr,这个力Fr是这么算的:


      其中, X表示编码器得到的关节位置计算出的末端执行器实际位置;X r 表示参考位置(1m,0m/s,0m/s2);K d , B d , M d是用户自己设定的阻抗参数。要注意,这三个参数并不代表机器人模型的刚度阻尼质量,而是用户自己设定的力和位置之间的关系。


      这么做的意义在哪里呢?假设,想运动1cm的机械臂撞到了0.9cm处的玻璃,此时玻璃会对机器人产生一个末端接触力 F e,这个力抵消会 F r 的作用,让机械臂逐渐不再往前运动。平衡状态下, F r = F e ,机器人也会停在0.9cm多一点点的位置。其 X 与 X r 始终有一段距离,用来产生力 F r 。


问题解决了!我们的玻璃保住了,我们也能通过下式:


        精确地知道机器人的位置和末端受力。而阻抗控制的用户们要做的,就是仔细选择 K d , B d , M d的值,使其呈现想要的特性。

       当然 ,阻抗控制不止这一种用法。更多时候,我们想让机械臂与墙维持一个恒定的力F d ,即跟踪期望力 F d,这时,用 E = F e − F d 来代替 F e,就可以实现力的跟踪。



导纳控制

       导纳控制是阻抗控制的反过程,把控制器等效为导纳系统,输入力输出位置,机器人等效为阻抗系统,输入位置输出力。但它们的目的都是一样的,即不希望把玻璃撞破。导纳控制需要我们能获取力信息(因此常需要在末端加力传感器),且能控制机器人的关节位置(这个基本都可以)。


      导纳控制的公式与阻抗控制相同,不过未知量不同,如下:

       在导纳控制中,已知量为接触力 F e,未知量为 X 。注意这里的 X 既是真实位置 X ,又是发送给机器人的期望位置 X d,也就是说在导纳控制里我们假设位置控制是没有误差的,指哪打哪。通过上述公式计算出 X 之后发送给机器人,就实现了柔顺控制。


       依然以机器人撞玻璃为例,初始时 F e 为0,故给机器人发送的 X 等于 X r也就是1cm。运动过程中,机械臂碰到玻璃, F e增大, X随之减小,直到最后停在玻璃前一点点的位置。控制图如下:



      以上是对于阻抗导纳控制概念的介绍,通过一个简单易于理解的例子,介绍了阻抗和导纳控制的应用场景和作用,并介绍了阻抗导纳控制律中参数的含义和作用,相信通过上述介绍,能够帮助大家更好的理解阻抗导纳控制,在之后的学习中能够通过理论与实际的联系更好的掌握主动柔顺控制。