周伙球,王驥,徐今強,李郁燦,陸俊江
(廣東海洋大學電子與信息工程學院,廣東湛江,524088)
四軸飛行器的結構分為十字型結構和X型結構,項目采用的四軸飛行器為 X型飛行器,X型飛行器四個電機分別如下圖標號。
(1)俯仰角(Pitch)的控制:通過1、2號電機轉速的增加(減少)以及3、4號電機轉速的減少(增加)使飛行器前后形成力差以控制飛行器的俯仰角。
(2)滾角(Roll)的控制:通過1、4號電機轉速的增加(減少)和2、3號電機轉速的減少(增加)使飛行器左右形成力差從而達到控制橫滾角大小的目的。
(3)偏航角(Yaw)的控制:由于螺旋槳的轉動所產生的力矩使飛行器有自旋的扭力,故1、3號的螺旋槳和2、4號的螺旋槳是相反的,分別為正反槳當以抵消自旋、故1、3號電轉速的增加(減少)和2、4號電機的減少(增加)可以控制不同方向的扭力以達到飛行器的偏航角控制。
(4)高度的控制:同時增加或減少四個電機的轉速大小以達到飛行器高度的控制。

圖1 四軸飛行器結構分析
整個飛行器系統分為軟件和硬件兩大部分,其中軟件的硬件又分為遙控器和飛控部分,軟件分為遙控器、飛控以及PC的圖像處理部分。
飛行控制器部分則采用了MPU6050模塊,其內部集成了陀螺儀和加速度計傳感器用于獲取飛行器的俯仰角(Pitch)和橫滾角(Roll)姿態、利用HMC5883l磁傳感器來獲取地磁方向結合陀螺儀來計算飛行器的偏航角(Yaw)、超聲波模塊及MS5611氣壓計用于獲取飛行器的高度。
遙控器和飛行控制器兩者的通信利用了NRF24L01無線收發模塊。航拍攝像頭通過5.8G圖傳模塊把圖像回傳電腦電腦進行圖像處理后通過藍牙模塊把處理結果送給遙控器遙控器再把控制指令發給飛行控制器。飛行控制器結合遙控的指令和飛行器的傳感器相結合計算出實際狀態和目標狀態的誤差,利用此偏差作為PID控制器的輸入,最終實現飛行器的穩定飛行以及目標跟蹤,如圖2所示。

圖2 思路框架圖
從成本以及性能等綜合多方面考慮,項目的遙控器及飛行控制器均采用了意法半導體公司的增強型stm32f103系列作為主控芯片。Stm32f103是基于Cortex-M3內核設計,是新型的32位嵌入式微處理器,內部集成了硬件SPI、IIC等。
主要思路是不斷的采集搖桿電位器的電壓和NRF24L01無線收發模塊的數據,為了減少CPU的負擔4路ADC由DMA的方式采集存到緩沖區,每采集50個數據做一次平均,以減少噪聲的所造成的誤差。由于NRF24L01不能實現同時收發,故項目遙控器采用半雙工的方法來切換數據的收發模式。實時通過LCD顯示飛機當前狀態以及遙控器所發出的指令。
飛控軟件部分的實現是采用5ms定時中斷讀取傳感器的數據并實時處理,包括數據濾波姿態解算以及PID控制器的運行,而高度解算則放在10ms的中斷函數中,對高度信息進行處理,包括數據濾波高度融合以及高度PID控制器的運行。通過計算出飛行器的狀態信息并接收遙控器的數據把狀態數據和遙控器的給定做偏差把偏差輸入到PID控制器使飛行器始終保持穩定點的狀態。
其中飛控姿態解算算法利用四元數和互補濾波的方法結合了陀螺儀及加速度計的數據進行融合以獲得飛行器的姿態。利用超聲波和氣壓計兩個傳感器的數據作為高度觀測值,結合加速度計通過卡爾曼濾波來獲取飛行器的高度,而飛行器相對目標的位置則通過圖像處理來獲取。
圖像處理部分由飛行器機載的航拍攝像頭來獲取圖像,通過5.8G的圖傳把圖像實時回傳電腦,電腦通過OPENCV視覺開源庫里的camshift視覺跟蹤算法對目標進行跟蹤,把飛行器與目標的相對誤差最終傳給飛行控制器,飛行控制器通過調整位置PID來實現跟蹤的目的。
本文描述了基于視覺跟蹤的四軸飛行器的設計實現,整體分為飛控,遙控和PC的視覺處理三大部分,飛控和遙控之間的通信采用2.4G無線模塊的方案,PC和遙控通過藍牙通信。飛控系統通過采集IMU和周邊傳感器的數據進行運算實時計算飛機的姿態,高度等信息,根據PID控制算法實現對四軸飛行器的穩定控制,PC通過獲取圖傳回送的機載攝像頭數據進行圖像處理獲取目標相對飛機的位置,并將位置信息發給遙控,遙控再通過2.4G無線模塊傳給飛控,飛機通過調整飛機位置從而實現目標跟蹤。實踐證明該四軸飛行器可以實現穩定、可靠的飛行,對目標也達到跟蹤目的。
參考文獻
[1]秦永元編著.慣性導航[M].北京:科學出版社,2006.
[2]馬 克W.斯 龐 (Mark W.Spong)/賽 斯·哈 欽 森 (Seth Hutchinson)/M.維德雅薩加 (M.Vidyasagar)編著.機器人建模和控制[M].北京:機械工業出版社,2016.
[3]秦永元編著.卡爾曼.濾波與組合導航原理[M].西北工業大學出版社,2012.