劉鈺銘,黃海松,2+,范青松,朱云偉,陳星燃,韓正功
(1.貴州大學(xué) 現(xiàn)代制造技術(shù)教育部重點實驗室,貴州 貴陽 550025;2.重慶機電職業(yè)技術(shù)大學(xué) 信息工程學(xué)院,重慶 402760)
機器人移動作業(yè)過程中,能源容量的多少從根本上決定了其執(zhí)行給定任務(wù)的持久性,目前主要通過增加能源容量與補給次數(shù)完成,但提升效果有限且增加了資源成本[1]。在能源攜帶有限、補給不及時的情況下,機器人可通過節(jié)能、有效的路徑規(guī)劃方法,減少能源的損耗,提升復(fù)雜環(huán)境下的作業(yè)能力[2]。
常見的路徑規(guī)劃方法有遺傳算法[3]、A*算法[4]、快速隨機樹搜索法[5]、動態(tài)窗口法[6](Dynamic Window Approach,DWA)、人工勢場法[7]等,其中A*算法應(yīng)用最廣泛。勞彩蓮等[8]改進A*算法的選取策略,消除多余轉(zhuǎn)折點,生成平滑路徑。LIN等[9]在A*的啟發(fā)函數(shù)引入父節(jié)點信息并改變權(quán)重,減少搜索的節(jié)點數(shù)量與時間。然而,上述方法規(guī)劃的路徑非節(jié)能路徑。在節(jié)能路徑規(guī)劃的相關(guān)研究中,張浩杰等[2]基于改進實時動態(tài)A*(Anytime Dynamic A*,AD*)算法對路徑規(guī)劃的能耗和效率方面進行改進,但其路徑不平滑,不利于機器人運動平穩(wěn)性。LIU等[10]提出基于距離—能耗搜索準則的A*算法規(guī)劃節(jié)能路徑,但路徑存在冗余轉(zhuǎn)折點,未考慮頻繁轉(zhuǎn)彎帶來額外能量的損耗。PAL等[11]提出高效節(jié)能A*(Energy efficient A*,EA*)算法,通過減少移動機器人轉(zhuǎn)彎次數(shù)降低能量損耗,但僅考慮轉(zhuǎn)彎時的能量消耗,沒考慮地面摩擦等環(huán)境因素對節(jié)能路徑規(guī)劃的影響,不足以規(guī)劃出能耗最優(yōu)路徑。LIU等[12]考慮地面摩擦,在A*的成本函數(shù)中引入基于能量鄰接矩陣搜索節(jié)能路徑,并對路徑進行平滑處理進一步降低能耗,但只適用于平坦路面環(huán)境下的節(jié)能規(guī)劃。在上述能耗研究中,所構(gòu)建的能耗模型沒能全面考慮地面摩擦、坡道等環(huán)境因素對節(jié)能路徑規(guī)劃的影響,也未能考慮規(guī)劃路徑不平滑、多轉(zhuǎn)折、轉(zhuǎn)折角度大造成的能量損耗,且上述方法只適用于靜態(tài)環(huán)境下的路徑規(guī)劃,不具備動態(tài)環(huán)境下的避障能力。
DWA算法具備動態(tài)環(huán)境下的避障能力,但易陷入局部解。為此,學(xué)者們將A*算法與DWA融合,ZHU等[13]構(gòu)建了全局最優(yōu)路徑評價函數(shù),將A*算法與DWA融合,避免陷入局部解的同時保持路徑全局最優(yōu)。鄒文等[14]建立拓撲層地圖來刪除A*的冗余節(jié)點提高路徑平滑度,同時為機器人增加運動狀態(tài)優(yōu)化DWA,將兩者融合提升路徑規(guī)劃效率的同時增強動態(tài)環(huán)境下的靈活性。王彬等[15]將基于啟發(fā)函數(shù)權(quán)重可動態(tài)調(diào)節(jié)的改進A*算法與基于環(huán)境自適應(yīng)改進策略的動態(tài)窗口法相融合,不但解決了傳統(tǒng) A*和DWA冗余點多、效率低、路徑冗余等問題,而且提高了路徑安全性和實時性,更符合移動機器人的運動特性。
上述方法從不同角度對A*算法與DWA進行了改進,但都沒考慮復(fù)雜狹窄環(huán)境下機器人節(jié)能路徑的規(guī)劃與動態(tài)避障。為此,本文提出一種節(jié)能A*算法(Energy-Saving A*algorithm,ESA*)與改進DWA算法(Improved DWA algorithm,IDWA)相融合的路徑規(guī)劃方法?;诘孛婺Σ?、坡度、載重量等關(guān)鍵因素,構(gòu)建出機器人能耗模型,提出以能耗成本為搜索新準則的ESA*算法規(guī)劃節(jié)能路徑,同時通過動態(tài)基準轉(zhuǎn)彎懲罰和三角剪枝法避免因冗余路徑、轉(zhuǎn)折點產(chǎn)生額外能量損耗并利用弦定弧過渡法對路徑平滑處理得到光滑、連續(xù)的全局節(jié)能路徑。在此基礎(chǔ)上融合改進DWA并提出航向角自適應(yīng)調(diào)整策略對融合算法進行優(yōu)化,提升機器人在復(fù)雜、狹窄環(huán)境下的動態(tài)避障能力,與此同時,設(shè)計全局節(jié)能路徑偏離評價與能耗評價子函數(shù)進行局部能耗最優(yōu)路徑軌跡規(guī)劃。
A*算法常用于靜態(tài)環(huán)境下最優(yōu)路徑的求解,其根據(jù)代價函數(shù)在靜態(tài)環(huán)境下選擇一條從起點到終點距離最優(yōu)的路徑。傳統(tǒng)A*算法的代價函數(shù)如下:
f(n)=g(n)+h(n)。
(1)
式中:g(n)表示起點到節(jié)點n的實際距離代價,h(n)表示節(jié)點n到目標點的預(yù)估距離代價。距離代價采用歐式距離來進行計算,如式(2)所示:
h(n)=sqrt[(xgoal-xn)2+(ygoal-yn)2],
g(n)=sqrt[(xn-xstart)2+(yn-ystart)2]。
(2)
其中(xn,xn)、(xstart,ystart)、(xgoal,ygoal)分別表示節(jié)點n、起點start、終點goal的坐標;
DWA算法通過機器人運動學(xué)模型對其速度約束空間進行采樣,模擬機器人預(yù)測時間內(nèi)的運動軌跡,再利用評價函數(shù)在多組運動軌跡中擇選出評分最優(yōu)的軌跡。機器人的運動學(xué)模型為:
θt=θt-1+ω(t)Δt。
(3)
其中:x(t)、y(t)、θt為機器人t時刻的位姿信息;x(t-1)、y(t-1)、θt-1為t-1時刻的位姿信息。DWA對模擬出機器人的若干運動軌跡進行評估擇優(yōu),其評估函數(shù)為:
G(v,ω)=σ[αhead(v,ω)+βdist(v,ω)+γvel(v,ω)]。
(4)
式中:head(v,ω)、dist(v,ω)、vel(v,ω)分別為方位角、距離、速度評價子函數(shù);σ為平滑函數(shù);α、β、γ為各評價子函數(shù)的加權(quán)系數(shù)。
2.1.1 基于能耗成本的搜索準則
移動機器人的能量耗損主要為電子設(shè)備工作消耗的能量Eequipment和運動過程中所消耗的能量Emotion[16]。移動機器人的總能耗方程如下:
Erobot=Eequipment+Emotion=
(5)
式中:Pmotion為運動過程中的功率耗損,Pequipment為機器人電子設(shè)備的功率耗損。
由圖1所示移動機器人運動過程的受力情況可知,移動機器人在運動過程中克服牽引阻力所損耗的能量為:
圖1 移動機器人運動過程的受力情況
W=Pmotion×Δt=Ftraction×Δs=
(Ff+Fair+Fg)×L。
(6)
式中:W為運動過程的總功;Ftraction為運動過程的總牽引力;Ff、Fair、Fg為運動過程中的摩擦力、空氣阻力以及重力斜面水平分力;L為移動距離;移動機器人在運動過程始終保持勻速行駛且速度低。因此,由式(5)和式(6)可知機器人在運動過程中的總能耗
Erobot=1+k[mgsin(φ)×s+μmgcos(φ)×s]。
(7)
為了表征復(fù)雜環(huán)境下機器人的移動距離和能量消耗,MEJRI等[17]構(gòu)建了基于距離的鄰接矩陣AD與基于能量的鄰接矩陣AE。本文以能量矩陣AE(i,j)為ESA*算法的搜索準則:
AE(i,j)=Erobot=1+k[sin(φ)+
μi,jcos(φ)]mgAD(i,j)。
(8)
其中:μi,j為位置i到位置j的平均摩擦系數(shù);考慮現(xiàn)實坡度對機器人移動的能耗影響,提出基于地面水平的鄰接矩陣Aφ(i,j),如圖2所示,具體公式如下:
圖2 基于地面水平的鄰接矩陣Aφ
Aφ(i,j)=φj-φi。
(9)
其中:Aφ(i,j)表示位置i到位置j的坡度大小以及坡度狀態(tài),相鄰位置i與j數(shù)值差的絕對值表示對應(yīng)區(qū)域間的坡度,正負表示移動機器人爬坡與下坡兩種狀態(tài)。結(jié)合式(1)、式(8)和式(9)可得基于能耗成本的路徑搜索新準則:
E(k)=g′(k-1)+AE(k-1,k)+AE(k,goal)。
(10)
2.1.2 轉(zhuǎn)折懲罰與剪枝
為解決ESA*算法因冗余節(jié)點多、路徑多轉(zhuǎn)折、轉(zhuǎn)折角度大帶來額外能量耗損的問題,本文提出兩階段優(yōu)化方法。一階段在節(jié)點擴展中引入基于動態(tài)轉(zhuǎn)角基準的轉(zhuǎn)彎懲罰因子避免轉(zhuǎn)折點的產(chǎn)生,先由父節(jié)點與當前節(jié)點的坐標關(guān)系確定機器人的移動方向并以移動方向為轉(zhuǎn)角基準,如圖3所示;然后根據(jù)擴展節(jié)點與轉(zhuǎn)角基準的位置關(guān)系,在能耗評價函數(shù)中利用轉(zhuǎn)彎懲罰因子對其懲罰處理。引入懲罰因子的能耗評價函數(shù)為:
圖3 動態(tài)轉(zhuǎn)角基準示意圖
(11)
二階段為了減少冗余路徑、路徑轉(zhuǎn)折角度大造成的能量損耗,對初始規(guī)劃路徑節(jié)點進行三角剪枝處理,其通過表1算法實現(xiàn)。該方法示意圖如圖4所示。
表1 三角剪枝處理
圖4 路徑三角剪枝示意圖
2.1.3 基于動態(tài)弦定弧過渡的路徑平滑處理方法
針對路徑出現(xiàn)的急轉(zhuǎn)折或角轉(zhuǎn)折造成機器人能量損耗,影響機器人運行的平穩(wěn)性和作業(yè)的持久性,本文通過表2算法對轉(zhuǎn)折點進行平滑處理,得到光滑連續(xù)、低耗能的路徑。平滑處理示意圖如圖5所示。
表2 轉(zhuǎn)折平滑處理
圖5 路徑轉(zhuǎn)折平滑處理示意圖
傳統(tǒng)DWA局部路徑規(guī)劃時,沒有考慮路徑軌跡所消耗的能量,最優(yōu)的軌跡不一定是能耗損耗少的。為此,設(shè)計能耗評價子函數(shù),對局部路徑軌跡進行能耗評價。RIAZI等[18]將加速度與速度的乘積定義為偽功率,偽功率的減少能有效降低能耗與峰值功率。設(shè)計的能耗評價子函數(shù)為:
(12)
G(v,ω)=σ[αhead(v,ω)+βdist(v,ω)+
γvel(v,ω)+δEnergy(v,ω)]。
(13)
其中δ為能耗評價子函數(shù)的加權(quán)系數(shù)。
ESA*算法在靜態(tài)環(huán)境下能規(guī)劃出光滑連續(xù)的全局節(jié)能路徑,但在狹窄、動態(tài)的環(huán)境下面對移動障礙物往往不能及時躲避,發(fā)生碰撞;IDWA算法能在動態(tài)環(huán)境中成功躲避障礙物,但易陷入局部解。為此,將兩者進行融合,如圖6所示。先從ESA*算法規(guī)劃的全局節(jié)能路徑中提取子目標點;然后讓IDWA在相鄰子目標點間進行局部路徑軌跡規(guī)劃,直至目標點。融合算法規(guī)劃的路徑對全局節(jié)能路徑偏離較大,非最優(yōu)節(jié)能路徑,同時規(guī)劃過程中機器人會因航向角調(diào)整問題常導(dǎo)致路徑冗余、陷入局部解,尋路失敗等問題,為此,本文將通過全局節(jié)能路徑偏離評價和航向角自適應(yīng)調(diào)整策略對融合算法進行改進。
圖6 融合算法流程圖
為避免額外能量損耗,設(shè)計全局節(jié)能路徑偏離評價子函數(shù)Globdist(v,ω),使融合算法規(guī)劃的路徑更貼近全局節(jié)能路徑。Globdist(v,ω)評價子函數(shù)結(jié)合全局節(jié)能路徑信息,計算局部運動軌跡與全局路徑的距離,其示意圖如圖7所示,計算公式為:
圖7 節(jié)能路徑偏離評價子函數(shù)示意圖
Globdist(v,ω)=
(14)
融合算法優(yōu)化后的評價函數(shù)為:
G(v,ω)=σ[αhead(v,ω)+βdist(v,ω)+γvel(v,ω)+
δEnergy(v,ω) +εGlobdist(v,ω)]。
(15)
其中ε為Globaldist(v,ω)評價子函數(shù)的加權(quán)系數(shù)。
在窄空間中,當機器人與動態(tài)障礙物相向而行時,如圖8a所示,融合算法隨機向左或向右選擇方向,不考慮前方空間能否通過,容易導(dǎo)致機器人原地打圈調(diào)整航向角或與動態(tài)障礙物發(fā)生碰撞;當機器人與動態(tài)障礙物同向而行時,如圖8b所示,融合算法可能會陷入局部解中,只能跟隨動態(tài)障礙物緩慢前行,耗費大量時間;融合算法在相鄰子目標點間進行局部路徑軌跡規(guī)劃時會因航向角產(chǎn)生累計誤差,如圖8c所示,導(dǎo)致路徑冗余、陷入局部解。針對上述問題,本文對融合算法中航向角參數(shù)通過自調(diào)整策略優(yōu)化。具體步驟如下:
圖8 航向角調(diào)整情況示意圖
步驟1計算子目標點hi-1、hi傾斜角度,計算公式為:
(16)
其中:arctan2()函數(shù)的值域為[-π,π];Δxi=xhi-xhi-1、Δyi=yhi-yhi-1為橫、縱坐標的增量;φ為hi-1hi的傾斜角度;yawi-1i為hi-1hi段移動的理想航行角yawidea。
步驟2對hi-1hi進行動態(tài)障礙物檢查,若有,則轉(zhuǎn)步驟3執(zhí)行航向角調(diào)整策略1;否則,轉(zhuǎn)步驟4執(zhí)行航向角調(diào)整策略2。
步驟3判斷機器人與動態(tài)障礙物間左右區(qū)域內(nèi)是否有靜態(tài)障礙物,若有,則以yawidea為基準向右偏離yawout調(diào)整,更新狀態(tài)參數(shù)(x,y,yawout,v,w);反之,則向左偏離yawout調(diào)整,轉(zhuǎn)步驟6。yawout為航向角偏離閾值。
步驟4根據(jù)狀態(tài)參數(shù)(x,y,yaw,v,w)獲取機器人的實時航向角yawnow,將yawnow與yawidea進行比較,若yawin≤|yawnow-yawidea|,則轉(zhuǎn)步驟5;反之,則不調(diào)整,轉(zhuǎn)步驟6。其中yawin為航向角誤差閾值。
步驟5若yawnow>yawidea,則對航向角參數(shù)進行動態(tài)減少,更新狀態(tài)參數(shù)(x,y,yawnew,v,w),反之,則動態(tài)增大航行角參數(shù)。航向角參數(shù)動態(tài)調(diào)整的公式為:
yawnew=
(17)
其中:yawnew為動態(tài)調(diào)整的航向角,也為下一狀態(tài)的起始航向角;κ為機器人轉(zhuǎn)彎能力系數(shù)。
步驟6航向角調(diào)整結(jié)束。
本文采用柵格法構(gòu)建實驗環(huán)境地圖。為簡化真實環(huán)境中的坡度、不規(guī)則障礙物在地圖中的表達,作如下假設(shè):
(1)在地圖中忽略障礙物形狀、高度等信息;
(2)非水平面上的區(qū)域以其投影地面的區(qū)域替代;
(3)機器人在非水平面上移動時的傾斜角與坡度角相等。
4.2.1 平滑處理有效性驗證與分析
為驗證路徑平滑方法的有效性,通過貝塞爾曲線平滑法[19](Bezier Curve Smoothing Method,BCSM)、過渡圓弧法[20](Transition Arc Method,TAM)以及本文動態(tài)弦定弧過渡法(String-Definite Arc transition Method,SDAM)進行對比驗證,結(jié)果如圖9所示,數(shù)據(jù)如表3所示。采用彎曲能量(Bending Energy,BE)和路徑長度能量(The Bending Energy,TBE)[21]作為機器人路徑平滑性的評價指標。
表3 路徑平滑方法的實驗結(jié)果對比
圖9 路徑轉(zhuǎn)折點平滑處理結(jié)果
由圖9a可知,同一環(huán)境下,BCSM、TAM和SDAM都完成了對轉(zhuǎn)折尖峰的平滑處理,得到光滑連續(xù)的路徑,但由表1和圖10中可知,BCSM的路徑曲率是最大的,TAM和SDAM的路徑曲率相差不大但均遠小于BCSM,其中BE和TBE值較BCSM分別減少了92.62%、93.41%,88.89%、90.07%;BCSM、TAM和SDAM處理后的路徑長度較原路徑均有減少,其中SDAM的減幅最大;由于BCSM平滑處理后的曲率和路徑長度是最大的,從而導(dǎo)致TBE指標值較大。通過圖9b的路徑局部細節(jié)圖可知,TAM方法平滑的路徑會與障礙物發(fā)生碰撞,因為過渡圓弧半徑的選取原則為轉(zhuǎn)折點最短臨邊的比例定值,平滑處理過程不能動態(tài)改變圓弧半徑,而BCSM和SDAM方法能保證優(yōu)化路徑的安全。綜上分析,SDAM方法能設(shè)計出光滑連續(xù)、曲率合適、安全性高的路徑。
圖10 路徑平滑處理方法的性能指標對比
4.2.2 ESA*算法綜合性能對比與分析
仿真環(huán)境如圖11所示,其中柵格里的數(shù)字表示地面摩擦系數(shù)μ,綠色方框表示坡度為8°,紅色的為12°。使用ACO算法、Dijkstra算法、傳統(tǒng)A*算法、基于文獻[8]、文獻[10]、文獻[22]和文獻[23]的算法與ESA*算法進行機器人的全局路徑規(guī)劃,其規(guī)劃軌跡如圖12所示、性能指標結(jié)果如表4所示。為了能更直觀地對比ESA*算法與其他方法在這些性能指標上的表現(xiàn),對性能指標進行歸一化以直方圖形式進行表示,如圖13所示。
表4 移動機器人不同路徑規(guī)劃方法的實驗結(jié)果對比
圖11 實驗仿真環(huán)境
圖12 不同算法的路徑規(guī)劃軌跡
圖13 多指標歸一化分析
由圖12的路徑軌跡可知,上述算法在復(fù)雜度不同的環(huán)境下均能成功規(guī)劃出路徑,而由表4和圖13中可知,ESA*算法的整體性能比其他算法要好。在能耗與路徑長度方面,以路徑長度為優(yōu)化目標的ACO算法、Dijkstra算法、傳統(tǒng)A*算法和文獻[8]算法規(guī)劃路徑的長度與ESA*算法規(guī)劃的路徑長度相差不多,但在能量方面較ESA*算法耗費得多,在15×15、30×30與60×60環(huán)境中至少要多耗費68.609 8 J、265.174 7 J和204.851 9 J的能量,甚至于更多;與以能耗為優(yōu)化目標的文獻[10]、文獻[22]和文獻[23]算法相比,ESA*算法規(guī)劃路徑所耗費的能量最少,在15×15、30×30與60×60環(huán)境中至少減少了2.78%、8.47%和2.58%。相較于文獻[22]沒有考慮轉(zhuǎn)彎能耗,ESA*算法不但在能耗上平均減少了316.138 6 J,而且路徑轉(zhuǎn)折數(shù)量也降低了43.55%,有效減少轉(zhuǎn)彎帶來的能量損耗。對于文獻[23]中僅考慮爬坡能耗變化,ESA*算法全面考慮了坡度對機器人能耗的影響,能耗相比平均減少了190.324 8 J。ESA*算法較文獻[10]相比,能量損耗和路徑長度方面平均減少了6.93%和4.81%,從而有效提升了路徑質(zhì)量;從表4單位距離能耗數(shù)據(jù)可知,ESA*算法能為機器人規(guī)劃出一條單位距離能耗較優(yōu)路徑,尤其是在規(guī)模不大的環(huán)境中。
在路徑的平滑性上,ESA*算法較傳統(tǒng)A*算法平均減少了22.72%的轉(zhuǎn)向次數(shù)和70.41%的指令次數(shù),同時路徑累計轉(zhuǎn)彎角度也平均減少了38.67%,明顯提高了路徑的平滑性;與文獻[8]的路徑平滑方法相比較,在轉(zhuǎn)折點數(shù)量與指令節(jié)點數(shù)量相近的情況下,路徑平均轉(zhuǎn)折角度從600°減少到404.8°,有效減少了轉(zhuǎn)彎的角度;而與ACO、Dijkstra等其他算法相比,ESA*算法無論在轉(zhuǎn)折點數(shù)量、指令節(jié)點數(shù)量還是轉(zhuǎn)折角度方面都有極大的提高。綜合來看,ESA*算法在靜態(tài)環(huán)境中能為機器人規(guī)劃出一條低能耗且較為平滑的路徑。
4.3.1 融合算法的仿真實驗與分析
為驗證改進融合算法的可行性,在空曠和密集兩種復(fù)雜度不同的環(huán)境下分別用ESA*算法、IDWA算法、ESA*算法與傳統(tǒng)DWA未改進的融合算法(傳統(tǒng)融合算法)、ESA*算法與IDWA算法改進的融合算法(改進融合算法)作對比仿真實驗,其結(jié)果如圖14和圖15所示。
圖14 空曠環(huán)境下規(guī)劃的路徑軌跡
圖15 密集環(huán)境下規(guī)劃的路徑軌跡
由圖14a和圖15a可知,在空曠與密集環(huán)境下,ESA*算法都能規(guī)劃出連續(xù)平滑的全局路徑,但由于ESA*算法本身不具備局部路徑規(guī)劃的特性,無法在動態(tài)環(huán)境中實時躲避隨機的動—靜態(tài)障礙物;在圖14b和15b中可看出,IDWA算法在空曠的環(huán)境中能成功抵達目標點,但路徑彎曲,不太平滑,當在密集復(fù)雜的環(huán)境中時,IDWA算法陷入了局部解,路徑規(guī)劃失敗。由圖14c、圖14d和圖15c、圖15d分析可知,傳統(tǒng)融合算法與改進融合算法在空曠環(huán)境下都能成功抵達目標點,但傳統(tǒng)融合算法規(guī)劃的路徑對全局節(jié)能路徑的偏離程度明顯大于改進融合算法的,容易造成額外能量損耗;在密集環(huán)境下,改進融合算法能成功抵達目標點,而傳統(tǒng)融合算法因航向角累計偏差陷入局部解,尋路失敗。綜合來看,相較于傳統(tǒng)融合算法,改進融合算法更貼近全局節(jié)能路徑,能有效減少額外能量的損耗,自適應(yīng)調(diào)整航向角,避免產(chǎn)生冗余路徑以及防止陷入局部解。
4.3.2 融合算法的避障實驗與分析
為檢驗改進融合算法在窄空間中躲避動—靜態(tài)障礙物的有效性和優(yōu)越性,通過改進人工勢法場(Improved Artificial Potential Field method,IAPF)[24]、改進Q學(xué)習(xí)算法(Improved Q-Learning Algorithm,IQLA)[25]以及基于A*和DWA優(yōu)化的算法(The Improved A*and Dynamic Window Approach algorithm,TIA*-DWA)[26]與本文基于ESA*與IDWA的改進融合算法(the improved ESA*and IDWA algorithm,ESA*-IDWA)進行仿真對比實驗,仿真結(jié)果如圖16和圖17所示,數(shù)據(jù)如表5所示。
表5 仿真結(jié)果
圖16 靜態(tài)環(huán)境下的避障結(jié)果對比
圖17 動態(tài)環(huán)境下的避障結(jié)果對比
在窄空間環(huán)境下,藍色、黃色分別為靜、動態(tài)障礙物。從圖16a和圖17a可知,IAPF算法避障路徑規(guī)劃失敗,因為IAPF算法通過引入水流場改變斥力方向重新規(guī)劃合力方向來調(diào)整前進方向解決路徑振蕩、陷入局部極小點、無法抵達目標點等問題,但在狹窄、單通道時面對長一字型、U型障礙物時斥力方向引起合力方向突變,導(dǎo)致路徑振蕩、陷入局部極小點。當在進行動態(tài)避障時機器人會從動態(tài)障礙物運動方向的前方運動,導(dǎo)致機器人與動態(tài)障礙物碰撞,避障失敗。
從圖16b、圖16d和圖17b、圖17d中可知,IQLA、TIA*-DWA和ESA*-IDWA算法都成功避開動—靜態(tài)障礙物,規(guī)劃出從起始點到目標點的無碰撞路徑,但從圖16b、圖17b和表5可知,IQLA的避障路徑較長且存在轉(zhuǎn)折點,路徑不平滑,不利于機器人運動的平穩(wěn)性。由圖16c和圖17c分析可知,機器人在窄空間中與動態(tài)障礙物同向而行且動態(tài)障礙物的速度小于移動機器人的速度時,TIA*-DWA算法會陷入局部解中,只能跟隨動態(tài)障礙物緩慢移動,不能跳出;而當移動機器人與動態(tài)障礙物相向而行時,機器人不能正確調(diào)整自己的航向角,通過原地打圈調(diào)整航向角,造成冗余路徑。根據(jù)圖16d、圖17d和表5可知,本文ESA*-IDWA算法的避障路徑平滑且長度較短,較IQLA、TIA*-DWA的路徑平均短6.14%、4.43%。在窄空間的動態(tài)環(huán)境中能有效躲避動態(tài)障礙物,自適應(yīng)調(diào)整航向角,避免生成冗余路徑,防止陷入局部解??傮w來看,本文ESA*-IDWA算法能在窄空間的環(huán)境下完成動-靜態(tài)障礙物的避障,且路徑連續(xù)、平滑,更符合機器人的運動特性。
針對移動機器人因能量受限導(dǎo)致任務(wù)完成率低和在動態(tài)環(huán)境下避障靈活性差的問題,本文提出一種新的基于全局能耗最優(yōu)路徑下的局部能耗路徑規(guī)劃思路,并討論了其可行性與有效性。本文主要貢獻如下:
(1)考慮機器人運動過程中的耗能因素,建立能耗模型,提出基于能耗成本優(yōu)化策略的ESA*算法并通過動態(tài)基準轉(zhuǎn)折懲罰、三角剪枝與弦定弧過渡法相結(jié)合的路徑優(yōu)化方法解決因路徑冗余、轉(zhuǎn)折、轉(zhuǎn)折角度大造成能量損耗的問題,得到全局能量損耗最優(yōu)的平滑路徑。
(2)將ESA*與IDWA算法相融合,并提出基于全局節(jié)能路徑的航向角自調(diào)整策略優(yōu)化傳統(tǒng)動態(tài)窗口法,增強移動機器人避障能力,讓其在動態(tài)、狹窄的環(huán)境下成功躲避動-靜態(tài)障礙物。
(3)設(shè)計了全局節(jié)能路徑偏離評價與能耗評價子函數(shù)改進融合算法,在基于全局能耗最優(yōu)路徑的基礎(chǔ)上初步進行局部能耗最優(yōu)路徑規(guī)劃的探索。
目前,全局能耗路徑最優(yōu)規(guī)劃方法求解的能耗值是個預(yù)估值,機器人的真實能耗與局部運動規(guī)劃息息相關(guān)。因此,后續(xù)的研究將圍繞機器人局部能耗最優(yōu)路徑規(guī)劃展開。