胡改玲, 桂 亮, 權雙璐, 郭 婷, 王永泉, 王軍平
(西安交通大學 機械工程學院, 陜西 西安 710049)
四旋翼無人機是一種能夠垂直起降的自主飛行器[1],具有成本低、靈活度高、操控簡單、維護方便等優(yōu)點[2-3],被廣泛地應用于軍民領域的許多行業(yè)[4]。四旋翼無人機是一個非線性動力學系統,本質上是一個欠驅動系統,飛行控制系統具有控制參數復雜、外部擾動不確定、實時性要求高等特點[5-7]。為了提高四旋翼無人機控制算法的穩(wěn)定性和靈活性,在“CDIO項目實踐”課程中設置了“四旋翼無人機實時嵌入式控制系統” 實踐項目,指導學生設計四旋翼無人機串聯模糊PID控制器,實現無人機的穩(wěn)定飛行。
四旋翼無人機主要由無人機機架、飛行控制器、導航與定位系統、自動避障系統等組成[8-10],控制系統設計是無人機穩(wěn)定飛行的關鍵。控制系統總體框圖如圖1所示,控制系統的主控芯片采用STM32芯片。主控芯捕獲遙控器PPM信號并進行解碼得到目標姿態(tài)。陀螺儀傳感器采用MPU6050,主控芯片通過串口通信協議獲取陀螺儀傳感器的姿態(tài)信息,并進行解碼;主控芯片輸出4路周期為20 ms、高電平時間為1~2 ms的PWM波到4個電子調速器,電子調速器根據PWM波的占空比調節(jié)4個無刷電機轉速;根據遙控器指令,主控芯片輸出PWM波,從而驅動控制云臺的舵機,實現云臺姿態(tài)的調整。加入超聲波測距模塊,保證了飛行過程中的安全和可靠性[8]。

圖1 四旋翼無人機控制系統總體框圖
本系統采用串級PID控制算法,同時在內環(huán)角速度控制器中加入模糊自整定PID參數控制器,構成串級模糊PID參數控制算法。本文以四旋翼無人機俯仰通道的控制算法為例,控制對象為無人機的俯仰姿態(tài)角,控制算法包括內環(huán)與外環(huán)兩個控制環(huán)[11-12]。
角度外環(huán)主要對四旋翼無人機姿態(tài)角進行控制,輸出與加速度反饋相比較進行速度環(huán)的控制[13-14]。其中,角度外環(huán)輸入為無人機在俯仰時的角度偏差,采用P控制算法,輸出為無人機的設定角速度參考值。內環(huán)輸入為無人機的設定角速度,采用模糊自整定PID參數控制算法,輸出為PWM波形的高電平時間。串級模糊自整定PID參數控制算法的總體控制框圖如2所示。

圖2 串級模糊自整定PID控制算法的總體控制框圖
在串級模糊自整定PID參數控制算法中,其內環(huán)角速度PID控制器將模糊控制算法引入到該PID控制器中,并將其與經典PID控制算法相結合,通過模糊控制算法自整定內環(huán)角速度PID控制器的3個控制參數。
串級PID控制器的控制對象為無人機在俯仰通道的姿態(tài)角度,執(zhí)行器為4個無刷電機。采用串級PID控制算法后,外環(huán)角度控制系統的輸入信息為無人機的姿態(tài)角度,內環(huán)角速度控制系統的輸入信息為姿態(tài)角速度、姿態(tài)角速度的積分和姿態(tài)角速度的微分[15],控制框圖如圖3所示。

圖3 串級PID控制器的控制框圖
在圖3中,Ain為外環(huán)角度控制的輸入參數,也是整個控制器的輸入參數,即無人機在俯仰通道姿態(tài)角度設定值;Wout為外環(huán)角度控制器的輸出參數,即無人機在俯仰通道姿態(tài)角速度參考因素,它與陀螺儀傳感器模塊、遙控器模塊、超聲波測距模塊的信息進行整合運算后,作為內環(huán)角速度控制器的輸入參數Win;Aout為控制器的輸出參數,即無人機在俯仰通道的姿態(tài)角度實際值。
模糊自整定PID參數控制器主要改善無人機飛行控制系統中串級PID控制器中的內環(huán)角速度控制器的控制性能[16]。模糊自整定PID參數控制器的控制框圖見圖2,系統所選用的模糊控制器為一個雙輸入、三輸出系統,它根據角速度的偏差|E|和偏差變化率|EC|自動整定內環(huán)角速度PID控制器的3個控制參數:kp、ki、kd。
當誤差|E|變大、|EC|變大時,為了使系統具有更好的跟蹤性能,增加比例系數kp,系統響應速度加快,從而減小角速度誤差;當誤差|E|逐漸減小,增加積分系數ki,由積分發(fā)揮主要作用,減小角速度的穩(wěn)態(tài)誤差;當誤差變化率|EC|變化率較大時,增加微分系數kd,減小誤差的變化率。根據上述的的控制規(guī)律,設計模糊控制器。
模糊控制器可以用如下公式表示:
(1)
式中:f1為kp的模糊自整定函數;f2為ki的模糊自整定函數;f3為kd的模糊自整定函數;|E|為角速度偏差的絕對值;|EC|為角速度偏差變化率的絕對值。
在模糊化處理過程中,模糊控制器的語言變量為:零(Z)、小(S)、中(M)、大(B)。然后,對輸入量區(qū)間進行變換,變換過程采用下式:
(2)
根據公式(2)所示,將輸入量x在[a,b]區(qū)間內的值對應到目標區(qū)間長度為m的區(qū)間[-m/2,m/2]內,得到區(qū)間變換后的對應值y,然后確定精確量的模糊化處理的隸屬函數。為了實現模糊自整定PID參數控制器的良好控制效果,采用三角形隸屬函數法[17],隸屬函數分別如圖4所示。

圖4 模糊控制器參數隸屬函數
根據輸入偏差|E|和偏差變化率|EC|與輸出變量的模糊規(guī)則,設計模糊狀態(tài)表,即:
U=(|E|×|EC|)R
(3)
式中R為模糊控制規(guī)則
模糊自整定PID參數控制器根據輸入信息|E|、|EC|和R進行模糊推理。本系統輸出信息的模糊判決方法采用加權平均法[18],輸出信息的計算公式為
(4)
式中:x0為控制器參數的輸出;xi為輸出量模糊集合中的元素;uU1(xi)為輸出量模糊集合中的元素的隸屬度;n為元素個數。
反模糊化計算得到的結果,需要進行區(qū)間變換,即:
(5)
式中:u為執(zhí)行器的實際控制量,變化范圍為[umin,umax];Z0是模糊控制的計算值,其變化范圍為[Zmin,Zmax];k為比例因子。
最后建立模糊自整定PID參數控制器的查詢表,經過調試與修改,使控制系統的性能達到目標要求。
本系統同時對經典PID控制算法、串級PID控制算法、串級模糊自整定PID參數控制算法在俯仰通道的應用進行了對比實驗。
圖5是無人機在調試時的安裝方式圖片。以俯仰通道的調試為例,將3種控制算法調試到參數最優(yōu)狀態(tài)。對陀螺儀的數據進行采集處理,所得無人機在3種控制算法下的俯仰姿態(tài)角隨時間變化圖如圖6所示。

圖5 調試安裝

圖6 3種控制算法俯仰姿態(tài)角隨時間變化對比圖
由圖6可以得到,當無人機受到相同的控制信號或者干擾信號后,無人機的俯仰姿態(tài)角回復到穩(wěn)定狀態(tài)所用時間分別為:采用經典PID算法耗時0.96 s,采用串級PID算法耗時0.7 s,采用串級模糊自整定PID參數算法耗時0.46 s。當受到相同幅度的控制信號或者干擾信號時,無人機第一次振蕩幅度占控制信號或干擾信號的百分比分別為:采用經典PID算法57.1%,采用串級PID算法為50%,采用串級模糊自整定PID參數算法為42.9%。結論表明:采用串級模糊自整定PID參數控制算法能夠在最快的時間內讓無人機的俯仰姿態(tài)角趨于穩(wěn)定;當給予相同的激勵時,采用串級模糊自整定PID參數控制算法時無人機俯仰姿態(tài)角的振蕩幅度最小,具有更高的穩(wěn)定性和魯棒性。
本文通過將模糊控制算法引入到經典PID控制算法中,設計了串聯模糊自整定PID參數控制器,提升了無人機控制系統的穩(wěn)定性。在該實驗系統的基礎上,開設了面向全校本科生的開放創(chuàng)新實驗——四旋翼無人機控制系統設計,得到了學生的喜愛和好評。