楊奇峰,曲道奎,徐 方
(1.中國科學(xué)院沈陽自動化研究所機(jī)器人學(xué)國家重點(diǎn)實(shí)驗(yàn)室,遼寧 沈陽 110016;2.中國科學(xué)院機(jī)器人與智能制造創(chuàng)新研究院,遼寧 沈陽 110169;3.中國科學(xué)院大學(xué),北京 100049;4.沈陽新松機(jī)器人自動化股份有限公司,遼寧 沈陽 110168)
移動機(jī)器人路徑規(guī)劃技術(shù)是其研究的關(guān)鍵技術(shù)問題之一,移動機(jī)器人局部路徑規(guī)劃方法可以歸類為3類方法,基于圖搜索的路徑規(guī)劃技術(shù)[1-3],構(gòu)建人工勢場進(jìn)行路徑規(guī)劃的技術(shù)[4],基于各類人工智能算法的路徑規(guī)劃技術(shù)[5-8],各種算法各有優(yōu)缺點(diǎn)[9]。
劉軍等提出有向D*算法。該算法考慮目標(biāo)點(diǎn)與障礙物信息,引入關(guān)鍵節(jié)點(diǎn)概念,較傳統(tǒng)算法能更好地兼顧局部搜索與全局最優(yōu)性[10];Le AT等基于D*lite在復(fù)雜環(huán)境中的效率問題,提出了一種新的算法D*LR(D*lite with reset),在復(fù)雜環(huán)境下,D*LR的性能比D*lite有明顯的提高并在ROS上進(jìn)行了驗(yàn)證[11];黃魯?shù)纫霊卸枰暰€算法,結(jié)合距離變換對D*lite算法進(jìn)行改進(jìn)。使得重規(guī)劃得到的路徑遠(yuǎn)離突現(xiàn)的障礙物[12]。楊俊駒通過改進(jìn)傳統(tǒng)人工勢場法作為機(jī)器人局部路徑規(guī)劃算法,使機(jī)器人能迅速避開動態(tài)障礙物[13]。吳運(yùn)雄等提出基于深度強(qiáng)化學(xué)習(xí)的動態(tài)避障算法,較好地解決了傳統(tǒng)算法存在的容易陷入局部最優(yōu)的問題[14]。這些算法在進(jìn)行動態(tài)路徑規(guī)劃時,在每一個更新的時刻,機(jī)器人都是根據(jù)障礙物的當(dāng)前位置進(jìn)行后續(xù)路徑規(guī)劃,并依次更新迭代,在機(jī)器人動態(tài)的更新路徑時,并不考慮動態(tài)障礙物的運(yùn)動趨勢,因此我們希望在移動機(jī)器人動態(tài)路徑規(guī)劃時,引入動態(tài)障礙物的運(yùn)動預(yù)測機(jī)制,優(yōu)化動態(tài)避障路徑規(guī)劃策略。在移動機(jī)器人的動態(tài)避障路徑規(guī)劃過程中,評估障礙物的移動軌跡,提出改進(jìn)的D*lite路徑規(guī)劃算法,使機(jī)器人的動態(tài)避障算法更接近于人的避障策略,提高機(jī)器人動態(tài)避障路徑規(guī)劃的效率和安全性。
D*lite是一種基于柵格模型適應(yīng)動態(tài)環(huán)境的路徑規(guī)劃算法。D*lite算法由D*算法改進(jìn)而來,運(yùn)用LPA*算法的思想,使得移動機(jī)器人在未知動態(tài)環(huán)境下可以快速重規(guī)劃。
D*lite算法與D*算法一樣,搜索方式采用從目標(biāo)節(jié)點(diǎn)到起始節(jié)點(diǎn),以適應(yīng)起始點(diǎn)改變的情況,D*lite算法維護(hù)每一個節(jié)點(diǎn)的g(s), 并且引入了LPA*算法中rhs(s) 的定義
(1)
式(1)中用Succ(s) 表示所有節(jié)點(diǎn)s的后繼節(jié)點(diǎn),用g(s′) 表示節(jié)點(diǎn)s′到目標(biāo)節(jié)點(diǎn)的距離代價。 D*lite維護(hù)每個柵格的g(s) 與rhs(s), 當(dāng)兩個變量相等時,定義該節(jié)點(diǎn)為一致狀態(tài),否則為不一致態(tài)。只有處于一致狀態(tài)下的節(jié)點(diǎn)是已經(jīng)擴(kuò)展完畢、可以通行的,不一致狀態(tài)表示該節(jié)點(diǎn)的路徑信息是不準(zhǔn)確的。 D*lite算法如圖1所示。
圖1 D*lite算法
D*lite算法引入k(s) 來進(jìn)行各柵格節(jié)點(diǎn)的距離代價的評估,k(s) 包含兩個值[k1(s);k2(s)], 這里的k1(s),k2(s) 由如式(2)、式(3)計(jì)算
k1(s)=min(g(s),rhs(s))+h(s,sgoal)
(2)
k2(s)=min(g(s),rhs(s))
(3)
當(dāng)環(huán)境中出現(xiàn)新的障礙物時,D*lite算法可以快速更新該障礙物周邊節(jié)點(diǎn)的信息,并對由此而導(dǎo)致不連續(xù)的節(jié)點(diǎn)進(jìn)行快速重規(guī)劃。但是每次機(jī)器人遇到新的障礙物進(jìn)行避障時,機(jī)器人總是只考慮障礙物當(dāng)前的位置,并不考慮障礙物的動態(tài)性,因此對于動態(tài)障礙物的避障,所規(guī)劃出的路徑并不是最優(yōu)的。另一方面很有可能機(jī)器人選擇的避障路徑與障礙物的運(yùn)動方向一致,增加了機(jī)器人與障礙物碰撞的風(fēng)險,本文提出基于障礙物運(yùn)動趨勢的改進(jìn)D*lite算法,極大提高了局部動態(tài)障礙物避障路徑規(guī)劃的規(guī)劃效率及安全性。
人在行走過程中,如果在自己的行走路線上出現(xiàn)諸如行人、汽車等運(yùn)動障礙物,會首先基于運(yùn)動障礙物的歷史移動軌跡及當(dāng)前狀態(tài)分析其運(yùn)動意圖,之后根據(jù)運(yùn)動障礙物的運(yùn)動意圖合理規(guī)劃下一步路線。本文提出了基于運(yùn)動障礙物運(yùn)動意圖的動態(tài)障礙物路徑規(guī)劃方法,如圖2所示,模仿人遇到動態(tài)障礙物的避障策略。在進(jìn)行運(yùn)動障礙物避障時,首先分析運(yùn)動障礙物的意圖,以提高避障的效率和安全性。
圖2 動態(tài)避障路徑規(guī)劃
機(jī)器人通過對運(yùn)動障礙物歷史狀態(tài)的分析,估計(jì)運(yùn)動障礙物速度及在避障過程中運(yùn)動方向和運(yùn)動距離,將運(yùn)動障礙物的可能行走軌跡作為待避障區(qū)域的一部分進(jìn)行整體規(guī)劃。在所有可行的軌跡中,采用時間維度上路徑最優(yōu)的策略確定優(yōu)先級最高的路徑,機(jī)器人運(yùn)行過程中實(shí)時判斷運(yùn)動障礙物的狀態(tài),并不斷調(diào)整運(yùn)行軌跡。局部動態(tài)避障算法步驟如下:
(1)機(jī)器人實(shí)時采集環(huán)境中障礙物的信息,并計(jì)算障礙物在環(huán)境坐標(biāo)系下的歷史位置;
(2)對障礙物進(jìn)行合理的膨脹,提高機(jī)器人避障路徑規(guī)劃的安全性;
(3)根據(jù)障礙物的歷史位置,基于障礙物運(yùn)動預(yù)測模型預(yù)測機(jī)器人運(yùn)行過程中障礙物的行進(jìn)路徑;
(4)采用改進(jìn)D*lite算法實(shí)時規(guī)劃機(jī)器人行進(jìn)的路徑,控制機(jī)器人按照規(guī)劃路徑運(yùn)行;
(5)機(jī)器人運(yùn)行過程中根據(jù)障礙物狀態(tài)(歷史軌跡)的變化,實(shí)時調(diào)整機(jī)器人的運(yùn)行軌跡。
機(jī)器人可以通過自身搭載的攝像頭、機(jī)載雷達(dá)等傳感器實(shí)時獲取環(huán)境中的點(diǎn)云信息,采用聚類的方法對環(huán)境中的物體點(diǎn)云進(jìn)行歸類,并實(shí)時對環(huán)境中的障礙物進(jìn)行匹配分析,不同幀數(shù)據(jù)中障礙物的位置變化表征了動態(tài)障礙物的歷史移動軌跡。
如圖3所示, R為移動器人, O為機(jī)器人探測到的前方障礙物。在機(jī)器人R運(yùn)行過程中,障礙物O同時也在運(yùn)動,機(jī)器人當(dāng)前的位置為Pr, 速度為Vr, 動態(tài)障礙物當(dāng)前的位置為Po, 速度為VO, 下一時刻動態(tài)障礙物運(yùn)行的可能位置為P′o, 對運(yùn)動障礙物進(jìn)行運(yùn)行軌跡預(yù)測可以提高機(jī)器人的路徑規(guī)劃效率。
圖3 動態(tài)障礙物運(yùn)行趨勢
設(shè)運(yùn)動障礙物任意時刻的位置為Pi=(xi,yi), 運(yùn)用拉格朗日插值法建立移動目標(biāo)的運(yùn)動軌跡模型。
采用拉格朗日插值法可以構(gòu)建一個多項(xiàng)式,該多項(xiàng)式在各個觀測點(diǎn)通過觀測到的值,對于任意K+1個點(diǎn)A0(x0,y0),A1(x1,y1),…,Ak+1(xk+1,yk+1), 存在多項(xiàng)式(4)
(4)
其中,li(x) 為拉格朗日基本多項(xiàng)式,也稱為插值基函數(shù),其表達(dá)式為(5)
(5)
拉格朗日插值多項(xiàng)式fk(x) 的截?cái)嗾`差為公式
(6)
其中,cn+1(x)=(x-x0)(x-x1)…(x-xn), 因此,三點(diǎn)外插公式為式(7)和式(8)
(7)
(8)
設(shè)機(jī)器人在運(yùn)行過程中,通過掃描匹配獲得動態(tài)障礙物的先后3個位置為(ti,xi,yi),(ti+1,xi+1,yi+1),(ti+2,xi+2,yi+2), 由上式可以得出動態(tài)障礙物tn時刻x方向和y方向的運(yùn)動預(yù)測計(jì)算公式,分別為式(9)、式(10)
(9)
(10)
模型建立后,即可計(jì)算出此后任意時刻tn運(yùn)動目標(biāo)的位置 (tn,xn,yn), 當(dāng)機(jī)器人運(yùn)行過程中獲得新的動態(tài)障礙物位置,設(shè)為 (ti+3,xi+3,yi+3), 這時令
ti=ti+1,xi=xi+1,yi=yi+1
(11)
ti+1=ti+2,xi+1=xi+2,yi+1=yi+2
(12)
ti+2=ti+3,xi+2=xi+3,yi+2=yi+3
(13)
代入式(9)、式(10),即可得到動態(tài)障礙物今后某一時刻tn新的預(yù)測位置 (tn,xn,yn)
如圖4所示,機(jī)器人運(yùn)行過程中先后探測到位置為P0,P1,P2,P3動態(tài)障礙物,黑色實(shí)線軌跡f1(x) 為機(jī)器人依據(jù)探測到的障礙物位置P0,P1,P2預(yù)測的動態(tài)障礙物運(yùn)動軌跡,P′3,P′4為機(jī)器人預(yù)測的后續(xù)兩時刻動態(tài)障礙物的位置,當(dāng)機(jī)器人探測到t3時刻實(shí)際位置P3的動態(tài)障礙物時,機(jī)器人根據(jù)動態(tài)障礙物的運(yùn)動位置P1,P2,P3對其后續(xù)運(yùn)行軌跡進(jìn)行重新預(yù)測,圖中淺灰色虛線便是重新預(yù)測后的軌跡曲線,P″4為基于新預(yù)測軌跡曲線計(jì)算獲得的動態(tài)障礙物后續(xù)位置,由于P′3與P3存在偏差,因此預(yù)測出的后續(xù)節(jié)點(diǎn)P′4與P″4也存在偏差,機(jī)器人在每一個規(guī)劃周期T,更新環(huán)境中的障礙物信息,迭代預(yù)測障礙物后續(xù)軌跡,并更新機(jī)器人的規(guī)劃軌跡。
圖4 動態(tài)障礙物運(yùn)動預(yù)測
雖然環(huán)境中的運(yùn)動目標(biāo)在中長期內(nèi)其運(yùn)動具有很大的隨機(jī)性,但在短期內(nèi)的運(yùn)動還是有一定規(guī)律可循。比如室外園區(qū)中常見動態(tài)障礙物如行人、車輛由于受到社會規(guī)則或其本身運(yùn)動學(xué)模型的約束,其軌跡具有光滑性、連續(xù)性的特點(diǎn),不會突然逆方向運(yùn)動;或者即使有這種情況存在,但其概率也比較小。因此在一個較短時間內(nèi),通過構(gòu)建拉格朗日運(yùn)動預(yù)測模型,對園區(qū)動態(tài)障礙物的運(yùn)動進(jìn)行一定精度的預(yù)測是可行的。
在柵格地圖中,設(shè)機(jī)器人當(dāng)前節(jié)點(diǎn)為S,起始節(jié)點(diǎn)為sstart, 目標(biāo)節(jié)點(diǎn)為sgoal, 動態(tài)障礙物的節(jié)點(diǎn)為O(O1,O2…On)。
柵格地圖中的障礙物具有阻礙機(jī)器人通過的特性,我們稱之為機(jī)器人通過該障礙物所占柵格的距離代價,用距離代價函數(shù)DisV(o) 表示,障礙物的距離代價值取相對較大的值進(jìn)行表征。用下式表示
DisV(o)=K
(14)
為了避免機(jī)器人在避障運(yùn)行時,規(guī)劃出的路徑離機(jī)器人距離太近,我們對障礙物進(jìn)行適當(dāng)?shù)呐蛎?,膨脹后障礙物周邊的柵格具有一定數(shù)值的距離代價,設(shè)柵格離障礙物之間的街區(qū)距離為Ro,膨脹區(qū)域?yàn)轭I(lǐng)域距離R,可得到障礙物周邊柵格的距離代價函數(shù)如下式所示
(15)
通過障礙膨脹函數(shù),可以對地圖中的柵格逐一進(jìn)行距離代價的計(jì)算,柵格地圖中存在多個障礙物的情況下,每一個柵格取該柵格所有領(lǐng)域障礙物膨脹距離代價的最大值作為該柵格的距離代價值。障礙物膨脹如圖5所示。
圖5 障礙物膨脹建模
地圖中任意兩點(diǎn)間的路徑可能有多條,地圖中任意兩個節(jié)點(diǎn)S1,S2之間的可行路徑組成一個路徑集,用dis(S1,S2) 表示路徑集的距離代價。
與D*lite算法一致,當(dāng)前節(jié)點(diǎn)s到目標(biāo)節(jié)點(diǎn)sgoal的啟發(fā)距離值為g(s), 不同的是,令g(s) 為當(dāng)前節(jié)點(diǎn)s到目標(biāo)節(jié)點(diǎn)sgoal之間的最短路徑加上節(jié)點(diǎn)s的距離代價。g(s) 計(jì)算公式如下式所示
(16)
當(dāng)前節(jié)點(diǎn)s經(jīng)過后繼節(jié)點(diǎn)到達(dá)目標(biāo)節(jié)點(diǎn)的路徑代價為rhs(s), 代表了s父節(jié)點(diǎn)的g(s),rhs(s) 由下式表示
(17)
這里c(s,s′) 為s到節(jié)點(diǎn)s′的路徑代價,當(dāng)變量rhs(s)=g(s) 時,該節(jié)點(diǎn)處于一致狀態(tài),不需要更新;否則處于不一致狀態(tài),需要更新。
當(dāng)前障礙節(jié)點(diǎn)是由機(jī)器人運(yùn)行過程中實(shí)時探測得到,其置信度高;而障礙物后續(xù)運(yùn)動軌跡是依據(jù)障礙物當(dāng)前運(yùn)動狀態(tài)預(yù)測得到,因此其軌跡上的障礙物置信度較低。而且隨著預(yù)測時間的增加,可信度將減小,將預(yù)測節(jié)點(diǎn)的距離代價函數(shù)定義如下
(18)
這里DisV(on) 表示障礙物節(jié)點(diǎn)o在時間n時的距離代價值,N表示預(yù)測步數(shù)范圍。動態(tài)障礙物預(yù)測代價距離建模如圖6所示。
圖6 動態(tài)障礙物代價距離建模
基于動態(tài)障礙物運(yùn)動趨勢的改進(jìn)D*lite避障路徑規(guī)劃算法流程如圖7所示。
圖7 改進(jìn)D*lite算法流程
該算法中的計(jì)算最短路徑的算法流程如圖8所示。
圖8 最短路徑算法流程
仿真實(shí)驗(yàn)過程中, P(1,1) 灰色點(diǎn)代表機(jī)器人的起始點(diǎn), P(30,30) 黑色點(diǎn)代表機(jī)器人下一個將要到達(dá)的目標(biāo)點(diǎn),圖中黑色方塊代表機(jī)器人運(yùn)行過程中遇到的障礙物,為了使機(jī)器人避障過程中更安全,首先將障礙物進(jìn)行合理的膨脹,實(shí)驗(yàn)過程中障礙物膨脹半徑R=2, 圖9(a)中的障礙物為機(jī)器人探測到的實(shí)際障礙物,中間圖9(b)中灰色部分為障礙物的膨脹區(qū)域,圖9(c)中障礙物為實(shí)際障礙物膨脹后變大的障礙物模型。障礙物膨脹后,本文對動態(tài)障礙物幾種典型的運(yùn)動進(jìn)行了模擬驗(yàn)證,障礙物的膨脹過程如圖9所示。
圖9 障礙物膨脹
實(shí)驗(yàn)1,動態(tài)障礙物運(yùn)動趨勢如圖10(a)所示,由黑色障礙物位置P(21,13) 向灰色障礙物位置P(11,23) 移動,圖10(b)是障礙物移動的實(shí)際軌跡,圖10(c)是機(jī)器人遇到圖中的動態(tài)障礙物時,按照D*lite算法實(shí)時規(guī)劃出的從機(jī)器人運(yùn)動起始點(diǎn)到終點(diǎn)的路徑,可以看出機(jī)器人在運(yùn)行到點(diǎn)P(14,14) 時遇到障礙物,之后隨著障礙物的運(yùn)動,機(jī)器人一直處于動態(tài)避障狀態(tài),并計(jì)算代價最小的后續(xù)節(jié)點(diǎn),但是由于機(jī)器人并不判斷障礙物的后續(xù)運(yùn)動位置,機(jī)器人會一直沿著障礙物的運(yùn)動方向進(jìn)行避障,直到障礙物停止運(yùn)動(或者機(jī)器人超過或落后于障礙物),機(jī)器人才可以完成障礙物避障,整個過程中機(jī)器人與障礙物的運(yùn)動方向一致,且機(jī)器人速度大于障礙物時,機(jī)器人會從障礙物前方繞過,這樣的避障方式會使發(fā)生碰撞的風(fēng)險大大增大,整個避障過程經(jīng)過的節(jié)點(diǎn)數(shù)為12。采用本文提出的方法進(jìn)行動態(tài)障礙物避障,規(guī)劃的避障路徑如圖10(d)所示,從圖中可以看出,本文所提方法不僅考慮了障礙物當(dāng)前的位置,而且會預(yù)測障礙物之后運(yùn)動位置,當(dāng)機(jī)器人遇到障礙物后,與機(jī)器人運(yùn)動方向一致的避障方向代價增大,機(jī)器人會選擇障礙物運(yùn)動方向相反的路徑進(jìn)行避障,這樣的避障方法更符合人類遇到障礙物的避障策略,根據(jù)障礙物的運(yùn)動趨勢,選擇最優(yōu)的方向與路徑進(jìn)行避障,提高避障安全性的同時,縮短避障的路徑代價,整個避障過程機(jī)器人經(jīng)過的節(jié)點(diǎn)數(shù)為9,經(jīng)過的節(jié)點(diǎn)數(shù)相比D*lite算法減小25%。實(shí)驗(yàn)1的結(jié)果如圖10所示。
圖10 單障礙物與路徑規(guī)劃算法對比1
實(shí)驗(yàn)2,移動的機(jī)器人移動過程中,體積較小動態(tài)障礙物由黑色障礙物位置P(15,19) 移動到灰色障礙物位置P(24,7), 移動機(jī)器人在運(yùn)動到位置P(14,14) 時與動態(tài)障礙物相遇,進(jìn)入避障區(qū)域,按照D*lite算法規(guī)劃出的避障路徑如圖11(c)所示,可以看出隨著障礙物的移動,移動機(jī)器人規(guī)劃出的避障路徑與機(jī)器人的運(yùn)動方向相同,直到障礙物停止(或者機(jī)器人超過或落后于障礙物),機(jī)器人完成避障,在整個運(yùn)行過程中移動機(jī)器人一直與運(yùn)動障礙物伴行,避障安全性無法保障,整個避障過程的節(jié)點(diǎn)數(shù)為14。本文所提算法規(guī)劃出的避障路徑如圖11(d)所示,機(jī)器人遇到動態(tài)障礙物時,繞過運(yùn)動障礙物,從運(yùn)動障礙物的運(yùn)動反方向進(jìn)行避障運(yùn)行,成功實(shí)現(xiàn)避障過程且可以大大提高機(jī)器人的避障安全性,整個避障過程的節(jié)點(diǎn)數(shù)為7,是D*lite算法避障節(jié)點(diǎn)數(shù)的50%,效率提高了一倍。實(shí)驗(yàn)2的結(jié)果如圖11所示。
圖11 單障礙物與路徑規(guī)劃算法對比2
實(shí)驗(yàn)3,移動機(jī)器人在運(yùn)動過程中遇到多個動態(tài)障礙物(圖中為兩個障礙物),圖12(a)中稍大的障礙物由黑色障礙物位置P(8,13) 運(yùn)動到灰色障礙物位置P(14,8), 尺寸偏小的障礙物由黑色障礙物位置P(26,13) 移動到灰色障礙物位置P(19,24), 在移動機(jī)器人向目標(biāo)點(diǎn)運(yùn)動過程中,基于D*lite避障算法如圖12(c)所示,移動機(jī)器人首先在位置P(8,9) 遇到大障礙物,之后在位置P(23,11) 遇到小障礙物,機(jī)器人首先伴行大障礙物進(jìn)行避障,繞或大障礙物后,在位置P(23,11) 遇到小障礙物,繼續(xù)伴行小障礙物運(yùn)行,直到繞過小障礙物,完成避障路徑規(guī)劃運(yùn)行,整個避障過程中移動機(jī)器人避障移動的節(jié)點(diǎn)數(shù)為25。采用本文所提方法進(jìn)行避障路徑規(guī)劃,如圖12(d)所示,機(jī)器人基于動態(tài)障礙物的運(yùn)動趨勢進(jìn)行障礙物位置預(yù)測,所規(guī)劃出的避障路徑沿大動態(tài)障礙物運(yùn)動反方向,當(dāng)機(jī)器人遇到小動態(tài)障礙物時,基于動態(tài)障礙物的運(yùn)動趨勢與移動機(jī)器人當(dāng)前位置,規(guī)劃出避障代價較小的路徑實(shí)現(xiàn)了動態(tài)避障,整個避障過程的安全性大大提高,并且避障經(jīng)過的路徑節(jié)點(diǎn)減小到14,相比D*lite算法,避障節(jié)點(diǎn)數(shù)減少44%。實(shí)驗(yàn)3的結(jié)果如圖12所示。
圖12 多障礙物與路徑規(guī)劃算法對比
另外值得注意的是,基于本文算法在避障過程中顯示的障礙物不完全是實(shí)際的障礙物,也可能是避障時算法預(yù)測的障礙物未來出現(xiàn)的位置,例如最后一個實(shí)驗(yàn)中機(jī)器人遇到第二個障礙物實(shí)際上是算法對障礙物的預(yù)測位置。
從以上仿真實(shí)驗(yàn)結(jié)果可以看出,在移動機(jī)器人遇到圖10、圖11中的單動態(tài)障礙物時,采用本文提出的改進(jìn)算法相比D*lite算法其避障代價分別降低了25%和50%,而且所規(guī)劃出的避障路徑均與動態(tài)障礙物運(yùn)動方向相反,當(dāng)機(jī)器人遇到圖12中的多動態(tài)障礙物時,采用本文所提算法,避障代價減少了44%,而且與動態(tài)障礙物的重合路徑大幅減少。移動機(jī)器人采用本文所提方法對比D*lite方法對于動態(tài)障礙物的避障無論從避障安全性還是避障效率上均有顯著提升。
本文提出了移動機(jī)器人基于動態(tài)障礙物運(yùn)動趨勢的改進(jìn)D*lite避障路徑規(guī)劃算法,采用了類似人在進(jìn)行動態(tài)障礙物避障類似的策略,提出了基于動態(tài)障礙物歷史軌跡的運(yùn)動預(yù)測算法,優(yōu)化了D*lite算法在障礙物避障時只考慮當(dāng)前狀態(tài),不考慮運(yùn)動趨勢的問題,建立了預(yù)測障礙物運(yùn)動位置代價函數(shù)模型,改進(jìn)了D*lite算法,實(shí)現(xiàn)了機(jī)器人基于動態(tài)障礙物運(yùn)動預(yù)測的避障路徑規(guī)劃。通過搭建仿真環(huán)境,選擇典型的單動態(tài)障礙物、多動態(tài)障礙物場景進(jìn)行仿真驗(yàn)證,實(shí)驗(yàn)結(jié)果顯示本文所提算法在進(jìn)行動態(tài)障礙物避障路徑規(guī)劃時,無論避障的效率還是避障的安全性均比D*lite算法有顯著提升。