郭文剛
(中國(guó)電子科技集團(tuán)公司電子科學(xué)研究院,北京100041)
神經(jīng)控制是基于人工神經(jīng)網(wǎng)絡(luò)控制的簡(jiǎn)稱,是神經(jīng)網(wǎng)絡(luò)控制自動(dòng)控制領(lǐng)域的前沿學(xué)科之一,是在20世紀(jì)80年代末期發(fā)展起來(lái)的。它是智能控制的一個(gè)新的分支,在復(fù)雜的不確定、非線性、不確知系統(tǒng)控制問(wèn)題的解決方面開(kāi)辟了新途徑。神經(jīng)網(wǎng)絡(luò)控制是(人工)發(fā)展中的學(xué)科,也是神經(jīng)網(wǎng)絡(luò)理論與控制理論相結(jié)合的產(chǎn)物。它匯集了生物學(xué)、神經(jīng)生理學(xué)、腦科學(xué)、遺傳學(xué)、自動(dòng)控制、計(jì)算機(jī)科學(xué)等學(xué)科的理論、技術(shù)及研究成果。神經(jīng)網(wǎng)絡(luò)控制屬于智能控制系統(tǒng)。在控制領(lǐng)域,將具有學(xué)習(xí)能力的控制系統(tǒng)稱為學(xué)習(xí)控制系統(tǒng)。神經(jīng)控制屬于學(xué)習(xí)控制,因此它是智能控制的一個(gè)分支。
人工神經(jīng)網(wǎng)絡(luò)也簡(jiǎn)稱為連接模型或稱作神經(jīng)網(wǎng)絡(luò),由大量生物神經(jīng)元的處理單元互連并聯(lián)而成,或者與生物神經(jīng)細(xì)胞相類似的大量的人工神經(jīng)單位互連組成,它是一種進(jìn)行分布式并行信息處理的算法數(shù)學(xué)模型,人工神經(jīng)網(wǎng)絡(luò)是在現(xiàn)代認(rèn)識(shí)科學(xué)和神經(jīng)生物學(xué)對(duì)人類信息處理研究的基礎(chǔ)上提出來(lái)的。這種網(wǎng)絡(luò)通過(guò)調(diào)整內(nèi)部大量節(jié)點(diǎn)之間相互連接的關(guān)系,依靠系統(tǒng)的復(fù)雜程度,從而達(dá)到處理信息的目的,具有仿真控制功能。
神經(jīng)網(wǎng)絡(luò)是由大量神經(jīng)元相互連結(jié)組成,每個(gè)神經(jīng)元基本單位的結(jié)構(gòu)與功能比較簡(jiǎn)單,但神經(jīng)元基本單位組合而成的神經(jīng)網(wǎng)絡(luò)系統(tǒng)非常復(fù)雜。神經(jīng)網(wǎng)絡(luò)系統(tǒng)能對(duì)信息進(jìn)行大規(guī)模分布存儲(chǔ)、并行處理,具有良好的容錯(cuò)性、自組織性和自適應(yīng)性。同時(shí),具有較強(qiáng)的學(xué)習(xí)、識(shí)別、聯(lián)想、記憶等功能。神經(jīng)網(wǎng)絡(luò)具有逼近任意復(fù)雜的非線性函數(shù)的能力,這一能力已經(jīng)被證明。因此,神經(jīng)網(wǎng)絡(luò)系統(tǒng)廣泛應(yīng)用于系統(tǒng)建模、優(yōu)化、狀態(tài)估計(jì)等方面。在未來(lái),自適應(yīng)控制與神經(jīng)網(wǎng)絡(luò)結(jié)合形成的神經(jīng)自適應(yīng)控制將有可能應(yīng)用于強(qiáng)干擾、控制非線性、難建模系統(tǒng)等。
神經(jīng)網(wǎng)絡(luò)按照網(wǎng)絡(luò)信息傳遞的方向可以分為反饋型網(wǎng)絡(luò)和前向網(wǎng)絡(luò)。誤差反向傳播神經(jīng)網(wǎng)絡(luò)簡(jiǎn)稱BP 網(wǎng)絡(luò)。BP 神經(jīng)網(wǎng)絡(luò)能學(xué)習(xí)和存貯大量的輸入-輸出模式映射關(guān)系,是一種單向傳播的多層前向網(wǎng)絡(luò),在存儲(chǔ)信息前無(wú)需事前揭示映射關(guān)系的數(shù)學(xué)方程。輸入層、輸出層、隱層構(gòu)成BP 神經(jīng)網(wǎng)絡(luò)模型拓?fù)浣Y(jié)構(gòu)。廣泛應(yīng)用于自適應(yīng)控制、圖像處理、模式識(shí)別、優(yōu)化計(jì)算、系統(tǒng)辨識(shí)、最優(yōu)預(yù)測(cè)、函數(shù)擬合等等領(lǐng)域。圖1 為BP 網(wǎng)絡(luò)示意圖。
圖1 BP 神經(jīng)網(wǎng)絡(luò)的示意圖Fig.1 Diagram of the BP neural network
正向傳播和反向傳播組成BP 神經(jīng)網(wǎng)絡(luò)的算法學(xué)習(xí)過(guò)程。在正向傳播過(guò)程中,網(wǎng)絡(luò)信息從輸入層經(jīng)過(guò)隱含層,逐層處理,最后傳向輸出層。在傳輸過(guò)程中,每層神經(jīng)基本單位的狀態(tài)只影響下一層基本單位的狀態(tài)。如果在輸出層不能得到期望的輸出結(jié)果,那就轉(zhuǎn)入反向傳播,系統(tǒng)誤差信號(hào)將沿原來(lái)的連接通路原路返回,并且修改各層神經(jīng)元的權(quán)值,最大程度降低使誤差信號(hào)。
如圖1所示,BP 網(wǎng)絡(luò)的結(jié)構(gòu)圖中有M 個(gè)輸入節(jié)點(diǎn),每個(gè)輸入層節(jié)點(diǎn)的輸入等于這個(gè)節(jié)點(diǎn)的輸出。輸出層隱含層有q 個(gè)神經(jīng)元,有L 個(gè)輸出的節(jié)點(diǎn),Wki是隱含層和輸出層間的連接權(quán)值,Wij是輸入層和隱含層間的連接權(quán)值。前一層節(jié)點(diǎn)的輸出的加權(quán)和是隱含層和輸出層節(jié)點(diǎn)的輸入的總數(shù),節(jié)點(diǎn)的激發(fā)函數(shù)、和、輸入信號(hào)和決定節(jié)點(diǎn)的激勵(lì)程度。
設(shè)有N 個(gè)訓(xùn)練樣本,假定樣本p 的輸入/輸出模式對(duì)Xp和{dpk}進(jìn)行網(wǎng)絡(luò)訓(xùn)練,隱含層的第i 個(gè)神經(jīng)元在p 作用下的輸入為:
第i 個(gè)神經(jīng)單位(神經(jīng)元)的輸出為:
其中是激發(fā)函數(shù):
當(dāng)β 的值趨于無(wú)窮時(shí),激發(fā)函數(shù)趨于階躍函數(shù),設(shè)定β 的取值為1。將β=1 代入式(3)求導(dǎo)可得:
通過(guò)加權(quán)系數(shù)Wki,第i 個(gè)節(jié)點(diǎn)的輸出向前傳播到第k 神經(jīng)元,并作為第k 神經(jīng)元的輸入之一,輸出層的第k 個(gè)神經(jīng)單位(神經(jīng)元)的總輸入個(gè)數(shù)為:
由此可知,輸出層的第k 個(gè)神經(jīng)單位(神經(jīng)元)的總輸出個(gè)數(shù)為:
如果給定模式的期望輸出值dk 與神經(jīng)基本單位的輸出不一致,那么誤差信號(hào)將沿著原路線從輸出端反向傳播,并且在傳播過(guò)程中,神經(jīng)元不斷修正加權(quán)系數(shù),使在輸出結(jié)果最大可能的接近dk。對(duì)樣本p 的加權(quán)系數(shù)的調(diào)整完成后,再送入下一個(gè)樣本模式進(jìn)行類似操作,直到完成N 個(gè)樣本的訓(xùn)練為止。
自動(dòng)舵主要用于完成對(duì)航跡保持的控制、船舶航向、船舶航向保持等,它是船舶航向控制系統(tǒng)中最關(guān)鍵的控制設(shè)備。自動(dòng)舵的研制主要經(jīng)歷以下4個(gè)發(fā)展階段:
1)機(jī)械式自動(dòng)舵
機(jī)械式自動(dòng)舵具有比例控制功能,降低控制增益才能避免振蕩。當(dāng)船舶慣性很大時(shí),比例控制的方法不能將船舶控制在制定航向上,且機(jī)械式自動(dòng)舵燃料消耗高,因此,未被廣泛應(yīng)用。
2)PID 自動(dòng)舵
PID 自動(dòng)舵在船舶航向控制中,只要比例、微分和積分系數(shù)選擇合適,就能實(shí)現(xiàn)良好的控制性能。PID 自動(dòng)舵很大程度上提高了船舶的航向控制精度,并且,結(jié)構(gòu)簡(jiǎn)單,參數(shù)調(diào)整方便,在當(dāng)時(shí)得到了廣泛應(yīng)用。但它也存在不足,例如在大風(fēng)浪中,轉(zhuǎn)舵角較大會(huì)引起船舶偏航嚴(yán)重,非常危險(xiǎn)。
3)自適應(yīng)自動(dòng)舵
隨著自適應(yīng)自動(dòng)舵的發(fā)展成熟,自適應(yīng)自動(dòng)舵在船舶航向控制方面取得了突破性的進(jìn)展。但是,自適應(yīng)自動(dòng)舵設(shè)計(jì)是建立在線性系統(tǒng)之上的,實(shí)際船舶運(yùn)行是大干擾、實(shí)際船舶運(yùn)行狀態(tài)是非線性、大干擾的過(guò)程,因此自適應(yīng)控制應(yīng)用于船舶航跡控制的效果受到影響。
4)智能自動(dòng)舵
智能自動(dòng)舵采用知識(shí)表示、符號(hào)信息處理、啟發(fā)式程序設(shè)計(jì)等相關(guān)技術(shù)對(duì)實(shí)際事件進(jìn)行規(guī)劃和決策,在實(shí)踐過(guò)程中實(shí)現(xiàn)實(shí)際問(wèn)題的求解。屬智能控制技術(shù)包括神經(jīng)網(wǎng)絡(luò)、模糊原理等控制方法。
目前,國(guó)外已經(jīng)將智能控制和船舶航向控制相結(jié)合。但是它仍然處于仿真實(shí)驗(yàn)階段,還需要進(jìn)一步研究才能運(yùn)用于實(shí)際。
船舶航跡控制分為分離控制和綜合控制。分離控制是間接式控制,綜合控制是直接式控制。船舶航跡控制大體上可以分為3 個(gè)部分,如圖2所示。
航跡控制根據(jù)船舶航跡可以分解為以下3 個(gè)問(wèn)題:
1)船舶初始進(jìn)入狀態(tài),即圖2 中1->2 路線,此時(shí)航跡偏差較大,要求船舶快速返回航跡;
2)船舶在直線段航跡狀態(tài),即圖2 中2->3路線,此時(shí),船舶的航跡應(yīng)按要求精度保持;
3)航跡轉(zhuǎn)向點(diǎn)狀態(tài),即見(jiàn)圖2 中3->路線位置,此時(shí)注意附近的轉(zhuǎn)向問(wèn)題。
根據(jù)船舶航跡控制原理,針對(duì)3 個(gè)問(wèn)題的具體要求也不相同,具體如下:
當(dāng)船舶初始進(jìn)入狀態(tài),首先要確定航跡段,然后快速返回航跡,最后是跟蹤航跡向;船舶在直線段航跡狀態(tài)就要保持航跡;航跡轉(zhuǎn)向點(diǎn)狀態(tài)就要求船舶轉(zhuǎn)向后,盡量減小航跡偏差的情況下,快速跟蹤新航跡。
圖2 航跡保持示意圖Fig.2 Schematic diagram of track keeping
2.1.1 間接式航跡控制
間接式控制方案把控制分成互相嵌套的2 個(gè)環(huán),如圖3所示。
圖3 間接式傳播航跡控制原理圖Fig.3 Indirect communication tracking control schematic
2.1.2 直接式航跡控制
直接式控制方案用于對(duì)船舶航跡進(jìn)行高精度控制,此時(shí),航跡控制器實(shí)際上是綜合了分離控制方案中航向保持和航跡保持兩部分的功能,如圖4所示。
在船舶航行過(guò)程中,船舶航跡誤差是船舶與船舶直線段航跡的垂直距離。航跡誤差的計(jì)算對(duì)船舶航跡控制有重要意義。
已知設(shè)定(x1,y1),(x2,y2),(x3,y3)為航跡上的3 個(gè)位置點(diǎn),在慣性坐標(biāo)系下,假設(shè)船舶的位置為坐標(biāo)(x1,y1),船舶的航向角為ψ。
圖4 直接式傳播航跡控制原理圖Fig.4 Schematic diagram of direct dissemination of track-keeping control
圖5 航跡位置控制誤差示意圖Fig.5 Schematic diagram of track position control error
根據(jù)船舶的航跡誤差算法可知,航跡直線段的距離為
期望航向角為:
在慣性坐標(biāo)系中,此航跡段的方程為:
根據(jù)點(diǎn)到直線距離定義及公式可以得到:
將式(1)、式(3)代入式(4)得到航跡的偏差為:
d(航跡偏差)的正負(fù)與船舶所在的位置有關(guān),當(dāng)d <0 時(shí),船舶航跡段設(shè)定在左側(cè);當(dāng)d >0 時(shí),船舶航跡設(shè)定在右側(cè)。在船舶航跡的間接式控制中,能夠得到航跡偏差,就能得到航跡偏差引起的航正角Δθ,進(jìn)而得到船舶航跡控制器輸出的航向指令。
航跡直接控制中,傳播航跡控制器是一個(gè)雙輸入、單輸出的航跡控制器,輸入量為航向偏差e=ψ1-ψ和航跡偏差d,輸出量為命令舵角δ。2 個(gè)誤差變量統(tǒng)一定義為E(t),其值為:
式中μ1,μ2為加權(quán)系數(shù),μ1,μ2的大小根據(jù)船舶航跡控制的經(jīng)驗(yàn)選取,選擇PID 航跡控制器,得到舵角值為:
輸出的命令舵角值為
選定基于神經(jīng)網(wǎng)絡(luò)的非線性PID,設(shè)定初始控制參數(shù)為R1=100,R2=100,h0=4h,β0=14,β1=0.01,β2=20,αp=1.25,αi=0.45,αd=0.7,δ=0.1,Kf=0.5。
設(shè)定基于神經(jīng)網(wǎng)絡(luò)的常規(guī)PID 控制器的初始參數(shù)為Kp=22,Kl=0.001,KD=248。結(jié)果如圖6 ~圖11所示。
圖6 靜水條件下船舶航跡控制比較圖Fig.6 Tracks under hydrostatic condition control comparison chart
圖7 靜水條件下船舶航跡誤差比較圖Fig.7 Tracks errors under hydrostatic condition comparison chart
圖8 四級(jí)海情下船舶航跡控制比較Fig.8 Four-tier ship track-keeping control under the sea
圖9 四級(jí)海情下船舶航跡誤差比較Fig.9 Four-tier ship track error under sea comparison chart
圖10 六級(jí)海情下船舶航跡控制比較Fig.10 Six tracks under the sea control comparison chart
圖11 六級(jí)海情下船舶航跡誤差比較Fig.11 Six tracks under the sea errors comparison chart
圖6 ~圖11 表明,在靜水條件下,基于BP 神經(jīng)網(wǎng)絡(luò)的自適應(yīng)PID 與基于BP 神經(jīng)網(wǎng)絡(luò)的自適應(yīng)非線性PID 控制器都能夠很好的跟蹤設(shè)定航跡,加上外部環(huán)境干擾,所以傳統(tǒng)的船舶航跡偏差變得比較大,而基于BP 神經(jīng)網(wǎng)絡(luò)的自適應(yīng)非線性PID 控制器能夠使船舶航跡偏差消除快,舵角響應(yīng)幅度小、速度快,操舵不頻繁,機(jī)械損耗較小。同時(shí),控制器具有前饋環(huán)節(jié),能有效降低網(wǎng)絡(luò)延遲對(duì)船舶航跡控制的影響。
在間接式船舶航跡控制中,以船舶航跡偏差d為輸入是船舶航跡控制器,以航向指令ψ=ψr+Δθ為輸出,ψr為船舶航跡期望航向,Δθ 為修正角,其值為k×d。修正角Δθ 使船舶航跡轉(zhuǎn)向航跡設(shè)定的一邊,船舶航跡偏差逐漸減小。航向偏差為e=ψr+Δθ-ψs,ψs為船舶的實(shí)際航向。非線性PID 控制器是基于船舶航跡誤差的船舶航向控制器,以船舶的舵令為輸出,船舶的航向偏差為輸入。選定基于BP 神經(jīng)網(wǎng)絡(luò)的自適應(yīng)非線性PID 控制器的初始控制參數(shù)為:
R1=100,R2=100,h0=4 h,β0=14,β1=0.01,β2=20,αp=1.25,αi=0.45,αd=0.7,δ=0.1,Kf=0.5。
選定BP 神經(jīng)網(wǎng)絡(luò)常規(guī)PID 控制器初始參數(shù)Kp=22,Kl=0.001,KD=248,結(jié)果如圖12 ~圖17所示。
圖12 靜水環(huán)境下船舶航跡控制比較Fig.12 Tracks under the water environment control comparison chart
圖12 ~圖17 可以看出,無(wú)論是靜水還是在不同海洋情況下,本文選定的基于BP 神經(jīng)網(wǎng)絡(luò)的自適應(yīng)非線性PID 控制器都能夠使船舶快速的跟蹤新航跡,甚至是在航運(yùn)轉(zhuǎn)向點(diǎn)處,舵角響應(yīng)速度快,幅度較小,航跡偏差消除快,操舵不頻繁,減少對(duì)舵機(jī)的消磨損耗,滿足轉(zhuǎn)向航跡段控制精度高的要求。同時(shí),非線性PID 控制器具有前饋環(huán)節(jié),能有效地降低網(wǎng)絡(luò)延遲對(duì)控制性能的影響。采用基于BP神經(jīng)網(wǎng)絡(luò)的自適應(yīng)非線性PID,比較船舶航跡的直接控制方式和間接控制方式,具體仿真比較結(jié)果如圖18 ~圖20所示。
圖13 靜水條件下船舶航跡誤差比較圖Fig.13 Tracks under hydrostatic condition error comparison chart
圖14 四級(jí)海情下船舶航跡控制比較圖Fig.14 Four-tier ship track-keeping control under the sea
圖15 四級(jí)海情下船舶航跡誤差比較圖Fig.15 Four-tier ship track error under sea comparison chart
圖16 六級(jí)海情下船舶航跡控制比較圖Fig.16 Six tracks under the sea control comparison chart
圖17 六級(jí)海情下船舶航跡誤差比較圖Fig.17 Six tracks under the sea errors comparison chart
圖18 轉(zhuǎn)向處船舶航跡變化曲線Fig.18 Turning tracks changes
圖19 航跡誤差變化曲線Fig.19 Tracking error curve
圖20 船舶航向變化曲線Fig.20 Ship curves
從圖18 ~圖20 可以看出,間接式航線控制和直接式航線控制的跟蹤設(shè)定航跡效果明顯。從圖中也可看出,直接控制方式比間接控制方式能夠快速的跟蹤新航跡,它轉(zhuǎn)彎半徑小,舵角響應(yīng)速度快,航跡偏差消除快,舵機(jī)能耗小,操舵不頻繁,控制精度高。
本文針對(duì)船舶在不同航速條件下航跡控制的問(wèn)題,提出了一種基于BP 神經(jīng)網(wǎng)絡(luò)的控制算法,并通過(guò)仿真加以實(shí)現(xiàn)。文章首先闡述了網(wǎng)絡(luò)神經(jīng)、船舶航跡控制發(fā)展等相關(guān)問(wèn)題的理論概述,為下文的研究奠定理論基礎(chǔ);然后詳細(xì)基于BP 神經(jīng)網(wǎng)絡(luò)的船舶航跡控原理,包括船舶航跡控制方式、航跡誤差計(jì)算方法等;最后,基于BP 神經(jīng)網(wǎng)絡(luò)的船舶航跡控的實(shí)現(xiàn),主要從船舶航跡控制的2 種方式入手,對(duì)不同航海情況下船舶航跡控制情況進(jìn)行比較,仿真設(shè)計(jì),采用BP 神經(jīng)網(wǎng)絡(luò)計(jì)算,將實(shí)際的船舶視為非線性系統(tǒng),利用神經(jīng)網(wǎng)絡(luò)的函數(shù)逼近特性實(shí)現(xiàn)控制器中非線性部分的在線估計(jì)。采用同時(shí)調(diào)整輸入層-隱層、隱層-輸出層間的權(quán)值陣的方法進(jìn)行神經(jīng)網(wǎng)絡(luò)權(quán)值調(diào)整,最終實(shí)現(xiàn)船舶航跡控制技術(shù)。
[1]周濤.基于非線性PID 的船舶航向自動(dòng)舵設(shè)計(jì)[J].船電技術(shù).2009,29(6):46-49.
ZHOU Tao.Ship steering autopilot design based on nonlinear PID[J].Marine Technology,2009,29(6):46-49.
[2]孟浩.船舶航行的智能自適應(yīng)控制研究[D].哈爾濱:哈爾濱工程大學(xué),2009:1-2.
MENG Hao.Research on the intelligent adaptive control for ship navigation[D].Harbin:Harbin Engineering University PhD Thesis,2009:1-2.
[3]何玉彬,李新忠.神經(jīng)網(wǎng)絡(luò)控制技術(shù)及其應(yīng)用[M].北京:科學(xué)出版社,2010.
HE Yu-bin,LI Xin-zhong.Neural network control technology and its applications[M].Beijing:Scientific Publishing Houses,2010.
[4]楊旭華.神經(jīng)網(wǎng)絡(luò)及其在控制中的應(yīng)用研究[D].杭州:浙江大學(xué),2009:2-3.
YANG Xu-hua.Research on neural networks and its application in control[D].Hangzhou:Zhejiang University PhD Thesis,2009:2-3.
[5]秦永祥.基于自適應(yīng)神經(jīng)模糊系統(tǒng)的船舶航向控制[D].大連:大連海事大學(xué),2010.
QIN Yong-xiang.Ship course control based on Adaptive neuro-fuzzy inference system[D].Dalian:Dalian Maritime University Master Thesis,2010.
[6]羅四維.大規(guī)模人工神經(jīng)網(wǎng)絡(luò)理論基礎(chǔ)[M].北京:清華大學(xué)出版社,2009.
LUO Si-wei.Large-scale artificial neural network theories[M].Beijing:Tsinghua University Press,2009.
[7]袁曾任.人工神經(jīng)元網(wǎng)絡(luò)及其應(yīng)用[M].北京:清華大學(xué)出版社,2009.
YUAN Zeng-ren.Artificial neural networks and its applications[M].Beijing:Tsinghua University Press,2009.
[8]高雪鵬.BP 網(wǎng)絡(luò)改進(jìn)算法的性能對(duì)比的研究[J].控制與決策,2011,16(2):167-171.
GAO Xue-peng.Research on improved BP network algorithm performance comparison[J].Controlling and Decision Making,2011,16(2):167-171.
[9]曾軍.神經(jīng)網(wǎng)絡(luò)PID 控制及Matlab 仿真[J].現(xiàn)代電子技術(shù),2008,27(2):51-52.
ZENG Jun.Neural network PID control and simulation of MATLAB[J].Modern Electronic Technology,2008,27(2):51-52.
[10]謝立春.BP 神經(jīng)網(wǎng)絡(luò)算法的改進(jìn)及收斂性分析[J].計(jì)算機(jī)技術(shù)與自動(dòng)化,2007,26(3):52-56.
XIE Li-chun.Improvement of BP neural network algorithm and its convergence analysis[J].Computer Technology and Automation,2007,26(3):52-56.
[11]史春朝.基于改進(jìn)BP 神經(jīng)網(wǎng)絡(luò)的PID 控制方法研究[J].計(jì)算機(jī)仿真,2006,23(12):156-159.
SHI Chun-zhao.Study of PID control method based on improved BP neural networks[J].Computer Simulation,2006,23(12):156-159.