李潤儀 李華根 魏海松
?
四旋翼自主飛行算法
李潤儀 李華根 魏海松
本文針對四旋翼飛控程序的制作進行一定研究。通過STM32芯片以及MPU6050等器件搭建一個簡易的四旋翼模型。通過四元數(shù)算法得到姿態(tài)。再通過串級PID來控制飛機。同時通過超聲波與加速度計數(shù)據(jù)融合后實現(xiàn)定高。設(shè)計完成的四旋翼能夠進行比較好的姿態(tài)自穩(wěn),以及定高。為下一步定點循跡打下基礎(chǔ)。
對于四旋翼的研究可以追溯到20世紀(jì)初。當(dāng)時所制造的四旋翼體積都相當(dāng)龐大。受制于當(dāng)時的工業(yè)水平,所制造出來的四旋翼效能低下,平衡性差。如1907年法國Breguet兄弟在Charles Richet教授的指導(dǎo)下所制造出來的高達3.7m,重達約500kg的Gyroplane No.10。雖然性能較差,但是作為四旋翼的起步雛形,意義十分重要。
21世紀(jì)開始隨著電子集成技術(shù)以及各類自動控制理論的發(fā)展,小型四旋翼的制作成為可能,如瑞士洛桑聯(lián)邦學(xué)院在2003年所研發(fā)的OS4小型四旋翼,就是使用了PID算法0,最優(yōu)控制理論實現(xiàn)了自主飛行。
四旋翼使用常規(guī)的PID控制器,通過選擇合適的參數(shù)即可達到較好的自穩(wěn)狀態(tài)。目前,民用級的四旋翼多使用PID控制,或串級PID控制來實現(xiàn)自平衡。
飛控軟件設(shè)計
當(dāng)前市場上有眾多成熟的成品四旋翼以及成品飛控,也有許多較為成熟的開源飛控軟件。實驗所使用四旋翼飛控程序使用Keil μVision5編寫。使用ANO-TC上位機進行調(diào)試。
實驗四旋翼角度自穩(wěn)控制使用的是串級PID,外環(huán)控制角度使用PID控制器,提高控制精度,內(nèi)環(huán)控制角速度使用PD控制器產(chǎn)生阻尼效果,防止調(diào)節(jié)過快導(dǎo)致震蕩,優(yōu)化飛行效果。兩級PID均采用位置式PID。
依據(jù)調(diào)參順序:
外環(huán)角速度PID:
其中Epitch(t)為當(dāng)前四旋翼實際角度與目標(biāo)角度的差值,即:
PID參數(shù)為:
同理橫滾角的PID:
參數(shù)同俯仰角
偏航角的PD
參數(shù)相比于前面的角度有所變化
內(nèi)環(huán)角速度PD:
G(t)為當(dāng)前測得的角速度,即:
圖1 Gyroplane No.1
圖2 PID控制器
圖3 實驗四旋翼模型
外環(huán)中選擇參數(shù):
橫滾以及偏航類似與此,不再一一列舉。
計算完成之后將PID的總輸出輸出到電機PWM參數(shù)中,通過改變PWM的占空比來調(diào)整電機的轉(zhuǎn)速。
定高算法設(shè)計
定高算法參考了開源飛控crazepony、ANO-TC的開源飛控程序,通過融合MPU6050的加速度計的來進行定高。
高度控制也使用了串級PID。但是由于高度受到飛行器質(zhì)量,所處環(huán)境的影響較大。因此相較于角度環(huán),PID參數(shù)更難整定。另外超聲波數(shù)據(jù)與加速度計融合后用于PID控制也是定高控制的難點之一。
實驗所使用的ks103自帶溫度補償,因此可以較為準(zhǔn)確的獲得距離,但是它的波束角較大(約35°),且溫度補償后,數(shù)據(jù)處理時間較長(間隔約91ms)。因此需要加速度計的參與來實現(xiàn)較高的控制頻率,達到較好的控制效果。
定高的內(nèi)環(huán)將超聲波的數(shù)據(jù)直接用于控制,其公式為:
外環(huán)為Z軸上的速度環(huán):
得到PID輸出后,與原有油門桿量加權(quán)求和后加到電機PWM占空比上。達到定高目的。
實驗效果
實驗四旋翼在角度自穩(wěn)上有比較好的表現(xiàn),在人為干擾的情況下也能較快的回到目標(biāo)姿態(tài)。但是控制精度一般,因此會導(dǎo)致四旋翼相對位置在短時間變化非常大,難以控制。而高度環(huán)上控制效果較好,在無干擾時能在上下5cm內(nèi)震蕩,但是當(dāng)四軸飛行器在受到干擾時,回到目標(biāo)位置就比較緩慢。
人工神經(jīng)網(wǎng)絡(luò)興起于20世紀(jì)初,但是隨后隨著對神經(jīng)網(wǎng)絡(luò)的進一步研究。人們開始認(rèn)識到人工伸進網(wǎng)絡(luò)的局限性。但是隨著近些年電子技術(shù)的發(fā)展,人工神經(jīng)網(wǎng)絡(luò)再次興起,出現(xiàn)了Hopfield網(wǎng)絡(luò),Boltzmann機等。
現(xiàn)今人工神經(jīng)網(wǎng)絡(luò)已經(jīng)成為涉及認(rèn)知,數(shù)理,信息,計算機科學(xué)等多多學(xué)科交叉、綜合的前沿學(xué)科。在智能控制,信號處理,機器視覺等方面也有許多的應(yīng)用。
神經(jīng)網(wǎng)絡(luò)智能PID控制器
神經(jīng)網(wǎng)絡(luò)通過模擬人腦的工作來實現(xiàn)自我調(diào)整,具有可逼近任何復(fù)雜非線性系統(tǒng),魯棒性、容錯性強。因此,近年來在控制領(lǐng)域得到了極為廣泛的應(yīng)用。神經(jīng)網(wǎng)絡(luò)在解決高度復(fù)雜,高度非線性,高度不確定性系統(tǒng)方面有巨大的潛能在這種控制方式中。神經(jīng)網(wǎng)絡(luò)會先按照一定的算法進行學(xué)習(xí),一般分為有指導(dǎo)和無指導(dǎo)學(xué)習(xí)。然后接入控制系統(tǒng),并更具當(dāng)前的各項輸入給出一組最佳的PID控制器參數(shù)。同時還要繼續(xù)學(xué)習(xí),不斷調(diào)整各個神經(jīng)元之間的連接權(quán)系數(shù)以得到最好的控制效果。由于權(quán)系數(shù)是由學(xué)習(xí)階段所有的信息更具特定算法計算后得到的統(tǒng)計信息。因此,加入了神經(jīng)網(wǎng)絡(luò)的智能PID算法有著更高的容錯性,更好的適應(yīng)性,更高的控制效率。
本文設(shè)計完成了一套能夠角度自穩(wěn),實現(xiàn)定高的四旋翼模型。使用STM32芯片,以及MPU6050等傳感器。通過四元數(shù),PID控制等算法完成了能夠進行遙控飛行,定高的要求的飛行器。但是在定高,定位效果上比較一般。下一步將整合攝像頭等傳感器,以及使用神經(jīng)網(wǎng)絡(luò)算法來優(yōu)化飛行效果。并且實現(xiàn)自主懸停以及低空循跡等功能。
李潤儀 李華根 魏海松
中國民航大學(xué)
基金來源:天津市級大學(xué)生創(chuàng)新創(chuàng)業(yè)項目
項目編號:201510059087
10.3969/j.issn.1001-8972.2016.10.009