摘要:本文建立了面向等離子熔射制模的機(jī)器人軌跡生成系統(tǒng),該系統(tǒng)能由CAD實(shí)體模型直接生成機(jī)器人所帶噴槍的運(yùn)行軌跡,并能精確地控制噴槍的運(yùn)行軌跡、角度、速度,以及噴槍與模型之間的距離。
關(guān)鍵詞:機(jī)器人軌跡 等離子熔射制模 STL
前言
快速成形技術(shù)已成功地實(shí)現(xiàn)了快速原型制造,目前正向快速制造模具尤其是金屬模具的方向迅速發(fā)展。等離子熔射快速制模技術(shù),因其不受尺寸和模具材料限制的優(yōu)點(diǎn)而受到關(guān)注。等離子熔射制模的關(guān)鍵技術(shù)之一是需要在被熔射原型表面熔射一層耐磨、耐腐蝕合金層。然而,以往的噴槍運(yùn)動(dòng)是人工操作完成,難以精確地控制噴槍的熔射軌跡、速度、角度以及與原型之間的距離,導(dǎo)致熔射合金層易產(chǎn)生翹曲和脫落,且直接影響到制成的模具表面質(zhì)量,此外人工熔射時(shí)作業(yè)環(huán)境不好。因此,需要在熔射快速制模中采用機(jī)器人,機(jī)器人軌跡生成系統(tǒng)則是需開發(fā)的關(guān)鍵技術(shù)之一。
本文研究首先將待熔射的模型進(jìn)行實(shí)體造型并轉(zhuǎn)換成STL格式;之后將STL格式文件傳入到針對(duì)本課題編寫的軌跡生成模塊程序中重構(gòu),并生成機(jī)器人所帶噴槍的運(yùn)行軌跡文件;軌跡文件在計(jì)算機(jī)上仿真通過可行性驗(yàn)證后傳輸?shù)綑C(jī)器人的控制器中,搭載在機(jī)器人末端上的噴槍即可按照所設(shè)定的軌跡進(jìn)行熔射。熔射是采用能夠精確地控制等離子噴槍的運(yùn)動(dòng)軌跡的六軸機(jī)器人來完成。
1 系統(tǒng)架構(gòu)
本研究以首鋼MOTOMAN公司的機(jī)器人為基礎(chǔ)建立機(jī)器人輔助等離子熔射快速制模系統(tǒng)。該系統(tǒng)分為軟、硬件兩個(gè)部分,由三個(gè)模塊構(gòu)成。其中軟件部分兩個(gè)模塊:軌跡生成模塊,軌跡仿真和數(shù)據(jù)傳輸模塊。硬件部分即機(jī)器人模塊(見圖1)。

圖1 機(jī)器人熔射系統(tǒng)架構(gòu)圖
軌跡生成模塊:輸入STL格式文件,輸出機(jī)器人所帶噴槍的運(yùn)行軌跡文件。
軌跡仿真和傳輸模塊:能夠?qū)壽E文件進(jìn)行仿真并傳輸?shù)綑C(jī)器人的控制器。
機(jī)器人模塊:能接收軌跡文件并實(shí)現(xiàn)按照所設(shè)定的軌跡運(yùn)動(dòng)。下面分別介紹各個(gè)模塊的實(shí)現(xiàn)過程。
2 機(jī)器人的軌跡生成模塊
通過普通的CAD軟件繪制出待熔射的模型,輸出成為STL格式文件。機(jī)器人軌跡生成模塊以VC++為平臺(tái),通過編程對(duì)STL文件進(jìn)行處理,從而實(shí)現(xiàn)機(jī)器人末端的軌跡生成。
2.1 STL文件重構(gòu)
對(duì)于CAD三維實(shí)體模型,為了得到其表面各點(diǎn)在一定的坐標(biāo)系中的坐標(biāo),采用以一定高度的截面去截取實(shí)體,相交地方的數(shù)據(jù)即模型表面的坐標(biāo),這也是常用的實(shí)體分層原理,即將實(shí)體離散化為一個(gè)個(gè)截面疊加而成。
通常切片離散化得到的點(diǎn)是三維坐標(biāo),而本研究中切片離散化的點(diǎn)要用于機(jī)器人的點(diǎn)的軌跡。機(jī)器人坐標(biāo)系中的點(diǎn)是六維的,除了要知道三個(gè)位置坐標(biāo)外,還需知道繞三個(gè)坐標(biāo)軸的旋轉(zhuǎn)角度,因此需要對(duì)常用的STL文件點(diǎn)的數(shù)據(jù)結(jié)構(gòu)加以補(bǔ)充,使之達(dá)到六維。
STL文件是由一系列小三角面片構(gòu)成,在形成STL文件的過程中(叢CAD軟件輸出STL文件的過程中),三角面片除了帶有其上的三個(gè)點(diǎn)的坐標(biāo)外,還帶有該面片的法向矢量。因此要將構(gòu)成小三角面片的三個(gè)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)加以改進(jìn),給每個(gè)點(diǎn)加上一個(gè)方向矢量(三個(gè)分量),從而使每個(gè)點(diǎn)都具有六維性質(zhì)。點(diǎn)的數(shù)據(jù)結(jié)構(gòu)就將變成:
struct point{
asix_X,asix_Y, asix_Z; //點(diǎn)的X、Y、Z軸坐標(biāo)值
vector_X,vector_Y, vector_Z}; //點(diǎn)的法向矢量的三個(gè)分量
為此將每個(gè)小三角面片的法向矢量賦給它所帶的三個(gè)點(diǎn)(見圖2),使每個(gè)點(diǎn)都變成除了有位置坐標(biāo)外,還有方向的矢量點(diǎn)。對(duì)于每一個(gè)小三角面片,其上三個(gè)點(diǎn)方向矢量都相同,也為該小面片的法向矢量。

圖2 STL文件單元改動(dòng)的比較 圖3 交點(diǎn)矢量合成圖
STL文件中的每一個(gè)點(diǎn),可能總屬于周圍的幾個(gè)小三角面片,找出位置坐標(biāo)值相同的所有點(diǎn),將它們的方向矢量進(jìn)行疊加后得到該點(diǎn)新的方向矢量,原有的方向矢量被去除掉。
2.2 原型表面點(diǎn)坐標(biāo)和法向矢量的求取
用與軌跡相對(duì)應(yīng)的截面去截取實(shí)體,同時(shí)判斷該截面與所有構(gòu)成STL文件的小三角面片所包含的邊是否有交點(diǎn)。若有交點(diǎn),該交點(diǎn)坐標(biāo)值就是所要求的模型表面坐標(biāo)值。根據(jù)上一節(jié)的STL的重構(gòu),交點(diǎn)應(yīng)該是六維,且其位置坐標(biāo)可知。因STL的每條邊兩點(diǎn)的坐標(biāo)已知,兩點(diǎn)間距離和交點(diǎn)到其中一點(diǎn)距離就可以求得,而該邊上兩點(diǎn)的方向矢量也已知,所以由求得的距離和已知的方向矢量,采用比例算法就可求出該交點(diǎn)的方向矢量(見圖3,公式(1))。
(1)

式中:n'1表示第一點(diǎn)的方向矢量,n'2表示第二點(diǎn)的方向矢量,d表示兩點(diǎn)間距離,d1表示交點(diǎn)到第一點(diǎn)距離,n'交點(diǎn)的方向矢量。
2.3 噴槍位置和角度的轉(zhuǎn)換
由2.2節(jié)求得模型表面各點(diǎn)的坐標(biāo)和該點(diǎn)處所在表面的法向矢量。但是,在實(shí)際的熔射過程中,噴槍并不是直接在模型表面移動(dòng),而是離開模型一定距離,垂直于模型表面。并且對(duì)于機(jī)器人所帶等離子噴槍的角度,機(jī)器人是以噴槍繞機(jī)器人三個(gè)坐標(biāo)軸的角度值來表示,不是矢量表示方式。因此需要對(duì)上一節(jié)得到的坐標(biāo)值進(jìn)行轉(zhuǎn)換。由于交點(diǎn)處的方向矢量已求得,該點(diǎn)處的三個(gè)方位角可得,通過給定噴槍和模型之間的距離,就可求得噴槍位置坐標(biāo)值和角度值。
2.4 模型的軌跡文件生成
求得噴槍的位置坐標(biāo)和角度之后,按照一定的規(guī)律將這些點(diǎn)的坐標(biāo)值進(jìn)行排序,從而得到噴槍的一系列有序的位置,然后按照機(jī)器人能夠接收的格式寫出代碼,自此機(jī)器人所帶噴槍的軌跡文件就生成了。
3 仿真和傳輸模塊
該模塊由機(jī)器人自帶的ROTSY和MOTOCOM32兩種軟件構(gòu)成。
ROTSY是機(jī)器人仿真軟件,能對(duì)上一節(jié)生成的軌跡文件仿真。仿真所用的機(jī)器人模型、噴槍和工作臺(tái)可在ROTSY中直接調(diào)用;對(duì)于待熔射原型的模型,一般需要在通用CAD軟件中造型,然后導(dǎo)入到ROTSY中。圖4表示機(jī)器人所帶噴槍對(duì)摩托車覆蓋件模型的軌跡仿真。

圖4 摩托車覆蓋件模具熔射軌跡仿真 圖5 機(jī)器人在熔射實(shí)驗(yàn)中
MOTOCOM32是一個(gè)文件傳輸軟件,計(jì)算機(jī)與機(jī)器人控制器之間采用RS232C串行通訊接口,通過它能實(shí)現(xiàn)機(jī)器人與計(jì)算機(jī)之間的數(shù)據(jù)傳輸。