来源:https://zhuanlan.zhihu.com/p/579775116

一提到柔顺控制技术,即便不是做机械臂控制的专业人员,也能想到一些名词:力传感器、阻抗控制等等,但多是一些碎片化的内容。本文尝试将这些零碎的知识点梳理成体系,并解答一个大家都很关心的问题:到底哪种柔顺控制技术「更好」?

01 我们为什么需要柔顺控制?

传统的工业机器人控制,往往通过给伺服系统发送位置指令来实现。其优势体现在一些简单工业场景的效率和精度上,如搬运、码垛等场景。

动图封面
机器人正在搬运物料,图源B站

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

动图封面
碰到人手后停止拧螺丝,图源B站

至于哪种柔顺控制技术更好?我们认为应该多关注技术与我们场景需求的匹配度,如果一味地将这个「好」理解为技术越先进,那就本末倒置了。

说到底,机械臂柔顺控制技术只是一个工具,这个工具能为我们的目标服务,那么它就是个「好工具」。

如前面所述,机械臂柔顺控制技术,主要是为了解决机械臂与外界接触交互的应用问题。只要我们仔细研究具体的应用场景,就会发现需求之间的大有不同。

单以力控精度这项指标为例。在生活中用抹布擦拭一下桌子,这对机械臂力控精度要求就不高,力度轻一点重一点都问题不大;

动图封面

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

动图封面
机械臂打磨物料表面,图源B站

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

动图封面
机械臂正在为一颗葡萄「缝针」,图源B站up主稚晖君

所以要打破追求「先进的」柔顺控制技术这一固定思维,理解不同力控技术的特点,针对不同的场景需要选用合适的柔顺控制技术,才能让各种控制技术都在良性竞争中发展进步。

02 柔顺控制技术有哪些类别?

机械臂有哪些柔顺控制技术,基本用一张图就可以概括。

机械臂柔顺控制技术分类

被动柔顺

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

被动柔顺结构

这种方式优势明显,实现简单、成本低廉,对机械臂无特殊要求。缺点也很明显,力控精度无法保证。

大家在市面上很少见到这种,因为大多数的常见场景都对力的精度有要求。那这种方式,是不是一丁点儿用处都没有呢?

其实不然,用在一些对力控精度很低的场景就很合适,像前面提到擦桌子场景,就是个很不错的选择。

主动柔顺

主动柔顺,就是机器人利用力的反馈信息,采用一定的控制策略去主动控制作用力,具体分为直接力控与间接力控。

  • 间接力控

间接力控既不是单纯地控制力,也不是单纯地控制位置,而是控制力与位置的相对关系

简单来看,间接力控就是把前面提到的「弹簧」结构,改用了软件算法来实现,但其实它还是个「弹簧」。

动图封面

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

以关节空间控制(笛卡尔空间类似)为例, �� 为人为设计的质量矩阵,�� 为人为设计的阻尼矩阵, �� 为人为设计的刚度矩阵,一般是对角矩阵。���� 为感知的外力,�� 为关节指令,� 为实际的反馈的关节值。

基于这个控制器,机械臂将表现出一个弹簧-阻尼-质量二阶系统的特性。不论是关节空间、笛卡尔空间,还是导纳控制、阻抗控制,其实都是为了实现这个弹簧-阻尼-质量二阶系统。

从直观效果上来看,机械臂就像个「弹簧」一样,确保人机交互的安全性,比较适合与人交互的场景。

如果将刚度项�� 设置为0,机械臂就会因为没有弹力项,不再弹回原来位置,会直接跟着外力走,也就是常演示的「拖动示教」功能。

动图封面
节卡机器人基于末端力传感器的拖动示教

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

阻抗和导纳控制

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

阻抗控制(关节)控制框图

其次,在如何获得外力���� 的方法上,二者也相差较大。导纳控制主要依靠末端额外加装的力传感器,或电流反馈配合动力学模型获取外力,而阻抗控制主要依靠的是安装在关节的力传感器。

另外,在特性上,阻抗控制的响应截止频率更高,反应更灵敏。这方面最有代表性的,当属「用手挡住库卡iiwa的刀却没受伤」的demo了。

用手挡住库卡iiwa手中的刀却没有受伤

基于阻抗控制的机器人,也因此被称为第二代协作机器人,其技术起源于德国宇航局。国内也有基于阻抗控制的厂商,如非夕、珞石、思灵。由于其关节具有力矩传感器,这类厂商的协作机器人拖动示教功能非常灵敏。

而老牌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 国内外技术研究热点

在传统的阻抗控制中,机器人的阻抗特性一般都是事先预设,并且在执行任务的过程中保持不变,这种设计在实际应用中容易「水土不服」。

因为任务、接触环境,以及协作对象(人)的变化,单一的阻抗特性是很难满足多场景、多任务需求的。于是,目前国内外专家都在研究「机器人在线自主调整其阻抗行为」,也就是自适应阻抗控制技术。

其原理是,机器人会基于外界感知的信息(力、运动反馈、任务信息、人的指令等),以及特定规则(最优控制、模仿学习等),在线改变其阻抗系数,以适应多任务、多场景需求。不同的研究员会根据不同的外界信息和规则,产生不同的应对方法。难点就在如何确保控制的稳定性。

没有最好的技术,只有最合适的技术。本文通过梳理不同柔顺控制技术的原理、特点应用,以及研究热点,希望能提升大家对机械臂柔顺控制的认知。要是能在实践和学习的过程中,对大家带来一些帮助就更好了。

另外,我们正在组建机器人行业交流群,如果你对机器人技术、热点、产品及应用感兴趣,欢迎私聊小智~

更多机器人科普:

60年过去了,它还能走出实验室吗?

「电机」的CP——驱动器那些事儿

一个零部件就占总成本的40%?减速器为啥这么贵

协作机器人的「底裤」都被我扒出来了

贵到离谱,减速器的成本为什么这么高?

疯了?敢让工业机器人陪人下棋?是战斗民族?那没事了

0

评论0

没有账号?注册  忘记密码?