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