李明,饒弘
(中國民用航空飛行學院,四川 廣漢 618300)
無人機自主導航主要可以分成程控飛行與導航定位兩部分,在當前科學技術(shù)不斷發(fā)展的背景下,為切實提升無人機的工作效率,深入研究無人機的自主導航與監(jiān)控技術(shù),提高無人機的功能性,使其被廣泛應用于農(nóng)業(yè)種植、高空攝影、山區(qū)救援等場景當中,成了一項極為必要的工作。
在無人機技術(shù)飛速發(fā)展的當下,無人機已經(jīng)被廣泛應用到社會各行各業(yè)當中,并取得了良好的工作效果。為切實提升無人機自主導航與監(jiān)控技術(shù)的研究效果,本文主要以武漢無名科創(chuàng)公司生產(chǎn)的第二代飛控慧飛者,作為飛行控制系統(tǒng)的研究平臺,并且該平臺所應用的飛行控制系統(tǒng)處理器為ortex4內(nèi)核的TM324系列處理器;無人監(jiān)控系統(tǒng)則是用PC機上編寫的C#桌面應用程序,在實際應用過程中,可以和導航通信系統(tǒng)進行網(wǎng)絡(luò)遠程通信。同時,導航通信板處理器STM32427,這種處理器容量大,最高運行頻率可達168MHz,其芯片是TM32103ET6芯片,片上的接口包括USB、UART、CAN、SPI等。飛機控制系統(tǒng)內(nèi)集成了慣性導航算法、電機控制、匿名上位機串口通訊協(xié)議、按鍵和OLED控制等軟件系統(tǒng)[1]。
當前,RTK系統(tǒng)主要由GNSS信號接收系統(tǒng)、數(shù)據(jù)鏈系統(tǒng)與數(shù)據(jù)處理系統(tǒng)共同組成,并且該系統(tǒng)在實際工作過程中,為保證差分計算工作的順利進行,系統(tǒng)的工作階段主要可分成衛(wèi)星定位接收機數(shù)據(jù)接收、差分數(shù)據(jù)傳輸、差分相對定位處理三部分,以便保證定位功效能夠切實落實[2]。在系統(tǒng)的實際應用過程中,首先,GNSS信號接收系統(tǒng)主要是由的北斗、GPS或者其他導航衛(wèi)星系統(tǒng)接收設(shè)備與天線共同組成,主要可以分成單、雙頻兩種,現(xiàn)階段,由于單頻機載作業(yè)容易失鎖、不適用于動態(tài)測量等問題,因此,雙頻機的適用范圍更大。其次,數(shù)據(jù)鏈系統(tǒng)設(shè)備主要包括調(diào)制器、解調(diào)器、有線或無線通信器等部分,為保證數(shù)據(jù)傳輸?shù)陌踩耘c效率,在進行基準站數(shù)據(jù)傳輸前,需先用調(diào)制器對數(shù)據(jù)信息進行編碼調(diào)制,然后用有線或無線通信器將其傳輸?shù)接脩粽镜慕邮掌魃?,再由解調(diào)器將編碼的數(shù)據(jù)還原,并將其傳給流動用戶機。最后,數(shù)據(jù)處理系統(tǒng)還可以看作是RTK測量計算軟件系統(tǒng),在實際應用過程中,可以實現(xiàn)RTK定位。同時,在數(shù)據(jù)處理系統(tǒng)中,可以應用差分及算法計算,對基準站與用戶機數(shù)據(jù)進行處理,從而得出最終結(jié)果,并且其計算精度與RTK測量準確性與可靠性之間存在著直接的聯(lián)系[3]。
RTK作為一種載波相位觀測值差分相對定位技術(shù),包含單差、雙差與三差等形式,并且在實際應用過程中,可以通過差分組合的方式消除系統(tǒng)誤差。需要注意的是,在實際應用過程中,受單差模式并不能有效消除接收機鐘差、三差模式存在相互獨立差分測量數(shù)值變少等不確定因素等問題的影響,因此,當前RTK定位較常應用的模式為雙差模式,這種模式不僅可以有效消除系統(tǒng)誤差,還能在不影響系統(tǒng)測量值的基礎(chǔ)上減少計算。
通過對公式(13)進行求解的方式,可以得出各個雙差整周模糊度值,并得到基線向量 ,進而得到相應的定位差分數(shù)據(jù)。
在當前科學技術(shù)飛速發(fā)展的背景下,研究無人機自主導航監(jiān)控技術(shù)的目的在于,實現(xiàn)無人機導航信息與運行軌跡的遠程實時監(jiān)控,由監(jiān)控軟件自行為無人機遠程發(fā)送導航任務,并保證無人機在執(zhí)行自主導航任務的過程中,能夠自穩(wěn)姿態(tài)、自動定位。
無人機自主導航慣導技術(shù)主要可以分成姿態(tài)解算與位置慣導兩部分,其中姿態(tài)確定作為保證無人機飛行穩(wěn)定性的前提,在姿態(tài)確定過程中,可以通過對IMU傳感器數(shù)據(jù)進行解算,得到無人機的姿態(tài)角,然后依據(jù)數(shù)據(jù)信息由控制器通過PID計算電機的輸出量,保證無人機的飛行器保持穩(wěn)定的飛行狀態(tài),并且在飛行過程中能夠通過自行變換得性傾斜角度的方式,保證自身始終能夠朝著設(shè)定的位置飛行。并且,當前無人機在進行自主導航的過程中,定高、定點、懸停時觀測量為靜態(tài)觀測量,為進一步提升數(shù)據(jù)信息的準確性,無人機在做豎直方向慣導時,核心觀測器為加速度計;水平慣導時,主觀測器為北斗接收器,輔助傳感器包括光流計、氣壓計等器件。
當前無人機測控技術(shù)在應用過程中,需要以導航通信系統(tǒng)與監(jiān)控軟件上位機為基礎(chǔ),同時,監(jiān)控系統(tǒng)數(shù)據(jù)傳輸構(gòu)架如圖1所示,其任務可以分成2部分,第一部分任務是飛控,系統(tǒng)將關(guān)鍵數(shù)據(jù)傳輸給導航通信系統(tǒng),由導航系統(tǒng)將數(shù)據(jù)信息進行解析與封裝,然后將其傳遞給上位機,令上位機借助后臺處理程序,將信息轉(zhuǎn)化為能夠展示到前臺頁面上的數(shù)據(jù)、文字等能夠被理解的符號信息;第二部分任務是導航通信系統(tǒng)將上位機為無人機輸送的導航任務進行解析,然后參照AVINK協(xié)議,將其進行封裝并傳輸給飛控系統(tǒng),實現(xiàn)無人機飛行狀態(tài)的遠程操控?,F(xiàn)階段,大部分監(jiān)控軟件開發(fā)環(huán)境應用的是C#的WPF,這種開發(fā)環(huán)境相較于利用MFC進行上位機開發(fā)的方式更為先進,開發(fā)效率也更高、編程模式更為多樣、占用的內(nèi)存也更少,此外,C#網(wǎng)絡(luò)編程與WPF因應用程序主要以C語言為基礎(chǔ),因此,程序開發(fā)難度并不高。近年來,隨著WPS技術(shù)應用頻率的不斷提升,WPF不僅建立了API函數(shù)庫,還可以引進了XAL語言,這種情況的出現(xiàn)使得程序在編寫過程中,可以實時觀測應用程序界面[5]。
圖1 監(jiān)控系統(tǒng)數(shù)據(jù)傳輸架構(gòu)
近年來,隨著無人機慣性導航技術(shù)的不斷優(yōu)化完善,這一技術(shù)不僅可以滿足無人機在飛行過程中飛行姿態(tài)自穩(wěn)的要求,還能降低無人機在工作過程中,漂移、抖動等情況的出現(xiàn)概率。同時,若導航環(huán)境中并不存在障礙物,那么對于上位機安排的固定航點任務,無人機可以采用直線飛行的方式進行自主導航,但需要注意的是,當前無人機使用過程中,其導航任務環(huán)境存在障礙物的可能性極大,現(xiàn)階段,為保證無人機能夠有效完成任務,那么無人機在正式工作前,不僅需要合理規(guī)劃自身的飛行路徑,還需要保證自身存在一定的障礙物躲避能力,并且在飛行路徑規(guī)劃過程中能夠自行規(guī)劃合理的飛行路徑。現(xiàn)階段,規(guī)劃無人機飛行路徑的算法比較多,主要包括全局先驗信息路徑規(guī)劃方法、局部傳感器信息路徑規(guī)劃方法、智能深度學習類方法等,其中全局先驗信息路徑規(guī)劃方法又包括A*算法、柵格法、Dijkstra算法等;局部傳感器信息路徑規(guī)劃方法又包括基于RRT的動態(tài)路徑規(guī)劃、SLAM、激光傳感器采集信息和傳統(tǒng)路徑搜索結(jié)合算法等;智能深度學習類方法又包括群蟻算法、遺傳算法等。在考慮到本文研究的無人機計算量不大、研究成本較低、傳感器存在一定限制等問題的基礎(chǔ)上,為滿足無人機自主導航的需要,可以應用離線狀態(tài)的PRM路徑規(guī)劃算法對飛行路徑進行規(guī)劃。
3.3.1 PRM 路徑規(guī)劃算法研究
PRM作為隨機路徑圖法,在實際應用過程中,可以先將連續(xù)的路徑進行離散處理,分成若干個離散圖或點,并且通過在路徑范圍內(nèi)選擇合適的隨機點或圖,形成相應的網(wǎng)絡(luò)連接圖,將離散點或圖與周邊多個點或圖進行連接,從而得到若干個將起點與終點連接到一起的路徑分支,然后通過路徑搜索算法從中找到能夠有效躲避全部障礙,并且飛行路徑較短的分支,在本文的研究過程中,路徑搜尋算法選擇Dubins—A*算法。
現(xiàn)階段,在PRM思想應用過程中,可以先將其分成PRM學習與PRM查詢兩部分,其中學習部分又可以將自主導航路線進行數(shù)字化處理,使其成為二維圖表;利用PRM算法隨機取點,構(gòu)建飛行路徑的網(wǎng)絡(luò)圖;依據(jù)網(wǎng)絡(luò)圖的先驗信息去除障礙物與地圖邊緣可能與無人機發(fā)生碰撞的點,并建立導航圖標路徑這三部分。其中,查詢部分又可以分成兩部分,第一部分,將自主導航起點與終點加入路徑圖表中,判斷未能連接兩者的PRM隨機取點路徑,若所有路徑都不能連通起點與終點,那么進入PRM學習階段;第二部分若PRM隨機取點路徑可以有效連通起點與終點,在后續(xù)無人機飛行路徑選擇的過程中,就可以利用路徑搜索算法,從路徑圖標中挑選最優(yōu)路徑。同時,在PRM算法執(zhí)行過程中,其具體工作步驟可以分成以下五部分,第一步,明確無人機整體框架的大小,并以無人機為中心,確定無人機的監(jiān)控范圍半徑,在系統(tǒng)設(shè)置過程中,可以以能夠包含無人機的柵格點作為質(zhì)點,并以此為單位將其飛行路徑環(huán)境圖進行數(shù)字化處理。第二步,標記不同狀態(tài)的質(zhì)點,同時,初始化隨機點集N與路徑集E等點集。第三步,在圖表中選取合適的質(zhì)點,并依據(jù)質(zhì)點標記,舍棄與障礙物、邊緣存在膨脹的點,保證自由空間內(nèi)的所有點都不會與障礙點相碰撞。第四步,預設(shè)一個節(jié)點能夠連接的相鄰節(jié)點數(shù)量,然后令起點與終點之間的相鄰節(jié)點兩兩相連,形成交錯的路徑網(wǎng)絡(luò)連線圖。第五步,利用Dubins—A*組合算法找出路徑圖標中最佳的飛行路徑,然后將其加入集合E當中,形成連接關(guān)系。
3.3.2 PRM 路徑規(guī)劃算法仿真
將無人機飛行路徑圖標進行質(zhì)點化的處理,是當前PRM路徑規(guī)劃的核心,并且在工作過程中,不僅需要明確無人機的大小,還需要保證Du bins算法在使用過程中,圓始終處于質(zhì)點之內(nèi)。為切實降低上述質(zhì)點處理工作的難度,可以利用MALAB對路徑進行仿真模擬,在模擬過程中,以全局先驗信息作為路徑規(guī)劃算法研究的前提,然后依據(jù)無人機導航全局范圍設(shè)定合適面積大小的地圖,并在地圖內(nèi)設(shè)置一定量的障礙物,并且在PRM算法學習階段隨機選取質(zhì)點,在此過程中,需避開與障礙物、邊緣區(qū)域相接觸的質(zhì)點。同時,在完成PRM算法隨機采樣工作后,需要將有效質(zhì)點按照相鄰質(zhì)點連接適量質(zhì)點的方式,組成路標網(wǎng)絡(luò),為后續(xù)路標圖查詢、選擇工作的開展打下良好的基礎(chǔ)。需要注意的是,若在當前的路徑查詢過程中,若是直接使用Du ins—算法,而不是先用PRM算法,那么Du ins—算法在路徑選擇前,先對其場景圖進行柵格化處理,然后以起點為基礎(chǔ),挨個計算相鄰方向質(zhì)點構(gòu)成路徑的評價函數(shù)F值,并且在碰到障礙物后,返回該查詢路徑的起點,然后從起點的第二個最優(yōu)相鄰節(jié)點開始重復上述路徑查詢工作。相較于先利用PRM算法學習階段后利用PRM算法查詢得出的路徑,直接使用Du bins—A*算法得出的路徑質(zhì)量相對較低[6]。
總而言之,在當前的社會發(fā)展過程中,對無人機自主導航、監(jiān)控技術(shù)進行深入的探究,不僅可以有效提升無人機的性能,還能為農(nóng)業(yè)、基建、商業(yè)、災難救援等情況提供有效的服務支持,從而為社會經(jīng)濟與人們美好生活的發(fā)展提供支持。