,,,,
(1.中國空間技術(shù)研究院 航天恒星科技有限公司,北京 100095; 2.哈爾濱航天恒星數(shù)據(jù)系統(tǒng)科技 有限公司,哈爾濱 150028; 3.中國東方紅衛(wèi)星股份有限公司,北京 100081)
大型農(nóng)機(jī)的自動駕駛作業(yè)是近年來精準(zhǔn)農(nóng)業(yè)領(lǐng)域研究的重點,隨著衛(wèi)星導(dǎo)航技術(shù)的發(fā)展,導(dǎo)航定位精度已經(jīng)可以達(dá)到實時厘米事后毫米級,采用衛(wèi)星導(dǎo)航實時感知農(nóng)機(jī)的精確位置,并通過反饋控制農(nóng)機(jī)的轉(zhuǎn)向機(jī)構(gòu)從而實現(xiàn)對農(nóng)機(jī)的自動化作業(yè)。
斯坦福大學(xué)O’Connor最早建立了拖拉機(jī)行走模型用于智能農(nóng)機(jī)領(lǐng)域的研究[1]。Zhang采用衛(wèi)星導(dǎo)航技術(shù)結(jié)合二輪機(jī)模型,對農(nóng)機(jī)自動導(dǎo)航駕駛技術(shù)進(jìn)行研究[2]。國內(nèi)莊衛(wèi)東等人研究了農(nóng)機(jī)直線行走的差分導(dǎo)航算法,提出了農(nóng)機(jī)橫向位置偏差和前輪轉(zhuǎn)角組合的二維控制規(guī)則[3]。國內(nèi)西北農(nóng)林科技大學(xué)、中國農(nóng)業(yè)大學(xué)較早從自動控制角度研究農(nóng)機(jī)自動導(dǎo)航駕駛技術(shù),對農(nóng)機(jī)自動導(dǎo)航駕駛控制技術(shù)的發(fā)展具有較大的推動作用[4-5]。華南農(nóng)業(yè)大學(xué)進(jìn)一步將農(nóng)機(jī)運動學(xué)模型和拖拉機(jī)電液控制模型相結(jié)合,完成了閉環(huán)控制系統(tǒng)設(shè)計并進(jìn)行場地測試,使得這一技術(shù)走向?qū)嵱肹6]。近年來中科院沈陽自動化研究所通過模糊控制方法對農(nóng)機(jī)自動導(dǎo)航駕駛控制模型進(jìn)行優(yōu)化,進(jìn)一步提升了農(nóng)機(jī)作業(yè)的精度和可靠性[7-9]。
但由于農(nóng)機(jī)作業(yè)環(huán)境屬于一種復(fù)雜工況下的作業(yè),受到土質(zhì)、氣候、降雨、地理環(huán)境、信號傳輸?shù)染C合影響,導(dǎo)致這一技術(shù)的可靠性和適應(yīng)性難以滿足農(nóng)業(yè)生產(chǎn)的需求。農(nóng)機(jī)自動導(dǎo)航駕駛技術(shù)屬于跨學(xué)科的符合領(lǐng)域。工程化過程中,涉及衛(wèi)星導(dǎo)航及增強(qiáng)、電液驅(qū)動、反饋控制、軟件工程、信號處理等多學(xué)科的融合,傳統(tǒng)設(shè)計采用模塊化集成的方式,導(dǎo)致控制模塊、農(nóng)機(jī)跟蹤模塊、高精度組合導(dǎo)航模塊、電液驅(qū)動之間松耦合設(shè)計不能滿足實時高精度控制的目的,進(jìn)而影響到作業(yè)精度的提升,在復(fù)雜的工況下,分模塊頻繁升級和運維也難以滿足大面積推廣應(yīng)用的需求。
表1 系統(tǒng)技術(shù)要求
本文提出一種規(guī)范化的集中式農(nóng)機(jī)自動導(dǎo)航駕駛控制器架構(gòu)及工程設(shè)計方法,將模糊控制模型、組合導(dǎo)航算法、二輪機(jī)運動模型、人機(jī)交互采用集中式耦合設(shè)計,將核心關(guān)鍵技術(shù)集成在ECU中,經(jīng)過場地準(zhǔn)直線度測試,發(fā)現(xiàn)在確保2.5厘米作業(yè)精度輸出約束前提下,其成本和可靠性得到大幅度提升。有利于該技術(shù)實現(xiàn)大規(guī)模推廣應(yīng)用。
智能農(nóng)機(jī)自動導(dǎo)航駕駛控制器包括功能和性能技術(shù)要求,功能主要圍繞自走式作業(yè)的軌跡規(guī)劃、啟停等應(yīng)用功能,性能主要圍繞作業(yè)精度進(jìn)行展開。其中功能要求主要包括作業(yè)之前設(shè)定作業(yè)軌跡,設(shè)定AB作業(yè)基準(zhǔn)線,自動駕駛控制的手動啟停,狀態(tài)切換等。性能要求主要為滿足2.5厘米和4.0厘米的作業(yè)精度下,差分定位的精度要求至少厘米級。
ECU屬于整個農(nóng)機(jī)自動導(dǎo)航駕駛的核心控制單元,如圖1所示,ECU通過外接三軸慣性元件獲取姿態(tài)和加速度信息,通過外接角度傳感器獲取轉(zhuǎn)向輪偏角,通過外接高精度導(dǎo)航接收機(jī)獲取高精度定位信息,通過外接平板電腦獲取機(jī)手下發(fā)的各種操作指令,以上述各種接收信息為輸入,在ECU中進(jìn)行信息融合處理,實現(xiàn)對農(nóng)機(jī)作業(yè)軌跡自適應(yīng)跟蹤控制。
圖1 系統(tǒng)組成圖
反饋控制量有三個,其中角度傳感器的分辨率為0.05度,高精度導(dǎo)航差分接收機(jī),可到實時厘米級的導(dǎo)航定位精度,電液比例閥可按照輸出控制量成比例地控制執(zhí)行機(jī)構(gòu)動作。三軸慣性單元用于感知農(nóng)機(jī)的姿態(tài)和加速度等信息,便于推算農(nóng)機(jī)側(cè)傾誤差,同時用于實現(xiàn)高精度接收機(jī)組合導(dǎo)航。
如圖2所示為整個系統(tǒng)的邏輯架構(gòu),人機(jī)交互模塊運行在ECU單元的ARM端,采用嵌入式WEB開發(fā)方式,平板電腦側(cè)為人機(jī)交互客戶端,通過瀏覽器即可實現(xiàn)B/S架構(gòu)的人機(jī)操作。主要核心控制模塊運行在DSP端,人機(jī)交互與DSP側(cè)的控制分系統(tǒng)采用TMS320DM6446的雙核通信機(jī)制進(jìn)行信息傳遞。
圖2 邏輯架構(gòu)圖
整個系統(tǒng)的技術(shù)流程由人機(jī)界面進(jìn)行觸發(fā),順次由地頭校準(zhǔn)配置、作業(yè)軌跡基準(zhǔn)AB線規(guī)劃、自動駕駛的啟動,自動駕駛的退出等流程組成,各業(yè)務(wù)流程映射到后端服務(wù),通過ECU控制和執(zhí)行液壓機(jī)構(gòu)的聯(lián)動,最終實現(xiàn)整個農(nóng)機(jī)自動駕駛的應(yīng)用。
以下為本系統(tǒng)的使用模式:
圖3 系統(tǒng)流程圖
(1)用戶新建地塊或編輯地塊后進(jìn)入自動駕駛作業(yè)的設(shè)置界面,以AB線為例,農(nóng)機(jī)手將拖拉機(jī)駕駛到預(yù)作業(yè)地塊,并將車頭與地壟平行,點擊平板觸摸屏 “設(shè)置A點”;
(2)平板電腦將指令發(fā)送給ARM中央控制器,中央控制器抓取該點位置數(shù)據(jù),并保存;
(3)農(nóng)機(jī)手將拖拉機(jī)駕駛到預(yù)作業(yè)地塊另一地頭停車,點擊平板觸摸屏上的“設(shè)置B點”;
(4)平板電腦將指令發(fā)送給ARM中央控制器,中央控制器抓取該點位置數(shù)據(jù),并保存;
(5)中央控制器和DSP建立兩點間直線模型,并根據(jù)設(shè)置的機(jī)具幅寬和偏移量建立平行直線模型;
(6)農(nóng)機(jī)手通過平板觸摸屏點擊“啟動自走作業(yè)”,拖拉機(jī)按照之前建立的平行直線模型開始作業(yè);
(7)ECU實時采集液壓控制系統(tǒng)狀態(tài)參數(shù)、角度傳感器狀態(tài)參數(shù),并通過分析計算出實時作業(yè)與設(shè)定平行直線的偏差,并將偏差值字段傳出給平板電腦,平板電腦進(jìn)行顯示,供農(nóng)機(jī)手參考;
(8)當(dāng)拖拉機(jī)偏離已設(shè)定平行直線時,ECU將實時糾偏控制信號發(fā)送到液壓閥控制器,進(jìn)行農(nóng)機(jī)前進(jìn)方向的糾正與校準(zhǔn);
(9)當(dāng)農(nóng)機(jī)手執(zhí)行手動操作時,手動優(yōu)先傳感器將手動控制信號發(fā)送給ECU,ECU取消自動駕駛控制,將手動控制相應(yīng)字段傳輸給平板電腦,平板電腦進(jìn)行顯示。
農(nóng)機(jī)自動導(dǎo)航駕駛系統(tǒng)控制單元由導(dǎo)航控制器、自矯正控制器和轉(zhuǎn)向控制器組成。導(dǎo)航控制器根據(jù)農(nóng)機(jī)的當(dāng)前位姿信息和目標(biāo)路徑信息,按照某種導(dǎo)航控制策略,計算出轉(zhuǎn)向角度的期望值,即轉(zhuǎn)向角指令。自校正控制器作為輔助控制器,采用模糊控制方法,基于駕駛員經(jīng)驗設(shè)計模糊控制規(guī)則,校正模型控制器控制量。自動轉(zhuǎn)向器控制的原理是:發(fā)動機(jī)啟動后,轉(zhuǎn)向液壓泵開始運轉(zhuǎn);轉(zhuǎn)向操縱控制器檢測拖拉機(jī)轉(zhuǎn)向前輪轉(zhuǎn)角信息,根據(jù)導(dǎo)航控制器由CAN總線發(fā)出的轉(zhuǎn)向控制指令,控制液壓電磁閥單元(比例閥、換向閥)的開度和方向。轉(zhuǎn)向操縱控制器在轉(zhuǎn)向控制過程中使用PID控制算法控制比例閥和換向閥動作,使液壓執(zhí)行機(jī)構(gòu)正確執(zhí)行轉(zhuǎn)向指令[8]。
以上系統(tǒng)控制模型屬于反饋閉環(huán)控制系統(tǒng),采用理論控制模型執(zhí)行控制時,由于農(nóng)機(jī)面對復(fù)雜的作業(yè)工況,很難實現(xiàn)普適精確的模型控制,工程實施過程中,普遍采用模糊量化控制規(guī)則對復(fù)雜模型進(jìn)行簡化設(shè)計,宏觀上采用農(nóng)機(jī)運動學(xué)模型結(jié)合二維自校正輪偏角模糊量化規(guī)則進(jìn)行精確控制,可有效降低導(dǎo)航控制算法的復(fù)雜度。
圖4 系統(tǒng)控制模型
主控ECU由TI雙核6446為核心的外圍電路組成,雙核CPU包括C64x+系列的浮點型DSP和ARM9核,其中ARM核主要運行嵌入式Linux,人機(jī)交互軟件以嵌入式WEB的方式部署于ARM核上,DSP執(zhí)行導(dǎo)航控制算法,則用于對轉(zhuǎn)向執(zhí)行機(jī)構(gòu)進(jìn)行實時控制。
整個主控軟件程序分為四個層次,應(yīng)用層、服務(wù)層、操作系統(tǒng)層、硬件抽象層:
1)HAL層:又稱為BSP層,提供板級支持,主要對電路板上的各硬件資源和總線進(jìn)行驅(qū)動,封裝后對上層提供讀寫控制三種操作;
2)OS層:采用嵌入式實時操作系統(tǒng)uCOSII,提供對底層硬件資源的隔離封裝;
3)服務(wù)層:使用uCOSII所提供的API對上層的業(yè)務(wù)應(yīng)用提供支撐;
4)應(yīng)用層:根據(jù)平板電腦下發(fā)的指令,執(zhí)行相應(yīng)的操作,主要包括4大業(yè)務(wù)應(yīng)用。
圖5為硬件組成框圖,以TMS320DM6446雙核CPU為核心,通過DA模塊輸出模擬控制量對電液比例閥執(zhí)行控制,AD轉(zhuǎn)換模塊實施采集前輪偏角的值作為反饋控制系統(tǒng)的參考輸入,三軸慣性單元通過串口以100Hz的頻次將加速度和姿態(tài)等信息輸入用于控制模型的組合導(dǎo)航結(jié)算。高精度接收機(jī)實時輸入高精度位置信息,也可以將原始觀測量輸入CPU,在CPU上執(zhí)行組合導(dǎo)航控制。電路板其他模塊包括常規(guī)的晶振、FLASH、SDRAM、供電等外圍電路模塊。
圖5 硬件組成框圖
圖6為嵌入式軟件架構(gòu)圖,該軟件執(zhí)行與DSP核,主要執(zhí)行控制模型和組合導(dǎo)航等算法,采用嵌入式實時操作系統(tǒng)uCOS II,分四層進(jìn)行設(shè)計。該軟件同人機(jī)交互軟件通過雙核通信機(jī)制進(jìn)行交互。
圖6 嵌入式軟件架構(gòu)
人機(jī)交互軟件運行于ARM核,通過配置Linux嵌入式操作系統(tǒng),采用采用基于WEB的嵌入式開發(fā)方法,配置Apache引擎,采用PHP編程方式實現(xiàn)人機(jī)交互。主要包括參數(shù)設(shè)置模塊、自動駕駛作業(yè)觸發(fā)模塊。
在參數(shù)設(shè)置界面,總共有5種參數(shù)設(shè)置的頁面,每個參數(shù)設(shè)置頁面有著對應(yīng)的多個設(shè)置項,5種參數(shù)設(shè)置分別是差分方式、車輛設(shè)置、農(nóng)具設(shè)置、自動校準(zhǔn)和軟件升級。查分方式設(shè)置主要包括電臺設(shè)置、3G設(shè)置等多個設(shè)置項。車輛設(shè)置主要包括車輛的增、刪、改、查、天線高度、天線偏移、ECU距天線距離、天線與前輪中心距離、天線與后輪中心距離、轉(zhuǎn)向調(diào)整和靈敏度調(diào)整等多種車輛設(shè)置項。農(nóng)具設(shè)置包括農(nóng)具的增刪改查、農(nóng)具類型等多種農(nóng)具設(shè)置項。自動校準(zhǔn)包括水平校準(zhǔn)和轉(zhuǎn)向死區(qū)校準(zhǔn)。軟件升級包括本地升級和遠(yuǎn)程升級。在參數(shù)設(shè)置界面還增加了設(shè)置向?qū)?,在用戶第一次使用時會幫助對每項進(jìn)行參數(shù)設(shè)置。
進(jìn)入自動駕駛界面后,可以進(jìn)行A、B點的選取,生成AB線并保存,也可以對直線規(guī)劃過的AB線進(jìn)行查詢、修改和刪除。
AB線設(shè)置好后可開始自動駕駛,并可進(jìn)入監(jiān)控頁面,在規(guī)劃的軌跡線路下跟蹤農(nóng)機(jī)位置,發(fā)生偏轉(zhuǎn)后可在地圖上顯示出距離最近的規(guī)劃路徑的偏轉(zhuǎn)距離。
通過搭建閉環(huán)測試系統(tǒng)執(zhí)行田間測試,分別執(zhí)行交接行測試和準(zhǔn)直線度測試,分比如下。
1)在使用自動駕駛前需在空地上準(zhǔn)確測量農(nóng)具寬幅(66厘米/隴),在該數(shù)值上再加交接行數(shù)據(jù)66厘米輸入到自動駕駛系統(tǒng)中,開啟自動駕駛作業(yè),通過測量兩個交接行計算農(nóng)具偏移并輸入到自動駕駛系統(tǒng)中;
2)在農(nóng)具寬幅和農(nóng)具偏移值都輸入正確的情況下,放下農(nóng)具,使農(nóng)機(jī)在自動駕駛狀態(tài)下完成至少5條交接行;
3)測量藍(lán)色第4號壟溝與紅色第4號壟溝之間的距離,如圖所示,以此類推。每隔2m設(shè)為一點立下標(biāo)桿并記錄兩條中間壟溝之間的距離;
4)每兩條相鄰不同方向的中間壟溝對應(yīng)的點所記錄的數(shù)據(jù)不小于40組;
5)重復(fù)步驟5、6,完成至少5條不同交接行的測試。
1)完成自動駕駛系統(tǒng)的搭建工作,確認(rèn)系統(tǒng)能夠正常進(jìn)行工作;
2)完成旋耕整地機(jī)安裝與校準(zhǔn)工作;
3)開啟自動駕駛作業(yè),使農(nóng)機(jī)在自動駕駛狀態(tài)下完成至少5個交接行;
4)自地頭10米處每隔2 m設(shè)立一個測量點位,并在該處打下桿子;
5)以A點為前視點,B點為后視點建立測量直線,使用全站儀在A點處對每個桿子進(jìn)行觀察,測量并記錄每個桿子所對應(yīng)點位的誤差值;
6)分別對每幅進(jìn)行測量,記錄測量誤差值;
表2 場地測試結(jié)果
通過起壟后插簽法進(jìn)行實地量測。發(fā)現(xiàn)平地作業(yè)精度可以達(dá)到2.5厘米(2σ),田間場地測試有一定地面阻力帶來一定誤差,準(zhǔn)直線度和交接行接近70%的點位作業(yè)精度2.5 cm,大約96%以上的作業(yè)點位精度4 cm。均滿足農(nóng)機(jī)化作業(yè)使用要求。
本文提出的智能農(nóng)機(jī)自動導(dǎo)航駕駛控制器的設(shè)計,采用DSP+ARM雙核集中式架構(gòu),實現(xiàn)了農(nóng)機(jī)自動駕駛作業(yè)的控制,通過田間實測,達(dá)到2.5厘米作業(yè)精度。整個系統(tǒng)的核心控制算法和人機(jī)交互軟件均置于控制器內(nèi),利于采用緊耦合組合導(dǎo)航算法提升可靠性。同步降低了設(shè)備復(fù)雜度,便于系統(tǒng)的推廣。批量化的工程設(shè)計可采用SOC設(shè)計進(jìn)一步縮小體積。