劉 琨,黃大慶,韓玉潔,萬思鈺
(1.南京航空航天大學(xué)電子信息工程學(xué)院,江蘇南京 210016;2.南京航空航天大學(xué)無人駕駛飛機研究所,江蘇 南京 210016)
近年來無人機技術(shù)蓬勃發(fā)展,無人機與有人機相比擁有很多優(yōu)點。例如,無人機的成本遠低于有人機,并且無人機在執(zhí)行任務(wù)時比有人機更加靈活,被敵方攻擊時并不會像有人機一樣造成飛行員的傷亡等。無人機在許多方面得到了大量的應(yīng)用,例如對戰(zhàn)場環(huán)境內(nèi)目標(biāo)的偵察監(jiān)視[1]、多架無人機之間進行通信中繼[2]、攜帶載荷對區(qū)域內(nèi)的敵方目標(biāo)進行精確打擊[3]等,已成為未來智能化、無人化作戰(zhàn)的重要手段之一[4-5],并且具有執(zhí)行戰(zhàn)場任務(wù)效率高、抗敵防擊打能力強[6-7]等優(yōu)點。
UAV 實際的應(yīng)用場景是較復(fù)雜的戰(zhàn)場環(huán)境,戰(zhàn)場環(huán)境中存在著各種地形威脅、敵方威脅等。單架UAV 由于自身性能更容易受到各種限制,例如航行時間限制等,所以目前主要作戰(zhàn)的形勢是多架無人機一起共同合作去執(zhí)行戰(zhàn)場中復(fù)雜的任務(wù)[8]。多架無人機共同合作組成無人機群執(zhí)行戰(zhàn)場任務(wù)是目前無人機作戰(zhàn)應(yīng)用的重要模式[9]。單架無人機與多架無人機協(xié)同執(zhí)行作戰(zhàn)任務(wù)相比較,在無人機數(shù)量和協(xié)同配合方面處于劣勢[10]。當(dāng)?shù)胤絽^(qū)域內(nèi)火力攻擊我方正在執(zhí)行任務(wù)的UAV 時,若只有一架UAV 執(zhí)行任務(wù),則該UAV 被擊中墜毀造成任務(wù)失敗的可能性遠遠大于多架UAV 協(xié)同執(zhí)行某一任務(wù)。在復(fù)雜的戰(zhàn)場環(huán)境下,為了完成一定的復(fù)雜任務(wù),我方派出多架無人機協(xié)同合作共同搜索尋找地方區(qū)域中存在的目標(biāo)并且進行無人機最優(yōu)飛行航跡的規(guī)劃。文中針對以上問題,提出一套多機協(xié)同搜索問題的完整解決方案,設(shè)計了多UAV 協(xié)同搜索系統(tǒng)的操作系統(tǒng),并且給出了詳細的軟件設(shè)計細節(jié)。
在敵我雙方作戰(zhàn)過程中,需要了解敵方區(qū)域內(nèi)目標(biāo)位置、各種威脅信息等,這樣才能掌握敵方區(qū)域情報。UAV獲取敵方區(qū)域信息的方式叫做偵察,進行戰(zhàn)場區(qū)域內(nèi)的敵方目標(biāo)搜索是偵察方式的一種[11],執(zhí)行搜索任務(wù)的目的是盡可能多地發(fā)現(xiàn)戰(zhàn)場區(qū)域內(nèi)存在的未知敵方目標(biāo)、降低未知戰(zhàn)場環(huán)境的不確定度。
圖1 表示多UAV 協(xié)同區(qū)域搜索的任務(wù)場景,假設(shè)戰(zhàn)場區(qū)域內(nèi)的敵方目標(biāo)和各種威脅的位置信息是未知的。我方派出多架UAV 自身攜帶機載探測傳感器,同時假設(shè)UAV 具備一定的自主控制力和決策力,集群UAV 之間可以進行通信,多架UAV 在戰(zhàn)場環(huán)境下進行目標(biāo)搜索航跡規(guī)劃任務(wù),由此獲取敵方的目標(biāo)位置信息和戰(zhàn)場區(qū)域內(nèi)的各種威脅信息。
圖1 UAV飛行場境
1.2.1 單架無人機系統(tǒng)架構(gòu)
單架無人機系統(tǒng)架構(gòu)如圖2 所示。
如圖2 所示,由于合適的CPU 可以為上層處理算法奠定基礎(chǔ),所以選擇合適的CPU 對后續(xù)系統(tǒng)的搭建至關(guān)重要。
圖2 單架無人機系統(tǒng)架構(gòu)
執(zhí)行任務(wù)的過程中,不需獲取UAV 飛行過程中的姿態(tài)角、俯仰角等信息。驅(qū)動層的作用是支持無人機獲取飛行姿態(tài)等信息,與此同時,UAV 自身攜帶的探測傳感器還需要添加GPS、云臺相機、無線通信等模塊。系統(tǒng)層主要進行任務(wù)調(diào)度和控制協(xié)調(diào),對集成的軟硬件進行分配,處理獲取的傳感器數(shù)據(jù)并控制人機交互和姿態(tài)。應(yīng)用層可以分為UAV 搜索、在線決策、信息交互3 個模塊。UAV 集群搜索是在未知環(huán)境下實現(xiàn)感知與目標(biāo)追蹤,信息交互是指在多UAV 之間、UAV 與地面站之間實現(xiàn)信息共享,從而實現(xiàn)戰(zhàn)場信息共享和任務(wù)協(xié)同,UAV 之間需要共享的信息包括自身在執(zhí)行任務(wù)過程中的位置信息、搜索到敵方目標(biāo)的位置信息等。
1.2.2 信息交互
由于系統(tǒng)是多UAV 協(xié)同執(zhí)行任務(wù),所以UAV 在空中不僅需要進行數(shù)據(jù)采集,并且要在空中與其他UAV 進行信息交互。信息交互需要考慮數(shù)據(jù)融合和網(wǎng)絡(luò)連接兩個方面。數(shù)據(jù)融合指與其他UAV 共享和融合采集到的數(shù)據(jù),生成完整的環(huán)境圖片,進而完成對未知環(huán)境的目標(biāo)搜索過程;網(wǎng)絡(luò)連接是指UAV集群之間、UAV 與地面站之間的通信。圖3 為UAV集群之間、UAV 與地面站之間進行信息交互的示意圖。為了能夠持續(xù)不斷地進行機間通信,每架UAV之間的距離都不能超過通信設(shè)備的最大通信限制距離。
圖3 信息交互系統(tǒng)示意圖
信息交互系統(tǒng)由地面站、UAV和數(shù)據(jù)傳輸模塊組成。根據(jù)定位系統(tǒng)將自身UAV 位置通過無線傳輸模塊傳給地面站和集群內(nèi)其他UAV,同時根據(jù)多UAV 協(xié)同搜索系統(tǒng)中的通信機制,將各自搜索到的戰(zhàn)場區(qū)域的信息進行融合,并且通過數(shù)據(jù)傳輸模塊將多UAV 對戰(zhàn)場區(qū)域的搜索結(jié)果發(fā)送給地面站進行顯示。
文中系統(tǒng)的硬件平臺采用圖4 所示的四旋翼和六旋翼無人機,同時UAV 機載云臺相機以此獲取高分辨率的圖像,同時利用機載計算平臺搜索到敵方目標(biāo)所在位置的信息,同時將獲取到的數(shù)據(jù)通過數(shù)傳電臺傳回地面,地面需要配備一臺基于Windows操作系統(tǒng)的筆記本用來接收從空中實時傳輸回來的數(shù)據(jù)。表1 為四旋翼和六旋翼硬件參數(shù)。
表1 無人機結(jié)構(gòu)和性能參數(shù)
圖4 M100四旋翼和M600六旋翼
多架UAV 在航飛的過程中通過自身攜帶的GPS測量獲得自身的位置信息,同時與其他UAV 進行機間信息交互共享探測到的區(qū)域內(nèi)的信息[12],因此該導(dǎo)航采取在線處理方式。Manifold 妙算實物圖像如圖5 所示,Manifold 妙算的基本參數(shù)如表2 所示。
圖5 Manifold妙算實物
表2 Manifold妙算結(jié)構(gòu)和性能參數(shù)
在UAV 視覺導(dǎo)航中,獲取畫面清晰、高質(zhì)量、不失真的圖像起著至關(guān)重要的作用。系統(tǒng)通過在UAV上加入Zenmuse X3 云臺相機載荷,來獲取高質(zhì)量、清晰的圖像。這個云臺相機像素為1 240 萬,每秒可全像素拍攝7 張畫面,可以滿足系統(tǒng)視覺導(dǎo)航的設(shè)計需求。Zenmuse X3 云臺相機如圖6 所示,性能參數(shù)如表3 所示。
表3 Zenmuse X3云臺相機結(jié)構(gòu)性能參數(shù)
圖6 Zenmuse X3云臺相機
機器人技術(shù)的迅速發(fā)展使得對機器人模塊代碼復(fù)用率的需求逐漸增強[13],ROS(Robot OperatingSystem)是基于提高模塊化利用率設(shè)計的機器人操作系統(tǒng)。ROS 并不是實際的操作系統(tǒng)[14],ROS 用來為多UAV 協(xié)同搜索系統(tǒng)提供操作系統(tǒng)功能框架和一些需要的工具集[15-16]。系統(tǒng)中,每個任務(wù)是由不同節(jié)點負責(zé)的,節(jié)點與節(jié)點之間通過邏輯通道進行消息的傳遞,從而實現(xiàn)節(jié)點之間的通信。圖8 為多UAV 節(jié)點狀態(tài)示意圖,A和B 為兩個異構(gòu)UAV,UAV內(nèi)部的各個節(jié)點可以通過邏輯通道進行通信,同時無人機A和無人機B 之間也可以通過邏輯通道進行通信。
圖7 多UAV節(jié)點狀態(tài)示意圖
文中在設(shè)計多UAV 協(xié)同搜索系統(tǒng)軟件部分時,將軟件部分分為視覺檢測識別、集群控制、UAV 飛行任務(wù)管理3 個模塊,如圖8 所示。
圖8 系統(tǒng)軟件模塊依賴關(guān)系圖
多UAV 執(zhí)行協(xié)同搜索任務(wù)過程中,首先要設(shè)置多架UAV 在同一時刻起飛,基于鯨魚算法對待搜索區(qū)域執(zhí)行搜索偵查任務(wù),并且將搜索偵查過程中懷疑是目標(biāo)點的位置進行標(biāo)記。集群控制模塊同時將標(biāo)定的信息地圖發(fā)送給智能決策模塊;UAV 對待搜索區(qū)域的遍歷、地面站對數(shù)據(jù)信息的接收和對控制指令的發(fā)送等功能都是由集群控制模塊控制的。UAV 飛行狀態(tài)的更新是由地面站向集群控制模塊發(fā)送信號進行控制的。
The authors are grateful to CINVESTAV del I.P.N. for providing the resources to carry out this work.
3.2.1 視覺檢測識別模塊
視覺檢測模塊總體流程如圖9 所示。
圖9 視覺檢測模塊總體流程
3.2.2 UAV飛行任務(wù)管理模塊
多UAV 協(xié)同搜索系統(tǒng)中需要不同的應(yīng)用程序擁有不同的能力來完成各種任務(wù)。執(zhí)行UAV 飛行任務(wù)管理模塊前,需要得到UAV 開發(fā)者權(quán)限,DJISDK 負責(zé)提供相應(yīng)的函數(shù)接口,地面站調(diào)用的函數(shù)在模塊中進行封裝。當(dāng)獲得控制權(quán)后,UAV 將啟動電機同時進行初始化和通信連接,利用DJI-SDK 接口獲取UAV 飛行參數(shù),完成一系列飛行操作。
UAV 飛行階段的任務(wù)流程管理示意圖如圖10所示。
圖10 飛行任務(wù)管理系統(tǒng)示意圖
飛行任務(wù)管理模塊的功能為獲取各個UAV的信息,例如各UAV的位置信息、速度大小和姿態(tài)角等;建立全局信息目標(biāo)概率地圖,為了發(fā)送UAV 信息同時接收控制指令還需要與地面站建立通信連接;規(guī)劃任務(wù)流程,進行航跡規(guī)劃覆蓋搜索區(qū)域。
3.2.3 集群控制模塊
集群控制模塊中訂閱與發(fā)布的關(guān)系如下:協(xié)同控制節(jié)點發(fā)布期望速度信息與本機實際速度和位置信息,訂閱其他UAV 信息和實際自身信息,該節(jié)點功能是運行協(xié)同控制算法。通信節(jié)點訂閱所有UAV信息、任務(wù)信息、路徑信息和本機速度與位置,發(fā)布所有UAV 信息并且發(fā)布路徑規(guī)劃初始參數(shù)。飛行控制節(jié)點主要進行飛控程序的運行,訂閱期望UAV速度信息,發(fā)布實際自身位置、速度等信息。任務(wù)分配節(jié)點主要運行任務(wù)程序,訂閱所有UAV 信息,發(fā)布需要執(zhí)行的任務(wù)信息。航跡規(guī)劃節(jié)點主要運行航跡規(guī)劃算法程序,發(fā)布路徑信息。
在UAV 系統(tǒng)中,UAV 與地面軟件系統(tǒng)之間需要進行頻繁的數(shù)據(jù)交換和信息交流。地面軟件系統(tǒng)可以通過數(shù)傳電臺與無人機進行通信,實時在線獲得UAV 位置和性能數(shù)據(jù)。地面站系統(tǒng)會根據(jù)UAV 在執(zhí)行任務(wù)的過程中通過GPS 所獲取自身的航跡進行展示,并且地面站可以設(shè)置每架UAV 飛行的航跡點等。在地面站上設(shè)置搜索區(qū)域,控制UAV 完成搜索任務(wù)。
首先,確認UAV 是否能正常飛行;然后,在UAV上安裝機翼和通信模塊;最后,啟動地面站。使用數(shù)傳或者數(shù)據(jù)線連接飛控,點擊設(shè)置航線,增加航點和起飛降落點,最后上傳航線規(guī)劃,然后點擊一鍵起飛,UAV 將按照設(shè)置的航線進行區(qū)域內(nèi)的目標(biāo)搜索,然后將規(guī)劃的UAV 飛行航跡通過界面顯示出來。
文中首先根據(jù)實際戰(zhàn)場情況,模擬搭建了飛行場景,并且按照實際系統(tǒng)需求搭建了硬件平臺;然后提出了多架UAV 協(xié)同合作對某一任務(wù)區(qū)域執(zhí)行搜索任務(wù)的操作系統(tǒng),并對系統(tǒng)結(jié)構(gòu)進行了搭建與分析;最后設(shè)計了一個用于進行UAV 調(diào)試的地面站軟件。文中在搭建硬件平臺的同時,描述了相關(guān)模塊的設(shè)計與選型。提出的多UAV 協(xié)同區(qū)域搜索系統(tǒng)是基于機器人操作系統(tǒng)設(shè)計的,同時又將該系統(tǒng)詳細的劃分為視覺檢測識別、集群控制、UAV 飛行任務(wù)管理三大模塊。最后設(shè)計的地面站軟件用來進行UAV 飛行數(shù)據(jù)的處理、設(shè)置指令對飛行任務(wù)進行命令控制,并且顯示UAV的飛行航跡。