高宇航,向政蓉,黃慶南,吳和龍,吳其琦
(1.廣西科技大學 自動化學院,廣西 柳州 545006;2.廣西科技師范學院 機電學院,廣西 來賓 546199;3.工信部電子第五研究所,廣東 廣州 511370)
無人機結合物聯網的應用越來越廣泛,例如利用無人機完成測量環境參數、搬運貨物等任務[1-2]。由于影響飛行的不確定因素越來越多,因此對飛行控制系統(以下簡稱飛控)的設計與開發提出了更高的要求。Pixhawk 是一款開源、可二次開發的飛控,支持多旋翼、固定翼等類型的無人機,在工業、農業、民用等領域得到了廣泛使用[3]。因此,針對Pixhawk 飛控設計飛行仿真系統用于驗證無人機的新航線、新功能或新算法,都具有積極的現實意義[4-5]。對于飛控的設計,驗證其正確性和穩定性尤為重要。如果使用全軟件仿真對飛控系統進行驗證,由于仿真環境理想化,因此無法反映無人機飛行時的真實情況;如果使用真實無人機測試,由于設計的飛控系統存在不確定性,可能會出現墜機危險,試驗風險大;而硬件在環仿真具有較真實的仿真效果,也不存在測試風險,因此是一種較好的仿真方式。
目前,國內外已經有多所科研單位以及高校對飛控硬件在環仿真系統進行研究。呂永璽等人結合無人機數學模型和xPC 實時系統設計了無人機飛控半實物仿真系統[6];李瑞等人采用上位機、仿真計算機、飛控三部分相結合的方式設計了基于VxWorks 的四旋翼半實物仿真平臺[7];Yaqub 等人通過飛控硬件控制無人機模型,實現了在環仿真系統,并使用FlightGear 顯示仿真飛行畫面[8]。目前,大多數無人機仿真系統使用專用飛控,缺乏通用性,難以推廣。此外,在仿真完成后,缺少實際飛行測試功能用以驗證仿真效果。
因此,針對上述仿真系統的不足,設計了基于物聯網的無人機仿真與測試系統。系統基于Pixhawk 開源飛控,能夠為使用Pixhawk 飛控的無人機進行硬件在環仿真,具有良好的通用性;測試系統裝備了物聯網通信設備,能夠實現單機或多機的遠程測試;系統使用服務器存儲數據,便于測試數據的采集、分析與管理。
無人機仿真與測試系統結構如圖1 所示。系統由無人機、云服務器、仿真計算機和飛行地面站組成,具備硬件在環仿真與實際飛行測試功能。在室內仿真時,無人機與飛行地面站通過WiFi 連接云服務器,實現無人機與地面站的連接。飛控與仿真計算機連接后進行硬件在環仿真,使用飛控駕駛仿真計算機的無人機模型在虛擬環境中飛行,并將飛行數據發送至云服務器。在進行室外飛行測試時,飛控駕駛真實無人機飛行,無人機和地面站通過5G 網絡與云服務器連接,使得無人機具備遠程通信能力,地面站能夠控制單機或多機同時飛行。在無人機飛行過程中把飛行數據通過物聯網設備發送到云服務器中,并存儲在云服務器。當無人機飛行測試完畢后,從云服務器獲取飛行數據進行分析。

圖1 無人機仿真與測試系統結構
為了使無人機具備物聯網接入功能,在Pixhawk 飛控上進行硬件二次開發,在原硬件的基礎上加入了5G 與WiFi 模塊。當無人機在室外進行真實飛行測試時,使用5G 網絡實現長距離數據傳輸;當在室內仿真時,使用WiFi 傳輸數據,以減少流量的消耗。系統硬件結構如圖2 所示。

圖2 Pixhawk 飛控硬件結構
Pixhawk 飛控采用帶有FMU 的32 位STM32F427 芯片作為主處理器[9],采用STM32F103 芯片作為協處理器,并采用雙加速度計和雙陀螺儀結構,保證無人機飛行的穩定性[10-11]。主處理器與協處理器間通過DMA 交互,如果在無人機飛行時主處理器發生錯誤,無法對動力系統進行控制,此時協處理器獲得電機的控制權,控制電機在安全模式下繼續運行,直到檢測到主處理器能夠正常控制電機為止。因此,采用主協雙處理器結構能夠提高系統的穩定性和安全性。姿態控制模塊通過加速度計、陀螺儀、磁力計對無人機的姿態進行感知和測量,位置控制模塊通過GPS 和氣壓計對無人機當前所處的位置及高度進行測量。
對飛控硬件二次開發的重點是加入物聯網通信模塊,其中,5G 模塊選用的是移遠RG200U 模組,該模組支持國內四大運營商,內置豐富的網絡協議,集成了多個工業接口,支持多種驅動和軟件,適用于大多數物聯網設備;WiFi 模塊選用ESP8266 芯片,該芯片具有超低功耗,并且性能穩定,有多種工作模式和外設功能,可滿足室內仿真時數據傳輸的要求[12]。為了把通信模塊封裝在飛控內,重新設計了飛控電路板與外殼,如圖3 所示。新設計采用微型鍍金航空插頭引出所有信號線,提高了連接的可靠性;為傳感器模塊構建避震結構以提高飛行穩定性;使用鋁合金外殼以提高抗電磁干擾能力。

圖3 具有物聯功能的Pixhawk 飛控
硬件在環仿真系統設計方案如圖4 所示。仿真系統主要由Pixhawk 飛控和仿真計算機組成。飛控作為硬件部分接入仿真系統,仿真計算機運行無人機仿真模型與虛擬飛行場景,通俗地說,硬件在環仿真就是使用飛控駕駛計算機中的無人機模型在虛擬場景中飛行。無人機仿真模型輸出位置與姿態數據(簡稱位姿數據)送至飛控的內核,運算后得到轉速數據,內核再把轉速數據送至計算機,控制仿真模型,形成硬件在環的閉環控制。

圖4 硬件在環仿真系統設計方案
仿真計算機運行MATLAB 軟件,在SimuLink 環境中運行無人機模型,同時嵌入運行視景窗口軟件[13]。無人機仿真模型的結構如圖5 所示,包括動力單元模型、控制效率模型和無人機剛體模型。模型的輸入信號為四軸電機的轉速數據,輸出為模型的位姿數據[14]。視景窗口選用FlightGear 開源飛行模擬軟件,使用位姿數據顯示仿真過程中無人機模型的飛行畫面。使用Mission planner 地面站軟件實現無人機的飛行控制、參數設定與狀態監控等功能[15]。

圖5 無人機仿真模型
為了使Pixhawk 飛控具備硬件在環仿真功能,在原生軟件的基礎上,設計了仿真接口程序。接口程序從飛控串口接收仿真計算機的位姿數據,再傳遞到飛控內核參與運算;同時,從飛控內核取出電機的轉速數據,通過串口發送至仿真計算機。當進行硬件在環仿真時,通過參數設定切換器使用外部位姿數據,飛控根據位姿數據計算電機轉速,在無人機模型與飛控間形成閉環的飛行控制。當進行實飛測試時,設定切換器使用傳感器解算得到的位姿數據,在飛控與無人機間形成閉環控制環路,控制真實無人機在真實環境下飛行。
飛控測試系統在四旋翼無人機上搭建,硬件主要包括四軸機架、電機、電調、遙控器等固有設備,以及經過二次開發后包含了5G 模塊與WiFi 模塊的Pixhawk 飛控。在軟件設計方面,主要是在Pixhawk 原生軟件中加入相關通信功能,實現飛控通信功能的軟件結構如圖6 所示。主要包括飛控內核、MAVLink 通信協議以及自主設計的5G 驅動和WiFi 驅動。在傳輸數據時,飛控內核使用MAVLink 協議把無人機的位置數據、姿態數據、心跳數據等關鍵數據封裝成為MAVLink數據包,再通過5G 或WiFi 驅動傳輸到相應的通信模塊。當通信模塊收到地面站發送的控制指令時,利用MAVLink 協議解析數據包,讀出相應指令后傳輸至飛控內核,實現對無人機的遠程控制。

圖6 飛控通信功能結構
MAVLink 通信協議是一個專門為微型飛行器設計的只由頭文件構成的信息編組庫,用于無人機與地面站之間的雙向通信,該通信協議具有高效、穩定、多機通信等特點[16]。在通信過程中,TCP/IP 協議把MAVLink 數據包傳輸至服務器,MAVLink 數據包成為TCP/IP 協議的載荷。TCP/IP 與MAVLink 的關系如圖7 所示。

圖7 TCP/IP 與MAVLink 的關系
服務器的功能是存儲測試數據以及轉發飛控與地面站之間的通信數據,成為兩者之間數據傳輸的橋梁。服務器軟件的邏輯功能結構如圖8 所示。服務器主要由MAVLink 解析與封裝模塊、數據存儲模塊、轉發模塊組成。當地面站發送指令時,服務器先解析MAVLink,獲取目標無人機編號后再把數據包發送至相應的無人機,實現指令的轉發。當飛控向服務器發送數據時,服務器先解析MAVLink,如果是數據包則送到數據存儲模塊存儲,如果是心跳包則發送給地面站。

圖8 服務器軟件功能結構
無人機仿真與測試系統實物如圖9 所示,包括四旋翼無人機、仿真計算機與地面站。無人機的飛控經過二次開發后具備了仿真與通信功能。飛控與仿真計算機相連進行硬件在環仿真,在圖中四旋翼無人機的基礎上構建無人機的仿真模型。無人機與地面站同時連接云服務器,實現無人機與地面站的互連。在進行硬件在環仿真時,首先借助參數指定飛控使用無人機仿真模型的位姿數據;然后運行SimuLink 中的無人機模型,與飛控進行位姿數據與轉速數據的交互通信;通過FlightGear 視景窗口顯示無人機的3D 飛行畫面,并使用Mission Planner 地面站對飛行數據進行觀測和分析,仿真飛行界面如圖10 所示。硬件在環仿真完成后,修改參數,指定飛控使用真實無人機的位姿數據,然后進行室外實際飛行測試。無論是仿真或實飛測試,飛行數據都保存在云服務器中,供后期分析使用。

圖9 硬件在環飛行仿真系統實物

圖10 無人機仿真飛行界面
為驗證仿真效果的真實度,使用相同航線進行仿真飛行與真機飛行。飛行航線如圖11 所示,航線中共設有7 個航點,無人機從初始位置航點H 起飛,高度設定為20 m,飛到2 號航點(2 號航點與6 號航點重合),按照航點順序繞航線飛行,直到飛到6 號航點,無人機自動返回初始航點,至此完成一次飛行,航時約160 s。

圖11 無人機飛行航線
完成仿真與測試后,從服務器獲取仿真飛行與真機飛行的數據進行分析。圖12 是無人機橫滾角、俯仰角和偏航角的數據曲線。數據曲線顯示,整個飛行過程中各種角度的曲線在兩種飛行模式下變化趨勢一致,沒有出現發散或者振蕩等異常情況;在局部放大圖中,兩種飛行模式的曲線在相互交織與小幅波動中隨時間軸延伸,表明數據差異小,一致性好。然后再綜合分析位置數據、速度數據與轉速數據等,表明仿真的真實度較高。

圖12 無人機姿態角曲線
為降低真機飛行時受風力、風向與氣壓等環境因素帶來的隨機性,讓多機同時飛行采集多份數據,經過多數據融合后能更好分析仿真的真實度。多機飛行測試時仍然使用圖10的航線,但在水平位置上錯開以避免撞機。圖13 為仿真模型與三架無人機的飛行高度,數據顯示,四條曲線一致性較好。在無人機上升至20 m 的飛行高度后,三機的飛行曲線在仿真曲線上下小幅波動,表明仿真曲線與實飛曲線較接近。各條曲線未出現斷續等異常情況,驗證了系統物聯網通信功能的準確性。

圖13 無人機飛行高度
本文首次提出并實現了在Pixhawk 開源飛控上增加硬件在環仿真功能,從而為大量使用Pixhawk 飛控的無人機進行仿真,具有較好通用性與實用價值。在Pixhawk 飛控上增加了物聯網通信功能,成功把仿真功能與測試功能相結合,為仿真結果的驗證與測試工作帶來很大便利。目前,仿真與測試系統僅是一個雛形,系統仍然依賴MATLAB、FlightGear與Mission Planner 等軟件,若能把相關功能整合在一個軟件中,則功能將更強大,操作更便利,更易于推廣應用。
注:本文通訊作者為向政蓉。