陳明志 ,劉蘭軍 ,2* ,陳家林 ,2 ,楊 睿 ,2 ,黎 明 ,2
(1.中國海洋大學 工程學院,山東 青島,266100;2.山東省海洋智能裝備技術工程研究中心,山東 青島,266100)
無人艇(unmanned surface vessel,USV)是一種利用自身攜帶的自動操控系統(tǒng)或無線遙控系統(tǒng)航行的一種無人化水面船舶,是一種水面智能機器人,可廣泛用于水上測繪、消防和惡劣環(huán)境檢測等,是未來水面環(huán)境下各種危險、重復、枯燥任務的主要承擔者[1]。USV 具有智能靈活性、隱蔽性、抗極端條件和高性價比等優(yōu)點[2],隨著人工智能與信息通信技術的發(fā)展,未來將具有廣闊的前景。
差速轉向和舵轉向是USV 常用的航行轉向方式,其中舵轉向也是常規(guī)船舶轉向控制的常用方式[3]。舵向自動控制是USV 控制的重要組成部分,其控制性能關系到USV 的機動避障、航跡控制等。目前常用的USV 舵向自動控制方法有比例積分微分 (proportional integral derivative,PID) 控制[4]、魯棒控制[5]和滑??刂频萚6]。
PID 控制運算速度快,工程上易于實現,是目前USV 舵向控制采用的主要方法。對比例系數Kp、積分系數Ki和微分系數Kd3 個參數的優(yōu)化是PID 控制器設計的關鍵[7],高速USV 的舵向控制要求同時滿足超調量小、調節(jié)時間短,常用的ZN公式法難以獲得最優(yōu)的PID 控制器參數。
粒子群算法具有代碼易實現、迭代過程簡單且參數設置少等優(yōu)點,已應用于眾多工程領域的優(yōu)化問題。然而,經典粒子群算法存在多樣性差、易早熟收斂等問題,制約了粒子群算法的應用。為克服上述問題,研究人員提出了將固定學習因子改為動態(tài)學習因子[8]、慣性權重遞減[9]等方法,但其仍然存在局部最優(yōu)解,導致“早熟”問題。為了平衡粒子群算法勘探與開發(fā)能力,研究人員提出了混合均值中心反向學習粒子群優(yōu)化(hybrid mean center opposition-based learning particle swarm optimization,HCOPSO)算法[10],該算法將所有粒子和部分優(yōu)質粒子分別構造的均值中心進行貪心選擇,得出的混合均值中心將對粒子所在區(qū)域進行精細搜索,同時對混合均值中心進行反向學習,使粒子能探索更多新區(qū)域。
針對高速USV 舵向PID 控制的參數優(yōu)化需求,文中提出了一種基于混合均值中心反向學習粒子群算法的高速USV 舵向PID 控制設計方法。建立了高速USV 舵機模型,基于舵機模型設計了高速USV 舵向PID 控制系統(tǒng),采用IITAE作為參數優(yōu)化的性能指標,將粒子群個體解碼為PID 的3 個參數Kp、Ki和Kd,采用HCOPSO 更新粒子群個體Kp、Ki和Kd輸出給高速USV 舵向PID 控制系統(tǒng),高速USV 舵向PID 控制系統(tǒng)計算獲得IITAE指標,通過迭代運算獲得優(yōu)化的高速USV 舵向PID控制參數Kp、Ki和Kd。該方法可有效解決局部最優(yōu)解問題,當粒子接近全局最優(yōu)時收斂性更好,且代碼簡單易于實現,可廣泛應用于PID 控制參數優(yōu)化方面。
文中研究對象為7 m 級小型高速USV,最高船速可達30 kn。船體運動模型采用經典的2 階野本謙作(Nomoto)船體運動模型[11]
Nomoto 模型以舵機控制指令 δ為輸入,以USV的航向Ψ 為輸出。
Nomoto 模型可進一步表示為
式中,T0和K0均為船舶操縱性能指數。
舵機通常采用轉向桿與執(zhí)行機構連接,轉向桿包括電動和液壓2 種,轉向動作過程存在一定的延遲,一般而言,舵機可視為1 階慣性環(huán)節(jié)[12],其傳遞函數為
式中,T為舵機時間常數,一般取1~3 s。
根據式(2)所示的小型高速USV 船體運動模型和式(3)所示的舵機模型,搭建小型高速USV 舵向PID 控制模型,如圖1 所示,其中r(t)為設定舵角值,u(t)為PID 控制器輸出控制量,y(t)為實際舵角,e(t)為舵角實際值與設定值偏差。
圖1 小型高速USV 舵向PID 控制模型Fig.1 PID control model for rudder steering of small high-speed unmanned surface vessels
粒子群優(yōu)化(particle swarm optimization,PSO)算法的原理是粒子在空間中以定向變速運動,通過自身的信息和群共享信息找到下一個位置,最終找到最優(yōu)解[7]。每個粒子有速度和位置2 個屬性,速度代表粒子移動的快慢,位置代表粒子移動的方向。每個粒子單獨搜尋的最優(yōu)解叫做個體極值,粒子群中最優(yōu)的個體極值作為當前全局最優(yōu)解。粒子通過式(4)、(5)更新速度和位置
式中: 系數C1與C2為加速常數,C1為粒子的個體學習因子,C2為粒子的社會學習因子;Rrandom(0,1)為區(qū)間[0,1]上的隨機數;Pid為第i個粒子位置xid的極值;PGd為全局最優(yōu)解的第d維;xid為第i個粒子X的第d維粒子位置;vid為粒子位置xid的速度;ω為慣性因子。
經典PSO 算法的慣性因子 ω在運算過程中始終保持恒定,而算法的全局及局部尋優(yōu)能力很大程度上會受慣性因子 ω的影響。ω值越大,越有利于全局搜索,但粒子搜索盲目性增大,不利于極值收斂;ω值越小,越有利于局部搜索,但算法容易過早陷入局部最優(yōu)[13]。
為此Shi 等[14]提出了一種線性慣性權重遞減(linear decreasing inertia weight,LDIW)策略,方法為
式中:k為當前迭代次數;Tmax為種群最大迭代次數;ωstart為慣性權重最大值,一般取0.9;ωend為慣性權重最小值,一般取0.4。該方法使慣性權重線性化遞減,算法初期 ω值較大,全局搜索能力強,算法后期 ω值逐漸變小,局部搜索能力強。
HCOPSO 算法對所有粒子和部分優(yōu)質粒子分別構造的均值中心進行貪心選擇得出混合均值中心。所有粒子群體的均值中心(mean center,MC)的第d維度值為
式中:i=1,2,···,N,N為粒子個數;d=1,2,···,D,D為維度。
引入粒子適應值均值(mean value of fitness,MVF),可得
式中,fSswarm(i)表示第i個粒子的粒子適應值。
根據粒子適應值挑選種群中優(yōu)于MVF 的粒子,將其個數記為n(1 ≤n≤N)
計算挑選后粒子的第d維粒子位置偏均值中心(partial mean center,PMC),即
比較第d維粒子位置MC 與計算挑選后粒子的第d維粒子位置PMC,選擇較小者構造更具優(yōu)勢的混合均值中心(hybrid mean center,HMC)參與種群進化,加速粒子向中心位置靠攏,提升粒子群算法的局部搜索能力,可得
反向學習(opposition-based learning,OBL)算法是Tizhoosh[15]提出的一種新型增強學習算法。引入OBL 算法的最大優(yōu)勢是,種群在搜索過程中陷入局部最優(yōu)時有能力跳出局部最優(yōu)。
用OHMC表示反向解,可得
PSO 算法常用的性能優(yōu)化指標[7]為
式中:IISE為平方誤差積分準則;IITSE為時間乘平方誤差積分準則;IIAE為絕對誤差積分準則;IITAE為時間乘絕對誤差積分準則。不同的優(yōu)化性能指標反映的側重點不同,按照IISE、IIAE設計的控制系統(tǒng),具有較快的響應速度和較大的振蕩,相對穩(wěn)定性差;IITSE、IITAE是著重考慮瞬態(tài)響應后期出現的誤差,較少考慮響應中大的起始誤差,使系統(tǒng)在較短時間內接近目標瞬態(tài)響應的振蕩性小??紤]到小型高速USV 的舵向控制的需求,選取IITAE作為系統(tǒng)優(yōu)化性能指標。
圖2 為基于HCOPSO 算法的小型高速USV舵向PID 控制參數優(yōu)化方法的流程,其中,左側為HCOPSO 算法程序,右側為搭建的USV 舵向PID控制系統(tǒng)。采用IITAE作為參數優(yōu)化的性能指標,將粒子群個體解碼為PID 的3 個參數Kp、Ki和Kd,采用HCOPSO 算法更新粒子群個體Kp、Ki和Kd輸出給高速USV 舵向PID 控制系統(tǒng),高速USV 舵向PID 控制系統(tǒng)計算獲得IITAE指標,通過迭代運算獲得優(yōu)化的高速USV 舵向PID 控制參數Kp、Ki和Kd。
圖2 基于HCOPSO 算法的PID 控制器參數優(yōu)化流程Fig.2 Parameter optimization process of PID controller based on HCOPSO algorithm
基于HCOPSO 算法的高速USV 舵向PID 控制參數優(yōu)化方法的具體步驟如下:
1) 初始化粒子群參數,包括個體學習因子C1與社會學習因子C2、慣性因子 ω、評估次數M和種群規(guī)模N等相關參數,將PID 控制器待優(yōu)化的比例系數Kp、積分系數Ki和微分系數Kd作為粒子X,即粒子X的維度為三維。
2) 將種群中所有粒子X初始化為隨機值,即粒子X的粒子位置xid均為隨機解,其中i=1,2,···,N,d=1,2,3。
3) 根據式(4)和(5)更新粒子位置和速度。
4) 根據式(7)構造粒子的均值中心。
5) 根據式(8)~(11),比較第d維粒子位置MC與計算挑選后粒子的第d維粒子位置PMC,選擇較小者構造更具優(yōu)勢的HMC 參與種群進化。
6) 根據式(12)對HMC 進行OBL,使生成的反向解參與種群進化,得到更新后的全局最優(yōu)解。
7) 將得到的全局最優(yōu)解Kp、Ki和Kd輸出給高速USV 舵向PID 控制系統(tǒng),系統(tǒng)根據給定信號與系統(tǒng)輸出值之間的偏差,及Kp、Ki和Kd等參數,按照采樣周期進行PID 控制算法運算,獲得每個采樣周期的給定信號與系統(tǒng)輸出值之間的偏差,根據參數優(yōu)化性能指標計算公式獲得ITAE 值。
8) 根據進化次數或IITAE值判斷是否滿足終止條件,如果滿足終止條件則結束算法迭代得到全局最優(yōu)解,否則返回步驟3)。
為驗證HCOPSO 算法的有效性,分別選用不同的測試函數對經典PSO、LDIWPSO 算法和HCOPSO 算法的算法時間復雜度、算法收斂性進行了對比分析。
1) 算法時間復雜度
算法時間復雜度是指算法執(zhí)行所需要的計算工作量,可采用算法的運算時間評價,文中選用4 種測試函數開展測試。設定粒子數為100,維度為20,進化次數為100,學習因子C1、C2均為1.4,速度范圍為[-1,1],PSO 算法和HCOPSO 算法的慣性權重均取值為0.8,各算法分別獨立運行20 次取運行時間平均值,測試結果如表1 所示。
表1 算法運行時間Table 1 Algorithm running time單位: s
由表1 可以看出,PSO 算法的運行時間最短,其次為LDIWPSO 算法,HCOPSO 算法運行時間最長,但差別并不大。因此HCOPSO算法中引入混合均值中心和OBL 機制,對算法的運行時間沒有太大影響。
2) 算法收斂性
算法收斂性采用最佳適應度測試,選用前述4 種測試函數,該4 種函數均以求函數最小值為優(yōu)化目標。設定粒子數為100,維度為20,進化次數為300,學習因子C1、C2均為1.4,速度范圍為[-1,1]。各算法分別獨立運行40 次取最佳適應度平均值,測試結果如表2 和圖3 所示。從表2 中可以看出,在相同迭代次數的情況下,4 種測試函數的HCOPSO 算法的最佳適應度值最小;從圖3 中可以看出,在測試函數Sphere、Rosenbrock 和Rastrigin情況下,HCOPSO 算法達到最佳適應度值的迭代次數均少于PSO 和LDIWPSO 算法,在測試函數Ackley 情 況 下,HCOPSO 算 法 與LDIWPSO 算 法的迭代次數相當,少于PSO 算法。因此,HCOPSO算法相比于PSO、LDIWPSO 具有更好的收斂性能。
表2 算法最佳適應度值Table 2 Optimal fitness value of algorithm單位: s
圖3 最佳適應度值的迭代次數Fig.3 Number of iterations of the optimal fitness value
1) 小型高速USV 舵向PID 控制仿真系統(tǒng)
基于MATLAB R2019b Simulink 環(huán)境搭建的小型高速USV 舵向PID 控制仿真系統(tǒng)如圖4 所示。針對小型高速USV,船舶操縱性能指數具體選取為K0=6,T0=42.6,舵機時間常數取1 s。
圖4 小型高速USV 舵向PID 控制仿真系統(tǒng)Fig.4 Simulation system for rudder steering PID control of small high-speed unmanned surface vessels
圖中輸入方波信號用于模擬高速USV 的快速頻繁轉舵操作,out 為仿真系統(tǒng)計算后輸出的ITAE性能指標值。將經典PSO 算法、LDIWPSO 算法、HCOPSO 算法分別用于PID 參數的整定。粒子群種群規(guī)模選取為50,最大迭代次數選取為20,加速度常數設定為2,粒子速度的范圍設定為[-1,1],PID 參數的最大取值范圍設定為[0,50],經典PSO 算法及HCOPSO 算法慣性因子選取為0.8,LDIWPSO 算法慣性因子取值范圍設定為[0.5,0.9]。
2) 仿真結果分析
PSO、LDIWPSO 和HCOPSO 算法的適應度函數值如圖5 所示,算法的收斂速度取決于算法的迭代次數,從圖中可以看出,PSO、LDIWPSO 已早熟并陷入了局部最優(yōu),而HCOPSO 算法擁有更強的防止陷入局部最優(yōu)的能力,相比于傳統(tǒng)PSO 以及LDIWPSO 具有更快的收斂速度以及更高的收斂精度。
圖5 不同PSO 算法的適應度值仿真結果Fig.5 Simulation results of fitness values of different PSO algorithms
3 種算法的控制系統(tǒng)輸出響應曲線如圖6 所示,算法優(yōu)化的PID 參數、迭代次數和輸出響應結果如表3 所示??梢钥闯?經典粒子群算法與線性慣性權重遞減粒子群算法優(yōu)化的PID 控制系統(tǒng)均有較大的超調,HCOPSO 算法優(yōu)化的PID 控制系統(tǒng)幾乎沒有超調。HCOPSO 算法優(yōu)化整定的小型高速USV 舵向PID 控制器具有更好的控制效果,相比于PSO、LDIWPSO,調節(jié)時間分別縮短22%、15%,超調量分別降低89%和74%,迭代次數分別減少40%和30%。
表3 不同算法優(yōu)化整定的PID 參數和輸出響應結果Table 3 PID parameters and output response results optimized by different algorithms
圖6 不同粒子群優(yōu)化算法的PID 輸出響應曲線Fig.6 PID output response curves of different particle swarm optimization algorithms
將基于 HCOPSO 優(yōu)化算法的 PID 控制器應用于研制的“久航750”USV 自動舵控制,如圖7 所示,分別基于港池和海港環(huán)境進行了高速USV 舵向 PID 控制器的性能測試。
圖7 USV 海試Fig.7 Sea trial of USV
港池測試的環(huán)境條件為風力1 級,海況1 級,海面有波紋,通過主控計算機控制USV 在發(fā)動機轉速2 100~2 500 r/min、油門量40%的狀態(tài)下進行環(huán)繞航行,其中受到的外界干擾主要來自于海流及螺旋槳尾浪。
USV 港池測試舵角設定值與反饋值對比結果如圖8 所示,從圖中可以看出,在1 級海況下,舵角反饋值能夠較好地跟隨舵角設定值,其誤差能夠控制在3°以內,且當受到干擾時,舵角能夠快速調節(jié)至設定值。
圖8 USV 港池測試舵角設定值與反饋值對比Fig.8 Comparison between the set value of rudder angle test and the feedback value of USV harbor basin
海港測試的環(huán)境條件為風力 3 級,海況2~3級,浪高0.5~1 m,通過主控計算機在測試海域內標記預定位點、避障點,控制USV 在發(fā)動機轉速2 100~2 500 r/min、油門量40%的狀態(tài)下繞過避障點并保持直線航行,USV 實際航行軌跡見圖9。
圖9 USV 航行軌跡Fig.9 Trajectory of USV
海港測試的舵角設定值與舵角反饋值對比結果如圖10 所示,從圖中可以看出,在2~3 級海況下,USV 航行軌跡良好,舵角反饋值能夠跟隨設定值,最大跟蹤誤差為5°。果,使USV 航向得到較好的保持,證明了所提方法應用于小型高速USV 自動舵控制的有效性。
圖10 2~3 級海況下舵角設定值與反饋值對比Fig.10 Comparison of rudder angle set value and feedback value under level 2-3 sea conditions結合圖8~圖10 可知,基于HCOPSO 算法的PID 控制器可以對USV 自動舵起到較好的控制效
針對小型高速USV 舵向控制同時滿足調節(jié)時間短、超調量小的控制要求,文中結合HCOPSO與PID 控制,提出一種基于HCOPSO 算法的小型高速USV 舵向PID 控制器參數整定方法。分別與PSO、LDIWPSO 算法進行了對比,仿真結果表明,HCOPSO 算法優(yōu)化得到的控制器參數的控制響應曲線超調量更小,調節(jié)時間更短?;凇熬煤?50”USV 進行了海洋環(huán)境測試,結果表明,經HCOPSO 算法優(yōu)化得到的PID 控制器參數能夠滿足小型高速USV 舵機系統(tǒng)的控制需求。該方法可推廣應用于其他PID 控制系統(tǒng)的參數優(yōu)化整定。同時,液壓驅動的USV 舵向控制是一個滯后系統(tǒng),下一步擬開展有效解決滯后問題的USV 舵向PID控制器研究,同時將HCOPSO 算法應用于參數更復雜的USV 舵向PID 控制器的參數優(yōu)化整定。