胡改玲, 桂 亮, 權(quán)雙璐, 郭 婷, 王永泉, 王軍平
(西安交通大學(xué) 機械工程學(xué)院, 陜西 西安 710049)
四旋翼無人機是一種能夠垂直起降的自主飛行器[1],具有成本低、靈活度高、操控簡單、維護方便等優(yōu)點[2-3],被廣泛地應(yīng)用于軍民領(lǐng)域的許多行業(yè)[4]。四旋翼無人機是一個非線性動力學(xué)系統(tǒng),本質(zhì)上是一個欠驅(qū)動系統(tǒng),飛行控制系統(tǒng)具有控制參數(shù)復(fù)雜、外部擾動不確定、實時性要求高等特點[5-7]。為了提高四旋翼無人機控制算法的穩(wěn)定性和靈活性,在“CDIO項目實踐”課程中設(shè)置了“四旋翼無人機實時嵌入式控制系統(tǒng)” 實踐項目,指導(dǎo)學(xué)生設(shè)計四旋翼無人機串聯(lián)模糊PID控制器,實現(xiàn)無人機的穩(wěn)定飛行。
四旋翼無人機主要由無人機機架、飛行控制器、導(dǎo)航與定位系統(tǒng)、自動避障系統(tǒng)等組成[8-10],控制系統(tǒng)設(shè)計是無人機穩(wěn)定飛行的關(guān)鍵??刂葡到y(tǒng)總體框圖如圖1所示,控制系統(tǒng)的主控芯片采用STM32芯片。主控芯捕獲遙控器PPM信號并進行解碼得到目標姿態(tài)。陀螺儀傳感器采用MPU6050,主控芯片通過串口通信協(xié)議獲取陀螺儀傳感器的姿態(tài)信息,并進行解碼;主控芯片輸出4路周期為20 ms、高電平時間為1~2 ms的PWM波到4個電子調(diào)速器,電子調(diào)速器根據(jù)PWM波的占空比調(diào)節(jié)4個無刷電機轉(zhuǎn)速;根據(jù)遙控器指令,主控芯片輸出PWM波,從而驅(qū)動控制云臺的舵機,實現(xiàn)云臺姿態(tài)的調(diào)整。加入超聲波測距模塊,保證了飛行過程中的安全和可靠性[8]。
圖1 四旋翼無人機控制系統(tǒng)總體框圖
本系統(tǒng)采用串級PID控制算法,同時在內(nèi)環(huán)角速度控制器中加入模糊自整定PID參數(shù)控制器,構(gòu)成串級模糊PID參數(shù)控制算法。本文以四旋翼無人機俯仰通道的控制算法為例,控制對象為無人機的俯仰姿態(tài)角,控制算法包括內(nèi)環(huán)與外環(huán)兩個控制環(huán)[11-12]。
角度外環(huán)主要對四旋翼無人機姿態(tài)角進行控制,輸出與加速度反饋相比較進行速度環(huán)的控制[13-14]。其中,角度外環(huán)輸入為無人機在俯仰時的角度偏差,采用P控制算法,輸出為無人機的設(shè)定角速度參考值。內(nèi)環(huán)輸入為無人機的設(shè)定角速度,采用模糊自整定PID參數(shù)控制算法,輸出為PWM波形的高電平時間。串級模糊自整定PID參數(shù)控制算法的總體控制框圖如2所示。
圖2 串級模糊自整定PID控制算法的總體控制框圖
在串級模糊自整定PID參數(shù)控制算法中,其內(nèi)環(huán)角速度PID控制器將模糊控制算法引入到該PID控制器中,并將其與經(jīng)典PID控制算法相結(jié)合,通過模糊控制算法自整定內(nèi)環(huán)角速度PID控制器的3個控制參數(shù)。
串級PID控制器的控制對象為無人機在俯仰通道的姿態(tài)角度,執(zhí)行器為4個無刷電機。采用串級PID控制算法后,外環(huán)角度控制系統(tǒng)的輸入信息為無人機的姿態(tài)角度,內(nèi)環(huán)角速度控制系統(tǒng)的輸入信息為姿態(tài)角速度、姿態(tài)角速度的積分和姿態(tài)角速度的微分[15],控制框圖如圖3所示。
圖3 串級PID控制器的控制框圖
在圖3中,Ain為外環(huán)角度控制的輸入?yún)?shù),也是整個控制器的輸入?yún)?shù),即無人機在俯仰通道姿態(tài)角度設(shè)定值;Wout為外環(huán)角度控制器的輸出參數(shù),即無人機在俯仰通道姿態(tài)角速度參考因素,它與陀螺儀傳感器模塊、遙控器模塊、超聲波測距模塊的信息進行整合運算后,作為內(nèi)環(huán)角速度控制器的輸入?yún)?shù)Win;Aout為控制器的輸出參數(shù),即無人機在俯仰通道的姿態(tài)角度實際值。
模糊自整定PID參數(shù)控制器主要改善無人機飛行控制系統(tǒng)中串級PID控制器中的內(nèi)環(huán)角速度控制器的控制性能[16]。模糊自整定PID參數(shù)控制器的控制框圖見圖2,系統(tǒng)所選用的模糊控制器為一個雙輸入、三輸出系統(tǒng),它根據(jù)角速度的偏差|E|和偏差變化率|EC|自動整定內(nèi)環(huán)角速度PID控制器的3個控制參數(shù):kp、ki、kd。
當(dāng)誤差|E|變大、|EC|變大時,為了使系統(tǒng)具有更好的跟蹤性能,增加比例系數(shù)kp,系統(tǒng)響應(yīng)速度加快,從而減小角速度誤差;當(dāng)誤差|E|逐漸減小,增加積分系數(shù)ki,由積分發(fā)揮主要作用,減小角速度的穩(wěn)態(tài)誤差;當(dāng)誤差變化率|EC|變化率較大時,增加微分系數(shù)kd,減小誤差的變化率。根據(jù)上述的的控制規(guī)律,設(shè)計模糊控制器。
模糊控制器可以用如下公式表示:
(1)
式中:f1為kp的模糊自整定函數(shù);f2為ki的模糊自整定函數(shù);f3為kd的模糊自整定函數(shù);|E|為角速度偏差的絕對值;|EC|為角速度偏差變化率的絕對值。
在模糊化處理過程中,模糊控制器的語言變量為:零(Z)、小(S)、中(M)、大(B)。然后,對輸入量區(qū)間進行變換,變換過程采用下式:
(2)
根據(jù)公式(2)所示,將輸入量x在[a,b]區(qū)間內(nèi)的值對應(yīng)到目標區(qū)間長度為m的區(qū)間[-m/2,m/2]內(nèi),得到區(qū)間變換后的對應(yīng)值y,然后確定精確量的模糊化處理的隸屬函數(shù)。為了實現(xiàn)模糊自整定PID參數(shù)控制器的良好控制效果,采用三角形隸屬函數(shù)法[17],隸屬函數(shù)分別如圖4所示。
圖4 模糊控制器參數(shù)隸屬函數(shù)
根據(jù)輸入偏差|E|和偏差變化率|EC|與輸出變量的模糊規(guī)則,設(shè)計模糊狀態(tài)表,即:
U=(|E|×|EC|)R
(3)
式中R為模糊控制規(guī)則
模糊自整定PID參數(shù)控制器根據(jù)輸入信息|E|、|EC|和R進行模糊推理。本系統(tǒng)輸出信息的模糊判決方法采用加權(quán)平均法[18],輸出信息的計算公式為
(4)
式中:x0為控制器參數(shù)的輸出;xi為輸出量模糊集合中的元素;uU1(xi)為輸出量模糊集合中的元素的隸屬度;n為元素個數(shù)。
反模糊化計算得到的結(jié)果,需要進行區(qū)間變換,即:
(5)
式中:u為執(zhí)行器的實際控制量,變化范圍為[umin,umax];Z0是模糊控制的計算值,其變化范圍為[Zmin,Zmax];k為比例因子。
最后建立模糊自整定PID參數(shù)控制器的查詢表,經(jīng)過調(diào)試與修改,使控制系統(tǒng)的性能達到目標要求。
本系統(tǒng)同時對經(jīng)典PID控制算法、串級PID控制算法、串級模糊自整定PID參數(shù)控制算法在俯仰通道的應(yīng)用進行了對比實驗。
圖5是無人機在調(diào)試時的安裝方式圖片。以俯仰通道的調(diào)試為例,將3種控制算法調(diào)試到參數(shù)最優(yōu)狀態(tài)。對陀螺儀的數(shù)據(jù)進行采集處理,所得無人機在3種控制算法下的俯仰姿態(tài)角隨時間變化圖如圖6所示。
圖5 調(diào)試安裝
圖6 3種控制算法俯仰姿態(tài)角隨時間變化對比圖
由圖6可以得到,當(dāng)無人機受到相同的控制信號或者干擾信號后,無人機的俯仰姿態(tài)角回復(fù)到穩(wěn)定狀態(tài)所用時間分別為:采用經(jīng)典PID算法耗時0.96 s,采用串級PID算法耗時0.7 s,采用串級模糊自整定PID參數(shù)算法耗時0.46 s。當(dāng)受到相同幅度的控制信號或者干擾信號時,無人機第一次振蕩幅度占控制信號或干擾信號的百分比分別為:采用經(jīng)典PID算法57.1%,采用串級PID算法為50%,采用串級模糊自整定PID參數(shù)算法為42.9%。結(jié)論表明:采用串級模糊自整定PID參數(shù)控制算法能夠在最快的時間內(nèi)讓無人機的俯仰姿態(tài)角趨于穩(wěn)定;當(dāng)給予相同的激勵時,采用串級模糊自整定PID參數(shù)控制算法時無人機俯仰姿態(tài)角的振蕩幅度最小,具有更高的穩(wěn)定性和魯棒性。
本文通過將模糊控制算法引入到經(jīng)典PID控制算法中,設(shè)計了串聯(lián)模糊自整定PID參數(shù)控制器,提升了無人機控制系統(tǒng)的穩(wěn)定性。在該實驗系統(tǒng)的基礎(chǔ)上,開設(shè)了面向全校本科生的開放創(chuàng)新實驗——四旋翼無人機控制系統(tǒng)設(shè)計,得到了學(xué)生的喜愛和好評。