郭嘉辰,朱文秀,白朋飛,王天淼,吳小鳳,寧江峰
(1. 吉林化工學院 信息與控制工程學院,吉林 吉林 132022;2.東北電力大學 自動化工程學院,吉林 吉林 132011)
近年來,隨著計算機技術的飛速發展,旋翼無人機行業也獲得了飛速的發展,逐漸應用在多個行業之中,如航拍、農業植保、電力巡檢、影視拍攝、災后搜救等[1-2]。旋翼無人機可以輕松的做到一些人們不容易做到的事情,合理地運用旋翼無人機可以提高勞動生產率,降低人們的勞動強度。隨著旋翼無人機應用領域的增加,旋翼無人機自主降落精度較低的問題也逐漸暴露出來[3]。在經典的無人機控制系統中,降落時是以GPS 為基礎對無人機的位置進行定位,但由于GPS 信號會受到自身精度以及信號強度的影響,系統降落時只能降落到以標定點為圓心,半徑為一米左右的圓內,在很多場景中這些偏差都無法忽視,甚至會成為無人機降落的重大隱患。提高旋翼無人機自主降落的降落精度可以保障旋翼無人機的安全回收和循環作業,同時也讓旋翼無人機在降落環境嚴苛的場合中可以得以應用[4]。
主要研究了四旋翼無人機自主降落的問題。針對以上問題,設計了一種以STM32 單片機和樹莓派為核心的四旋翼無人機自主降落系統。全文主要包括四旋翼無人機結構及原理、系統硬件設計和系統軟件設計3 部分。
四旋翼無人機一般有十字型和X 字型2 種結構[5]。其中,十字型無人機的機頭方向與無人機某條機臂的方向相同,X 型無人機的機頭方向朝向兩條機臂的中線方向相同[6]。本設計將以X 型無人機為實驗平臺進行測試實驗。
X 型無人機結構示意圖見圖1,采用正反轉電機以及正反槳葉的設計來解決四旋翼無人機的陀螺效應。不同對角線上的電機旋轉方向相反,且按照電機旋轉方向,槳葉分為正反槳[7]。其中電機0、2 為順時針旋轉,槳葉為正槳,電機1、3 為逆時針旋轉,槳葉為反槳。以此保證四旋翼無人機可以平穩飛行。

圖1 四旋翼結構示意圖
四旋翼無人機的基本運動方式可分為俯仰、翻滾、偏航、垂直、橫向5 種[8],通過控制4 個電機的轉速,可以對四旋翼無人機的姿態和運動軌跡進行控制。
1.2.1 俯仰運動
提高(降低)電機0、3 的轉速,同時降低(提高)電機1、2 的轉速,可以改變無人機的俯仰姿態。
1.2.2 翻滾運動提高(降低)電機0、1 的轉速,同時降低(提高)電機2、3 的轉速,可以改變無人機的翻滾姿態。
1.2.3 偏航運動
提高(降低)電機0、2 的轉速,同時降低(提高)電機1、3 的轉速,可順時針(逆時針)調整四旋翼無人機的偏航姿態。
1.2.4 垂直運動
四旋翼無人機的上升或者下降運動取決于4 個槳的升力和與機身重力的關系。因此,同時增大或減小四個電機的轉速,可以讓無人機進行垂直運動。
1.2.5 橫向運動
四旋翼無人機的橫向運動是通過對姿態的改變來實現的。因此,通過控制無人機的姿態角角度可實現橫向運動。
本系統采用STM32 處理器和樹莓派作為系統整體的控制核心,機載攝像頭與樹莓派相連接,激光傳感器和姿態傳感器與STM32 相連接,STM32 發出的控制信號通過控制電路對電機轉速進行調節。控制系統結構見圖2。

圖2 控制系統結構
系統通過姿態傳感器、激光傳感器和機載攝像頭測出系統的姿態、高度和位置,并將數據傳入STM32中,控制器根據測量的數據和期望的姿態、位置數值計算出電機的控制信號,并根據控制信號,調節四個電機的轉速,從而調整系統姿態、位置的目的。此外,通過樹莓派向STM32 發送控制命令可以控制系統的啟動停止,并且可以將系統的數據可視化。
系統的核心控制器是由STM32 單片機、樹莓派和控制底板組成,控制底板將單片機和樹莓派連接起來,并提供所需要的I/O 引腳。核心控制器部分見圖3。

圖3 核心控制器
JY901 是一個姿態傾角傳感器模塊,可以實時測量芯片的狀態。模塊將測量好的姿態角提供給單片機,單片機根據所測量的實際角度改變系統四個旋翼的轉速,從而使系統穩定。
采用TFmini 激光傳感器測量四旋翼系統的實際高度。系統接收到激光傳感器測量的實際高度后會將實際高度與系統設定的期望高度相比較,再根據二者的差值來改變電機轉速,達到調整系統高度的目的。
系統采用IMX415 機載攝像頭尋找目標標志,根據目標標志在攝像頭視野中的位置確定系統與目標標志的相對偏差,系統根據所測量到的偏差值實時調整機身的位置,達到提高降落精度的目的。
系統軟件程序部分主要包括系統飛行控制、自主降落策略和人機交互3 部分。下面對這3 部分進行詳細介紹。
四旋翼無人機在正常飛行時,需要時刻調整系統的姿態角(即俯仰角、翻滾角和偏航角)、系統高度和系統水平位置[9-10]。首先需要時刻保證系統的姿態角平穩,在姿態角穩定的前提下對系統的高度進行調整,使系統穩定在期望高度,待高度穩定后,再對系統的橫向位置進行控制,讓系統可以在期望高度進行橫向移動。飛行控制流程見圖4。

圖4 飛行控制流程
系統的降落需要使用機載攝像頭對目標標志進行捕捉,捕捉到目標標志之后計算系統與目標標志的相對偏差,同時調整系統自身位置,當系統調整到與目標標志的偏差值在允許范圍之內時進行降落并實時判斷是否需要調整機身位置。機載攝像頭識別目標標志見圖5。

圖5 機載攝像頭識別目標標志
無人機在到達指定降落地點時會巡航飛行并開始捕捉目標標志,捕捉到目標后會調整無人機位置并進行降落,在降落過程中實時對集體位置進行調整,在降落到指定高度后結束飛行。系統自主降落流程見圖6。

圖6 系統自主降落流程
系統中的人機交互部分以樹莓派為核心,使用Qt軟件編寫操作界面,在操作界面上實現手動啟停、數據監測、數據記錄和參數調整的功能,方便操作人員把握系統的實時狀態。
在四旋翼無人機逐步應用于各個領域的大環境下,需要更精準、可靠的自主降落系統,以便提高四旋翼無人機在使用時的可靠性和安全性。本設計以STM32 單片機和樹莓派為核心,提出了一種自主降落系統。通過樹莓派與地面站可以實現遠程控制。系統中STM32 單片機留有預留接口,方便后續增加額外功能。該系統性能穩定、成本較低、操作簡便,可以有效的增加四旋翼無人機的使用效率,有重要的經濟意義和現實意義。