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