田增山,崔永全
(重慶郵電大學(xué)重慶市移動(dòng)通信技術(shù)重點(diǎn)實(shí)驗(yàn)室,重慶400065)
導(dǎo)航技術(shù)是現(xiàn)代科學(xué)技術(shù)中一門重要的技術(shù),其中,姿態(tài)信息是導(dǎo)航的重要參數(shù)之一,廣泛應(yīng)用在航天、航空、航海及其他眾多領(lǐng)域。全球定位系統(tǒng)(global positioning system,GPS)和捷聯(lián)慣性導(dǎo)航系統(tǒng)(strapdown inertial navigation system,SINS)是應(yīng)用最廣泛的姿態(tài)測(cè)量技術(shù),它們各有優(yōu)缺點(diǎn),采用信息融合技術(shù)把2種系統(tǒng)綜合起來進(jìn)行優(yōu)化配置,使組合后的系統(tǒng)性能優(yōu)于各子系統(tǒng)的性能[1]。GPS/SINS組合系統(tǒng)是目前最先進(jìn)的全天候、自主式姿態(tài)測(cè)量技術(shù),應(yīng)用前景廣泛。我國(guó)GPS/SINS組合導(dǎo)航起步較晚,目前已建立了配套的姿態(tài)控制系統(tǒng)研制和仿真試驗(yàn)體系,理論和技術(shù)上存在的一些問題,有關(guān)科研工作正在深入進(jìn)行,力求達(dá)到世界先進(jìn)水平[2]。
Kalman濾波是目前GPS/SINS組合系統(tǒng)采用最多的信息融合技術(shù)[3],但它需要找出系統(tǒng)數(shù)學(xué)模型,對(duì)原始的非線性連續(xù)系統(tǒng)模型進(jìn)行線性化和離散化處理,且要求系統(tǒng)噪聲和測(cè)量噪聲為零均值的高斯白噪聲。對(duì)此本文提出了基于反向傳播(back-propagation,BP)神經(jīng)網(wǎng)絡(luò)的GPS/SINS組合姿態(tài)測(cè)量系統(tǒng),BP網(wǎng)絡(luò)的信息融合算法不需對(duì)所求問題建模,就能夠很好地逼近系統(tǒng)非線性特性,且計(jì)算過程穩(wěn)定,能獲得較高精度的姿態(tài)信息[4]。本文設(shè)計(jì)了適用于GPS/SINS組合姿態(tài)測(cè)量系統(tǒng)的BP網(wǎng)絡(luò)模型,并改進(jìn)BP算法,以提高網(wǎng)絡(luò)訓(xùn)練速度及精度。通過MATLAB數(shù)字仿真,結(jié)果表明,改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)算法對(duì)于GPS/SINS組合姿態(tài)測(cè)量系統(tǒng)是有效和可行的。
BP網(wǎng)絡(luò)是目前應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)模型。BP算法屬于δ算法[5],是一種監(jiān)督式的學(xué)習(xí)算法,其整個(gè)信息處理過程分為前向傳播(記憶)和誤差反向傳播(學(xué)習(xí))2個(gè)過程。學(xué)習(xí)目的是利用網(wǎng)絡(luò)實(shí)際輸出與目標(biāo)向量之間的誤差來修正權(quán)值,使網(wǎng)絡(luò)實(shí)際輸出與目標(biāo)輸出之間更加接近,網(wǎng)絡(luò)輸出層的誤差平方和達(dá)到最小。
從結(jié)構(gòu)上講,BP網(wǎng)絡(luò)是一種分層型網(wǎng)絡(luò),具有輸入層、中間層(隱含層)和輸出層3層結(jié)構(gòu),層與層之間多采用全連接方式,同一層單元之間不存在相互連接[6]。多層BP網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。圖中,第1層為輸入層,只起到分配輸入的作用,沒有計(jì)算能力,后面的層為計(jì)算單元。輸入和輸出節(jié)點(diǎn)與外界相連,其他中間層稱為隱含層。
圖1 BP網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Structure of BP network
標(biāo)準(zhǔn)的BP算法步驟可歸納如下[7]。
1)初始化。設(shè)輸入層到隱含層的連接權(quán)值為ωij,隱含層到輸出層的連接權(quán)值為ij,隱含層的閾值為θk,輸出層的閾值為k,初始步長(zhǎng) η。
2)計(jì)算隱含層各神經(jīng)元的輸出
(1)式中:yj為輸入層各單元輸出值;φ(v)=為激勵(lì)函數(shù);i=1,2,…,p;j=1,2,…,n。
3)計(jì)算輸出層各神經(jīng)元的輸出
4)定義誤差函數(shù)
(3)式中,ye為目標(biāo)的輸出。
5)調(diào)整輸出層的連接權(quán)值
6)調(diào)整輸出層的閾值
7)調(diào)整隱含層的連接權(quán)值
8)調(diào)整隱含層的閾值
9)若誤差校正值dl不滿足要求,重復(fù)步驟2)→步驟8),直至dl→0。
綜上可以看出,BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)過程是由前向計(jì)算、誤差計(jì)算和誤差反向傳播組成。BP算法把訓(xùn)練樣本輸出與目標(biāo)輸出問題變?yōu)榉蔷€性優(yōu)化問題,利用梯度下降法迭代求得節(jié)點(diǎn)之間的權(quán)值。
雖然BP算法在實(shí)際中得到了廣泛的應(yīng)用,但其自身也存在一定的限制與不足,歸納如下。
1)迭代次數(shù)甚多,使得學(xué)習(xí)率較低,收斂速度慢,當(dāng)處理一些比較復(fù)雜的問題時(shí),BP算法可能要進(jìn)行幾小時(shí)甚至更長(zhǎng)時(shí)間的訓(xùn)練。
2)網(wǎng)絡(luò)的隱含層節(jié)點(diǎn)數(shù)和參數(shù)初始值的選取尚缺少統(tǒng)一而完整的理論指導(dǎo),即沒有很好的解析式來表示。
近幾年已有不少人對(duì)此提出改進(jìn)方案,如文獻(xiàn)[8]提出在修改權(quán)值中加入“動(dòng)量項(xiàng)”;文獻(xiàn)[9]采用變步長(zhǎng)學(xué)習(xí)率;也有文獻(xiàn)給出了逐步增加訓(xùn)練數(shù)據(jù)以避免局部極小的方法和判斷是否進(jìn)入局部極小點(diǎn)的標(biāo)準(zhǔn)[10]。這些方案雖然對(duì)BP算法有一定的改進(jìn),但仍存在著不足。本文針對(duì)GPS/SINS組合姿態(tài)測(cè)量系統(tǒng),進(jìn)一步提出新的改進(jìn)方法。
1)初始權(quán)值、閾值的設(shè)置。?。郏?,1]之間的隨機(jī)數(shù)作為初始權(quán)值和閾值,具有盲目性和隨機(jī)性。本文先將[-1,1]的隨機(jī)值分為M等分,分別隨機(jī)產(chǎn)生初始值進(jìn)行學(xué)習(xí)。選取誤差函數(shù)最小的區(qū)域再N等分,再在這N個(gè)小區(qū)域內(nèi)重復(fù)上述步驟。當(dāng)誤差函數(shù)不再減小時(shí),認(rèn)為找到了最優(yōu)點(diǎn),停止迭代。只要區(qū)域取得足夠小,這種方法可以比較有效地避免局部行為。
2)隱含層節(jié)點(diǎn)的確定。隱含層神經(jīng)元數(shù)一般為r≥lbn,n為訓(xùn)練樣本數(shù)。這是一個(gè)范圍值,隱含層節(jié)點(diǎn)少,學(xué)習(xí)過程不能收斂;隱含層節(jié)點(diǎn)多,節(jié)點(diǎn)冗余,網(wǎng)絡(luò)性能下降。為了找到合適的隱含層節(jié)點(diǎn)數(shù),應(yīng)該根據(jù)環(huán)境要求,自組織地學(xué)習(xí)、調(diào)整結(jié)構(gòu),最后得到一個(gè)大小合適的模型。本文提出的解決方法:先把隱含層節(jié)點(diǎn)設(shè)置為一個(gè)較大的數(shù),然后逐步合并刪減,直到獲得期望的誤差。具體方法定義如下。
設(shè)bpi,bpj分別是隱含層節(jié)點(diǎn) i,j在學(xué)習(xí)第p個(gè)樣本時(shí)的輸出,N為學(xué)習(xí)樣本總數(shù),則
(9)式中,Rij表示隱含層節(jié)點(diǎn)i,j的相關(guān)程度,顯然,當(dāng)越接近1,表明隱含層節(jié)點(diǎn)i,j的線性相關(guān)程度越大,它們的功能重復(fù),需進(jìn)行壓縮合并。
3)激勵(lì)函數(shù)的修改。網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)確定后,總誤差函數(shù)的性質(zhì)特征完全由激勵(lì)函數(shù)決定。BP算法的激勵(lì)函數(shù)一般選取S型函數(shù)
在計(jì)算中大量用到激活函數(shù)的導(dǎo)數(shù),而該函數(shù)的導(dǎo)數(shù)為
值域范圍很窄,僅為[0,0.25],使得計(jì)算出來的權(quán)重的修改量很小,從而降低學(xué)習(xí)速度。為解決這一問題,本文采用另一種雙曲正切函數(shù)
其導(dǎo)數(shù)為
值域范圍為[0,0.5],較S型函數(shù)寬,能快速收斂。且這類函數(shù)具有平滑性和漸進(jìn)性,不易陷入局部極小點(diǎn)。
BP人工神經(jīng)網(wǎng)絡(luò)模型類似于“黑匣子”,只有輸入和輸出接口與外界發(fā)生聯(lián)系。神經(jīng)網(wǎng)絡(luò)首先要經(jīng)過網(wǎng)絡(luò)的訓(xùn)練,第1節(jié)中的BP算法即為BP網(wǎng)絡(luò)的訓(xùn)練過程。本文采用線性化誤差小的間接法融合測(cè)量數(shù)據(jù),將SINS與GPS的位置、速度和姿態(tài)角之差即測(cè)量值作為訓(xùn)練輸入樣本[2],將模擬運(yùn)動(dòng)軌跡輸出的姿態(tài)、速度和位置,以及角速度、加速度作為輸出樣本,對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。
樣本的輸入個(gè)數(shù)對(duì)應(yīng)神經(jīng)網(wǎng)絡(luò)輸入層的神經(jīng)元個(gè)數(shù),期望輸出個(gè)數(shù)對(duì)應(yīng)神經(jīng)網(wǎng)絡(luò)輸出層的神經(jīng)元個(gè)數(shù)。對(duì)于訓(xùn)練好的BP網(wǎng)絡(luò)模型,只要有測(cè)量信息輸入網(wǎng)絡(luò),就能獲得相應(yīng)的系統(tǒng)狀態(tài)輸出。GPS/SINS姿態(tài)測(cè)量系統(tǒng)信息融合模型如圖2所示。
圖2 GPS/SINS系統(tǒng)信息融合模型Fig.2 Model of GPS/SINS system information fusion
圖2中,L,V,φ分別表示位置、速度、姿態(tài)角。把GPS和SINS的位置、速度、姿態(tài)角之差輸入到改進(jìn)后訓(xùn)練好的BP神經(jīng)網(wǎng)絡(luò),就可以得到相應(yīng)的系統(tǒng)輸出。
本文訓(xùn)練神經(jīng)網(wǎng)絡(luò)時(shí)所運(yùn)用參數(shù)如下。
1)初始權(quán)值、閾值。根據(jù)第2節(jié)初始權(quán)值、閾值的確定方法,在選定的小區(qū)域上隨機(jī)產(chǎn)生ωij和θk。
2)學(xué)習(xí)率η的確定。本文選用變步長(zhǎng)學(xué)習(xí)率:先設(shè)初始步長(zhǎng)η,若一次迭代后輸出誤差函數(shù)dj減少慢,則將步長(zhǎng)乘以小于1的常數(shù),即η=αη,α<1,沿原來方向重新計(jì)算下一個(gè)迭代點(diǎn)。若下一次迭代后dj減小快,則將步長(zhǎng)乘一個(gè)大于1的常數(shù),即η =βη ,β>1。η 的初始值范圍為[0.01,0.8],本文取 η =0.1;變步長(zhǎng)學(xué)習(xí)參數(shù) α =0.5,β =1.2。
3)網(wǎng)絡(luò)層數(shù)及各層神經(jīng)元。本文采用標(biāo)準(zhǔn)的輸入層、隱含層和輸出層3層模式。仿真分別采用GPS和SINS輸出的位置、速度和姿態(tài)信息的差值作為測(cè)量值,即為神經(jīng)網(wǎng)絡(luò)的輸入量,組合系統(tǒng)的姿態(tài)、速度和位置誤差,以及陀螺儀漂移、加速度偏差作為神經(jīng)網(wǎng)絡(luò)的輸出量。這樣確定了輸入層和輸出層神經(jīng)元數(shù)個(gè)數(shù)分別為9和l5。隱含層初始節(jié)點(diǎn)數(shù)設(shè)置為50,然后根據(jù)本文提出的方法,當(dāng)Rij∈[0.8,1]時(shí),就認(rèn)為兩節(jié)點(diǎn)相關(guān)性大,對(duì)其進(jìn)行合并。
本文利用MATLAB神經(jīng)網(wǎng)絡(luò)工具箱提供的函數(shù)對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。按照神經(jīng)網(wǎng)絡(luò)規(guī)則,輸入層和隱含層神經(jīng)網(wǎng)絡(luò)的決策函數(shù)采用雙曲正切函數(shù)。本文通過測(cè)試將最大訓(xùn)練循環(huán)數(shù)設(shè)置為5 000,訓(xùn)練目標(biāo)誤差設(shè)置為1.0×10-3。
根據(jù)前文的分析,按照?qǐng)D3所示的仿真流程對(duì)BP神經(jīng)網(wǎng)絡(luò)的GPS/SINS組合姿態(tài)測(cè)量系統(tǒng)進(jìn)行仿真。用于訓(xùn)練網(wǎng)絡(luò)的樣本個(gè)數(shù)為250,經(jīng)過訓(xùn)練確定網(wǎng)絡(luò)的權(quán)值和閾值,把訓(xùn)練好的BP神經(jīng)網(wǎng)絡(luò)模型作為GPS/SINS組合姿態(tài)測(cè)量的數(shù)據(jù)融合器。圖4-圖6分別表示了融合后的3個(gè)姿態(tài)角誤差曲線圖。
BP神經(jīng)網(wǎng)絡(luò)的GPS/SINS組合方法能有效地克服SINS測(cè)姿誤差狀態(tài)的發(fā)散問題,同時(shí)與Kalman濾波相比,精度有明顯提升且更加均勻。改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò)精度明顯優(yōu)于改進(jìn)前,在運(yùn)行條件相同情況下,改進(jìn)前后BP神經(jīng)網(wǎng)絡(luò)方法的運(yùn)行迭代次數(shù)相差較大(見圖7、圖8),后者約為前者的1/3,因而后者會(huì)更快地收斂,統(tǒng)計(jì)表如表1所示。
圖3 仿真流程圖Fig.3 Simulation flowchart
圖4 俯仰角誤差Fig.4 Error of pitch angle
圖5 偏航角誤差Fig.5 Error of drift angle
圖6 橫滾角誤差Fig.6 Error of roll angle
圖7 BP網(wǎng)絡(luò)改進(jìn)前訓(xùn)練結(jié)果Fig.7 Training results before improvement
圖8 BP網(wǎng)絡(luò)改進(jìn)后訓(xùn)練結(jié)果Fig.8 Training results after improvement
表1 BP網(wǎng)絡(luò)改進(jìn)前后對(duì)比Tab.1 Comparison before and after improvement
由MATLAB仿真得出的誤差曲線圖和表1可知,改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò)的組合系統(tǒng)數(shù)據(jù)融合效果顯著。說明改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò)融合技術(shù)運(yùn)用于GPS/SINS組合姿態(tài)測(cè)量系統(tǒng)是可行的,且與基于Kalman濾波的組合系統(tǒng)相比,該方法無需對(duì)所求解問題建模,能夠很好地逼近系統(tǒng)非線性特征,獲得較高精度的姿態(tài)角信息。人工神經(jīng)網(wǎng)絡(luò)計(jì)算過程穩(wěn)定,不涉及矩陣求逆,其計(jì)算所耗費(fèi)時(shí)間明顯少于常規(guī)方法,有利于實(shí)時(shí)處理姿態(tài)測(cè)量數(shù)據(jù)。仿真結(jié)果表明,改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò)在GPS/SINS組合姿態(tài)測(cè)量系統(tǒng)中是高效可行的。
本文設(shè)計(jì)了適用于GPS/SINS組合姿態(tài)測(cè)量系統(tǒng)的BP網(wǎng)絡(luò)模型,并在標(biāo)準(zhǔn)BP算法基礎(chǔ)上,采用限制初始權(quán)值和閾值、動(dòng)態(tài)刪減隱含層節(jié)點(diǎn)數(shù)和修改激活函數(shù)的方法來改進(jìn)BP算法,以提高網(wǎng)絡(luò)訓(xùn)練速度及精度。最后利用MATLAB對(duì)GPS/SINS組合姿態(tài)測(cè)量系統(tǒng)進(jìn)行數(shù)字仿真,仿真結(jié)果表明,基于改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò)組合系統(tǒng)姿態(tài)角誤差精度明顯提高,不僅克服單一SINS系統(tǒng)誤差發(fā)散問題,而且誤差精度較傳統(tǒng)Kalman濾波融合技術(shù)得到了極大提高,改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò)算法在GPS/SINS組合姿態(tài)測(cè)量系統(tǒng)中不但高效可行,且性能優(yōu)越。
[1]UHLMANN J K.General Data Fusion for Estimates with Unknown Cross Covariances[J].Proceedings of the SPIE Aerosense Conference,1996,2755(14):536-547.
[2]方鵬.GPS/INS組合導(dǎo)航與定位系統(tǒng)研究[D].上海:同濟(jì)大學(xué),2008.FANG Peng.GPS/INS Integrated Navigation and Positioning System[D].Shanghai:TongJi University,2008.
[3]LIU Jinfang,DENG Zili.Information Fusion Kalman Filter for Two-Sensor System with Time-Delayed Measurements[J].Procedia Engineering,2012,29(6):623-629.
[4]YUE Xiaokui,YUAN Jianpin.NeuralNetwork-based GPS/INS Integrated System for Spacecraft Attitude Determination[J].Chinese Journal of Aeronautics,2006,19(3):233-238.
[5]ZHANG Tao,XU Xiaosu.A new method of seamless land navigation for GPS/INS integrated system[J].Measurement,2012,45(4):691-701.
[6]馬銳.人工神經(jīng)網(wǎng)絡(luò)原理[M].北京:機(jī)械工業(yè)出版社,2010:9-11.MA Rui.Principles of Artificial Neural Networks[M].Beijing:China Machine Press,2010:9-11.
[7]GAO Shesheng,ZHONG Yongmin,ZHANG Xueyuan,Bijan Shirinzadeh.Multi-sensor optimal data fusion for INS/GPS/SAR integrated navigation system[J].Aerospace Science and Technology,2009,13(5):232 – 237.
[8]李翱翔,陳健.BP神經(jīng)網(wǎng)絡(luò)參數(shù)改進(jìn)方法綜述[J].電子科技,2007,29(7):79-82.LI Aoxiang,CHEN Jian.Summarize of Parameyer Improve Methods for BP Neural Networks[J].Electronic Sci &Tech,2007,29(7):79-82.
[9]賈麗會(huì),張修如.BP算法分析與改進(jìn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2006,16(10):101-107.JIA Lihui,ZHANG Xiuru.Analysis and Improvements of BP Algorithm[J].Computer Technology and Development,2006,16(10):101-107.
[10]張國(guó)翊,胡錚.改進(jìn)BP神經(jīng)網(wǎng)絡(luò)模型及其穩(wěn)定性分析[J].中南大學(xué)學(xué)報(bào):自然科學(xué)版,2011,42(1):115-124.ZHANG Guoyi,HU Zheng.Improved BP neural network model and its stability analysis[J].Journal of Central South University:Science and Technology,2011,42(1):115-124.