廖煜雷,劉鵬,王建,張銘鈞,2
(1.哈爾濱工程大學 水下機器人技術重點實驗室,黑龍江哈爾濱150001;2.哈爾濱工程大學 機電工程學院,黑龍江 哈爾濱150001)
近年來,隨著海洋資源勘探與開發、海洋安全越來越受到人們的高度重視,無人艇(unmanned surface vehicle,USV)由于在海洋科研、海洋安全等方面具有廣泛的應用潛力,逐漸成為了國際研究熱點[1-2]。一些學者針對欠驅動USV的控制問題進行了深入探討[3-6],欠驅動USV控制系統的參數優化存在分析復雜、多參數、強非線性等難點,是典型的非線性系統最優控制問題。在該類系統的設計中,一般依據設計者的經驗,采用試湊的方法來調整控制參數,這樣難以得到最優、甚至次優的控制參數。一種可能的解決辦法是利用優化算法進行參數尋優,目前常用的優化方法有模擬退火、遺傳、蟻群、粒子群、人工魚群等算法。文中針對控制參數調節困難的問題,考慮將人工魚群算法(artificial fish swarm algorithm,AFSA)應用到USV控制系統的參數優化中,為解決非線性控制參數的優化問題提供一種有效途徑。由于AFSA具有對參數、初值和目標函數等要求低,分布并行尋優、全局收斂性好、收斂迅速等諸多優點[8],在控制參數優化[8]、股票預測[9]、模型辨識[10]、數據挖掘[11]、通信網絡優化等領域均有應用。然而AFSA也存在求解精度低、后期收斂緩慢、算法退化等問題[12-15]。
本文針對AFSA存在的收斂緩慢等問題,考慮引入生存機制、尋優過程評估、動態調整參數等方法,提出了一種改進人工魚群算法(improved artificial fish swarm algorithm,IAFSA),并利用IAFSA解決欠驅動USV的控制參數優化問題。
本文討論的一類欠驅動USV的水平面運動模型如圖1。該USV僅有的控制輸入為縱向推力F和轉艏力矩T(2個控制輸入),少于系統輸出維數(3自由度),因此該USV具有欠驅動性。

圖1 無人艇的水平面運動模型Fig.1 USV model in plane motion
在一定假設條件USV的運動和動力學模型可描述為[16]

式中:x、y表示船的重心在慣性坐標系{I}中的位置,ψ是船的艏向角;u、υ、r分別表示在船體坐標系{B}中船的縱向、橫向和偏航(角)速度;τ1、τ2、τ3分別表示船在縱向、橫向、艏向受到的有界環境干擾力;參數mii和dii分別是船的慣性和阻尼參數矩陣在{B}系3個坐標軸上的分量,模型參數存在有界不確定性。
選用文獻[17]中的軌跡規劃方法,假設在慣性系{I}中USV重心G所跟蹤的軌跡是慣性系下位置變量xd(t)、yd(t)關于時間的函數,下標“d”表示期望變量。、為慣性系{I}下的參考速度:

式中:下標“r”表示參考變量;正常數Ux,max、Uy,max表示USV向期望軌跡運動的最大接近速度,其大小由USV的機動能力決定;Δx、Δy為調節因子,用于調節跟蹤過程的動態行為。通過坐標變換,船體坐標系{B}下的參考跟蹤速度ur、υr和加速度可表示為

因此USV的軌跡跟蹤控制目標為:設計反饋控制律保證USV跟蹤上參考速度,并最終收斂到期望軌跡。
下面基于滑??刂评碚摚?6-18],分別設計縱向和橫向的軌跡跟蹤控制器[16]。
1.2.1 縱向控制器設計
縱向滑模表面采用一階的指數鎮定面:

式中:ue=u-ur表示縱向速度差。
設計縱向滑??刂破鳛?/p>

式(1)中模型參數和干擾力的不確定界限為


定義Lyapunov函數:將V1對時間求導,并將式(1)、(2)代入,可得

選擇k1為

式中:η1為正常數。
將式(5)代入式(4)可知,V1滿足可達條件:

1.2.2 橫向控制器設計
橫向滑模表面定義為二階的指數鎮定面:

式中:υe=υ-υr表示橫向速度差。
將S2對時間求導,并設其導數為零,可得等式:


將式(1)、(7)代入式(6),可得名義橫向控制器

式中:h、b的表達式為

設計橫向滑??刂破鳛?/p>

式中:Φ2為邊界層厚度。定義Lyapunov函數:

將V2對時間求導,并把式(6)~(11)代入,可得

選擇k2為

式中:η2為正常數;H為h的不確定性范圍,且滿足;β的范圍依賴于b的幾何平均數,詳細定義見文獻[18]。
將式(13)代入式(12)可知,V2滿足可達條件

根據文獻[16]的分析過程可證明,控制器式(3)、(11)保證了軌跡跟蹤系統的漸近穩定性,且艏搖運動r是有界輸入-有界輸出穩定的。
李曉磊[8]提出了人工魚群算法。該算法基于動物自治體的概念,通過模擬自然界中魚群的覓食、追尾、聚群等行為,并模擬魚群集體協作的社會行為,以最終實現集群智能的一種仿生型群智能優化算法。
AFSA中基本概念與參數的定義:為最大目標搜索空間的維度;表示欲尋優變量的求解域,即表示人工魚的視野;為人工魚的最大移動步長;κ為擁擠度系數;為試探次數;n為人工魚群體的總數量;X表示人工魚群整體,X=[X1,X2,…,Xn]T;第i條人工魚的狀態表示為向量Xi=(xi1,xi2,…,),(i=1,2,…,n);人工魚個體間的距離為;人工魚當前所在位置的食物濃度為Yi=f(Xi),即Y為目標函數值為最大迭代次數,表示第次迭代。文中以求取極大值為例進行討論。
大量文獻研究表明[11-15],雖然AFSA具有很多突出優點,但也存在一些問題:1)在搜索前期收斂速度快,但后期收斂變慢;同時搜索缺乏協調性,易出現“算法退化”現象。2)對最優精確解的獲取能力不夠,僅能得到全局最優解的鄰域。3)魚群群體缺乏協調性和交互性。公告板是自下而上的交互(個體行為可以影響到群體最優解),而沒有自上而下的交互(群體最優解沒有對個體行為施加影響)。
在AFSA提出后,很多研究者曾嘗試改進其算法,主要改進思路:1)對算法本身提出了很多的改進措施,例如:彈性自適應AFSA、極坐標編碼AFSA、生境式AFSA、分解協調式AFSA等;2)將不同的優化算法相結合或融合,通過利用各自算法的長處以實現優勢互補,例如:AFSA與蟻群、AFSA和模擬退火、AFSA同 Hopfield網絡、AFSA與遺傳算法等。
文中提出一種改進人工魚群算法(IAFSA),主要改進思想:引入生存機制以提高群體的進化能力和協調性;隨著尋優的進行,自適應地調整魚群參數和求解域,并最終實現全局性、自適應、高速、高精度的尋優目標。下面討論幾點改進方法。
2.2.1 搜索過程的評估和行動策略的調整
將尋優過程動態地分為3個階段,前期、中期、后期。前期:對整個求解域進行粗略搜索,確定局部最優求解域。中期:淘汰部分局部最優解域,定位全局最優求解域。后期:重點在最優解域附近開展精細搜索,提高求解精度。對于求解極大值問題,采用的評估方法為

其中:

行動策略選為:前期和中期采用進步最快策略,預先開展3種行為,而后選擇最優者執行,若3種行為仍未進步則執行隨機行為。而后期采用進步即可的策略,即先覓食行為,如取得進步即退出,否則執行聚群行為,這兩行為均無進步則采取追尾行為,若3種行為仍未進步才采取隨機行為。
2.2.2 動態調整魚群參數
魚群參數對算法性能有直接影響:視野越大,越利于搜索全局極值并收斂,反之則越利于局部搜索;步長越大,越易搜索全局最優,但同時降低了求解精度;擁擠度因子避免了過度擁擠而陷入局部最優,然而由于排斥作用而難以逼近精確解。參數調整原則:既要保證前期全局粗略搜索和快速收斂,也要兼顧后期對定位的最優解域進行精細搜索。調整方法為

式中:ρ1、ρ2、ρ3、ρ4表示調整系數,均大于1。分別為初始視野和擁擠度。
2.2.3 生存機制
在自然界中,如果某條小魚長期處于缺乏食物狀態(食物濃度較低),該魚往往因生命力降低而逐漸被淘汰。尤其是在搜索中、后期,當某條人工魚仍處于低食物濃度狀態時,若繼續讓這條魚存活,勢必會降低群體的生存能力,影響群體的進步性。
基于上述事實,文中引入生存機制——在搜索的前期,對食物濃度較低人工魚的魚群參數進行調整,擴大其視野、步長,使其有更大的生存機會;而在中、后期,將食物濃度較低的人工魚淘汰,并將其引導至最優解域附近。為此定義第i條人工魚的生存因子為

式中:ρ5為調整系數,滿足ρ5>1。


在最優控制設計中,性能指標可用Bolza代價函數表示為[19]

式中:xs為系統狀態,uc為控制輸入,且滿足(xs,uc,t);λ1、λ2、η1、η2為欲尋優的控制參數。
在USV實際操控中,常選用一定的性能指標,比如最小跟蹤誤差、最小能量消耗等。
1)最小跟蹤誤差目標。
這種情況下,代價函數表示為

式中:L定義為USV重心與期望軌跡間的距離,L
2)最小能量消耗目標。
這種情況下,代價函數表示為

且滿足約束條件

算法基本流程如下:
2)運行第+1次迭代,對尋優過程進行評估,并設定行動策略,然后動態地調整魚群參數。
3)執行生存機制,若某人工魚Xi食物濃度較低,則更新其魚群參數或求解域。
4)按照行動策略,各人工魚Xi執行覓食、聚群和追尾等行為。如果某人工魚優于公告板,則用該人工魚來更新公告板。
5)判斷是否滿足退出條件(最大迭代次數、滿足尋優精度等條件)。本文以達到最大迭代次數為終止條件,即時算法退出,否則轉到第2步,繼續執行。
為驗證所提出優化算法的有效性,下面進行數值仿真對比試驗。仿真軟件環境為MATLAB 7.1,計算機CPU為Intel Core Duo主頻2.33 GHz,內存為2 GB。仿真中USV考慮了推力和轉艏力矩的飽和性限制,其具體參數如下:

考慮到USV的機動能力,選取軌跡規劃的參數為

討論如下

圓形運動軌跡。仿真初始狀態設置為:x=-4 m,y=2 m,ψ=15o,u=υ=r=0。為了對比方便,以文獻[16]中參數為原始控制參數 λ1,o=0.2,λ2,o=0.5,η1,o=0.001,η2,o=0.1,Φ1=0.1,Φ2=0.1 。
魚群參數設置:根據調試經驗,選取待優化參數范圍為0<λ1,λ2≤5;0<η1,η2≤0.5 ,則 AAFSA的魚群參數選為

若以式(14)為目標函數(最小跟蹤誤差優化目標),則可得優化后 USV 的控制參數為:λ1,T=0.95,λ2,T=0.46,η1,T=0.01,η2,T=0.07 。同理,若以式(15)為目標函數(最小能量消耗優化目標),則可得優化后 USV 的控制參數為:λ1,E=0.7,λ2,E=0.27,η1,E=0.009,η2,E=0.056 。在上述3 組控制參數下進行仿真,仿真試驗結果如圖2~4所示。

圖2 原始參數下軌跡跟蹤Fig.2 Response curves of USV under original parameters

圖3 最小誤差優化下軌跡跟蹤Fig.3 Response curves of USV under minimal tracking error
從圖2~4可以看出,3組參數均能驅使USV迅速地跟蹤上期望軌跡,狀態輸出光順、無超調,皆具有良好的動態性能。圖5顯示了3組參數作用下,USV的跟蹤誤差響應曲線。從圖5可知,原始參數下的跟蹤誤差值為93。而最小誤差優化參數下的跟蹤誤差值為57,減小了39%(且3組參數中,鎮定時間最短);最小能量優化參數下的跟蹤誤差值為66,減小了29%。

圖4 最小能量優化下軌跡跟蹤Fig.4 Response curves of USV under minimal energy consumption

圖5 跟蹤誤差的對比曲線Fig.5 Comparison curves of tracking error
圖6顯示了3組參數作用下,USV的能量消耗響應曲線。從圖6可知,原始參數下的能量消耗值為351。而最小誤差優化參數下的能量消耗值為308,減小了12%;最小能量優化參數下的能量消耗值為281,減小了20%,且鎮定時間較短。顯然,利用文中優化方法對欠驅動USV控制系統進行優化設計的控制參數,可以實現預定的優化目標,并具有良好的控制性能。

圖6 能量消耗的對比曲線Fig.6 Comparison curves of energy consumption
針對人工魚群算法存在的問題,提出了一種改進人工魚群算法,并成功運用該算法對欠驅動無人艇的控制參數進行了優化,得到如下結論:
1)考慮到人工魚群算法的不足,通過引入生存機制、尋優過程評估和動態調整參數等方法,提出了一種改進人工魚群算法。
2)利用改進人工魚群算法,解決了欠驅動無人艇控制系統設計中的參數優化問題。仿真對比試驗表明,利用該算法得到的優化參數,實現了預定優化目標,并具有良好的控制性能。
[1]VEERS J,BERTRAM V.Development of the ASV multimission surface vehicle III[C]//Proceedings of the 5th International Conference Computer and IT Application in the Maritime Industries.Leiden,Netherlands,2006:345-355.
[2]MANLEY J E.Autonomous surface vessels,15 years of development[C]//Proceedings of Oceans 2008 MTS/IEEE Quebec Conference and Exhibition.Quebec City,Canada,2008:1-4.
[3]CACCIA M,BIBULI M,BONO R,et al.Basic navigation,guidance and control of an unmanned surface vehicle[J].Autonomous Robots,2008,25:349-365.
[4]CACCIA M,BRUZZONE G,BONO R.A Practical approach to modeling and identification of small autonomous surface craft[J].IEEE Journal of Oceanic Engineering,2008,33(2):133-145.
[5]BIBULI M,BRUZZONE G,CACCIA M.Path-following algorithms and experiments for an unmanned surface vehicle[J].Journal of Field Robotics,2009,26(8):669-688.
[6]LIAO Y L,WAN L,ZHUANG J Y.Full state-feedback stabilization of an underactuated unmanned surface vehicle[C]//Proceeding of the 2nd IEEE International Conference on Advanced Computer Control.Shenyang,China,2010:70-74.
[7]XU Liying,WEN Hui,ZENG Zhezhao.The algorithm of neural networks on the initial value problems in ordinary differential equations[C]//Proceedings of the 2007 Second IEEE Conference on Industrial Electronics and Applications.Harbin,China,2007:813-816.
[8]李曉磊.一種新型的智能優化方法—人工魚群算法[D].杭州:浙江大學,2003:1-64.LI Xiaolei.A new intelligent optimization method-artificial fish swarm algorithm[D].Hangzhou:Zhejiang University,2003:1-64.
[9]SHEN Wei,GUO Xiaopen,WU Chao.Forecasting stock indices using radial basis function neural networks optimized by artificial fish swarm algorithm[J].Knowledge-Based Systems,2011,24(3):378-385.
[10]師彪,李郁俠,何常勝,等.水輪機智能調速系統數學模型仿真及參數辨識[J].電力自動化設備,2010,30(4):10-15.SHI Biao,LI Yuxia,HE Changsheng,et al.Hydraulic turbine intelligent governing system mathematical model and its parameters identification[J].Electric Power Automation Equipment,2010,30(4):10-15.
[11]WU Huafeng,CHEN Xinqiang,SHI Chaojian,et al.An ACOA-AFSA fusion routing algorithm for underwater wireless sensor network[J].International Journal of Distributed Sensor Networks,2012,1(1):1-9.
[12]SAEED F.Efficient job scheduling in grid computing with modified artificial fish swarm algorithm[J].International Journal of Computer Theory and Engineering,2009,1(1):13-18.
[13]JIANG Mingyan,CHENG Yongming.Simulated annealing artificial fish swarm algorithm[C]//Proceedings of the 8th World Congress on Intelligent Control and Automation.Jinan,China,2010:1590-1593.
[14]廖煜雷.無人艇的非線性運動控制方法研究[D].哈爾濱:哈爾濱工程大學,2012:63-69.LIAO Yulei.Nonlinear Motion control methods of unmanned surface vehicle[D].Harbin:Harbin Engineering University,2012:63-69.
[15]廖煜雷,蘇玉民,張磊.一種自適應人工魚群算法及其在無人艇控制中的應用[J].中南大學學報:自然科學版,2013,44(10):4109-4116.LIAO Yulei,SU Yumin,ZHANG Lei.Adaptive artificial fish swarm algorithm and application in the control of unmanned surface vessel[J].Journal of Central South University:Science and Technology,2013,44(10):4109-4116.
[16]廖煜雷,莊佳園,李曄,等.欠驅動無人艇軌跡跟蹤的滑??刂品椒ǎ跩].應用科學學報,2011,29(4):428-434.LIAO Yulei,ZHUANG Jiayuan,LI Ye,et al.Slidingmode trajectory tacking control for underactuated autonomous surface vehicle[J].Journal of Applied Sciences,2011,29(4):428-434.
[17]廖煜雷,龐永杰.一類欠驅動機械系統軌跡跟蹤的滑??刂品椒ǎ跩].中南大學學報:自然科學版,2011,42(Suppl.1):219-227.LIAO Yulei,PANG Yongjie.Sliding-mode trajectory tacking control for a class of underactuated mechanical system[J].Journal of Central South University:Science and Technology,2011,42(Suppl.1):219-227.
[18]ASHRAFIUON H,MUSKE K R,MCNINCH L,et al.Sliding model tracking control of surface vessels[J].IEEE Transactions on Industrial Electronics,2008,55(11):4004-4011.
[19]MCNINCH L C,ASHRAFIUON H,MUSKE K R.Optimal specification of sliding mode control parameters for unmanned surface vessel systems[C]//Proceedings of the 2009 American Control Conference.MO,USA,2009:2350-2355.