王 哲
(許昌學(xué)院 體育學(xué)院,河南 許昌 461000)
隨著國家對環(huán)保的重視程度越來越高,在城鎮(zhèn)化建設(shè)過程中綠地建設(shè)也被納入政府規(guī)劃,城市中的綠地?cái)?shù)量和面積呈急速上升趨勢[1]。城市園林綠化一線工作者以中老年人主,且除草方法較為原始,不能滿足日益增長的綠地修建需求[2]。因此,可以實(shí)現(xiàn)大規(guī)模裝備的除草機(jī)器人的需求迫在眉睫。當(dāng)今除草自動化設(shè)計(jì)原理主要包括:①GPS加視覺分辨系統(tǒng)除草機(jī)器人[3];②以測距傳感器作為檢測設(shè)備[4],采用神經(jīng)網(wǎng)絡(luò)方法進(jìn)行路徑規(guī)劃的機(jī)器人[5]。GPS加視覺分辨系統(tǒng)具有很高的路徑規(guī)劃精度,除草效果好,但需要GPS導(dǎo)航模塊、高清攝像機(jī)和工控機(jī),成本居高不下,不能滿足大規(guī)模裝備的需求[6]。以測距傳感器作為檢測設(shè)備,采用神經(jīng)網(wǎng)絡(luò)方法進(jìn)行路徑規(guī)劃的機(jī)器人具有成本低廉的特點(diǎn),但神經(jīng)網(wǎng)絡(luò)系統(tǒng)建設(shè)和算法不完善,在草坪障礙物多的情況下機(jī)器人可能進(jìn)入死區(qū)[7],不能實(shí)現(xiàn)全區(qū)域除草工作[8]。為了實(shí)現(xiàn)大規(guī)模裝備,以測距傳感器作為檢測設(shè)備,基于排球戰(zhàn)術(shù)[9]設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)系統(tǒng),實(shí)現(xiàn)了除草機(jī)器人的自動化。設(shè)計(jì)思路如下:①設(shè)計(jì)除草機(jī)器人機(jī)械結(jié)構(gòu);②采用排球近戰(zhàn)戰(zhàn)術(shù)規(guī)則設(shè)計(jì)三層神經(jīng)網(wǎng)絡(luò)系統(tǒng),實(shí)現(xiàn)機(jī)器人避障;③基于排球長傳轉(zhuǎn)移戰(zhàn)術(shù),設(shè)計(jì)機(jī)器人死區(qū)改出神經(jīng)網(wǎng)絡(luò)系統(tǒng);④仿真測試。
除草機(jī)器人結(jié)構(gòu)原理如圖1所示。
圖1 除草機(jī)器人結(jié)構(gòu)Fig.1 The Structure of weeding robot
其中:1為除草滾刀,長度為L,距離地面高度為H,即確保機(jī)器人工作過后草坪高度為H;2和5為左右驅(qū)動輪,半徑為r,為機(jī)器人提供前進(jìn)和轉(zhuǎn)向動力;3為支撐作用的萬向支撐輪;4為測距傳感器,檢測角度為60°,在機(jī)器人四面均布8個(gè),兩個(gè)傳感器之間的夾角為45°,實(shí)現(xiàn)無死角障礙物檢測。
除草機(jī)器人主要完成以下功能:
1)除草功能。在滾刀1最低點(diǎn)到地面距離為H,當(dāng)驅(qū)動電機(jī)作用下工作時(shí),確保工作后的草坪高度為H。
2)機(jī)器人前進(jìn),此時(shí)2和5為左右驅(qū)動輪以相同的轉(zhuǎn)速ω運(yùn)行,則機(jī)器人前進(jìn)速度V=ωr。
3)機(jī)器人原地轉(zhuǎn)向,此時(shí)2和5為左右驅(qū)動輪以大小相同、方向相反的角速度ω運(yùn)行。設(shè)右轉(zhuǎn)為正方向,則機(jī)器人自轉(zhuǎn)角速度為Δθ=2ωr/M。
工作草坪進(jìn)行網(wǎng)格劃分[10],每個(gè)單元格大小為L×L,后對其進(jìn)行坐標(biāo)化處理。其中,坐標(biāo)P(xi,yi)表示橫坐標(biāo)為xi、縱坐標(biāo)為yi的單元格。由于單元格只存在兩種情況:①被障礙物占據(jù),除草機(jī)器人不能工作;②沒有障礙物,除草機(jī)器人可以工作。因此,設(shè)定函數(shù)O(xi,yi)表示該單元格狀態(tài),即
(1)
單元格中,只要有任何一部分本障礙物占領(lǐng),就認(rèn)為該單元格有障礙物,如圖2所示。
圖2 格柵式地圖Fig.2 Grid map of grass carpet
設(shè)機(jī)器人可以工作的區(qū)域集合為S0={(x,y)|O(x,y)=0},障礙物占據(jù)區(qū)域集合為S1={(x,y)|O(x,y)=1},則機(jī)器人經(jīng)歷的路徑為L1={(xi,ym)|i=1,2,…,n;m=1,2,…,n}。工作草坪區(qū)域集合為Φ,則四者之間的關(guān)系為:L1?S0,Φ=S0+S1。
目前,主流的除草機(jī)器人全覆蓋路徑規(guī)劃為螺旋式規(guī)劃和犁地式規(guī)劃[4]。螺旋式規(guī)劃是指機(jī)器人沿著這個(gè)工作區(qū)域進(jìn)行工作,當(dāng)完成1整圈后,向內(nèi)側(cè)縮小1個(gè)滾刀寬度L后,繼續(xù)沿著新的邊界進(jìn)行運(yùn)動,整體呈現(xiàn)出沿“回”字進(jìn)行運(yùn)動,最終實(shí)現(xiàn)在工作區(qū)域的中心某位置完成全覆蓋,如圖3(a)所示。該方法可以有效地完成除草工作,但對于確定機(jī)器人自身坐標(biāo)和設(shè)置規(guī)避障礙物規(guī)則相對困難,適用于障礙物不多的草坪。 犁地式規(guī)劃如圖3(b)所示。工作時(shí),機(jī)器人沿著某一個(gè)方向向前運(yùn)動,此時(shí)機(jī)器人坐標(biāo)P(xi+1,yi+1)=(xi,yi+1)。當(dāng)遇到邊緣時(shí),機(jī)器人向右轉(zhuǎn)90°行走L,此時(shí)機(jī)器人坐標(biāo)P(xi+1,yi+1)=(xi+1,yi);向右轉(zhuǎn)后前進(jìn),此時(shí)機(jī)器人坐標(biāo)P(xi+1,yi+1)=(xi,yi-1)。如此往復(fù),直到整個(gè)草坪完成除草工作。犁地式路徑規(guī)劃具有避障規(guī)則簡單及機(jī)器人坐標(biāo)遞推關(guān)系清晰的特點(diǎn),因此基于犁地式規(guī)劃設(shè)計(jì)除草機(jī)器人路徑。
圖3 除草路徑規(guī)劃Fig.3 Path planning for weeding
以工作區(qū)域建立直角坐標(biāo)系,機(jī)器人經(jīng)歷了i個(gè)格柵,即i次迭代后機(jī)器人坐標(biāo)位置表示為P(xi,yi,)。機(jī)器人傳感器輸入量為正前方是否有障礙物,可以用函數(shù)O(xi,yi)表示;區(qū)域是否完成清掃,用函數(shù)Clear(xi,yi)表示,即
(2)
因此,系統(tǒng)輸入向量為Xp=(clear,O)T。機(jī)器人的狀態(tài)由兩個(gè)量表示:①機(jī)器人轉(zhuǎn)角θ;②機(jī)器人速度V, 神經(jīng)網(wǎng)絡(luò)系統(tǒng)輸出期望向量為S=(θi,Vi)T。輸出量期望的判定規(guī)則為
(3)
根據(jù)系統(tǒng)的輸入量區(qū)域清掃函數(shù)Clear(xi,yi)和前方障礙物函數(shù)O(xi,yi);系統(tǒng)輸出量期望為機(jī)器人轉(zhuǎn)角θ,機(jī)器人速度V,構(gòu)建學(xué)習(xí)樣本集。構(gòu)建規(guī)則基于排球比賽戰(zhàn)術(shù),當(dāng)防守隊(duì)員站在正前方不遠(yuǎn)處且防守隊(duì)員身后有空檔時(shí),攻防隊(duì)員降低移動速度,同時(shí)向右轉(zhuǎn)身,打防守隊(duì)員身后空檔;當(dāng)防守隊(duì)員身后沒有空檔時(shí),減速左轉(zhuǎn),返回自己半場;當(dāng)沒有防守隊(duì)員時(shí),采用高速直線帶球?;谝陨弦?guī)則,建立避障學(xué)習(xí)樣本,如表1所示。
表1 避障學(xué)習(xí)樣本集Table 1 Training samples for obstacle avoidance
圖4 系統(tǒng)神經(jīng)網(wǎng)絡(luò)圖Fig.4 The Structure of neural network system
(4)
當(dāng)?shù)趈個(gè)節(jié)點(diǎn)輸出函數(shù)已知時(shí),輸出量為
(5)
同理可得,輸出向量中第j個(gè)元素的總輸入和輸出為
(6)
(7)
輸出向量元素的所有誤差的平方和Ep為
(8)
(9)
在迭代過程中,權(quán)重值改變量和梯度值成正比,則
(10)
(11)
將Sigmoid函數(shù)作為隱含層到輸出層的傳遞函數(shù),即
(12)
由此造成整個(gè)神經(jīng)網(wǎng)絡(luò)產(chǎn)生了復(fù)雜的非線性問題,導(dǎo)致局部極小的出現(xiàn),表現(xiàn)為除草機(jī)器人的死區(qū)問題,如圖5所示。當(dāng)除草機(jī)器人運(yùn)動到最終位置時(shí),發(fā)現(xiàn)工作區(qū)域的草坪均完成工作,失去目標(biāo)坐標(biāo)導(dǎo)向,此時(shí)機(jī)器人任務(wù)工作已經(jīng)完成。實(shí)際上,整個(gè)草坪還要右上部分沒有進(jìn)行除草作業(yè),因此克服該問題的方法是:重新尋找導(dǎo)向目標(biāo)坐標(biāo)P,并以該坐標(biāo)作為起始位置,完成殘存部分草坪的除草工作。
圖5 除草機(jī)器人死區(qū)Fig.5 Dead zone of weeding robot
根據(jù)排球戰(zhàn)術(shù)規(guī)則,當(dāng)進(jìn)攻受阻時(shí),可以尋找新的空檔進(jìn)行長傳,之后從新組織進(jìn)攻。當(dāng)除草機(jī)器人進(jìn)入死區(qū)后,要尋找新的目標(biāo)坐標(biāo)進(jìn)行轉(zhuǎn)移。設(shè)草坪格柵地圖中坐標(biāo)為p(i,j)的格柵在t時(shí)刻的狀態(tài)為Xij(t),與坐標(biāo)為(i,j)相鄰的前后左右4個(gè)格柵狀態(tài)依次表示為Xijk(t)(k=1,2,3,4),則在時(shí)間維度上的遞推關(guān)系可表示為
(13)
其中,wijk為周圍4個(gè)格柵和中心格柵的連接權(quán)重系數(shù),Iij為格柵屬性。由于有4個(gè)相關(guān)聯(lián)格柵,當(dāng)中心格柵坐標(biāo)為新目標(biāo)時(shí),設(shè)定Iij=10>5,|pij-pijk|表示兩坐標(biāo)之間的距離,L為剪草滾刀長度,wij為中心格柵自身迭代權(quán)重系數(shù),則
(14)
為了保證隨著時(shí)間的迭代,Xij(t)是遞減函數(shù),因此設(shè)定(0 (15) 本數(shù)學(xué)模型的功能為:新目標(biāo)的坐標(biāo)格柵狀態(tài)Xij(t)=1,障礙物格柵狀態(tài)函數(shù)Xij(t)=0,其他格柵狀態(tài)Xij(t)隨著迭代次數(shù)的增加逐步遞減。在工作草坪空間上表示為隨著時(shí)間的迭代,以新的目標(biāo)函數(shù)為中心,向四周格柵進(jìn)行擴(kuò)散,且傳遞強(qiáng)度依次降低,最終傳遞到機(jī)器人所在坐標(biāo)位置;根據(jù)傳遞路徑,機(jī)器人就能找到新的目標(biāo)坐標(biāo)。 新目標(biāo)導(dǎo)航工作步驟如下:①將整個(gè)工作草坪區(qū)域格柵地圖初始化;②將格柵地圖分為新目標(biāo)格柵、障礙物格柵和其他格柵,根據(jù)式(14)提供格柵屬性Iij輸入值;③通過式(15)確定目標(biāo)格柵的狀態(tài)值為1,并保持最高,障礙物格柵狀態(tài)為0,采用式(13)進(jìn)行時(shí)間維度迭代計(jì)算,將狀態(tài)值從目標(biāo)格柵傳遞到機(jī)器人當(dāng)前位置格柵;④當(dāng)目標(biāo)狀態(tài)值傳遞到機(jī)器人所在坐標(biāo)時(shí),機(jī)器人判定周圍前后左右4個(gè)格柵狀態(tài)值,并將其中狀態(tài)值最高的作為移動目標(biāo);⑤當(dāng)機(jī)器人坐標(biāo)和目標(biāo)坐標(biāo)重合時(shí),目標(biāo)導(dǎo)航工作結(jié)束,機(jī)器人重新開始新的除草工作。 系統(tǒng)工作整體流程如圖6所示。①機(jī)器人在格柵地圖中計(jì)算自身所在位置與前進(jìn)方向;②根據(jù)局部障礙路徑規(guī)劃神經(jīng)網(wǎng)絡(luò),依據(jù)排球近戰(zhàn)戰(zhàn)術(shù),規(guī)劃路線;③判定機(jī)器人所在格柵四周除草狀態(tài),完成除草的順序?yàn)?xi-1,yi),(xi,yi-1),(xi,yi+1),(xi+1,yi);④根據(jù)死區(qū)處理規(guī)則,尋找機(jī)器人導(dǎo)航新的目標(biāo)點(diǎn);⑤以新目標(biāo)點(diǎn)作為出發(fā)點(diǎn),完成區(qū)域除草工作。 圖6 系統(tǒng)工作流程Fig.6 Working flow for system 仿真結(jié)果如圖7所示。測試時(shí),機(jī)器人以坐標(biāo)系原點(diǎn)作為除草出發(fā)點(diǎn),首先進(jìn)入空曠的無障礙區(qū)域,該區(qū)域機(jī)器人采用犁地型路徑規(guī)劃原則,完成除草工作;機(jī)器人人進(jìn)入障礙物區(qū)域,應(yīng)用基于排球戰(zhàn)術(shù)的神經(jīng)網(wǎng)絡(luò)系統(tǒng),判定前方障礙物,此時(shí)機(jī)器人右轉(zhuǎn)90°,前進(jìn)L長度;機(jī)器人繼續(xù)右轉(zhuǎn)90°,向前進(jìn)行除草工作;障礙物下方區(qū)域完成除草工作,此時(shí)機(jī)器人進(jìn)入死區(qū),而障礙物上方區(qū)域沒有進(jìn)行除草,此時(shí)機(jī)器人依據(jù)死區(qū)處理原則,找到新的目標(biāo)點(diǎn)P,通過機(jī)器人四周的狀態(tài)值強(qiáng)度規(guī)劃路線,找到新的目標(biāo)點(diǎn),并以新坐標(biāo)點(diǎn)為原點(diǎn),完成障礙物上方區(qū)域的除草工作。3.4 系統(tǒng)工作流程
4 仿真驗(yàn)證
5 結(jié)論