本文建立了面向等离子熔射制模的机器人轨迹生成系统,该系统能由CAD实体模型直接生成机器人所带喷枪的运行轨迹,并能精确地控制喷枪的运行轨迹、角度、速度,以及喷枪与模型之间的距离。
! p( w/ f" l, |3 k' E; T* D e关键词:机器人轨迹 等离子熔射制模 STL + a% w1 f+ o( i3 d
% n. i- }% `. J/ e前言 % y! Y: E* R) s5 t' G
# k8 E3 M% l# I; |快速成形技术已成功地实现了快速原型制造,目前正向快速制造模具尤其是金属模具的方向迅速发展。等离子熔射快速制模技术,因其不受尺寸和模具材料限制的优点而受到关注。等离子熔射制模的关键技术之一是需要在被熔射原型表面熔射一层耐磨、耐腐蚀合金层。然而,以往的喷枪运动是人工操作完成,难以精确地控制喷枪的熔射轨迹、速度、角度以及与原型之间的距离,导致熔射合金层易产生翘曲和脱落,且直接影响到制成的模具表面质量,此外人工熔射时作业环境不好。因此,需要在熔射快速制模中采用机器人,机器人轨迹生成系统则是需开发的关键技术之一。
( I0 A; l: Z' w) U& r, \! E6 c! m1 r) `# x/ y4 @7 z4 S
本文研究首先将待熔射的模型进行实体造型并转换成STL格式;之后将STL格式文件传入到针对本课题编写的轨迹生成模块程序中重构,并生成机器人所带喷枪的运行轨迹文件;轨迹文件在计算机上仿真通过可行性验证后传输到机器人的控制器中,搭载在机器人末端上的喷枪即可按照所设定的轨迹进行熔射。熔射是采用能够精确地控制等离子喷枪的运动轨迹的六轴机器人来完成。
8 ~* w. H7 p! C) h$ I0 E0 q* a9 Q: ?4 b+ C1 R
1 系统架构
7 }8 v* n j$ r6 {5 A+ t, T* z+ i% ]( a0 I3 M: b
本研究以首钢MOTOMAN公司的机器人为基础建立机器人辅助等离子熔射快速制模系统。该系统分为软、硬件两个部分,由三个模块构成。其中软件部分两个模块:轨迹生成模块,轨迹仿真和数据传输模块。硬件部分即机器人模块(见图1)。 ) _# K0 Q! S/ j# m9 W( h# V$ o% U
图1 机器人熔射系统架构图 轨迹生成模块:输入STL格式文件,输出机器人所带喷枪的运行轨迹文件。 ; U! Z% A' d l, i
轨迹仿真和传输模块:能够对轨迹文件进行仿真并传输到机器人的控制器。
# D8 @; @) }# r机器人模块:能接收轨迹文件并实现按照所设定的轨迹运动。下面分别介绍各个模块的实现过程。
1 x4 r5 _. y' U2 u6 t# c8 x& m/ v6 G! ^, O3 |
2 机器人的轨迹生成模块 $ p! R0 ~, H) T3 U
) Y( D' H7 B4 g0 D3 t3 S6 g
通过普通的CAD软件绘制出待熔射的模型,输出成为STL格式文件。机器人轨迹生成模块以VC++为平台,通过编程对STL文件进行处理,从而实现机器人末端的轨迹生成。 ( r5 m$ j. n3 k1 u; J8 ^1 {& {" T1 e
+ f( j4 p, W* r: t# }" J% u# i2.1 STL文件重构 3 w. c' F: x! B2 ]- d, }# Q
, }" V! Z1 X9 e/ ]3 T& l: T3 F
对于CAD三维实体模型,为了得到其表面各点在一定的坐标系中的坐标,采用以一定高度的截面去截取实体,相交地方的数据即模型表面的坐标,这也是常用的实体分层原理,即将实体离散化为一个个截面叠加而成。
) G0 H' g2 e p; ` a& u. N1 v1 m9 F: F7 } m# J% g6 N9 D- G
通常切片离散化得到的点是三维坐标,而本研究中切片离散化的点要用于机器人的点的轨迹。机器人坐标系中的点是六维的,除了要知道三个位置坐标外,还需知道绕三个坐标轴的旋转角度,因此需要对常用的STL文件点的数据结构加以补充,使之达到六维。 / o3 }1 r( h1 B7 j/ ~
$ ?. d t" E! \4 b- s% p
STL文件是由一系列小三角面片构成,在形成STL文件的过程中(丛CAD软件输出STL文件的过程中),三角面片除了带有其上的三个点的坐标外,还带有该面片的法向矢量。因此要将构成小三角面片的三个点的数据结构加以改进,给每个点加上一个方向矢量(三个分量),从而使每个点都具有六维性质。点的数据结构就将变成: 0 X. b. I# G" K5 b# s: U
2 Z6 `4 I; ^( c6 h0 C4 D) Z+ [
struct point{
' O7 D" J. `, m% r4 l1 Jasix_X,asix_Y, asix_Z; //点的X、Y、Z轴坐标值
$ C4 f% k& [( `0 _4 ~6 f! @$ Jvector_X,vector_Y, vector_Z}; //点的法向矢量的三个分量
7 f8 k, G, K/ r9 K( d7 s( h: B& K. X4 B$ i; `0 m
为此将每个小三角面片的法向矢量赋给它所带的三个点(见图2),使每个点都变成除了有位置坐标外,还有方向的矢量点。对于每一个小三角面片,其上三个点方向矢量都相同,也为该小面片的法向矢量。 - U C/ K( R! d) b' M% V
图2 STL文件单元改动的比较 图3 交点矢量合成图 STL文件中的每一个点,可能总属于周围的几个小三角面片,找出位置坐标值相同的所有点,将它们的方向矢量进行叠加后得到该点新的方向矢量,原有的方向矢量被去除掉。 2 E2 K2 m6 \- C, W% o
& I# M1 m8 H5 J* o) i0 B" D
2.2 原型表面点坐标和法向矢量的求取 : H3 M! r: c8 V
3 ~" C. m, h5 O& U
用与轨迹相对应的截面去截取实体,同时判断该截面与所有构成STL文件的小三角面片所包含的边是否有交点。若有交点,该交点坐标值就是所要求的模型表面坐标值。根据上一节的STL的重构,交点应该是六维,且其位置坐标可知。因STL的每条边两点的坐标已知,两点间距离和交点到其中一点距离就可以求得,而该边上两点的方向矢量也已知,所以由求得的距离和已知的方向矢量,采用比例算法就可求出该交点的方向矢量(见图3,公式(1))。 (1) 式中:n1表示第一点的方向矢量,n2表示第二点的方向矢量,d表示两点间距离,d1表示交点到第一点距离,n交点的方向矢量。 5 N7 x4 @- G! C# p2 \& Q+ w G
* _& {- t* f3 X. V, ~2.3 喷枪位置和角度的转换 / j9 B4 @# A& p( f6 G! O
# X7 ~. |& M6 d0 {& q2 s) n2 O
由2.2节求得模型表面各点的坐标和该点处所在表面的法向矢量。但是,在实际的熔射过程中,喷枪并不是直接在模型表面移动,而是离开模型一定距离,垂直于模型表面。并且对于机器人所带等离子喷枪的角度,机器人是以喷枪绕机器人三个坐标轴的角度值来表示,不是矢量表示方式。因此需要对上一节得到的坐标值进行转换。由于交点处的方向矢量已求得,该点处的三个方位角可得,通过给定喷枪和模型之间的距离,就可求得喷枪位置坐标值和角度值。 p( v1 I4 Z( r4 n1 U
6 r) W" c/ A/ W2 ~$ g2.4 模型的轨迹文件生成
5 W- N. ^0 n5 U$ [- a$ [
- Y4 o& b, c* c求得喷枪的位置坐标和角度之后,按照一定的规律将这些点的坐标值进行排序,从而得到喷枪的一系列有序的位置,然后按照机器人能够接收的格式写出代码,自此机器人所带喷枪的轨迹文件就生成了。 9 C1 K _& W) v8 a$ p$ J
& S0 c$ S/ i$ _: ^0 e( A5 s3 仿真和传输模块
( v! g4 H1 f5 j2 A# M& x& I7 N3 v; \0 t6 w
该模块由机器人自带的ROTSY和MOTOCOM32两种软件构成。 - I; N8 {: [% q6 m/ M2 V# E# r
5 N# E$ M+ C+ ?* \' X, Q8 k: iROTSY是机器人仿真软件,能对上一节生成的轨迹文件仿真。仿真所用的机器人模型、喷枪和工作台可在ROTSY中直接调用;对于待熔射原型的模型,一般需要在通用CAD软件中造型,然后导入到ROTSY中。图4表示机器人所带喷枪对摩托车覆盖件模型的轨迹仿真。 ) F; k& y2 K. N( f1 A# s% j
图4 摩托车覆盖件模具熔射轨迹仿真 图5 机器人在熔射实验中 MOTOCOM32是一个文件传输软件,计算机与机器人控制器之间采用RS232C串行通讯接口,通过它能实现机器人与计算机之间的数据传输。
9 T6 V ?# \; e6 T% p; k" H8 q5 g, |. S8 x8 F0 S
可将轨迹文件通过MOTOCOM32传到机器人的控制器,从而由机器人的控制器来控制机器人带动喷枪运动。如果需要修改轨迹,可以将控制器上的轨迹文件回传到计算机上进行,修改完毕后再传回机器人控制器。
! A* i6 v H" w/ W0 n4 X
1 p' W) w4 V# P4 机器人模块
7 s5 M8 T0 |4 C0 O5 C' L$ h% c$ R9 K! K! W* j. f
机器人模块属于硬件部分,它由机器人本体、控制器、等离子喷枪等构成。在机器人模块中,机器人控制器接收轨迹文件并控制机器人带动等离子喷枪沿仿真所示的轨迹运动,从而实现模型的等离子熔射。图5为机器人本体以及等离子熔射实际情景。
- O2 _1 L6 N" E) n
% k* ~; Z1 W$ F. u/ n, t6 [; D5 熔射制模实验验证
% g8 n) Q% m) w z3 k; [. q* L+ z- Z
为了验证本文建立的机器人运行轨迹生成系统,对摩托车覆盖件模型的机器人熔射运行轨迹进行了熔射实验验证。图6显示覆盖了熔射层的摩托车覆盖件的原型。同以往手工熔射相比,由于机器人能够保持喷枪的运行快速、稳定,以及喷枪与模型之间距离恒定,成形性和皮膜质量有很大提高,且改善了工作环境。得到图6所示表面覆盖熔射层的原型后,经过补强去除原型就可得到最终模具(图7)。
$ ^$ `, |) R2 U8 X. V% ], Y图6 熔射后的摩托车覆盖件模型 图7 摩托车覆盖件凸(左)凹(右)模具 6 结束语 " Z; d$ Z' b2 K# B
' B9 D+ L! y. M* U/ ?
本文建立了面向等离子熔射制模的机器人运动轨迹生成系统。该系统可将被熔射原型的STL格式在轨迹生成模块程序中重构并生成机器人所带喷枪的运动轨迹文件。轨迹文件通过计算机上仿真验证可行性后传到机器人控制器中,使搭载在机器人末端上的喷枪可按照所设定的轨迹进行熔射。对摩托车覆盖件模型进行轨迹生成和熔射实验验证,实现了等离子喷枪的运动轨迹、角度、速度以及与待熔射模型之间距离的精确控制,并以此完成了机器人辅助熔射模具的实际制造。 |