ROS導航navigation功能包

在這裏插入圖片描述

如上圖所示,首先要知道導航中的目標點(Goal), 然後 AMCL 會獲取當前座標點,Path Planner即爲路徑規劃,Move_base 主要解決的是本地優化(Path Planner相當於全局規劃,move_base相當於本地規劃),在ROS中可以採用Move_base功能包,該功能包包含有全局規劃與本地規劃。然後Move_base會發佈一個速度指令給底層驅動器,完成導航功能。
在這裏插入圖片描述
上圖顯示了,在move_base中的關係。其中藍色爲重點關注的,白色爲提供的結點(已經不需要我們來進行修改了)。其中map_server爲提前建好的地圖,爲可選環節。amcl爲定位功能包,也可以用里程計得到定位功能。右邊的sensor sources爲傳感器信息,提供深度信息。sensor transforms爲模型中相對關係,一般urdf可以自動生成。odometry source爲里程計信息。輸出信息爲base controller,爲速度信息。

在Move_base功能包中,提供的全局路徑規劃算法爲 Dijkstar和A*算法中,選擇一個。默認爲 Dijkstra算法,該算法搜索速度慢,但是得到的爲全局最優解。具體內容可以參看路徑優化算法–Dijkstra和A*算法及其Matlab實現。本地規劃算法爲 Trajectory Rollout 和 Dynamic Window Approaches算法,目標爲搜索躲避行進過程中的障礙物,並選取最優路徑。
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
amcl功能包中採用的爲蒙特卡洛定位方法。藍色的粒子云爲用來定位的,其中最爲密集的地方爲估計的位置。
在這裏插入圖片描述
幾個座標系的說明:/odom里程計座標系,爲編碼器積分所得。/base_frame 爲里程計信息進行航跡推測得到的座標系。/map座標系爲amcl得到,即雷達信息與地圖之間的匹配,得到當前機器人的座標位置。

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