劉雪梅 馮 焱 楊 振 李愛平 盧軍國
1.同濟大學機械與能源工程學院,上海,2018042.上海外高橋造船有限公司,上海,200137
隨著我國對船舶建造質量、效率和環(huán)保等因素的愈發(fā)重視,船舶制造業(yè)智能化轉型升級的需求日益迫切。2020年,工信部發(fā)布《船舶總裝建造智能化標準體系建設指南(2020版)》,其中明確指出船舶分段機器人噴涂裝備為其重要建設內容之一[1]。不同于在汽車、家電等行業(yè)已廣泛應用的機器人系統,船舶工業(yè)的作業(yè)對象尺寸遠大于機器人,且標準化程度較低,給機器人的應用帶來了挑戰(zhàn)[2]。為了在擴展工作空間的同時也能更好地避開機器人的奇異位型和關節(jié)極限,冗余機器人被越來越多地應用于船舶、航空航天等領域[3-5]。如何快速獲取高精度的逆運動學解成為了冗余機器人研究的重要課題[6]。
YANG等[7]根據對7自由度擬人機械臂構型的分析,采用代數方法先求得中間關節(jié)的值,再以此為約束條件分別求取另外6個關節(jié)的值,這種解析法快速而精確,然而只適用于前3個關節(jié)與后3個關節(jié)各自等效為球形關節(jié)的機器人。廖柏林等[8]結合最小速度范數方案及最小加速度范數方案,使用雅可比矩陣偽逆的方法來控制冗余機械臂運動,該方法實現簡單,但在靠近機器人奇異位型時關節(jié)速度容易超出極限。BENZAOUI等[9]采用任務擴充法將避障作為附加約束條件使機器人雅可比矩陣擴展為方陣,使得逆運動學具有確定解,然而使用增廣雅可比矩陣求取逆解依然可能導致奇異位型速度超限。劉世平等[10]使用BP神經網絡得到了Baxter 7自由度機械臂逆解,但神經網絡方法需要訓練,大量樣本的獲取是一個實際問題。針對這些不足,越來越多的學者將智能仿生算法應用于冗余機器人逆解問題,包括差分進化(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)作為一種新型仿生算法具有收斂速度快、全局搜索能力強等優(yōu)點,已成功應用于多個領域[16-18],但算法求解精度會隨迭代次數下降[19],因此,本文以船舶分段機器人噴涂系統為研究對象,提出一種改進人工魚群算法(improved artificial fish swarm algorithm, IAFSA)以解決冗余機器人逆運動學問題。
本文采用圖1所示冗余機器人噴涂系統來完成船舶分段非結構面的噴涂工作。該系統主要由一個3移動自由度桁架和一臺6轉動自由度史陶比爾RX160L機器人組成。其中,桁架作為外部軸極大地擴展了工作空間,其移動范圍長寬各30 m,高12 m,史陶比爾RX160L機器人橫向安置在可沿豎直方向移動的平臺上,機器人末端并列安裝兩個高壓無氣噴槍以提高噴涂效率。

圖1 冗余機器人噴涂系統
本文采用改進DH參數法(modified DH, MDH)建立機器人系統的運動學模型[20]。由于機器人模型搭建在SolidWorks環(huán)境中,故選取SolidWorks模型空間原點建立基坐標系。基于MDH參數法得到機器人系統各關節(jié)上的坐標系,如圖2所示,MDH參數表如表1所示,其中ai-1、αi-1、di、θi分別代表各連桿和運動副的連桿長度、連桿轉角、連桿偏距以及關節(jié)角。

圖2 機器人系統坐標系

表1 機器人系統MDH參數

(1)
式中,c、s分別表示cos和sin。
由此,機器人末端執(zhí)行器的坐標系相對于基坐標系的位姿變換關系可表示為
(2)
其中,rij為姿態(tài)矩陣;pk為位置矩陣,解析式如下:
(3)
本文所用的機器人系統a0=20 750mm,a4=150 mm,a5=825 mm,d4=997.70 mm,d7=925 mm,d9=109 mm。

本文以機器人各關節(jié)運動范圍為約束條件,以末端執(zhí)行器位姿求解值與期望值的誤差最小以及關節(jié)行程長度最小為優(yōu)化目標,建立逆運動學問題的優(yōu)化模型如下:
(4)
其中,上標撇表示數據通過x′=(x-xmin)/(xmax-xmin)進行了歸一化處理,下標d、s分別表示期望值和初始值,rij與pk的最值可根據式(4)由式(3)求得;由于移動關節(jié)行程巨大,故設置系數η=100以削弱歸一化對絕對位置誤差造成的影響;λ為關節(jié)行程權重,為優(yōu)先保證位姿準確,本文取λ= 0.01。
人工魚群算法由李曉磊等[21]在2001年提出,其基本思想是在一片水域中,魚的數量存在最多的地方往往就是這片水域里營養(yǎng)物質濃度最高的地方,根據魚群的這一生活習性來模仿其行為,進而尋找最優(yōu)解。假設人工魚的數量規(guī)模為N,其中第i條人工魚Xi=(x1,x2,…,xm)為第i個解,m為解的維度,營養(yǎng)物質濃度表示為目標函數值Yi=f(Xi)。尋優(yōu)過程中人工魚的視野范圍為V,其移動步長為S,區(qū)域擁擠度因子為δ,尋優(yōu)最大嘗試次數為t,第i條與第j條人工魚之間的距離以它們的歐幾里得范數表示,即dij=‖Xi-Xj‖。魚群活動由覓食行為、聚群行為和追尾行為三種行為組成。
(1)覓食行為。假設當前狀態(tài)下有人工魚Xi,其目標函數值為Yi,在此魚的視野范圍內隨機選擇一條人工魚Xj,其目標函數值為Yj。在求最小值問題上,如果Yj (5) 式中,Im為隨機方向上的單位向量。 (2)聚群行為。搜索人工魚Xi的視野范圍內所有人工魚的數量nf以及視野中心位置Xc。如果Yc/nf<δYi,說明視野中心狀態(tài)更優(yōu)且不太擁擠,則人工魚Xi向中心位置Xc移動一個步長;否則,執(zhí)行覓食行為。移動計算公式為 (6) Yc/nf<δYi (3)追尾行為。搜索人工魚Xi視野范圍內最優(yōu)人工魚Xbest。如果Ybest/nf<δYi,則人工魚Xi向最優(yōu)人工魚Xbest移動一個步長;否則,執(zhí)行覓食行為。移動計算公式為 (7) Ybest/nf<δYi 人工魚群算法有著較好的全局搜索能力和收斂速度,但其中人工魚的搜索視野和移動步長是固定值,制約了算法性能的進一步提高。在基本人工魚群算法中,較大的視野范圍會使人工魚群的三種行為影響更突出,在增強算法全局搜索能力的同時也增加了計算量,延長了計算時間;較小的視野容易使算法陷入局部最優(yōu)。而當移動步長取值過大時,算法在后期容易錯過目標函數的峰值或谷值,導致其在真正的最優(yōu)解附近振蕩,造成最終解的精度下降;若移動步長過小,算法的收斂速度會大大降低。為了克服以上弊端,本文在算法執(zhí)行過程中引入基于正態(tài)分布的視野和步長動態(tài)調整策略,即 式中,Vmax為視野上限;Vmin為視野下限;Smax為步長上限;Smin為步長下限;g為當前迭代次數,gmax為最大迭代次數;σ為正態(tài)分布的標準差。 圖3 正態(tài)分布曲線 在迭代初期,搜索空間很大,算法以一個較大的視野和步長快速搜尋整個解空間,以保持良好的全局搜索能力和收斂速度;隨著迭代繼續(xù),搜索空間逐漸收縮至若干個特定區(qū)域,視野和步長快速衰減的同時保留了一定跳出局部最優(yōu)的能力;在迭代后期,視野和步長的衰減速度再次趨緩,在一個較小的水平上密集搜索局部區(qū)域內的解,以提高最終解的精度,改善算法的局部搜索能力。 改進后的人工魚群算法流程如圖4所示。 圖4 IAFSA算法流程圖 本實驗根據給出的機器人末端執(zhí)行器期望位姿以及機器人初始狀態(tài)來求解機器人各關節(jié)的轉角及位移,實驗環(huán)境為MATLAB 2018b, Win10 Intel(R)Xeon(R)W-2135 CPU @ 3.70GHz。隨機給出機器人末端執(zhí)行器期望位姿為 設置機器人初始狀態(tài),即各關節(jié)初始轉角及位移為(0,0,0,0,0,0,0,0,0)T。采用基本AFSA算法、混合改進人工魚群算法(HIAFSA)[22]與本文提出的IAFSA算法進行比較,三種算法的參數設置如表2所示。 表2 三種算法的參數設置 每種算法各運行10次,每次迭代500代,對實驗數據取平均值,結果如圖5和表3所示。 圖5 三種算法的目標函數值收斂曲線 表3 三種算法的求解效果對比 可以發(fā)現,三種算法最終都能取得較為理想的求解效果。由圖5可以看出,IAFSA算法的收斂速度要優(yōu)于HIAFSA和AFSA算法。由表3可以得到,IAFSA算法的目標函數值較AFSA降低了27.91%,較HIAFSA降低了20.03%,顯著減小了機器人末端執(zhí)行器位姿求解值與期望值之間的誤差,提高了逆解的精度;IAFSA算法計算時間較AFSA縮短了4.41%,較HIAFSA增長了2.91%,在原有算法的基礎上進一步提高了計算速度,但略微慢于HIAFSA。綜合比較,本文提出的IAFSA算法具有更好的搜索能力和收斂速度以及相對較快的計算速度。 現以圖1中船舶分段的傾斜平板為例,在SolidWorks Motion環(huán)境中以“弓”字形軌跡對其進行噴涂仿真,對機器人各關節(jié)添加馬達,選用IAFSA和HIAFSA算法對噴涂軌跡點位姿矩陣進行求解,將結果以數據點的形式輸入各關節(jié)馬達,驅動機器人完成噴涂動作。使用Motion的圖解功能跟蹤機器人末端執(zhí)行器的位姿,前20個軌跡點末端的位姿誤差如圖6所示,其中為了簡化對姿態(tài)的描述,假定末端執(zhí)行器坐標系以基坐標系為固定參照系,先繞x軸旋轉γ角,再繞y軸旋轉β角,最后繞z軸旋轉α角,以表征姿態(tài)矩陣rij。 (a)x方向位置誤差 (b)y方向位置誤差 從仿真結果可以看出,IAFSA算法得到的位姿誤差曲線較HIAFSA明顯更為平穩(wěn)且絕對值更小,以圖6b為例,IAFSA計算得到的y方向位置誤差平均值為-0.0615 mm,標準方差為0.2054;HIAFSA得到的平均值為-0.3404 mm,標準方差為1.298,分別為IAFSA計算結果的5.5倍和6.3倍。另外,HIAFSA在第12、19軌跡點上分別達到1.712 mm和-5.396 mm的誤差峰值和谷值,遠超過了IAFSA的最值0.373 mm和-0.550 mm。由此可見,IAFSA算法較HIAFSA算法得到的機器人末端執(zhí)行器的逆運動學解精度更高、平穩(wěn)性更好,其位置誤差始終小于1 mm,姿態(tài)誤差小于1°,滿足噴涂要求,驗證了所求逆解的正確性和方法的有效性。 (1)針對一種由3移動自由度桁架和6轉動自由度機器人組成的船舶分段機器人噴涂系統,通過MDH參數法建立了其運動學模型并得到了運動學正解。 (2)提出了一種基于正態(tài)分布衰減視野及步長的改進人工魚群算法(IAFSA),以姿態(tài)誤差最小和關節(jié)行程最短為目標求解冗余機器人逆解問題。實驗對比結果表明,IAFSA算法保持了良好的全局搜索能力和收斂速度,并改善了最優(yōu)解精度和計算時間,強化了局部搜索能力。 (3)逆解的精度和誤差穩(wěn)定性通過SolidWorks Motion模塊仿真得到了驗證,證明了IAFSA算法在冗余機器人逆運動學求解問題中的有效性。2.2 基于正態(tài)分布的視野及步長動態(tài)調整策略



3 仿真實驗




4 結論