劉雪梅 馮 焱 楊 振 李愛平 盧軍國
1.同濟(jì)大學(xué)機(jī)械與能源工程學(xué)院,上海,2018042.上海外高橋造船有限公司,上海,200137
隨著我國對船舶建造質(zhì)量、效率和環(huán)保等因素的愈發(fā)重視,船舶制造業(yè)智能化轉(zhuǎn)型升級的需求日益迫切。2020年,工信部發(fā)布《船舶總裝建造智能化標(biāo)準(zhǔn)體系建設(shè)指南(2020版)》,其中明確指出船舶分段機(jī)器人噴涂裝備為其重要建設(shè)內(nèi)容之一[1]。不同于在汽車、家電等行業(yè)已廣泛應(yīng)用的機(jī)器人系統(tǒng),船舶工業(yè)的作業(yè)對象尺寸遠(yuǎn)大于機(jī)器人,且標(biāo)準(zhǔn)化程度較低,給機(jī)器人的應(yīng)用帶來了挑戰(zhàn)[2]。為了在擴(kuò)展工作空間的同時也能更好地避開機(jī)器人的奇異位型和關(guān)節(jié)極限,冗余機(jī)器人被越來越多地應(yīng)用于船舶、航空航天等領(lǐng)域[3-5]。如何快速獲取高精度的逆運(yùn)動學(xué)解成為了冗余機(jī)器人研究的重要課題[6]。
YANG等[7]根據(jù)對7自由度擬人機(jī)械臂構(gòu)型的分析,采用代數(shù)方法先求得中間關(guān)節(jié)的值,再以此為約束條件分別求取另外6個關(guān)節(jié)的值,這種解析法快速而精確,然而只適用于前3個關(guān)節(jié)與后3個關(guān)節(jié)各自等效為球形關(guān)節(jié)的機(jī)器人。廖柏林等[8]結(jié)合最小速度范數(shù)方案及最小加速度范數(shù)方案,使用雅可比矩陣偽逆的方法來控制冗余機(jī)械臂運(yùn)動,該方法實現(xiàn)簡單,但在靠近機(jī)器人奇異位型時關(guān)節(jié)速度容易超出極限。BENZAOUI等[9]采用任務(wù)擴(kuò)充法將避障作為附加約束條件使機(jī)器人雅可比矩陣擴(kuò)展為方陣,使得逆運(yùn)動學(xué)具有確定解,然而使用增廣雅可比矩陣求取逆解依然可能導(dǎo)致奇異位型速度超限。劉世平等[10]使用BP神經(jīng)網(wǎng)絡(luò)得到了Baxter 7自由度機(jī)械臂逆解,但神經(jīng)網(wǎng)絡(luò)方法需要訓(xùn)練,大量樣本的獲取是一個實際問題。針對這些不足,越來越多的學(xué)者將智能仿生算法應(yīng)用于冗余機(jī)器人逆解問題,包括差分進(jìn)化(differential evolution, DE)算法[11]、量子粒子群(quantum behaved particle swarm optimization, QPSO)算法[12]、天牛須搜索(beetle antennae search, BAS)算法[13]、人工蜂群(artificial bee colony, ABC)算法[14]和螢火蟲群(glowworm swarm optimization, GSO)算法[15]等,都取得了較好的求解效果。
人工魚群算法(artificial fish swarm algorithm, AFSA)作為一種新型仿生算法具有收斂速度快、全局搜索能力強(qiáng)等優(yōu)點,已成功應(yīng)用于多個領(lǐng)域[16-18],但算法求解精度會隨迭代次數(shù)下降[19],因此,本文以船舶分段機(jī)器人噴涂系統(tǒng)為研究對象,提出一種改進(jìn)人工魚群算法(improved artificial fish swarm algorithm, IAFSA)以解決冗余機(jī)器人逆運(yùn)動學(xué)問題。
本文采用圖1所示冗余機(jī)器人噴涂系統(tǒng)來完成船舶分段非結(jié)構(gòu)面的噴涂工作。該系統(tǒng)主要由一個3移動自由度桁架和一臺6轉(zhuǎn)動自由度史陶比爾RX160L機(jī)器人組成。其中,桁架作為外部軸極大地擴(kuò)展了工作空間,其移動范圍長寬各30 m,高12 m,史陶比爾RX160L機(jī)器人橫向安置在可沿豎直方向移動的平臺上,機(jī)器人末端并列安裝兩個高壓無氣噴槍以提高噴涂效率。
圖1 冗余機(jī)器人噴涂系統(tǒng)
本文采用改進(jìn)DH參數(shù)法(modified DH, MDH)建立機(jī)器人系統(tǒng)的運(yùn)動學(xué)模型[20]。由于機(jī)器人模型搭建在SolidWorks環(huán)境中,故選取SolidWorks模型空間原點建立基坐標(biāo)系?;贛DH參數(shù)法得到機(jī)器人系統(tǒng)各關(guān)節(jié)上的坐標(biāo)系,如圖2所示,MDH參數(shù)表如表1所示,其中ai-1、αi-1、di、θi分別代表各連桿和運(yùn)動副的連桿長度、連桿轉(zhuǎn)角、連桿偏距以及關(guān)節(jié)角。
圖2 機(jī)器人系統(tǒng)坐標(biāo)系
表1 機(jī)器人系統(tǒng)MDH參數(shù)
(1)
式中,c、s分別表示cos和sin。
由此,機(jī)器人末端執(zhí)行器的坐標(biāo)系相對于基坐標(biāo)系的位姿變換關(guān)系可表示為
(2)
其中,rij為姿態(tài)矩陣;pk為位置矩陣,解析式如下:
(3)
本文所用的機(jī)器人系統(tǒng)a0=20 750mm,a4=150 mm,a5=825 mm,d4=997.70 mm,d7=925 mm,d9=109 mm。
本文以機(jī)器人各關(guān)節(jié)運(yùn)動范圍為約束條件,以末端執(zhí)行器位姿求解值與期望值的誤差最小以及關(guān)節(jié)行程長度最小為優(yōu)化目標(biāo),建立逆運(yùn)動學(xué)問題的優(yōu)化模型如下:
(4)
其中,上標(biāo)撇表示數(shù)據(jù)通過x′=(x-xmin)/(xmax-xmin)進(jìn)行了歸一化處理,下標(biāo)d、s分別表示期望值和初始值,rij與pk的最值可根據(jù)式(4)由式(3)求得;由于移動關(guān)節(jié)行程巨大,故設(shè)置系數(shù)η=100以削弱歸一化對絕對位置誤差造成的影響;λ為關(guān)節(jié)行程權(quán)重,為優(yōu)先保證位姿準(zhǔn)確,本文取λ= 0.01。
人工魚群算法由李曉磊等[21]在2001年提出,其基本思想是在一片水域中,魚的數(shù)量存在最多的地方往往就是這片水域里營養(yǎng)物質(zhì)濃度最高的地方,根據(jù)魚群的這一生活習(xí)性來模仿其行為,進(jìn)而尋找最優(yōu)解。假設(shè)人工魚的數(shù)量規(guī)模為N,其中第i條人工魚Xi=(x1,x2,…,xm)為第i個解,m為解的維度,營養(yǎng)物質(zhì)濃度表示為目標(biāo)函數(shù)值Yi=f(Xi)。尋優(yōu)過程中人工魚的視野范圍為V,其移動步長為S,區(qū)域擁擠度因子為δ,尋優(yōu)最大嘗試次數(shù)為t,第i條與第j條人工魚之間的距離以它們的歐幾里得范數(shù)表示,即dij=‖Xi-Xj‖。魚群活動由覓食行為、聚群行為和追尾行為三種行為組成。
(1)覓食行為。假設(shè)當(dāng)前狀態(tài)下有人工魚Xi,其目標(biāo)函數(shù)值為Yi,在此魚的視野范圍內(nèi)隨機(jī)選擇一條人工魚Xj,其目標(biāo)函數(shù)值為Yj。在求最小值問題上,如果Yj (5) 式中,Im為隨機(jī)方向上的單位向量。 (2)聚群行為。搜索人工魚Xi的視野范圍內(nèi)所有人工魚的數(shù)量nf以及視野中心位置Xc。如果Yc/nf<δYi,說明視野中心狀態(tài)更優(yōu)且不太擁擠,則人工魚Xi向中心位置Xc移動一個步長;否則,執(zhí)行覓食行為。移動計算公式為 (6) Yc/nf<δYi (3)追尾行為。搜索人工魚Xi視野范圍內(nèi)最優(yōu)人工魚Xbest。如果Ybest/nf<δYi,則人工魚Xi向最優(yōu)人工魚Xbest移動一個步長;否則,執(zhí)行覓食行為。移動計算公式為 (7) Ybest/nf<δYi 人工魚群算法有著較好的全局搜索能力和收斂速度,但其中人工魚的搜索視野和移動步長是固定值,制約了算法性能的進(jìn)一步提高。在基本人工魚群算法中,較大的視野范圍會使人工魚群的三種行為影響更突出,在增強(qiáng)算法全局搜索能力的同時也增加了計算量,延長了計算時間;較小的視野容易使算法陷入局部最優(yōu)。而當(dāng)移動步長取值過大時,算法在后期容易錯過目標(biāo)函數(shù)的峰值或谷值,導(dǎo)致其在真正的最優(yōu)解附近振蕩,造成最終解的精度下降;若移動步長過小,算法的收斂速度會大大降低。為了克服以上弊端,本文在算法執(zhí)行過程中引入基于正態(tài)分布的視野和步長動態(tài)調(diào)整策略,即 式中,Vmax為視野上限;Vmin為視野下限;Smax為步長上限;Smin為步長下限;g為當(dāng)前迭代次數(shù),gmax為最大迭代次數(shù);σ為正態(tài)分布的標(biāo)準(zhǔn)差。 圖3 正態(tài)分布曲線 在迭代初期,搜索空間很大,算法以一個較大的視野和步長快速搜尋整個解空間,以保持良好的全局搜索能力和收斂速度;隨著迭代繼續(xù),搜索空間逐漸收縮至若干個特定區(qū)域,視野和步長快速衰減的同時保留了一定跳出局部最優(yōu)的能力;在迭代后期,視野和步長的衰減速度再次趨緩,在一個較小的水平上密集搜索局部區(qū)域內(nèi)的解,以提高最終解的精度,改善算法的局部搜索能力。 改進(jìn)后的人工魚群算法流程如圖4所示。 圖4 IAFSA算法流程圖 本實驗根據(jù)給出的機(jī)器人末端執(zhí)行器期望位姿以及機(jī)器人初始狀態(tài)來求解機(jī)器人各關(guān)節(jié)的轉(zhuǎn)角及位移,實驗環(huán)境為MATLAB 2018b, Win10 Intel(R)Xeon(R)W-2135 CPU @ 3.70GHz。隨機(jī)給出機(jī)器人末端執(zhí)行器期望位姿為 設(shè)置機(jī)器人初始狀態(tài),即各關(guān)節(jié)初始轉(zhuǎn)角及位移為(0,0,0,0,0,0,0,0,0)T。采用基本AFSA算法、混合改進(jìn)人工魚群算法(HIAFSA)[22]與本文提出的IAFSA算法進(jìn)行比較,三種算法的參數(shù)設(shè)置如表2所示。 表2 三種算法的參數(shù)設(shè)置 每種算法各運(yùn)行10次,每次迭代500代,對實驗數(shù)據(jù)取平均值,結(jié)果如圖5和表3所示。 圖5 三種算法的目標(biāo)函數(shù)值收斂曲線 表3 三種算法的求解效果對比 可以發(fā)現(xiàn),三種算法最終都能取得較為理想的求解效果。由圖5可以看出,IAFSA算法的收斂速度要優(yōu)于HIAFSA和AFSA算法。由表3可以得到,IAFSA算法的目標(biāo)函數(shù)值較AFSA降低了27.91%,較HIAFSA降低了20.03%,顯著減小了機(jī)器人末端執(zhí)行器位姿求解值與期望值之間的誤差,提高了逆解的精度;IAFSA算法計算時間較AFSA縮短了4.41%,較HIAFSA增長了2.91%,在原有算法的基礎(chǔ)上進(jìn)一步提高了計算速度,但略微慢于HIAFSA。綜合比較,本文提出的IAFSA算法具有更好的搜索能力和收斂速度以及相對較快的計算速度。 現(xiàn)以圖1中船舶分段的傾斜平板為例,在SolidWorks Motion環(huán)境中以“弓”字形軌跡對其進(jìn)行噴涂仿真,對機(jī)器人各關(guān)節(jié)添加馬達(dá),選用IAFSA和HIAFSA算法對噴涂軌跡點位姿矩陣進(jìn)行求解,將結(jié)果以數(shù)據(jù)點的形式輸入各關(guān)節(jié)馬達(dá),驅(qū)動機(jī)器人完成噴涂動作。使用Motion的圖解功能跟蹤機(jī)器人末端執(zhí)行器的位姿,前20個軌跡點末端的位姿誤差如圖6所示,其中為了簡化對姿態(tài)的描述,假定末端執(zhí)行器坐標(biāo)系以基坐標(biāo)系為固定參照系,先繞x軸旋轉(zhuǎn)γ角,再繞y軸旋轉(zhuǎn)β角,最后繞z軸旋轉(zhuǎn)α角,以表征姿態(tài)矩陣rij。 (a)x方向位置誤差 (b)y方向位置誤差 從仿真結(jié)果可以看出,IAFSA算法得到的位姿誤差曲線較HIAFSA明顯更為平穩(wěn)且絕對值更小,以圖6b為例,IAFSA計算得到的y方向位置誤差平均值為-0.0615 mm,標(biāo)準(zhǔn)方差為0.2054;HIAFSA得到的平均值為-0.3404 mm,標(biāo)準(zhǔn)方差為1.298,分別為IAFSA計算結(jié)果的5.5倍和6.3倍。另外,HIAFSA在第12、19軌跡點上分別達(dá)到1.712 mm和-5.396 mm的誤差峰值和谷值,遠(yuǎn)超過了IAFSA的最值0.373 mm和-0.550 mm。由此可見,IAFSA算法較HIAFSA算法得到的機(jī)器人末端執(zhí)行器的逆運(yùn)動學(xué)解精度更高、平穩(wěn)性更好,其位置誤差始終小于1 mm,姿態(tài)誤差小于1°,滿足噴涂要求,驗證了所求逆解的正確性和方法的有效性。 (1)針對一種由3移動自由度桁架和6轉(zhuǎn)動自由度機(jī)器人組成的船舶分段機(jī)器人噴涂系統(tǒng),通過MDH參數(shù)法建立了其運(yùn)動學(xué)模型并得到了運(yùn)動學(xué)正解。 (2)提出了一種基于正態(tài)分布衰減視野及步長的改進(jìn)人工魚群算法(IAFSA),以姿態(tài)誤差最小和關(guān)節(jié)行程最短為目標(biāo)求解冗余機(jī)器人逆解問題。實驗對比結(jié)果表明,IAFSA算法保持了良好的全局搜索能力和收斂速度,并改善了最優(yōu)解精度和計算時間,強(qiáng)化了局部搜索能力。 (3)逆解的精度和誤差穩(wěn)定性通過SolidWorks Motion模塊仿真得到了驗證,證明了IAFSA算法在冗余機(jī)器人逆運(yùn)動學(xué)求解問題中的有效性。2.2 基于正態(tài)分布的視野及步長動態(tài)調(diào)整策略
3 仿真實驗
4 結(jié)論