申藝方 ,解向陽
(濟源職業(yè)技術(shù)學(xué)院,河南 濟源 459000)
在農(nóng)業(yè)自動化、現(xiàn)代化發(fā)展趨勢下,人工背負式噴霧機逐漸被淘汰,自走式噴霧機和植保無人機得到了推廣應(yīng)用。植保無人機搭載噴藥裝置,可以由地面站工作人員遠程控制,或者按照預(yù)設(shè)指令實現(xiàn)高空自動噴藥。對比來看,使用植保無人機噴藥具有覆蓋面積廣、作業(yè)效率高、安全性好等一系列優(yōu)勢?,F(xiàn)階段,農(nóng)業(yè)植保多旋翼無人機在實際應(yīng)用中面臨的主要問題是定點噴灑精度不高,不僅造成農(nóng)藥的浪費,而且增加了無人機的飛行頻次,導(dǎo)致農(nóng)業(yè)植保作業(yè)的成本升高?;诖?,有必要對多旋翼無人機的飛行控制系統(tǒng)進行優(yōu)化設(shè)計,提高控制精度,使農(nóng)業(yè)植保無人機能夠在合適的位置噴灑農(nóng)藥,提高作業(yè)效率。
本文設(shè)計的農(nóng)業(yè)植保多旋翼無人機飛行控制系統(tǒng)由主控系統(tǒng)、慣性測量單元、磁力計、加速度計、定位系統(tǒng)、噴灑系統(tǒng)、空速測量系統(tǒng)等構(gòu)成。主控MCU選用STM32F428IGT6高性能芯片,主頻200 MHz,內(nèi)置256 KB的RAM和512 KB的Flash,8條主控總線和7條被控總線,2個32位定時器和150個I/O接口。主控系統(tǒng)利用通信模塊分別獲取飛行姿態(tài)數(shù)據(jù)、避障雷達數(shù)據(jù)、位置信息、高度數(shù)據(jù)等,然后利用芯片完成對各類數(shù)據(jù)的處理,再將處理結(jié)果同步反饋給地面站。地面站根據(jù)接收處理結(jié)果,編輯控制指令發(fā)送給無人機的主控系統(tǒng)。主控系統(tǒng)響應(yīng)指令,并輸出PWM信號改變電機轉(zhuǎn)速,進而實現(xiàn)對無人機高度、速度、姿態(tài)的調(diào)整。當無人機到達指定位置后,噴灑系統(tǒng)開始作業(yè),向指定區(qū)域噴灑農(nóng)藥[1]。
本系統(tǒng)的電池供電部分根據(jù)供電對象的不同分成3類,分別是電機供電、隔離電源供電和非隔離電源供電。其中,隔離電源為無人機的噴灑系統(tǒng)供電,非隔離電源則為無人機的定位系統(tǒng)、避障系統(tǒng)、高度測量系統(tǒng)等供電。考慮到不同芯片的工作電壓存在差異,本文在設(shè)計電源電路時,利用電壓轉(zhuǎn)換電路將電池輸出的12 Ⅴ電壓轉(zhuǎn)化成多種電壓,例如將+12 Ⅴ電壓轉(zhuǎn)換成+5 Ⅴ電壓,為STM32F428IGT6芯片供電,再將+5 Ⅴ電壓轉(zhuǎn)換成3.3 Ⅴ電壓為氣壓傳感器供電。同時,電機在運行時輸出的大電流會產(chǎn)生較強的磁場,干擾飛行控制系統(tǒng)中的傳感器、控制器等電氣設(shè)備的正常工作。在電源供電系統(tǒng)設(shè)計中,將電機電源與其他控制系統(tǒng)的電源分開,并做屏蔽處理,從而保證了無人機飛行控制系統(tǒng)的穩(wěn)定性和可靠性。
2.2.1 通信系統(tǒng)框架
在農(nóng)業(yè)植保無人機飛行過程中,飛行控制系統(tǒng)的MCU需要實時獲取傳感器、定位系統(tǒng)反饋的數(shù)據(jù),同時在數(shù)據(jù)分析處理后生成新的控制指令,再將指令發(fā)送給執(zhí)行器,實現(xiàn)對無人機飛行姿態(tài)、飛行軌跡、飛行高度等各項參數(shù)的調(diào)整。數(shù)據(jù)的采集與指令的下達都需要通過通信系統(tǒng)完成,整個通信系統(tǒng)由主控MCU、傳感器MCU以及多種通信協(xié)議組成,通信流程如下:傳感器MCU基于SPI協(xié)議采集加速度計和陀螺儀的數(shù)據(jù),對于加速度數(shù)據(jù)實行低通濾波,對于陀螺儀數(shù)據(jù)實行偏置調(diào)整。然后傳感器MCU將處理后的加速度數(shù)據(jù)和陀螺儀數(shù)據(jù)進行融合,并基于CAN協(xié)議與主控MCU通信,將融合數(shù)據(jù)發(fā)送給主控MCU[2]。這樣一來,飛行控制系統(tǒng)的控制終端就能掌握無人機的實時飛行狀況,并基于控制程序生成新的操控指令,將指令傳輸至前端,完成姿態(tài)調(diào)整。
2.2.2 通信協(xié)議的選擇
本文設(shè)計的通信系統(tǒng)執(zhí)行兩種通信協(xié)議,即CAN協(xié)議和SPI協(xié)議。
CAN現(xiàn)場總線具有抗干擾能力強、支持遠距離傳輸、支持半雙工工作模式等優(yōu)勢,使用CAN協(xié)議傳輸報文時,可基于報文ID判斷是否接收該報文;若存在多個報文同時傳輸?shù)那闆r,CAN協(xié)議還能對報文進行優(yōu)先級排序,保證重要報文優(yōu)先傳遞?;贑AN通信協(xié)議的數(shù)據(jù)發(fā)送流程為:初始化CAN節(jié)點并設(shè)置CAN參數(shù),如模式、波特率等;選擇需要發(fā)送的數(shù)據(jù),將待發(fā)送數(shù)據(jù)封裝成一個CAN數(shù)據(jù)幀;將該數(shù)據(jù)幀發(fā)送到CAN總線上,利用ACK信號判斷數(shù)據(jù)幀是否發(fā)送成功。如果CAN節(jié)點未收到ACK信號,說明發(fā)送失敗,CAN節(jié)點會向發(fā)送端提供報錯信息;如果CAN節(jié)點收到ACK信號,說明發(fā)送成功,同時將錯位標記清零,繼續(xù)等待下一個數(shù)據(jù)幀的發(fā)送[3]。
SPI協(xié)議是一種串行同步通信協(xié)議,根據(jù)通信對象的不同可以分為“1主對1從”和“1主對N從”兩種模式。SPI接口允許通過的基本信號有4種,即SDI串行輸入信號、SDO串行輸出信號、SCK串行時鐘信號和CS使能信號。本文設(shè)計的無人機飛行控制系統(tǒng)中,傳感器MCU通過SPI協(xié)議與加速度計、陀螺儀等設(shè)備完成數(shù)據(jù)傳輸。
本文設(shè)計的農(nóng)業(yè)植保無人機飛行控制系統(tǒng)中包含多種傳感器,用于向系統(tǒng)主控MCU芯片反饋無人機的實施工況。傳感器類型及選擇如下:
1)磁傳感器。磁傳感器中敏感元件所處的外部環(huán)境中的磁場、電流、溫度等因素發(fā)生變化后,其輸出的電信號也會發(fā)生相應(yīng)的改變,利用這一特性可實現(xiàn)對相應(yīng)物理量的檢測。本系統(tǒng)中選用了HMC5883型磁傳感器,內(nèi)置I2C數(shù)字接口和12倍A/D轉(zhuǎn)換器,工作電壓為2.4 Ⅴ~3.6 Ⅴ,集成度高,抗干擾能力強。
2)氣壓傳感器。負責(zé)測量無人機飛行過程中氣體的絕對壓強,本系統(tǒng)中選用MS5611型氣壓傳感器,支持SPI和I2C兩種總線接口,分辨率小于10 cm。設(shè)備規(guī)格為6 mm×2.5 mm×1.2 mm,工作電壓為3.3 Ⅴ,體積較小,能耗較低。
3)姿態(tài)傳感器。負責(zé)測量三維姿態(tài)與范圍數(shù)據(jù),本系統(tǒng)中選用MPU6000型姿態(tài)傳感器,內(nèi)嵌低功耗的ARM處理器,可以實現(xiàn)三維姿態(tài)與范圍數(shù)據(jù)的運算。三軸陀螺儀、三軸加速度計以及數(shù)字運動處理器DMP均采用集成方式嵌入到MPU6000姿態(tài)傳感器中,使用SPI接口與其他寄存器之間進行通信[4]。
噴灑系統(tǒng)是農(nóng)業(yè)植保多旋翼無人機的核心部分,利用飛行控制系統(tǒng)可以自動開啟噴灑裝置,并靈活調(diào)節(jié)噴灑量,對節(jié)約農(nóng)藥、提升噴藥效果有積極幫助。農(nóng)業(yè)站的工作人員在規(guī)劃無人機飛行軌跡時,可以在軌跡上標記噴灑農(nóng)藥的坐標點;同時,為了保證噴藥效果,還需要標定具體的飛行參數(shù),例如無人機的飛行高度、飛行姿態(tài)以及噴灑裝置的開度等。當農(nóng)業(yè)植保無人機執(zhí)行任務(wù)時,首先沿著軌跡飛行,以正確的高度、姿態(tài)到達指定坐標點后,開啟噴灑裝置并噴灑農(nóng)藥;當無人機飛行到標定的結(jié)束點后,隨即關(guān)閉噴灑裝置,沿著航線返回起始點。
3.1.1 數(shù)據(jù)校正
農(nóng)業(yè)植保無人機飛行控制系統(tǒng)中的加速度計由于受制作工藝、出廠調(diào)校等因素的影響,不同產(chǎn)品之間可能會存在零點誤差、靈敏度偏差;同時受到周邊電磁環(huán)境的影響,加速度計測量信號也容易摻雜噪聲,這些問題都會對無人機姿態(tài)解算結(jié)果造成不良影響。以靈敏度偏差為例,無人機的加速度計在三軸分量相等的情況下,若靈敏度不一致將導(dǎo)致測量結(jié)果出現(xiàn)明顯誤差。本文在設(shè)計無人機飛行控制系統(tǒng)時,選擇了“橢球擬合法”對這些存在誤差或偏差的數(shù)據(jù)進行校正。橢球擬合法的校正原理為:理論上,處于靜止狀態(tài)的加速度計,其重力的向量頂點會落在一個空間球面上,但是因為度量單位存在差異,該向量頂點最終會落在一個橢球上,這兩個頂點之間的坐標差即為偏移量。選擇一組離線測量數(shù)據(jù)和一個理想的橢球,讓橢球面上數(shù)據(jù)點到理想橢球面的平方和最小,根據(jù)這一關(guān)系可以建立理想橢球的三維空間方程組。求解該方程組,用所得結(jié)果校正加速度計的偏移量[5]。
3.1.2 坐標轉(zhuǎn)換
因為電路設(shè)計存在差異,在無人機姿態(tài)解算時經(jīng)常會出現(xiàn)磁力計坐標與IMU坐標不重合的情況,這時需要將IMU坐標系作為基準(即世界坐標系),然后將磁力計坐標轉(zhuǎn)換到IMU坐標上,進而解算出正確的姿態(tài)角。同樣地,對于測量到的磁通量,也要通過正球投射的方式計算出投射量在加速度計坐標系的旋轉(zhuǎn)矩陣,然后使用歸一化算法得到加速度計的旋轉(zhuǎn)矩陣。
3.1.3 姿態(tài)融合
農(nóng)業(yè)植保無人機的飛行姿態(tài)融合方法有多種,比較常用的有矩陣融合、歐拉角融合等,不同的姿態(tài)融合方式在適用場景和表示方法上存在差異。從調(diào)查情況來看,農(nóng)業(yè)植保無人機多為四旋翼,可以選擇歐拉角和四元數(shù)融合算法[6]。歐拉角由3個獨立的角參量構(gòu)成,分別是章動角、進動角、自轉(zhuǎn)角,使用該算法進行姿態(tài)融合的優(yōu)勢在于無人機的姿態(tài)更加直觀形象、易于理解,缺點是計算量較大。在使用歐拉角算法求解無人機姿態(tài)時,需要建立歐拉角微分方程,該方程中包含許多三角運算,計算量較大,因此該算法通常適用于無人機飛行姿態(tài)變化不大的情況[7]。相比之下,四元數(shù)算法則是利用4個變量描述物體在四維空間的旋轉(zhuǎn),極大地提高了姿態(tài)解算的效率。在姿態(tài)解算時,首先定義1個四元數(shù),利用四元數(shù)中的4個未知量建立線性微分方程組,通過求解方程組的方式,實現(xiàn)對無人機的姿態(tài)解算。
PID控制算法中的比例(P)、積分(I)和微分(D)在無人機飛行控制系統(tǒng)中的作用如下:
1)比例調(diào)節(jié)。當飛行系統(tǒng)發(fā)生偏差時,通過比例調(diào)節(jié)縮小偏差。比例作用越大,則調(diào)節(jié)用時越少,但是過大的比例調(diào)節(jié)可能導(dǎo)致無人機飛行控制系統(tǒng)的穩(wěn)定性下降。
2)積分調(diào)節(jié)。用于消除系統(tǒng)的穩(wěn)態(tài)誤差,可以提高系統(tǒng)的動態(tài)響應(yīng)速度。
3)微分調(diào)節(jié)??梢詫ζ钤谖磥硪欢螘r間內(nèi)的變化趨勢做出預(yù)測,從而根據(jù)預(yù)測結(jié)果提前采取控制策略,達到減少超調(diào)量、縮短調(diào)節(jié)用時的效果。同時,微分調(diào)節(jié)也可在一定程度上提升系統(tǒng)的動態(tài)性能[8]。
在無人機飛行姿態(tài)的調(diào)控中,PID控制算法的實現(xiàn)流程為:首先通過比例調(diào)節(jié)確定臨界震蕩的P值,適當減小P值并增加I值,觀察靜態(tài)誤差的變化,不斷調(diào)節(jié)P值和I值,直到靜態(tài)誤差完全消除。最后增加D值,達到抑制干擾的目的。
本文在設(shè)計農(nóng)業(yè)植保無人機飛行控制系統(tǒng)時,為了進一步增強姿態(tài)調(diào)控的穩(wěn)定性,選擇了角度單環(huán)PID控制算法與角速度環(huán)PID控制算法串聯(lián)的方式[9]。在PID控制系統(tǒng)中,以遙控數(shù)據(jù)(期望角度)作為輸入量,以傳感器的測量角度作為反饋量。分別采集俯仰角、翻滾角、偏航角數(shù)據(jù),三者結(jié)合可以得到期望角速度。將角速度的期望值與測量值(反饋值)作差,計算結(jié)果作為角速度環(huán)PID控制器的輸入量,經(jīng)過處理后輸出PWM信號,利用該信號實現(xiàn)對多旋翼電機的控制,進而改變農(nóng)業(yè)植保無人機的飛行姿態(tài)。當無人機分姿態(tài)改變后,傳感器會繼續(xù)測量新的角度與角速度,再次將測量值與期望值對比,重復(fù)上述過程,從而實現(xiàn)閉環(huán)控制,保證了控制的穩(wěn)定性和精確性。
本文基于農(nóng)業(yè)植保作業(yè)需求設(shè)計的無人機飛行控制系統(tǒng),具有以下應(yīng)用優(yōu)勢:第一,自動化程度高,對地面站遠程控制的依賴性小。農(nóng)業(yè)站工作人員可以在飛行控制系統(tǒng)的人機交互界面上自主規(guī)劃飛行線路,并根據(jù)農(nóng)田分布和施藥需要,在電子地圖上標定噴灑農(nóng)藥的起點和終點。當農(nóng)業(yè)植保無人機飛行到起點后,飛行控制系統(tǒng)發(fā)送指令開啟噴藥裝置,開始噴灑農(nóng)藥;當農(nóng)業(yè)植保無人機飛行到終點后,飛行控制系統(tǒng)再發(fā)送指令關(guān)閉噴藥裝置,結(jié)束噴藥任務(wù)[10]。在整個過程中,農(nóng)業(yè)站工作人員只需要遠程操控。第二,農(nóng)藥使用率高,噴施效果好,飛行控制系統(tǒng)會根據(jù)預(yù)設(shè)飛行參數(shù)改變自身的飛行高度、飛行姿態(tài)等,然后選擇最佳位置噴灑農(nóng)藥。這樣就能最大程度上避免高空中噴灑的農(nóng)藥隨風(fēng)飄散造成浪費,盡可能讓農(nóng)藥灑落到地面農(nóng)作物上,對降低噴藥成本和提高農(nóng)藥利用率有積極作用。第三,安全性高,利用農(nóng)業(yè)植保無人機代替人工噴灑農(nóng)藥,可以避免農(nóng)藥揮發(fā)、滲漏對人體健康產(chǎn)生的危害,整個噴藥過程基本上實現(xiàn)了無接觸操作,在用藥安全方面具有顯著的優(yōu)勢。
將農(nóng)業(yè)植保無人機應(yīng)用到農(nóng)業(yè)植保作業(yè)中,除了能夠減輕勞動壓力、提高植保效率外,還能避免農(nóng)藥噴灑過程中對植保人員造成健康危害。為了保證農(nóng)藥噴灑的均勻性和有效性,對多旋翼無人機的飛行控制提出了嚴格要求。本文基于STM32F428IGT6芯片設(shè)計的無人機飛行控制系統(tǒng),利用定位系統(tǒng)、傳感器系統(tǒng)、通信系統(tǒng)等,可以實時獲取無人機的飛行姿態(tài)、飛行高度等基本參數(shù),在此基礎(chǔ)上利用規(guī)劃好的飛行軌跡,讓無人機沿著既定路線飛行,并發(fā)送控制指令讓無人機在合適位置噴灑農(nóng)藥,達到了遠程控制、自動作業(yè)的效果。