摘 要: 四旋翼飛行器控制系統(tǒng)的性能決定了飛行效果的優(yōu)劣,如何改善飛行控制系統(tǒng)使其擁有更良好的表現(xiàn)成為近幾年的研究熱點。根據(jù)四旋翼飛行器的飛行原理,設(shè)計了一種新型四旋翼飛行器控制系統(tǒng)。該系統(tǒng)以STM32作為主控制器,配合各姿態(tài)傳感器實現(xiàn)飛行器姿態(tài)及位置的控制,并結(jié)合以姿態(tài)角為主要誤差源的雙環(huán)結(jié)構(gòu)PID控制器,提高了飛行器的平穩(wěn)性。經(jīng)實際飛行驗證,該飛行控制系統(tǒng)方案能夠取得較穩(wěn)定的飛行效果。
關(guān)鍵詞: 四旋翼;飛行控制;STM32;PID控制
0 引言
目前,以精確的電子技術(shù)取代復雜的機械結(jié)構(gòu)已成為一種趨勢,四旋翼飛行器(four-rotor)以機載電子設(shè)備控制機身的姿態(tài)及運動,機械結(jié)構(gòu)得到簡化,降低了生產(chǎn)成本及維護成本。它可以實現(xiàn)垂直起降、懸停等空中動作,飛行速度為每秒幾米甚至十幾米,具有較高的機動性與操控性,與其他類型飛行器相比具有較明顯的優(yōu)勢,在軍工、警用、民用等諸多領(lǐng)域有廣泛的應(yīng)用前景。
四旋翼飛行器具有4個輸入力,但卻有6個狀態(tài)輸出,是一個欠驅(qū)動系統(tǒng),具有非線性、強耦合、多變量等特性,因此對控制器的設(shè)計要求較高[1]。根據(jù)四旋翼飛行器結(jié)構(gòu)特點及實際需求,選用意法半導體公司生產(chǎn)的STM32F405RG微處理器作為控制系統(tǒng)的主控制器,其強大的運算處理能力及豐富的片上資源能夠滿足四旋翼控制的需求。
1 四旋翼的飛行原理
四旋翼飛行器結(jié)構(gòu)形式是一種最直觀、最簡單的穩(wěn)定控制形式。四旋翼飛行器機身為兩根剛性支架呈十字形交叉結(jié)構(gòu),飛控板、外部設(shè)備及電池等安裝在支架的交叉處,作為飛行器動力來源的4個電機及旋翼軸對稱地安裝在支架的4個末端,相鄰兩個旋翼旋轉(zhuǎn)方向相反,空中平衡飛行時相鄰旋翼產(chǎn)生的反作用力相互抵消,防止機身自旋[2]。通過控制4個旋翼的轉(zhuǎn)速,產(chǎn)生升力的變化,便可實現(xiàn)飛行器空中姿態(tài)的控制。四旋翼飛行器有6種基本的運動狀態(tài),分別是:垂直運動、前后運動、側(cè)向運動、俯仰運動、滾轉(zhuǎn)運動和偏航運動。基于以上基本運動狀態(tài),四旋翼可以完成各種復雜動作[3]。四旋翼的結(jié)構(gòu)形式如圖1所示。
2 系統(tǒng)硬件選型與電路設(shè)計
四旋翼飛行器的控制系統(tǒng)主要由主控制器、各種姿態(tài)傳感器、數(shù)據(jù)傳輸模塊、電機及其驅(qū)動模塊組成。主控器通過SPI、IIC總線采集各姿態(tài)傳感器的數(shù)據(jù),實時計算飛行器相對于地面的姿態(tài)角和航向角的變化,結(jié)合相應(yīng)的控制律與任務(wù)指令輸出恰當?shù)腜WM波信號,電調(diào)根據(jù)PWM波處理產(chǎn)出相應(yīng)的電壓信號輸入給4個電機,以此控制電機轉(zhuǎn)速,實現(xiàn)自動調(diào)整飛行器在空中的姿態(tài)與位置。四旋翼飛行器飛行控制系統(tǒng)設(shè)計方案如圖2所示。
2.1 主控制器
四旋翼控制系統(tǒng)對實時性、穩(wěn)定性及低功耗具有較高要求,因此選用一款高性能的芯片作為其主控制器尤為重要。STM32F405RG基于32位ARM Cortex-M4內(nèi)核開發(fā),主頻可達168 MHz,處理單條指令速度可達1.25 DMIPS/MHz,滿足對數(shù)據(jù)處理速度的要求。它具有功耗動態(tài)調(diào)整功能,能夠在運行模式下和從Flash存儲器執(zhí)行時實現(xiàn)低至238 A/MHz的電流消耗。多達15個高速通信接口,包括6個USART、3個SPI和3個IIC等,可用于將各傳感器模塊采集的姿態(tài)數(shù)據(jù)傳輸給主控制器。STM32集成多個PWM定時器,可實現(xiàn)多路PWM脈沖信號的輸出。用戶可使用SWD或JTAG兩種模式下載和調(diào)試程序。
2.2 陀螺儀傳感器
陀螺儀是飛行器慣導系統(tǒng)中的核心器件,用于檢測俯仰、滾轉(zhuǎn)和偏航3個方向的角速度,積分后可得到相應(yīng)的傾斜角度[4]??刂破鲗A斜角的控制使飛行器在受到外界干擾(如氣流等)時能保持姿態(tài)的平穩(wěn)。
系統(tǒng)采用體積小、功耗低的MAX21000型號3軸數(shù)字輸出陀螺儀。用戶可設(shè)定±31.25~±2 000 dps的量程范圍,靈敏度可達960 digit/dps。通過10 MHz的SPI接口向STM32提供測得的角速度數(shù)據(jù)。陀螺儀工作時存在一定的溫度漂移,需通過軟件對陀螺儀中立點進行實時修正來提高數(shù)據(jù)的精準度。MAX21000陀螺儀電路原理如圖3所示。
2.3 加速度傳感器
本系統(tǒng)采用ST公司的LSM303D加速度計。該芯片整合了一個3軸加速度計和一個3軸磁場傳感器。通過SPI接口向STM32提供數(shù)據(jù)。LSM303D加速度計電路原理如圖4所示。
加速度傳感器用于檢測飛行器軸向的加速度,積分可得飛行速度與距離。陀螺儀的數(shù)據(jù)因為存在“溫漂”,在積分作用下,較長時間后數(shù)據(jù)將不可靠,加速度計傳感器的數(shù)據(jù)可以對陀螺儀的誤差進行矯正。但同時加速度傳感器對震動比較敏感,加入簡單的濾波會降低數(shù)據(jù)的實時性,因此精確的姿態(tài)采集需多傳感器配合實現(xiàn)。
2.4 高度計
HC-SR04超聲波測距模塊只需提供一個10 ?滋m以上的脈沖觸發(fā)信號,將自動發(fā)射8個40 kHz方波,同時檢測是否有返回波,根據(jù)發(fā)射信號與檢測到返回信號的時間差可計算模塊與障礙物的距離。該模塊測量飛行器離地高度精度可達3 mm,在精度上優(yōu)于氣壓計,但是也有其缺陷,當?shù)孛鏋椴萜夯虮粶y障礙物表面不平整時,返回的信號太弱。同時該模塊測距范圍為2~400 cm,只能用于較低高度的檢測。
飛行器在戶外飛行時,高度易超出超聲波模塊的測量范圍,則系統(tǒng)采用MS5611氣壓傳感器測量高度[5]。上電時,氣壓傳感器測量當前的穩(wěn)定氣壓并保存為0 m氣壓,此后飛行器高度改變,在此參數(shù)基礎(chǔ)上進行疊加。該芯片集成了一個24位AD轉(zhuǎn)換器,將氣壓值轉(zhuǎn)換成數(shù)字信號輸出,測距精度可達10 cm。
3 四旋翼飛行器建模
選擇合適的坐標系有利于四旋翼飛行器飛行狀態(tài)的分析。如圖1所示,本文選擇地面坐標系為E(OXYZ),機體坐標系為B(oxyz)。地面坐標系與機體坐標系的關(guān)系為滾轉(zhuǎn)角、俯仰角和偏航角,表示分別繞Bx、By、Bz旋轉(zhuǎn)到Ex、Ey、Ez軸的角度。從機體坐標系B到地面坐標系E的旋轉(zhuǎn)矩陣R可表示為:
定義Fi(i=1,2,3,4)表示第i個旋翼產(chǎn)生的升力。在機體坐標系下,飛行器所受的拉力為:
代入旋轉(zhuǎn)矩陣R可轉(zhuǎn)換為飛行器在地面坐標系中的受力:
F
四旋翼飛行器在地面坐標系中的線性位移為[x y z]T,根據(jù)牛頓第二定理F=ma,得線性加速度方程為:
定義l為飛行器臂長,M、M、M分別為飛行器繞機體坐標系3個軸的轉(zhuǎn)矩,I、I、I分別為飛行器繞機體坐標系3個軸的轉(zhuǎn)動慣量,i為旋翼i轉(zhuǎn)速,則飛行器在滾轉(zhuǎn)、俯仰、偏航3個方向上的轉(zhuǎn)矩為:
由歐拉方程可得,四旋翼飛行器在地面坐標系中的角加速度方程式為:
令:
式(7)為四旋翼飛行器控制系統(tǒng)的4個輸入力,U1、U2、U3、U4分別為飛行器的滾轉(zhuǎn)力、俯仰力、偏航力及升力。結(jié)合式(4)、式(6)和式(7)可得四旋翼飛行器的動力學模型為:
該動力學模型忽略了空氣阻力、機體形變、重力加速度隨高度的改變而變化等對系統(tǒng)影響較小的因素,相對于實際飛行狀態(tài),該模型進行了簡化,有利于控制算法的設(shè)計。
4 PID控制器設(shè)計
本系統(tǒng)采用雙環(huán)PID設(shè)計,內(nèi)回路為姿態(tài)PID回路,外回路為位置PID回路[6]。給出預(yù)期位置指令后,位置PID回路計算出所需改變的姿態(tài)角,輸入給姿態(tài)回路,姿態(tài)回路計算出電機的控制量。姿態(tài)的改變可引起飛行器線性的運動,因此實施閉環(huán)設(shè)計以精確控制飛行器的姿態(tài)。位置控制回路的設(shè)計可以使飛行更精確、快速地按照設(shè)定軌跡飛行。PID控制器結(jié)構(gòu)如圖5所示。
四旋翼平衡飛行時,PID控制器以傾斜角作為其主要的誤差來源,通過將偏差量的比例、積分和微分進行線性組合,構(gòu)成控制量。比例參數(shù)的大小決定了控制器的響應(yīng)速度,但參數(shù)過大會使系統(tǒng)不穩(wěn)定;對角速度積分后可得飛行器的傾斜角度,從而產(chǎn)生抵抗力,消除傾斜角,直到飛行器達到平衡位置;飛行器偏差的產(chǎn)生與控制器的響應(yīng)之間存在微秒級的滯后,微分環(huán)節(jié)能提前抑制傾斜角的偏差,但是過強的微分會放大傳感器的噪聲干擾,降低控制器的抗干擾性能。因此設(shè)定恰當?shù)腜ID控制參數(shù)才能保證飛行器達到穩(wěn)定的飛行狀態(tài)。
5 飛行試驗結(jié)果
飛行實驗在室內(nèi)進行,實驗過程中,地面監(jiān)控站接收飛行器通過串口模塊傳送的實時飛行數(shù)據(jù),并將其保存,同時設(shè)定懸停高度為2 m。手動操控四旋翼飛行器起飛至2 m左右,切換到平衡模式,使其進行懸停飛行,在此過程中,飛控系統(tǒng)對飛行器的滾轉(zhuǎn)角、俯仰角及高度進行自主控制。飛行實驗時間約為2 min,實驗結(jié)果如圖6~8所示。
從圖6和圖7可以看出,飛行器的滾轉(zhuǎn)角度和俯仰角度基本控制在±2°以內(nèi),俯仰角的穩(wěn)定性略高于滾轉(zhuǎn)角,兩個姿態(tài)角都達到了較理想的控制效果。
圖8為高度曲線,從圖中可以看出,飛行器在最初的幾秒內(nèi)自主調(diào)整到設(shè)定的高度位置,之后的時間穩(wěn)定在1.9 m到2.1 m之間。飛行器高度的自主調(diào)整在0.2 m的范圍波動,但總體仍在目標高度附近。
6 結(jié)論
本文提出了一套四旋翼飛行器控制系統(tǒng)的設(shè)計方案,經(jīng)懸停飛行實驗驗證,飛行器能夠成功實現(xiàn)滾轉(zhuǎn)、俯仰和高度的自主控制,各個模塊性能可靠、穩(wěn)定,達到了設(shè)計要求。飛行控制系統(tǒng)以STM32為主控制器,與傳統(tǒng)單片機相比具有較明顯優(yōu)勢,其豐富的片上資源有利于系統(tǒng)功能的進一步擴展,為后續(xù)課題的研究提供了良好的平臺。四旋翼飛行器操控難度低、飛行角度靈活,在軍事偵查、安全巡檢、低空航拍等眾多領(lǐng)域具有廣泛的應(yīng)用前景。
參考文獻
[1] 劉乾,孫志鋒.基于ARM的四旋翼無人飛行器控制系統(tǒng)[J].機電工程,2011(10):1237-1240.
[2] 殷強.四旋翼無人機自主控制系統(tǒng)研究[D].天津:天津大學,2011.
[3] 楊明志,王敏.四旋翼微型飛行器控制系統(tǒng)設(shè)計[J].計算機測量與控制,2008,16(4):485-490.
[4] 韓濤.四傾轉(zhuǎn)旋翼機直升機模式飛行控制系統(tǒng)研究[D].哈爾濱:哈爾濱工業(yè)大學,2012.
[5] 冀明,盧京潮.基于Cortex-M4的四旋翼飛行控制系統(tǒng)設(shè)計[J].計算機測量與控制,2013,21(7):1816-1821.
[6] 宿敬亞,樊鵬輝,蔡開元.四旋翼飛行器的非線性PID姿態(tài)控制[J].北京航空航天大學學報,2011,37(9):1054-1058.