郝學(xué)晟,周國平
(南京林業(yè)大學(xué) 信息科學(xué)技術(shù)學(xué)院,南京 210037)
植保機是指應(yīng)用于農(nóng)林植物保護的無人機,主要任務(wù)是代替人類更加精準地噴灑農(nóng)藥。實現(xiàn)農(nóng)藥噴灑精準化、無人化,在很大程度上解決了農(nóng)藥殘留超標(biāo)、環(huán)境污染及作業(yè)人員中毒等問題[1]。準確的定高飛行是精準噴灑農(nóng)藥的重要前提之一,但植保機在作業(yè)過程中不斷減輕的質(zhì)量給準確的高度鎖定造成了很大的困難。
目前,在四旋翼無人機中通常采用的高度閉環(huán)控制算法有經(jīng)典PID控制、串級PID控制、模糊PID控制、反步控制及滑膜控制等[2-5]。這些算法有的比較簡單但缺乏自適應(yīng)能力,有的比較復(fù)雜但計算量大不利于實現(xiàn),且都沒能就植保機質(zhì)量不斷減輕這一主要擾動給以針對性抑制。
針對上述現(xiàn)象,就主要問題和問題的主要方面提出一種帶有重力補償?shù)腜D控制策略,即重力補償和PD并行給出控制器的輸出。重力補償作用于飛行器所產(chǎn)生的動力等于飛行器的自重,可使飛行器處于懸停狀態(tài),決定植保機的靜態(tài)性能;而PD用于針對存在的高度誤差對飛行器進行微調(diào),抑制其它擾動及完成高度變化控制,決定植保機的動態(tài)性能。為此,針對植保機質(zhì)量不斷減輕這一問題,設(shè)計使用BP神經(jīng)網(wǎng)絡(luò)估計植保機的當(dāng)前質(zhì)量,給出適應(yīng)的重力補償,使植保機在質(zhì)量減輕的情況下依然可以做到懸停無靜差。從仿真結(jié)果可以看出:所提控制策略可以有效地抑制質(zhì)量變化帶來的擾動,使高度控制更加精確。
四旋翼飛行器具有成本低、結(jié)構(gòu)簡單、易于操作等優(yōu)點,又有非線性、欠驅(qū)動、強耦合等不利于控制的特性[6]。本文所討論的四旋翼植保機,采用十字飛行結(jié)構(gòu),如圖1所示。
圖1 飛行原理示意圖Fig.1 The diagram of flight theory。
令機頭1號電機ω1位于Yq軸正向,3號電機ω3位于負向,2號電機ω2位于Xq軸正向,4號電機ω4位于負向。其中,1、3號電機逆時針旋轉(zhuǎn),2、4號電機順時針旋轉(zhuǎn),以抵消反扭矩。另外,設(shè)有兩個噴灑噴頭分別位于2、4號旋翼的正下方,以借助旋翼高速旋轉(zhuǎn)時的下旋氣流增強農(nóng)藥的穿透力。四旋翼植保機有4種基本動作,即升降運動、俯仰運動、橫滾運動及偏航運動。升降運動通過同時增加或減少4個電機的轉(zhuǎn)速來實現(xiàn);俯仰運動通過提高ω1轉(zhuǎn)速、降低ω3轉(zhuǎn)速產(chǎn)生俯仰轉(zhuǎn)矩來實現(xiàn);橫滾運動通過提高ω2轉(zhuǎn)速、降低ω4轉(zhuǎn)速產(chǎn)生橫滾轉(zhuǎn)矩來實現(xiàn);偏航運動通過增加相對電機轉(zhuǎn)速而減少相鄰電機轉(zhuǎn)速,利用未完全抵消的反扭矩來實現(xiàn)。
植保機滿載農(nóng)藥飛行至作物正上方,打開噴頭噴灑藥液;工作人員遠程控制植保機沿著機頭方向做勻速直線運動,即俯仰運動按列噴灑;當(dāng)噴灑到該列末端時,做橫滾運動水平移動至下一列,此過程不噴灑藥液;當(dāng)移動至下一列的正上方時,打開噴頭沿著機頭反方向繼續(xù)做勻速直線運動,即對下一列作物進行噴灑作業(yè);依次往復(fù),直至藥液用盡空載飛回,重載藥液進行下一次作業(yè)。
設(shè)地坐標(biāo)系E={OEXEYEZE}與地表固連靜止不動為參考坐標(biāo)系,機體坐標(biāo)系Q={OqXqYqZq}與機體固連隨機體一起運動。在建模前做3點假設(shè):假設(shè)飛行器在運動過程中為剛體;假設(shè)飛行器完全對稱,幾何中心與質(zhì)心重合且在坐標(biāo)原點Oq處;假設(shè)槳葉在轉(zhuǎn)動過程中無形變。
這里用俯仰角φ(rad)、滾轉(zhuǎn)角θ(rad)、偏航角ψ(rad)3個歐拉角來表示飛行器的姿態(tài),即地坐標(biāo)系與機體坐標(biāo)系之間的角位置關(guān)系。從機體坐標(biāo)系Q到地坐標(biāo)系E的轉(zhuǎn)換矩陣為
(1)
其中,C表示cos余弦函數(shù),S表示sin正弦函數(shù)。
由單個旋翼所產(chǎn)生的升力Fi=ρCTAR2ni2,可得到飛行器在機體坐標(biāo)系下的垂直總升力FZ(N)及繞3個坐標(biāo)軸的轉(zhuǎn)動力矩M(N·m)為
(2)
其中,ρ為空氣密度(kg/m3);CT為升力系數(shù);CD為偏航轉(zhuǎn)矩系數(shù);R為旋翼半徑(m);A為旋翼面積(m2);l為旋翼中心到無人機中心的距離(m);ni為第i個旋翼的轉(zhuǎn)速(r/s)。
由式(1)、式(2)及牛頓力學(xué)方程可以推出飛行器在地坐標(biāo)系下3個坐標(biāo)軸上的加速度為
(3)
其中,m為機體總質(zhì)量(kg);g為重力加速度(m/s2);kX為飛行器在XE軸上空氣阻力系數(shù);kY、kZ同理。
設(shè)飛行器定點轉(zhuǎn)動的角速度為Ω(rad/s),Ω在機體坐標(biāo)系下三個坐標(biāo)軸上的分量為p、q、r(rad/s),則由歐拉動力學(xué)方程且考慮陀螺效應(yīng)得p、q、r對時間的微分為
(4)
其中,IX、IY、IZ分別為在機體坐標(biāo)系下飛行器繞Xq、Yq、Zq軸的轉(zhuǎn)動慣量(kg·m2);Ij為電機的轉(zhuǎn)動慣量(kg·m2);gu=n1-n2+n3-n4為陀螺轉(zhuǎn)矩。
由歐拉運動學(xué)方程可以得到3個歐拉角對時間的微分為[7]
(5)
由于植保機飛行速度慢,且體積質(zhì)量都較小,所以忽略空氣阻力和陀螺效應(yīng)對植保機飛行的影響。經(jīng)進一步簡化,得到飛行器的數(shù)學(xué)模型為
(6)
圖2 控制器結(jié)構(gòu)框圖Fig.2 Block diagram of controller。
人工神經(jīng)網(wǎng)絡(luò)模擬動物腦細胞結(jié)構(gòu),將人工神經(jīng)元按一定的邏輯結(jié)構(gòu)排列起來,模擬軸突與樹突之間的信息傳遞方式,將一層的輸出加權(quán)求和傳遞給下一層的神經(jīng)元;數(shù)據(jù)在神經(jīng)元中經(jīng)過傳遞函數(shù)處理再次作為輸出傳遞給下一層,一直到最終的輸出層將數(shù)據(jù)輸出。由于神經(jīng)網(wǎng)絡(luò)這種特殊的結(jié)構(gòu),使得其具有強大的函數(shù)逼近能力和數(shù)值泛化能力。另外,神經(jīng)網(wǎng)絡(luò)還具有強大的學(xué)習(xí)能力,在網(wǎng)絡(luò)訓(xùn)練過程中可以根據(jù)輸出誤差不斷修改各神經(jīng)元的權(quán)值與閾值,使得網(wǎng)絡(luò)能根據(jù)輸入給出更理想的輸出。
BP神經(jīng)網(wǎng)絡(luò)全稱為反向傳播網(wǎng)絡(luò),指的是將輸出層的誤差反向傳播回各層,用以修改各層神經(jīng)元的權(quán)值與閾值的前向神經(jīng)網(wǎng)絡(luò)。本文所設(shè)計的BP神經(jīng)網(wǎng)絡(luò)由輸入層、輸出層及兩個隱層組成,如圖3所示。
圖3 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.3 Structure diagram of BP neural net。
其中,第1個隱層含有30個神經(jīng)元;第2個隱層含有10個神經(jīng)元。各個神經(jīng)元采用正切S型函數(shù)作為傳遞函數(shù),其表達式為
f(x)=2/(1+e-2x)-1
(7)
采用Levenberg-Marquardt法對網(wǎng)絡(luò)進行離線訓(xùn)練,將訓(xùn)練好的網(wǎng)絡(luò)與控制器鏈接使用[8-10]。
2.2.1 經(jīng)典PID
經(jīng)典PID結(jié)構(gòu)簡單,參數(shù)易于整定,性能良好,實用性強。其控制規(guī)律為
(8)
其中,kp為比例項系數(shù);ki為積分項系數(shù);kd為微分項系數(shù)。比例項可以加快系統(tǒng)的響應(yīng)速度,積分項可以抑制穩(wěn)態(tài)誤差,微分項可以減小超調(diào)抑制系統(tǒng)震蕩。但經(jīng)典PID控制器缺乏自適應(yīng)能力,它的實現(xiàn)依賴于固定的系統(tǒng)模型參數(shù),若在系統(tǒng)運行過程中系統(tǒng)參數(shù)發(fā)生變化,即具有一定的時變性,那么僅僅使用經(jīng)典PID控制器將不會取得很好的效果。另外,對于飛行器這樣需要克服重力運行的系統(tǒng)而言,使用經(jīng)典PID控制器往往需要系統(tǒng)存在一定的誤差,以使其更好地克服重力跟蹤軌跡,給系統(tǒng)帶來一定的不穩(wěn)定性,也是重力補償PD控制器在機器人關(guān)節(jié)控制上得到應(yīng)用的原因[11]。
2.2.2 重力補償PD
在控制器中加入的積分項相當(dāng)于在系統(tǒng)中加入一個極點,消除穩(wěn)態(tài)誤差的同時也給系統(tǒng)的暫態(tài)帶來了一定的不穩(wěn)定性。另外,重力補償PD控制器在PID基礎(chǔ)上加入的重力補償可以完全克服自身重力,使植保機成為無差系統(tǒng)。
因此,所采用的控制策略完全取消了積分項,選用重力補償PD為最終的控制器。其控制規(guī)律為
(9)
其中,Gc為重力補償值。該補償值為一常數(shù),與PD控制器并行鏈接,當(dāng)控制器P項和D項輸出都為零,即只有Gc作用時,控制器的輸出作用在旋翼上產(chǎn)生的升力剛好等于植保機自身的重力。因此,在理想條件下,使植保機的高度鎖定不依賴于誤差的輸入,這在理論上消除了穩(wěn)態(tài)誤差。在此基礎(chǔ)上加入的P項和D項,用以應(yīng)對除自身質(zhì)量外的外界的擾動,加強植保機在定高飛行中的穩(wěn)定性。
在重力補償PD控制器的基礎(chǔ)上,針對植保機作業(yè)過程中質(zhì)量不斷變化這一問題,設(shè)計利用BP神經(jīng)網(wǎng)絡(luò)根據(jù)高度誤差、誤差變化率及上升加速度來估計當(dāng)前植保機的質(zhì)量,給出正確的重力補償值,作為重力補償PD控制器中的重力補償項,使植保機可以抵抗質(zhì)量變化更精確地鎖定在期望高度。
綜上所述,本文就BP神經(jīng)網(wǎng)絡(luò)強大的函數(shù)逼近能力,結(jié)合重力補償PD控制器在飛行器高度控制上的優(yōu)勢,針對植保機在噴灑作業(yè)過程中由于質(zhì)量減輕引起的高度鎖定不精確的問題,提出采用BP神經(jīng)網(wǎng)絡(luò)預(yù)估重力補償PD控制策略控制植保機的高度。
在MatLab/Simulink環(huán)境下仿真分析上述控制策略在四旋翼植保機上的控制效果,利用S-函數(shù)實現(xiàn)公式(6)中的四旋翼飛行器物理模型,利用Simulink模塊庫中的模塊搭建控制器模型。其中,角度采用串級PD控制策略,高度分別采用BP神經(jīng)網(wǎng)絡(luò)預(yù)估重力補償PD控制器和經(jīng)典PID控制器,并就兩種不同控制器的高度階躍響應(yīng)曲線進行比較分析。四旋翼植保機物理模型參數(shù)如表1所示。
表1 四旋翼植保機物理模型參數(shù)Table 1 parameters of plant protection quadrotor。
由1.2節(jié)可以看出,植保機噴灑藥液質(zhì)量減輕發(fā)生在勻速直線運動階段。因此,在確保仿真過程有效性和針對性的前提下,簡化無關(guān)的運動過程,設(shè)置植保機的仿真流程及條件為:起始位于地坐標(biāo)系原點,機體坐標(biāo)系與地坐標(biāo)系重合,即各歐拉角為零;仿真鎖定高度為50cm,仿真時間為30s;在仿真開始后2s時讓飛行器俯仰角偏轉(zhuǎn)-0.2rad,在3s時將俯仰角轉(zhuǎn)回0rad,以使植保機在地坐標(biāo)系YE軸正向獲得大約2m/s的飛行速度,即向前飛行作業(yè);將植保機物理模型中的質(zhì)量參數(shù)m改為從1.4kg到0.8kg變化的函數(shù),以模擬由于噴灑作業(yè)而減輕的質(zhì)量。
植保機定高飛行仿真結(jié)果如圖4所示。其中,BPmPD為植保機在BP神經(jīng)網(wǎng)絡(luò)預(yù)估重力補償PD控制策略下的響應(yīng)曲線,PID為植保機在經(jīng)典PID控制策略下的響應(yīng)曲線。
圖4 植保機定高飛行仿真結(jié)果圖Fig.4 Simulation results of plant protection quadroto。
由仿真結(jié)果可以看出:BP神經(jīng)網(wǎng)絡(luò)預(yù)估重力補償PD控制器使植保機在1.1s時達到預(yù)定高度,而PID控制器使植保機在1.8s時才達到預(yù)定高度;同時,在BP神經(jīng)網(wǎng)絡(luò)預(yù)估重力補償PD控制器作用下植保機始終無靜差的保持在該預(yù)定高度,而在PID作用下植保機出現(xiàn)了1.5cm的超調(diào)和1cm的穩(wěn)態(tài)誤差。綜上所述,在植保機高度控制問題上,BP神經(jīng)網(wǎng)絡(luò)預(yù)估重力補償PD控制策略無論是在動態(tài)性能上還是在靜態(tài)性能上,都明顯優(yōu)于經(jīng)典PID控制策略。
植保機不僅具有非線性、強耦合、欠驅(qū)動等特性,還具有其它四旋翼飛行器所不具有的時變性,即由植保機不斷噴灑農(nóng)藥所引起的質(zhì)量參數(shù)隨時間減少的特性,給精確地定高飛行、精準地噴灑農(nóng)藥帶來了困難。本文針對以上問題提出了BP神經(jīng)網(wǎng)絡(luò)預(yù)估重力補償PD控制策略,即采用重力補償PD控制器控制高度,同時使用BP神經(jīng)網(wǎng)絡(luò)預(yù)估實時的重力補償值的控制策略。仿真實驗表明:所提出的BP神經(jīng)網(wǎng)絡(luò)預(yù)估重力補償PD控制策略能夠有效地控制植保機的高度,提高定高飛行的精度。