陳貽國,錢金芳,潘日敏
(浙江師范大學(xué)數(shù)理信息與工程學(xué)院,浙江 金華321004)
直升機由其獨特的飛行性能在軍用和民用領(lǐng)域獲得了越來越廣泛的應(yīng)用。小型無人直升機具有直升機和無人機的共同優(yōu)點,而且還有體積小,機動性強等特點。但由于小型無人直升機體積小,受氣流影響大等原因,導(dǎo)致其飛行控制系統(tǒng)的設(shè)計面臨著很多挑戰(zhàn)。主要表現(xiàn)在以下幾方面[1]。
(1)直升機本身和它的飛行動力學(xué)模型具有很強的非線性特點;
(2)直升機的運動量之間存在著嚴(yán)重的耦合;
(3)直升機的自穩(wěn)定性不足,飛行狀態(tài)在很多情況下是不穩(wěn)定的;
(4)直升機易受外界氣動環(huán)境的干擾;
(5)直升機存在著多種飛行模態(tài),不同的飛行模態(tài)下控制規(guī)律存在差異。
本文就上述直升機存在的問題,提出了一種基于多傳感器和自適應(yīng)PID 控制策略的飛行控制系統(tǒng)的設(shè)計方法。并設(shè)計了基于STM32 微控制器的飛控電子設(shè)備和基于主從模式的地面控制軟件,通過在型號為TREX450SE 的直升機航模上進(jìn)行飛行實驗,實現(xiàn)了懸停和低速狀態(tài)下的自主飛行。
圖1 飛行控制硬件系統(tǒng)機載部分示意圖
飛行控制系統(tǒng)采用如圖1 所示的硬件系統(tǒng)。采用了基于RAM 內(nèi)核的STM32F103RB 微控制器,該控制器具有128 kbit 的Flash 存儲器和64 kbyte 的數(shù)據(jù)存儲器,有串口,IIC 總線等豐富的外設(shè)資源[2]。采用了LM7805 等三端集成穩(wěn)壓芯片為系統(tǒng)提供5 V 和3.3 V 的直流電源,系統(tǒng)分為機載部分和地面控制部分,兩部分通過nRF905-33E 無線通信模塊進(jìn)行數(shù)據(jù)交換,可以實現(xiàn)空曠區(qū)3 km 范圍內(nèi)的可靠通信。
機載部分采用了三軸電子羅盤HMC5883L 和三軸加速度傳感器ADXL345 組成飛行姿態(tài)測量系統(tǒng)。電子羅盤和加速度傳感器采用的是IIC 總線方式與微控制器相連,微控制器通過訪問不同的服務(wù)地址實現(xiàn)對不同傳感器的數(shù)據(jù)通信和控制。由芯片的數(shù)據(jù)手冊可得電子羅盤的服務(wù)地址為0x3c,加速度傳感器的服務(wù)地址為0xa6。HMC5883L 電子羅盤采用的是霍尼韋爾各向異性磁阻技術(shù),因而具有在軸向高靈敏度和線性精度高的特點,羅盤的航向精度可達(dá)到1°。采用了超聲波和數(shù)字氣壓計MS5540-CM 兩個傳感器來對航模的飛行高度進(jìn)行精確的測量,由于氣壓計測量的是距離海平面的絕對高度,與航模的實際距地面的飛行高度有一定的差距,而且測量的精度有限[3],因而系統(tǒng)采用了超聲波測距模塊,該模塊可以在2cm 到3m 范圍內(nèi)精確測量出航模距地面的實際距離。導(dǎo)航系統(tǒng)則采用了GPS模塊,該模塊通過RS232 串口與微控制器相連。
對于地面基站部分則采用了STM32F103RB 微控制器和nRF24L01 組成,微控制器通過USB 口直接和上位機相連。
絕大部分的直升機航模都是通過自動傾斜器來實現(xiàn)對主旋翼的橫向周期變距、縱向周期變距、總變距的控制的。首先需要知道控制自動傾斜器的三個舵機的操縱量與總距、橫向周期變距、縱向周期變距之間的關(guān)系。
對于控制主旋翼的傾斜器的三個舵機的操縱量δ1、δ2、δ3舵機作用點與周期變距角φ1、φ2,主旋翼的總距角φz的關(guān)系如圖2 所示,其中在TREX450SE直升機航模中φ1=φ2=30°,而舵機3 與傾斜器的鏈接點與Y 軸重合。
圖2 航模直升機主旋翼與總距角關(guān)系示意圖
圖2中,R 為舵機作用點到傾斜器中心的距離,φ1為舵機1 作用點與傾斜器X 軸夾角,φ2為舵機2作用點與傾斜器X 軸夾角,φx為橫向周期變距角,φy為縱向周期變距角,φz為總距角,V 為航模飛行方向。
若不考慮機械結(jié)構(gòu)的彈性和慣性以及操作過程中的動態(tài)響應(yīng),僅從運動的幾何關(guān)系考慮,在主旋翼的總距角為φz時,當(dāng)三個舵機的操縱量分別為δ1、δ2、δ3,主旋翼的軸距角變化為φ0,則由圖中可知舵機位移與槳距的關(guān)系如式(1):
可以認(rèn)為當(dāng)變化量很小,即φ0很小時,當(dāng)直升機平穩(wěn)飛行時φx,φy,φz都很?。?],則由式(1)可得式(2)。
即
上式體現(xiàn)了舵機的位移與直升機航模操縱量——總距、橫向周期變距、縱向周期變距之間的關(guān)系。依據(jù)式(2),可以得出操縱控制需要的舵機位移量和需要轉(zhuǎn)動的角度。
由于直升機航模飛行的動力學(xué)模型呈非線性特點,而且實際航模的飛行平衡方程是一個多階的非線性方程組[4]。求解相對復(fù)雜,可以采用以下簡化的方程組來近似估算航模飛行的配平值。假設(shè)航模飛行在懸停的飛行狀態(tài)下,并且航模的姿態(tài)角都是小角度變化,認(rèn)為姿態(tài)角的正弦值為其本身,則直升機航模懸停時的平衡方程可以簡化為式(3)[6]。具體參數(shù)定義可見參考文獻(xiàn)[6]。
由上式可得航模機懸停時的配平部分結(jié)果如表1。
表1 航模機懸停時的配平部分結(jié)果 單位:(°)
自適應(yīng)PID 控制策略指的是在傳統(tǒng)的PID 控制策略上添加了與系統(tǒng)模態(tài)相關(guān)的控制量,同時為了滿足系統(tǒng)控制門限的要求,在PID 的輸出端增加了控制的門限區(qū)[6]。系統(tǒng)的自適應(yīng)PID 控制策略采用的是增量式PID,增量式PID 只是控制輸出的增量,與位置式PID 相比能有效地減小微控制器誤動作造成的影響。自適應(yīng)增量式PID 的參數(shù)運算方程如下[7]。
其中P、I、D 分別為比例項、積分項和微分項的控制參數(shù),當(dāng)其為0 時表示該參數(shù)項不起作用。KP為比例項系數(shù),K 為積分項系數(shù),KD為微分項系數(shù)。Δe 為輸入偏差量、Δel為上一次輸入偏差量,Δep為上上次輸入偏差量。為減少控制的振蕩,系統(tǒng)設(shè)定了一個偏差量的不靈敏度門限,即當(dāng)輸入的偏差量小于該門限值時則不進(jìn)行PID 控制。同時傳感器的測量值通常會在一個小范圍內(nèi)波動,增加不靈敏度門限有利于減少這種波動所帶來的操縱誤動作。
對于TREX450SE 直升機航模,共有4 個控制舵機,分別用于控制自動傾斜器和尾翼的槳距。由于直升機航模運動量之間存在著嚴(yán)重的耦合,對其中某一個操縱量進(jìn)行控制的同時需要考慮到該操縱控制對其它操縱量的影響。例如自動傾斜器是由三個舵機進(jìn)行控制的,由式(2)可以看到舵機的操縱量δ1、δ2、δ3與周期變距角、總距角存在著較嚴(yán)重的耦合關(guān)系,即單獨控制舵機的操縱量會同時影響到周期變距和總距。因而必須對三個舵機同時進(jìn)行控制以避免這種耦合關(guān)系所帶來的影響。
主旋翼是單旋翼帶尾翼式直升機的主要操縱面,也是航模姿態(tài)控制中的主要控制對象。對主旋翼的控制是航模姿態(tài)控制的重點。對主旋翼的控制其實就是對自動傾斜器的控制。本系統(tǒng)設(shè)計如圖3所示的閉環(huán)控制。
圖3 主旋翼控制原理示意圖
主旋翼的控制包括橫向周期變距的控制,縱向周期變距的控制和總距的控制。
首先由微控制器讀取加速度傳感器ADXL345 的測量的航模的飛行姿態(tài)數(shù)據(jù),該數(shù)據(jù)為航模的橫向傾斜角和縱向傾斜角,首先將數(shù)據(jù)進(jìn)行濾波,將濾波后的數(shù)據(jù)與設(shè)定的航模懸停配平值進(jìn)行求差,得到角度的偏差,再通過自適應(yīng)PID 控制算法求得控制的增量,通過操縱量與周期變距和總距的關(guān)系式(2)可得到每個舵機的操縱偏差量,將得到的操縱偏差量疊加到原先的控制量控制舵機的偏轉(zhuǎn)角度,進(jìn)而達(dá)到調(diào)整航模飛行姿態(tài)的目的。
總距的控制,航模主旋翼的總距的增加不僅會上升力增加,同時也會增加電機的負(fù)載,單獨的增加旋翼總距而不提高電機的輸出功率,則會造成功率不匹配。因而要航模保持平衡就必須在增加總距的同時,增加電機的輸出功率,也即需要增加油門操縱。
尾翼的作用主要是產(chǎn)生航模飛行的側(cè)力,從而形成偏航力矩,用以配平旋翼反扭矩并實施航向操縱,以實現(xiàn)對航模進(jìn)行航向控制。系統(tǒng)設(shè)計了如下的一個基于HMC5883L 電子羅盤傳感器的尾翼控制閉環(huán)控制。
圖4 尾翼控制原理示意圖
飛行控制軟件系統(tǒng)采用了模塊化設(shè)計的思路,將系統(tǒng)分為數(shù)據(jù)采集模塊、軌跡控制模塊、飛行控制計算模塊、舵機控制模塊等四個主要模塊。在數(shù)據(jù)采集模塊中進(jìn)行三軸傾角、磁偏角、GPS、飛行高度等數(shù)據(jù)采集工作。軌跡控制模塊中應(yīng)用數(shù)據(jù)采集模塊得到的飛行狀態(tài)數(shù)據(jù)和地面控制指令計算出飛行高度指令和航向控制指令。而在飛行控制計算模塊中,則通過姿態(tài)控制算子和航向控制算子計算航模四個舵機的控制量。舵機控制模塊則根據(jù)每個舵機的控制量來改變PWM 波發(fā)生模塊的相應(yīng)PWM 波的占空比,從而實現(xiàn)舵機轉(zhuǎn)角控制。
圖5 飛控系統(tǒng)軟件流程圖
飛行控制系統(tǒng)的仿真應(yīng)用了MatLab 軟件[12]將多次飛行試驗得到的數(shù)據(jù)進(jìn)行分析、建模[7-11]并在此基礎(chǔ)上對PID 控制系統(tǒng)的參數(shù)進(jìn)行整定,最終得到較為理想的控制參數(shù)。
圖6 給出了航??刂葡到y(tǒng)對高度控制指令的跟隨響應(yīng),可以看到航模高度控制具有一定的延時性和較強的跟隨性[7],同時可以看到其在逼近指定高度時有一定的過沖和振蕩,但在隨后的過程中能很快的保持穩(wěn)定。
圖6 航模飛行定高飛行仿真圖
圖7給出了尾翼總距隨著油門舵機的輸出量的增加所產(chǎn)生的響應(yīng),從該圖可以看出尾翼總距隨著電機輸出功率的增加而增大,符合航模在上升時旋翼反扭矩增大的規(guī)律[6]。
圖7 尾翼控制方波信號響應(yīng)圖
圖8給出了航模在起飛時,橫向側(cè)傾角,俯仰角、旋翼總距隨著航模的抖動時發(fā)生的變化,可以看到系統(tǒng)對抖動噪聲有較強的擬制作用,同時可以看到旋翼總距在一個小角度內(nèi)發(fā)生變化,只是在橫向側(cè)傾角和縱向俯仰角同時增大時增大,說明旋翼總距只有在航模加速或減速時才會發(fā)生變化,降低了橫向側(cè)傾角、俯仰角和旋翼總距之間耦合所產(chǎn)生的影響,符合實際控制的要求。
圖8 橫縱向側(cè)傾角與旋翼總距試飛數(shù)據(jù)圖
經(jīng)過多次實際飛行測試表明該小型自主飛行的航模機控制系統(tǒng)可以實現(xiàn)懸停飛行和定點飛行。在精度要求不高的情況下,可以完成一些特定的任務(wù)。但由于本系統(tǒng)受傳感器特別是加速度傳感器的精度影響較大,很難做到高精度的飛行。因而下一步的研究重點是提高數(shù)據(jù)濾波器的濾波特性和優(yōu)化控制算法,同時在硬件上采用精度更高的加速度傳感器,以實現(xiàn)更高精度的定點自動控制飛行。
[1] 施建昌.小型無人直升飛機飛行控制電路設(shè)計[D]:[碩士學(xué)位論文].北京:北京交通大學(xué),2008.6.1-2.
[2] 王永虹,徐煒,郝立平.STM32 系列ARM Cortex-M3 微控制器原理與實踐[M].北京:北京航空航天大學(xué)出版社,2008:11-25.
[3] 家裕,裴海龍. 一種小型無人機高度定位方法的研究與實現(xiàn)[J].天津:自動化與儀表,2010,12:1-6.
[4] 宋寶泉. 小型無人直升機非線性建模與控制算法研究[D]:[博士學(xué)位論文].長沙:國防科技大學(xué),2010,4:13-40.
[5] 張鵬.基于VxWorks 的無人直升機操縱控制系統(tǒng)設(shè)計與實現(xiàn)[D]:[碩士學(xué)位論文].南京:南京航空航天大學(xué),2007,6:26-27.
[6] 高正,陳仁良. 直升機飛行動力學(xué)[M]. 北京:科學(xué)出版社,2003:65-69.
[7] 劉金琨.先進(jìn)PID 控制MATLAB 仿真[M]. 北京:電子工業(yè)出版社,2004:1-27.
[8] 戴寧,司云玲.基于MATLAB 的直升機飛行控制系統(tǒng)建模與仿真[J].系統(tǒng)仿真學(xué)報,2005,10:240-242.
[9] 王洋,張京娟.基于自適應(yīng)控制器的無人機飛行控制系統(tǒng)研究[J].彈箭與制導(dǎo)學(xué)報,2009,9:17-18.
[10] 李宜達(dá). 控制系統(tǒng)設(shè)計與仿真[M]. 北京:清華大學(xué)出版社,2004:268-291.
[11] Stingu E,Lewis F L.A Hard Ware Platform for Research in Helicopter UAV Control[J].Journal of Intelligent & Robotic Systems,2009,54(1-3):387-406.
[12] 劉為國.MATLAB 程序設(shè)計教程[M]. 北京:中國水利水電出版社,2004:99-129.