本网站官方群 工业工程5000人群号 249148633
0引言 如今工业机器人已逐步融入工业生产之中,与工业机器人开发相关的企业也相继在中国出现。然而,对于不同客户的需求,只能通过工程师编写不同程序的方式来满足客户的需求。因此,在这些企业中,大多数都是以“非标”产业和机器人代售为主。而同一机器人应用于不同工作环境,在软件设计上的通用性问题上一直存在着很大的阻碍。 1机器人系统框架 工业机器人系统通过控制软件发送指令给予SmartPAC运动控制器,由控制器根据相关指令转换为轴的驱动指令并传输给相应的轴伺服器,轴伺服器根据接收过来的指令控制轴以执行相关动作。参数输入端是由鼠标与键盘通过USB接口直接接入控制器,该控制器自带操作系统WinCE.控制软件在该运动控制器的WinCE环境下运行,通过输入端在控制软件上设定相关参数或进行操作,由通用控制软件分析并确定一条合适的加工路径。根据加工路径,得出相关指令集合,通过控制软件向轴依次发送指令,以达到加工工件的目的。 该工业机器人系统框架如图1所示。
2通用控制软件简介 该软件控制端所控制的机器人是由三个雅马哈单轴伺服器以及一个Smart PAC运动控制器相组合而成的三轴台式工业机器人。其中三轴分别命名为X,Y,Z,相互构成了一个立体空间。加工工件固定于Y轴上,处于XY平面之内。在加工工件上分布着N个加工点。 操作人员只需通过该软件控制端输入加工工件的模型,以及加工点的位置。通过栅格法加入树的形式对模型逐步分解,对加工点逐个确定,接下来从中分析出最佳路径,最佳路径以最短的时间内完成单位工件的加工为准。 该三轴台式工业机器人通用控制软件界面如图2所示,主要分为4个部分,左上角为参数设置面板,左下角为轴位置显示面板,右上角为控制操作面板,右下角为轴测试面板,用以测试轴能否正常工作。参数设置面板与控制操作面板将会在下文中详细介绍。
3软件框架设计 该控制端软件工作于Windows CE操作系统,在VisualStudio 2005下使用C#语言进行开发。进入控制端软件首先进入的是窗体初始化函数。在窗体初始化函数中进行各轴的配置并启动轴,以确保各轴在开始工作之前就已回归零点位置。在回归零点位置之后,再将各轴关闭。这里需要注意的是,并不是在窗体初始化函数里面去等待轴回到零点再进行关闭各轴操作,而是在窗体定时器中去检测并关闭。否则,窗体将在相当长的一段时间之内会处于丢失焦点的状态,或窗体需等轴回到零点之后再出现。定时器是整个软件的一个核心部分,相当于软件的心脏,它承担着轴状态检测、加工工件计数、指令发送等功能。图2为该软件控制端的界面,在左上角有一个参数设置的面板,在这个面板中存在着两个参数设置,分别是轴参数设置和工件参数设置。轴参数设置包含着三轴长度设置与轴运动速度设置,可将相关的轴配置信息保存为后缀为txt的文本格式或后缀为doc的Word文档格式,以便下次直接读取使用。轴参数设置的具体流程图如图3所示。
工件参数设置包括工件模型设置、工件上的加工点位置的设置及轴参数设置中的文件读取与保存。其中,模型设置采用多视角视图法,视图个数根据所需加工的模型设定。对于精度要求不高的模型也可采用数组输入的方法。两种方式的模型输入都支持拷贝,便于在已有模型上修改加工位置。而加工点的位置则直接在模型的基础上进行设置即可。 图2的控制界面中存在着3个按键,分别是执行、暂停和停止。这3个按键分别执行着不同功能,一般情况下,只使用暂停按键,停止按键执行急停的任务,用作紧急处理,当停止按键按下时,就意味着加工必须重新开始。执行和停止按键的流程图如图4所示。
4路径规划 4.1环境表示 在环境表示上采用栅格法,用栅格法表示加工工件模型及加工环境相对容易,但时间复杂性相对较高。 对于工业加工而言,加工工件一般都是成批量进行加工的,只需在第一次加工该加工工件开销相对较长的时间,此后的每一次加工只需从存储的文件中,调用之前已得到的最优路径进行加工即可,而且,工业加工更需要一个相对较为容易得到的模型。 常用的栅格法如图5所示。该方法是将整块目标区域划分成N个等份的小格,但是这种方法对于工业加工来说精度差,数据存储空间过大,而且时间开销较大。改进后的栅格法如图6所示。该改进后的栅格法是采用逐步细分法,先将整个区域细分成四块,然后判断加工点在哪块区域,接着在细分,直到加工点及环境足以被表示出来为止。该方法在对无加工点和无加工工件的区域内不进行细分,大大节省了数据消耗,并且有针对性的对有加工点及加工工件的位置进行细分,提高了加工精度。为了在工件加工时能够更精确地表示加工位置,该控制软件在环境表示上所采用的是改进后的栅格法。
在环境表示的代码实现上采用链表的形式。环境单位结点的构建采用结构体的形式,其主要包括子结点地址、父结点地址和权值等。不同的权值代表着不同的含义,可表示存在加工点区域、靠近加工点区域、加工工件非加工点部分及其他区域,它是实行路径规划实现的引领者,在下节路径规划当中将详细介绍。环境单位结点的代码如下:
一旦区域划分完毕,将需要一值予以表示其加工点的位置。采用结构体的形式予以表示,包括X,Y,Z三个坐标,表示其相对于所在结点空间的坐标。该结构体属于环境单位结点的一部分,具体代码如下: Struct News {int x;int y;int z;}; 每一个环境单位结点都拥有自己的一个ID号,即该环境单位的大小及位置,具体代码如下: Struct Size {int y;int z;int x;int Size;}; x,y,z分别是区域空间内该坐标轴上的最小值,Size表示该立方体区域的边长。 4.2权值寻找 在路径规划上,采用权值寻找法。对每一个环境节点都进行一个权值的赋予,给予结点不同的优先级,权值越低,优先级越高,用于在路径寻找中找到最优路径。 例如,现有4个子节点A,B,C,D,给予A结点的权值为100,B结点的权值为80,C结点的权值为50,D结点的权值为10.现在在路径规划寻找最优路径时,直接先寻找到D结点,然后继续寻找下去,若出现多个优先级相同的结点时,则分而寻之,到寻找完毕之后,再进行最优路径选取,可采用权值之和最小者优先的方法等[6].权值赋予的优先级按由高到低的顺序排列为:存在加工点,靠近加工点,加工工件非加工点部分,其他区域。 实验结果表明,采用上述路径规划选定的实际加工路径与理想加工路径依然存在着一定的差距。图7为理想加工路径,图8为实际加工路径。
5总结 本文通用控制软件是在三轴台式工业机器人的基础上,以SmartPAC运动控制器为核心,通过改进后的栅格法进行模型建立,利用权值寻找法进行树的遍历寻找出一条最优路径作为加工路径。经实验表明,该软件基本达到轴式机器人定位要求,能实现简单的路径规划,具备一定的通用性。针对大批量工业加工而言,软件在加工工件的首次模型实现与路径规划上时间开销较大,相比人为设定加工路径要简单、高效、便捷。 |
2020-02-17
2022-06-13
2021-12-13
2022-11-09
2022-10-20