王力,喬鳳斌,陳正宇
(上海航天設備制造總廠研發(fā)部,上海200245)
隨著工業(yè)機器人的廣泛應用,國內(nèi)外各家機器人廠商以及相關研究機構均推出了針對各種品牌6自由度機器人的操作控制系統(tǒng)。這些機器人不僅具有基本的示教模式,而且擁有各種離線仿真和編程功能。例如,國外機器人生產(chǎn)廠商FANUC公司的RoboGuide、川崎機器人公司的Delmi、KUKA公司的 ProSim和CAMRob、安川電機公司開發(fā)的ROTSY[1],以及國內(nèi)相關研究機構如南京理工大學研制的WROBCAM[2]等等。不過這些操作控制軟件仍存在著一些問題,如對機器人本體運動定位控制精度較低,只適用于粗定位,需要使用人工示教進行重新精確校正;另外,操作控制軟件對于機器人離線仿真和NC制造加工功能進行了分離,需要通過第三方軟件生成相應的NC數(shù)控加工代碼,而后對生成的代碼進行篩減和處理,最后生成相應的機器人運動軌跡程序,增加了實際操作過程中的復雜度,而且對于機器人所帶負載執(zhí)行部件無法直接生成相應的運動控制程序;還有一些軟件雖已具有CAD/CAM功能,并能夠進行相當高精度的加工控制,但只能在其開發(fā)平臺上進行CAD/CAM功能實現(xiàn),與其他CAD軟件的兼容性很差制約了其軟件的推廣,且此類軟件開發(fā)和維護價格相當昂貴,并不適合國內(nèi)企業(yè)的應用要求。
為了彌補以上的機器人操作控制軟件的缺陷,設計出一款具有離線仿真、在線監(jiān)控、遠程設計制造管理功能以及高定位精度的機器人系統(tǒng)控制軟件以滿足攪拌摩擦點焊機器人無紙化制造的需要。該文采用OCC(Open CASCADE)、STEP(the Standard of Transfer and Exchange of the Product data)以及XML(eXtensible Markup Language)相結(jié)合作為自主開發(fā)機器人控制軟件的設計基礎。并利用某廠2011年開發(fā)的國內(nèi)第一臺基于TCP/IP網(wǎng)絡控制無匙孔攪拌摩擦點焊機器人樣機作為研究對象[3],如圖1所示。采用面向服務的網(wǎng)絡控制框架以及機器人本體模塊化數(shù)據(jù)庫重組的方式進行攪拌摩擦點焊機器人無紙化制造通訊平臺的搭建。
圖1 無匙孔攪拌摩擦點焊機器人樣機
該控制平臺主要是針對無匙孔攪拌摩擦點焊應用開發(fā)的機器人焊接系統(tǒng)。攪拌摩擦點焊作為一種新型焊接技術,已應用于汽車白車身焊接、航天設備取代鉚接焊接以及軌道交通車身缺陷補焊等,對于開發(fā)一款具有攪拌摩擦點焊功能的機器人,對于汽車生產(chǎn)線自動化點焊、航天設備內(nèi)部焊接以及軌道交通車身探傷裂痕快速補焊等有很高的應用價值。以下簡要介紹在設計中所采用的OCC、STEP、XML等工具。
OCC平臺是由法國Matra Datavision公司開發(fā)的CAD/CAE/CAM軟件平臺,可以說是世界上最重要的幾何造型基礎軟件平臺之一。開源OCC對象庫是一個面向?qū)ο驝++類庫,用于快速開發(fā)設計領域的專業(yè)應用程序。OCC主要用于開發(fā)二維和三維幾何建模應用程序,包括通用的或?qū)I(yè)的計算機輔助設計CAD系統(tǒng)、制造或分析領域的應用程序、仿真應用程序或圖形演示工具。OCC通過有機組織的C++庫文件提供了6個模塊。可視化模塊作為OCC的核心部分,是可視化技術的具體體現(xiàn)。由于OCC技術是一個開源的軟件開發(fā)平臺,因此在數(shù)值建模軟件如CADCAECAM的開發(fā)上得到了廣泛的應用。
STEP標準作為CAD設計模型的中性輸出文件標準,對于模型信息的重繪在90%以上,優(yōu)于IGES標準格式模型,且可讀性也高于IGES標準。在制造業(yè)的不斷發(fā)展中,STEP標準也得到了進一步的擴充。隨著文件檢索和共享技術在網(wǎng)絡中應用的廣泛性,使得基于STEP的單系統(tǒng)文件交換體系已不能滿足網(wǎng)絡應用要求[4]。在1999年 11月,國際標準化組織(ISO)推出稱為“EXPRESS驅(qū)動數(shù)據(jù)的XML表示模型”,該標準可以用XML語法對EXPRESS(STEP中性描述語言)進行描述,最新的國際標準為ISO10303—Part28[5]。因此,文中使用該標準對待加工零部件的幾何信息進行處理。
XML文本文件格式具有良好的數(shù)據(jù)互操作性、通訊代碼設計具有可擴展性、信息表達結(jié)構性強等優(yōu)點[6]。并且XML方式是一種比較通用的語法規(guī)則,在進行數(shù)據(jù)共享過程中,共享雙方只需要知道相應的元素名稱,即可獲取元素所對應的文本信息、數(shù)據(jù)信息、屬性信息等,這種方式極大地提高了共享雙方的讀取數(shù)據(jù)能力以及可獲取的數(shù)據(jù)量[7]。文中對攪拌摩擦點焊機器人數(shù)控加工軌跡指令和焊接運動控制指令的應用簡列如下:
<SpotRobotData>
<TString>EKX message example!</TString>
<RobotCommand>
<Line1>X100</Line 1> <Line2>X200Y200</Line 2>
<ClockCircle1>X200Y200</ClockCircle 1>
西王集團以玉米深加工和特鋼為主業(yè),擁有三家上市公司,其成長歷程堪稱改革開放40年中的標志性企業(yè)。其創(chuàng)始人王勇是全國人大代表,也在今年入選改革開放40年感動山東人物。
</RobotCommand>
<SpotCommand>
<SpotNum>10</SpotNum>
<Recipe> <Spindle1>200<Spindle1><Pin1>0</Pin1><Sleeve1>0</Sleeve1></Recipe>
</SpotCommand></SpotRobotData>
攪拌摩擦點焊機器人以OCC作為設計平臺,通過幾何與運動約束分析,建立運動學動態(tài)仿真模型,并對點焊機器人焊接加工零件工藝制造方案進行研究。以XML作為數(shù)據(jù)載體,通過發(fā)送相應的XML文件并在機器人控制系統(tǒng)與上位機之間訂立相應的傳遞協(xié)議,進而達到實現(xiàn)攪拌摩擦點焊機器人運動離線仿真的目的。
在搭建點焊機器人無紙化控制平臺時,首先需要將攪拌摩擦點焊機器人的8個部件 (從下往上分別為固定底座、腰部、大臂、小臂、腕部1、腕部2、法蘭盤、點焊執(zhí)行部件)以中性文件 (.step)導入OpenCascade平臺,而后完善各部件的運動約束。由于攪拌摩擦點焊機器人樣機具有6個轉(zhuǎn)動副,因此采用6個旋轉(zhuǎn)中心點矢量位置以及與各旋轉(zhuǎn)中心點相關的轉(zhuǎn)動副運動角度范圍進行約束。建立點焊機器人初始位置幾何模型如圖2所示。根據(jù)圖2易得6自由度機器人前5自由度旋轉(zhuǎn)中心點的矢量位置分別為θ1旋轉(zhuǎn)中心點坐標(-2 000,0,320),旋轉(zhuǎn)中心點方向(0,0,1);θ2旋轉(zhuǎn)中心點坐標(-2 000+350cosθ1,350sinθ1,750),旋轉(zhuǎn)中心點方向(-sinθ1,cosθ1,0);θ3旋轉(zhuǎn)中心點坐標(-2 000+(350+1 250sinθ2)cosθ1,(350+1 250sinθ2)sinθ1,1 250cosθ2+750),旋轉(zhuǎn)中心點方向(-sinθ1,cosθ1,0);θ4旋轉(zhuǎn)中心點坐標(-2 000+(350+1 250sinθ2)+558cos(θ2+ θ3)-55sin(θ2+ θ3))cosθ1,(350+1 250sinθ2+558cos(θ2+θ3)-55sin(θ2+ θ3))sinθ1,1 250cosθ2-558sin(θ2+ θ3)-55cos(θ2+ θ3)+750),旋轉(zhuǎn)中心點方向(cos(θ2+θ3)cosθ1,cos(θ2+ θ3)sinθ1,-sin(θ2+ θ3));θ5旋轉(zhuǎn)中心點坐標(-2 000+(350+1 250sinθ2+558 cos(θ2+ θ3)-55sin(θ2+ θ3)+542cos(θ2+ θ3))cosθ1,(350+1 250sinθ2+558cos(θ2+ θ3)-55sin(θ2+ θ3)+542cos(θ2+ θ3))sinθ1,1 250cosθ2-558sin(θ2+ θ3)-55cos(θ2+ θ3)-542sin(θ2+ θ3)+750),旋轉(zhuǎn)中心點方向為 (sinθ1cosθ4-sin(θ2+ θ3)cosθ1sinθ4,-cosθ1cosθ4-sin(θ2+ θ3)sinθ1sinθ4(-cos(θ2+ θ3)sinθ4))
圖2 攪拌摩擦點焊機器人初始位置幾何模型
然而對于法蘭盤的旋轉(zhuǎn)中心點矢量位置的求解則需要根據(jù)歐拉角變換建立空間坐標,如圖3所示。
圖3 機器人旋轉(zhuǎn)空間坐標幾何模型
通過以上計算求出各旋轉(zhuǎn)中心點運動過程中的矢量坐標,同時根據(jù)實際機器人各轉(zhuǎn)動副旋轉(zhuǎn)角度范圍,確定整個點焊機器人運動學約束條件。
在確定點焊機器人運動約束條件后需要對機器人離線仿真中的機器人運動進行分析。機器人運動學分析方法很多,文中采用傳統(tǒng)的D-H參數(shù)法[8]進行分析。在實際應用中,大多數(shù)情況是已知機器人末端點笛卡兒坐標系求解6轉(zhuǎn)動副轉(zhuǎn)動角度值,即機器人逆運算求解。根據(jù)圖2幾何模型可求得點焊機器人6轉(zhuǎn)動副角度值 (設為 θ1、θ2、θ3、θ4、θ5、θ6):
根據(jù)實際點焊機器人特點6軸坐標系和笛卡兒坐標系位置可驗證上述逆解結(jié)果的正確性。在上述點焊機器人運動約束條件和運動方程的基礎上即可建立點焊機器人離線仿真運動模型,同時可對焊接周邊環(huán)境建立模型,如圖4所示。
圖4 攪拌摩擦點焊機器人與環(huán)境建模
將需要焊接的零部件以STEP格式導入所設計的無紙化CAM軟件,通過指定待加工零部件加工軌跡,生成相應的加工代碼,以XML的形式傳遞至機器人系統(tǒng),而后在KUKA機器人內(nèi)部通過加工代碼調(diào)用相應預設定的模塊化數(shù)據(jù)庫重組程序,從而達到攪拌摩擦點焊數(shù)字控制加工的目的。點焊機器人無紙化制造通訊平臺邏輯示意圖如圖5所示。
圖5 點焊機器人無紙化制造通訊平臺邏輯示意圖
在進行機器人NC代碼的設計中,首先根據(jù)機器人本身所能實現(xiàn)的數(shù)字插補功能進行分析,并根據(jù)攪拌摩擦點焊設備自身焊接運動控制狀況,擬定NC指令代碼如表1 所示[9]。
根據(jù)表1中的NC指令代碼,對KUKA機器人運動軌跡程序進行模塊化設計。KUKA機器人采用的KRL(KUKA Robot Language)語言,可以在笛卡兒坐標系下采用相對位置偏移的方法進行模塊化指令調(diào)用。如NC指令G01Y361.1即y軸相對運動直線插補361.1 mm,對應的KRL語言為相對當前位置直線運動 LIN_REL{FRAME:Y 361.1}[10],盡管在 KRL 中運動指令只能進行常數(shù)指令運動,但通過選擇判斷語句可以將Y361拆分成300 mm、60 mm、1 mm、0.1 mm進行相對運動插補,即將KRL運動指令模塊化并建立相應的偏移運動指令數(shù)據(jù)庫,在應用中進行調(diào)用重組,從而實現(xiàn)機器人NC指令程序模塊化組合調(diào)用。
表1 攪拌摩擦點焊機器人NC指令
為了能將攪拌摩擦點焊機器人控制平臺應用于遠程控制與監(jiān)控中,采用了面向服務的網(wǎng)絡控制框架,網(wǎng)絡控制框架邏輯如圖6所示[11]。在網(wǎng)絡控制框架中,服務供應商將提供所有可能的服務,并存儲于服務索引庫中。服務消費者通過服務索引庫查詢相應的服務,當指定某一服務后,服務索引庫則請求服務提供商提供相應的服務同時確認服務消費者的服務請求,服務索引商則提供相應的服務給服務消費者并與其以此服務綁定。
圖6 面向服務的網(wǎng)絡控制框架邏輯圖
將上述面向服務的網(wǎng)絡控制框架移植到攪拌摩擦點焊機器人組控制中,搭建出攪拌摩擦點焊機器人網(wǎng)絡通訊平臺,網(wǎng)絡通訊邏輯示意如圖7所示。在客戶機遠程控制與管理中存在兩種可能的方式如圖7中①和②所示。以復雜體焊接進行實驗,如圖8所示車體后門點焊為例,在①新建零部件加工中,客戶機首先選定攪拌摩擦點焊服務類型,并通過無紙化制造通訊平臺將所需加工的零部件以及加工運動軌跡以STEP中性文件傳至網(wǎng)絡服務數(shù)據(jù)庫,網(wǎng)絡服務數(shù)據(jù)庫向網(wǎng)絡服務器發(fā)出加工請求,并對STEP中性文件進行幾何模型重建,網(wǎng)絡服務器確定加工請求后,與客戶機進行指定服務綁定,將加工運動軌跡轉(zhuǎn)換為相應的NC代碼以XML發(fā)送至對應的攪拌摩擦點焊機器人。
圖7 攪拌摩擦點焊機器人網(wǎng)絡通訊
圖8 某車體后門點焊
在方式②中,當客戶機查詢的是已存在的加工零件并只需要在已有加工軌跡上進行修改,那么網(wǎng)絡服務器將從網(wǎng)絡服務數(shù)據(jù)庫中進行索引,在確定存在時則返回相應的XML數(shù)據(jù)文件通知網(wǎng)絡服務器,并確認客戶機的請求,與此同時,網(wǎng)絡服務器與客戶機綁定,對客戶機傳遞的XML加工修改信息進行提取,并與網(wǎng)絡服務數(shù)據(jù)庫傳入的數(shù)據(jù)進行組合,而后生成NC代碼傳入對應的機器人控制器中。
在攪拌摩擦點焊機器人加工過程中,機器人控制器將當前機器人的運動控制軌跡數(shù)據(jù)采樣點以及其它控制與監(jiān)控信息以XML文本實時地傳遞給網(wǎng)絡服務器,網(wǎng)絡服務器將提取相關信息分別傳遞至遠程控制終端和遠程監(jiān)視終端,兩終端從網(wǎng)絡服務數(shù)據(jù)庫獲取加工零件和攪拌摩擦點焊機器人信息并與XML文本中相應信息組合生成在客戶機上顯示所需虛擬圖像和文本信息,從而達到對工作現(xiàn)場攪拌摩擦點焊機器人實時控制與監(jiān)控的目的。
采用機器人模塊化數(shù)據(jù)庫重組NC程序設計,通過XML文本進行數(shù)據(jù)的傳遞,以STEP中性文件幾何信息作為基礎,對攪拌摩擦點焊機器人運動進行了分析,并應用OCC搭建了攪拌摩擦點焊機器人無紙化加工軟件平臺,從而在復雜體焊接中能夠方便地替代傳統(tǒng)的示教方式。并利用面向服務的網(wǎng)絡控制框架的方法,對攪拌摩擦點焊機器人組遠程控制與監(jiān)控進行了研究與設計。在下一步工作中,將在原有的無紙化加工軟件上對弧焊、電阻點焊、激光焊等進行研究,使該軟件能夠應用于大部分的機器人焊接。并對原有面向服務的網(wǎng)絡控制框架進行優(yōu)化,擴充服務提供商功能,并向網(wǎng)絡服務數(shù)據(jù)庫發(fā)布相關服務信息,以提高焊接服務能力。在網(wǎng)絡控制框架搭建的基礎上,將引入網(wǎng)絡云服務和私有云平臺技術,使得原有網(wǎng)絡服務能夠適應不同的操作系統(tǒng),并提高服務效率,降低無紙化軟件的使用成本,同時降低服務消費者在軟件購買和使用上的成本,以滿足國內(nèi)外企業(yè)的應用需要。
【1】焦恩璋,陳美宏.工業(yè)機器人離線編程研究[J].裝備制造技術,2009(10):18-19.
【2】劉永,楊靜宇.弧焊機器人工作站離線編程系統(tǒng)—WROBCAM[J].計算機輔助設計與圖形學學報,2005,17(1):190-194.
【3】庫卡柔性系統(tǒng)制造(上海)有限公司.庫卡機器人初級編程[M].2006.
【4】仇曉黎,易紅,吳錫英.STEP/XML產(chǎn)品數(shù)據(jù)模型轉(zhuǎn)換編譯系統(tǒng)的實現(xiàn)[J].成組技術與生產(chǎn)現(xiàn)代化,2004,21(4):5-8.
【5】國家質(zhì)量技術監(jiān)督局.GB/T 16656.1-1998工業(yè)自動化系統(tǒng)與集成之產(chǎn)品數(shù)據(jù)表達與交換[S].北京:中國標準出版社,2011.
【6】鞏曉瑩,李國,于元勛.XML用于機器人遙操作虛擬仿真[J].山東教育學院學報,2009(4):77-90.
【7】羅雙勝,吳仲城,申飛.基于XML的可編程機器人傳感器接口模塊的設計[J].儀表技術,2008(3):57-59.
【8】韓建海.工業(yè)機器人[M].武漢:華中科技大學出版社,2010.
【9】KUKA Roboter GmbH.CAMRob 1.1 for KUKA System Software(KSS)V4.1 and V5.x[M].2006.
【10】KUKA Roboter GmbH.Expert Programming for KUKA System Software(KSS)[M].2003.
【11】KIM Bong Keun,MIYAZAKI Manabu,OHBA Kohtaro,et al.Web Services Based Robot Control Platform for Ubiquitous Functions[C]//International Conference on Robotics and Automation,2005:691-696.