苑 葵,李素靜
(唐山科技職業技術學院,河北 唐山 063001)
我國是農業大國,各類農業果實采摘工作繁重,尤其在農忙季節采摘成為最耗時耗力的環節[1-2]。目前,我國的農業機械化水平較低,果實采摘采用的方式仍然以人工為主,勞動強度大,采摘效率較低,且容易造成果實的損壞。因此,提高我國工業果實采摘的機械化和智能化水平,對于提高采摘效率、降低農民勞動強度及促進農業的發展具有非常重要的意義[3-4]。
采摘機器人主要包括機械手、中央控制系統及行走機構等部分。其中,機械手作為采摘機器人的工序執行機構,為了能夠適用于不同種類的果實,其結構非常復雜、造價較高。采摘機器人的作業環境具有復雜性、隨機性和多約束性的特點,其作業過程包括機器人從起點行進至目標果實區域,直至順利采摘的過程。機械手很容易與環境中的樹干、臺階等發生碰撞造成損壞,因此需要對采摘機器人進行路徑避障的研究,以起到保護機械手、提高機械手智能性及提高工作效率的作用。
傳統的采摘機器人操控系統采用單片機或者嵌入式控制器進行控制。單片機對于操控人員的專業素養要求較高,而采摘機器人一般由農民進行操作,文化水平相對較低,因此不適用。嵌入式控制器操控的機械手運動軌跡規劃存在震動和漂移的現象,而且操控過程耗時較多。PLC控制系統具有工作穩定、可以自動獲取數據及工作效率高的特點,為了提高采集機器人的工作穩定性和采摘精度,筆者將PLC應用于采摘機器人的作業路徑避障分析系統,并對該系統進行了設計。
采摘機器人的控制系統主要由信息獲取系統、工控機主程序、運動執行系統等組成,如圖1所示。
信息獲取系統用于獲取果實采摘所需要的位置和圖像等信息。其中,圖像采集卡與導航攝像機、左右攝像機和二次定位攝像機連接,用于獲取待采摘果實的遠近位置和到達該位置的路面信息,并通過計算得到該果實的坐標。假設待采摘果實為球形,根據攝像機上多個位置點的三維信息重建果實模型,利用最小二乘法[5]計算其之心的位置坐標。果實球模型可表示為
(x-m)2+(y-n)2+(z-p)2=R2
其中,(m、n、p)為果實球心在攝像機坐標系的位置坐標。
上式還可表示為
2mx+2ny+2pz+R2-(m2+n2+p2)
=x2+y2+z2
針對有n個待采摘果實,該式可以用矩陣進行描述,即
簡化該式得到
At=B
求解得到
t=(ATA)-1ATB
由此可得到待采摘果實的質心坐標。
數據采集卡與機器人機械手的視覺傳感器、壓力傳感器、位置傳感器和碰撞傳感器連接,各傳感器的位置布置圖如圖2所示。

圖2 各傳感器位置布置圖
位置傳感器用于檢測果實與機械手的實時相對位置,保證果實能夠準確夾持。在視覺傳感器的引導下,機械手逐漸伸向果實,當碰觸到果實時,機械臂速度減慢;當抓取到果實時,機械臂停止運動,此時壓力傳感器用于測量機械手抓取果實所受到的壓力,防止果實在抓取和后續移動過程中被損壞。碰撞傳感器用于感知機械手周圍的障礙物信息,防止機械手抓取到果實后的移動過程中觸碰到樹干等障礙物,造成果實的磕碰傷。
工控機主程序是采摘機器人控制系統的核心模塊,用于控制機械人行駛路徑、果實抓取、采摘和運輸過程。圖像采集卡將果實的位置信息傳遞給PLC控制器,導航控制程序規劃機器人的形式路徑,驅動機器人到達果實區域。數據采集卡將采集到信息數據傳輸給PLC,采摘控制程序負責執行采摘過程,電源向PLC控制器提供能量,采摘情況通過提示燈查看。為方便工作人員對機器人的控制,還設置了按鍵。
運動執行系統的采摘控制程序通過控制機械臂的各電機實現果實的抓取和運輸,導航控制程序負責規劃最佳路徑,車輪電機驅動器控制車輪,使機器人行駛至待采摘果實區域。
路徑規劃問題是采摘機器人的研究重點,采摘時選擇一條最優路徑可以有效提高果實的采摘效率,降低失誤率。由于果實采摘環境的不確定性,避障路徑規劃則顯得更為重要。蟻群算法具有很好的魯棒性,易與其他算法相結合,因此作為路徑規劃的首選算法。但是,該算法在每個節點的路徑選擇方面最優路徑的規劃的選擇較少,因此在基本蟻群算法的基礎上改進規劃采摘機器人的避障路徑。該算法的基本流程如圖3所示。

圖3 改進的蟻群算法流程圖
1)節點位置的選擇。利用Dijkstra算法規劃一條從起始點A到待采摘果實點B的初始路徑,該路徑的中間節點分別為d1、d2、d3、…、dn。通過調整各節點位置,得到最優避障路徑。
由于采摘機器人的機械手活動空間為凸多邊形,因此初始路徑上的各節點可以在AB路徑各節點鏈接線任意滑動而不會觸碰到障礙物,并可以通過初始路徑上的節點di-1和di+1的位置坐標計算di節點的位置。di節點所在鏈接線的方程為
則di可在鏈接線上選擇的最大點di4和di3坐標可通過下式求出,即

此時,di節點的坐標表示為
2)啟發信息的選擇。啟發信息一般可以看作是機器人從一個節點運動到下一個節點的期望值[6-7],蟻群算法無法快速更新啟發信息。為使采摘機器人能夠快速到達各節點位置,提高采摘效率,對啟發信息選擇的算法進行了改進。
啟發信息的選擇主要由以下兩個因素決定:一是節點在空間中受到的勢力場的大小;二是機器人移動路線與起始點和目標點連線的夾角。在第1個因素中,機器人受到的目標節點的毅力和障礙物斥力的合力F共同決定了機器人運動方向,其受力圖如圖4所示。

圖4 采摘機器人受力分析
此時,目標節點的啟發信息為

其中,D(di,T)為當前節點和目標位置的距離,θ為兩節點連線與起始點和目標點連線的夾角。
結合兩個因素,可以得到啟發信息為

3)信息素更新。在蟻群算法初始化時,路徑的信息素自動初始化為τ0。每當路徑查詢進行1次,則路徑上的信息素自動清理,并乘以1個常量。信息素蒸發是為了防止某個路徑上的信息素過多,對后續最優路徑的尋找造成干擾[8]。為了加快最優路徑尋找效率,采用局部更新和全局更新的方法對信息素進行更新。
局部更新是指每進行1次路徑查詢,則信息素自動更新1次。此時,更新的信息素τ(t+1)為
τ(t+1)=(1-ε)τ(t)+ετ0
其中,ε為可調參數,且0<ε<1;t為更新次數。當遍歷所有目標點后,選取最短路徑,更新該路徑的信息素,這就是全局更新。為提高全局性,引入了啟發因子ρ對信息素進行自適應調節。啟發因子的表達式為
ρ(t)=0.95ρ(t-1)≥ρmin
當為其他情況時,ρ(t)取ρmin。通過此方法,保證了全局搜索的能力。
為驗證該采摘機器人的性能,在溫室進行采摘試驗。由于系統在設計時假設果實為球形,因此選擇接近球形的蘋果作為采摘對象。試驗每次挑選30個蘋果,為保證試驗結果的準確性,共進行5次。試驗環境為:蘋果零散地分布在溫室,高度均處在1~1.4m范圍內。試驗過程中,實時記錄采摘狀況。采摘路徑避障試驗結果如表1所示。

表1 蘋果采摘路徑避障試驗結果
由表1可知:采摘機器人能夠快速地完成對蘋果的定位,平均每個蘋果的定位時間均小于10s,定位成功率達到了90%以上,實現了路徑避障。定位成功后,機械手可以完成蘋果的采摘,成功率達到了100%。在定位和采摘過程中,采摘機器人各模塊均運行正常。
1)本文主要針對采摘機器人的作業路徑避障系統進行設計,系統主要組成為信息獲取系統、工控機主程序、運動執行系統等部件。
2)該采摘機器人的作業路徑避障系統采用蟻群算法進行計算,并通過對節點位置選擇、啟發信息和信息素更新的算法進行改進,可以有效提高最優路徑的規劃效率。
3)對該系統進行采摘試驗,結果表明:該采摘機器人實現了采摘前的路徑避障的目的,并且工作性能穩定,能夠滿足農戶對于采摘機器人的使用要求。