張偉偉
(甘肅省景泰川電力提灌水資源利用中心,甘肅 景泰 730400)
作為化肥量第一使用大國,我國在灌區(qū)農田施肥目前主要采取人工撒肥的方式進行施肥,人工施肥具有作業(yè)效率低、不均勻和偏施等問題[1]。離心式撒肥機是一種重要的農業(yè)撒肥機械,撒肥效率高,可提高肥料利用率,降低化學肥料對環(huán)境的影響,符合綠色農業(yè)發(fā)展理念[2]。
國外對于撒肥機的研究起步較早,自動化程度較高,主要集中在歐洲國家和美國[3-5],如美國約翰迪爾、法國 CUHN 公司的ProP ush2044 型背推式撒肥機、法國庫恩公司的 Protwin8150 型側錘片式撒肥機和德國阿瑪松撒肥機[6-7]。但昂貴的價格成為推廣應用的主要阻礙。近年來國內撒肥機的研究也取得一定的進展,胡永光等[8]針對茶園的施肥模式,設計出一種茶園專用撒肥機。石河子大學胡東彬等[9]設計一種雙圓盤離心式液控變量撒肥機,利用離散元仿真軟件 EDEM 通過圓盤轉速、攪龍轉速、行走速度等對撒肥均勻性進行單因素離散元仿真分析。塔里木大學張涵等[10]使用雙絞龍為撒肥部件,在輸肥同時進行攪拌,防止有機肥堵塞出肥口;馬標等[11]通過調整碎肥裝置上撥爪的排列方式,對臥式有機肥撒肥機進行研究,增加了有機肥的破碎效果。
目前國內現(xiàn)有的撒肥機施肥過程需要人工規(guī)劃施肥機路線,自動化和智能化水平較低。本文針對規(guī)則與不規(guī)則邊界地形采用蟻群算法對自走式撒肥機施肥路線進行最優(yōu)路徑規(guī)劃,以期提高施肥效率和自動化智能化水平,為自主撒肥機設計研究提供理論依據。
整機結構由機架、料斗、行走裝置、撒肥裝置組成,如圖1 所示,其中料斗設計為梯形結構,底部開設小孔便于落料,行走裝置采用地輪以適應復雜地形,撒肥裝置由電機拖動撒盤旋轉進行撒肥。
圖1 撒肥機整機結構
工作過程中,行走裝置按照規(guī)劃路徑行駛,肥料從料斗落下,撒盤對從料斗落下的肥料進行均勻拋撒。
撒肥機在自主行走過程中為平面運動,主要表現(xiàn)為在X 方向和Y 方向運動控制作用下走出一條滿足約束情況的撒肥行駛路徑,在行駛過程中由多個目標點組成路徑,目標點為必經點。其運動學方程為
式中:
x、y——撒肥機行走過程中在平面上運動的橫坐標與縱坐標;
vx、vy——撒肥機在X、Y 方向的速度,m/s;
ux、uy——X、Y 方向的控制力矩,N·m。
由于該問題中撒肥機必然經過規(guī)劃必經點,針對多區(qū)間帶有約束的最優(yōu)路徑,本文選取狀態(tài)變量X=[xyvxvy]T,控制變量U=[uxuy]T,可得到狀態(tài)方程約束為
在行駛工作過程中,考慮到撒肥路徑的時間最短、撒肥機耗能最少、撒肥效率高,對于撒肥機行駛必經點,假設其數量為n,定義目標函數為
式中:
t0——第p階段的初始時刻;
tf——該階段的終止時刻。
由狀態(tài)向量在不同階段的t0、tf可得到邊界條件為
式中:
(x0,y0)(p)——第p個規(guī)劃必經點的坐標;
(x(t0),y(t0))(p)、(x(tf),y(tf))(p)——第p區(qū)間上初始時刻和終止時刻的位置邊界值;
vx(1)(t0)、vy(1)(t0)、vx(n)(tf)、vy(n)(tf)——第1 階段初始時刻和最后階段終止時刻的速度邊界值。
對不同階段之間的連接點,做如下約束
通過上述動力學方程、目標函數以及約束條件,組成了Bolza 形式性能指標的最優(yōu)控制問題,對撒肥機的最優(yōu)運動路徑進行求解。
蟻群算法是一種啟發(fā)式改進型算法,其是通過模擬自然界中螞蟻集體尋找食物時的蟻群路徑規(guī)劃行為進而產生的優(yōu)化算法。蟻群中螞蟻在巢穴四周尋找食物時,蟻群與食物之間的路徑通常為直線,由此可見,蟻群有著很強的尋優(yōu)能力。螞蟻會在運動的路線上留下信息素,在相同時間內信息濃度越高,代表該路徑越短。螞蟻會根據信息素的濃度選擇路徑,濃度越高,選擇的傾向越大。這種正反饋機制導致最終所有螞蟻均選擇最短路徑,實現(xiàn)路徑規(guī)劃。
假設蟻群中螞蟻的數量為m,dij(i,j=1,2,…,n)表示沖孔點i與j之間的距離。每一個沖孔點在一次迭代中只訪問一次,通過建立“禁忌表”來存放已經訪問過的沖孔點,以免重復訪問。
在算法運行中,螞蟻k(k=1,2,…,m)由沖孔點i向沖孔點j轉移的概率Q,可以由式(7)計算得到。
式中:
τij(t)——沖孔點i與j之間的信息素濃度;
ηij(t)——從沖孔點i到沖孔點j的期望啟發(fā)式,其數值為1/dij;
Ak——螞蟻下一步可以選擇的沖孔點集合;
α——信息啟發(fā)式因子,表示計算時信息素濃度影響轉移概率Q的程度;
β——期望啟發(fā)式因子,表示計算時沖孔點i與j之間的距離影響轉移概率Q的程度。
螞蟻在行進中不斷釋放信息素,但是信息素也會隨著時間的流逝而逐漸揮發(fā),因此,在分別計算所有螞蟻經過路徑的長度,記錄最短的長度和路徑順序之后,需要對信息素濃度進行更新。首先計算揮發(fā)后剩余的信息素濃度,然后計算本次行進期間釋放的信息素濃度,如式(8)所示。
式中:
ρ——信息素揮發(fā)系數。
式中:
式中:
Q——常數;
Lk——螞蟻k在本次周游過程中經過的路徑長度。
本文選擇Ant cycle 模型,其是在所有螞蟻均拜訪完全部規(guī)劃必經點后,統(tǒng)一對行程中的信息素濃度進行更新。而Ant density 和Ant quantity 模型,則是在2 個沖孔點間移動1 次后即更新信息素。
在撒肥機行駛過程中,蟻群算法的程序流程圖如圖2 所示,具體描述如下。
圖2 蟻群算法計算流程
1)初始化程序,設置參數,包括螞蟻數量、沖孔點位置矩陣、信息啟發(fā)式因子、期望啟發(fā)式因子、信息素揮發(fā)因子、迭代次數等。
2)迭代尋找最佳路徑,隨機產生各螞蟻的起始沖孔點,按照概率公式計算配合輪盤賭法下一點,將已經訪問過的沖孔點加入禁忌表中。
3)計算本次迭代過程中的最短路徑與平均路徑,更新信息素濃度,清空禁忌表。
4)重復上述過程,直至達到初始設定的迭代次數為止,得到最優(yōu)解和計算時間。
本文選擇3 750 mm×4 500 mm 規(guī)則長方形地塊規(guī)劃路徑,根據Kuhn 公司的MDSl0.I 型單圓盤撒肥機的作業(yè)寬度為10~18 m[13],選擇工作寬度為15 m。按照撒肥機作業(yè)半徑進行橫向和縱向分割,其中藍色網格相交點為撒肥機必經點,如圖3 所示。從四周邊界任選一點交叉點選擇撒肥機起始位置,本文選取(750,0)點作為起始點,進行路徑規(guī)劃。
圖3 規(guī)則邊界地塊網格分割圖
針對不規(guī)則邊界地塊的撒肥路徑規(guī)劃,通過對最大邊界依照從左至右從上而下的規(guī)則按照撒肥機作業(yè)半徑依次進行縱向和橫向分割直到最右邊邊界距離最后一次分割的邊界的距離小于作業(yè)半徑為止,進而完成不規(guī)則邊界地塊分割。除去邊界交叉點,其中藍色網格相交點為撒肥機必經點,選擇邊界點與交叉點相重合的點為起始點進行路徑規(guī)劃,本文選?。?50,0)點作為起始點,如圖4 所示。
圖4 不規(guī)則邊界地塊網格分割圖
使用Matlab 軟件,選擇蟻群算法和粒子群算法分別對規(guī)則地塊和不規(guī)則地塊進行路徑規(guī)劃,在相同的條件和相同環(huán)境下進行路徑規(guī)劃試驗,重復多組試驗,取其結果的平均值,最后得到自主撒肥機的最優(yōu)運動軌跡。試驗環(huán)境為Window10 操作系統(tǒng),Intel Core i7-8th 處理器,8 G 內存,Matlab_R2020b編程環(huán)境。
蟻群算法參數設置為螞蟻數量:50;信息素揮發(fā)因子:0.2;啟發(fā)函數重要程度因子:5;信息素重要程度因子:1;最大迭代次數:150。
粒子群算法參數設置為粒子數:81;進化代數:800;權重設置:0.9。
規(guī)則邊界地塊撒肥機按照蟻群算法規(guī)劃路徑如圖5 所示,其行駛的最短距離為16 060.660 2 mm,在21 步迭代后找到全局最優(yōu)解,算法收斂速度快,計算機計算時間為1.60 s,如圖6 所示;規(guī)則邊界地塊撒肥機按照粒子群算法規(guī)劃路徑如圖7 所示,其行駛的最短距離為31 580.793 mm,在130 步迭代后找到全局最優(yōu)解,算法收斂速度相對較慢,計算機計算時間為3.21 s,如圖8 所示。
圖5 蟻群算法規(guī)劃路徑圖
圖6 蟻群算法迭代計算圖
圖7 粒子群算法規(guī)劃路徑圖
圖8 粒子群群算法迭代計算圖
不規(guī)則邊界地塊撒肥機按照蟻群算法規(guī)劃路徑如圖9 所示,其行駛的最短距離為17 560.660 2 mm,在7 步迭代后找到全局最優(yōu)解,算法收斂速度快,計算機計算時間為1.804 4 s,如圖10 所示;不規(guī)則邊界地塊撒肥機按照粒子群算法規(guī)劃路徑如圖11 所示,其行駛的最短距離為35 580.393 5 mm,在20 步迭代后找到全局最優(yōu)解,算法收斂速度相對較慢,計算機計算時間為2.89 s,如圖12 所示。
圖9 蟻群算法規(guī)劃路徑圖
圖10 蟻群算法迭代計算圖
圖11 粒子群算法規(guī)劃路徑圖
圖12 粒子群算法迭代計算圖
規(guī)則邊界地塊撒肥機按照蟻群算法規(guī)劃路徑最短距離為16 060.660 2 mm,計算機計算時間為1.60 s;按照粒子群算法規(guī)劃路徑最短距離為31 580.793 mm,計算機計算時間為3.21 s。
不規(guī)則邊界地塊撒肥機按照蟻群算法規(guī)劃路徑最短距離為17 560.660 2 mm,計算機計算時間為1.804 4 s;按照粒子群算法規(guī)劃路徑最短距離為35 580.393 5 mm,計算機計算時間為2.89 s。
對同一大小的規(guī)則和不規(guī)則地塊采用蟻群算法和粒子群算法進行路徑規(guī)劃,發(fā)現(xiàn)蟻群算法在撒肥路徑的規(guī)劃過程中路徑比粒子群算法短,計算時間少,因此撒肥機能耗也少,蟻群算法要優(yōu)于粒子群算法。