干货丨如何优雅地设计并控制一台协作机械臂-程序员宅基地

技术标签: 人工智能  编程语言  hadoop  传感器  大数据  

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

一、前言

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

f9479fd8239780f67fc1acd52c309623.png

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

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

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

二、硬件设计

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

385aa20a90c9b3dd159507e4b2f9c358.png

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

(1)伺服关节

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

60b44dbdc8938f86a2a93617252cc589.png

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

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

(2)连杆外壳

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

8080ba9c2ed587d64892cd76578e52d3.png

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

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

(3)控制柜与示教器

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

a3c0a1a6bddc5236a45c0681c78b1b58.png

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

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

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

(4)末端执行器

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

b4af646bcf52f85036cb33a5d86c2c66.png

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

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

三、运动控制

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

(1)基本框架

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

864964cb7e62d159f266bd655be24a10.png

图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(最早推出商业化协作机械臂的生产商),展示的是在医康养场景中的理疗按摩,得益于协作机械臂精确且安全的力感知和力控性能。

五、结语

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

6837a6e116bf9e85d37eab818df47d80.png

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/pengzhouzhou/article/details/123835913

智能推荐

以鼠标为中心缩放图片_js 图片缩放根据鼠标的位置来展现图片-程序员宅基地

文章浏览阅读514次,点赞15次,收藏8次。初始鼠标位置距离图片左侧的left、top和宽高的比例,与图片放大后的比例相同计算方式,主要是知道放大后鼠标的位置和放大前鼠标的位置,相减得到偏移的距离,使用transform:translate移动就行。在这个基础上不管是缩小还是放大,都需要把上一次translate对应坐标的值 - 这次得到的值_js 图片缩放根据鼠标的位置来展现图片

网易云课堂_艾叔:零基础一站式C语言|C程序设计精讲_章节5整型-程序员宅基地

文章浏览阅读83次。课时35整型基础C的10种整型数据类型sizeof(char)=1sizeof(unsigned char)=1sizeof(short)=2sizeof(unsigned short)=2sizeof(int)=4sizeof(unsigned int)=4sizeof(long)=4sizeof(unsigned long)=4sizeof(long lon...

Python pickle模块和joblib模块浅析_joblib和pickle区别-程序员宅基地

文章浏览阅读2.5w次,点赞7次,收藏32次。在Python中,如果希望透明地存储对象,而不丢失其身份和类型等信息,则需要某种形式的对象序列化,这是一个将任意复杂的对象转成对象的文本和二进制表示的过程。同样,必须能够将对象经过序列化后的形式恢复到原来的对象。这种序列化的过程称为pickle,可以将对象pickle成字符串、磁盘上的文件或者任何类似于文件的对象;反序列化的过程就是将这些字符串、文件或任何类似于文件的对象unpickle成原来的对_joblib和pickle区别

NPOI导出百万级Excel(SXSSFWorkbook方法)_npoi导出excel百万条数据-程序员宅基地

文章浏览阅读1.8k次,点赞2次,收藏2次。NPOI导出Excel百万级(SXSSFWorkbook方法)_npoi导出excel百万条数据

北京保险服务中心携手镜舟科技,助推新能源车险市场规范化-程序员宅基地

文章浏览阅读546次,点赞3次,收藏6次。然而,在定损过程中,保司发现这辆车的电池故障并非由拖底事件引起,而是由于早先存在的电池底壳裂纹导致杂质或水分进入电池,长期使用后造成的部件损伤。北京保险服务中心将进一步和镜舟科技携手,依托 EVI 数智化风控反欺诈产品,为行业带来更加行之有效的风险管理手段,提供更深入、更全面的市场洞察,从而更好地服务于新能源汽车保险市场,满足其不断变化和发展的需求。北京保险服务中心,在项目建设之初,经过慎重研究,最终选择镜舟分析型数据库,少走了很多弯路,成功保障产品运营,产品上线后获得行业各保司的众多好评。

FX3U, FX5U控制IO卡与STM32F407ZET6工控板的板载资源介绍及PCB生产方案-程序员宅基地

文章浏览阅读214次,点赞5次,收藏9次。例如,它带有SPI接口,可以连接铁电存储器,用于存储和读取数据。在实际应用中,我们应该充分利用这些功能和资源,合理设计控制系统,并选择合适的控制器和IO卡,以实现高效、稳定和可靠的工业控制。首先,FX5U具有32路光耦隔离输入,可以接收外部信号,并且通过隔离可以保护控制器免受外部噪声的干扰。在本文中,我们将不具体讨论这个工控板的PCB设计和原理图细节,但是我们强调的是,一个好的PCB生产方案对于工控板的质量和性能至关重要。在本文中,我们将着重介绍FX3U和FX5U控制器以及控制IO卡的功能和性能。

随便推点

音频(二) - AudioRecord&AudioTrack_audiorecord 源码分析-程序员宅基地

文章浏览阅读3.5k次。版权声明:本文为原创文章,未经允许不得转载 博客地址:http://blog.csdn.net/kevindgk GitHub地址:https://github.com/KevinDGK/MyAudioDemo一AudioRecord简介源码分析二AudioTrack类解析简介源码分析联系方式一、AudioRecord简介在Java应用中,AudioReco_audiorecord 源码分析

FFmpeg的几种版本使用总结_ffmpeg 版本 对应 年份-程序员宅基地

文章浏览阅读1.1w次。Fmpeg 全名是Fast Forward MPEG(Moving Picture Experts Group),是一个集成了各种编解码器的库。FFmpeg也是目前主流的多媒体框架,可以实现图像信息的编码,解码,转码,复用,解复用,流,过滤,视频采集、视频编码到视频传输,都可以调用FFmpeg这个库中的代码来完成。。它支持最多种类的编码格式。无论他们是由某个标准委员会,社区或公司..._ffmpeg 版本 对应 年份

stressapptest源码剖析:默认参数和参数解析_stressapptest代码-程序员宅基地

文章浏览阅读1k次,点赞12次,收藏29次。stressapptest是一个用于对计算机系统进行压力测试的工具,它可以模拟多种场景下的CPU、内存、磁盘、网络等资源的高负载情况,用于评估系统的稳定性和性能表现。本系列文章将对stressapptest的源代码进行深入剖析,本篇重点关注其默认参数的设置和参数解析过程,以解析其内部运行机制和实现原理。​随着计算机系统的日益复杂和性能需求的不断提升,系统稳定性和高负载下的性能表现成为了至关重要的考量因素。_stressapptest代码

实时操作系统(RTOS)--消息队列-程序员宅基地

文章浏览阅读650次,点赞26次,收藏8次。在实时操作系统(RTOS)中,消息队列是一种用于任务间通信的机制,它允许任务之间以一种异步和安全的方式交换数据。消息队列是一种先进先出(FIFO)的数据结构,每个消息都有一个特定的格式,可以是简单的数据类型或复杂的结构体。

摄像机内参与OpenGL_摄像机四个内参-程序员宅基地

文章浏览阅读2.5k次,点赞5次,收藏16次。参考转自:https://blog.csdn.net/yanglusheng/article/details/52268234https://blog.csdn.net/sunboyiris/article/details/780826991、 相机参数是三种不同的参数。相机的内参数是六个分别为:1/dx、1/dy、r、u0、v0、f。opencv1里的说内参数是4个其为fx、..._摄像机四个内参

​十大骨传导耳机品牌,骨传导耳机推荐跑步用_山水的骨传导耳机是真的吗-程序员宅基地

文章浏览阅读1k次。十大骨传导耳机品牌,骨传导耳机推荐跑步用说起骨传导耳机,对于关注运动耳机的朋友可能会比较熟悉,因为骨传导耳机经常会被作为运动耳机而受到大家的推崇,尤其是在跑步或者骑行运动时,骨传导耳机开放耳道的传导方式被认为是最安全的运动蓝牙耳机。那么骨传导耳机究竟哪个牌子好呢?市面上有那些比较好用的骨传导耳机,下面为大家推荐10款,目前销量,口碑都名列的骨传导耳机。一、 Nineka南卡骨传导耳机..._山水的骨传导耳机是真的吗