郭嘉辰,朱文秀,白朋飛,王天淼,吳小鳳,寧江峰
(1. 吉林化工學(xué)院 信息與控制工程學(xué)院,吉林 吉林 132022;2.東北電力大學(xué) 自動(dòng)化工程學(xué)院,吉林 吉林 132011)
近年來,隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,旋翼無人機(jī)行業(yè)也獲得了飛速的發(fā)展,逐漸應(yīng)用在多個(gè)行業(yè)之中,如航拍、農(nóng)業(yè)植保、電力巡檢、影視拍攝、災(zāi)后搜救等[1-2]。旋翼無人機(jī)可以輕松的做到一些人們不容易做到的事情,合理地運(yùn)用旋翼無人機(jī)可以提高勞動(dòng)生產(chǎn)率,降低人們的勞動(dòng)強(qiáng)度。隨著旋翼無人機(jī)應(yīng)用領(lǐng)域的增加,旋翼無人機(jī)自主降落精度較低的問題也逐漸暴露出來[3]。在經(jīng)典的無人機(jī)控制系統(tǒng)中,降落時(shí)是以GPS 為基礎(chǔ)對無人機(jī)的位置進(jìn)行定位,但由于GPS 信號會(huì)受到自身精度以及信號強(qiáng)度的影響,系統(tǒng)降落時(shí)只能降落到以標(biāo)定點(diǎn)為圓心,半徑為一米左右的圓內(nèi),在很多場景中這些偏差都無法忽視,甚至?xí)蔀闊o人機(jī)降落的重大隱患。提高旋翼無人機(jī)自主降落的降落精度可以保障旋翼無人機(jī)的安全回收和循環(huán)作業(yè),同時(shí)也讓旋翼無人機(jī)在降落環(huán)境嚴(yán)苛的場合中可以得以應(yīng)用[4]。
主要研究了四旋翼無人機(jī)自主降落的問題。針對以上問題,設(shè)計(jì)了一種以STM32 單片機(jī)和樹莓派為核心的四旋翼無人機(jī)自主降落系統(tǒng)。全文主要包括四旋翼無人機(jī)結(jié)構(gòu)及原理、系統(tǒng)硬件設(shè)計(jì)和系統(tǒng)軟件設(shè)計(jì)3 部分。
四旋翼無人機(jī)一般有十字型和X 字型2 種結(jié)構(gòu)[5]。其中,十字型無人機(jī)的機(jī)頭方向與無人機(jī)某條機(jī)臂的方向相同,X 型無人機(jī)的機(jī)頭方向朝向兩條機(jī)臂的中線方向相同[6]。本設(shè)計(jì)將以X 型無人機(jī)為實(shí)驗(yàn)平臺(tái)進(jìn)行測試實(shí)驗(yàn)。
X 型無人機(jī)結(jié)構(gòu)示意圖見圖1,采用正反轉(zhuǎn)電機(jī)以及正反槳葉的設(shè)計(jì)來解決四旋翼無人機(jī)的陀螺效應(yīng)。不同對角線上的電機(jī)旋轉(zhuǎn)方向相反,且按照電機(jī)旋轉(zhuǎn)方向,槳葉分為正反槳[7]。其中電機(jī)0、2 為順時(shí)針旋轉(zhuǎn),槳葉為正槳,電機(jī)1、3 為逆時(shí)針旋轉(zhuǎn),槳葉為反槳。以此保證四旋翼無人機(jī)可以平穩(wěn)飛行。
圖1 四旋翼結(jié)構(gòu)示意圖
四旋翼無人機(jī)的基本運(yùn)動(dòng)方式可分為俯仰、翻滾、偏航、垂直、橫向5 種[8],通過控制4 個(gè)電機(jī)的轉(zhuǎn)速,可以對四旋翼無人機(jī)的姿態(tài)和運(yùn)動(dòng)軌跡進(jìn)行控制。
1.2.1 俯仰運(yùn)動(dòng)
提高(降低)電機(jī)0、3 的轉(zhuǎn)速,同時(shí)降低(提高)電機(jī)1、2 的轉(zhuǎn)速,可以改變無人機(jī)的俯仰姿態(tài)。
1.2.2 翻滾運(yùn)動(dòng)提高(降低)電機(jī)0、1 的轉(zhuǎn)速,同時(shí)降低(提高)電機(jī)2、3 的轉(zhuǎn)速,可以改變無人機(jī)的翻滾姿態(tài)。
1.2.3 偏航運(yùn)動(dòng)
提高(降低)電機(jī)0、2 的轉(zhuǎn)速,同時(shí)降低(提高)電機(jī)1、3 的轉(zhuǎn)速,可順時(shí)針(逆時(shí)針)調(diào)整四旋翼無人機(jī)的偏航姿態(tài)。
1.2.4 垂直運(yùn)動(dòng)
四旋翼無人機(jī)的上升或者下降運(yùn)動(dòng)取決于4 個(gè)槳的升力和與機(jī)身重力的關(guān)系。因此,同時(shí)增大或減小四個(gè)電機(jī)的轉(zhuǎn)速,可以讓無人機(jī)進(jìn)行垂直運(yùn)動(dòng)。
1.2.5 橫向運(yùn)動(dòng)
四旋翼無人機(jī)的橫向運(yùn)動(dòng)是通過對姿態(tài)的改變來實(shí)現(xiàn)的。因此,通過控制無人機(jī)的姿態(tài)角角度可實(shí)現(xiàn)橫向運(yùn)動(dòng)。
本系統(tǒng)采用STM32 處理器和樹莓派作為系統(tǒng)整體的控制核心,機(jī)載攝像頭與樹莓派相連接,激光傳感器和姿態(tài)傳感器與STM32 相連接,STM32 發(fā)出的控制信號通過控制電路對電機(jī)轉(zhuǎn)速進(jìn)行調(diào)節(jié)??刂葡到y(tǒng)結(jié)構(gòu)見圖2。
圖2 控制系統(tǒng)結(jié)構(gòu)
系統(tǒng)通過姿態(tài)傳感器、激光傳感器和機(jī)載攝像頭測出系統(tǒng)的姿態(tài)、高度和位置,并將數(shù)據(jù)傳入STM32中,控制器根據(jù)測量的數(shù)據(jù)和期望的姿態(tài)、位置數(shù)值計(jì)算出電機(jī)的控制信號,并根據(jù)控制信號,調(diào)節(jié)四個(gè)電機(jī)的轉(zhuǎn)速,從而調(diào)整系統(tǒng)姿態(tài)、位置的目的。此外,通過樹莓派向STM32 發(fā)送控制命令可以控制系統(tǒng)的啟動(dòng)停止,并且可以將系統(tǒng)的數(shù)據(jù)可視化。
系統(tǒng)的核心控制器是由STM32 單片機(jī)、樹莓派和控制底板組成,控制底板將單片機(jī)和樹莓派連接起來,并提供所需要的I/O 引腳。核心控制器部分見圖3。
圖3 核心控制器
JY901 是一個(gè)姿態(tài)傾角傳感器模塊,可以實(shí)時(shí)測量芯片的狀態(tài)。模塊將測量好的姿態(tài)角提供給單片機(jī),單片機(jī)根據(jù)所測量的實(shí)際角度改變系統(tǒng)四個(gè)旋翼的轉(zhuǎn)速,從而使系統(tǒng)穩(wěn)定。
采用TFmini 激光傳感器測量四旋翼系統(tǒng)的實(shí)際高度。系統(tǒng)接收到激光傳感器測量的實(shí)際高度后會(huì)將實(shí)際高度與系統(tǒng)設(shè)定的期望高度相比較,再根據(jù)二者的差值來改變電機(jī)轉(zhuǎn)速,達(dá)到調(diào)整系統(tǒng)高度的目的。
系統(tǒng)采用IMX415 機(jī)載攝像頭尋找目標(biāo)標(biāo)志,根據(jù)目標(biāo)標(biāo)志在攝像頭視野中的位置確定系統(tǒng)與目標(biāo)標(biāo)志的相對偏差,系統(tǒng)根據(jù)所測量到的偏差值實(shí)時(shí)調(diào)整機(jī)身的位置,達(dá)到提高降落精度的目的。
系統(tǒng)軟件程序部分主要包括系統(tǒng)飛行控制、自主降落策略和人機(jī)交互3 部分。下面對這3 部分進(jìn)行詳細(xì)介紹。
四旋翼無人機(jī)在正常飛行時(shí),需要時(shí)刻調(diào)整系統(tǒng)的姿態(tài)角(即俯仰角、翻滾角和偏航角)、系統(tǒng)高度和系統(tǒng)水平位置[9-10]。首先需要時(shí)刻保證系統(tǒng)的姿態(tài)角平穩(wěn),在姿態(tài)角穩(wěn)定的前提下對系統(tǒng)的高度進(jìn)行調(diào)整,使系統(tǒng)穩(wěn)定在期望高度,待高度穩(wěn)定后,再對系統(tǒng)的橫向位置進(jìn)行控制,讓系統(tǒng)可以在期望高度進(jìn)行橫向移動(dòng)。飛行控制流程見圖4。
圖4 飛行控制流程
系統(tǒng)的降落需要使用機(jī)載攝像頭對目標(biāo)標(biāo)志進(jìn)行捕捉,捕捉到目標(biāo)標(biāo)志之后計(jì)算系統(tǒng)與目標(biāo)標(biāo)志的相對偏差,同時(shí)調(diào)整系統(tǒng)自身位置,當(dāng)系統(tǒng)調(diào)整到與目標(biāo)標(biāo)志的偏差值在允許范圍之內(nèi)時(shí)進(jìn)行降落并實(shí)時(shí)判斷是否需要調(diào)整機(jī)身位置。機(jī)載攝像頭識別目標(biāo)標(biāo)志見圖5。
圖5 機(jī)載攝像頭識別目標(biāo)標(biāo)志
無人機(jī)在到達(dá)指定降落地點(diǎn)時(shí)會(huì)巡航飛行并開始捕捉目標(biāo)標(biāo)志,捕捉到目標(biāo)后會(huì)調(diào)整無人機(jī)位置并進(jìn)行降落,在降落過程中實(shí)時(shí)對集體位置進(jìn)行調(diào)整,在降落到指定高度后結(jié)束飛行。系統(tǒng)自主降落流程見圖6。
圖6 系統(tǒng)自主降落流程
系統(tǒng)中的人機(jī)交互部分以樹莓派為核心,使用Qt軟件編寫操作界面,在操作界面上實(shí)現(xiàn)手動(dòng)啟停、數(shù)據(jù)監(jiān)測、數(shù)據(jù)記錄和參數(shù)調(diào)整的功能,方便操作人員把握系統(tǒng)的實(shí)時(shí)狀態(tài)。
在四旋翼無人機(jī)逐步應(yīng)用于各個(gè)領(lǐng)域的大環(huán)境下,需要更精準(zhǔn)、可靠的自主降落系統(tǒng),以便提高四旋翼無人機(jī)在使用時(shí)的可靠性和安全性。本設(shè)計(jì)以STM32 單片機(jī)和樹莓派為核心,提出了一種自主降落系統(tǒng)。通過樹莓派與地面站可以實(shí)現(xiàn)遠(yuǎn)程控制。系統(tǒng)中STM32 單片機(jī)留有預(yù)留接口,方便后續(xù)增加額外功能。該系統(tǒng)性能穩(wěn)定、成本較低、操作簡便,可以有效的增加四旋翼無人機(jī)的使用效率,有重要的經(jīng)濟(jì)意義和現(xiàn)實(shí)意義。