四旋翼自主飛行器探測跟蹤系統(tǒng)
作者 寇梓黎 鄭添 鄒少鋒 東南大學(xué) 電子科學(xué)與工程學(xué)院(江蘇 南京 211189)
本文引用地址:http://www.2s4d.com/article/201806/382299.htm*2017年全國大學(xué)生電子設(shè)計競賽瑞薩杯最佳應(yīng)用獎
摘要:隨著四旋翼飛行器技術(shù)的不斷應(yīng)用,無人機的各種用途被不斷發(fā)掘出來?;?a class="contentlabel" href="http://www.2s4d.com/news/listbylabel/label/四旋翼飛行器">四旋翼飛行器相對平穩(wěn)的飛行狀態(tài)和可控等特點,利用四旋翼飛行器進行探測和跟蹤目標(biāo)成為可能。本文介紹了一種四旋翼自主飛行探測跟蹤系統(tǒng),該系統(tǒng)采用以STM32F4單片機作為姿態(tài)控制模塊的主控芯片,采用MPU9150、MS5611作為姿態(tài)解算模塊的傳感器,利用US-100傳感器和氣壓計實現(xiàn)融合定高,圖像處理上采用OV7670攝像頭,配合RX23T-NUEDC開發(fā)板采集環(huán)境信息,以實現(xiàn)定高懸停以及定點跟蹤等功能。
0 引言
隨著四旋翼飛行器技術(shù)的逐步發(fā)展,目前的四旋翼飛行器已經(jīng)能夠做到平穩(wěn)地飛行和高自由度地操控,再配上機載相機便能夠?qū)崿F(xiàn)航拍、圖像識別等多種功能。為了使四旋翼飛行器實現(xiàn)探測和跟蹤的功能,本作品將姿態(tài)控制模塊、姿態(tài)解算模塊、圖像識別模塊、定高模塊、電源模塊、遙控小車模塊及聲光模塊進行整合,完成了以下任務(wù):1)一鍵起飛,穩(wěn)定飛行,定高懸停,平緩降落等基本功能;2)定點懸停及跟蹤小車飛行;3)跟蹤小車時實現(xiàn)航向的跟隨偏轉(zhuǎn)。本系統(tǒng)包括:姿態(tài)控制模塊、姿態(tài)解算模塊、圖像識別模塊、定高模塊、電源模塊、遙控小車模塊及聲光模塊。該系統(tǒng)可以在平穩(wěn)飛行的同時,按照程序指令搜尋目標(biāo),并觸發(fā)跟蹤狀態(tài),完成跟蹤任務(wù)后,能夠自主地?fù)竦仄椒€(wěn)降落。
1 系統(tǒng)概述
該系統(tǒng)由姿態(tài)控制模塊、姿態(tài)解算模塊、圖像識別模塊、定高模塊、電源模塊、遙控小車模塊及聲光模塊組成,各個模塊間相互作用,系統(tǒng)模塊映射框圖如圖1所示。
根據(jù)探測和跟蹤任務(wù)的需要,本系統(tǒng)需要完成懸停定點、探測跟蹤、擇地降落等一系列任務(wù),主要工作流程如圖2所示。
具體而言,四旋翼飛行器利用US-100超聲波傳感器,以50 ms周期讀取傳感器的數(shù)據(jù),計算出飛行器的實際高度,通過串級PID算法對飛行器的加速度環(huán)、高度環(huán)進行反饋,使飛行器的期望高度為我們指定高度的同時,飛行器的加速度期望值為零,從而實現(xiàn)定高懸停。在定高懸停的情況下,處理OV7670攝像頭模塊獲得的圖像,計算出黑色圓點的圓心位置,輸出圓心距離中心點的偏差量dx和dy。飛行器對偏差量進行前翻和橫滾兩個方向的PID調(diào)節(jié),實現(xiàn)定點懸停。對于運動的遙控小車,為其套上涂有黑色圓點的外殼,對運動的黑點進行定點懸停,即實現(xiàn)了跟蹤功能。
2 硬件設(shè)計
2.1 姿態(tài)控制模塊
方案1:采用AVR單片機作為主控芯片
AVR單片機為8位最高16 MHz主頻的單片機,其學(xué)習(xí)資源較為豐富,編譯環(huán)境簡單且適應(yīng)性強。但AVR單片機的處理速度過低,達不到實時控制飛行姿態(tài)的要求。典型的AVR開源飛控包括APM飛控等。
方案2:采用STM32F4單片機作為主控芯片
STM32F407是一款以ARM Cortex-M4為內(nèi)核,最高主頻168 MHz的32位單片機。其速度快,具有極強的計算處理能力;內(nèi)置定時器多,引出眾多外設(shè)接口,能適應(yīng)飛行器姿態(tài)控制的輸入輸出,可移植性強。典型的STM32F4開源飛控包括匿名科創(chuàng)、恒拓HAWK、PIXHAWK等。
綜合飛行器平緩飛行、高效控制的性能要求,選擇方案2。
2.2 姿態(tài)解算模塊
方案1:采用MMA7260+ENC-03M傳感器
MMA72600加速度傳感器含信號調(diào)理和溫度補償技術(shù),ENC-03M角度傳感器可穩(wěn)定測量角加速度值,但兩傳感器結(jié)合使用較復(fù)雜,且需外加電路抑制噪聲與溫漂。
方案2:采用MPU9150+MS5611傳感器
MPU9150為9軸陀螺儀,內(nèi)部集成了MPU6050和AK8975芯片,可精準(zhǔn)測量3軸角度,3軸加速度,3軸地磁方向。MS5611為高精度氣壓計,支持I2C/SPI數(shù)字輸出,兩者配合可以迅速準(zhǔn)確地反饋飛行器的姿態(tài)。
綜合傳感器的環(huán)境可靠性及使用方便程度,選擇方案2。
2.3 圖像識別模塊
方案1:采用OV2640配合RX23T-NUEDC開發(fā)板
OV2640的黑電平校準(zhǔn)能力較差,獲得的灰度圖需事先校準(zhǔn),才能獲得理想的二值化圖像。OV2640像素高達200 W,并自帶DSP壓縮功能,但考慮到RX23T內(nèi)存大小以及I/O捕獲速率的限制,開發(fā)較為困難。
方案2:采用OV7670配合RX23T-NUEDC開發(fā)板
OV7670像素可達30 W,通過設(shè)定閾值,在黑白賽道上即可獲得理想的二值化圖像,具有較強的抗干擾能力,幀率能夠滿足圖像處理的需求。
綜合飛行器循跡的視野及準(zhǔn)確性要求,選擇方案2。
2.4 電源模塊
方案1:采用電子調(diào)速器的自帶穩(wěn)壓模塊
3S鋰聚合電池供電給4路電調(diào),輸出三相電的同時,可利用電調(diào)自帶的線性穩(wěn)壓模塊輸出5 V的電壓給核心板供電。這樣做成本低、方便,但沒有低壓報警且紋波不夠穩(wěn)定,不能有效地管理電源輸入。
方案2:采用PMU電源管理模塊
設(shè)計一個電源管理模塊,實現(xiàn)了對2S至6S電池(電壓范圍在8~24 V)的線性穩(wěn)壓,并且對電壓實時監(jiān)測,具備了低壓報警的功能。
綜合電源的安全性和穩(wěn)定性要求,選擇方案2。
2.5 定高模塊
方案1:采用氣壓計定高
使用氣壓計獲取高度信息,不受角度影響且測量范圍很大,但有浮動誤差,需進行運算才能保證較高精度。
方案2:采用SR-04傳感器+氣壓計
SR-04超聲波傳感器測距范圍為0~150 cm,誤差為3 cm,誤差約為0.3%,測距范圍也符合題目要求。
方案3:采用US-100傳感器+氣壓計
US-100相較SR-04增加了溫度補償,并使用內(nèi)置芯片處理,直接串口輸出,使用更方便。
綜合定高的穩(wěn)定性和環(huán)境適應(yīng)性要求,選擇方案3。
2.6 遙控小車模塊設(shè)計
我們使用了玩具車的成品遙控芯片RX-2B,提供了配套的4按鍵遙控器,其內(nèi)部原理如圖3所示。我們給小車搭載一塊單片機,對遙控芯片的輸出口進行輸入捕捉,然后利用單片機計時器輸出4路PWM波,實現(xiàn)了遙控小車的四向運動功能。小車上搭載蜂鳴器、LED燈等外設(shè),具體模塊關(guān)系如圖4所示。
3 軟件算法
3.1 飛控傳感器濾波算法
對氣壓計、超聲波等傳感器初始數(shù)據(jù)進行卡爾曼濾波,可以得到期望值的最優(yōu)解??柭鼮V波通過反饋控制對過程狀態(tài)進行估計,其中時間更新部分可以推算當(dāng)前的狀態(tài)變量和誤差協(xié)方差的估計值,構(gòu)造下一個時間狀態(tài)的先驗估計;測量更新部分負(fù)責(zé)信息反饋,實現(xiàn)后驗估計。
3.2 飛控串級PLD控制算法
飛行控制使用的主要控制算法是串級PID控制,即多個PID反饋控制環(huán)串接。其中,橫滾、俯仰方向的姿態(tài)角速度控制環(huán)、姿態(tài)角控制環(huán)串接實現(xiàn)飛行器的姿態(tài)穩(wěn)定,組成內(nèi)控制環(huán);垂直速度控制環(huán)、垂直高度控制環(huán)組成外環(huán),與內(nèi)環(huán)級聯(lián),實現(xiàn)穩(wěn)定的高度控制;水平位置PID控制環(huán)是另一個外環(huán),與內(nèi)環(huán)級聯(lián)實現(xiàn)水平位置的控制。姿態(tài)控制環(huán)用于控制飛行器姿態(tài)穩(wěn)定。三個平行的姿態(tài)控制環(huán)分別控制飛行器的橫滾、俯仰、方向(Roll, Pitch, Yaw)。控制環(huán)的輸出將作為四個電機控制器(ECS)的輸入,從而控制四個槳葉的轉(zhuǎn)速。垂直速度與高度控制環(huán)用于控制飛行器的相對高度。由于本作品在室內(nèi)工作,因此GPS與氣壓計均不能工作,我們通過超聲波傳感器來測量對地高度,作為控制反饋??刂骗h(huán)的輸出為四個電機整體的油門控制量。水平位置控制環(huán)用于飛行器的追蹤與定點懸停。我們通過圖像識別得到飛行器與被追蹤目標(biāo)的水平距離,作為控制反饋。輸出控制量為橫滾、俯仰兩個水平方向控制量,給到姿態(tài)控制環(huán)中,控制飛機縮小與目標(biāo)之間的距離,自動追蹤目標(biāo)。在參數(shù)調(diào)節(jié)上,這三個控制環(huán)也有著不同的目標(biāo),因而調(diào)參方法也不太相同。姿態(tài)控制環(huán)與水平位置控制環(huán)應(yīng)該追求高動態(tài)性能,能夠快速響應(yīng),因此它們的比例分量(P參數(shù))、微分分量(D參數(shù))比較重要,同時也應(yīng)該盡量優(yōu)化算法以提高控制環(huán)運行的頻率。而高度控制環(huán)應(yīng)該追求高靜態(tài)性能,保證最小誤差與抗干擾,因此應(yīng)該使用合適的微分分量(I參數(shù))。
3.3 圖像識別算法
多旋翼自主飛行器的定點懸停和跟蹤小車是通過識別小車上的圓心位置,與自身位置對比后進行姿態(tài)調(diào)整和控制。小車上圓心的識別采用霍夫圓變換算法?;舴驁A變換的具體步驟為:1)根據(jù)RGB彩色圖像獲得灰度圖和二值圖。對二值圖像進行橫向和縱向掃描,檢測圖像的邊緣;2)對邊緣圖像上的每一個非零點,利用sobel算子計算x方向?qū)?shù)和y方向的導(dǎo)數(shù),從而得到梯度,從邊緣點沿著梯度和梯度的反方向,對黑色區(qū)域中的每一個像素,在該像素點位置對應(yīng)的二維累加器中投票;3)取二維累加器中累加值最高的點,作為候選圓心;4)從候選圓心由內(nèi)向外進行區(qū)域擴張,直至遇到白點。對該黑色區(qū)域的累加器的累加值求平均作為該候選圓心的累加值,如果這個累加值大于一個設(shè)定的閾值,則認(rèn)為該候選圓心有效;5)對有效的候選圓心的坐標(biāo)進行低通濾波。多旋翼自主飛行器在跟蹤小車時實現(xiàn)航向的跟隨偏轉(zhuǎn),是通過檢測小車上的兩條相互垂直的直線,根據(jù)兩條直線的交點和斜率來進行姿態(tài)調(diào)整。檢測直線時,通過霍夫線變換獲得兩條相互垂直的直線,根據(jù)兩條直線的交點進行定點跟蹤,根據(jù)其中一條直線的斜率實現(xiàn)航向偏轉(zhuǎn)。霍夫線變換的具體步驟為:1)根據(jù)RGB彩色圖像獲得灰度圖和二值圖。對二值圖像進行橫向和縱向掃描,檢測圖像的邊緣;2)將每一行或每一列的黑線中心坐標(biāo)轉(zhuǎn)換至霍夫空間,轉(zhuǎn)換時以上一幀的檢測出的直線作為檢測范圍的約束條件,既能減少運算量又能實現(xiàn)對直線的跟蹤:3)選擇參數(shù)空間中的極大值點對應(yīng)的直線作為候選直線;4)由行掃描和列掃描獲得的兩條直線若近似滿足垂直關(guān)系則認(rèn)為檢測有效:5)對有效檢測后的兩條直線的交點和斜率進行低通濾波。圖像處理算法原理如圖3所示。
4 成效分析
要求一:A點一鍵起飛,以不低于1米的高度懸停。
要求二:飛行器距小車0.5~1.5 m時,飛行器和小車發(fā)出明顯聲光指示。
在上下限高度范圍內(nèi),小車和飛行器都能聲光提示。
要求三:飛行器從A區(qū)起飛至B區(qū)懸停降落。
要求四:飛行器跟蹤小車抵達4個點。
經(jīng)測試,飛行器始終跟隨小車前行,相當(dāng)穩(wěn)健。
5 結(jié)論
飛行器可始終跟蹤小車,與小車保持同樣朝向,小車轉(zhuǎn)向則飛機航向跟隨偏離。經(jīng)測試,小車在地面作旋轉(zhuǎn)運動時,飛行器可跟蹤改變航向,一同旋轉(zhuǎn)。在跟蹤航向的同時,仍然可以跟蹤定位,作平面運動。
參考文獻:
[1]胡仁杰,堵國樑,黃慧春.全國大學(xué)生電子設(shè)計競賽優(yōu)秀作品設(shè)計報告選編:2015年江蘇賽區(qū).南京:東南大學(xué)出版社,2016.4.
[2]楊慶華,宋召青,時磊.四旋翼飛行器建模、控制與仿真[J].海軍航空工程學(xué)院學(xué)報, 2009,24(5):499-502.
[3]宿敬亞,樊鵬輝,蔡開元.四旋翼飛行器的非線性PID姿態(tài)控制[J].北京航空航天大學(xué)學(xué)報,2011,37(9):1054-1058.
[4]汪紹華,楊瑩.基于卡爾曼濾波的四旋翼飛行器姿態(tài)估計和控制算法研究(英文)[J].控制理論與應(yīng)用,2013,30(9):1109-1115.
[5]張旭明,徐濱士,董世運.用于圖像處理的自適應(yīng)中值濾波[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2005,17(2):295-299.
本文來源于《電子產(chǎn)品世界》2018年第7期第34頁,歡迎您寫論文時引用,并注明出處。
評論