岳健民,趙金才,劉國彥,蘇笑田
(300384 天津市 天津農(nóng)學(xué)院 工程技術(shù)學(xué)院)
設(shè)施園藝產(chǎn)業(yè)化生產(chǎn)在西方發(fā)達國家的水平已經(jīng)較高、規(guī)模很大。近些年,我國的園藝產(chǎn)業(yè)化生產(chǎn)也在快速發(fā)展,但現(xiàn)今市面上的園藝機器人仍然稀少,且大多實現(xiàn)功能單一,自動化和智能化實現(xiàn)程度仍然處于較低的水平[1]。目前,國內(nèi)外研究和投入應(yīng)用的機器人作業(yè)對象基本集中在黃瓜、番茄等蔬菜,西瓜、甜瓜等瓜類,以及溫室內(nèi)種植的菌菇等勞動密集型作物。機器人作業(yè)時,由于光線和葉面的遮擋,準確率受到很大影響,因此相關(guān)的算法還需要不斷優(yōu)化,以滿足設(shè)施生產(chǎn)的環(huán)境要求和生產(chǎn)準確度[2]。本文綜合利用機器視覺、紅外與超聲波傳感器、北斗/GPS定位技術(shù)等,構(gòu)建了基于多傳感器融合的園藝機器人平臺自主導(dǎo)航系統(tǒng)。通過多種傳感器信息的融合與分析利用,為園藝機器人平臺的自主行走和生產(chǎn)動作提供決策依據(jù),為解決設(shè)施園藝環(huán)境復(fù)雜、機器人運動受限制條件多等自主作業(yè)困擾問題提供解決思路。
本研究采用STM32F103ZET6(以下簡稱STM32F103)作為系統(tǒng)的控制核心,選用ALIENTEK 推出的高清攝像頭模塊ATK-OV2640作為視覺系統(tǒng),采用北斗/GPS 雙模定位實現(xiàn)路徑的構(gòu)建與識別,通過紅外、超聲波測距傳感器檢測障礙物。采用信息融合算法構(gòu)建了園藝環(huán)境機器人作業(yè)平臺自主導(dǎo)航控制系統(tǒng),結(jié)構(gòu)框圖如圖1 所示。
圖1 系統(tǒng)結(jié)構(gòu)框圖Fig.1 System structure diagram
系統(tǒng)硬件主要包括主控制器、電機控制與驅(qū)動模塊、電機、車輪、履帶、電池及多種傳感器。硬件電路連接如圖2 所示。
圖2 硬件電路連接圖Fig.2 Hardware circuit connection diagram
主控制器采用STM32F103,這是一款32 位的微控制器,主要有實時定位功能和快速數(shù)字和信號處理功能,片上512 kb 的Flash 及64 kB 的SRAM,具有80 個GPIO 接口以及IIC、SPI 和USART 接口功能,滿足本系統(tǒng)與不同傳感器的通信功能及對執(zhí)行單元的控制功能。
選用圖像采集模塊ATK-OV2640,它具有200W 像素,其采用Omni Vision 公司生產(chǎn)的一顆1/4 寸CMOSUXGA(1 632*1 232)圖像傳感器OV2640 作為核心部件,集成有源晶振和LDO,具有標準的SCCB 接口,兼容IIC 接口,安裝在小車的正前方,滿足本系統(tǒng)對圖像采集需要。
選用ATK-S1216F8-BD 模塊,它是一款高性能北斗/GPS 雙模定位模塊,集定位、測速、定姿和授時等多種功能于一體,具有全球覆蓋、全天候、高精度和近乎連續(xù)實時的特點。該模塊體積小巧,性能優(yōu)異;可通過串口進行各種參數(shù)設(shè)置,并可保存在內(nèi)部FLASH,使用方便;自帶IPX 接口,可以連接各種有源天線。
選用HC-SR04 超聲波傳感器,它具有操作簡單、工作穩(wěn)定可靠且精度高、技術(shù)成本較低等優(yōu)點。選用GP2Y0A21YK0 紅外傳感器,它是一款使用較多的紅外測距傳感器,在光線較弱的環(huán)境下效果好。為避免單一種超聲波避障存在的局限性,引入紅外測距模塊加以輔助避障。超聲波傳感器共設(shè)有6 組,分別安置在小車的正前方、左前方、右前方、左右兩側(cè)及車尾,紅外測距傳感器共設(shè)有2 組,分別位于小車的左前方和右前方。
電機驅(qū)動模塊采用L293D,其有16 個端口,其中的6 個端口為電機控制信號輸入端口,4 個端口為電機驅(qū)動電壓輸出端口。4 個端口為接地端GND,2 個端口為L293D 供電電壓輸入端口VCC 和VCC2。VCC 給芯片提供5 V 的電壓使芯片可以正常工作,VCC2 給電機提供9 V 的電壓保障電機運轉(zhuǎn)。
要實現(xiàn)自主導(dǎo)航,除了需要獲取充分的外部環(huán)境信息外,還需要解決如何綜合利用這些信息確定導(dǎo)航策略并生成導(dǎo)航信息。本系統(tǒng)以攝像頭采集圖像為主,超聲波和紅外避障為輔,結(jié)合北斗/GPS 定位信息進行融合分析,實現(xiàn)導(dǎo)航功能。
主程序流程圖如圖3 所示。初始化包括對定時器、中斷及各傳感器的初始化工作,開啟系統(tǒng)的攝像頭和超聲波傳感器。為獲取系統(tǒng)信息,以攝像頭采集圖像為主,分析規(guī)劃路徑,以超聲波為輔檢測行進前方是否有障礙物??刂破鲗Σ杉降膱D像、各路數(shù)據(jù)進行融合,按照事先制定好的策略規(guī)劃出合理的行進路徑。當小車檢測到存在障礙時,將會進入到避障環(huán)節(jié),通過數(shù)據(jù)采集與分析,控制器發(fā)出直行、左轉(zhuǎn)、右轉(zhuǎn)、倒退等控制指令,當系統(tǒng)規(guī)避成功后,機器人平臺會繼續(xù)回歸到路徑的中心線,再次直線行走。
圖3 主程序流程圖Fig.3 Main program flow chart
主控器通過攝像頭對行進路徑的正前方進行實時圖像采集和預(yù)處理,采用通過提取圖像關(guān)鍵信息建立初始模型的方法,利用獲取的圖像特征分析行走路徑[3]。采用基于圖論的圖像分割算法對像素聚類后的圖像進行分割[4]。因灰度圖像更容易選擇出用于提取邊界線的主要類別區(qū)域,為此將分割后的圖像轉(zhuǎn)換為灰度圖像。由于本文算法應(yīng)用于導(dǎo)航,主要類別區(qū)域為地面,因此選擇圖像中底部中心位置的像素點為基準點與其他像素點進行比較,只保留具有相同顏色代碼的像素,以此提取出地面的圖像輪廓。通過圖像二值化處理,便于提取出地面和草木之間的邊界線。邊緣檢測中,濾去毛刺點,對圖像進行平滑處理,確定圖像的邊緣。根據(jù)提取的邊界線生成一條中心線,作為導(dǎo)航路徑,即圖像底部中心點到兩個提取線的交點的直線,根據(jù)所生成的路徑和北斗/GPS 定位模塊、超聲波及紅外避障模塊的信息來源,糾正其軌跡,實現(xiàn)自主導(dǎo)航[5]。
圖像處理過程如圖4 所示。
圖4 圖像處理過程Fig.4 Image processing process
定位模塊數(shù)據(jù)輸出采用NMEA-0183 標準,是美國國家海洋電子協(xié)會為海用電子設(shè)備指定的標準格式,目前已成了GPS 導(dǎo)航設(shè)備統(tǒng)一的RTCM 標準協(xié)議。數(shù)據(jù)傳輸以“語句”的方式進行,每個語句均為“$”開頭,然后是兩個字母的“識別符”和3 個字母的“語句名”組成的ID 信息頭,接著是以逗號分隔的數(shù)據(jù)體,語句末尾為校驗和,整條語句以回車換行符結(jié)束[6]。在本系統(tǒng)中,通過北斗/GPS 模塊可以從“$GPRMC”開頭的語句中獲取小車的位置、速度等相關(guān)的位姿參數(shù)來調(diào)整小車的車速與轉(zhuǎn)向。利用串口中斷將GPS 模塊送來的信號根據(jù)類型進行分類保存,供信息處理時調(diào)用[6]。表1 對$GPRMC,191128.365,A,3756.2485,N,12587.5386,W,1.250,304.62,130720,21.2,E*10 語句中的信息進行了說明。
表1 GPRMC 數(shù)據(jù)格式Tab.1 GPRMC data format
避障功能包括前方避障和依據(jù)旁側(cè)參照物(如地壟或植被)直行2 個方面,后者主要依靠紅外測距傳感器,前者要結(jié)合超聲波測距模塊與紅外測距模塊共同實現(xiàn)。工作流程如圖5 所示。
圖5 系統(tǒng)避障流程圖Fig.5 System obstacle avoidance flow chart
當前方發(fā)現(xiàn)障礙物足以影響行進時,系統(tǒng)將不再以攝像頭圖像信息為主,在車體周圍的5 組超聲波測距模塊和2 組紅外測距起主導(dǎo)作用輔助系統(tǒng)避開障礙。當距離障礙物小于一定距離時,系統(tǒng)會采取轉(zhuǎn)彎策略,并將再次測距,直到系統(tǒng)旁側(cè)傳感器檢測到已通過障礙物后,小車將再次回到以攝像頭為主的導(dǎo)航模式,校正車身回歸到行進路徑的中心線上。
為驗證本文導(dǎo)航算法的正確性,采用簡易移動平臺(以下簡稱小車)進行了初步的驗證性實驗。如圖6 所示,在小車前方出現(xiàn)障礙物且距離較遠時,小車根據(jù)北斗/GPS 獲取的速度信息,減速前行;如圖7 所示,當障礙物與小車之間的距離到達所設(shè)定距離時,移動平臺開始避障,小車開始向右調(diào)整角度(如圖8 所示);當紅外避障傳感器檢測到已經(jīng)避開障礙物后,小車自動校正車身,如圖9 所示;當已通過障礙物后,小車在主控器控制下通過快速調(diào)整重新回歸到前行路徑上,如圖10 所示;當小車經(jīng)校正回到最優(yōu)路徑后加速前行,如圖11 所示。
圖6 小車前方出現(xiàn)了障礙物Fig.6 Obstacle in front of the car
圖7 小車到達設(shè)定距離Fig.7 Reaches the set distance
圖8 向右調(diào)整角度Fig.8 Adjust the angle to the right
圖9 校正車身Fig.9 Correct the body
圖10 回歸最優(yōu)路線Fig.10 Return to the best route
圖11 校正加速前進Fig.11 Correction to speed up
鑒于疫情防控要求,通過路邊模擬性實驗驗證了自主導(dǎo)航的避障、直行及位置參數(shù)獲?。ㄈ绫?)幾項功能,為后續(xù)進行溫室內(nèi)基于電子地圖的實地化自主導(dǎo)航實驗奠定了基礎(chǔ)。
表2 小車實驗狀態(tài)參數(shù)數(shù)據(jù)Tab.2 Parameter data of car test state
本文設(shè)計的基于STM32 的多傳感器融合的園藝機器人移動平臺自主導(dǎo)航系統(tǒng),在系統(tǒng)的硬件構(gòu)建、多傳感器信息融合及導(dǎo)航控制策略等方面進行了一定的研究。經(jīng)過初步實驗,驗證了本系統(tǒng)部分功能的正確性。為園藝機器人在自主導(dǎo)航方面的研究提供了一定的參考。