鄧魯克,呂東坡
(天津大學 海洋技術學院,天津 300072)
水下機器人在海洋、湖泊、河流等水下作業的應用越來越廣泛,其中有纜水下機器人(Remotely Operated Vehicle,ROV)由于其具有操作靈活、可實時傳輸數據等優點得到了廣泛的應用。同時,水下機器人的穩定性也提出了更高要求,獲取水下機器人的運動控制方程以及采取響應速度更快的控制策略變得至關重要[1,2]。
ROV在水中運動情況較為復雜,為了能夠便于分析研究,根據艏向角和深度的變化將ROV的運動情況分為水平面與垂直面。ROV在水平面運動時,只改變艏向角,深度不會改變;在垂直面運動時,只會改變深度,艏向角不會改變,由于本次主要研究ROV姿態的控制,所以主要對艏向角進行研究。
在進行簡化之后,水下機器人在水平面的運動方程為[3]:

其中,X、Y、N與u、v、r方向相同,推進器1、3和推進器2、4提供的推力相反,推進器產生的合力為各個推進器提供的力之和:


圖1 ROV的三維模型
ROV的水動力模型為:

M是ROV的質量矩陣;是附加質量;
CRB(V)是ROV的科式力和向心力矩陣;
D(V)V為ROV水阻尼矩陣;
G(η)為由靜力產生的回復力(矩)向量;
T為推力系統產生的推力(矩)。
由于本次研究主要針對ROV的運動控制方程以及控制方法,所以水動力系數以及其余相關矩陣由仿真實驗得到的數據直接給出。
將式(1)和式(2)代入式(3)可得:

在理想的情況下,由于ROV的模型左右完全對稱,直航情況下ROV不會有u和r。但在實際情況下,ROV直航可能會由于外界擾動,在水平面內除了會有u,還可能會有v和r,但是v和r數值較小,其乘積更可以忽略。此外,ROV以一定速度向前行駛,u保持不變,所以其導數為零。ROV左右形狀幾乎完全對稱,可以忽略橫向運動方向上產生的力以及會使ROV發生旋轉運動的力矩。式(3)可化簡為:

對上式進行拉氏變換并進行整理,得到艏向控制方程:

系統輸入:

系統輸出:

由式(6)、式(7)、式(8)可得控制系統的傳遞函數:

在ROV實際運動中,因橫向速度、加速度引起的回轉力矩較小,而且因回轉加速運動對橫向力影響較小,所以N·v、Nv、Y·r較小,可以忽略,可將式(9)簡化為:


表1 ROV模型參數
遺傳算法是用計算機來模擬外界條件在生物進化時對生物的優化選擇作用[4]。
在針對有關優化的問題上,遺傳算法也具有著諸多優勢:
1)不僅能夠解決連續優化的問題,還能解決離散優化的問題;
2)可以同時針對多個變量進行相應處理;
3)在面對較為復雜的優化問題上,可以更多的考慮全局最小值;
4)該算法是在解決優化問題的時候采用的是編碼的方式,所以在分析離散數據和處理解析函數之外,還能針對有關符號數據的優化問題進行處理;
5)可以并行實現預期目標;
6)得出最優解之后,可以將此最優解有關的參數一并給出。
1)變量選擇與適應函數
根據問題定義染色體(chromosome),即確定被優化的變量集合。如果染色體包含Npop個變量,可表示為:

染色體通過適應函數f來確定其適應度,適應度較高的個體在遺傳的時候保留下來的幾率也會相應提高。

2)變量的編碼與解碼
本次解決的問題為離散優化問題,所以采用二進制編碼的方法,用其變量以及最小化適應函數。二進制法具有簡潔、利于實現遺傳操作的優點。
其編碼公式為:

其解碼公式為:

其中,0≤pnorm≤1為規范化變量,plo為最小變量值,phi為最大變量值,gene[m]為基因,是pn在二進制的表示形式,round{}為對括號內容取整的函數,pquant為pnorm量化后的表示形式,qn為pn的量化值。
3)種群與染色體的自然選擇
在進行每一代之間的自然選擇的時候,假設種群中染色體的數量為Npop,染色體的長度為Nbit,染色體的保留比例為Xrate,則每一代遺傳之后保留下來的染色體數量為:

新一代染色體保留了Nkeep之后,會將余下的染色體進行舍棄,因此需要補充Npop-Nkeep個色體,保證下一次的遺傳可以正常進行。新生成染色體的配對方法有三種:順序配對、隨機配對、加權隨機配對、競爭配對。本論文將所有染色體按照適應度降序排名,且保留50條基因,排名靠后的基因將會被淘汰。
4)染色體交叉
染色體的交叉是為了能夠將父代染色體通過配對將基因遺傳到新的染色體上。本遺傳算法設定交叉概率PC=0.8。
5)染色體變異
變異操作用于對二進制串中特定的位置進行變化。此操作可以引入原本不存在于種群中的基因,使得染色體在空間中能夠包含更多可能的解。本遺傳算法設定變異概率PM=0.1。
6)終止條件
當遺傳算法滿足指定條件的時候,算法計算結束。終止條件主要優化解的結果落入預定范圍中,算法計算的次數達到預設次數的最大值,或者種群中每個染色體的適應值都相同等。

圖2 二進制遺傳算法的基本步驟組成
PID控制在生產過程中是一種非常常見的控制策略,利用輸入值r(t)與輸出值的的偏差e(t),按照比例、積分、微分的函數關系進行運算,并將其結果應用于對輸出的控制,從而達到一個穩定的狀態[5]。

圖3 PID控制原理圖

其中:
kP為比例系數、TI為積分時間系數、TD為微分時間系數。
本系統將會對PID通過kP、kI、kD三個參數進行優化,其中0≤kP≤50,0≤kI≤1,0≤kD≤1。
為了防止限制的控制量超出預期以及考慮到相應的暫態性能,決定用輸入的平方項和誤差絕對值的積分作為目標函數。

w1、w2、w3、w4為權值,取值:w1=0.5、w2=0.4、w3=1.0、w4=0.5。
e(t)=cd-c為誤差,σ=cmax-c(∞)為超調量,tr為上升時間,tp為峰值時間,ts為調整時間。

圖4 遺傳算法PID原理圖
在MATLAB中,設置傳遞函數為G(s),迭代次數設為200次,仿真時間設置為10s,變量個數設置為3,種群上限設置為50,單個變量的編碼基因長度設置為10,交叉概率設置為0.8,變異概率設置為0.1,自我復制概率設置為0.2。

圖5 遺傳算法目標函數值優化曲線
從圖中可以看出,最優函數值1s附近開始急劇下降,后續下降相較之前變得較為平坦。可得出遺傳算法對于PID三個參數的整定速度較快,且后續較穩定。

圖6 階躍信號的響應曲線
經過遺傳算法計算之后,針對水下機器人姿態調節的PID三個參數分別為kP=19.8754、kI=0.0010、kD=0.0287。上升時間較PID減少了2s,調整時間減少25s,超調量增加了9.8%。
由于水下機器人在水下遇到擾動時需要較快的響應速度,調整自身姿態,回到預定軌跡,所以對響應速度要求較高。PID算法雖然也可以完成對于擾動的抑制效果,但從實驗中可以看到響應速度較慢,而遺傳PID則具有更快的反應速度,利于水下機器人及時調節自身姿態。雖然遺傳PID超調量較大,但由于水下機器人運動時也具有一定慣性,對系統的動態特性也會有一定的要求,超調量較大也可以使機器人更快回到直航姿態。從仿真實驗來看,遺傳PID相較于PID算法具有更佳的控制效果。