抓取机器人控制系统设计*

2021-10-09 08:34张国胜马保平张召颖
计算机与数字工程 2021年4期
关键词:位姿运动学连杆

邹 洵 张 帆 张国胜 马保平 张召颖

(上海工程技术大学机械与汽车工程学院 上海 200072)

1 引言

在生产过程中,对于识别出来的残次零件需要抓取剔除,由于残次品的识别与迅速抓取难以使用人力进行操作并且成本过高[1]。需要使用专业的摄像头识别残次品并用机器人代替人工抓取[2]。经过几年的发展,证明了机器人具有极高的代替人力工作的能力,虽然目前市面上的部分机器人拥有此功能,如安川机器人,具有极高的安全性[3];新松机器人,是市面上极少数的具有七自由度的协作机器人[4]。但是成本太高,并且入门难,购买的企业难以实现二次开发,最终难以推广[5]。因此我们需要开发出一套操作简单,成本较低,未来有升级潜力,并且对于绝大数中小企业都能够使用的控制系统。

综上,为实现以上既定目标,通过后期调研,本研究最终选择了基于开源机器人操作系统ROS(Robot Operating System),以生产线上对于目标物品的抓取为应用背景,搭建了控制系统平台[6],进行控制系统设计并作了相应的仿真及实物控制实验。

2 机器人运动学模型的建立

机器人的运动学正逆解求解是对抓取机器人进行位置和姿态分析的第一步[7]。由于不同机器人的正逆解不同,本研究对象的机器人为三个相邻关节轴相互平行的六自由度机器人[8]。其运动学正解是在电机转动角度和几何参数已知的基础上,推算出机器人抓取的位置和姿态等参数。逆解则与正解恰恰相反[9]。在实际生产中,我们已知末端抓手的最终位置,通过运动学逆解推算出每个关节对应的三维坐标以及各个电机的绝对位置,使得每个关节运动到唯一的指定位置,从而完成每个末端抓手的定位。如表1所示,本研究采用D-H法建立连杆坐标系[10],在6个连杆上分别建立各个连杆的坐标系,通过各个坐标系之间的齐次变换矩阵的多次运算,最终得到机器人末端抓手相对于基坐标系的位姿矩阵[11]。

表1 机器人D-H参数表

其中参数如下:1)i:连杆;2)di:连杆偏置;3)ai:连杆长度;4)αi:连杆扭曲;5)θi:关节角度。

2.1 运动学正解

抓取机器人可看做是由末端抓手和各个连杆串联而组成的。为此,若根据机械手的连杆建立坐标系,首先需要为每个连杆均建立一个小坐标系,则这些不同连杆坐标系间的相对关系可以采用齐次坐标变换矩阵表示[12]。本研究中将这类矩阵统称为矩阵A,定义顺序为从基坐标到末端抓手的坐标系齐次变换矩阵分别为A1,A2……。则二号连杆相对于基坐标的位置和位姿可由A1和A2的乘积表示,即:

同上,若A3表示三号连杆相对于二号连杆的位置和位姿,即:

6个连杆坐标系属于依次相连,它们之间的坐标变换关系可以通过变换矩阵来描述A1A2A3A4A5

A6。这样机械手末端位姿可表示为

式中:nx,ny,nz分别表示机器人抓手的坐标轴X6相对于初始坐标系在X,Y,Z轴的方向余弦;ox,oy,oz分别表示机器人抓手的坐标轴Y6相对于初始坐标系在X,Y,Z轴的方向余弦;ax,ay,az分别表示机器人抓手的坐标轴Z6相对于初始坐标系在X,Y,Z轴的方向余弦;px,py,pz表示机器人抓手的坐标轴相对于初始坐标系的位置坐标。

其中,连杆i相对于连杆i-1的变换矩阵为

式(4)中:θn为关节角,由于一个关节中包含两条公垂线,因而在一个平面上产生投影,投影间的夹角即为θn;αn为连杆扭转角,即第n+1个关节轴线与第n个关节轴线和公垂线构成的平面的夹角;dn为连杆偏移量,即一个关节的两条公垂线之间的偏移距离;C和S为缩写的cos和sin;n为关节数,本课题为六自由度机器人,故而n为6。

将表1中的参数代入式(1),式(2),即可求出运动学正解。

2.2 运动学逆解

通过机器人抓手末端的位姿,逆向求解出各个关节的位姿,但是可能存在多解的情况,即部分关节可能出现多种符合要求的位置和姿态,因此计算量较大。为了方便计算,我们引入了逆变换法[13],通过已知矩阵逆推出各个关节的参数,用此法求解需要注意各个关节的参数求解顺序,并不是按照从后往前依次进行,即求逆解的过程中先求θ1,θ5,θ6,后求θ2,θ3,θ4。求θ2,θ3,θ4时,先求θ2,θ3,θ4这3个平行关节的一个角度θ2,然后求θ23,通过(θ23-θ2)求得θ3,再求θ234,用(θ234-θ23)求解θ4。其中θ23=θ2+θ3,θ234=θ2+θ3+θ4。通过此法可求出运动学逆解的各个关节参数。

3 控制系统设计

在如图1所示的工作环境中,在识别区域上方安装摄像头,当装有物品的收纳盒放置到指定位置后,摄像头进行残次品识别,若识别到残次品,则将残次品的位置发送给工控机。工控机控制抓取机器人运动到指定位置,抓取残次品并放置回收箱。若没有识别到残次品,则发送消息,告诉上位机,准备下一个物品的识别。

图1 抓取机器人整体

本控制过程分为三个部分:图像识别、机器人运动、抓手控制。对于抓取机器人的控制,实质上是对于各个关节处电机转动角度、速度、开关时间的控制以及末端抓手位置和位姿的控制。故而本控制系统具体控制步骤如下。

1)调用摄像头,进行图像识别,识别出残次品,发送数据给控制总站,总站分析后发送信息给机器人控制系统,准备抓取目标物品。

2)机器人接收数据后,通过摄像头反馈信息定位目标物品,规划运动路径,驱动机器人运动到目标位置。

3)当机器人运动到指定位置时,调整抓手的位置和位姿,并启动抓手,抓取残次零件,并放置回收箱中。

4)机器人归位,准备下一次抓取。

总体控制过程如图2所示。

图2 控制过程流程图

4 ROS配置环境的搭建

4.1 ROS系统主体概要

ROS是一款机器人控制开发系统。它包含了三维重建、动态仿真、实时场景仿真、实物控制等多种功能,能够最大化地提供机器人开发的各种需求[14]。其为建立在Ubuntu[15]系统下的一款内置操作系统,但与系统的进程管理没有关系。它提供各种功能包,然后通过点对点机制建立功能包之间的通讯,搭建控制平台,实现机器人的仿真和实物控制。

1)Urdf文件的搭建

编写urdf文件[16],包含机器人模型及其内部结构、关节、自由度、色彩等参数。这是ROS可识别的XML文件,为后续工作做准备。

2)MoveIt!配置功能包

ROS的MoveIt!是专门为可移动操作平台而开发出的ROS软件包[17]。它集成了路径规划、立体感知、运动学、运动控制和导航领域的集成软件,提供一个开发高级机器人应用的易用软件平台。图3展示了ROS MoveIt!的高层框架。其中,Move_Group节点处于核心地位。其作为枢纽,连接了各个独立的构件,提供完成的服务。整体框架如下。

图3 ROS MoveIt!高层框架

3)机器人仿真

将配置好的机器人导入至ROS内置的3D可视化工具(以下简称rviz)中,可以进行规划不同目标、在场景中添加和移除对象等操作。对于本研究而言,将抓取机器人模型导入至rviz中,并在其中添加抓取对象,控制机器人抓取目标对象,进行仿真实验。

4.2 ROS功能包配置

本研究调用ROS模块,以其内置的算法为核心,结合本研究目标,计算出各关节的必要参数,最后下发给各电机。具体步骤如下。

1)在solidworks里绘制机器人三维图,然后调用SW2URDF插件转换为ROS可识别的文件,最后进行ROS下的Setup配置,设定末端执行器的初始位置。

2)进行控制系统编程设计。Rviz界面打开配置好的仿真机器人,接收上位机发送的末端坐标,即可调用路径规划算法计算出每个关节运动到目标位置所需要的转动角度、速度、加速度、位置等参数,并且依次将每部分的计算结果发送出去。

3)以控制器局域网通讯(Controller Area Network,CAN通讯)的方式建立上下位机的通讯,将计算出的每个关节的转动角度及其他必要参数,通过通信接口发送给下位机。

4)下位机芯片接收数据,转换为电机可识别的参数发送给电机,进而控制机器人运动。

5 实验

实物抓取机器人基于UR协作机器人,在末端执行器上安装抓手。上位机接收残次品位置信息并发送给机器人,通过通讯发送给机器人内置芯片,芯片通过分析接收的数据,转换为电机可识别的参数,进而控制电机的转速、转动时间等。其次,抓手运动到指定位置,再细调抓手的位置和位姿,最终实现抓手的抓取并放置残次品至回收箱内。机器人实验过程如图4所示。图4(a)为机器人移动初试位置,随后接收指令,移动至图4(b),并抓取目标,随后通过路径规划,其过程如图4(c)所示,移动至目标位置,如图4(d)所示。

图4 实物机器人控制实验

6 结语

为实现对于抓取机器人控制系统设计,本研究基于Ubuntu系统下结合ROS实现了对于抓取机器人的控制系统设计。开发了一套基于ROS的控制系统,并改进了ROS中上下位机的通讯方式,达到了在保证原有实时性和鲁棒性前提下适用性广、操作简单的通讯方式,并搭建了仿真实验和实物控制实验。由实验可知,控制系统能够实现残次品的抓取,有实际的应用背景和经济价值。未来,可将收纳盒放置在流水线上,形成全自动化生产线,大力提高生产效率。

猜你喜欢
位姿运动学连杆
基于装配工况发动机连杆有限元分析
轿车前后悬架运动学仿真分析
基于MATLAB的工业机器人运动学分析与仿真
基于PLC的六自由度焊接机器人手臂设计与应用
基于位置依赖的密集融合的6D位姿估计方法
曲柄摇杆机构的动力学仿真
例析运动学中STS类信息题
“必修1”专题复习与训练