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