APP下载

DXF与机器人轨迹规划

2019-10-28刘建星陈淑玲兰志鹏龚本强邢红义

时代汽车 2019年15期
关键词:坐标系工件轨迹

刘建星 陈淑玲 兰志鹏 龚本强 邢红义

摘 要:CAD是目前工业设计时必須使用的设计手段,可以说工业设计离不开CAD,AutoCAD是历史最悠久的CAD系统。DXF是AutoCAD的一种矢量图形交换文件,有两类存储格式:ASCII格式和二进制格式,ASCII格式具备良好的可读性,DXF已被广泛使用,绝大多数CAD软件都能读入或输出DXF文件。DXF文件由多个Section(段)组成,每个Section描述一个矢量元素,DXF是完成产品设计后,进行机器人加工轨迹规划的优选手段之一。工件坐标系是工业机器人系统里以工件为参照所建立的直角坐标系,ABB工业机器人工件坐标系是很完善的坐标系转换,包括了坐标平移和旋转。有了工件坐标系,有了产品设计的DXF,进行工业机器人TCP(工具中心点)轨迹规划就很方便了,可从DXF中提取轨迹的矢量特征,从而引导工业机器人实训规划轨迹循迹。自编软件提取矢量特征切实可行,自主算法适用于教学。

关键词:CAD与DXF格式;C++与矢量特征提取;RAPID编程;ABB工业机器人运动轨迹引导

1 引言

现代工业设计离不开CAD(计算机辅助设计)。AutoCAD是历史最悠久且应用广泛的CAD系统,DXF格式是AutoCAD软件系统的一种图形交换文件,绝大多数CAD软件都能导入和输出DXF格式的文件。DXF是一种矢量数据格式,详细描述了绘图矢量的全部特征。DXF有两种存储格式:ASCII格式和二进制格式。其中,ASCII具有良好的可读性,可使用众多的文本编辑器查看和修改。

智能制造是现代制造业的发展方向和重要环节。柔性生产系统则是智能制造过程中无可替代的加工方法和制作手段。工业机器人(又称机械手或机械臂)是柔性生产系统的关键设备。经过多年的发展,工业机器人已具备:重复定位精度高、连续工作时间长、程序编写简单易行、配套设备齐全,是柔性生产过程中不可或缺的设备。现代工业机器人系统已具备可自行定义的工件坐标系,它以工件的基准面为参考,是一种全面的坐标转换,包括原点位移和坐标轴旋转,为我们的使用工业机器人提供了极大的便利。

一般来说,机器人的工作过程是对“机器人IO”、“TCP轨迹”、“工作节拍”,这三大要点的精准控制,做好了,就能使机器人优质高效的工作。如果加工路线都能发生偏离,那么,何以言优质加工。故此,轨迹规划就是机器人优质工作的重要前提之一。有了产品设计图,加工工件上各个加工轨迹点的相对位置就能准确定位,在工件坐标系下,进行工业机器人TCP的轨迹规划就有章可循,定位准确。

C语言在1970年由Bell实验室发明,结合了汇编语言和高级语言的优点,代码少、高效灵活、易移植。C++是C语言的拓展延伸。既能实现C语言的过程化程序设计,又能进行以抽象数据类型为特点的基于对象的封装型程序设计。C++我们并不陌生,编程简单易行,因此,我们可以自行编写C++程序,从DXF文件中读取产品设计图中的轨迹矢量特征,形成TCP运动轨迹引导文件。

RAPID编程环境是工业机器人的编程手段之一,ABB工业机器人就是采用RAPID编程环境进行机器人程序编制的,本文就是利用ABB机器人的程序对TCP运动轨迹引导文件进行解读,根据TCP运动轨迹引导文件的数据,实现机器人TCP运动轨迹引导。

2 相关技术

2.1 AutoCAD之DXF 与轨迹特征

AutoDesk CAD是AutoDesk公司开发的CAD软件。是历史最悠久的CAD软件,也是应用最广泛的CAD软件之一。产品设计完成后,产品上各个点的相对位置就是已知的,不管是哪一种设计软件,只要将产品设计图输出成DXF格式,我们就能进行机器人TCP的轨迹规划与引导。

DXF是AutoCAD定义的图形交换文件,是一种开放型数据格式,用于与其它软件进行CAD设计图形数据交换,DXF文件里包含了产品轨迹特征,绝大多数CAD系统都能导入和输出DXF格式文件。DXF有二种存储格式:ASCII格式和二进制格式。本文只讨论ASCII格式。

ASCII格式的DXF文件由几个“段”组成,其基本元素是“数据对”,若干“数据对”组成一个“段”。“数据对”由“组码”和“组值”组成,“组码”和“组值”各自独占一行。“组码”是正整数型字符串,“组值”是实数型或文本型字符串。

一般来说,一个DXF文件包括“标题(HEADER)”段、“类(CLASSES)”段、“表(TABLES)”段、“快(BLOCKS)”段、“实体(ENTITIES)”段、“对象(OBJECTS)”段及“EOF(文件结束)”标志组成。

组码“0””和字符串“SECTION”为段头,组码“0”和字符串“ENDSEC”为段尾。组码“2”和段名(如HEADER、ENTITIES等等)声明本段的作用。

特别说明:与本文相关的是“实体(ENTITIES)”段,本段描述了轨迹的相关数据,如:轨迹的类型(直线、圆弧线、圆形)、轨迹特征点的坐标值。根据这些特征值就能实现对机器人的TCP轨迹引导。

2.2 工业机器人

现代工业机器人具备重复定位复精度高、连续工作时间长、程序编写简单易行的优点,是柔性加工系统的优选设备。在所有加工过程中,加工轨迹直接影响加工质量,因此,机器人的轨迹规划是机器人编程工作的重中之重。

2.2.1 工业机器人的工件坐标系

绝大多数工业机器人都提供了可由用户自行定义的工件坐标系,这是一个完美的坐标转换功能。用户可以以待加工产品(即工件)的基准平面来定义工件坐标。这个工件坐标系与机器人的安装位置无关,必须在机器人的可达范围内,只与工件的摆放位置相关。

定义工件坐标系时,需要选定坐标系原点、确定X轴和Y轴的方向。可以定义多个工件坐标系,在机器人工作时按需使用;自行定义的工件坐标系可以在机器人基座标系里实现偏移和旋转。

使用已完成定义工件坐标系时,机器人控制器自动进行坐标系转换,根据坐标系转换的计算结果,实现机器人TCP的运动轨迹控制。

2.2.2 工业机器人TCP轨迹规划

本文拟采用:从产品设计图输出DXF文件,在DXF文件里,提取轨迹特征,根据轨迹特征,进行TCP运动轨迹控制,实训TCP轨迹规划。

DXF文件里的轨迹特征皆是以产品设计时的基准面为参考的,因此TCP轨迹规划以产品设计的基准参考面来实现才能更精准;前节所述的工件坐标系可为我们实现轨迹规划提供极大的帮助。

2.2.3 工业机器人编程

工业机器人自带程序编辑器,提供了直线运动指令、圆弧运动指令。直线与圆弧轨迹直接使用运动指令,复杂图形(如椭圆)则采用短直线段多次逼近来模拟。

2.3 C语言

C语言是目前很常见的一种计算机编程语言。具备跨平台通用性强、编译方式简单易行、生成后机器代码少的特点。

本文以Microsoft的Visual Studio 2019中的VC++为编译平台,自编程序,实现DXF轨迹特征提取。

3 软件设计

C语言开发平台采用Microsoft的Visual Studio官网提供的免费Community版[1]。

关于VC++的详细内容可参考相关资料[2]。

关于DXF的内容可参考相关资料[3][4]。

关于工业机器人的内容可参考相关资料[5][6]。

CAD软件早已广泛应用于工业设计,因此,产品设计与DXF文件生成本文不作讨论。本文只阐述DXF特征提取和机器人TCP轨迹规划。

3.1 提取轨迹特征

DXF文件包含了产品设计时的图层、线型、视窗、轮廓等等。这些都是产品的关键特征,我们进行机器人TCP轨迹规划与引导时,只需要轨迹特征。因此,我们只需要将轨迹特征提取出来,利用轨迹特征进行轨迹规划。

DXF文件轨迹特征简述:

说明:每对双引号内的字符独占一行,小写字母d代表十进制数字。

“2”和“ENTITIES”:本段为实体段;

“100”和“AcDBLine”:直线轨迹特征数据开始;

“10”和“ddd.dd”:直线段起点X坐标;

“20”和“ddd.dd”:直线段起点Y坐标;

“30”和“ddd.dd”:直线段起点Z坐标;

“11”和“ddd.dd”:直线段终点X坐标;

“21”和“ddd.dd”:直线段终点Y坐标;

“31”和“ddd.dd”:直线段终点Z坐标;

“100”和“AcDBCircle”:圆形轨迹特征数据开始;

“10”和“ddd.dd”:圆心X坐标;

“20”和“ddd.dd”:圆心Y坐标;

“30”和“ddd.dd”:圆心Z坐标;

“40”和“ddd.dd”:圆半径;

更多特征描述,可参考DXF的相关资料[3][4]。

知道了轨迹特征的含义,从ASCII格式的DXF文件中提取就简单易行了,自行编写一个小程序即可。

轨迹特征提取流程图见图1:

3.2 轨迹规划

自行编写轨迹规划辅助程序从特征文件生成引导数据。简单图形,如直线线段、圆弧线段、圆形图形可直接应用移动指令进行轨迹引导;复杂图形,如椭圆、样条曲线,则需依据设计公差进行多线段逼近。

轨迹规划的所有目标点的坐标值皆以工件设计数据为依据,与机器人坐标无关,进行机器人引导时,必须在工件坐标系里进行。

参考DXF文件格式,根据已提取到的轨迹特征文件,自定义轨迹引导文件;根据机器人移动指令的特点,轨迹引导文件格式如下:

(1)以ASCII格式存储,便于识别;(2)以数据组的形式组成机器人运动引导数据,便于机器人程序编程;(3)一个引导数据组独占一行,行首字母代表运动方式,后续若干运动参数。(4)引导参数以半角逗号“,”为参数分隔符、以半角分号“;”为数据组终止符。(5)L代表直线段轨迹,后续行为3个实数数值,分别代表X、Y、Z轴坐标值;(6)C代表圆弧,后续行为6个实数数值,分别代表2个(圆弧)点的X、Y、Z轴坐标值。(7)复杂图形采用多线段逼近。(8)引导文件只包括轨迹数据。节拍控制、工具指向等,在机器人编程时完成。

生成引导数据流程图,见图2:

3.3 RAPID编程实习机器人运动引导

有了机器人TCP运动轨迹的引导数据,根据引导数据指定的运动方式和参数,正确调用机器人运动指令,以中间变量传递运动指令参数,即可实现机器人TCP运动轨迹的引导。

从引导数据文件的第一行开始,每读入一行引导数据进行一次运动引导,至最后一行结束;根据设计要求,在需要的时候,插入工作过渡点、插入节拍控制、IO控制指令等。

如:

在第一个轨迹循迹结束,移至非连续的下一个轨迹起点时,就需要离开加工面,避开可能干涉的区域,然后,再移至下一个轨迹起始点。这个过程就需要添加一些移动指令;

节拍控制和IO控制也不能在DXF文件里体现出来,只有在RAPID编程环境下添加。

4 结语

(1)DXF格式的产品设计图包含了易提取的轨迹特征,可用于工业机器人的轨迹规划。(2)自编写程序从DXF文件里快速提取轨迹特征,忽略与轨迹无关的数据。(3)机器人的移动指令不能完全拟合轨迹,需在加工公差范围内采用短直线段逼近。(4)RAPID编程环境可实现利用轨迹特征的图形交換文件进行机器人TCP的轨迹引导。(5)非连续轨迹间的过渡移动指令需另行添加。(6)机器人IO控制、节拍控制指令需另行添加。

参考文献:

[1]Visual Studio官网:https://visualstudio.microsoft.com/zh-hans/downloads/.

[2]明日科技.Visual C 从入门到精通。清华大学出版社.

[3]DXF文件分析:https://wenku.baidu.com/view/ab13d7fcd5bbfd0a78567311.html.

[4]DXF组码址:https://wenku.baidu.com/view/739eda482e3f5727a5e962a8.html?sxt s=1563506815490.

[5]叶晖,管小清.工业机器人实操与应用技巧.机械工业出版社.

[6]龚仲华,龚晓雯.ABB工业机器人编程全集.人民邮电出版社.

猜你喜欢

坐标系工件轨迹
浅谈求轨迹方程中的增解与漏解
极坐标系中的奇妙曲线
无从知晓
四爪单动卡盘如何校正工件
三角函数的坐标系模型
台钻车削加工装置
求坐标系内三角形的面积
捕捉物体运动轨迹
PLC在气压式冲孔加工机控制系统中的应用
例谈坐标系与参数方程常考题型