郝學晟,周國平
(南京林業大學 信息科學技術學院,南京 210037)
植保機是指應用于農林植物保護的無人機,主要任務是代替人類更加精準地噴灑農藥。實現農藥噴灑精準化、無人化,在很大程度上解決了農藥殘留超標、環境污染及作業人員中毒等問題[1]。準確的定高飛行是精準噴灑農藥的重要前提之一,但植保機在作業過程中不斷減輕的質量給準確的高度鎖定造成了很大的困難。
目前,在四旋翼無人機中通常采用的高度閉環控制算法有經典PID控制、串級PID控制、模糊PID控制、反步控制及滑膜控制等[2-5]。這些算法有的比較簡單但缺乏自適應能力,有的比較復雜但計算量大不利于實現,且都沒能就植保機質量不斷減輕這一主要擾動給以針對性抑制。
針對上述現象,就主要問題和問題的主要方面提出一種帶有重力補償的PD控制策略,即重力補償和PD并行給出控制器的輸出。重力補償作用于飛行器所產生的動力等于飛行器的自重,可使飛行器處于懸停狀態,決定植保機的靜態性能;而PD用于針對存在的高度誤差對飛行器進行微調,抑制其它擾動及完成高度變化控制,決定植保機的動態性能。為此,針對植保機質量不斷減輕這一問題,設計使用BP神經網絡估計植保機的當前質量,給出適應的重力補償,使植保機在質量減輕的情況下依然可以做到懸停無靜差。從仿真結果可以看出:所提控制策略可以有效地抑制質量變化帶來的擾動,使高度控制更加精確。
四旋翼飛行器具有成本低、結構簡單、易于操作等優點,又有非線性、欠驅動、強耦合等不利于控制的特性[6]。本文所討論的四旋翼植保機,采用十字飛行結構,如圖1所示。

圖1 飛行原理示意圖Fig.1 The diagram of flight theory。
令機頭1號電機ω1位于Yq軸正向,3號電機ω3位于負向,2號電機ω2位于Xq軸正向,4號電機ω4位于負向。其中,1、3號電機逆時針旋轉,2、4號電機順時針旋轉,以抵消反扭矩。另外,設有兩個噴灑噴頭分別位于2、4號旋翼的正下方,以借助旋翼高速旋轉時的下旋氣流增強農藥的穿透力。四旋翼植保機有4種基本動作,即升降運動、俯仰運動、橫滾運動及偏航運動。升降運動通過同時增加或減少4個電機的轉速來實現;俯仰運動通過提高ω1轉速、降低ω3轉速產生俯仰轉矩來實現;橫滾運動通過提高ω2轉速、降低ω4轉速產生橫滾轉矩來實現;偏航運動通過增加相對電機轉速而減少相鄰電機轉速,利用未完全抵消的反扭矩來實現。
植保機滿載農藥飛行至作物正上方,打開噴頭噴灑藥液;工作人員遠程控制植保機沿著機頭方向做勻速直線運動,即俯仰運動按列噴灑;當噴灑到該列末端時,做橫滾運動水平移動至下一列,此過程不噴灑藥液;當移動至下一列的正上方時,打開噴頭沿著機頭反方向繼續做勻速直線運動,即對下一列作物進行噴灑作業;依次往復,直至藥液用盡空載飛回,重載藥液進行下一次作業。
設地坐標系E={OEXEYEZE}與地表固連靜止不動為參考坐標系,機體坐標系Q={OqXqYqZq}與機體固連隨機體一起運動。在建模前做3點假設:假設飛行器在運動過程中為剛體;假設飛行器完全對稱,幾何中心與質心重合且在坐標原點Oq處;假設槳葉在轉動過程中無形變。
這里用俯仰角φ(rad)、滾轉角θ(rad)、偏航角ψ(rad)3個歐拉角來表示飛行器的姿態,即地坐標系與機體坐標系之間的角位置關系。從機體坐標系Q到地坐標系E的轉換矩陣為

(1)
其中,C表示cos余弦函數,S表示sin正弦函數。
由單個旋翼所產生的升力Fi=ρCTAR2ni2,可得到飛行器在機體坐標系下的垂直總升力FZ(N)及繞3個坐標軸的轉動力矩M(N·m)為
(2)
其中,ρ為空氣密度(kg/m3);CT為升力系數;CD為偏航轉矩系數;R為旋翼半徑(m);A為旋翼面積(m2);l為旋翼中心到無人機中心的距離(m);ni為第i個旋翼的轉速(r/s)。
由式(1)、式(2)及牛頓力學方程可以推出飛行器在地坐標系下3個坐標軸上的加速度為
(3)
其中,m為機體總質量(kg);g為重力加速度(m/s2);kX為飛行器在XE軸上空氣阻力系數;kY、kZ同理。
設飛行器定點轉動的角速度為Ω(rad/s),Ω在機體坐標系下三個坐標軸上的分量為p、q、r(rad/s),則由歐拉動力學方程且考慮陀螺效應得p、q、r對時間的微分為
(4)
其中,IX、IY、IZ分別為在機體坐標系下飛行器繞Xq、Yq、Zq軸的轉動慣量(kg·m2);Ij為電機的轉動慣量(kg·m2);gu=n1-n2+n3-n4為陀螺轉矩。
由歐拉運動學方程可以得到3個歐拉角對時間的微分為[7]
(5)
由于植保機飛行速度慢,且體積質量都較小,所以忽略空氣阻力和陀螺效應對植保機飛行的影響。經進一步簡化,得到飛行器的數學模型為
(6)


圖2 控制器結構框圖Fig.2 Block diagram of controller。
人工神經網絡模擬動物腦細胞結構,將人工神經元按一定的邏輯結構排列起來,模擬軸突與樹突之間的信息傳遞方式,將一層的輸出加權求和傳遞給下一層的神經元;數據在神經元中經過傳遞函數處理再次作為輸出傳遞給下一層,一直到最終的輸出層將數據輸出。由于神經網絡這種特殊的結構,使得其具有強大的函數逼近能力和數值泛化能力。另外,神經網絡還具有強大的學習能力,在網絡訓練過程中可以根據輸出誤差不斷修改各神經元的權值與閾值,使得網絡能根據輸入給出更理想的輸出。
BP神經網絡全稱為反向傳播網絡,指的是將輸出層的誤差反向傳播回各層,用以修改各層神經元的權值與閾值的前向神經網絡。本文所設計的BP神經網絡由輸入層、輸出層及兩個隱層組成,如圖3所示。

圖3 BP神經網絡結構圖Fig.3 Structure diagram of BP neural net。
其中,第1個隱層含有30個神經元;第2個隱層含有10個神經元。各個神經元采用正切S型函數作為傳遞函數,其表達式為
f(x)=2/(1+e-2x)-1
(7)
采用Levenberg-Marquardt法對網絡進行離線訓練,將訓練好的網絡與控制器鏈接使用[8-10]。
2.2.1 經典PID
經典PID結構簡單,參數易于整定,性能良好,實用性強。其控制規律為
(8)
其中,kp為比例項系數;ki為積分項系數;kd為微分項系數。比例項可以加快系統的響應速度,積分項可以抑制穩態誤差,微分項可以減小超調抑制系統震蕩。但經典PID控制器缺乏自適應能力,它的實現依賴于固定的系統模型參數,若在系統運行過程中系統參數發生變化,即具有一定的時變性,那么僅僅使用經典PID控制器將不會取得很好的效果。另外,對于飛行器這樣需要克服重力運行的系統而言,使用經典PID控制器往往需要系統存在一定的誤差,以使其更好地克服重力跟蹤軌跡,給系統帶來一定的不穩定性,也是重力補償PD控制器在機器人關節控制上得到應用的原因[11]。
2.2.2 重力補償PD
在控制器中加入的積分項相當于在系統中加入一個極點,消除穩態誤差的同時也給系統的暫態帶來了一定的不穩定性。另外,重力補償PD控制器在PID基礎上加入的重力補償可以完全克服自身重力,使植保機成為無差系統。
因此,所采用的控制策略完全取消了積分項,選用重力補償PD為最終的控制器。其控制規律為
(9)
其中,Gc為重力補償值。該補償值為一常數,與PD控制器并行鏈接,當控制器P項和D項輸出都為零,即只有Gc作用時,控制器的輸出作用在旋翼上產生的升力剛好等于植保機自身的重力。因此,在理想條件下,使植保機的高度鎖定不依賴于誤差的輸入,這在理論上消除了穩態誤差。在此基礎上加入的P項和D項,用以應對除自身質量外的外界的擾動,加強植保機在定高飛行中的穩定性。
在重力補償PD控制器的基礎上,針對植保機作業過程中質量不斷變化這一問題,設計利用BP神經網絡根據高度誤差、誤差變化率及上升加速度來估計當前植保機的質量,給出正確的重力補償值,作為重力補償PD控制器中的重力補償項,使植保機可以抵抗質量變化更精確地鎖定在期望高度。
綜上所述,本文就BP神經網絡強大的函數逼近能力,結合重力補償PD控制器在飛行器高度控制上的優勢,針對植保機在噴灑作業過程中由于質量減輕引起的高度鎖定不精確的問題,提出采用BP神經網絡預估重力補償PD控制策略控制植保機的高度。
在MatLab/Simulink環境下仿真分析上述控制策略在四旋翼植保機上的控制效果,利用S-函數實現公式(6)中的四旋翼飛行器物理模型,利用Simulink模塊庫中的模塊搭建控制器模型。其中,角度采用串級PD控制策略,高度分別采用BP神經網絡預估重力補償PD控制器和經典PID控制器,并就兩種不同控制器的高度階躍響應曲線進行比較分析。四旋翼植保機物理模型參數如表1所示。

表1 四旋翼植保機物理模型參數Table 1 parameters of plant protection quadrotor。
由1.2節可以看出,植保機噴灑藥液質量減輕發生在勻速直線運動階段。因此,在確保仿真過程有效性和針對性的前提下,簡化無關的運動過程,設置植保機的仿真流程及條件為:起始位于地坐標系原點,機體坐標系與地坐標系重合,即各歐拉角為零;仿真鎖定高度為50cm,仿真時間為30s;在仿真開始后2s時讓飛行器俯仰角偏轉-0.2rad,在3s時將俯仰角轉回0rad,以使植保機在地坐標系YE軸正向獲得大約2m/s的飛行速度,即向前飛行作業;將植保機物理模型中的質量參數m改為從1.4kg到0.8kg變化的函數,以模擬由于噴灑作業而減輕的質量。
植保機定高飛行仿真結果如圖4所示。其中,BPmPD為植保機在BP神經網絡預估重力補償PD控制策略下的響應曲線,PID為植保機在經典PID控制策略下的響應曲線。

圖4 植保機定高飛行仿真結果圖Fig.4 Simulation results of plant protection quadroto。
由仿真結果可以看出:BP神經網絡預估重力補償PD控制器使植保機在1.1s時達到預定高度,而PID控制器使植保機在1.8s時才達到預定高度;同時,在BP神經網絡預估重力補償PD控制器作用下植保機始終無靜差的保持在該預定高度,而在PID作用下植保機出現了1.5cm的超調和1cm的穩態誤差。綜上所述,在植保機高度控制問題上,BP神經網絡預估重力補償PD控制策略無論是在動態性能上還是在靜態性能上,都明顯優于經典PID控制策略。
植保機不僅具有非線性、強耦合、欠驅動等特性,還具有其它四旋翼飛行器所不具有的時變性,即由植保機不斷噴灑農藥所引起的質量參數隨時間減少的特性,給精確地定高飛行、精準地噴灑農藥帶來了困難。本文針對以上問題提出了BP神經網絡預估重力補償PD控制策略,即采用重力補償PD控制器控制高度,同時使用BP神經網絡預估實時的重力補償值的控制策略。仿真實驗表明:所提出的BP神經網絡預估重力補償PD控制策略能夠有效地控制植保機的高度,提高定高飛行的精度。