干货丨如何优雅地设计并控制一台协作机械臂

本期技术干货,我们邀请到了小米机器人实验室工程师任赜宇,和大家分享如何去设计并控制一台协作机械臂。

一、前言

协作机械臂,顾名思义,是适合与人类通力协作去解决实际问题的一类机械臂,作为机械臂家族的一员,与传统的工业机械臂相对应。工业机械臂经过多年的发展,在汽车、3C电子等工业自动化领域已经得到了广泛的落地与应用,而协作机械臂作为近几年来的新兴产物,在智能性、安全性与易用性上相较于工业机械臂都有很大的提升,这给协作机械臂在柔性制造、康复医疗、商业服务与家庭应用等新兴领域均带来了极大的落地潜力。

干货丨如何优雅地设计并控制一台协作机械臂_第1张图片

图1. 传统的工业机械臂与新兴的协作机械臂

图片来源:What is the Difference Between a Robot and a Cobot?

这篇文章,首先将通过硬件设计与运动控制这两个章节,简要地介绍如何去设计并控制一台协作机械臂,再通过现阶段落地应用的实际DEMO来给大家一个对协作机械臂形态、功能与特性的直观认识。

二、硬件设计

协作机械臂的整体硬件设计主要由伺服关节、连杆外壳、控制柜与示教器和末端执行器这四个部分组成,详细可见下图2:

干货丨如何优雅地设计并控制一台协作机械臂_第2张图片

图2. 协作机械臂的整体硬件设计地图

(1)伺服关节

伺服关节是协作机械臂最重要的组成单元,可以理解成整体机械臂的动力单元,一个完整的伺服关节一般由谐波减速器、力矩电机、传感器、驱动器、制动器与外壳这六部分组成,具体可参见下图3。

干货丨如何优雅地设计并控制一台协作机械臂_第3张图片

图3. 协作机械臂伺服关节的主要组成元件

力矩电机是通过FOC矢量控制来输出所需求的转速和扭矩,再通过谐波减速器进行转速和扭矩关系的调制,一般在协作机器人中,是经谐波减速器把电机的高转速+低扭矩工况转化为实际使用需要的低转速+大扭矩的工况;FOC矢量控制的底层运算是经过集成嵌入式芯片的驱动器产生,驱动器作为伺服关节底层控制的“大脑”,还具备实时底层计算、输出三相驱动电流,AD/DA输入输出转化与通信协议解析等重要功能;同时为了确保伺服关节输出位置与力的精度,在具体的控制上我们一般要求做闭环,这就需要有位置传感器和力矩传感器将相应关节位置与关节力实时测量反馈至驱动器;另外一般我们会要求机械臂在断电时能够保持静止稳定的姿态,因此在伺服关节中一般还会集成相应的驱动器来克服相应的重力矩;最后整体的伺服关节由通过精细设计的CNC外壳,将上述所有提到的主要组成元件串联固定起来,以形成上图3中所示高集成度的伺服关节。

(2)连杆外壳

协作机械臂在上文提到的伺服关节的基础上,需要相应的连杆外壳将每个动力单元串联起来,以形成整体的动力传递与机体构型,这里提到的构型具体是指在空间中自由度的数目,一般协作机械臂都以6自由度或7自由度为主,构型上可以称作六轴机械臂或七轴机械臂。七轴机械臂因为存在一个多余空间本身6自由度的冗余自由度,因此在整体运动的灵活性与可达性上更有优势。

干货丨如何优雅地设计并控制一台协作机械臂_第4张图片

图4. 协作机械臂(Emika Franka Panda) 的连杆外壳爆炸图(图片来源:Emika Franka)

上图4是一款经典协作机械臂的连杆外壳爆炸图,一般传递动力的元件(图4白色元件)是由铝合金制成,而作为检修开盖口或者装饰性的元件(图4灰色元件)由塑料制成,作为传递动力的元件在设计过程中需要做精密而详细的FEM分析,以确保在良好轻量化的基础上仍能保证较好的本体刚度,来提升整体机械臂运动的动态性能和末端的定位精度。

(3)控制柜与示教器

协作机械臂除机身本体外,一般在实际使用过程中我们还要搭配控制柜与示教器来进行操作使用,具体如下图5所示。

干货丨如何优雅地设计并控制一台协作机械臂_第5张图片

图5. 协作机械臂(UR 5e) 与其控制柜和示教器(图片来源:Universal-Robot)

控制柜类似于整体机器人上层控制的“大脑”,一般搭载一台工控机(NUC)去进行对算力要求较高的上层运算,相对应的就是上文伺服关节中提到的驱动器,因为尺寸和功率的限制,一般是处理较为底层的基本运算。另外,控制柜中还集成了相应的电源模块,用来将我们日常生活中提供的220V交流电转化为伺服关节所需的48V或24V直流电,同时还具备相应的电源安全模块来确保整体机械臂电气系统的EMC和抗ESD能力。

而示教器则类似于一款集成特定操作控制系统的平板,直接和用户进行交互,用户在没有PC的情况下也可以通过示教器直接对机械臂进行操作控制,一般示教器上都是提供高度封装的图形化编程界面以及设计良好的HMI,以提升用户使用机械臂的便利性。另一方面,在示教器上一般均会要求集成红色的急停按钮,在发生紧急情况的时刻进行最高优先级的急停制动,提升使用过程中的安全性。

(4)末端执行器

在实际使用过程中,我们会在机械臂的末端集成相应的末端执行器,以提升机械臂的实际操作与抓取能力,一般末端执行器会通过如下三种形式出现:气动吸盘、夹爪与灵巧手,如下图6所示。

干货丨如何优雅地设计并控制一台协作机械臂_第6张图片

图6. 协作机械臂与各类末端执行器集成图(图片来源:Universal-Robot,KUKA iiwa,Schunk Lightweight Arm)

气动吸盘在实际工业领域的应用中最为常见,可以用来对各类平面度较高的物体进行简单可靠的Pick and Place,但不具备对微小不规则物体的抓取能力,同时需要额外集成相应的气泵,整体系统集成度低,一般仅用于工业场合;而夹爪则是极大地弥补了对微小不规则物体的抓取能力,同时不需要额外的外部动力源,和机械臂本身共享直流电源即可,整体成本可控,简单稳定可靠,因此是对集成度要求较高的商业场合中使用最高的末端执行器方案;而灵巧手则是在夹爪的基础上,提升了对物体“掌中操作”(In-Hand Manipulation)的能力,即不仅可以对物体进行抓取,还能对物体本身进行操作,例如按下按钮,打开盖面等工作,但相应的不足点即为成本过高,一般一支灵巧手的价格要高于一台协作机械臂本身,因此大多仅在特殊需求及科研场合中应用。

三、运动控制

在上一个章节中,我们简要介绍了协作机械臂硬件设计的相关知识,在本章节中将会言简意赅地(流程性地)给大家介绍协作机械臂的运动控制,即拥有了一台协作机械臂后该如何控制其运动,具体相关运动控制的细节内容实际上是一门复杂的独立学科,有兴趣的同学可以去翻阅The Hand Book of Robotics。

(1)基本框架

下图7是一个控制(协作)机械臂最基本的逻辑流程图。

干货丨如何优雅地设计并控制一台协作机械臂_第7张图片

图7. (协作)机械臂运动控制的基本流程图

首先是需要高层的任务决策,这个决策以当前的技术水平,主要是人工即使用者下发的,这边需要注意的是一般这类任务决策都是相对具体的指令,比如说可以下发“机械臂需要从A点把某个物体移动到B点”,但不适合下发“机械臂帮我把这个房间打扫干净”的指令——后者涉及到人工智能层面的多维认知与任务分解,技术难度已经远超于机器臂层面的运动控制。

接着在具体的任务决策指令下,需要通过具体的轨迹规划算法去生成机械臂末端(即笛卡尔空间)的运动轨迹。简单来说,机械臂末端的运动轨迹需要离散成空间内的若干点,每个点都映射相应的位置信息和机械臂到达该点的速度信息,同时还涉及到各个点之间的插值问题。轨迹规划好坏的衡量指标为机械臂运行是否光滑与平顺,一般需消除极端位置与高速度点的出现,从而避免机械臂产生高速与抖动等不正常危险运动。

轨迹规划所下发的笛卡尔空间各点的位置与速度将会进入逆运动学求解,逆运动学简单来讲就是给定末端笛卡尔空间的位置,来算出机械臂各轴的关节角信息(或角加速度信息,角加速度则需涉及到逆动力学)。在具体的求解过程中我们需要事先建立好机械臂的DH参数模型,DH参数就是在特定设计的坐标系下,用四个参数去表达机械臂两对关节连杆之间的位置与角度关系,如果需要对角加速度进行逆动力学求解,那么在DH参数的基础上还需要对机械臂进行动力学参数辨识,主要涉及到机械臂各关节的质心、惯量、摩擦力与阻尼等参数。

最后由逆运动学求解器输出的各轴的角速度(或角加速度)信息,将会输入到各伺服关节的驱动器中,驱动器通过相应的PID控制算法去精准实现对各角速度/角加速度指令的跟踪,同时将通过FOC控制算法将具体的角速度指令分解成三相电机的电流矢量指令,控制电机输出速度与力以支持机械臂完成相应的运动。

(2)力控与位控

在协作机械臂的运动控制领域不得不提的就是力矩控制(阻抗控制),常见传统的工业机器人一般都是使用位置控制,即仅闭环控制机械臂末端笛卡尔空间或轴空间的位置轨迹,力矩控制(阻抗控制)即是在位置闭环控制的基础上,再引入阻抗控制,去调制机械臂输出力与位置之间的关系。

在传统的工业应用中,工业机器人一般只需要遵循严格的位置轨迹进行相应的生产任务,因为工业生产的环境一般均为封闭的固定环境,且能够对外界的环境进行精确建模,同时也没有人类的干扰,因此普通的位置轨迹就已经能够保证安全与高效的工作。而定位为与人类共同进行生产任务的协作机器臂,因为人类的存在,以及各类非结构化的柔性生产与商业应用场景,单纯的位置控制已经很难满足精细末端操作与安全工作的需要,因此需要引入末端笛卡尔空间与轴空间的力感知能力,去实现一些涉及末端力控打磨、去毛刺、柔性插拔、拖动示教与碰撞检测的特殊任务,更为重要的是在碰撞或者夹持住人类躯干时能够及时停止运作,以保证人机交互过程中的安全性。

四、落地应用

介绍完了协作机械臂的基本硬件设计与运动控制,这个章节将通过视频DEMO的形式给大家展现:现阶段协作机械臂到底能够在哪些场景去解决什么样程度的实际问题。

DEMO1:柔性生产中的快速轻量化部署

视频来源:Youtube Channel Robotiq

这个DEMO来自于丹麦UR(全球Tier1协作机械臂生产商)与加拿大Robotiq(全球Tier1末端夹爪生产商),展示的是协作机械臂在柔性生产中快速轻量化部署的特性,得益于协作机械臂本体设计的轻量性与上层使用界面的灵活易用。

DEMO2:3C电子中的柔性插拔与拖动示教

视频来源:ROKAE Robotics

这个DEMO来自于ROKAE(国内Tier1协作机械臂生产商),展示的是协作机械臂在3C电子中的柔性插拔与拖动示教,得益于协作机械臂关节集成的力矩传感器、阻抗控制与高度封装的示教程序。

DEMO3:商业场景中咖啡制作与拉花

视频来源:Youtube Channel Rethink Robotics GmbH

这个DEMO来自于美国Rethink(老牌协作机械臂生产商),展示的是协作机械臂在制作咖啡+拉花这样一个商业场景中的应用,得益于协作械臂安全且丰富的人机交互能力。

DEMO4:医康养场景中的理疗按摩

视频来源:Youtube Channel KUKA - Robots & Automation

这个DEMO来自于德国KUKA(最早推出商业化协作机械臂的生产商),展示的是在医康养场景中的理疗按摩,得益于协作机械臂精确且安全的力感知和力控性能。

五、结语

协作机械臂作为近年来新兴的机器人产物,由于其本体轻量化设计、集成力矩传感器、高性能力控与高度封装的图形化编程界面,使其在智能性、安全性与易用性上相较于传统工业机械臂有较大的提升,但协作机械臂的实际大规模落地应用还面临着成本过高与可靠性较低等问题,就让我们拭目以待协作机械臂未来的发展情况。

干货丨如何优雅地设计并控制一台协作机械臂_第8张图片

你可能感兴趣的:(传感器,人工智能,编程语言,hadoop,大数据)