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