李正杰, 雷玉成
(江蘇大學(xué),江蘇 鎮(zhèn)江 212013)
在全自動(dòng)白車身焊接生產(chǎn)線中,設(shè)計(jì)開放式柔性總拼點(diǎn)焊這種焊接機(jī)器人[1]分布較為密集的工位時(shí),必須根據(jù)機(jī)器人的動(dòng)態(tài)仿真[2]結(jié)果進(jìn)行干涉檢查,從而進(jìn)行設(shè)計(jì)優(yōu)化。
Tecnomatix是SIEMENS PLM Software提供的數(shù)字化制造解決方案,通過將制造規(guī)劃包括從工藝布局規(guī)劃和設(shè)計(jì),工藝過程仿真和驗(yàn)證到制造執(zhí)行與產(chǎn)品設(shè)計(jì)連接起來,實(shí)現(xiàn)在3D的環(huán)境下進(jìn)行制造工藝過程的設(shè)計(jì)。SIEMENS NX軟件是集成產(chǎn)品設(shè)計(jì)、工程與制造于一體的解決方案,具有先進(jìn)的概念設(shè)計(jì)、三維建模功能。
NX與Tecnomatix均采用三維笛卡爾坐標(biāo)系下的世界坐標(biāo)系作為原點(diǎn)基準(zhǔn),并且可以訪問*.CSV格式文件,也有共同的3D數(shù)據(jù)格式*.jt,為NX與Tecnomatix的交互提供了前提條件。
Tecnomatix環(huán)境中干涉狀態(tài)容易獲得,但建模功能并不突出,NX 3D建模軟件無法直接進(jìn)行機(jī)器人動(dòng)態(tài)焊接仿真,不利于保證設(shè)計(jì)質(zhì)量,縮短設(shè)計(jì)周期。為此該文根據(jù)SIEMENS NX函數(shù)庫[3],結(jié)合visual stu-dio 2012開發(fā)工具開展實(shí)現(xiàn)動(dòng)態(tài)仿真結(jié)果批量導(dǎo)入建模環(huán)境進(jìn)行交互的NX二次開發(fā)[4-6]工作。
在Tecnomatix中定義仿真機(jī)器人的工具坐標(biāo)系(Tool control frame,TCF)[7]。對機(jī)器人進(jìn)行示教得到機(jī)器人的焊接軌跡[8],也就是TCF的位置與姿態(tài)。TCF的設(shè)置如圖1所示,在伺服焊槍的電極帽頂端。+Z方向由靜電極臂指向動(dòng)電極臂,+X方向?yàn)闄C(jī)器人的前進(jìn)方向。
圖1 TCF設(shè)置示意圖
通過示教機(jī)器人TCF到達(dá)焊點(diǎn)處之后再根據(jù)干涉情況進(jìn)行位姿調(diào)整。首先,因?yàn)楹更c(diǎn)的位置也就是相對絕對坐標(biāo)系的X,Y,Z值是已知的,所以就得到該焊點(diǎn)處相應(yīng)的TCF的位置。然后,通過繞X,Y,Z軸的旋轉(zhuǎn)來調(diào)整TCF的姿態(tài),繼而可以得到相應(yīng)的旋轉(zhuǎn)角度。對于這種現(xiàn)象,可以引用機(jī)器人運(yùn)動(dòng)學(xué)中齊次變換[9]的理論來分析工作坐標(biāo)系相對于絕對坐標(biāo)系的變換情況。
假設(shè)坐標(biāo)系OabsXabsYabsZabs按照右手定則,繞+Z軸逆時(shí)針旋轉(zhuǎn)θ角,得到新坐標(biāo)系OwcsXwcsYwcsZwcs如圖2所示,將其各軸投影到原坐標(biāo)系的坐標(biāo)軸上而建立旋轉(zhuǎn)矩陣Rabswcs。得出各相對兩坐標(biāo)軸單位向量的點(diǎn)積列表如式(1)所示,旋轉(zhuǎn)矩陣如式(2)所示。式(2)矩陣也稱為基本旋轉(zhuǎn)矩陣,引入更具描述性的符號RZ,θ來表示。同理,繞Xabs軸和Yabs軸轉(zhuǎn)動(dòng)的基本旋轉(zhuǎn)矩陣如式(3)與式(4)所示。
圖2 構(gòu)建坐標(biāo)系示意圖
(1)
(2)
(3)
(4)
如圖3所示,旋轉(zhuǎn)矩陣R為分別繞Xwcs0軸旋轉(zhuǎn)α角, 繞Ywcs0軸旋轉(zhuǎn)β角,繞Zwcs0軸旋轉(zhuǎn)θ角疊加的結(jié)果。根據(jù)矩陣運(yùn)算理論,矩陣相乘不滿足交換律,因此必須遵循旋轉(zhuǎn)序列執(zhí)行的順序,也必須嚴(yán)格要求對應(yīng)的旋轉(zhuǎn)矩陣相乘的順序。
圖3 相對于當(dāng)前坐標(biāo)系旋轉(zhuǎn)疊加過程示意圖
Tecnomatix中的仿真數(shù)據(jù)均是相對固定坐標(biāo)系旋轉(zhuǎn)給出,上面的旋轉(zhuǎn)疊加公式并不適用,可引用相似變換理論推導(dǎo)出。
(5)
以O(shè)wcs0Xwcs0Ywcs0Zwcs0為固定坐標(biāo)系,繞Zwcs0軸基本旋轉(zhuǎn)RZ,θ,經(jīng)相似變換在新坐標(biāo)系Owcs1Xwcs1Ywcs1Zwcs1中表示如式(6)所示:
(6)
繞Ywcs0軸旋轉(zhuǎn)疊加的結(jié)果如式(7):
(7)
經(jīng)過相似變換后在新坐標(biāo)系Owcs1Xwcs1Ywcs1Zwcs1中表示為,繞Xwcs0軸旋轉(zhuǎn)疊加表示如式(8)所示:
(8)
式(9)為旋轉(zhuǎn)矩陣Rwcs0wcs3表示固定坐標(biāo)系Owcs0Xwcs0Ywcs0Zwcs0分別繞Xwcs0軸旋轉(zhuǎn)α角,繞Ywcs0軸旋轉(zhuǎn)β角 ,繞Zwcs0軸旋轉(zhuǎn)θ角的推理表達(dá)式。疊加過程如圖4所示,Owcs0Xwcs0Ywcs0Zwcs0為原始坐標(biāo)系,Owcs1Xwcs1Ywcs1Zwcs1為分別旋轉(zhuǎn)后的新坐標(biāo)系,Owcs2Xwcs2Ywcs2Zwcs2為旋轉(zhuǎn)疊加后的最終坐標(biāo)系。
圖4 相對于固定坐標(biāo)系旋轉(zhuǎn)疊加過程示意圖
(9)
將Tecnomatix中機(jī)器人的TCF位姿數(shù)據(jù)以及對應(yīng)坐標(biāo)系的焊槍3D數(shù)據(jù)的導(dǎo)入這一過程雖然可以由設(shè)計(jì)者可手動(dòng)從Tecnomatix中逐個(gè)導(dǎo)入仿真數(shù)據(jù)但效率低且極易出錯(cuò)。文中利用相似變換理論開發(fā)了旋轉(zhuǎn)矩陣的程序算法,基于C++平臺的NX二次開發(fā)系統(tǒng)框圖如下圖5所示?;贑++平臺創(chuàng)建可訪問的程序架構(gòu)并生成用戶界面。Application用來存放UI BLOCK對話框設(shè)計(jì)生成的.dll文件和通過對主程序編譯生成的.dll文件,Source用來存放源程序,Startup用來存放菜單*.men文件。
圖5 基于C++平臺的NX二次開發(fā)系統(tǒng)框圖
圖6為主程序開發(fā)流程圖,NX開發(fā)向?qū)?chuàng)建環(huán)境,UI Block對話框設(shè)計(jì)自動(dòng)生成代碼,旋轉(zhuǎn)矩陣函數(shù)寫入,批量導(dǎo)入part文件。訪問矩陣,創(chuàng)建坐標(biāo)系和導(dǎo)入部件的實(shí)現(xiàn)通過調(diào)用UFUN函數(shù)UF_CSYS_create_matrix,UF_CSYS_create_csys,UF_PART_import。文中以NX6之前版本UI樣式編輯器來顯示界面設(shè)計(jì)結(jié)果,如圖7所示。
圖6 主程序開發(fā)流程圖
圖7 UI BLOCK界面設(shè)計(jì)對話框
在Tecnomatix中示教完機(jī)器人的路徑之后可以直觀的獲得TCF的位姿X,Y,Z,RX,RY,RZ的數(shù)值并導(dǎo)出,干涉點(diǎn)坐標(biāo)如圖8所示,整理成*.CSV文件,并在NX中按圖7導(dǎo)入,便可進(jìn)行直觀地檢驗(yàn)焊槍與夾具等干涉軌跡演示,如圖9所示為未導(dǎo)入仿真結(jié)果之前的環(huán)境,圖10為導(dǎo)入仿真結(jié)果之后的狀態(tài)。
圖8 完成機(jī)器人示教后的TCP位姿圖
圖9 未導(dǎo)入仿真結(jié)果環(huán)境示意圖
圖10 導(dǎo)入仿真結(jié)果環(huán)境示意圖
(1)針對焊接機(jī)器人分布十分密集的自動(dòng)點(diǎn)焊工位,借助NX的二次開發(fā),成功實(shí)現(xiàn)將Tecnomatix平臺下仿真結(jié)果導(dǎo)入到NX設(shè)計(jì)環(huán)境,從設(shè)計(jì)端分析自動(dòng)點(diǎn)焊焊接軌跡的合理性并進(jìn)行準(zhǔn)確的模型修正。
(2)仿真數(shù)據(jù)與設(shè)計(jì)數(shù)據(jù)的成功結(jié)合,在設(shè)計(jì)端獲得焊槍與其他裝備的干涉狀況這一現(xiàn)象驗(yàn)證了針對NX二次開發(fā)程序具有較好的實(shí)用性和可靠性。
(3)解決了Tecnomatix仿真軟件在檢測出問題后無法進(jìn)行3D圖形的修改,而NX 3D建模軟件中不方便進(jìn)行動(dòng)態(tài)仿真檢測干涉狀態(tài)的問題。