基于UG加工信息的工业机器人离线编程
2013-08-16赵燕伟钟允晖余智胜
赵燕伟,钟允晖,陈 建,余智胜
(特种装备制造与先进加工技术教育部/浙江省重点实验室(浙江工业大学),浙江杭州 310014)
随着工业机器人的迅速发展,在反复循环的作业中运用机器人代替人工的技术已经日趋成熟,尤其近两年 ABB、Fanuc、Motoman、Staubli等各大机器人公司纷纷展现出自己在自动化组装技术领域中独特的一面[1]。在加工应用中,因机器人自由度高,可以代替数控机床加工复杂曲面。目前其轨迹规划基本还是依靠手工示教[2],达不到较高的精度,同时对于复杂曲面,示教过程也很繁琐,有的甚至难以实现。
随着CAD/CAM技术的发展,G代码早在20世纪70年代就实现了标准化[3]。在CAD/CAM系统中,通过模拟加工过程可生成数控机床自动运行的加工代码,这些代码包含了加工过程中点、线、面及其之间关系等信息。本文以CAD/CAM技术为基础,通过对加工图形进行模拟加工,将生成的NC加工代码导出,并进一步重组数据转换为机器人运动控制系统可识别的数据格式,结合Staubli机器人运动控制系统的开放性特点,对其进行二次开发,实现离线编程。
1 加工轨迹信息的生成
自动编程亦为计算机辅助编程,即通过相关软件设计零件图纸并设定加工工艺,从而生成数控系统能够读取和执行的代码(NC代码)[4]。随着计算机技术的逐步完善,强大的图形处理能力和计算能力为数控编程的高效化、智能化提供了良好的发展平台。目前,CAD/CAM图形交互式自动编程已得到较广泛的应用[5-6],它利用CAD绘制的零件加工图样,经软件内部刀具轨迹计算和后置处理,从而自动生成数控机床零部件加工代码程序。图1所示为自动编程到机器人读取加工代码的原理图。
图1 自动编程到机器人读取加工代码
鞋楦底面的喷涂轨迹为沿鞋底一周的曲线,如图2所示,外环阴影部分为一定宽度的鞋底涂胶轨迹。生成机器人自动加工轨迹的步骤:(1)在UG环境中通过对鞋底的建模,设置加工环境;(2)设置加工轨迹参数,如图3所示;(3)根据UG模拟加工导出自动加工代码(NC代码),生成加工轨迹代码的文件,如图4所示;(4)使用VC2008编写的程序,提取相应的坐标值、轨迹插补模式、速度控制等信息。
图2 鞋底喷涂轨迹
图3 加工轨迹参数设置
图4 鞋底轨迹加工代码
2 加工轨迹的信息处理
NC代码中包含着加工轨迹信息的特征,与机器人相应轨迹操作代码的对应关系见表1。
表1 机器人指令与数控代码对应关系
对于圆弧来说,机器人插补和数控加工插补具有很大的差异,在数控自动编程系统中,对于圆弧的插补有两种模式[7]:一种是以圆弧的起始点、终止点及半径(S-E-R)来定义的;另一种是以圆弧的起始点、终止点及圆心来定义的(S-E-O),但是这两种方式的圆弧插补都是通过确定圆心和弧度半径来判断圆弧的形状,从而进行插补运算。而在机器人运动参数中,必须明确指定3个坐标点来确定该段圆弧[8-11],因此在将NC代码信息转换为机器人自动加工信息的过程中,必须找出一中间点作为机器人圆弧插补参数。
2.1 顺时针圆弧插补对应机器人插补的参数设定
图5所示为在G02顺时针圆弧插补模式下圆弧的弦线中点P3与圆心P0的各种分布状况图。记P1=(X1,Y1) 为圆弧的起始点,P2=(X2,Y2) 为圆弧的终点,P3=(X3,Y3)为圆弧起点P1和终点P2连线的中点,P0=(X0,Y0)为圆弧所对应的圆心坐标。根据NC代码里的信息可知:I为圆心偏离始点在X轴方向上的偏移量,J为圆心P0偏离始点在Y轴方向上的偏移量,因而根据I,J的参数,可以确定该段插补圆弧的圆心位置以及圆弧半径r。通过几何模型的计算,从而找到机器人插补圆弧所需要的第三个参考点P4,设坐标在XOY平面内的坐标为P4=(X4,Y4),根据圆心与起始点的偏移量可知该圆弧段半径r。
图5 XOY面内G2顺时针圆弧插补
根据圆弧数据的信息以及NC代码中圆弧插补方式G02可知:
2.2 逆时针圆弧插补对应机器人插补的参数设定
图6所示为在G03顺时针圆弧插补模式下圆弧的弦线中点P3与圆心P0的各种分布状况图。记P1=(X1,Y1) 为圆弧的起始点,P2=(X2,Y2) 为圆弧的终点,P3=(X3,Y3)为圆弧起点P1和终点P2连线的中点,P0=(X0,Y0)为圆弧所对应的圆心坐标。根据NC代码里的信息可知:I为圆心P0偏离始点P1在X轴方向上的偏移量,J为圆心P0偏离始点P1在Y轴方向上的偏移量,因而根据I,J的参数,可以确定该段插补圆弧的圆心位置P0以及圆弧半径r。通过几何模型的计算,从而找到机器人插补圆弧所需要的第3个参考点P4,设坐标P4在XOY平面内的坐标为P4=(X4,Y4),根据圆心与起始点的偏移量可知该圆弧段半径r(式(1))。
图6 XOY面内G3逆时针圆弧插补
根据圆弧数据的信息以及NC代码中圆弧插补方式G03可知:
3 系统编程与仿真
由于工业机器人执行的程序语句和数控机床执行的程序语句不同,因而根据Staubli工业机器人的参数要求,从NC代码中提取相关数据信息,其主要工序为:建模—模拟加工—导出NC文件—数据提取—数据传输—机器人加工。
根据图4的代码信息可知,通过指令G01,G02,G03来控制轨迹插补方式,同时上下句插补方式相同时,会隐含插补指令等特征。运用VC2008编写MFC界面程序,通过调用NC代码文件,后台处理文件信息,其主要数据程序处理原理如图7所示,提取出来的机器人可执行的有效数据信息如图8所示。
根据Staubli工业机器人的运动指令特征,把提取出来的数据信息传输到机器人中控制系统中,如图9所示。
图7 信息处理流程图
图8 机器人可识别信息
图9 主控界面程序
提取NC加工轨迹代码数据中的信息传输到Staubli工业机器人的仿真软件里进行模拟加工。图10(a)为机器人控制面板Emulator,图10(b)为在Staubli的虚拟加工环境3DStudio里仿真后的轨迹模型。
图10 机器人轨迹模型加工
模拟仿真证实,可以通过读取图形信息进行离线编程,从而实现机器人根据设计轨迹进行加工。
4 结束语
运用机器人代替数控机床进行加工、喷涂等轨迹作业,可以充分利用机器人自由度高的优势,借鉴现有的CAD/CAM技术作为离线编程的模板,能实现机器人对图形的离线编程加工,可以避免示教编程的大量工作,并提高了作业精度。
目前机器人根据图形进行离线加工还处于初级阶段,本文虽可以实现从图形到自动编程再到机器人加工,但其技术背景是借鉴于数控NC代码。由于数控代码中没法体现姿态的参数,对于复杂的曲面,还需要人为对姿态进行调整,因而姿态问题也是接下来重点研究的工作之一。实现机器人读取图形到离线编程可以为之后的离线编程加工做好基础工作,接下来研究机器人姿态,充分利用其多自由度的优势,可以更加完善地利用机器人作为加工工具,实现智能化加工。
[1] 汉诺威展览会(中国)有限公司新闻部.2008数控机床与金属加工展、工业自动化展和能源展金秋申城再放光芒[J].制造业自动化,2008,30(9):95-96.
[2] 张爱红,张秋菊.机器人示教编程方法[J].组合机床与自动化加工技术,2003(4):47-49.
[3] 吴明友.数控机床加工技术编程与操作[M].南京:东南大学出版社,2000.
[4] 肖软生,王得胜,王江红.自动编程数控加工等距型面[J].机械制造,2011,49(10):52-54.
[5] 唐立山,邓中华,徐家军.CAM编程中刀具及工艺参数的确定[J].机械制造,2008,46(5):44-46.
[6] 马强,王乾廷.图形交互式机器人离线编程系统设计[J].江苏机械制造与自动化,2001(6):59-60,92.
[7] 赵燕伟.现代数控技术[M].杭州:浙江科学技术出版社,2004.
[8] 丁俊兰,周燕飞,孔波.仿形靠模数控加工自动编程软件的开发[J].机械制造,2012,50(1):46-48.
[9] 刘为志,栾楠,刘宝生.基于G代码的工业机器人的自动编程[J].机器人,2002,24(6):497-501.
[10]缪苏毅,赵德安,蔡纪鹤.喷漆机器人离线编程系统物体建模方法的研究[J].机械设计与制造,2009(1):157-159.
[11]Beom-Sahng Ryuh,Sang Min Park,Gordon R Pennock.An automatic tool changer and integrated software for a robotic die polishing station[J].Mechanism and Machine Theory,2006,41(4):415-432.