本文摘要:摘 要:針對在復雜室外環境下作業的農業機器人,存在因能量受限降低工作完成率的問題,提出了一種基于改進的啟發式搜索的ECA*路徑規劃算法,可以在資源受限的情況下完成能量損耗最優路徑的規劃。首先,通過建立機器人距離-能量損耗模型,計算機器人在移動中
摘 要:針對在復雜室外環境下作業的農業機器人,存在因能量受限降低工作完成率的問題,提出了一種基于改進的啟發式搜索的ECA*路徑規劃算法,可以在資源受限的情況下完成能量損耗最優路徑的規劃。首先,通過建立機器人距離-能量損耗模型,計算機器人在移動中行進的路程和損耗的能量,并對未來的路徑和能耗趨勢進行評估。
然后在傳統A*算法的基礎上將距離-能量損耗模型代入啟發代價函數,通過搜索擴展子節點尋找最優路徑。在每次迭代過程中,通過對比剔除處于劣勢的路徑,以保證算法的高效性。最后通過設計仿真實驗,將改進的ECA*算法與傳統的A*算法所搜索到路徑的能量損耗進行對比,并在之后的改進算法中添加相應的能量約束進行計算。經過仿真計算改進的算法可以減少14.87%能量消耗,驗證了ECA*算法的有效性。
關鍵詞:農業機器人; 復雜環境; 路徑規劃; 啟發式搜索
引言
路徑規劃是指在障礙環境下遵循特定的評價標準從起始點到目標點規劃出一條無碰撞的最優移動路徑[1,2],是移動機器人研究的基礎[3,4],路徑規劃算法進行不同方向優化也是移動機器人研究的熱點問題[5,6,7]。機器人工作時的工況與所處環境緊密相關,不同的環境下使用的工作策略也不盡相同。當移動機器人在室外進行作業時,考慮到室外環境大都由不平坦的地形組成[8],機器人在復雜地形環境下通常會受到自身功率、能量限制,在局部地形產生不穩定[9],降低完成作業效率與成功率。傳統的路徑規劃算法通常以距離為成本生成最優路徑,但是機器人在實際運動過程中,這種最優路徑由于變化率相對較高,反而會給機器人的能耗造成負擔。對于復雜環境下作業的機器人,通過能耗限制策略尋找最優路徑極為重要,因此也出現了許多針對能量優化的室外路徑規劃算法。文獻[10]最早提出了一種物理模型,該物理模型可計算出在各種外力的作用下移動機器人的能量損耗,并考慮到了重力效應、功率限制等不平坦路面必須解決的問題。
文獻[11]改進了能量成本模型,確定了垂直軸理想錐體表面摩擦和重力作用的近似最佳路徑。文獻[12]中引入了地形面重量概念,捕獲一些基于位置的地形參數,并提出了一種多項式時間近似算法,用于尋找最短的各向異性路徑。文獻[13]提出了一種將估計能耗加入總行駛能耗的迭代算法,應用于強干擾環境。文獻[14]提出了一種基于約束-感知的啟發式路徑規劃算法,使用鋸齒形路徑模式估計不平坦地形上的成本。文獻[15-16]在一些傳統的算法上根據能耗模型估算進行優化。文獻[17-18]對機器人軌跡控制優化完成能量節省工作。本文將提出一種Energy Constraint A*算法,其為一種改進啟發式搜索路徑規劃算法,簡稱ECA*算法。與文獻[8]添加比例因子的方法不同,本文算法將利用距離-能量損耗模型作為路徑搜索啟發代價,在給定約束條件下,使用最佳優先搜索策略尋找到能量損耗最優路徑。
1 路徑規劃的損耗問題
1.1 距離-能量損耗模型
為了計算移動機器人在行進過程中的能量損耗,構造了兩點之間距離-能量損耗模型,通過迭代累計和一定的約束限制,即可計算出移動機器人在整條路徑中的能耗。已知兩點xx、yy的坐標,則xx點到yy點的損耗量可以表示為L⃗ (x,y)=(D(x,y),E(x,y))L→(x,y)=(D(x,y),E(x,y)) (1)式中 D(x,y)D(x,y)——xx、yy兩點間的距離函數E(x,y)E(x,y)——xx、yy兩點間的能量損耗函數考慮機器人移動時所克服的重力與摩擦力的影響,D(x,y)D(x,y)的計算方式為 [19]D(x,y)={∞(a(x,y)>αmax)d(x,y)(a(x,y)≤αmax)D(x,y)={∞(a(x,y)>αmax)d(x,y)(a(x,y)≤αmax) (2)式中 d(x,y)d(x,y)——xx、yy兩點間的實際距離函數,采用歐氏距離進行計算a(x,y)a(x,y)——xx、yy兩點間的仰角函數αmaxαmax——兩點之間仰角的最大臨界值E(x,y)E(x,y)的計算方式為[19]E(x,y)=⎧⎩⎨⎪⎪∞(a(x,y)>αmax)mgd(x,y)(μcosa(x,y)+sina(x,y))(a(x,y)≤αmax)E(x,y)={∞(a(x,y)>αmax)mgd(x,y)(μcosa(x,y)+sina(x,y))(a(x,y)≤αmax) (3)式中 mm——輪式機器人的質量與機載質量之和gg——重力加速度μμ——機器人與地面間的動摩擦因數在本文使用的算法中,兩點的實際距離采用歐式距離進行計算。從式(2)與(3)中可以看出,當兩點之間的角度超過最大臨界值時,損耗量將變成無窮,所以為了減少能量的損耗,在搜索路徑的過程中將會把上升坡度變化率過高的路徑剔除。計算路徑的損耗量時,假設在地圖中存在一條可以從點psps到點pfpf的路徑,則可將路徑的總損耗量函數表示為L⃗ (ηpspf)=∑i=sf−1(D(ηpspf),E(ηpspf))L→(ηpspf)=∑i=sf−1(D(ηpspf),E(ηpspf)) (4)式中 ηpspfηpspf——行進中所走過路徑(點的集合)[20]當有s≤i
1.2 距離-能耗約束
使用距離-能量損耗模型搜索路徑時,距離的成本為行進時間,路徑越長則耗費的時間越多,能量的成本為輪式機器人的電量。若只考慮距離的影響,則可能會造成電池能大量的浪費,若只考慮能量的損耗,則可能會大大增長完成路徑的時間。所以在路徑搜索過程中要兼顧兩者。在從點psps到點pfpf的路徑搜索過程中,可定義距離-能耗約束為C⃗ (ps,pf)=(cd,ce)C→(ps,pf)=(cd,ce) (7)式中 cdcd——距離的約束值cece——能量損耗的約束值,表示供電量的最大值假設算法搜索到路徑ηpspfηpspf,路徑損耗如式(4)所示,當且僅當{D(ηpspf)≤cdE(ηpspf)≤ce{D(ηpspf)≤cdE(ηpspf)≤ce (8)成立時,路徑ηpspfηpspf可以得到保留,否則將此路徑剔除。
2 算法改進
2.1 傳統A*算法
傳統的A*算法[21,22]是一種啟發式搜索算法,具有最優性、完備性和高效性等優點[23]。A*算法的代價函數為f(n)=g(n)+h(n)f(n)=g(n)+h(n) (9)式中 f(n)f(n)——當前節點總啟發式代價g(n)g(n)——起始點到當前點的實際代價h(n)h(n)——當前點與目標點的估計代價該算法的原理是從起始點開始,對周圍的節點進行擴散,通過啟發函數計算得到具有最小啟發代價的點作為子節點,并將子節點移入到Close_list中,而其他已搜索到非最優的子節點則移至Open_list中,不斷重復該過程直到搜索到目標點,最后通過回溯得到一條最優路徑。雖然傳統A*算法能夠高效地找出最短路徑,但是并沒有考慮到機器人實際上的運動和消耗,最短路徑同時也意味著機器人在行進過程中需要經歷快速持續的地形變化以及大功率的輸出,反而會造成更多的能量損耗。
推薦閱讀:《青海草業》(季刊)創刊于1992年,是由青海省草原學會,青海省草原總站主辦的草業刊物。
轉載請注明來自發表學術論文網:http://www.zpfmc.com/nylw/18568.html