周穎娟,周 波,何家健,玄甲輝
(1.東南大學(xué) 自動化學(xué)院,江蘇 南京 210096;2.江蘇自動化研究所 機(jī)器人事業(yè)部,江蘇 連云港 222000)
大型船舶長期處于呈堿性的海水中,不停地受到海水的沖刷,因此對船舶表面的涂層質(zhì)量有著較高的要求。目前船舶制造業(yè)中大多使用人工噴涂的方法對船舶表面進(jìn)行噴涂作業(yè),工人工作量大、工作環(huán)境惡劣且工作時間長,雖然噴涂效果基本能夠滿足噴涂要求,但是受人為因素影響較大,噴涂質(zhì)量難以保障[1]。隨著工業(yè)機(jī)器人的快速發(fā)展,如果能夠利用機(jī)器人的優(yōu)勢,將噴涂機(jī)器人應(yīng)用于大型船舶復(fù)雜表面的噴涂作業(yè),一定能夠改善工人工作環(huán)境,提高噴涂效率和涂層質(zhì)量[2]。
工業(yè)機(jī)器人編程方式分為人工示教和離線編程兩種方式。人工示教編程方式需要機(jī)器人暫停作業(yè),要求操作人員有一定的經(jīng)驗(yàn)技術(shù),也難以實(shí)現(xiàn)較為復(fù)雜的運(yùn)動軌跡[3],同時,使用在線示教進(jìn)行大規(guī)模船舶外立面噴涂仍然需要操作人員高空作業(yè),存在著安全隱患。因此,人工示教編程已經(jīng)難以滿足工業(yè)生產(chǎn)要求。離線編程方式中技術(shù)人員無需對實(shí)際作業(yè)的機(jī)器人直接進(jìn)行示教,而是通過軟件,間接遠(yuǎn)程地進(jìn)行軌跡規(guī)劃,編程過程中無需機(jī)器人暫停作業(yè),且能夠?qū)⑷藦膼毫拥墓ぷ鳝h(huán)境中解放出來,節(jié)約工作時間、提高噴涂效率[4]。
現(xiàn)有商業(yè)離線編程軟件一般由機(jī)器人廠商配套自己生產(chǎn)的機(jī)器人推出,如西門子公司開發(fā)的RobCAD,瑞士ABB公司所發(fā)布的RobotStudio[5],歐洲的FANUC和以色列的CompuCraft合作開發(fā)的FanucWorks離線編程軟件和RoboGuide離線編程系統(tǒng),德國KUKA機(jī)器人的KUKASim軟件模塊等。
然而,針對這種大型復(fù)雜船舶曲面,現(xiàn)有離線編程軟件存在以下問題:(1)船舶外立面噴涂工藝復(fù)雜、曲率變化多樣,現(xiàn)有的軌跡規(guī)劃算法無法滿足噴涂要求;(2)由于不同的機(jī)器人控制器中內(nèi)置了不同的機(jī)器人語言,針對不同機(jī)器人廠家需要使用不同的離線編程軟件,離線編程的通用性有待提高。
為解決以上問題,該文分別對非球形腕機(jī)器人正逆運(yùn)動學(xué)解、區(qū)域分割、軌跡規(guī)劃、中間語言系統(tǒng)及后置處理等進(jìn)行了研究,提出了一種針對大型船舶表面噴涂作業(yè)的離線編程與仿真系統(tǒng),實(shí)現(xiàn)了從工件導(dǎo)入到基于工件特點(diǎn)進(jìn)行區(qū)域分割再到軌跡規(guī)劃生成中間語言程序最后轉(zhuǎn)換為機(jī)器人程序的完整流程,并設(shè)計(jì)實(shí)驗(yàn)針對不同特點(diǎn)的工件進(jìn)行了噴涂仿真。
針對大型船舶的噴涂作業(yè),項(xiàng)目中使用的噴涂機(jī)器人是川崎KJ264地面式噴涂機(jī)器人。該機(jī)器人CAD模型圖如圖1(a)所示。該噴涂機(jī)器人為六自由度機(jī)器人,有7個連桿,從基座開始標(biāo)記為0,下一個連桿記作1,以此類推,每一個連桿固連一個坐標(biāo)系用來描述其相對運(yùn)動。完成噴涂作業(yè)首先要對機(jī)器人進(jìn)行運(yùn)動學(xué)建模,針對KJ264采用DH參數(shù)法[6]完成其運(yùn)動學(xué)建模和正逆解計(jì)算,則相鄰連桿之間的關(guān)系為:
(1)
其中si=sinθi,ci=cosθi,λi=cosαi,μi=sinαi,ai為連桿長度,αi為連桿扭轉(zhuǎn)角,di為關(guān)節(jié)偏距,θi為關(guān)節(jié)旋轉(zhuǎn)角。連桿坐標(biāo)系建立完成后,即可確定機(jī)器人運(yùn)動學(xué)方程:
0T6=0T1·1T2·2T3·3T4·4T5·5T6
(2)
設(shè)計(jì)的機(jī)器人機(jī)構(gòu)圖如圖1(b)所示,具體D-H參數(shù)見表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參數(shù)
逆解問題是運(yùn)動學(xué)建模中的較為復(fù)雜的環(huán)節(jié),它是將給定的位置姿態(tài)轉(zhuǎn)換成為一組關(guān)節(jié)角。對于4、5、6三個關(guān)節(jié)軸線軸交于一點(diǎn),滿足piper條件[7]的機(jī)器人,其逆運(yùn)動學(xué)位置和姿態(tài)是解耦的,可求得其解析解;而對于不滿足該條件的機(jī)器人,其逆運(yùn)動學(xué)無封閉形式解析解。
從圖1(b)可以看出KJ264手腕三個關(guān)節(jié)軸線Z3、Z4和Z5不相交于一點(diǎn),不滿足piper條件,因此該機(jī)器人逆運(yùn)動學(xué)無解析解。該文采用雅可比偽逆法[8-10]對其求運(yùn)動學(xué)逆解。該方法實(shí)現(xiàn)簡單,在求解關(guān)節(jié)角時會依賴于前一個位姿,而在機(jī)器人作業(yè)中,前后兩個位姿相差不會過大,由前一個位姿只需要經(jīng)過少量迭代次數(shù)就可以到后一個位姿,因此使用雅可比偽逆法解決運(yùn)動學(xué)中的逆運(yùn)動學(xué)問題可以很好地滿足實(shí)時性以及精度要求。
該文設(shè)計(jì)了針對大型船舶表面的噴涂機(jī)器人離線軌跡規(guī)劃與仿真系統(tǒng),該系統(tǒng)的主要功能有:工件導(dǎo)入,針對工件各自的特點(diǎn)進(jìn)行區(qū)域分割,軌跡規(guī)劃,生成中間語言程序,后置處理生成實(shí)際機(jī)器人程序,完整的系統(tǒng)流程如圖2所示。
圖2 系統(tǒng)流程
船舶曲面一般幾何形狀比較復(fù)雜,部分區(qū)域彎曲程度較大[11],而現(xiàn)有的噴涂模型都只適合用于彎曲程度比較小的曲面,針對船舶表面這種曲面,由于涂料的擴(kuò)散等作用,所建立的噴涂模型會產(chǎn)生較大誤差。因此,對幾何形狀較為復(fù)雜的曲面進(jìn)行區(qū)域分割,使得每個區(qū)域的彎曲程度均滿足要求。曲面的彎曲程度主要包括兩個方面:一是相鄰位置的彎曲程度,即局部高斯曲率值的大小;二是整個曲面上的彎曲程度,即整個曲面上的高斯曲率和的大小。對于彎曲程度不高的曲面要保證這兩個方面都不會過大。
該文使用三角片格式表示工件模型,該格式中,工件表面由許多三角片構(gòu)成,而工件的曲率可以由三角片法向量之間的夾角表示。因此,采用基于區(qū)域生長的雙背離角區(qū)域分割算法[12]將其分為幾個曲率滿足要求的子區(qū)域。該算法的基本思想是以一個三角形為中心,向周圍三角形延伸,在延伸過程中,確保該區(qū)域內(nèi)所有相鄰三角形法向量之間的夾角小于定值β1;同時,區(qū)域內(nèi)任意兩個三角形法向量之間的夾角小于定值β2。如圖3所示,粗線部分為已合并區(qū)域S,記待判斷三角形為k,其法向量為nk,k在區(qū)域S內(nèi)所相鄰的三角形法向量為ni,區(qū)域內(nèi)任意三角形的法向量為nj,則每個子區(qū)域應(yīng)滿足以下要求:
圖3 三角形延伸示意圖
S={Tk|acos-1(nk,ni)≤β1,acos-1(nk,nj)≤β2}
(3)
工件表面各點(diǎn)的噴涂效果除了與模型本身有關(guān)外,還和噴槍的移動速度v和行程間距d有關(guān),這樣便可以建立d和v的優(yōu)化問題。在考慮噴涂效果時,主要考慮涂層的厚度和涂料的均勻性。因此,以涂層期望厚度和涂料均勻性為目標(biāo)建立優(yōu)化目標(biāo)函數(shù)。目標(biāo)函數(shù)如下:
(4)
約束條件為:
v≤vmax,0≤d≤2R,qavg=qd
(5)
在建立了優(yōu)化問題之后,采用黃金分割法軌跡間距及噴涂速度等噴涂參數(shù)進(jìn)行尋優(yōu)。
噴涂參數(shù)確定后,根據(jù)這些參數(shù)使用bounding-box包圍盒算法進(jìn)行軌跡規(guī)劃,確定噴槍在待噴涂表面的軌跡。該算法是利用曲面的外包盒進(jìn)行軌跡規(guī)劃,首先對曲面建立最小包圍盒,選取包圍盒的一個面作為特征面,再求取特征平面平行面與曲面的交線,然后在交線上等距采樣點(diǎn),最后連接采樣點(diǎn)從而獲得軌跡。該算法針對平面工件和曲面工件均可使用,適用范圍較廣。
不同區(qū)域規(guī)劃得到的軌跡需要進(jìn)行優(yōu)化連接成為工件表面的完整路徑。該文以得到最短軌跡長度為優(yōu)化目標(biāo),將軌跡組合連接問題建模為一個廣義旅行商問題(GTSP),從而將問題轉(zhuǎn)化為尋找一條最優(yōu)哈密頓通路,該通路能夠遍歷所有點(diǎn)群(每個點(diǎn)群包含兩個點(diǎn),對應(yīng)區(qū)域分割后每個子區(qū)域內(nèi)軌跡的兩個端點(diǎn)),僅訪問每個點(diǎn)群兩個端點(diǎn)中的任意一個且只能訪問一次,并采用蟻群算法完成噴涂路徑的排序和連接。
不同廠商的機(jī)器人控制器所適用的編程語言一般不同,分屬各廠商的離線編程軟件只能支持自己的語言[13]。當(dāng)需要使用不同機(jī)器人進(jìn)行離線編程時就要購買多個離線編程軟件,學(xué)習(xí)成本、購買成本都比較高。因此,該文設(shè)計(jì)了中間語言及后置處理子系統(tǒng),使得本系統(tǒng)最終生成的程序能夠直接應(yīng)用于大多數(shù)型號的機(jī)器人,從而提高系統(tǒng)的實(shí)用性和兼容性。
中間語言子系統(tǒng)[14-15]的設(shè)計(jì)參考了工業(yè)機(jī)器人用戶編程指令中華人民共和國國家標(biāo)準(zhǔn)GB/T 29824-2013,將中間語言分為指令段、偽指令段和數(shù)據(jù)段三部分,其中指令段是中間語言的主體部分,用于實(shí)現(xiàn)各種運(yùn)動控制功能以及輔助功能,包含運(yùn)動指令、系統(tǒng)指令、控制指令、運(yùn)算指令等;偽指令用來描述程序的功能屬性及結(jié)構(gòu)信息等;數(shù)據(jù)段的功能是提供機(jī)器人的位置點(diǎn)信息,主要由類型,坐標(biāo)系,名稱,坐標(biāo)等單元組成。整個中間語言編譯系統(tǒng)分為兩個部分:詞法分析、語法分析,其中詞法分析將整個程序的字符序列解析為單詞序列,主要合法單詞包括關(guān)鍵字、變量名等;語法分析用于判斷中間語言程序是否合乎語法規(guī)則。
為了使得本系統(tǒng)生成的程序能直接適用于機(jī)器人,還設(shè)計(jì)了后置處理子系統(tǒng),通過該子系統(tǒng),經(jīng)過仿真驗(yàn)證的中間語言程序能夠被轉(zhuǎn)換為實(shí)際所使用的機(jī)器人支持的語言程序,轉(zhuǎn)換后機(jī)器人語言程序可通過調(diào)用機(jī)器人提供的API傳輸?shù)綑C(jī)器人控制器中。
為驗(yàn)證上述系統(tǒng)的有效性,采用C++編程語言對SolidWorks2014[16]進(jìn)行二次開發(fā)生成動態(tài)鏈接庫,系統(tǒng)總共分為兩部分,通用編程與仿真模塊以及機(jī)器人噴涂作業(yè)模塊。
針對普通工件,所設(shè)計(jì)的噴涂場景如圖4所示,船舶工業(yè)中噴涂作業(yè)的工業(yè)級要求與仿真結(jié)果的比較如表2所示。設(shè)置膜厚為50 μm,噴涂仿真所得的實(shí)際平均膜厚為51.94 μm,標(biāo)準(zhǔn)偏差為1.53 μm,覆蓋率為99.80%,均大幅度優(yōu)于工業(yè)要求。
圖4 噴涂場景
表2 項(xiàng)目需求與仿真結(jié)果對比
此外,按照船舶表面部分區(qū)域彎曲程度較大的特點(diǎn),設(shè)計(jì)了一個幾何形狀復(fù)雜的工件模型。使用該系統(tǒng)對其進(jìn)行區(qū)域分割、路徑規(guī)劃,具體結(jié)果如圖5所示。圖5(b)為使用雙背離角區(qū)域分割算法進(jìn)行區(qū)域分割的結(jié)果,該工件被分為了四塊曲率較小的區(qū)域。圖5(c)對區(qū)域1使用Bounding-box算法規(guī)劃的效果,工件表面的路徑即為機(jī)器人軌跡,方塊點(diǎn)及點(diǎn)上的坐標(biāo)系體現(xiàn)了機(jī)器人的軌跡點(diǎn)以及機(jī)器人在該點(diǎn)的位姿。圖5(d)是將各區(qū)域軌跡連接組合形成的最終軌跡。
圖5 針對曲率變化復(fù)雜的工件的軌跡規(guī)劃效果
大型船舶工件尺寸較大,設(shè)計(jì)了長、寬、高為30 m*8 m*8 m的船舶模型,如圖6(a)所示。該模型和實(shí)際船舶類似,有著船艏、船艉曲率大,中間接近大直面的特點(diǎn)。仿真實(shí)驗(yàn)結(jié)果如圖6所示,由于該工件較大,完整的軌跡圖中的軌跡過于密集,因此圖6(c)選取了區(qū)域1及區(qū)域2的部分軌跡展示實(shí)驗(yàn)結(jié)果。
圖6 針對船舶外立面的軌跡規(guī)劃結(jié)果
由此可以看出,所提出的系統(tǒng)針對不同工件均得出了正確的噴涂路徑,且噴涂效果遠(yuǎn)高于工業(yè)需求,證明了該方法的有效性。
針對大型船舶噴涂作業(yè)設(shè)計(jì)了完整的離線編程與仿真系統(tǒng),對非球形手腕機(jī)器人運(yùn)動學(xué)逆解、區(qū)域分割、軌跡規(guī)劃、中間語言及后置處理進(jìn)行了詳細(xì)的研究。在此基礎(chǔ)上基于SolidWorks和Visual Studio開發(fā)了針對大型船舶表面噴涂作業(yè)的離線編程與仿真軟件。將該軟件應(yīng)用于普通工件、彎曲程度較大的工件、外形復(fù)雜的船舶表面等不同工件,均能生成正確的路徑,達(dá)到了提高噴涂效率、改善噴涂效果的目的,驗(yàn)證了該系統(tǒng)的有效性和通用性。
針對船舶工件,船艏船艉連接處、區(qū)域分割后各子區(qū)域連接處的膜厚控制還需做進(jìn)一步研究。