張國勝,李彩虹,張耀玉,李永迪,周瑞紅
(山東理工大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,山東 淄博 255049)
路徑規劃技術(shù)作為實(shí)現移動(dòng)機器人自主導航的核心技術(shù)受到廣泛關(guān)注,其目的是使移動(dòng)機器人按照某些特定的評價(jià)標準規劃出一條從起點(diǎn)到目標點(diǎn)的最優(yōu)或次優(yōu)的避障路徑[1]。根據對工作環(huán)境信息的理解層次,路徑規劃可分為全局路徑規劃和局部路徑規劃[2]。全局路徑規劃應用在工作環(huán)境已知的場(chǎng)景下,是一種離線(xiàn)規劃方法,實(shí)時(shí)性和靈活性較差,可以規劃出全局最優(yōu)或次優(yōu)的路徑。局部路徑規劃應用在工作環(huán)境未知或部分已知的場(chǎng)景下,移動(dòng)機器人根據局部環(huán)境信息進(jìn)行在線(xiàn)路徑規劃,具有較高的實(shí)時(shí)性和靈活性;由于缺少全局環(huán)境信息,傳感器的探測范圍有限,所以規劃路徑一般是局部最優(yōu)。常見(jiàn)的路徑規劃方法有A*算法[3]、蟻群算法[4]、動(dòng)態(tài)窗口法[5-6]、人工勢場(chǎng)法[7-8]和模糊控制法[9]等。其中,人工勢場(chǎng)法由于結構簡(jiǎn)單、計算量小、實(shí)時(shí)性好且路徑較為平滑等優(yōu)點(diǎn)得到了廣泛應用,但是存在局部極小值以及目標不可達等問(wèn)題。
針對傳統人工勢場(chǎng)法存在的局部極小值和目標不可達等問(wèn)題,國內外學(xué)者做了大量的研究工作。林潔等[10]提出沿邊走的詳細策略來(lái)解決局部極小點(diǎn),但在陷入型障礙物以及復雜障礙物環(huán)境下會(huì )增加路徑長(cháng)度;黃開(kāi)啟等[11]設置模糊控制模塊為移動(dòng)機器人提供輔助作用力以擺脫局部極小值點(diǎn),但在虛擬力引導過(guò)程中路徑容易出現連續振蕩;Fan等[12]將人工勢場(chǎng)法與正六邊形引導方法相結合,通過(guò)繞行障礙物克服局部極小值,但在復雜障礙物環(huán)境中無(wú)疑加大了計算時(shí)間和耗能;Zhou等[13]提出在人工勢場(chǎng)法中構建基于障礙物的切向量作為避障過(guò)程的虛擬力,使移動(dòng)機器人逃脫局部極小值點(diǎn),但未有效解決引力過(guò)大和障礙物環(huán)境誤判問(wèn)題;趙炳巍等[14]通過(guò)模擬退火算法,在移動(dòng)機器人關(guān)于障礙物右對稱(chēng)點(diǎn)區域設置隨機目標以擺脫局部極小值陷阱,但未充分考慮當前障礙物信息,算法效率無(wú)法保證;羅強等[15]采用切線(xiàn)法以及搜索法得到最優(yōu)逃逸力,移動(dòng)機器人在新的合力作用下擺脫局部極小值點(diǎn),但應用場(chǎng)景簡(jiǎn)單,面對復雜障礙物環(huán)境時(shí)無(wú)法有效逃出陷阱區域。
針對上述算法的不足,本文在已改進(jìn)勢場(chǎng)函數的基礎上,設計自適應速度調節機制,提高路徑規劃效率。針對局部極小值問(wèn)題,分別提出了APF-v1算法和APF-v2算法。通過(guò)對當前障礙物環(huán)境判斷,兩種算法采取不同的虛擬目標點(diǎn)設置策略打破受力平衡狀態(tài),引導移動(dòng)機器人擺脫局部極小值陷阱。最后利用ROS機器人操作系統對APF-v1和APF-v2算法進(jìn)行可行性的驗證。
人工勢場(chǎng)法是由Khatib于1986年提出的一種虛擬力法[16],其基本思想是在移動(dòng)機器人的工作環(huán)境中構造一個(gè)虛擬力場(chǎng),目標點(diǎn)產(chǎn)生引力勢場(chǎng),障礙物產(chǎn)生斥力勢場(chǎng),移動(dòng)機器人在引力場(chǎng)和斥力場(chǎng)的共同作用下向目標點(diǎn)移動(dòng)。
人工勢場(chǎng)的勢場(chǎng)函數U(X)定義:
U(X)=Uatt(X)+Urep(X),
(1)
式中:Uatt(X)為目標點(diǎn)產(chǎn)生的引力勢場(chǎng);Urep(X)為障礙物產(chǎn)生的斥力勢場(chǎng);X為移動(dòng)機器人的當前位置。
人工勢場(chǎng)中機器人所受的力F(X):
F(X)=Fatt(X)+Frep(X),
(2)
式中:Fatt(X)為目標點(diǎn)對移動(dòng)機器人的引力;Frep(X)為障礙物對移動(dòng)機器人的斥力。
引力場(chǎng)是全局勢場(chǎng),引力勢能與移動(dòng)機器人和目標點(diǎn)之間距離成正比,距離越大,移動(dòng)機器人所受的引力勢能越大。引力勢場(chǎng)函數定義:
(3)
式中:ε為引力增益系數;Xg為目標點(diǎn)的位置;ρ(X,Xg)為移動(dòng)機器人到目標點(diǎn)的距離。
目標點(diǎn)對移動(dòng)機器人的引力為引力勢場(chǎng)函數的負梯度:
Fatt(X)=-?Uatt(X)=-ε(X-Xg)。
(4)
斥力場(chǎng)是局部勢場(chǎng),在障礙物影響范圍內,斥力勢能與移動(dòng)機器人和障礙物之間的距離成反比,距離越大,所受的斥力勢能越小,在障礙物影響范圍外,移動(dòng)機器人所受的斥力勢能為零。斥力勢場(chǎng)函數定義:
0,ρ(X,Xobs)>ρ0,
(5)
式中:η為斥力增益系數;Xobs為障礙物的位置;ρ(X,Xobs)為移動(dòng)機器人到障礙物的距離;ρ0為障礙物的影響范圍。
障礙物對移動(dòng)機器人的斥力為斥力勢場(chǎng)函數的負梯度:
Frep(X)=
0,ρ(X,Xobs)>ρ0。
(6)
人工勢場(chǎng)為引力場(chǎng)和斥力場(chǎng)的疊加,移動(dòng)機器人所受的合力為引力與斥力的矢量和,合力的方向即為移動(dòng)機器人運動(dòng)的方向。移動(dòng)機器人受力分析如圖1所示。
圖1 移動(dòng)機器人受力分析
移動(dòng)機器人在合力的作用下向目標點(diǎn)移動(dòng),但是存在以下問(wèn)題:
1) 引力過(guò)大問(wèn)題。當移動(dòng)機器人與目標點(diǎn)之間的距離過(guò)大時(shí),其所受的引力將遠大于斥力,在移動(dòng)過(guò)程中可能會(huì )出現碰撞障礙物的情況。
2) 目標不可達問(wèn)題。當目標點(diǎn)位于障礙物附近時(shí),隨著(zhù)移動(dòng)機器人不斷向目標點(diǎn)靠近,其所受的引力逐漸減小,斥力逐漸增大,斥力過(guò)大,引力相對較小,導致移動(dòng)機器在某一區域徘徊或靜止。
3) 局部極小值問(wèn)題。當移動(dòng)機器人運動(dòng)到某一非目標點(diǎn)位置時(shí),其所受合力為零或引力與斥力方向相反而陷入局部極小值陷阱,移動(dòng)機器人無(wú)法確定下一步的運動(dòng)方向,導致其在局部極小值點(diǎn)附近反復震蕩或靜止。
針對移動(dòng)機器人距離目標點(diǎn)過(guò)遠導致的引力過(guò)大問(wèn)題,本文對引力勢場(chǎng)函數進(jìn)行修正,設置引力作用閾值將其分段,當距離大于此閾值時(shí),采用修正的引力勢場(chǎng)函數,避免引力過(guò)大問(wèn)題。修正的引力勢場(chǎng)函數:
Uatt(X)=
(7)
式中dg為引力作用閾值。
目標點(diǎn)對移動(dòng)機器人的引力為引力勢場(chǎng)函數的負梯度:
Fatt(X)=
(8)
針對目標不可達問(wèn)題,本文引入一種改進(jìn)的斥力勢場(chǎng)函數,相較于傳統的斥力勢場(chǎng)函數,改進(jìn)的斥力勢場(chǎng)函數加入了目標點(diǎn)和移動(dòng)機器人之間的距離,保證僅目標點(diǎn)處的勢場(chǎng)為全局最小。改進(jìn)的斥力勢場(chǎng)函數:
Urep(X)=
(9)
斥力為改進(jìn)的斥力勢場(chǎng)函數的負梯度:
Frep(X)=
(10)
式中Frep1(X)和Frep2(X)分別為斥力Frep(X)在兩個(gè)不同方向上的分力。矢量Frep1(X)的方向由障礙物指向移動(dòng)機器人,為斥力分量;矢量Frep2(X)的方向由移動(dòng)機器人指向目標點(diǎn),為引力分量。
(11)
(12)
改進(jìn)勢場(chǎng)函數后移動(dòng)機器人受力分析如圖2所示。
圖2 改進(jìn)勢場(chǎng)函數后移動(dòng)機器人受力分析
傳統人工勢場(chǎng)法進(jìn)行路徑規劃任務(wù)時(shí)線(xiàn)速度采用固定值。結合實(shí)際工作經(jīng)驗,根據移動(dòng)機器人工作環(huán)境的復雜程度,提出了一種自適應速度調節機制,以降低發(fā)生碰撞的概率。
移動(dòng)機器人線(xiàn)速度v的取值取決于當前所處的環(huán)境。移動(dòng)機器人通過(guò)自身搭載的傳感器獲取周?chē)h(huán)境信息,通過(guò)傳感器返回的數據得到周?chē)系K物的數量obs_count以及移動(dòng)機器人與障礙物之間的距離dis_r_o,由此判斷當前工作環(huán)境的復雜程度。當移動(dòng)機器人處于簡(jiǎn)單環(huán)境時(shí),可適當增大線(xiàn)速度,提高路徑規劃效率;當移動(dòng)機器人處于復雜環(huán)境時(shí),適當減小線(xiàn)速度,降低發(fā)生碰撞的概率;當移動(dòng)機器人陷入局部極小值陷阱時(shí),則需進(jìn)一步降低移動(dòng)機器人運動(dòng)速度,防止在虛擬目標點(diǎn)引導過(guò)程中出現震蕩。線(xiàn)速度v取值如下:
(13)
式中:Nmax和Nmin分別為障礙物數量最大預設值和最小預設值;Dmax和Dmin分別為移動(dòng)機器人與障礙物之間距離最大預設值和最小預設值;vmax、vmid、vmin和vmmin分別表示線(xiàn)速度取得的較大、中等、較小和最小值。
移動(dòng)機器人在未知環(huán)境中依靠局部地圖信息進(jìn)行路徑規劃,當遇到局部極小值問(wèn)題時(shí),僅靠對勢場(chǎng)函數進(jìn)行改進(jìn)無(wú)法有效解決。典型的局部極小值情況如圖3所示。當移動(dòng)機器人處于障礙物影響范圍邊緣,其所受到的斥力較小,合力方向由移動(dòng)機器人指向目標點(diǎn);當靠近障礙物時(shí),其所受到的斥力大于引力,合力方向反轉,移動(dòng)機器人陷入局部極小值陷阱,表現為在該區域反復震蕩或靜止。
圖3 局部極小值情況
局部極小值問(wèn)題是由移動(dòng)機器人所受合力為零達到平衡狀態(tài)所致,本文分別提出APF-v1和APF-v2兩種設置虛擬目標點(diǎn)的方法打破該平衡狀態(tài),引導移動(dòng)機器人擺脫局部極小值陷阱。在設置虛擬目標點(diǎn)時(shí),兩種算法都需要對周邊的障礙物環(huán)境進(jìn)行檢測,選擇障礙物數量少的區域設置虛擬目標點(diǎn)。其中,APF-v1算法在斥力分量偏轉90°方向的合適位置設置虛擬目標點(diǎn),APF-v2算法則將虛擬目標點(diǎn)設置在目標障礙物外側的合適位置。
2.4.1APF-v1
移動(dòng)機器人的工作環(huán)境復雜多樣,虛擬目標點(diǎn)的設置位置也直接影響規劃路徑的優(yōu)劣,在設置虛擬目標點(diǎn)時(shí)應充分利用傳感器感知到的環(huán)境信息。當系統檢測到移動(dòng)機器人陷入局部極小值陷阱時(shí),通過(guò)直線(xiàn)連接移動(dòng)機器人與目標點(diǎn),該直線(xiàn)將移動(dòng)機器人的工作環(huán)境分為兩部分,分別計算兩區域障礙物的數量,虛擬目標點(diǎn)設置在障礙物數量少的區域。
移動(dòng)機器人通過(guò)傳感器反饋的數據計算得到各個(gè)力的大小和方向。以移動(dòng)機器人為圓心沿斥力分量Frep1向虛擬目標點(diǎn)設置區域偏轉90°,沿此方向選取合適位置設置虛擬目標點(diǎn),期間忽略原目標點(diǎn)的引力。為避免忽略障礙物斥力所導致移動(dòng)機器人與障礙物發(fā)生碰撞的問(wèn)題,需保留障礙物產(chǎn)生的斥力。移動(dòng)機器人在虛擬目標點(diǎn)產(chǎn)生的引力和障礙物產(chǎn)生的斥力共同作用下逃離局部極小值點(diǎn)。生成虛擬目標點(diǎn)的位置(xvir,yvir):
(14)
式中:(xcur,ycur)為移動(dòng)機器人的當前位置;ρvir為設置虛擬目標點(diǎn)的距離;θ(Frep1)為斥力分量Frep1相對地圖坐標系的角度;Ovir為生成虛擬目標點(diǎn)的方向,Ovir為1表示虛擬目標點(diǎn)生成在移動(dòng)機器人的左側區域,Ovir為-1表示虛擬目標點(diǎn)生成在移動(dòng)機器人的右側區域。APF-v1算法設置虛擬目標點(diǎn)后的移動(dòng)機器人受力分析如圖4所示。
圖4 APF-v1移動(dòng)機器人受力分析
2.4.2 APF-v2
APF-v1算法分析當前受力情況,通過(guò)在斥力分量Frep1偏轉90°方向上選擇合適距離設置虛擬目標點(diǎn),APF-v2算法則根據目標障礙物分布情況設置虛擬目標點(diǎn)。
當系統檢測到移動(dòng)機器人陷入局部極小值陷阱時(shí),設置障礙物存儲模塊,記錄使其陷入局部極小值陷阱的障礙物位置信息,形成局部極小值障礙物組,在系統判斷的虛擬目標點(diǎn)設置區域選擇障礙物組中最外側的為目標障礙物,虛擬目標點(diǎn)設置在移動(dòng)機器人當前位置相對于目標障礙物的對稱(chēng)點(diǎn)附近范圍內。忽略原目標點(diǎn)引力,移動(dòng)機器人在虛擬目標點(diǎn)產(chǎn)生的引力和障礙物產(chǎn)生的斥力共同作用下擺脫局部極小值點(diǎn)。生成的虛擬目標點(diǎn)位置(xvir,yvir):
(15)
式中:(xobs,yobs)為目標障礙物的位置;β1和β2為距離調節參數,取值為正。APF-v2算法設置虛擬目標點(diǎn)后的移動(dòng)機器人受力分析如圖5所示。
圖5 APF-v2移動(dòng)機器人受力分析
虛擬目標點(diǎn)采用一步一設的原則。移動(dòng)機器人在擺脫局部極小值陷阱的過(guò)程中可能會(huì )設置多個(gè)虛擬目標點(diǎn),直至脫離局部極小值點(diǎn)的影響范圍。移動(dòng)機器人擺脫局部極小值陷阱后撤銷(xiāo)虛擬目標點(diǎn),在原目標點(diǎn)和障礙物的共同作用下繼續移動(dòng)。
本文使用的兩輪差速移動(dòng)機器人模型是TurtleBot3系列的Burger版本,運動(dòng)學(xué)模型如圖6所示。其中左右兩側是驅動(dòng)輪,分別由兩個(gè)電機驅動(dòng);前后的萬(wàn)向輪是從動(dòng)輪;ICR表示瞬時(shí)旋轉中心;rrob表示移動(dòng)機器人轉向半徑;drob表示移動(dòng)機器人直徑;vl和vr分別表示移動(dòng)機器人左輪和右輪的線(xiàn)速度。
圖6 移動(dòng)機器人運動(dòng)學(xué)模型
運動(dòng)參數包括線(xiàn)速度v和角速度w,其中線(xiàn)速度v∈[0, 0.22],單位為m/s;角速度w∈[-2.84, 2.84],單位為rad/s。通過(guò)調節左右驅動(dòng)輪速度來(lái)控制移動(dòng)機器人運動(dòng)。移動(dòng)機器人的線(xiàn)速度與角速度和左右驅動(dòng)輪速度之間的關(guān)系:
(16)
TurtleBot3移動(dòng)機器人通過(guò)自身搭載的激光雷達獲取周?chē)h(huán)境信息。傳感器探測范圍為360°,探測距離為0.12~3.5 m,每15°返回一條激光雷達數據di(i=0~23),di表示該方向上最近障礙物的距離信息。移動(dòng)機器人激光雷達模型如圖7所示。
圖7 移動(dòng)機器人激光雷達模型
為驗證本文所提方法的有效性,在ROS機器人操作系統中利用Gazebo物理仿真平臺進(jìn)行仿真環(huán)境搭建,在離散型障礙物、一型障礙物、U型障礙物及混合障礙物環(huán)境中分別對傳統的人工勢場(chǎng)法和改進(jìn)的人工勢場(chǎng)法進(jìn)行對比實(shí)驗。實(shí)驗所采用的計算機配置是:Ubuntu 16.04操作系統,ROS Kinetic機器人操作系統,處理器為Intel i3-4160,運行內存4 GB,主頻3.6 GHz。
為更直觀(guān)地觀(guān)察仿真結果,將仿真環(huán)境以及移動(dòng)機器人運行軌跡實(shí)時(shí)顯示在Rviz可視化工具中。其中,移動(dòng)機器人初始位置為起點(diǎn),方框為目標點(diǎn),圓柱體為障礙物,實(shí)線(xiàn)為移動(dòng)機器人運行的軌跡,方格地板邊長(cháng)為1 m。仿真過(guò)程算法主要參數設定見(jiàn)表1。
Gazebo中離散稀疏障礙物環(huán)境和移動(dòng)機器人如圖8(a)所示,在Rviz中的投影如圖8(b)所示。其中,移動(dòng)機器人初始位置為起點(diǎn),起點(diǎn)坐標為(-2, -1),目標點(diǎn)坐標為(4.5, 2.0)。
表1 仿真過(guò)程算法參數設定
(a)Gazebo中的仿真環(huán)境 (b) Rviz中的投影
APF-v1和APF-v2算法僅在解決局部極小值時(shí)采取不同的虛擬目標點(diǎn)策略。當未遇到局部極小值問(wèn)題時(shí),兩種算法規劃的路徑相同且花費步數和耗時(shí)一致,故離散稀疏和密集障礙物環(huán)境中,將APF-v1和APF-v2算法統稱(chēng)為改進(jìn)的人工勢場(chǎng)法。傳統人工勢場(chǎng)法與改進(jìn)的人工勢場(chǎng)法規劃的路徑如圖9(a)和圖9(b)所示。改進(jìn)的人工勢場(chǎng)法采用自適應速度調節機制,根據當前工作環(huán)境的復雜程度實(shí)時(shí)對速度進(jìn)行調整。在離散稀疏障礙物環(huán)境中,傳統人工勢場(chǎng)法完成路徑規劃任務(wù)所用步數為253;采用自適應速度調節機制時(shí),完成路徑規劃所用步數為238,且運行軌跡相似,說(shuō)明自適應調節機制能夠提高路徑規劃的效率。
(a)傳統人工勢場(chǎng)法路徑 (b) 改進(jìn)人工勢場(chǎng)法路徑
在離散密集障礙物環(huán)境中調整起始位置、目標點(diǎn)位置以及障礙物布局如圖10(a) 所示,在Rviz中的投影如圖10(b)所示。其中,起點(diǎn)坐標為 (-2, -2),目標點(diǎn)坐標為(4.2, -2.8)。
(a)Gazebo中的仿真環(huán)境 (b) Rviz中的投影
傳統人工勢場(chǎng)法與改進(jìn)的人工勢場(chǎng)法規劃的路徑如圖11(a)和圖11(b)所示。當目標點(diǎn)距離障礙物較近時(shí),傳統人工勢場(chǎng)法出現斥力過(guò)大問(wèn)題,移動(dòng)機器人在目標點(diǎn)附近反復震蕩直至步數耗盡;改進(jìn)的人工勢場(chǎng)法在斥力勢場(chǎng)函數中引入目標點(diǎn)與移動(dòng)機器人之間的距離,保證僅目標點(diǎn)處的勢能為全局最小,完成路徑規劃任務(wù)所用步數為288。
(a)傳統人工勢場(chǎng)法路徑 (b) 改進(jìn)人工勢場(chǎng)法路徑
Gazebo中的一型障礙物環(huán)境和移動(dòng)機器人如圖12(a)所示,在Rviz中的投影如圖12(b)所示。其中,起點(diǎn)坐標為(-2.5, 0),目標點(diǎn)坐標為(2.5, 0)。
(a)Gazebo中的仿真環(huán)境 (b) Rviz中的投影
傳統人工勢場(chǎng)法、APF-v1和APF-v2算法規劃的路徑如圖13所示。僅使用傳統人工勢場(chǎng)法時(shí),移動(dòng)機器人陷入局部極小值陷阱,在一型障礙物附近反復震蕩,導致路徑規劃任務(wù)失敗;本文提出的APF-v1算法在斥力分量Frep1偏轉90°方向上選擇合適距離設置虛擬目標點(diǎn);APF-v2算法通過(guò)對當前環(huán)境分析選擇在目標障礙物外側設置虛擬目標點(diǎn),兩種算法均能使移動(dòng)機器人在虛擬目標點(diǎn)的引導下擺脫局部極小值陷阱。
(a)傳統人工勢場(chǎng)法路徑 (b) APF-v1算法路徑
Gazebo中的U型障礙物環(huán)境和移動(dòng)機器人如圖14(a)所示,在Rviz中的投影如圖14(b)所示。其中,起點(diǎn)坐標為(-3.5, 0),目標點(diǎn)坐標為(3, 0)。
(a)Gazebo中的仿真環(huán)境 (b) Rviz中的投影
傳統人工勢場(chǎng)法、APF-v1和APF-v2算法在U型障礙物環(huán)境中規劃的路徑如圖15所示。傳統人工勢場(chǎng)法使移動(dòng)機器人陷入U型障礙物陷阱,在局部極小值點(diǎn)附近反復震蕩直至步數耗盡;APF-v1算法在擺脫U型障礙物陷阱時(shí),由于移動(dòng)機器人在U型障礙物邊緣所受斥力分量Frep1角度變化較大,虛擬目標點(diǎn)設置位置變化較大,導致移動(dòng)機器人擺脫U型障礙物陷阱所需步數較多;而APF-v2算法通過(guò)在目標障礙物外側設置虛擬目標點(diǎn)的方法,能規劃出相對更優(yōu)的路徑。
將離散型、一型和U型障礙物組合形成混合障礙物環(huán)境。Gazebo中的混合障礙物環(huán)境和移動(dòng)機器人如圖16(a)所示,在Rviz中的投影如圖16(b)所示。其中,起點(diǎn)坐標為(-4, -2),目標點(diǎn)坐標為(4, 4)。
(a)傳統人工勢場(chǎng)法路徑 (b) APF-v1算法路徑
(a)Gazebo中的仿真環(huán)境 (b) Rviz中的投影
傳統人工勢場(chǎng)法、APF-v1和APF-v2算法規劃的路徑如圖17所示。由于傳感器探測范圍有限,移動(dòng)機器人沿勢場(chǎng)的負梯度方向移動(dòng)進(jìn)入U型障礙物陷阱,傳統人工勢場(chǎng)法使移動(dòng)機器人在U型障礙物陷阱區域反復震蕩,導致路徑規劃任務(wù)失敗;而APF-v1算法和APF-v2算法使移動(dòng)機器人進(jìn)入U型和一型障礙物陷阱時(shí),對當前障礙物環(huán)境進(jìn)行判斷,通過(guò)設置虛擬目標點(diǎn)的方法引導機器人擺脫局部極小值陷阱。其中,APF-v1算法在繞行障礙物邊緣時(shí)步數相對較多,APF-v2算法能規劃出相對更優(yōu)的路徑。
對傳統人工勢場(chǎng)法、APF-v1算法和APF-v2算法在上述五種仿真環(huán)境中從起點(diǎn)到目標點(diǎn)的路徑規劃步數和時(shí)間進(jìn)行匯總,見(jiàn)表2。
從表2數據對比可以看出,在各種仿真環(huán)境中,APF-v1算法和APF-v2算法均能規劃出從起點(diǎn)到目標點(diǎn)的路徑, 且在一型、U型和混合障礙物環(huán)境中,APF-v2算法規劃的路徑效果較好,所用的步數較少、耗時(shí)較短。
(a)傳統人工勢場(chǎng)法路徑 (b) APF-v1算法路徑
表2 仿真環(huán)境中算法對比數據
針對未知環(huán)境下的移動(dòng)機器人局部路徑規劃問(wèn)題,本文提出了APF-v1算法和APF-v2算法,并在ROS系統中設計不同的仿真環(huán)境,將本文所提算法與傳統人工勢場(chǎng)法進(jìn)行了對比實(shí)驗,驗證了改進(jìn)算法的有效性。APF-v1算法和APF-v2算法具有以下特點(diǎn):
1)通過(guò)改進(jìn)引力和斥力勢場(chǎng)函數,有效解決了引力過(guò)大和目標不可達問(wèn)題;根據當前環(huán)境復雜程度設計自適應速度調節機制,提高路徑規劃的效率。
2)對存在局部極小值陷阱的復雜障礙物區域,算法對當前障礙物環(huán)境判斷,分別在斥力分量偏轉90°方向上與目標障礙物外側合適位置設置虛擬目標,引導移動(dòng)機器人擺脫局部極小值陷阱。
3)當障礙物環(huán)境較為復雜時(shí),APF-v2算法完成路徑規劃任務(wù)花費步數較少,用時(shí)較短,效率較高。
考慮到移動(dòng)機器人的實(shí)際工作環(huán)境可能更為復雜,下一步工作考慮將人工勢場(chǎng)法與模糊控制法以及強化學(xué)習方法結合,解決移動(dòng)機器人在更為復雜場(chǎng)景下的路徑規劃問(wèn)題,并進(jìn)一步縮短路徑長(cháng)度,使移動(dòng)機器人在各種環(huán)境下規劃出較優(yōu)的路徑。
猜你喜歡勢場(chǎng)極小值移動(dòng)機器人移動(dòng)機器人自主動(dòng)態(tài)避障方法北京航空航天大學(xué)學(xué)報(2022年6期)2022-07-02基于Frenet和改進(jìn)人工勢場(chǎng)的在軌規避路徑自主規劃北京航空航天大學(xué)學(xué)報(2021年4期)2021-11-24基于改進(jìn)人工勢場(chǎng)方法的多無(wú)人機編隊避障算法高技術(shù)通訊(2021年5期)2021-07-16一道抽象函數題的解法思考與改編*中學(xué)數學(xué)研究(江西)(2020年5期)2020-07-03構造可導解析函數常見(jiàn)類(lèi)型例析*中學(xué)數學(xué)研究(江西)(2019年11期)2019-12-31極小值原理及應用科技風(fēng)(2018年19期)2018-05-14庫車(chē)坳陷南斜坡古流體勢場(chǎng)對陸相油氣運聚的控制石油地球物理勘探(2017年4期)2017-12-18基于Twincat的移動(dòng)機器人制孔系統制造技術(shù)與機床(2017年3期)2017-06-23基于龐特里亞金極小值原理的多運載體有限時(shí)間編隊控制自動(dòng)化學(xué)報(2017年1期)2017-03-11基于偶極勢場(chǎng)的自主水下航行器回塢導引算法系統工程與電子技術(shù)(2016年4期)2016-08-24