劉 嬌,劉 揚(yáng)
(1.石家莊信息工程職業(yè)學(xué)院,石家莊 050000;2.河北商貿(mào)學(xué)校,石家莊 050000)
隨著城鎮(zhèn)化進(jìn)程的推進(jìn),農(nóng)村越來越多的年輕人涌向城市,造成農(nóng)村勞動(dòng)力的流失,加劇了農(nóng)村老齡化趨勢(shì)[1]。水果采摘是一項(xiàng)需要熟練技術(shù)的勞動(dòng),由于樹上果實(shí)離地過高,需要在不損傷果實(shí)的基礎(chǔ)上將其采摘下來,對(duì)于年齡偏大的農(nóng)民來說過于繁重,因此實(shí)現(xiàn)水果采摘的自動(dòng)化迫在眉睫[2]。采摘機(jī)器人在果園中的路徑規(guī)劃系統(tǒng)是實(shí)現(xiàn)采摘自動(dòng)化的核心內(nèi)容[3],當(dāng)前主流的采摘機(jī)器人采用多組測距傳感器,對(duì)檢測數(shù)據(jù)進(jìn)行模糊處理,實(shí)現(xiàn)目標(biāo)導(dǎo)向與障礙物躲避[4]。該方法結(jié)構(gòu)簡單,但由于傳感器種類單一,果園環(huán)境感知能力差,導(dǎo)航性能差[5]。本系統(tǒng)為機(jī)器人預(yù)先設(shè)定行走軌跡,制作地標(biāo)指示牌,建立已知地標(biāo)指示牌坐標(biāo)的數(shù)字地圖;采用CCD攝像頭、激光測距傳感器和電羅盤等,環(huán)境感知能力強(qiáng);采用大數(shù)據(jù)融合技術(shù),將多組信號(hào)進(jìn)行融合,確定機(jī)器人坐標(biāo)位置和航向;采用CCD攝像頭識(shí)別地標(biāo)和障礙物、激光測距傳感器檢測識(shí)別地標(biāo)和障礙物到機(jī)器人距離和方位角,通過模糊控制的方法建立避障系統(tǒng)。測試結(jié)果表明:本系統(tǒng)具有較高的環(huán)境感知能力,路徑規(guī)劃性能良好。
機(jī)器人行走結(jié)構(gòu)如圖1所示。

圖1 系統(tǒng)結(jié)構(gòu)圖
其中,1、11為行走驅(qū)動(dòng)電機(jī);2、10為左右驅(qū)動(dòng)輪;3、7為從動(dòng)輪,起到支撐和輔助轉(zhuǎn)向的作用;4、6為左右激光測距傳感器;5為CCD攝像機(jī);9為電子羅盤;8為機(jī)器人中央處理器。工作過程為:CCD攝像機(jī)掃描識(shí)別地標(biāo)數(shù)字和障礙物,左右兩個(gè)激光傳感器檢測地標(biāo)數(shù)字,確定前進(jìn)方向;當(dāng)機(jī)器人距離地標(biāo)數(shù)字小于0.3m時(shí),CCD攝像機(jī)開始尋找下一個(gè)地標(biāo)數(shù)字;CCD攝像機(jī)掃描識(shí)別到障礙物時(shí),左右兩個(gè)激光傳感器確定障礙物位置,小于1m時(shí)啟動(dòng)避障機(jī)制;電子羅盤確定機(jī)器人指向。激光測距傳感器、攝像機(jī)和電子羅盤采集信號(hào)后,傳輸給中央控制器,控制驅(qū)動(dòng)電機(jī)1和11,實(shí)現(xiàn)機(jī)器人前進(jìn)或轉(zhuǎn)彎。
位置感知是采摘機(jī)器人進(jìn)行自主工作的重要條件,機(jī)器人通過傳感器感知其在數(shù)字題圖中的位置。本系統(tǒng)采用多維傳感器確定其自身位置,采用攝像頭對(duì)參照物進(jìn)行拍攝,進(jìn)行地形匹配;采用激光測距傳感器,檢測自身到參照物之間的距離,通過電子羅盤確定車頭方向;將檢測得到的3組數(shù)據(jù)進(jìn)行融合,最終確定機(jī)器人位置。
地形匹配系統(tǒng)的作用是機(jī)器人識(shí)別地標(biāo),指明其下一階段前進(jìn)方向。由于蘋果園中果樹長勢(shì)相似,且間距相差不大,將每棵蘋果樹作為標(biāo)示,難度較大。依據(jù)預(yù)先設(shè)定的機(jī)器人工作航跡,采用白色紙板上書寫八段碼數(shù)字的方式作為位置標(biāo)示。地形匹配主要完成兩方面工作:①圖像處理,剔除圖像的無用信息,只保留八段碼數(shù)字圖像;②圖像識(shí)別,確定八段碼圖像數(shù)字。
2.1.1 圖像處理
圖像處理過程包括:①圖像灰度化;②圖像分割;③圖像腐蝕;④圖像細(xì)化。現(xiàn)以顯示數(shù)字"3"的地標(biāo)牌為例,進(jìn)行設(shè)計(jì)。由于每張彩色圖片的每一個(gè)像素點(diǎn)都是通過RGB三通道強(qiáng)度進(jìn)行合成得到的,信息量過于龐雜,因此采用灰度化的方法將彩色圖片轉(zhuǎn)變?yōu)榛叶葓D片[6],可以有效降低圖片信息量?;叶然Y(jié)果如圖2(a)所示。圖像分割時(shí),計(jì)算閾值k,當(dāng)圖片像素灰度大于k時(shí)為該點(diǎn)賦值255;當(dāng)像素點(diǎn)灰度小于k時(shí)為該點(diǎn)賦值0,形成非黑即白圖片,如圖2(b)所示。對(duì)二值圖像進(jìn)行腐蝕,首先以某一個(gè)像素點(diǎn)為中心建立3×3的參比矩陣,當(dāng)3×3參比矩陣中所有像素點(diǎn)均為255時(shí),對(duì)該點(diǎn)賦值為255;反之,為該點(diǎn)賦值0,腐蝕結(jié)果如圖2(c)所示,得到顯示數(shù)字"3"的地標(biāo)牌二值化圖像;圖像細(xì)化即保證圖像連接不變的情況下對(duì)圖像進(jìn)行剝離,選用Hilditch細(xì)化算法[7],建立目標(biāo)像素點(diǎn)的3×3矩陣,保證刪除該點(diǎn)后連通域數(shù)量不變,之后采用中值濾波的方法進(jìn)行降噪處理。首先,計(jì)算目標(biāo)像素點(diǎn)3×3矩陣,以及該點(diǎn)周圍8個(gè)像素點(diǎn)平均灰度Iv。當(dāng)|Ip-Iv|>127.5時(shí),Ip賦值255;當(dāng)|Ip-Iv|<127.5時(shí),Ip賦值0,得到濾波處理后的顯示數(shù)字"3"地標(biāo)牌的圖像,處理結(jié)果如圖2(d)所示。

圖2 地標(biāo)圖像處理
2.1.2 數(shù)碼管圖像識(shí)別
提取圖2(d)中包含數(shù)碼管數(shù)字的部分圖像,對(duì)其進(jìn)行壓縮,像素大小為10×10;建立10×10常量矩陣,對(duì)壓縮后的圖像進(jìn)行逐行掃描,當(dāng)像素點(diǎn)的灰度為0時(shí)在對(duì)應(yīng)的常數(shù)矩陣賦值為1;依次類推,將數(shù)碼圖像信息提取到10×10常量矩陣中。
鑒于標(biāo)示牌由0~9等10個(gè)數(shù)碼管數(shù)字任意組合而成,因此系統(tǒng)需要對(duì)0~9具有識(shí)別能力。在攝像頭拍攝過程中,因受到環(huán)境光源、雜草及樹葉的影響,會(huì)對(duì)識(shí)別結(jié)果造成影響,因此采用BP神經(jīng)網(wǎng)絡(luò)的方法進(jìn)行識(shí)別,加強(qiáng)識(shí)別的準(zhǔn)確性與容錯(cuò)能力。建立神經(jīng)網(wǎng)絡(luò)最重要的兩個(gè)指標(biāo)為隱層神經(jīng)元個(gè)數(shù)與允許誤差:隱層神經(jīng)元個(gè)數(shù)即隸屬度函數(shù)中心值與規(guī)則庫個(gè)數(shù),決定網(wǎng)絡(luò)精度與復(fù)雜程度[8];允許誤差為輸出與期望之間的誤差,決定計(jì)算迭代次數(shù)。
神經(jīng)元個(gè)數(shù)對(duì)神經(jīng)網(wǎng)絡(luò)的影響如圖3(a)所示。隨著隱層神經(jīng)元個(gè)數(shù)的增加,訓(xùn)練時(shí)間逐步遞增,且所訓(xùn)練時(shí)間增速增加;而識(shí)別率呈先增加后降低的趨勢(shì),當(dāng)神經(jīng)元個(gè)數(shù)為9時(shí),識(shí)別率達(dá)到最大值。這是由于神經(jīng)元個(gè)數(shù)增加,網(wǎng)絡(luò)復(fù)雜程度升高,抗噪聲能力降低,造成識(shí)別率下降。
允許誤差是實(shí)際輸出與輸出期望差值的系統(tǒng)接受值,表征實(shí)際輸出相輸出期望的逼近程度。當(dāng)實(shí)際誤差小于允許誤差時(shí),神經(jīng)網(wǎng)絡(luò)運(yùn)算結(jié)束,系統(tǒng)輸出識(shí)別結(jié)果;當(dāng)實(shí)際誤差大于允許誤差時(shí),系統(tǒng)進(jìn)行下一輪迭代計(jì)算,直到滿足允許誤差為止。允許誤差對(duì)系統(tǒng)的影響如圖3(b)所示。當(dāng)允許誤差為0.05時(shí),訓(xùn)練時(shí)間為920ms;隨著允許誤差的增加,訓(xùn)練時(shí)間逐步降低;當(dāng)允許誤差為0.05時(shí),識(shí)別精度為87%,此時(shí),系統(tǒng)識(shí)別該地標(biāo)牌上數(shù)字為"3"。之后逐步降低。考慮到識(shí)別率和訓(xùn)練時(shí)間,選擇允許誤差為0.05。此時(shí),系統(tǒng)識(shí)別該地標(biāo)牌上數(shù)字為"3"。

圖3 神經(jīng)元個(gè)數(shù)和允許誤差對(duì)神經(jīng)網(wǎng)絡(luò)的影響
對(duì)地標(biāo)牌坐標(biāo)的檢測包括兩個(gè)坐標(biāo)系,如圖4所示。機(jī)器人測距傳感器P0所在的空間絕對(duì)坐標(biāo)系坐標(biāo)為P0(x0,y0,θ)T,目標(biāo)在機(jī)器人局部坐標(biāo)系中坐標(biāo)為Pp(xp,yp)T。由于在機(jī)器人局部坐標(biāo)系中依靠左右兩個(gè)雷達(dá)測距傳感器檢測標(biāo)示物距離,其檢測數(shù)據(jù)為距離r和方位角a。因此,局部坐標(biāo)表示為
xp=rcosa
yp=rsina
(1)
xp在x軸上的投影為xpcosa,yp在x軸上的投影為ypsina。由于二者矢量方向相反,設(shè)P在決定坐標(biāo)系中坐標(biāo)為P(xg,yg)T,則橫坐標(biāo)xg為
xg=xpcosθ-ypsinθ+x0
(2)
同理可得縱坐標(biāo)yg為
yg=xpsinθ+ypcosθ+y0
(3)

圖4 坐標(biāo)變換
系統(tǒng)采用電羅盤確定機(jī)器人當(dāng)前方向角θ;采用攝像頭識(shí)別地標(biāo),地標(biāo)牌位置P在坐標(biāo)系中位置坐標(biāo)已知;兩個(gè)激光距離傳感器檢測得到機(jī)器人到地標(biāo)牌位置P之間的距離r和夾角a,可得到機(jī)器人相對(duì)坐標(biāo)系中目標(biāo)的坐標(biāo)。現(xiàn)需要根據(jù)以上檢測數(shù)據(jù)計(jì)算機(jī)器人自身位置坐標(biāo),由于采用多傳感器,且激光測距傳感器分為左右兩個(gè),因此需要對(duì)多組檢測數(shù)據(jù)進(jìn)行融合[9]:①電羅盤檢測數(shù)據(jù)與測距傳感器數(shù)據(jù)融合;②左右兩個(gè)測距傳感器融合,最終推導(dǎo)出當(dāng)前機(jī)器人位置坐標(biāo)。
通過地標(biāo)坐標(biāo)推導(dǎo)左測距傳感器位置坐標(biāo)。由式(2)、式(3)可得到地標(biāo)絕對(duì)坐標(biāo)和左測距傳感器位置絕對(duì)坐標(biāo)之間的關(guān)系,則左傳感器絕對(duì)位置坐標(biāo)P0L(x0L,y0L)為
(4)
同理,可以得到右傳感器絕對(duì)位置坐標(biāo)P0R(xoR,yoR)為
(5)
機(jī)器人中心絕對(duì)坐標(biāo)Pc(xc,yc)如圖5所示。圖5中,需要將左右兩個(gè)距離傳感器坐標(biāo)進(jìn)行融合,根據(jù)P0R(x0R,y0R)和P0L(xoL,yoL)坐標(biāo),計(jì)算機(jī)器人A點(diǎn)坐標(biāo),即
(6)
設(shè)向量RA、CR與坐標(biāo)軸方向相同時(shí)為正,相反時(shí)為負(fù),則RA=1/2Lsinθ,CR=1/2Lcosθ,則機(jī)器人中心絕對(duì)坐標(biāo)Pc坐標(biāo)為
(7)
路徑規(guī)劃是機(jī)器人從出發(fā)點(diǎn)按照目標(biāo)數(shù)字牌指示行進(jìn)到最后的整個(gè)過程。實(shí)施過程中,主要解決兩個(gè)問題,即障礙物躲避和目標(biāo)導(dǎo)引。最終,實(shí)現(xiàn)從起始點(diǎn)到終點(diǎn)的無人控制行進(jìn)。

圖5 機(jī)器人坐標(biāo)計(jì)算
障礙物躲避采用兩個(gè)激光距離傳感器作為檢測元件,傳感器檢測數(shù)據(jù)為距離r和方位角a。兩個(gè)傳感器檢測距離最小檢測距離為rmin=min(rl,rr)。當(dāng)rmin<1m時(shí),啟動(dòng)避障系統(tǒng)。避障系統(tǒng)采用模糊設(shè)計(jì),該模糊系統(tǒng)的輸入為兩個(gè)距離傳感器的方位角,隸屬度函數(shù)有5個(gè)中心值,即-π/2、-π/4、0、π/4、π/2。當(dāng)左右兩傳感器檢測到障礙物在前進(jìn)方向同側(cè)時(shí),機(jī)器人保持原有方向不變;當(dāng)左右兩個(gè)傳感器檢測檢測到障礙物夾角隸屬度函數(shù)輸出為0時(shí),機(jī)器人向較小夾角方向轉(zhuǎn)π/2;當(dāng)障礙出現(xiàn)在前進(jìn)方向兩側(cè),且分別處于最大和中等位置時(shí),機(jī)器人向最大位置轉(zhuǎn)π/4。避障規(guī)劃如表1所示。

表1 避障規(guī)則
目標(biāo)導(dǎo)引采用地標(biāo)牌進(jìn)行,在機(jī)器人計(jì)劃行進(jìn)路線上布置1、2、3……等八段碼標(biāo)識(shí),兩列樹間距為d。由于標(biāo)識(shí)牌安裝在樹上,機(jī)器人在行經(jīng)過程中識(shí)別每一個(gè)標(biāo)識(shí)坐標(biāo),因此在數(shù)字地圖系統(tǒng)中標(biāo)識(shí)牌坐標(biāo)向右平移d/2,如圖6(a)所示。引導(dǎo)過程如下:
1)測距傳感器檢測標(biāo)識(shí)牌位置坐標(biāo)p(x,y),計(jì)算機(jī)器人坐標(biāo)位置Pc(xc,yc),二者間距D為
(8)
2)當(dāng)D>0.3m時(shí),機(jī)器人向該標(biāo)識(shí)牌前進(jìn);當(dāng)D<0.3m時(shí),機(jī)器人停止,攝像頭開始尋找下一標(biāo)識(shí)牌。
3)判定當(dāng)前標(biāo)識(shí)牌是否為最終目標(biāo):若不是,返回步驟1);若是,機(jī)器人運(yùn)動(dòng)停止,如圖6(b)所示。

圖6 目標(biāo)引導(dǎo)
系統(tǒng)測試結(jié)果如圖7所示。

圖7 系統(tǒng)測試
果園實(shí)驗(yàn)區(qū)域有兩排共8棵樹,制作8張數(shù)碼管標(biāo)識(shí)圖片,將其安裝在蘋果樹上。將指示牌坐標(biāo)向右平移d/2,建立數(shù)字地圖。機(jī)器人從“1”位置出發(fā),首先攝像機(jī)掃描,尋找數(shù)碼管“2”,計(jì)算距離D。當(dāng)D>0.3m時(shí),機(jī)器人向該標(biāo)識(shí)牌前進(jìn);當(dāng)D<0.3m時(shí),機(jī)器人停止,攝像頭開始尋找下一標(biāo)識(shí)牌。當(dāng)機(jī)器人運(yùn)動(dòng)到位置“4”時(shí),機(jī)器人位置傳感器掃描發(fā)現(xiàn)障礙物;當(dāng)距離障礙物小于1m時(shí),機(jī)器人逆時(shí)針旋轉(zhuǎn)π/4并前進(jìn),之后繼續(xù)掃描標(biāo)識(shí)牌“5”,向地標(biāo)5前進(jìn),直到移動(dòng)到表示牌“8”時(shí),系統(tǒng)確認(rèn)移動(dòng)到最終目標(biāo),機(jī)器人運(yùn)動(dòng)停止。
為了實(shí)現(xiàn)采摘機(jī)器人在果園中的自動(dòng)行走,采用激光測距傳感器、CCD攝像機(jī)和電子羅盤等傳感器作為硬 件,采用大數(shù)據(jù)分析的方法處理多組傳感器信號(hào),實(shí)現(xiàn)了機(jī)器人的路徑規(guī)劃。CCD攝像機(jī)用于尋找目標(biāo)表示牌和掃描障礙物,采用圖像處理和模糊控制的方法識(shí)別數(shù)碼管數(shù)字。當(dāng)模糊系統(tǒng)隱層神經(jīng)元個(gè)數(shù)為9、系統(tǒng)允許誤差為0.05時(shí),識(shí)別效果最好。將8個(gè)標(biāo)識(shí)牌安放在機(jī)器人預(yù)先設(shè)定路徑上,形成數(shù)字地圖,8個(gè)標(biāo)識(shí)牌位置已知。采用大數(shù)據(jù)融合激光測距傳感器、CCD攝像機(jī)和電子羅盤等傳感器采集數(shù)據(jù),計(jì)算當(dāng)前機(jī)器人位置坐標(biāo)與航向。工作時(shí),左右兩個(gè)激光傳感器標(biāo)示物和障礙物位置,當(dāng)與標(biāo)示物距離小于0.3m時(shí),CCD攝像機(jī)開始掃描下一目標(biāo);當(dāng)距離小于1m時(shí),啟動(dòng)避障機(jī)制。本系統(tǒng)采用多種傳感器數(shù)據(jù)綜合分析,具有很強(qiáng)的果園環(huán)境感知能力。實(shí)際運(yùn)行測試表明,本系統(tǒng)具有良好的路徑規(guī)劃能力。