基于bp神經(jīng)網(wǎng)絡(luò)的無(wú)人機(jī)駕駛路線航點(diǎn)標(biāo)定方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及無(wú)人機(jī)自動(dòng)駕駛技術(shù)領(lǐng)域,特別是涉及一種無(wú)人機(jī)駕駛路線的航點(diǎn)標(biāo) 定方法。
【背景技術(shù)】
[0002] 近年來(lái),無(wú)人機(jī)的發(fā)展特別迅猛。無(wú)人機(jī)使用范圍已從軍事拓展至民用及科研多 個(gè)領(lǐng)域。軍事上,無(wú)人機(jī)可用于偵查監(jiān)視、中繼通信、電子對(duì)抗、戰(zhàn)果評(píng)估、對(duì)地(海)攻擊、 早期預(yù)警等;民用上,用于大氣研究、氣象觀測(cè)以及新技術(shù)新設(shè)備的實(shí)驗(yàn)驗(yàn)證等。
[0003] 2010年4月中旬,美國(guó)陸軍正式公布了 2010年至2035年的無(wú)人機(jī)系統(tǒng)發(fā)展路 線圖:陸軍的近期目標(biāo)是實(shí)現(xiàn)直升機(jī)的無(wú)人駕駛,即裝備新型艦載垂直直升機(jī)起降戰(zhàn)術(shù) 無(wú)人機(jī),以填補(bǔ)當(dāng)前迫切的戰(zhàn)爭(zhēng)需求。有關(guān)無(wú)人機(jī)自動(dòng)駕駛儀的研究,也愈演愈烈。加 拿大MicroPilot公司的無(wú)人直升機(jī)自動(dòng)駕駛儀MP2128HELI、瑞士WcControl公司的 wcPilotlOOO微小型無(wú)人直升機(jī)自動(dòng)駕駛儀以及美國(guó)加州理工研發(fā)的HcliAP無(wú)人直升機(jī) 自動(dòng)駕駛儀都是典型的代表。
[0004]目前,國(guó)內(nèi)的無(wú)人機(jī)自動(dòng)駕駛儀研究水平還處于仿制階段,整體研發(fā)尚處于起步 階段。
[0005] BP神經(jīng)網(wǎng)絡(luò)屬于前向網(wǎng)絡(luò),是神經(jīng)網(wǎng)絡(luò)的核心,也是整個(gè)神經(jīng)網(wǎng)路體系中的精華, 同時(shí)它有別于多層感知器。
【發(fā)明內(nèi)容】
[0006] 針對(duì)上述的現(xiàn)有技術(shù)及存在的問(wèn)題,本發(fā)明提出了一種基于BP神經(jīng)網(wǎng)絡(luò)的無(wú)人 機(jī)駕駛路線航點(diǎn)標(biāo)定方法,在該領(lǐng)域創(chuàng)新性地應(yīng)用了BP神經(jīng)網(wǎng)絡(luò)技術(shù),實(shí)現(xiàn)針對(duì)無(wú)人機(jī)地 面站在地圖上航點(diǎn)的無(wú)人機(jī)飛行路線標(biāo)定。
[0007] 本發(fā)明提出了一種基于BP神經(jīng)網(wǎng)絡(luò)的無(wú)人機(jī)駕駛路線航點(diǎn)標(biāo)定方法,包括以下 步驟:
[0008] 步驟1:隨機(jī)產(chǎn)生1000個(gè)三維坐標(biāo)點(diǎn),用于模擬地面站地圖上的1000個(gè)航點(diǎn);
[0009] 步驟2:建立BP神經(jīng)網(wǎng)絡(luò)輸入層的矩陣P;
[0011] 其中,(an,a21,a31)表示第1個(gè)航點(diǎn),(a21,a22,a32)表示第2個(gè)航點(diǎn),以此類推, (al999,a2999,a3999)表不弟 999 個(gè)航點(diǎn),(all。。。,a21。。。,a31000 )表示第1000個(gè)航點(diǎn)。
[0012] 步驟3 :建立BP神經(jīng)網(wǎng)絡(luò)輸出端矩陣T;
[0014] 其中,(bn,b21,b31)表示系統(tǒng)輸出經(jīng)過(guò)的第1個(gè)航點(diǎn),(b12,b22,b32)表示系統(tǒng)輸出 經(jīng)過(guò)的第2個(gè)航點(diǎn),以此類推,(b1999,b2999,b3999)表示系統(tǒng)輸出經(jīng)過(guò)的第999個(gè)航點(diǎn),(b_。, b21_,b31_)表示系統(tǒng)輸出經(jīng)過(guò)的第1000個(gè)航點(diǎn)。同時(shí),矩陣P與矩陣T相等,即P=T。
[0015] 步驟4 :建立BP神經(jīng)網(wǎng)絡(luò),net=netff(P,T,3),其中,P、T分別表示BP神經(jīng)網(wǎng)絡(luò) 輸入和輸出矩陣,3表示設(shè)計(jì)的ΒΡ神經(jīng)網(wǎng)絡(luò)有一個(gè)隱含層,且隱含層神經(jīng)元個(gè)數(shù)為3;
[0016] 步驟5 :訓(xùn)練該ΒΡ神經(jīng)網(wǎng)絡(luò),[net,tr] =train(net,Ρ,Τ),使用輸入、輸出矩陣對(duì) BP神經(jīng)網(wǎng)絡(luò)net進(jìn)行訓(xùn)練,同時(shí)得到新的神經(jīng)網(wǎng)絡(luò)net,tr用于記錄訓(xùn)練的步數(shù)印och和 f生能perf;
[0017] 步驟6 :針對(duì)BP神經(jīng)網(wǎng)絡(luò)的矩陣輸出,使用plot3函數(shù)對(duì)矩陣所代表的航線點(diǎn)進(jìn) 行連線,生成無(wú)人機(jī)的航點(diǎn)路線。
[0018]與現(xiàn)有技術(shù)相比,本發(fā)明將無(wú)人機(jī)可劃定標(biāo)點(diǎn)數(shù)量增大、無(wú)人機(jī)標(biāo)點(diǎn)路線具有方 向性和可完善無(wú)人機(jī)自動(dòng)駕駛儀系統(tǒng),創(chuàng)新性地應(yīng)用了BP神經(jīng)網(wǎng)絡(luò)技術(shù),并在此基礎(chǔ)上快 速有效地實(shí)現(xiàn)無(wú)人機(jī)地面站對(duì)航點(diǎn)路線的設(shè)計(jì),能夠應(yīng)用在無(wú)人機(jī)的自動(dòng)駕駛儀上;
[0019] 作為新穎的基于神經(jīng)網(wǎng)絡(luò)的自動(dòng)駕駛儀航點(diǎn)路線方案,在以后的無(wú)人機(jī)自動(dòng)駕駛 儀研究中有極大的發(fā)展前景。
【附圖說(shuō)明】
[0020] 圖1是100個(gè)航點(diǎn)下的標(biāo)定路線示意圖;
[0021] 圖2是100個(gè)航點(diǎn)下實(shí)際飛行路線與設(shè)計(jì)路線之間的誤差性能曲線示意圖;
[0022] 其中,Train、Validation、Test分別表示訓(xùn)練的結(jié)果性能、檢驗(yàn)的結(jié)果性能、驗(yàn)證 的結(jié)果性能。Performance表示系統(tǒng)性能,Epochs表示系統(tǒng)訓(xùn)練的步數(shù)。從圖中可以看出, 三條曲線在1000步時(shí),誤差都下降到了 10 5(百分比值)。
[0023] 圖3是1000個(gè)航點(diǎn)下的標(biāo)定路線示意圖;
[0024] 圖4是1000個(gè)航點(diǎn)下實(shí)際飛行路線與設(shè)計(jì)路線之間的誤差性能曲線示意圖;
[0025] 其中,Train、Validation、Test、Best分別表示訓(xùn)練的結(jié)果性能、檢驗(yàn)的結(jié)果性能 驗(yàn)證的結(jié)果性能、系統(tǒng)最佳狀態(tài)下的性能。Performance表示系統(tǒng)性能,Epochs表示系統(tǒng)訓(xùn) 練的步數(shù)。BestValidationPerformanceis0· 00046723atepoch1000表不在訓(xùn)練到 1000步時(shí)的最佳檢驗(yàn)性能是0. 00046723。同時(shí),系統(tǒng)性能用最小均方誤差表示MSE(Mean SquaredError)??梢钥吹?,圖中①②③條曲線有重疊,說(shuō)明訓(xùn)練、檢驗(yàn)、驗(yàn)證、最佳的結(jié)果 性能相似。
[0026] 圖5為本發(fā)明整體流程圖。
【具體實(shí)施方式】
[0027] 以下結(jié)合附圖及【具體實(shí)施方式】,進(jìn)一步詳述本發(fā)明的技術(shù)方案。
[0028] 普通無(wú)人機(jī)自動(dòng)駕駛的路線航點(diǎn)標(biāo)定都在100個(gè)以內(nèi),本發(fā)明基于BP神經(jīng)網(wǎng)絡(luò) (ErrorBackPropagation,即誤差反向傳播算法神經(jīng)網(wǎng)絡(luò))可以將航點(diǎn)數(shù)量提高到1000 個(gè)。雖然要使用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行飛行路線的訓(xùn)練需要一定的時(shí)間,但是,本發(fā)明利用基于 BP神經(jīng)網(wǎng)絡(luò)這一創(chuàng)新點(diǎn),標(biāo)定精確度可以達(dá)到10 4數(shù)量級(jí)(誤差值與實(shí)際值的比值大?。?同時(shí),在使用BP神經(jīng)網(wǎng)絡(luò)時(shí),可以標(biāo)定航點(diǎn)的方向,從而判斷無(wú)人機(jī)飛行方向是否正確。當(dāng) 無(wú)人機(jī)在兩個(gè)航點(diǎn)間飛行時(shí),利用本發(fā)明的標(biāo)定結(jié)果可以給出實(shí)際飛行路線與設(shè)計(jì)路線之 間的誤差,如果誤差過(guò)大,那么系統(tǒng)就會(huì)給出警報(bào)。這樣,有利于進(jìn)一步完善無(wú)人機(jī)自動(dòng)駕 駛儀。
[0029] 本發(fā)明的仿真在MATLAB下進(jìn)行的:
[0030] 首先利用MATLAB中的randi函數(shù)生成隨機(jī)的三維航點(diǎn)數(shù)據(jù)(分別采用了一組100 個(gè)航點(diǎn)和本發(fā)明的1000個(gè)航點(diǎn)進(jìn)行對(duì)比);限定數(shù)據(jù)范圍,模擬空中三維點(diǎn),并使航點(diǎn)達(dá)到 1000 個(gè)。
[0031] 其次,建立BP神經(jīng)網(wǎng)絡(luò)(采用三層的神經(jīng)網(wǎng)絡(luò),其包含輸入層、輸出層以及一個(gè)隱 含層),隱含層采用tansig函數(shù),輸出層采用purelin函數(shù),BP網(wǎng)絡(luò)的權(quán)值/閾值學(xué)習(xí)函數(shù) 為learngdm,其性能函數(shù)為MSE(MeanSquareError),即用均方誤差函數(shù)作為性能分析的 指標(biāo);
[0032] 最后,針對(duì)以上的航點(diǎn)進(jìn)行曲線擬合,形成無(wú)人機(jī)的飛行路線。
[0033] BP神經(jīng)網(wǎng)絡(luò)將輸入數(shù)據(jù)的60 %用于訓(xùn)練,20 %用于檢驗(yàn),20 %用于驗(yàn)證,采用了 提前終止的策略,防止過(guò)擬合的情況發(fā)生,精確度有所提高。如圖2和圖4所示,分別給出 了 〇