“
本期技术干货,我们邀请到了小米机器人实验室工程师任赜宇,和大家分享在机器人力控方法中最为经典的一类控制方法,即阻抗与导纳控制。
”
一、前言
在传统机器人尤其是工业机械臂的应用中,机器人通常都是运行在固定的位置轨迹下,再加上机器人的本体设计多由高强度的铝合金以及高减速比的谐波减速器构成,因此机器人多呈现“冷冰冰的钢铁机器”之感,机器伤人的意外事件也时有发生,如下视频所示。
为了避免上述的意外事件发生,工程师会在机器人的控制器中引入各类力控算法,让机器人运行在固定位置轨迹的同时,能动态地根据外部力调整自己的期望位置与速度,达到“刚中带柔”的运动状态,有效保护人类安全,防止意外发生。这篇文章将会着重介绍机器人力控方法中最为经典的一类控制方法,即阻抗与导纳控制。
二、力控的分类
首先针对机器人的力交互控制,技术上可分为如图1所示的几类:
图1 机械臂力交互控制的主流技术方案分类
图1中用红色标出的技术方案即为当前工程应用中采取的主流方案,即笛卡尔与轴空间中的阻抗与导纳控制,我们首先来简要阐述所列举的其他几类方案是什么以及其未被大范围采用的缺陷在哪里:
>>>> 直接力控:
顾名思义就是针对外力进行直接控制,其核心是通过操作期望力与测量力之间差值的方式实现相应力控,这边其实也就引出了直接力控会遇到的两个主要棘手问题:
期望力的值该怎么给?
在绝大多数的实际应用中,我们都是优先给予机器人位置轨迹的指令,而具体期望力的数值大小是极难直接精确给出的。
举个简单的例子,当人类用手去抓握一些柔软易形变的物体时,我们首先是用手大致包络住物体(位置轨迹),再去施力试探物体的软硬以调整出适合抓握物体的力度(改变位置与力的动态关系),而非在脑海中直接形成一个所施加力的数值大小,实际上人类在对外力的精确定量感知能力是极差的,这也解释了世界上为什么会存在各种秤;
如何获得精确外力的测量?
首先绝大多数业界使用的工业机械臂是不具备高精度力矩传感器的,其次即使是加装力矩传感器的机械臂(如末端六维力的工业臂和关节力传感器的协作臂),如何稳定地获得精确度高、噪声低与通频带宽的外力信号,这对实际的力/力矩传感器提出了极高的要求(成本与可靠性),在实际的工业应用中