陳進濤, 王仁強, 杜加寶
(江蘇海事職業技術學院, 南京 211170)
基于遺傳和小腦模型算法的新型航向控制器
陳進濤, 王仁強, 杜加寶
(江蘇海事職業技術學院, 南京 211170)
運用智能算法研發一種既能縮短航程又能降低能耗的新型船舶航向控制器。在分析船舶運動的非線性數學模型和普通PID控制算法的基礎上,運用遺傳算法優化整定常規的PID控制參數,以實現反饋控制并保證系統的穩定性;同時,運用小腦模型神經網絡進行前饋非線性控制,以抑制源自船舶內外部的非線性擾動,最終確保系統的控制精度和響應速度。運用船舶操縱模擬器對新型航向控制器進行檢驗,結果表明其性能穩定,功能優越。
船舶工程; CMAC神經網絡; 遺傳算法; PID智能控制; 航向控制器
由于船舶在航行時會受到風、浪、流等外力的隨機干擾,其運動具有非線性的特點,而普通的比例-微分-積分(PID-Proportional, Integral and Differential)航向控制屬于人工線性控制[1],故動態性能、控制精度都很差,響應速度也很慢,航向控制不夠理想。出現這種情況的原因是:人工設置的控制參數不能及時和準確地反映當時的實際情況,結果造成操舵設備不能很好地根據船舶的偏向幅度、速度和海況在恰當的時機給出恰當的舵角,進而導致船舶航跡彎曲,航程與航時增加,操舵糾正的次數較多,航行阻力與能耗、舵機的機械負荷增加。
那么,能否對普通自動舵加以改進,設計出一種既能保持船舶近乎直線航行又能減少操舵糾偏頻次的改進型航向控制器呢?計算機技術和智能控制技術的發展為解決此類問題提供了可能。
把經過遺傳算法(Genetic Algorithm,GA)優化了的PID控制[2]和小腦模型(Cerebellar Model Articulation Controller,CMAC)神經網絡控制[3]有機地結合在一起,可以設計出一種具有縮短航程與航時、降低阻力與能耗、保護舵機等三大功能的新型船舶航向控制器。其總體設計過程為:把普通的PID人工控制升級為智能化PID控制,即運用遺傳算法在線自動優化整定PID參數(拋棄人工離線式繁瑣的控制參數調節),準確抑制動態線性干擾,從而實現反饋控制和系統的穩定;運用CMAC神經網絡進行前饋非線性控制、抑制源自船舶內外部的非線性干擾、控制復雜的動態不確定系統,以確保系統的控制精度和響應速度。
(1)
(2)
式(2)中:ψ為船舶航向;α,β為非線性系數。在此基礎上,考慮外界干擾的船舶二階非線性運動響應模型為
(3)
式(3)中:T為追隨性指數;K為旋回性指數;δ為舵角;δD為外界干擾折合舵角。
普通PID控制是將偏航信號送至電子線路處理后反饋到舵機控制裝置,從而實現自動操舵。該控制算法的數學表達式為
(4)
式(4)中:偏差e=rin-yout(e為航向偏差,rin為定向航行所設置的標準航向,yout為系統實際輸出的航向);u為控制操舵信號;Kp為比例增益;Ki為積分增益;Kd為微分增益。
比例增益Kp使控制器的輸入、輸出成比例關系,一旦系統出現偏差會立即產生控制作用,屬于有差調節。為盡量減小偏差、加快響應速度、縮短調節時間,必須增大Kp,但其又受系統穩定性的限制,不能增大過多。
積分增益Ki是為消除船舶左右不對稱造成的靜態誤差而引入的,不過其會使系統響應速度下降、響應出現過大的超調、調節時間變長。
引入微分增益Kd使系統能夠根據偏差變化的快慢趨勢做出反應,從而加快對偏差變化的反應速度,有效地減小超調,縮小最大動態偏差,但容易使系統受到高頻干擾的影響。
因此,只有合理地整定上述三參數,才能獲得比較符合實際情況的參數值,從而獲得較為理想的控制效果。然而,目前普遍的做法是:船員憑經驗估測參數的大小,進行手動調節(輸入)。由于人工設置的參數值不一定符合實際情況,因此自動操舵過程中往往會出現船舶航跡彎曲、航程與往時增加、操舵頻次多、舵機負荷大、航行阻力與能耗增加等問題。
針對上述問題,可以運用GA對控制參數進行在線自動優化整定、獲取最佳數值配比,創建新型的船舶航向PID控制算法(簡稱“PID優化算法”)[5],這既能提高效率又能增強系統的控制精度。
3.1遺傳算法獨特功能分析
GA是由生物界的“適者生存,優勝劣汰”的進化機制演化而來的一種隨機搜索算法。其優勢為:
1) 可直接對被控對象(船舶)進行操作。
2) 具有內在的隱并行性,便于分布式計算而不會陷入局部最優解的快速下降陷阱,因此能迅速搜索出空間中的全體解,加快求解速度。
3) 采用了概率化尋優方法,能自動獲取和優化搜索空間、自適應地調整搜索方向,不再需要確定的規則,具有更強的全局搜索尋優能力。
3.2遺傳算法的運行過程分析(見圖1)
圖1 遺傳算法的運行過程圖
3.2.1編碼
由于依靠遺傳算法不能直接處理解空間的解數據,故必須通過編碼將其表示成遺傳空間的基因型結構數據,也即對實際問題中需要優化的規則和參數進行編碼。這些規則和參數大都編成固定長度的二進制形式,這種二進制串叫做染色體。
3.2.2生成初始種群
由于遺傳算法需要進行群體性操作,因此必須為其準備若干個初始解,使其組成一個初始群體,即后續進化的第一代。由于初始群體中的個體都是隨機生成的,因而具有普遍的適應度。[6]
3.2.3構建適應度函數
適應度函數是遺傳算法與優化問題的接口、系統性能的評價環節。各個個體經過翻譯處理后分解為所代表的參數,代入所要優化的適應度函數,從而求出系統性能指標的高低。
系統性能指標是對系統性能的定量描述,其高低應由當時的船舶狀況、海域風浪條件等來確定。
在船舶航向控制中,航向偏差越大則航跡越彎曲,航程與航時越長;而頻繁地操舵糾偏雖然可以減小航向偏差,但會增加操舵引起的航行阻力,進而增加能耗,加重舵機負擔,造成舵機磨損。因此,為達到既節能省時又保護舵機的目標,要求系統在控制航向偏差和操舵糾偏上找到最佳的結合點,即既要做到航向偏差不是太大,又要做到輸出舵角大小合適、操舵次數不會太多。為此,需創建一個操舵經濟性最佳的系統性能指標函數(適應度函數)。
(5)
式(5)中:e為航向偏差,emin≤e≤emax;λ1為航向偏差加權系數,隨海況變差而變大;δ為舵角,-35°≤δ≤35°;λ2為舵角加權系數,海況惡劣、排水量大、舵葉露出水面時取大值,反之取小值;f為操舵頻次;λ3為操舵頻次加權系數,海況惡劣、排水量大時取小值,反之取大值;T為迭代次數;J為代價函數(性能指標),值越小意味著操舵的綜合經濟性越好。
3.2.4復制(選優)
復制操作的目的是從當前的群體中選出優良的個體,使其有機會作為父代。判斷個體優良與否的準則是各自的適應值。顯然這一操作遵循“適者生存,不適者淘汰”的原則,即個體的適應度越高,其被選中的概率就越大。具體做法是:把每個適應值乘以一個隨機數,然后從中選出兩個乘積值最大的染色體作為父本,用于繁衍后代個體。
3.2.5交叉
交叉在含有等待配對的基因群的匹配池中分兩步實現:
(1) 將新復制產生的基因隨機兩兩配對;
(2) 隨機選擇交叉點,對匹配的基因進行交叉繁殖,產生一對新的基因。
具體過程為:設基因的字符長度為l,在[1,l-1]內隨機選擇一個整數值k作為交叉點,將2個配對基因與位置k后的所有字符交換,從而生成2個新的位串(多點交叉同理)。交叉操作能得到新一代個體,故是遺傳算法中最主要的遺傳操作。
3.2.6變異
為避免在復制和交叉過程中遺漏重要的信息,在人工遺傳系統中加入變異操作。為挖掘群體中個體的多樣性、克服可能陷入局部最優解的弊病,需變異操作與交叉、復制操作默契配合。標準GA中的變異操作是在群體中隨機選擇一個個體,對于選中的個體以一定的概率隨機地改變字符串中某個字符的值。變異操作是按位進行的,即對某一位的內容進行變異。對于二進制編碼的個體,若某位原為0,則通過變異操作后就變成了1,反之亦然。
通過復制、交叉、變異生成新一代群體,計算新個體的適應值,評價個體的優劣……如此迭代下去,各群體的優良基因逐漸被積累,群體的平均適應度值和最優個體不斷上升,直到收斂于最優解。
總之,基于GA優化的航向PID控制算法能隨時感知船舶的運動特性和海況的變化,自動、及時調整各系數,實現航向的最佳控制,達到減少操舵次數、減小舵角的目的,彌補常規PID算法的不足。
CMAC神經網絡[6]是一種表達復雜非線性函數的表格查詢型自適應神經網絡,具有收斂速度快、泛化能力強等特點,現已成功應用于機器人控制、非線性控制等領域。
4.1CMAC神經網絡結構剖析
CMAC神經網絡(見圖2)本質上是一種用來映射復雜非線性函數的查表技術,可通過學習算法改變表格的內容,具有對信息進行分類存儲的能力。其把系統的輸入狀態作為一個指針,把相關信息分布式地存到一組存儲單元。具體作法是:將輸入空間分成許多分塊,每個分塊指定一個實際存儲器位置;將每個分塊學習到的信息分布式地存儲到相鄰分塊的位置的映射上,即多個分塊映射到同一個存儲器地址上。
圖2 CMAC神經網絡結構圖
4.2CMAC神經網絡算法獨特功能剖析
與一般性神經網絡相比,CMAC算法的獨特功能有:
1) 基于局部學習的神經網絡,把信息存儲到局部結構上,使得每次修正的權值很少,在保證函數非線性逼近的前提下,學習速度快,適于實時控制。
2) 具有一定的泛化能力,即相近輸入產生行進輸出,不同輸入給出不同輸出。
3) 具有連續的(模擬)輸入與輸出能力。
4) 采用尋址編程方式,利用串行計算機仿真,因而響應速度更快。
因此,CMAC算法比普通神經網絡更適合于復雜環境下的非線性實時控制、任意多維非線性映射、動態建模、控制系統設計等。CMAC有多種控制形式(如直接逆運動控制、反饋控制、前饋控制等),為更好地與PID優化算法進行融合,采用CMAC前饋控制。
5.1PID優化與CMAC混合控制系統的創建
混合控制系統通過將PID優化控制器與CMAC器進行有機融合[7-9],實現前反饋控制:CMAC器進行前饋控制,從而創建被控對象的逆動態模型;PID優化器進行反饋控制,以評判下一級CMAC器的性能,從而保證系統的穩定性并抑制擾動。
PID優化器單獨控制時,Kp增益的值在很大程度上決定著控制效果,而采用PID優化器和CMAC器混合控制時,控制效果不再依賴Kp值,其只需在一個合理的范圍內即可。
CMAC采用導師型學習算法,當每個控制周期結束時,CMAC函數計算器算出相應的輸出值un(k),然后將其與總控制輸入值u(k)相比較,修正權重、進入學習過程,學習的目的是使u(k)與un(k)之差達到最小。混合系統的控制算法[9]為
(6)
u(k)=un(k)+up(k)
(7)
式(6)和式(7)中:ai為二進制選擇向量;c為CMAC網絡的泛化參數;up(k)為PID優化器的輸出值。
CMAC的調整指標為
(8)
式(8)中:η為網絡學習速率,η∈(0,1);α為慣性量,α∈(0,1)。
當系統開始運行時,w=0,un=0,up=0,系統由PID優化器進行控制。通過對CMAC進行學習,可使PID產生的輸出量up(k)逐漸為0,CMAC產生的輸出量un(k)逐漸逼近控制器的總輸出量。
5.2基于PID優化算法和CMAC算法的航向控制器結構與原理設計
遺傳算法器根據輸入信號rin與輸出信號yout對比檢測器(圖3左“○”)送來的偏航信息,實時運算船舶的偏航量、偏轉角(加)速度、左右對稱性,實時發出符合船舶瞬間偏航運動特性的用于糾偏的PID線性參數;PID優化器根據這些參數,求出操舵時機、次數和舵角大小,向伺服舵機(圖3右“○”)發出操舵指令信號,即運用遺傳算法在線自動優化PID的線性參數,從而實現反饋控制和保證系統的穩定性。以上述PID優化算法為基礎,CMAC器(包含CMAC量化器、地址器、學習算法器、記憶器與函數計算器) 在對rin實施量化并送入地址器映射后,感知船舶內外部的隨機雜亂的非線性干擾(船速與載重變化、風、流、浪),產生附加的操舵指令信號送給伺服舵機,進行前饋非線性控制、抑制非線性干擾,從而確保系統的控制精度和響應速度。
圖3 基于PID優化和CMAC的航向控制器結構原理
以某教學實習船為試驗對象,將其船舶數據輸入具有高度仿真性能的船舶操縱模擬器中進行研究:該船二階非線性Nomoto模型相關參數[10]為K=0.24,T=206.79,α=1,β=30。
6.1常規與新型航向控制器對比試驗
利用遺傳算法在線自動尋優,求取該船的PID優化控制參數,所得參數為Kp=7.5,Kd=0.001,Ki=83.5;應用MATLAB/Simulink技術搭建仿真比較平臺,比較 “基于遺傳算法和CMAC算法的新控制器” 與 “僅基于PID常規算法的控制器”的性能,預設期望航向值030°,設定外界干擾等效舵角δD=0.01+0.01sin(πt),試驗結果見圖4和圖5。
圖4 存在干擾航向設定為030°時航向輸出
由圖4可知:“新控制器”具有較快的響應速度和較好的跟蹤能力,航向穩定,無左右搖擺。“常規控制器”雖然也可跟蹤航向,但具有一定的超調量,航向左右搖擺,對干擾敏感,控制性能較差。
圖5 存在干擾航向設定為030°時舵角輸出
由圖5可知:“新型航向控制器”的舵角輸出光滑平穩,擺動微弱;“常規航向控制器”的舵角抖振比較嚴重,舵機頻繁工作,機械負荷加重。
6.2新型航向控制器專項試驗
6.2.1航向改變試驗
進行方波跟蹤實驗,方波周期為100 s,航向幅度為30°,試驗結果見圖6。
(a)航向(b)舵角
圖6 航向連續變化時航向角和舵角輸出曲線
從圖6中可以看出,在期望航向變化的情況下,新控制器能較好地根據船舶特性和海況在合適的時機操舵、回舵、反舵,并輸出合適的舵角;能以較快的速度進行無超調的跟蹤。
6.2.2船舶操縱性指數攝動和白噪聲干擾共同試驗
擬定初始航向000°,期望航向030°,擬定船舶
操縱性指數K與T各攝動40%,對航向施加幅值為0.1°的白噪聲干擾,試驗結果見圖7。
(a)航向(b)舵角
圖7 白噪聲干擾和模型參數攝動時航向角和舵角輸出
從圖7中可以看出,當船舶模型參數發生攝動,且受到外界干擾時,新控制器所輸出的航向圍繞期望航向的波動較小,控制舵角的振蕩幅度更小,說明新控制器的抗干擾能力較強。
6.3新型航向控制器的系統性能綜合分析
基于上述典型試驗的結論,以常規控制器為參照,綜合分析新控制器的系統性能。
當船型、載況、排水量變化引起船舶操縱性發生變化時,在外界隨機干擾的作用下,新控制器能夠敏銳感測這些變化不定、無章可循的非線性動態干擾,進而快速響應、及時給出應對干擾的控制參數和指令,以采取較為符合實際情況的控制動作。輸出的航向能較快地趨于預期值;達到預期值后,雖然也有波動,但左右擺動的幅度小(航向穩態誤差較小),超調量處于可接受的范圍,從而保證航向的快速、準確跟蹤,降低航跡的彎度,節省航行時間。
新控制器輸出的舵角抖振微弱、擺動幅度較小,且自動調節平緩,符合舵機特性要求。所需操舵的頻次較少,無需舵機頻繁工作,從而避免舵阻力的頻繁增加,降低能耗,減少舵機磨損。
總之,新型航向控制器具有較強的抗干擾能力,控制效果良好,性能穩定可靠,具有較強的魯棒性。
從Nomoto船舶運動數學模型的角度出發,針對船舶參數和外界干擾動態變化的特點,采用優于普通自動舵的設計技術研發出一種新型航向控制器。該航向控制器運用遺傳算法對來自船舶內外部環境的動態性干擾進行高效抑制,確保了系統的穩定性;運用小腦模型神經網絡進行前饋控制,確保了系統的控制精度和響應速度。仿真檢驗結果表明:運用新型控制器能縮短航程、節省航時、降低能耗、保護舵機,對促進航運的安全、經濟、綠色具有重要的現實意義。
[1] 劉金琨. 智能控制[M]. 2版.北京:電子工業出版社, 2009: 30-32.
[2] 劉金琨. 先進PID控制及其MATLAB仿真[M]. 2版.北京:電子工業出版社, 2004: 44-46.
[3] 朱家群, 鄒凌, 孫玉強. CMAC神經網絡與PID復合控制的應用研究[J]. 控制系統, 2006(13):59-61.
[4] 賈欣樂, 楊鹽生. 船舶運動數學模型[M]. 大連: 大連海事大學出版社, 1999:52-55.
[5] 戴雅麗. 基于遺傳算法優化模糊控制器的船舶航向控制[J]. 船海工程, 2009, 38(3):113-115.
[6] 宋軼群, 杜華生, 王傳新. 基于CMAC神經網絡與PID的并行控制器設計與應用[J]. 自動化與儀表, 2005(3):37-39.
[7] 張偉, 朱大奇,孔敏,等. 基于改進的CMAC神經網絡與PID并行控制的研究[J]. 計算機測量與控制, 2005, 13(12):1 359-1 360.
[8] 張林根, 趙橋生, 何春榮,等. CMAC神經網絡在潛艇操縱控制中的仿真應用[J]. 船舶力學, 2009, 13(2):226-233.
[9] 金鴻章, 于波. CMAC與PID的復合控制在減搖鰭中的應用[J]. 艦船科學技術, 2009, 31(1):53-55.
[10] 張顯庫, 賈欣樂. 船舶運動控制[M]. 北京:國防工業出版社, 2006:60-64.
DesignofNewShipCourseControllerBasedonGeneticandCerebellarModelAlgorithm
CHENJintao,WANGRenqiang,DUJiabao
(Jiangsu Maritime Institute, Nanjing 211170, China)
In order to design a ship course controller good for reducing both sailing milage and power consumption, the nonnonlinear mathematical model of ship motion and the current ship course PID control algorithms are analyzed thoroughly; The PID parameters are optimized online with genetic algorithms(GA) to achieve superior feedback control and ensure system stability. Besides, CMAC neural network feed-forward nonlinear control is used to suppress internal and external disturbances for achieving control accuracy and response speed. The new ship course controller is verified on ship-maneuvering simulator. Simulation result proves that new ship course controller has superior performance and robustness.
ship engineering; CMAC neural network; genetic algorithm; PID intelligent control; course controller
2014-04-03
江蘇省教育科學“十二五”規劃重點課題(B-a/2011/03/008);江蘇省高校大學生實踐探究訓練計劃課題(2012JSSPITP3772)
陳進濤(1964—),男,江蘇南通人,副教授, 碩士,主要從事船舶操縱與航海科技研究。E-mail:njcjt@163.com
1000-4653(2014)03-0010-05
U664.82
A