吳厚波, 孟志軍, 劉 卉, 陳競平
(1.首都師范大學信息工程學院,北京 100048; 2.北京農(nóng)業(yè)智能裝備工程技術研究中心,北京 100097)
近年來,伴隨著現(xiàn)代農(nóng)業(yè)技術的發(fā)展以及農(nóng)村勞動力減少的現(xiàn)狀,農(nóng)業(yè)機械多功能化、精準化和智能化已成為發(fā)展趨勢[1]。作為典型的農(nóng)機智能裝備,自動駕駛拖拉機可以解放人力,降低生產(chǎn)成本,同時提高農(nóng)業(yè)生產(chǎn)的可持續(xù)性和精準性,在如噴藥、施肥等使用化學物質(zhì)的作業(yè)任務中可以避免對人體的傷害和降低對土地、作物的過量污染。此外,小型農(nóng)田機器人的研究也得到關注,在一些重型機械不適合的環(huán)境中,如潮濕、泥濘的土地或小規(guī)模地塊中,可以起到更好的效果,也可以減少作業(yè)后土壤的板結度,并減少能源的消耗[2]。
大型農(nóng)田智能裝備技術研究通常以拖拉機為平臺,而小型農(nóng)田作業(yè)機器人的研發(fā)需要獨立的平臺,機械設計成本較高;并且農(nóng)田范圍廣,基礎設施條件受限,對機器人能源供給提出了更高的要求。目前國內(nèi)外關于小型農(nóng)田作業(yè)機器人的研究仍處于技術探索階段,潛在應用方向包括田間自主巡查、測繪農(nóng)田數(shù)據(jù)、監(jiān)測作物生長狀況,并在需要時對農(nóng)田進行高精度的精準除草和選擇性收獲[3]。農(nóng)田機器人BoniRob,通過激光雷達、慣性測量單元和GPS(全球定位系統(tǒng))進行定位導航,已經(jīng)可以用于農(nóng)田部分作物巡查作業(yè),并輔以其他傳感器監(jiān)測作物生長狀況,用戶可以通過WLAN(無線局域網(wǎng))遠程獲取監(jiān)測數(shù)據(jù)和修正運動路線[4]。Chen設計了1個植物監(jiān)測機器人,可以通過攝像系統(tǒng)監(jiān)測一些不便接近的植物,并可同時監(jiān)測多個小型植物[5]。
首先農(nóng)田巡查機器人需要追蹤預先規(guī)劃好的農(nóng)田路徑,完成自動巡航,因此機器人應具有高精度的定位和路徑追蹤功能。Griepentrog等針對農(nóng)村小面積農(nóng)田中缺少低價的高精度定位條件,提出了1種基于紅外跟蹤裝置的小型農(nóng)田機器人定位系統(tǒng),通過在農(nóng)田邊緣架設紅外跟蹤裝置,安裝了紅外傳感器的機器人,可以實現(xiàn)低成本且較高精度的定位[3]。Velasquez等設計了農(nóng)田機器人Helvis,通過使用激光雷達和SLAM算法探測玉米地環(huán)境并定位,使其實現(xiàn)在無路徑規(guī)劃下玉米地中的自動行走[6]。宋健等在田間預先埋設高頻電流的導線,為機器人加裝電磁感應傳感器,通過導線產(chǎn)生誘導信號,機器人通過1對電磁感應傳感器的信號電壓差值來定位并追蹤路徑[7]。陳艷等利用GPS獲取車輛的實時位置,通過機器視覺獲取導航路徑,實現(xiàn)GPS與視覺融合的導航方式[8]。以上方法仍有不足之處,紅外和電磁傳感需要在農(nóng)田中預先鋪設傳感器,激光和視覺傳感器需要以農(nóng)田作物作為參照,且對天氣有一定要求。但GPS可以做到不受環(huán)境條件限制,全天候高精度定位。
此外機器人應具備避障功能,楊小菊等將超聲波傳感器、紅外傳感器和電子羅盤相結合,通過模糊神經(jīng)網(wǎng)絡控制機器人避障[9]。金兆遠等組合使用多個超聲波傳感器,采用二分法與模糊控制相結合方式實現(xiàn)避障功能[10]。還有一些采用圖像識別與人工神經(jīng)網(wǎng)絡識別物體的方法[11]。相比較而言,激光測距傳感器測距精度高、分辨率好、抗干擾能力強,特別適用于實時控制系統(tǒng)的環(huán)境感知研究[12]。
本文以Seekur機器人平臺為基礎,通過加裝高精度雙天線GPS和激光測距儀構建農(nóng)田巡查機器人硬件系統(tǒng)。采用Microsoft Visual C++集成開發(fā)環(huán)境,應用ARIA機器人程序庫和ArcEngine地圖組件進行基于行為的程序設計與編碼。本研究采用了雙參數(shù)P控制算法實現(xiàn)目標路徑追蹤,使用模糊控制的方法避開路徑上的障礙物,并通過試驗驗證了算法的有效性。
基于Seekur平臺的農(nóng)田機器人系統(tǒng)如圖1所示,主要包括Seekur機器人平臺、R60S雙天線定位定向接收機、激光測距儀Sick LMS-200。
Seekur是由MobileRobotsActiveMedia公司推出的可以全天候運行、四輪獨立轉(zhuǎn)向的智能通用型機器人平臺。Seekur內(nèi)部可安裝5臺工控機,有效實現(xiàn)數(shù)據(jù)的集群運算和統(tǒng)一處理,并具有較重的負載能力和額外接口,允許在機器人上加裝其他傳感器及執(zhí)行機構。
R60S是聯(lián)適導航公司一款高精度北斗/GNSS(全球衛(wèi)星導航系統(tǒng))雙天線定位定向型接收機,具有抗干擾性好、初始化速度快、性能穩(wěn)定等優(yōu)點,能提供各種靜態(tài)或動態(tài)平臺精確的實時位置、航向、俯仰或橫滾姿態(tài)角,可運用在多種運動載體上。
激光測距儀LMS-200是SICK公司研制的激光雷達探測儀,通過計算發(fā)射激光脈沖的返回時間來探測前方障礙物。激光測距儀具有掃描時間短及不受環(huán)境、物體顏色和結構影響等優(yōu)點,能有效探測物體的體積和位置,為機器人避障提供精準數(shù)據(jù)。
ARIA是Seekur機器人配套的程序庫,支持在Microsoft Visual C++集成開發(fā)環(huán)境下進行程序開發(fā)。ARIA采用面向?qū)ο蟮脑O計模式,將機器人底層控制功能封裝成類,包含串口通信、狀態(tài)包和命令包的處理以及多線程控制、同步和異步機制等功能。用戶根據(jù)機器人應用需求調(diào)用ARIA庫函數(shù)開發(fā)實現(xiàn)相應功能。
ArcEngine是ESRI公司推出的1款嵌入式GIS(地理信息系統(tǒng))組件庫,用于構建定制應用,它提供了豐富的GIS相關接口,如地圖編輯、坐標轉(zhuǎn)換等功能。
本研究采用Microsoft Visual C++集成開發(fā)環(huán)境,應用ARIA機器人程序庫和ArcEngine地圖組件進行程序設計與編碼,實現(xiàn)了加載目標路徑、機器人定位、路徑追蹤顯示、障礙物探測及有效避障。
針對農(nóng)田機器人典型的田間巡查作業(yè),按照“農(nóng)田巡查作業(yè)完成作業(yè)的任務組合執(zhí)行任務的基本行為單元序列”逐級分層的研究思路,遵循機器人控制領域行為設計的針對性、唯一性和最小性的基本原則,解析出最小、唯一且可直接控制執(zhí)行的機器人基本行為單元,構建農(nóng)田機器人的基礎行為庫。如圖2所示,農(nóng)田機器人巡查作業(yè)具有半結構化特征,其行為具有功能性、時間性和關聯(lián)性,可分為理性行為和感性行為2類。
理性行為是基于“感知-思考-行為”的行為,屬于高層行為,其行為結果不會影響機器人當前的狀態(tài),而是決定未來的行動。例如路徑規(guī)劃行為,根據(jù)農(nóng)田環(huán)境和設定的目標規(guī)劃生成巡查作業(yè)路徑;障礙物探測行為,檢測機器人周邊環(huán)境是否出現(xiàn)障礙物;感性調(diào)度行為,根據(jù)其他理性行為的需求喚醒或休眠感性行為;自檢行為,定時檢查機器人自身狀態(tài)是否出現(xiàn)異常情況。
感性行為是基于“感知-行為”的行為,屬于低層行為。感性行為耗時短,直接影響機器人的當前狀態(tài)。例如路徑追蹤行為,追蹤當前規(guī)劃路徑的行為;避障行為,控制機器人繞開前方障礙物的行為;故障處理行為,當系統(tǒng)故障或遭遇其他不可預知的狀況時,為保證機器人安全的緊急制動行為。
以感性行為為例,將行為拆分為基本動作單元。如路徑追蹤行為可以拆分為GPS定位、計算轉(zhuǎn)向角和轉(zhuǎn)向3個基本動作單元;避障行為可以拆分為GPS定位、計算速度、計算轉(zhuǎn)向角、轉(zhuǎn)向、加速和減速6個基本動作單元。不同行為的實現(xiàn)過程,即為多個基本動作單元的時序組合。通過基本行為庫,再實現(xiàn)農(nóng)田巡查機器人“執(zhí)行任務的基本行為單元序列完成作業(yè)的任務組合農(nóng)田巡查作業(yè)”逐級組合。
采用統(tǒng)一建模語言(UML)描述機器人的行為,建模行為類及不同行為類之間的關聯(lián),圖3為農(nóng)田機器人的UML行為建模圖。
圖3中包含傳感器交互、理性行為、感性行為、Seekur控制4個部分的內(nèi)容。
(1)傳感器交互。由GPS傳感器GPSSensor類和激光傳感器LaserSensor類分別負責與GPS接收機和激光傳感器的交互、數(shù)據(jù)解析及傳遞等功能。
(2)理性行為。其中PathPlaning類為路徑規(guī)劃行為,負責導入地塊及路徑信息,通過GPS坐標生成新的路徑,將路徑傳遞給路徑追蹤行為Navigation類。ObstacleDetection類為障礙物探測行為,負責根據(jù)激光掃描數(shù)據(jù)解析障礙物信息,判斷是否需要避開障礙物,并將障礙物信息傳遞給避障行為ObstacleAvoid類;Dispatch類為感性調(diào)度行為,根據(jù)其他理性行為傳遞的信息,判斷激活或休眠感性行為;SelfCheck類是自檢行為,監(jiān)控機器人運行狀態(tài),并在故障時通過調(diào)度行為喚醒故障處理行為。
(3)感性行為。其中Navigation類為路徑追蹤行為,控制機器人即時追蹤路徑;ObstacleAvoid類為避障行為,控制機器人避開前方障礙物;FaultDisposal類為故障處理行為,在機器人故障時停止機器人運行,避免進一步的損失。
(4)Seekur控制。Seekur類為機器人控制類,負責與機器人本體的交互,從而控制機器人運動。
從路徑規(guī)劃行為中獲取目標路徑,采用北京54坐標系投影將GPS獲取的實時經(jīng)緯度數(shù)據(jù)轉(zhuǎn)換為平面坐標。
在機器人路徑追蹤控制方面,白辰甲設計了1個基于計算機視覺和深度學習的控制系統(tǒng),通過計算機視覺獲取農(nóng)機前方路況,再通過卷積神經(jīng)網(wǎng)絡學習和預測轉(zhuǎn)向角,進而自動控制農(nóng)機,但是機器視覺對環(huán)境要求較高,且通常只適用于某些地塊和作業(yè)類型,普適性較差[13]。張琳潔采用GPS進行定位,利用PID算法設計轉(zhuǎn)向控制器,為車輛的轉(zhuǎn)向機構建立運動學模型,設計了單因子自調(diào)整的模糊控制,再利用神經(jīng)網(wǎng)絡的自學習和自適應功能,建立模糊神經(jīng)網(wǎng)絡控制算法,計算農(nóng)田機器人轉(zhuǎn)角,實現(xiàn)在低速和平坦環(huán)境中有效地追蹤目標路徑[14]。該系統(tǒng)采用了多種方法,提高了精度,但也導致耗時較長,且需要大量數(shù)據(jù)預先進行學習。本研究采用改進的雙參數(shù)P控制方法,結合GPS定位,可以適應大多數(shù)農(nóng)田地塊,耗時短,能夠?qū)崿F(xiàn)有效的路徑追蹤行為。
如圖4所示,黑色直線為目標路徑,ε為機器人重心到目標路徑的距離,φ為機器人航向與目標路徑之間的夾角。
經(jīng)典的P控制方法,以機器人當前位置偏差ε為輸入,通過設置適當?shù)谋壤禂?shù)kε,控制機器人前輪相對轉(zhuǎn)向角ψk,可以實現(xiàn)基本的路徑追蹤。
發(fā)布會現(xiàn)場,兄弟(中國)董事長兼總經(jīng)理尹炳新先生為新品發(fā)布致辭。他指出,隨著中國經(jīng)濟的發(fā)展,個人消費升級趨勢明顯。針對家用市場的需求和變化,Brother不斷研發(fā)出與用戶需求更契合、更能激發(fā)用戶創(chuàng)造力的產(chǎn)品,以此滿足中國市場的需求。兩位生活達人受邀前來分享了各自關于品質(zhì)生活、收納整理方面的心得。城市里的生活忙碌中夾雜著喧囂。如何在有限的時間和空間里保有品質(zhì)?唯有取舍有道。每個人心中所求不同,而Brother能為追求簡約、時尚的人們帶去更多選擇。
ψ(k)=kεε(k)。
(1)
但是這種方法存在不少問題:其一,單參數(shù)P控制會導致航向偏差不斷累加,存在穩(wěn)態(tài)誤差,還可能導致計算的轉(zhuǎn)向角過大,使機器人出現(xiàn)逆向行駛;其二,由于不斷累加的航向偏差會使機器人的航向與目標路徑航向間存在較大誤差,需要經(jīng)過多次振蕩后才能與路徑航向一致。本研究對單參數(shù)P控制算法進行了改進,采用基于位置偏差和航向偏差的雙參數(shù)P控制算法,可以有效地改善單參數(shù)P控制算法的缺陷。
ψ(k)=kεε(k)+kφφ(k)。
(2)
式中:ε(k)為位置偏差,mm;φ(k)為航向偏差,°;kε為位置偏差比例系數(shù);kφ為航向偏差比例系數(shù);ψ(k) 為機器人轉(zhuǎn)向角,°。
在雙參數(shù)P控制算法中,位置偏差ε(k)和航向偏差φ(k)是相互協(xié)作制衡的關系。在追蹤過程中,位置偏差ε(k)為正值時,航向偏差φ(k)通常為負值,反之亦然。通過選擇合適的比例系數(shù)kε和kφ,當機器人和目標路徑距離較遠時,kεε(k)較大,令ψ(k) 為正值,機器人轉(zhuǎn)向目標路徑。當機器人和目標路徑距離較近,且航向偏差較大時,kφφ(k)較大,令ψ(k)為負值,令機器人提前反向調(diào)整轉(zhuǎn)角。通過提前反向調(diào)整的緩沖,使得最后的轉(zhuǎn)角不會引起逆行,也可以有效地減小機器人抵達目標路徑時,機器人和目標路徑間的航向偏差,減小追蹤過程中的振蕩。因為有航向偏差φ(k)參與作為緩沖,可以有效地降低系統(tǒng)穩(wěn)態(tài)誤差,并且控制方法簡單。
3.3.1 Seekur機器人標定試驗
3.3.1.1 Seekur車輪轉(zhuǎn)速標定 Seekur的左右輪轉(zhuǎn)速存在細微差異,在進行試驗前需進行車輪轉(zhuǎn)速標定。令Seekur靜止,以0.5 m/s的速度,沿正前方行駛30 s。其間每隔0.1 s記錄1次Seekur的左輪速度vl、右輪速度vr、旋轉(zhuǎn)速度vrot。
3.3.1.2 GPS雙天線航向安裝偏差標定 在Seekur平臺上安裝GPS雙天線時,前后天線的連線與Seekur的中軸線存在初始安裝偏差。首先記錄Seekur初始的GPS坐標及航向φg,然后令Seekur以0.5 m/s的速度沿直線方向行駛20 s,記錄Seekur停止時的GPS坐標及相對于初始位置的航向誤差φs。根據(jù)行駛軌跡生成路徑并計算路徑航向φp,則GPS雙天線航向安裝偏差為
Δφ=φp-φs-φg。
(3)
3.3.1.3 標定結果 按照前述方法對Seekur車輪轉(zhuǎn)速和GPS雙天線航向安裝偏差進行多次重復試驗,計算誤差均值,詳見表1。
表1 標定試驗結果
表2 路徑追蹤參數(shù)及結果
當kε不變時,調(diào)整比例系數(shù)kφ,隨著kφ的增加,橫向偏差均值的變化如同1個波谷,標準差的值則不斷減?。划攌φ不變時,調(diào)整比例系數(shù)kε,隨著kε的增加,橫向偏差均值不斷減小,標準差的變化如同1個波谷。尋找調(diào)節(jié)過程中均為波谷的參數(shù)值作為最后的結果。在上述試驗中,通過合理調(diào)整比例系數(shù),能夠?qū)崿F(xiàn)Seekur機器人的路徑追蹤。圖5中,虛線為目標路徑,實線為kε=0.025和kφ=0.5時的追蹤路徑,從數(shù)據(jù)結果分析,Seekur系統(tǒng)的標準差較小,說明算法具有較好的穩(wěn)定性,但仍存在一定的系統(tǒng)偏差,使得橫向偏差均值較大,還需進一步的算法改進。
障礙物探測行為在機器人運動過程中不斷接收解析激光數(shù)據(jù),判斷前方是否有障礙物[14],有障礙物時是否進入預警范圍,當有障礙物進入預警范圍時,通過感性調(diào)度行為喚醒避障行為,并傳遞障礙物信息。
農(nóng)田機器人避障行為使用模糊控制算法。如圖6所示,障礙物與機器人間距離為ε0,夾角為φ0,機器人下一步轉(zhuǎn)向角為ψ(逆時針為正)。其中,距離ε0和夾角φ0為輸入量,下一步轉(zhuǎn)向角ψ為輸出量。
輸入值中距離ε0的量化論域Xε=[-4,4],其語言值的模糊子集為{很近,近,居中,遠,很遠},即{VN,N,M,F(xiàn),VF};夾角φ0的論域為Xφ=[-6,6],其語言值的模糊子集為{左大,左中,左小,零,右小,右中,右大},即{LL,LM,LS,ZO,RS,RM,RL}。
輸出值轉(zhuǎn)向角ψ的量化論域Xψ=[-3,3],其語言值的模糊子集為{負大,負中,負小,零,正小,正中,正大},即{NL,NM,NS,ZO,PS,PM,PL}。
采用三角隸屬函數(shù)計算輸出值:
(4)
式中:n代表本次輸入激活的子集個數(shù);με(xi)為激活子集的距離隸屬度;μφ(yi)為激活子集的角度隸屬度;Yi為當前激活子集對應的輸出轉(zhuǎn)向角論域的值;ψ為最終輸出的轉(zhuǎn)向角,°。
模糊控制規(guī)則見表3。
表3 避障模糊控制規(guī)則
在Seekur機器人仿真環(huán)境MobileSim中,加載使用Mapper3繪制的具有障礙物的農(nóng)田地圖,對避障過程進行仿真。如圖7所示,機器人在探測到障礙物后,能根據(jù)激光掃描信息,使用模糊控制的方法避開障礙物,繼續(xù)追蹤原路徑。目前的避障算法僅能應對數(shù)量較少的障礙物,難以應對復雜環(huán)境及運動障礙物,還需開展進一步研究。
(1)以Seekur機器人平臺為基礎,通過加裝高精度雙天線GPS接收機和激光測距儀構建農(nóng)田巡查機器人硬件系統(tǒng)。
(2)針對農(nóng)田機器人典型的田間巡查作業(yè),按照逐級分層思想,解析最小、唯一且可直接控制執(zhí)行的機器人基本行為單元,研究不同行為間的關系,構建農(nóng)田機器人的基礎行為庫。
(3)采用改進的雙參數(shù)P控制方法實現(xiàn)機器人的路徑追蹤行為,開展田間試驗,調(diào)整距離參數(shù)和角度參數(shù),最終穩(wěn)定追蹤時橫向偏差均值為 4.55 cm,標準差為1.06 cm,能夠?qū)崿F(xiàn)較準確的目標路徑追蹤任務。
(4)采用模糊控制方法實現(xiàn)機器人的避障行為,以障礙物和機器人間距離和角度為輸入量,以機器人轉(zhuǎn)向角為輸出量,建立模糊規(guī)則。當其被障礙物探測行為通過感性調(diào)度行為喚醒時,控制機器人避開障礙物,通過仿真驗證了模糊控制規(guī)則的可行性。