来源:https://zhuanlan.zhihu.com/p/579775116
一提到柔顺控制技术,即便不是做机械臂控制的专业人员,也能想到一些名词:力传感器、阻抗控制等等,但多是一些碎片化的内容。本文尝试将这些零碎的知识点梳理成体系,并解答一个大家都很关心的问题:到底哪种柔顺控制技术「更好」?
01 我们为什么需要柔顺控制?
传统的工业机器人控制,往往通过给伺服系统发送位置指令来实现。其优势体现在一些简单工业场景的效率和精度上,如搬运、码垛等场景。

但对于一些需要与外界接触交互的打磨、装配等应用场景,工业机器人无法满足要求,机械臂柔顺控制技术也就应运而生。

至于哪种柔顺控制技术更好?我们认为应该多关注技术与我们场景需求的匹配度,如果一味地将这个「好」理解为技术越先进,那就本末倒置了。
说到底,机械臂柔顺控制技术只是一个工具,这个工具能为我们的目标服务,那么它就是个「好工具」。
如前面所述,机械臂柔顺控制技术,主要是为了解决机械臂与外界接触交互的应用问题。只要我们仔细研究具体的应用场景,就会发现需求之间的大有不同。
单以力控精度这项指标为例。在生活中用抹布擦拭一下桌子,这对机械臂力控精度要求就不高,力度轻一点重一点都问题不大;

在工业打磨场景中,为保证打磨平整和光滑,对力控精度的要求就比较高,「手抖」一下也不能原谅;

到了医院手术室,对机械臂力控精度的要求就更加严苛了,毕竟它要代替医生的双手完成精细的手术。

所以要打破追求「先进的」柔顺控制技术这一固定思维,理解不同力控技术的特点,针对不同的场景需要选用合适的柔顺控制技术,才能让各种控制技术都在良性竞争中发展进步。
02 柔顺控制技术有哪些类别?
机械臂有哪些柔顺控制技术,基本用一张图就可以概括。

被动柔顺
想实现机械臂的力控,又不想在更改原有机器人的算法?最简单的思路就是在机械臂末端再安装一个机械弹性结构,通过机械臂的弹性来实现力控功能,这就是被动柔顺。

这种方式优势明显,实现简单、成本低廉,对机械臂无特殊要求。缺点也很明显,力控精度无法保证。
大家在市面上很少见到这种,因为大多数的常见场景都对力的精度有要求。那这种方式,是不是一丁点儿用处都没有呢?
其实不然,用在一些对力控精度很低的场景就很合适,像前面提到擦桌子场景,就是个很不错的选择。
主动柔顺
主动柔顺,就是机器人利用力的反馈信息,采用一定的控制策略去主动控制作用力,具体分为直接力控与间接力控。
- 间接力控
间接力控既不是单纯地控制力,也不是单纯地控制位置,而是控制力与位置的相对关系。
简单来看,间接力控就是把前面提到的「弹簧」结构,改用了软件算法来实现,但其实它还是个「弹簧」。

怎么理解?先来看看间接力控最核心的控制原理:

以关节空间控制(笛卡尔空间类似)为例, �� 为人为设计的质量矩阵,�� 为人为设计的阻尼矩阵, �� 为人为设计的刚度矩阵,一般是对角矩阵。���� 为感知的外力,�� 为关节指令,� 为实际的反馈的关节值。
基于这个控制器,机械臂将表现出一个弹簧-阻尼-质量二阶系统的特性。不论是关节空间、笛卡尔空间,还是导纳控制、阻抗控制,其实都是为了实现这个弹簧-阻尼-质量二阶系统。
从直观效果上来看,机械臂就像个「弹簧」一样,确保人机交互的安全性,比较适合与人交互的场景。
如果将刚度项�� 设置为0,机械臂就会因为没有弹力项,不再弹回原来位置,会直接跟着外力走,也就是常演示的「拖动示教」功能。

根据控制原理的不同,间接力控有导纳控制和阻抗控制这两种。两者最大的区别就在于导纳控制基于位置环,阻抗控制基于电流环。

我们知道,传统工业机器人及老牌协作机械臂是基于位置环的,所以可在其机械臂上通过加装末端六维力传感器来实现导纳控制。而阻抗控制是基于电流环指令的,无法通过在工业机器人及老牌协作机械臂上加装外力传感器实现,必须设计其自身的底层控制框图。

其次,在如何获得外力���� 的方法上,二者也相差较大。导纳控制主要依靠末端额外加装的力传感器,或电流反馈配合动力学模型获取外力,而阻抗控制主要依靠的是安装在关节的力传感器。
另外,在特性上,阻抗控制的响应截止频率更高,反应更灵敏。这方面最有代表性的,当属「用手挡住库卡iiwa的刀却没受伤」的demo了。

基于阻抗控制的机器人,也因此被称为第二代协作机器人,其技术起源于德国宇航局。国内也有基于阻抗控制的厂商,如非夕、珞石、思灵。由于其关节具有力矩传感器,这类厂商的协作机器人拖动示教功能非常灵敏。
而老牌UR、遨博、节卡、艾利特等协作机器人的拖动示教,外力估计是基于电流反馈与辨识的动力模型,受摩擦力的影响较大,拖动时能明显感受到卡顿。
- 直接力控
与间接力控不同,有些场景我们不需要考虑人机交互的安全性。比如典型的打磨场景,只需控制机器人以某个精确压力下压某个表面,或者边移动边下压某个表面,就可以用到直接力控。
直接力控的原理其实就是个PID控制器,最主要的区别在于外力的获取方式上,主要有这几种:
1.基于电流环:通过电流反馈和辨识的动力学模型估计外力,优势是无序额外的传感器,缺点是力控精度差,如UR的get_tcp_force()指令,精度只有10N。

2.基于一维力传感器:通过在机械臂末端加装一维力传感器感知外力,适用于只需要控制一个方向力的场景。可提供足够的力控精度,且由所用一维力传感器精度决定,最多可做到0.1N,价格也相对能接受,一般小几千。
3.基于六维力传感器:通过在机械臂末端加装一个六维力传感器来实现。这种比一维力传感器的力控维度更多,精度甚至可达0.01N。价格也更贵,最便宜的六维力传感器也需要2-3万。

有些机械臂厂商为满足高精度打磨的需要,会在机械臂末端集成一六维力传感器,如UR-e系列、睿尔曼RM65-6F系列。这种方式精度很高,有的甚至可达0.01N。
4.基于关节力矩传感器:只能是机械臂本体的关节带力矩传感器才可以使用。精度上比基于电流环的要高,比采用外置力传感器的方式低。如思灵机器人据称可做到0.5N,而非夕据称可做到0.1N。
03 国内外技术研究热点
在传统的阻抗控制中,机器人的阻抗特性一般都是事先预设,并且在执行任务的过程中保持不变,这种设计在实际应用中容易「水土不服」。
因为任务、接触环境,以及协作对象(人)的变化,单一的阻抗特性是很难满足多场景、多任务需求的。于是,目前国内外专家都在研究「机器人在线自主调整其阻抗行为」,也就是自适应阻抗控制技术。
其原理是,机器人会基于外界感知的信息(力、运动反馈、任务信息、人的指令等),以及特定规则(最优控制、模仿学习等),在线改变其阻抗系数,以适应多任务、多场景需求。不同的研究员会根据不同的外界信息和规则,产生不同的应对方法。难点就在如何确保控制的稳定性。
没有最好的技术,只有最合适的技术。本文通过梳理不同柔顺控制技术的原理、特点应用,以及研究热点,希望能提升大家对机械臂柔顺控制的认知。要是能在实践和学习的过程中,对大家带来一些帮助就更好了。
另外,我们正在组建机器人行业交流群,如果你对机器人技术、热点、产品及应用感兴趣,欢迎私聊小智~
更多机器人科普:
评论0