吳東林,張玉華
(漯河食品職業學院,河南 漯河 462300)
隨著自動化、計算機和電子技術的發展,人類已從刀耕火種過渡到機械化作業,各國都在引入各類農業機器人。我國水果種植面積大,人工采摘水果工作量巨大,研發出能實現自動控制的各類水果采摘機器人已是現代化農業的迫切需求。本文基于人工勢場法設計了一套采摘機器人動態路徑規劃系統,對采摘機器人動態路徑規劃具有一定的參考意義。
在采摘機器人作業環境建模過程中,合適的環境表示方法能夠有效地建立路徑規劃和路徑搜索算法,從而制定出時間短、路程短的最優路徑。對已知的作業環境建立模型時,采用比較多的方法是柵格建模法。該方法是采用柵格的極坐標和直角坐標的變換關系,將作業環境區域分割成單位大小的柵格。只要柵格內存在障礙物或其他物體,則標記該區域為障礙物柵格。該方法可以表達多種不規則障礙物,具有實現過程簡單及計算時間短等優點。
本文采用柵格法建立采摘機器人作業環境模型,具體流程為:①建立如圖1所示的直角坐標系,無需劃分柵格,而是以障礙物頂點(見圖2)確定障礙物的位置;②在采摘機器人移動過程中,實時判斷是否會從各個障礙物的頂點間經過,若存在這樣的現象,則判定機器人將和障礙物發生碰撞行為;③為了更好地實現路徑規劃過程,本文將每個障礙物的頂尖之間連線,路徑規劃時不允許采摘機器人規劃出的路徑穿過連線,從而保證采摘機器人和障礙物不會發生碰撞行為。

圖1 建立作業環境模型Fig.1 Setting up a working environment model

圖2 障礙物簡易位置圖Fig.2 The simple position diagram of obstacles
采用該方法表示障礙物,會加大采摘機器人路徑規劃所需的時間,也加大了其運算工作量,對硬件要求較高。因此,本文采用一圓形區域表示各種不規則的障礙物,方便采摘機器人進行處理。環境模型中障礙物表示如圖3所示。

圖3 環境模型障礙物示意圖Fig.3 The schematic diagram of environmental model obstacle
在采摘機器人作業中,會存在兩類障礙物:一類是靜止不動的;另一類是會以一定的速度運動的。本節將對運動的障礙物進行建模。

(1)
可以得到障礙物運動時的模型為
p(t+Δt)=p(t)+v(t)×Δt
(2)
式(2)可以轉換為

(3)
繼續化簡為

(4)
式(4)就是所求的障礙物運動模型。
人工勢場法的基本思路是建立一個人工勢場,使得采摘機器人與障礙物之間存在斥力,與目標地點存在引力,然后根據勢函數的下降方向規劃最優路徑。傳統的引力勢場計算公式為
(5)

Fat(P)=-
(6)
負梯度值隨著采摘機器人和目標距離的減小而減小,直至0。
采用自制調查表,對患兒家屬對治療的滿意度進行調查,量表總分0~100分,≥80為滿意,60~79分為一般滿意,<60分為不滿意。
本文研究的內容是采摘機器人動態路徑規劃,其目標并非單一靜止的,而是在時刻運動變化的。人工勢場的勢場引力示意如圖4所示。

圖4 人工勢場的勢場引力Fig.4 Potential field gravitation of artificial potential field
因此,傳統的人工勢場需要進行適當改進,定義為
Uat(P,V)=
ξp‖Pgoal(t)-P(t)‖m+lv‖Vtar(t)-V(t)‖n
(7)
其中,Vtar(t)和V(t)分別為目標和采摘機器人在t時間點的移動速度;ξp、lv為正參數;m、n為人工勢場系數。由該引力勢場生成的負梯度為
Fat(p,v)=-Uat(p,v)=-pUat(p,v)-
(8)
(9)
(10)
將式(7)帶入式(8)可得
Fat(p,v)=Fat1(p)+Fat2(v)
(11)
Fat1(p)=kξp‖Ptar(t)-p(t)‖mNprt
(12)
Fat2(v)=flv‖Vtar(t)-V(t)‖nNvrt
(13)
其中,Nprt為采摘機器人指向目標終點的單位矢量;Nvrt為采摘機器人與目標終點相對速度的單位矢量。
人工勢場是將采摘機器人作業區域進行一種抽象的描述,在解決采摘機器人動態路徑規劃問題中,障礙物作為斥力產生目標,其具有一定的運動性。采摘機器人作為抽象勢場主動方,其負梯度方向表示采摘機器人受到抽象力的方向。在這種力的作用下,采摘機器人避開障礙物,朝目標終點移動。
本文研究中采用人工勢場法,采摘機器人動態路徑規劃程序框圖如圖5所示。

圖5 采摘機器人動態路徑規劃程序框圖Fig.5 The block diagram of dynamic path planning program for picking robot
采摘機器人動態路徑規劃具體流程為:
1)準備。采摘機器人動態路徑規劃的準備內容為設定各種參數:①人工勢場引力系數Ka;②斥力系數為Kr;③采摘機器人與障礙物之間的安全距離為ρ0;④斥力作用距離為ρm;⑤設定采摘機器人最終應該到達的目標點。
2)計算引力。根據準備過程中設定的參數值,利用式(12)計算采摘機器人與應該到達位置之間的引力Fat1。
3)計算斥力。本系統要求采摘機器人在行駛過程中,不會和作業邊界及障礙物發生碰撞行為。因此,采摘機器人會收到邊界和障礙物兩方面的斥力。
(1)邊界的斥力。倘若采摘機器人和作業區域邊界之間的距離小于斥力作用距離ρm時,其會受到該方面的斥力。那么,在計算斥力過程中,要考慮邊界的斥力。
(2)障礙物的斥力。采摘機器人在移動過程中,會通過圖像傳感器、超聲波傳感器及紅外傳感器采集作業環境信息,確定障礙物的位置,并根據障礙物的位置計算與采摘機器人之間的斥力。
4)斥力和引力的合成。將采摘機器人受到邊界和障礙物兩個斥力利用式(8)合成,計算采摘機器人在人工勢場受到的合力。
5)計算采摘機器人新坐標及規劃路徑。根據流程(4)合成的力及采摘機器人的移動速度,計算出采摘機器人當前位置,并根據勢場力及障礙物位置信息,規劃采摘機器人動態路徑。
6)判斷采摘機器人是否到達目標點。計算出采摘機器人新坐標后,首先判斷其是否已經到達目標位置。如果是,則其完成當前任務;若不是,則應該重復3)、4)、5)流程步驟,直至達到目標位置。
本文采用柵格法建立一個采摘機器人作業環境模型,以一個柵格大小為最小單位,模型中每個柵格都是采摘機器人的移動點。采摘機器人在移動過程中,只能向以自己為中心的周邊5個落腳點移動,分為上下左右和其自身所處的位置。Actionselect=[0,1;0,-1;-1,0;1,0;0,0],采摘機器人移動方向只能是這5個中的1個。在環境模型中,障礙物采用紅色表示。采摘機器人在移動過程中,根據周邊5個方向的勢力值,進行路徑搜索。為了避免采摘機器人停留在上一位置時間過長,設定采摘機器人當前位置和周邊柵格點勢場值都為1 000。
為了驗證基于人工勢場法的采摘機器人動態路徑規劃系統是否能夠滿足設計要求,能夠使采摘機器人在路徑最優情況下到達目標位置,利用MatLab仿真軟件設計了3組仿真試驗。圖6(a)設置比較簡單的環境,圖6(b)設置有死角的U型環境,圖6(c)設置為動態的復雜環境。

圖6 MATLAB仿真結果Fig.6 Simulation result of Matlab
圖6(a)環境相對簡單,采摘機器人經過簡單調整就能避開障礙物到達了終點位置;(圖6b)中模擬環境為一個U型死角,采摘機器人容易陷入局部最小值,但從最后采摘機器人路徑可以看出,其在凹形環境下也能避開障礙物,到達終點位置;(圖6c)中有3個靜止的障礙物和3個運動的障礙物,但采摘機器人依然實現了最優的路徑優化,順利避障所有障礙物,到達了目的地。從路徑長度和轉彎次數可以看出:該系統優化效果明顯,具有很好的避障和路徑規劃能力,驗證了系統的有效性和實時性。
針對果園環境不確定性因素大及采摘機器人作業特性,利用環境建模和自主定位方法,設計和研究了一套基于人工勢場法的采摘機器人動態路徑規劃系統,并基于MatLab仿真軟件進行了一系列的仿真實驗。實驗結果表明:該系統優化效果明顯,具有很好的避障和路徑規劃能力,驗證了系統的有效性和實時性,對采摘機器人動態路徑規劃具有重要現實意義。