李金鵬 丁玉琳 孫文峰 張心歌
【摘要】:四旋翼無人機(jī)由于制造成本低,運(yùn)動原理簡單,只需通過改變四個電機(jī)的轉(zhuǎn)速即可實(shí)現(xiàn)運(yùn)動控制,具有優(yōu)良的操控性和機(jī)動性,可以在小區(qū)域范圍內(nèi)起飛,盤旋,著陸。因此我們使用一種以STM32 高性能單片機(jī)為核心的飛行控制器,采用模塊化設(shè)計思想,運(yùn)用經(jīng)典的PID 控制方法,實(shí)行其平衡控制。
一、引言:
四旋翼飛行器是一種具有4個螺旋槳的飛行器,4個螺旋槳呈十字交叉結(jié)構(gòu),對稱分布在機(jī)體的前、后、左、右4個方向,并且處于同一高度水平面,4個電機(jī)對稱安裝在機(jī)架末端,機(jī)架中央安放飛行控制器,飛行器通過調(diào)節(jié)四個電機(jī)轉(zhuǎn)速來實(shí)現(xiàn)升力的變化,從而控制飛行器完成各種姿態(tài)和動作。
四旋翼飛行器只有四個輸入力,同時卻有六個狀態(tài)輸出,所以它是一種欠驅(qū)動系統(tǒng)。四旋翼飛行器的結(jié)構(gòu)形式如圖1所示,電機(jī)1和電機(jī)3逆時針旋轉(zhuǎn),電機(jī)2和電機(jī)4順時針旋轉(zhuǎn),各個旋翼對機(jī)身所施加的反扭矩可以相互抵消。由于飛行器自身的不穩(wěn)定結(jié)構(gòu),所以需要一種能夠隨時檢測,不斷調(diào)整的控制方法。
二、設(shè)計原理:
飛行控制器主要有微控制器、陀螺儀、加速度計、磁力計、氣壓計、GPS、無線通信模塊等組成。飛行器由于安裝、外界干擾、零件之間的不一致等原因會形成飛行器力量不均衡,導(dǎo)致飛行器容易發(fā)生側(cè)翻。飛行控制器通過各路傳感器獲取實(shí)時數(shù)據(jù),經(jīng)過計算求出姿態(tài)角,再根據(jù)無線接收機(jī)收到遙控命令數(shù)據(jù)進(jìn)行比較,計算出控制量,對這些控制量進(jìn)行PID計算,將輸出量轉(zhuǎn)化為PWM信號,分別控制各個電機(jī)轉(zhuǎn)速,達(dá)到想要的姿態(tài)和位置。
三、硬件設(shè)計:
四旋翼飛行控制系統(tǒng)的微控制器選用目前市場最流行的STM32,具有資源多,計算速度快,價格低廉等優(yōu)點(diǎn),傳感器分為陀螺儀、加速度計和羅盤。陀螺儀用于檢測角速度,在生產(chǎn)應(yīng)用中會引入三軸偏差和零點(diǎn)偏差,所以采用積分推算校準(zhǔn)的方法對陀螺儀進(jìn)行精確校準(zhǔn)。加速度計是用于檢測飛行器加速度的傳感器,飛行器在誤差消除方面使用加速度計的測量值對陀螺儀x軸和y軸方向的漂移做參考【1】,對陀螺儀的漂移誤差進(jìn)行校準(zhǔn)。選用MPU6050,大大降低了陀螺儀與加速度計之間對準(zhǔn)是產(chǎn)生的誤差,并使用數(shù)字低通濾波器,過濾無人機(jī)造成的高頻震動,避免了四旋翼的姿態(tài)測量誤差,數(shù)據(jù)之間采用I2C端口連接,由于I2C總線屬于低速通信號總線,根據(jù)I2C總線的時序規(guī)則,可以在STM32任意兩個模塊實(shí)現(xiàn)I2C通信,極大地擴(kuò)展了I2C總線個數(shù)及功能。
四、軟件設(shè)計:
4.1系統(tǒng)程序
系統(tǒng)首先完成MCU內(nèi)部初始化,開始運(yùn)行STM32處理器用到的外部設(shè)備,其中有NVIC中斷處理器、USART串口通信、定時器、時鐘系統(tǒng)、I2C接口;之后是初始化硬件和系統(tǒng)姿態(tài)解算,運(yùn)用模塊化設(shè)計。最先的是定時器中斷開啟,通過2.5ms的計時中斷與I2C接口獲得三軸數(shù)字羅盤的和MEMS傳感器的測量數(shù)據(jù),之后根據(jù)傳感器的特點(diǎn)進(jìn)行濾波,再利用初始校正所得到的校正數(shù)據(jù)校正讀取的數(shù)據(jù),校正完成后,對其做加權(quán)平均減少誤差,之后進(jìn)行地磁數(shù)據(jù)校準(zhǔn)與四元數(shù)姿態(tài)解算,最后數(shù)據(jù)融合【2】,輸出校準(zhǔn)后的姿態(tài)角信息。
4.2 PID控制算法
四旋翼無人機(jī)因其結(jié)構(gòu)對稱,將飛行控制系統(tǒng)分成姿態(tài)控制系統(tǒng)與位置控制系統(tǒng),對兩種飛行控制系統(tǒng)分別進(jìn)行控制設(shè)計。但是在通常情況下,飛行姿態(tài)會直接影響到無人機(jī)的位置,如果把無人機(jī)姿態(tài)控制器稱為內(nèi)環(huán)控制器,位置控制器稱為外環(huán)控制器。首先需要得出四旋翼無人機(jī)姿態(tài)誤差信號也就是當(dāng)前獲取到的姿態(tài)角與期望值的姿態(tài)角的差值,之后再通過串級PID控制算法得出各個電機(jī)的調(diào)整量,將調(diào)整量信號傳遞給四個旋轉(zhuǎn)的電機(jī),通過改變四個電機(jī)的轉(zhuǎn)速來實(shí)現(xiàn)控制整個系統(tǒng)的姿態(tài),使得姿態(tài)誤差始終趨向最小,最終形成雙極閉環(huán)回路控制系統(tǒng)【3】,控制系統(tǒng)結(jié)構(gòu)如圖2所示。
五、總結(jié):
本文主要論述了四旋翼的飛行原理和控制方式,實(shí)現(xiàn)了四旋翼飛行器的硬件、軟件的設(shè)計要求,四旋翼雖然達(dá)到了設(shè)計的要求,但仍有許多問題需要解決:PID的參數(shù)需要經(jīng)過多次實(shí)驗(yàn)調(diào)整,飛行器適應(yīng)能力差,穩(wěn)定性需要提高,使能夠具備自主起飛、巡航、偵察的能力。
【參考文獻(xiàn)】
【1】鄒佳池.羅盤和加速計校正方法.微信公眾號“知控制”.
【2】吳濤,戈惠梅,顧志華.四軸無人飛行器控制系統(tǒng)設(shè)計[J],河南科技,2014.
【3】陳自力.無人機(jī)-嵌入式控制[M].北京:國防工業(yè)出版社,2015.
基金項目:西北民族大學(xué)電氣工程學(xué)院“雙E”大學(xué)生科研創(chuàng)新項目資助
(項目編號:201842509)