APP下载

基于ORiN2 的机械臂示教软件的设计与实现

2022-06-15王鹏冯伟

教育现代化 2022年5期
关键词:坐标系控制器方向

王鹏,冯伟

( 1. 无锡职业技术学院 物联网技术学院,江苏 无锡;2. 江南大学 物联网工程学院,江苏 无锡)

一 引言

工业机器人在工业生产中发挥的作用越来越大,它可以提高劳动生产率、改善工人的劳动条件、提高产品产量[1-2]。目前很多高校都开设了机器人方向的课程[3-4],在实践教学环节中,机械臂价格昂贵,无法做到每生一台,只能配备一台或几台,以组或班级为单位轮流使用,这样的现状严重影响了教学效果及教学效率[5-6]。

采用与机械臂配套的示教软件可以很好的解决这个问题,但工业机器人自带的示教软件封装度高,学生只能使用它设计应用,无法了解机械臂的驱动过程,教学效果大打折扣。

为了解决这个问题,文章设计并实现了基于ORiN2 的机械臂示教软件,它全部开源,在教学活动中学生可以通过软件了解到机械臂的驱动过程、机械臂的运动学原理等知识,可以达到良好的教学效果。

二 系统整体设计

机械臂示教系统框图如图1,包括机械臂本体、夹持具、智能相机和示教软件。机械臂本体为DESNO VP6242G 六自由度机械臂,控制器型号为RC7M;智能相机为信捷X-SIGHT 智能工业相机;夹持具为ESG1-SD-4220 电动夹爪;示教软件为论文设计与实现的示教软件。

图1 系统框图

机械臂示教软件开发语言为C#,具有的功能模块有:机械臂操作模块、3D 仿真模块、通信模块、智能相机模块、夹持具模块、工程管理模块。

三 机械臂操作模块

(一) ORiN 简介

传统的生产线存在各种设备、网络及协议,用户的应用程序只能针对特定的厂商或型号,无法使用其它厂商的产品或型号替代,可靠性及可维护性差。为了改变这种现状,日本机器人协会开发了一种通用的标准机器人应用开发平台ORiN,称为“开放机器人网络接口”,它是一种应用程序框架,通过它用户可以用一种通用的方法处理各种机器人、自动化设备,甚至数据库或文件,避免了不同厂商或协议导致的可靠性及可维护性问题[7-8]。

ORiN 由3 种技术组成:CAO、CAP、CRD。

CAO(Controller Access Object,控制器访问对象),它是应用程序与自动化设备的程序接口,通过它用户可以编写不依赖于具体自动化设备的应用程序。

CAP(Controller Access Protocol,控制器访问协议),它是一个面向Internet 的通信协议,通过它可以访问Internet 上的CAO Provider(CAO 提供者)。CAO 引擎通过分布式对象技术访问网络上的CAO Provider,但因为安全因素,这种访问经常受阻。为克服这个问题,CAP 在ORiN2 中被加入。它实质上是基于SOAP(Simple Object Access Protocol,简单对象访问协议)的一种远程网络对象访问协议,通过CAP Provider(CAP 提供者),CAP 信息可以被生成并传输。

CRD(Controller Resource Definition,控制器资源定义),它是一种表示机器人控制器资源信息的标准数据架构。控制器的资源信息使用XML 表示。机器人控制器一般有2 种信息,一种是动态信息,例如机器人各关节轴的角度以及机械臂末端位置;另一种信息是静态信息。

(二) 基于ORiN2 的机械臂控制的实现

ORiN2 安装到计算机之后,以API 的方式被C#调用,具体的DLL 文件为安装目录下的CaoRCW.DLL。调用DLL 文件后导入如下命名空间即可在程序中通过ORiN2 的函数控制机械臂。

1.机械臂的连接

示教软件与机械臂本体通过以太网连接,调用ORiN2 的CAO 即可实现,其中CAO 的引擎层是与应用程序的实际接口,所以先建立引擎对象caoEng,其他对象都是在其基础上建立的;然后建立控制器对象,具体函数为caoCtrls.Add( ),其四个参数先后分别为:控制器对象名称,自定义;Provider 名称,它固定为CaoProv.DENSO.NetwoRC;运行应用程序的计算机名称,可以为空;选项字符,固定格式为“Conn=eth:”+机械臂的IP 地址+“:”+机械臂端口号,端口号固定为4112。建立连接的相关代码为:

2.机械臂运动控制

机械臂的运动轨迹是由轨迹上相邻两点的轨迹连接而成,点与点之间的运动是机械臂运动的最小单位。

ORiN2 使用CaoRobot 类的Move( ) 函数驱动机械臂运动。它的调用方式为:

第一个参数为运动轨迹的插补方式,1 为P 型插补。第二个参数是通过方式,“@0”代表机械臂通过位置时,电机指令与目标位置一致即认为动作结束。第三个参数是目标的P 型位姿数据。第四个参数为运动选项,可以省略。

将机械臂运动轨迹上的各个关键点保存,并使用上述函数驱动机械臂依次通过这些关键点即可完成机械臂运动的控制。

四 3D 仿真模块

3D 仿真是通过C# 调用CsGL 库实现。机械臂建模采用的是D-H 参数法[11-16],它是Denavit 和Hartenberg 于1955 年提出的。我们以一个三轴机械臂的D-H 建模过程来了解下D-H 建模方法。

(一) 确定各关节的坐标系

Z 轴方向:Z 轴方向沿本轴的轴线方向(电机旋转轴的方向);X 轴方向:X 轴沿Zi 和Zi-1 轴的公垂线指向Zi,一般可认为是手臂的方向;Y 轴方向:Y 轴方向与 Z 轴方向、X 轴方向共同满足右手直角坐标系;

按照法则,我们需要建立5 个坐标系{0}、{1}、{2}、{3}、{4}。其中坐标系{0}为参考坐标系,即世界坐标系,是一个固定的坐标系。坐标系{1}、{2}、{3}分别为三个手臂的坐标系。坐标系{4}为夹持具的坐标系。坐标系如图2。

图2 各关节坐标示意图

(二) 确定D-H 参数

D-H 参数有四个:ai、αi、di、θi。ai 为手臂i 的长度,即相邻两个关节轴的距离,两关节平行时为此节的手臂长度li,两个关节轴垂直时为0;αi 为相邻两个关节的轴线间的夹角,两关节平行时为0,两关节垂直是为90;di 为在Zi-1 方向上Xi 与Xi-1之间的距离;θi 为Xi-1 轴沿Zi-1 轴旋转到Xi 轴转过的角度。前两个参数是描述某手臂本身的特征, 由Zi-1 和Zi 之间的距离和夹角决定,后两个参数是描述相邻的轴之间的连接关系,由Xi-1 和Xi 之间的距离和夹角决定。表1 为三轴机械臂的D-H 参数表。

表1 D-H 参数表

根据D-H 参数法建模得到的三轴机械臂3D 图如图3。按照相同的方法建立的DESNO VP6242G 六轴机械臂的3D 图如图4。

图3 3 轴机械臂仿真图

图4 VP6242G 3D 仿真图

五 夹持具模块

系统使用的电动夹持具为日本TAIYO( 日本太阳铁工株式会社) 的ESG1-SD-4220 电动夹爪,其控制器型号为ESC11-B,它可以设置1 个原点及31 个位置点。ESC11-B 的I/O 线与机械臂的I/O 线直接相连以接收控制信号及返回状态信号。C#调用ORiN2 的函数即可控制夹持具动作。

首先定义变量handStart、handBusy 及数组CaoVariable[5],它们分别代表夹爪启动信号、夹爪状态信号、夹爪位置。然后通过caoCtrl.AddVariable()函数将变量与机械臂控制器RC7M 的I/O 线关联。上述代码意义为:69 号I/O 线控制夹爪启动,49 号读取夹爪状态,64-68 号控制夹爪运动位置。64-68号I/O 线的值与夹爪位置对应表如表2。

表2 I/O 值与夹爪位置对应表

六 其他模块

其他模块没有与ORiN2 直接相关,我们简单介绍即可。

工程管理模块:工程是本软件操作的基本作业单元,此模块采用C#操作数据库及Excel 完成。它完成新建工程、工程文件的导入与导出、工程的修改等功能。

通信模块:通信模块主要涉及计算机与智能相机的通信、计算机与机械臂的通信。前者采用的是ModBus/TCP 协议,后者采用TCP 协议。

智能相机模块:智能相机的作用是获取机械臂操作平台上的实时图像, 并从图像中甄别出目标物体, 同时将目标物体的坐标传递给计算机上运行的示教软件,以控制机械臂对目标物体进行操作。

七 实验测试

实验采用运行本软件的计算机与DENSO VP6242G 及智能相机通过以太网相连,智能相机安装于DENSO VP6242G 的第六轴,电动夹爪安装于机械臂的第六轴末端。实验内容为控制机械臂夹取工件,步骤为:

通过示教软件控制机械臂末端移动到运行轨迹各关键点,并调整至合适的位姿,获取各点的位姿参数并保存;

通过3D 仿真运行,验证机械臂的运行是否正确;

验证通过后,机械臂运行路径的最后点坐标由智能相机捕获并传给示教软件,由示教软件自动控制机械臂和电动夹爪动作。

实验结果表明软件运能够方便快捷的控制机械臂按照指定的方式稳定的运行。软件的主界面如图5。

图5 示教软件主界面

八 结语

基于ORiN2 的机械臂示教软件解决了机器人课程实践教学环节中所遇到的因成本导致的设备不足的问题,提高了教学效率,增强了教学效果。它全部开源,学生可以掌握机械臂的驱动过程,学习机械臂的运动学及D-H 建模方法等知识。此软件还可以应用于课程设计等课程,供学生进行二次开发。

猜你喜欢

坐标系控制器方向
独立坐标系椭球变换与坐标换算
2022年组稿方向
工商业IC卡控制器改造为物联网控制器实践
2021年组稿方向
2021年组稿方向
解密坐标系中的平移变换
坐标系背后的故事
位置与方向
模糊PID控制器设计及MATLAB仿真
MOXA RTU控制器ioPAC 5542系列