周穎娟,周 波,何家健,玄甲輝
(1.東南大學 自動化學院,江蘇 南京 210096;2.江蘇自動化研究所 機器人事業部,江蘇 連云港 222000)
大型船舶長期處于呈堿性的海水中,不停地受到海水的沖刷,因此對船舶表面的涂層質量有著較高的要求。目前船舶制造業中大多使用人工噴涂的方法對船舶表面進行噴涂作業,工人工作量大、工作環境惡劣且工作時間長,雖然噴涂效果基本能夠滿足噴涂要求,但是受人為因素影響較大,噴涂質量難以保障[1]。隨著工業機器人的快速發展,如果能夠利用機器人的優勢,將噴涂機器人應用于大型船舶復雜表面的噴涂作業,一定能夠改善工人工作環境,提高噴涂效率和涂層質量[2]。
工業機器人編程方式分為人工示教和離線編程兩種方式。人工示教編程方式需要機器人暫停作業,要求操作人員有一定的經驗技術,也難以實現較為復雜的運動軌跡[3],同時,使用在線示教進行大規模船舶外立面噴涂仍然需要操作人員高空作業,存在著安全隱患。因此,人工示教編程已經難以滿足工業生產要求。離線編程方式中技術人員無需對實際作業的機器人直接進行示教,而是通過軟件,間接遠程地進行軌跡規劃,編程過程中無需機器人暫停作業,且能夠將人從惡劣的工作環境中解放出來,節約工作時間、提高噴涂效率[4]。
現有商業離線編程軟件一般由機器人廠商配套自己生產的機器人推出,如西門子公司開發的RobCAD,瑞士ABB公司所發布的RobotStudio[5],歐洲的FANUC和以色列的CompuCraft合作開發的FanucWorks離線編程軟件和RoboGuide離線編程系統,德國KUKA機器人的KUKASim軟件模塊等。
然而,針對這種大型復雜船舶曲面,現有離線編程軟件存在以下問題:(1)船舶外立面噴涂工藝復雜、曲率變化多樣,現有的軌跡規劃算法無法滿足噴涂要求;(2)由于不同的機器人控制器中內置了不同的機器人語言,針對不同機器人廠家需要使用不同的離線編程軟件,離線編程的通用性有待提高。
為解決以上問題,該文分別對非球形腕機器人正逆運動學解、區域分割、軌跡規劃、中間語言系統及后置處理等進行了研究,提出了一種針對大型船舶表面噴涂作業的離線編程與仿真系統,實現了從工件導入到基于工件特點進行區域分割再到軌跡規劃生成中間語言程序最后轉換為機器人程序的完整流程,并設計實驗針對不同特點的工件進行了噴涂仿真。
針對大型船舶的噴涂作業,項目中使用的噴涂機器人是川崎KJ264地面式噴涂機器人。該機器人CAD模型圖如圖1(a)所示。該噴涂機器人為六自由度機器人,有7個連桿,從基座開始標記為0,下一個連桿記作1,以此類推,每一個連桿固連一個坐標系用來描述其相對運動。完成噴涂作業首先要對機器人進行運動學建模,針對KJ264采用DH參數法[6]完成其運動學建模和正逆解計算,則相鄰連桿之間的關系為:
(1)
其中si=sinθi,ci=cosθi,λi=cosαi,μi=sinαi,ai為連桿長度,αi為連桿扭轉角,di為關節偏距,θi為關節旋轉角。連桿坐標系建立完成后,即可確定機器人運動學方程:
0T6=0T1·1T2·2T3·3T4·4T5·5T6
(2)
設計的機器人機構圖如圖1(b)所示,具體D-H參數見表1。其中a1=140.0,a2=1 100.0,a3=0,d4=1 400.0,d5=100,d6=105,β=60.0°。

(a)KJ264 CAD模型圖

表1 KJ264 D-H參數
逆解問題是運動學建模中的較為復雜的環節,它是將給定的位置姿態轉換成為一組關節角。對于4、5、6三個關節軸線軸交于一點,滿足piper條件[7]的機器人,其逆運動學位置和姿態是解耦的,可求得其解析解;而對于不滿足該條件的機器人,其逆運動學無封閉形式解析解。
從圖1(b)可以看出KJ264手腕三個關節軸線Z3、Z4和Z5不相交于一點,不滿足piper條件,因此該機器人逆運動學無解析解。該文采用雅可比偽逆法[8-10]對其求運動學逆解。該方法實現簡單,在求解關節角時會依賴于前一個位姿,而在機器人作業中,前后兩個位姿相差不會過大,由前一個位姿只需要經過少量迭代次數就可以到后一個位姿,因此使用雅可比偽逆法解決運動學中的逆運動學問題可以很好地滿足實時性以及精度要求。
該文設計了針對大型船舶表面的噴涂機器人離線軌跡規劃與仿真系統,該系統的主要功能有:工件導入,針對工件各自的特點進行區域分割,軌跡規劃,生成中間語言程序,后置處理生成實際機器人程序,完整的系統流程如圖2所示。

圖2 系統流程
船舶曲面一般幾何形狀比較復雜,部分區域彎曲程度較大[11],而現有的噴涂模型都只適合用于彎曲程度比較小的曲面,針對船舶表面這種曲面,由于涂料的擴散等作用,所建立的噴涂模型會產生較大誤差。因此,對幾何形狀較為復雜的曲面進行區域分割,使得每個區域的彎曲程度均滿足要求。曲面的彎曲程度主要包括兩個方面:一是相鄰位置的彎曲程度,即局部高斯曲率值的大小;二是整個曲面上的彎曲程度,即整個曲面上的高斯曲率和的大小。對于彎曲程度不高的曲面要保證這兩個方面都不會過大。
該文使用三角片格式表示工件模型,該格式中,工件表面由許多三角片構成,而工件的曲率可以由三角片法向量之間的夾角表示。因此,采用基于區域生長的雙背離角區域分割算法[12]將其分為幾個曲率滿足要求的子區域。該算法的基本思想是以一個三角形為中心,向周圍三角形延伸,在延伸過程中,確保該區域內所有相鄰三角形法向量之間的夾角小于定值β1;同時,區域內任意兩個三角形法向量之間的夾角小于定值β2。如圖3所示,粗線部分為已合并區域S,記待判斷三角形為k,其法向量為nk,k在區域S內所相鄰的三角形法向量為ni,區域內任意三角形的法向量為nj,則每個子區域應滿足以下要求:

圖3 三角形延伸示意圖
S={Tk|acos-1(nk,ni)≤β1,acos-1(nk,nj)≤β2}
(3)
工件表面各點的噴涂效果除了與模型本身有關外,還和噴槍的移動速度v和行程間距d有關,這樣便可以建立d和v的優化問題。在考慮噴涂效果時,主要考慮涂層的厚度和涂料的均勻性。因此,以涂層期望厚度和涂料均勻性為目標建立優化目標函數。目標函數如下:

(4)

約束條件為:
v≤vmax,0≤d≤2R,qavg=qd
(5)
在建立了優化問題之后,采用黃金分割法軌跡間距及噴涂速度等噴涂參數進行尋優。
噴涂參數確定后,根據這些參數使用bounding-box包圍盒算法進行軌跡規劃,確定噴槍在待噴涂表面的軌跡。該算法是利用曲面的外包盒進行軌跡規劃,首先對曲面建立最小包圍盒,選取包圍盒的一個面作為特征面,再求取特征平面平行面與曲面的交線,然后在交線上等距采樣點,最后連接采樣點從而獲得軌跡。該算法針對平面工件和曲面工件均可使用,適用范圍較廣。
不同區域規劃得到的軌跡需要進行優化連接成為工件表面的完整路徑。該文以得到最短軌跡長度為優化目標,將軌跡組合連接問題建模為一個廣義旅行商問題(GTSP),從而將問題轉化為尋找一條最優哈密頓通路,該通路能夠遍歷所有點群(每個點群包含兩個點,對應區域分割后每個子區域內軌跡的兩個端點),僅訪問每個點群兩個端點中的任意一個且只能訪問一次,并采用蟻群算法完成噴涂路徑的排序和連接。
不同廠商的機器人控制器所適用的編程語言一般不同,分屬各廠商的離線編程軟件只能支持自己的語言[13]。當需要使用不同機器人進行離線編程時就要購買多個離線編程軟件,學習成本、購買成本都比較高。因此,該文設計了中間語言及后置處理子系統,使得本系統最終生成的程序能夠直接應用于大多數型號的機器人,從而提高系統的實用性和兼容性。
中間語言子系統[14-15]的設計參考了工業機器人用戶編程指令中華人民共和國國家標準GB/T 29824-2013,將中間語言分為指令段、偽指令段和數據段三部分,其中指令段是中間語言的主體部分,用于實現各種運動控制功能以及輔助功能,包含運動指令、系統指令、控制指令、運算指令等;偽指令用來描述程序的功能屬性及結構信息等;數據段的功能是提供機器人的位置點信息,主要由類型,坐標系,名稱,坐標等單元組成。整個中間語言編譯系統分為兩個部分:詞法分析、語法分析,其中詞法分析將整個程序的字符序列解析為單詞序列,主要合法單詞包括關鍵字、變量名等;語法分析用于判斷中間語言程序是否合乎語法規則。
為了使得本系統生成的程序能直接適用于機器人,還設計了后置處理子系統,通過該子系統,經過仿真驗證的中間語言程序能夠被轉換為實際所使用的機器人支持的語言程序,轉換后機器人語言程序可通過調用機器人提供的API傳輸到機器人控制器中。
為驗證上述系統的有效性,采用C++編程語言對SolidWorks2014[16]進行二次開發生成動態鏈接庫,系統總共分為兩部分,通用編程與仿真模塊以及機器人噴涂作業模塊。
針對普通工件,所設計的噴涂場景如圖4所示,船舶工業中噴涂作業的工業級要求與仿真結果的比較如表2所示。設置膜厚為50 μm,噴涂仿真所得的實際平均膜厚為51.94 μm,標準偏差為1.53 μm,覆蓋率為99.80%,均大幅度優于工業要求。

圖4 噴涂場景

表2 項目需求與仿真結果對比
此外,按照船舶表面部分區域彎曲程度較大的特點,設計了一個幾何形狀復雜的工件模型。使用該系統對其進行區域分割、路徑規劃,具體結果如圖5所示。圖5(b)為使用雙背離角區域分割算法進行區域分割的結果,該工件被分為了四塊曲率較小的區域。圖5(c)對區域1使用Bounding-box算法規劃的效果,工件表面的路徑即為機器人軌跡,方塊點及點上的坐標系體現了機器人的軌跡點以及機器人在該點的位姿。圖5(d)是將各區域軌跡連接組合形成的最終軌跡。

圖5 針對曲率變化復雜的工件的軌跡規劃效果
大型船舶工件尺寸較大,設計了長、寬、高為30 m*8 m*8 m的船舶模型,如圖6(a)所示。該模型和實際船舶類似,有著船艏、船艉曲率大,中間接近大直面的特點。仿真實驗結果如圖6所示,由于該工件較大,完整的軌跡圖中的軌跡過于密集,因此圖6(c)選取了區域1及區域2的部分軌跡展示實驗結果。

圖6 針對船舶外立面的軌跡規劃結果
由此可以看出,所提出的系統針對不同工件均得出了正確的噴涂路徑,且噴涂效果遠高于工業需求,證明了該方法的有效性。
針對大型船舶噴涂作業設計了完整的離線編程與仿真系統,對非球形手腕機器人運動學逆解、區域分割、軌跡規劃、中間語言及后置處理進行了詳細的研究。在此基礎上基于SolidWorks和Visual Studio開發了針對大型船舶表面噴涂作業的離線編程與仿真軟件。將該軟件應用于普通工件、彎曲程度較大的工件、外形復雜的船舶表面等不同工件,均能生成正確的路徑,達到了提高噴涂效率、改善噴涂效果的目的,驗證了該系統的有效性和通用性。
針對船舶工件,船艏船艉連接處、區域分割后各子區域連接處的膜厚控制還需做進一步研究。