徐 蕾,宋俊輝,涂紹平,朱 俊,李仁雄
(上海中車(chē)艾森迪海洋裝備有限公司,上海 201306)
遙控?zé)o人潛水器(remotely operated vehicle,ROV)是水下作業(yè)的重要工具,在搜索救援、水產(chǎn)養(yǎng)殖和水下工程結(jié)構(gòu)檢測(cè)等多個(gè)領(lǐng)域廣泛應(yīng)用[1-2]。ROV 的推進(jìn)器布置與推力分配對(duì)ROV 的運(yùn)動(dòng)和作業(yè)能力影響巨大。通過(guò)對(duì)ROV的推進(jìn)系統(tǒng)進(jìn)行合理的推力分配不僅可以使ROV的各推進(jìn)器高效穩(wěn)定地運(yùn)行,并且可滿足ROV期望的推力或力矩的輸出要求。常見(jiàn)推力分配方法主要有:基于數(shù)學(xué)規(guī)劃的優(yōu)化方法、原始對(duì)偶法、偽逆法等[3-5]。偽逆法求解迅速、結(jié)構(gòu)簡(jiǎn)單,但輸出推力易飽和,使推進(jìn)器持續(xù)高功率工作;原始對(duì)偶法的理論簡(jiǎn)單,有效解決了推力飽和現(xiàn)象,但推力大小存在突變,降低了推進(jìn)器的使用壽命[3-6]。對(duì)于未來(lái)推力分配技術(shù)的發(fā)展,智能控制分配將有很大的潛力。智能控制分配收斂速度快、精度高、結(jié)果一般能達(dá)到最優(yōu),而且適合解決控制分配當(dāng)中的非線性問(wèn)題[6]?,F(xiàn)在可用于推力分配的智能算法包括神經(jīng)網(wǎng)絡(luò)、粒子群優(yōu)化、遺傳算法等。其中,遺傳算法是一種通過(guò)模擬自然進(jìn)化過(guò)程搜索空間最優(yōu)解的方法[7]。
針對(duì)ROV推力分配的輸出飽和問(wèn)題,本文提出一種基于遺傳算法的無(wú)人潛水器推力分配優(yōu)化方法。本文以某微小型電動(dòng)ROV 的推進(jìn)器空間布局為基礎(chǔ)建立了ROV水平面與垂直面的推力數(shù)學(xué)模型,應(yīng)用遺傳算法分別對(duì)ROV 的水平面與垂直面的推進(jìn)器的推力分配進(jìn)行優(yōu)化。本文所提方法不僅通過(guò)編碼將優(yōu)化目標(biāo)-輸出推力限定在一定范圍內(nèi),避免推力輸出飽和,并且通過(guò)選擇合適的優(yōu)化目標(biāo)函數(shù),在滿足一定工程誤差條件下,使ROV各推進(jìn)器的輸出合力或合力矩基本吻合期望輸出的合力或合力矩。
本文所論述的ROV 本體上安裝8 臺(tái)相同型號(hào)的電動(dòng)推進(jìn)器,推進(jìn)器布局如圖1所示。根據(jù)國(guó)際水池會(huì)議(ITTC)推薦和造船與輪機(jī)工程學(xué)會(huì)(SNAME)術(shù)語(yǔ)公報(bào)的體系,建立ROV 隨體坐標(biāo)系。水平面上的4 臺(tái)推進(jìn)器(T1~T4)的安裝軸線與ROV 的x軸的夾角α為45°,采用“面對(duì)面”矢量環(huán)形對(duì)稱(chēng)布置,其中a、b分別為水平面各推進(jìn)器推力的作用點(diǎn)到x軸、y軸的距離。垂直面上的4 臺(tái)推進(jìn)器(T5~T8)的安裝軸線與z軸平行,并沿xOz平面對(duì)稱(chēng)布置,其中c、d分別為垂直面各推進(jìn)器推力的作用點(diǎn)到x軸、y軸的距離。
圖1 推進(jìn)器布局簡(jiǎn)圖Fig.1 Layout diagram of thrusters
推進(jìn)器的最大轉(zhuǎn)速為1 100 r/min,正轉(zhuǎn)(順時(shí)針轉(zhuǎn))最大推力為14.18 kgf(1 kgf≈9.8 N),反轉(zhuǎn)(逆時(shí)針轉(zhuǎn))最大推力為13.30 kgf。推進(jìn)器的轉(zhuǎn)速、推力與功率之間的測(cè)試數(shù)據(jù)如表1所示。
為方便后續(xù)的仿真計(jì)算,將表1的測(cè)試數(shù)據(jù)采用最小二乘法[8]進(jìn)行擬合,可以得到推進(jìn)器正轉(zhuǎn)時(shí)的推力與功率的函數(shù)關(guān)系式見(jiàn)式(1),反轉(zhuǎn)時(shí)的推力與功率的函數(shù)關(guān)系式見(jiàn)式(2);并分別繪制出推進(jìn)器正轉(zhuǎn)和反轉(zhuǎn)時(shí)推力與功率的擬合與實(shí)測(cè)數(shù)據(jù)的曲線,如圖2~圖3所示。
圖2 正轉(zhuǎn)推力與功率曲線Fig.2 Thrust and power curve when rotating clockwise
圖3 反轉(zhuǎn)推力與功率曲線Fig.3 Thrust and power curve when rotating counter clockwise
式中:Pcw——推進(jìn)器正轉(zhuǎn)時(shí)的功率;Pccw——推進(jìn)器反轉(zhuǎn)時(shí)的功率;τ——推力。
1.2.1 水平推進(jìn)器數(shù)學(xué)建模
根據(jù)圖1所示的ROV水平推進(jìn)器的布局,將水平面內(nèi)的4個(gè)推進(jìn)器的推力分別沿x軸與y軸進(jìn)行分解,則可以得到如圖4所示的水平面各推進(jìn)器的推力分解簡(jiǎn)圖。T1~T4分別為推進(jìn)器T1~T4的推力。
圖4 水平面的推進(jìn)器推力分解Fig.4 Thrust decomposition of horizontal thrusters
由圖4 可以推導(dǎo)出沿x軸的縱向力K,沿y軸的橫向力M以及繞z軸旋轉(zhuǎn)的艏向偏航力矩N。
式中:L=acosα+bsinα。
由式(3)~式(5),可以進(jìn)一步建立ROV 水平面推力的數(shù)學(xué)模型:
式中:fh——水平面推力函數(shù)。
1.2.2 垂直推進(jìn)器數(shù)學(xué)建模
同理,根據(jù)圖1 所示的ROV 垂直推進(jìn)器的布局,可以推導(dǎo)出ROV沿z軸的沉降力P、繞x軸旋轉(zhuǎn)的俯仰力矩Q以及繞y軸旋轉(zhuǎn)的橫滾力矩R,并建立ROV 垂直面推力的數(shù)學(xué)模型:
式中:fv——垂直面推力函數(shù)。
遺傳算法[9-10]( genetic algorithm,GA)是1962 年由美國(guó)的 Holland 提出的一種模仿生物進(jìn)化過(guò)程的最優(yōu)化方法,是一種通過(guò)模擬自然進(jìn)化過(guò)程搜索空間最優(yōu)解的方法[7]。遺傳算法將要優(yōu)化的問(wèn)題模擬成一個(gè)“優(yōu)勝劣汰”的生物進(jìn)化的過(guò)程,通過(guò)復(fù)制、交叉、突變等操作產(chǎn)生下一代的解,并逐步淘汰掉適應(yīng)度低的函數(shù)值的解,增加適應(yīng)度高的函數(shù)值的解, 使群體一代代不斷進(jìn)化,最后搜索到問(wèn)題的最優(yōu)解。遺傳算法的運(yùn)算過(guò)程如圖5 所示。其中,n表示種群的代數(shù)。
圖5 遺傳算法流程Fig.5 GA flowchart
遺傳算法是一個(gè)迭代過(guò)程,其模擬生物在自然環(huán)境的遺傳與進(jìn)化機(jī)理,反復(fù)進(jìn)行選擇操作、交叉操作、變異操作,最終得到問(wèn)題的最優(yōu)解或者近似最優(yōu)解。
2.2.1 選擇操作
選擇操作有多種方法,本文采用二元“錦標(biāo)賽選擇”法,即每次從種群中隨機(jī)抽取2 個(gè)個(gè)體(是有放回的抽?。?,然后從抽樣的2 個(gè)個(gè)體中選擇適應(yīng)度值最好的個(gè)體進(jìn)入下一代。這樣就保證了相對(duì)最優(yōu)個(gè)體能夠保存在種群中,提高了搜索到最優(yōu)解的速度。
2.2.2 交叉操作
在遺傳算法中常采用單點(diǎn)交叉法。單點(diǎn)交叉法的過(guò)程:首先,在種群中根據(jù)一定的交叉率pc隨機(jī)選擇一定數(shù)量的個(gè)體作為父本;然后,隨機(jī)設(shè)置一個(gè)交叉點(diǎn),交換父代雙親交叉點(diǎn)左側(cè)編碼串,產(chǎn)生新的子代個(gè)體;最后,用子代個(gè)體代替父代個(gè)體,產(chǎn)生新的種群。單點(diǎn)交叉操作過(guò)程如圖6所示。
圖6 單點(diǎn)交叉操作過(guò)程Fig.6 Process diagram of single point cross
2.2.3 變異操作
變異操作就是以變異概率改變種群中個(gè)體串碼的某一個(gè)或多個(gè)點(diǎn)位的基因。本文采用單點(diǎn)變異操作。其過(guò)程如圖7所示。
圖7 單點(diǎn)變異操作過(guò)程Fig.7 Process diagram of single point mutation
2.3.1 優(yōu)化目標(biāo)函數(shù)的選取
應(yīng)用遺傳算法優(yōu)化ROV 推力分配的實(shí)質(zhì)就是選擇合適的目標(biāo)函數(shù)對(duì)各推進(jìn)器的輸出力進(jìn)行優(yōu)化,使各推進(jìn)器的輸出在推進(jìn)器的有效推力范圍內(nèi),并且使各推進(jìn)器的輸出合力(矩)與期望的合力(矩)相等或滿足一定誤差。本文將期望的合力或力矩與各推進(jìn)器的輸出合力或力矩的差值的絕對(duì)值,作為優(yōu)化推力分配的目標(biāo)函數(shù)的組成項(xiàng)。
定義ROV水平面推進(jìn)器的期望輸出合力矩陣Fh:
式中:Ks——期望輸出的縱向合力;Ms——期望輸出的橫向合力;Ns——期望輸出的艏向偏航合力矩。
定義ROV 垂直面各推進(jìn)器的期望輸出合力矩陣Fv:
式中:Ps——期望輸出的沉降合力;Qs——期望輸出的橫滾合力矩;Rs——期望輸出的俯仰合力矩。
另外,考慮推進(jìn)器推力輸出的平穩(wěn)性,將推進(jìn)器輸出推力的變化作為優(yōu)化目標(biāo)的一項(xiàng)。因此,將推進(jìn)器本時(shí)刻與上一時(shí)刻的輸出推力的差值的絕對(duì)值作為目標(biāo)的優(yōu)化項(xiàng)。
此外,考慮推進(jìn)器的功耗,將推進(jìn)器的輸出功率與最大功率的比值加入目標(biāo)函數(shù)中。
綜上,將上述三項(xiàng)分別乘以不同的權(quán)重作為推力分配優(yōu)化的目標(biāo)函數(shù),即目標(biāo)函數(shù)為
式中:w1、w2、w3——權(quán)值,w1+w2+w3=1,這里取w1=0.6,w2=0.1,w3= 0.3;pi——推進(jìn)器Ti的輸出功率,pi可以根據(jù)式(1)或式(2)計(jì)算得出;pmax——推進(jìn)器的最大輸出功率;Ti(k)——推進(jìn)器Ti在k時(shí)刻的輸出推力。
2.3.2 適應(yīng)度函數(shù)的選取
適應(yīng)度函數(shù)的選取直接影響遺傳算法的收斂速度以及能否找到最優(yōu)解[11]。本文選取目標(biāo)函數(shù)作為適應(yīng)度函數(shù),即
為驗(yàn)證遺傳算法對(duì)ROV 推力分配的優(yōu)化效果,采用遺傳算法分別對(duì)ROV 水平面和垂直面的推進(jìn)器的推力分配進(jìn)行優(yōu)化,并與偽逆法推力分配效果進(jìn)行對(duì)比。設(shè)置遺傳算法的種群數(shù)為200,種群個(gè)體采用二進(jìn)制編碼,最大迭代次數(shù)為100,交叉率pc為0.8,變異率pm為0.05,并按照推進(jìn)器推力范圍[-13 kgf,14 kgf]進(jìn)行編碼。根據(jù)式(10)與式(11)計(jì)算出目標(biāo)函數(shù)的值與個(gè)體的適應(yīng)度,并按照前述遺傳算法的選擇、交叉、變異操作,一直迭代到遺傳算法設(shè)定的最大迭代次數(shù)。
3.1.1 基于遺傳算法的水平面推力分配仿真分析
假設(shè)ROV期望輸出的縱向合力Ks與橫向合力Ms分別如下:
從Ks與Ms的表達(dá)式可以看出,Ks與Ms是隨時(shí)間t變化的,并且從運(yùn)動(dòng)方向看,要求ROV 在x軸與y軸2個(gè)自由度同時(shí)運(yùn)動(dòng),耦合性比較高。這對(duì)水平面各推進(jìn)器的推力分配來(lái)說(shuō)是有難度的。采用前述的遺傳算法對(duì)水平面各推進(jìn)器的推力分配進(jìn)行優(yōu)化,通過(guò)仿真得到水平面的期望合力(Ks、Ms)、實(shí)際輸出推力的合力(Kr、Mr)、期望合力與實(shí)際輸出合力的差以及水平面各推進(jìn)器(T1~T4)的推力輸出。仿真結(jié)果分別如圖8~圖10所示。
圖8 Ks、Kr、Ms和Mr曲線Fig.8 Curve graph of Ks , Kr , Ms and Mr
從圖8~圖9 可以看出,基于遺傳算法優(yōu)化的水平面推進(jìn)器的輸出合力與期望合力基本一致,誤差約在±0.1 kgf,換算成比率,誤差約在±0.5%范圍之內(nèi)。另外,從圖10 可以看出,水平面的推進(jìn)器T1~T4的輸出推力均在[-13 kgf,14 kgf]范圍內(nèi),各推進(jìn)器輸出沒(méi)有出現(xiàn)飽和現(xiàn)象,且在整個(gè)運(yùn)動(dòng)過(guò)程中各推進(jìn)器推力的變化趨勢(shì)比較平緩,基本沒(méi)有出現(xiàn)大跳變。
圖9 Ks與Kr差值、Ms與Mr差值Fig.9 The difference between Ks and Kr , the difference between Ms and Mr
圖10 基于遺傳算法推進(jìn)器T1~T4推力輸出Fig.10 Thrust output graph of T1-T4 based on GA
3.1.2 偽逆法水平面推力分配仿真分析
將期望推力縱向合力Ks與橫向合力Ms(式(12)、式(13))采用偽逆分配方法進(jìn)行推力分配仿真,推力分配的結(jié)果如圖11所示。
圖11 基于偽逆法的推進(jìn)器T1~T4 推力輸出Fig.11 Thrust output of T1-T4 based on pseudo inverse method
將圖11與圖10對(duì)比可以看出,采用偽逆法進(jìn)行推力分配時(shí),雖然推進(jìn)器T1~T4 的輸出相比基于遺傳算法的推力分配輸出要平滑,但是推進(jìn)器T3的最大輸出推力達(dá)到了20 kgf,出現(xiàn)了飽和現(xiàn)象,而推進(jìn)器T2 的輸出基本卻為零,并沒(méi)有有效利用推進(jìn)器T2。因此,可以明顯看出,遺傳算法優(yōu)化的推力輸出沒(méi)有出現(xiàn)飽和現(xiàn)象,并且推進(jìn)器T1~T4的輸出更加均衡,每個(gè)推進(jìn)器都得到了充分的利用。
3.2.1 基于遺傳算法的橫滾與俯仰力矩分配仿真
采用遺傳算法對(duì)ROV 俯仰和橫滾力矩的分配進(jìn)行優(yōu)化。假設(shè)ROV 期望輸出的橫滾力矩Qs和俯仰力矩Rs分別為
仿真得到垂直面各推進(jìn)器(T5~T8)的輸出推力的合力矩與期望合力矩、實(shí)際輸出合力矩與期望合力矩的差以及垂直面各推進(jìn)器(T5~T8)的推力輸出。仿真結(jié)果分別如圖12~圖14所示。
從圖12~圖13 可以看出,應(yīng)用遺傳算法優(yōu)化的橫滾力矩和俯仰力矩與其各自的期望輸出基本一致,期望輸出與實(shí)際輸出之間的誤差約在±0.2 kgf,換算成比率,誤差范圍在±1%之內(nèi)。另外,從圖14 可以看出,推進(jìn)器T5~T8 的輸出推力均在[-13,14]范圍內(nèi),沒(méi)有出現(xiàn)飽和現(xiàn)象。
圖13 Qs與Qr差值、Rs與Rr差值Fig.13 The difference between Qs and Qr , the difference between Rs and Rr
圖14 基于遺傳算法的推進(jìn)器T5~T8 推力輸出Fig.14 Thrust output graph of T5-T8 based on GA
3.2.2 偽逆法的橫滾與俯仰力矩分配仿真
將期望的橫滾力矩Qs和俯仰力矩Rs(式(14)、式(15))采用偽逆分配方法進(jìn)行推力分配仿真,推力分配的結(jié)果如圖15 所示。
圖15 基于偽逆法的推進(jìn)器T5~T8 推力輸出Fig.15 Thrust output graph of T5-T8 based on pseudo inverse method
將圖15與圖14對(duì)比可以看出,采用偽逆法對(duì)橫滾與俯仰力矩進(jìn)行推力分配時(shí),推進(jìn)器T5~T8 的輸出相比基于遺傳算法的推力分配輸出要平滑,但推進(jìn)器T5~T8 的最大推力超過(guò)30 kgf,均超出了推進(jìn)器的有效輸出范圍[-13,14],即均出現(xiàn)了飽和現(xiàn)象。這也意味著如果采用偽逆法進(jìn)行推力分配將無(wú)法達(dá)到期望的橫滾力矩和俯仰力矩輸出。
基于現(xiàn)有ROV 的推進(jìn)器空間布局以及推進(jìn)器的測(cè)試數(shù)據(jù),對(duì)ROV水平面與垂直面的推進(jìn)器的推力進(jìn)行數(shù)學(xué)建模,然后選擇合適的優(yōu)化目標(biāo)函數(shù),應(yīng)用遺傳算法分別對(duì)ROV 的水平面與垂直面的期望合力(矩)的分配優(yōu)化進(jìn)行仿真分析。并且,將基于遺傳算法優(yōu)化的推力分配仿真結(jié)果與常規(guī)的偽逆法推力分配的仿真結(jié)果進(jìn)行了對(duì)比,得出以下結(jié)論:
1) 采用常規(guī)的偽逆法進(jìn)行推力分配時(shí),相比于基于遺傳算法的推力分配,推進(jìn)器的輸出更平滑,但推進(jìn)器的輸出容易出現(xiàn)飽和現(xiàn)象,甚至各推進(jìn)器的輸出不均衡;
2) 基于遺傳算法的推力分配誤差小,誤差可以保證在±1%以?xún)?nèi),并且能夠有效解決推力分配的飽和問(wèn)題,能夠均衡地利用各推進(jìn)器的輸出能力。
以上結(jié)論以及本文所做的探究均是在仿真基礎(chǔ)上得出的,與實(shí)際工程應(yīng)用還存在差距。后續(xù)需要搭建具體的實(shí)驗(yàn)平臺(tái)做進(jìn)一步探究,并著重解決基于遺傳算法的推力分配優(yōu)化的實(shí)時(shí)性以及快速性問(wèn)題,減小優(yōu)化的運(yùn)算量,使遺傳算法能夠真正應(yīng)用于推力分配優(yōu)化的實(shí)際工程中。