move_base存在的問題

局部規劃器的搜索空間不完備

dwa_local_planner採用的模擬多種單一策略(固定角速度,固定線速度)連續執行一段時間並對軌跡評分,選擇最高分的進行評價。減小模擬時間會導致短視,但是延長模擬時間,不僅會導致算力消耗大,還會導致機器人難以通過窄縫(因爲軌跡合法性判別會過濾掉所有在模擬時間內會發生碰撞的軌跡)。

根本原因是dwa搜索的是小車速度空間的子集,且沒有啓發性,只是固定策略的搜索。

不僅算力消耗大,而且效果不算好。

由於全局規劃的路徑時不考慮機器人體積的,所以完全沿着全局規劃路徑也不可取。

分支限界法可能是解決問題的關鍵。

 

缺少原地轉向

move_base不會採取原地轉向策略,目的地很近但是方向不同時,經常採用多次來回倒車的策略調整方向,導致移動效率低。

 

路徑計劃服務和正式前往時的計劃不一致

在對外提供的路徑規劃服務中,如果無法前往目標地點,會在由內而外的在誤差容忍範圍內嘗試前往附近的地點。而在move_base的回調函數中,只會嘗試規劃前往目標地點的路徑,如果失敗,不會嘗試前往附近位置。

路徑可控性及連續性差

A*算法經常無法計算出路徑,返回NO PATH,原因可能是目標點有障礙。

行走路徑可控性差,難以走直線,且到達終點的速度低,無法連續行走。原則上可以調節stop_trans_vel(大概這個名字)的值使得機器人到達目的地時不停止,但實際效果很差。

可能出現機器人回退現象

因local_planner採取的是在全局路徑上取得分點的方式,如果機器人錯過該得分點,無法前往下個點,而是需要後退來取得該點的得分,當傳感器精度低或者控制頻率較低的時候,此問題非常嚴重。此問題還經常導致進入振盪,導致recovery行爲。

待續。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章