馮李民
(中國人民解放軍92493部隊, 遼寧 葫蘆島 125000)
無人機是一種裝載有動力裝置的無人駕駛飛行器,有著廣泛的應用,可用于航拍、交通巡邏、架空線纜巡檢、危險區域巡查和救災等[1]。
隨著無人機成本逐漸降低、智能化程度日漸提升,其在民用領域也得到了快速普及。諸如大疆創新、派諾特、AscTec、3DRobotics、極飛等無人機公司生產了多種型號的無人機,降低了無人機的使用門限,對無人機的民用發展形成了強大的推動作用。目前在航拍記錄、偵查搜救等方面,無人機已成為較為可靠、有效的任務執行者[2]。當然,無人機也存在一些缺點,例如,無人機飛行過程中需要在回路中進人工控制,對于環境的先驗要求較高,導致在陌生環境下飛行將帶有遭遇風險的可能。為了規避這些風險,需要設計研發無人機飛行控制的無人化。
本文基于無人機的二次開發平臺進行無人機的程序控制和試驗飛行航跡規劃方法的研究,并選取了大疆M100無人機為例驗證仿真無人機飛行航跡規劃控制方法,實現無人機的無人化效果。
無人機可以分為固定翼、傘翼、旋翼等不同種類[3]。其中,旋翼無人機廂體積更小,結構更簡單,能以各種姿態飛行,近年來受到廣泛關注[4]。
考慮到相對于固定翼無人機,旋翼無人機飛行姿態更加多樣化,而且成本更低。同時能滿足如測繪、航拍、搜查等多種民用需求,并且從開發角度來講,旋翼無人機的二次開發平臺更為成熟。因此,本次研究選擇具有二次開發潛力的旋翼無人機來作為目標對象。
本文研究選定的是Windows環境下的Qt Creator軟件。Qt Creator是一款包括項目生成向導、高級的 C++代碼編輯器、瀏覽文件類的IDE(Integrated Development Environment),并且還作為一種跨平臺 C++圖形用戶界面庫,使其在軟件設計領域獲得了持續增長的研發使用。
分析可知, Qt Creator還獨具一些性能優勢,具體如下:
(1)構件支持功能,方便選擇使用。
(2)高性能的工具。
(3)優越的UI設計功能。
綜上分析后,則可根據無人機提供的SDK進行了二次開發。所謂二次開發,簡單地說就是在現有軟件或硬件的基礎上進行定制修改、功能擴展,從而得到設計需要的功能。
在坐標系中,為確定空間一點的位置,按規定方法選取一組有序數據,就叫坐標。為描述無人機飛行中的快慢、方向等,必須選取其坐標系。
飛機運動的描述取決于構成坐標系的坐標軸的位置和方向。無人機使用的坐標系不論是對于飛機機身(機身框架)、還是對于地面(世界框架)而言都是相對的。
東北地坐標系將正X、Y和Z軸與北、東和向下的方向對齊,即NED(north east down) 坐標系,如圖1所示。在這個坐標系中,X和Y與右手規則和正常的導航航向角度一致。0°的航向角將朝向正北方向,+90°的航向角則指向正東方向。NED 坐標系的原點就是起飛位置。
但是在世界坐標系做出如上設定后會使得Z軸正方向指向下方。為了解決這個問題,改變垂直控制的方向,即使高度或垂直速度向上為正。換句話說,給出一個正的速度會使無人機上升而非下降。這種調整并不影響其它兩軸的方向和順序。
如圖2所示,在無人機機體坐標系中,正X、Y和Z在飛機的機體坐標系中將分別定義為前、右和下。飛機旋轉也用這些相同的軸使用坐標右手規則來定義描述,以指明正旋轉的方向。如果飛機圍繞俯仰軸(Y軸)旋轉,則將在X軸方向上移動。此外,如果俯仰角為正,方向將向后,或在負X軸。

圖1 NED 坐標系示意圖Fig. 1 North East Down coordinate system

圖 2 無人機機體坐標系示意圖Fig. 2 Body coordinate system of UAV
對于旋翼無人機而言,其飛行姿態較為靈活,因此單獨的東北地坐標系和機體坐標系均不能完整地描述飛行器的位置與姿態,因此需要將兩者做到有效融合。
首先,對于無人機的位置而言。仍應遵循NED系的原則,即以起飛位置為原點,X軸指向正北方向,Y軸指向正東方向,Z軸垂直向上為正方向。
其次,對于飛行器在各個方向上輸出的速度以及加速度,應當引入機體坐標系中的偏航角(Yaw角)來進行描述,以無人機的質心為原點,飛機機頭正方向(即沿著偏航角的方向)為VX正方向,垂直向上的方向為VZ軸正方向,VY方向遵守右手定則。加速度AX、AY、AZ方向與之一致,不再贅述。
為求得無人機速度與位置之間的關系,假設某無人機由原點出發,偏航角Yaw為定值θ,運動時間為T,VX、VY、VZ分別為V1、V2、V3則時間T后該無人機的位置坐標X、Y、Z可用下述關系式(1)~(3)給出描述:

(1)

(2)

(3)
而在實際應用時,因為偏航角Yaw也可能發生變化,因此可以將時間T劃分成若干時段,每一時段的Yaw均為一定值,可計算出各個時段空間坐標X、Y、Z的位移量,將其累加即可得到最終的空間坐標。
對于無人機二次開發進行航跡控制,實際上就是通過無人機的SDK編寫程序發送CMD數據包來控制飛機的動作。
無人機SDK 庫中定制的各種API,為通過開放式協議創建的所有功能提供了接口。Onboard API 的設計主旨是用于執行動作的命令(CMD)和確認通信(ACK)。首先向飛行控制器發送 CMD 數據包,其中包含有關其請求操作的內容信息。飛行控制器則用確認或拒絕 CMD 的 ACK 包進行回復。因此,SDK 端代碼必須實現將 ACK 信息或 CMD 發送功能的一些機制反饋到用戶,以便用戶可以根據 ACK 響應采取進一步行動。
對于無人機的二次開發而言,調用API對飛行器進行飛行控制的流程示意如圖 3 所示,從API層經過協議層、驅動層,并最終實現硬件層的控制,如控制無人機執行某些動作。

圖3 無人機 API的調用流程Fig. 3 Process of API call of UAV
API的核心是用于執行動作的命令(CMD)和確認通信(ACK)。CMD 即命令提示符,是在操作系統中,操作提示命令輸入的一種工作提示符。在不同的操作系統環境下,命令提示符各不相同。ACK (Acknowledgement)即確認字符是在數據通信中,接收站發給發送站的一種傳輸類控制字符,表示發來的數據已確認接收無誤。
飛機自身的各項參數如高度、旋翼狀態等信息傳回地面PC 端。程序可以通過PC端向無人機發送先期預設的指令,對無人機的運動進行控制。包括X、Y、Z方向的運動與偏航角yaw的設定。并可執行一些如一鍵起飛、一鍵降落、一鍵返航命令,軟件可實現功能則見表1。

表1 軟件可實現功能Tab. 1 Software features
本文驗證所使用的DJI M100型無人機是一款四旋翼無人機,全面支持SDK功能,并提供多種類型接口,可以加裝各種傳感器,對飛行器進行控制與監控。該型號無人機部分外形參數,見表2。

表2 大疆 M100部分外形參數Tab. 2 Part of shape parameters of M100
該程序的航跡規劃功能實現原理是通過位置控制來對無人機在局部空間的運動進行規劃,執行復雜的軌跡。該功能基于 SDK 提供的運動控制功能,并添加了一個后退設定值算法來保持穩定速度。
根據研究預設的參數,無人機將自動起飛繪制一邊長為 10 m的正方形,然后繪制兩個對角線,最終降落。無人機飛行軌跡如圖4所示。
對于軟件航跡規劃功能的仿真驗證,將使用大疆提供的DJI assistant2調參軟件。該軟件的仿真模擬功能界面則如圖5所示。

圖4 模擬器中無人機飛行軌跡Fig. 4 UAV flight path in simulator

圖5 DJI assistant2調參軟件Fig. 5 DJI assistant2 software
該軟件可以對飛行中無人機的飛行參數進行實時調取。參數生成效果界面如圖6所示。

圖6 仿真軟件獲取無人機飛行參數Fig. 6 Flight parameters in simulator software
將飛行軌跡各個節點位置及偏航狀態記錄見表3,可以發現模擬結果與預設航跡基本吻合。分析可知,航跡誤差主要來自模擬的GPS誤差。

表3 飛行中各節點位置及偏航角Tab. 3 Position and yaw of the UAV in flight
隨著無人機技術的發展,無人機的二次開發,將具有更為深遠的意義。本文首先定義無人機坐標系以及調用API參數的方法,并以M100型無人機的二次開發平臺為例,初步驗證了無人機的飛行試驗航跡規劃的功能方法,取得了一定成果,初步實現了無人機飛行真正的無人化效果,對于解決無人機在缺乏先驗信息的陌生環境下執行飛行試驗時可能遭遇的風險問題提供了有益的借鑒價值。
[1] PARK S, WON D H, KANG M S, et al. RIC based flight control of a quad-rotor type UAV[C]//IEEE International Conference on Intelligent Robots and Systems. Edmonton, Alta. Canada: IEEE, 2005: 3542-3547.
[2] 高鵬騏,晏磊,趙紅穎,等.無人機遙感控制平臺的設計與實現[C]//第十五屆全國遙感技術學術交流會. 貴陽:中國科學院遙感應用研究所,2005:43.
[3] PEDRO C, ROGELIO L, ALEJANDRO D E. Modeling and control of mini-flying machines[M]. NewYork : Springer-Verlag Inc, 2005.
[4] GORDON L. The Breguet-Richet quad-rotor helicopter of 1907[J]. AHS International Directory, 2001:1-4.