Robot
[TIAGo模擬實作] 單元5. 定位與路徑規劃
<source : greatway9999>
步驟1.進到工作區域並更新環境變量
$ cd ~/tiago_public_ws $ source ./devel/setup.bash
步驟2.啟動模擬的Launch檔
roslaunch tiago_2dnav_gazebo tiago_navigation.launch public_sim:=true lost:=true
Particle Cloud : 就是環繞在機器人周邊的紅色箭頭所組成的雲,代表AMCL粒子濾波。粒子越集中,代表對位置估計的信心指數越高。
Global costmap : 在既有空間中,依據已存在的障礙物所構建的地圖,由global planner計算從一點到另一點的最佳路徑規劃,而不會撞到障礙物。
Local costmap : 在實際移動中,可能會出現原本不存在於Global costmap的障礙物。在從一點移動到另一點的過程中,local planner會依據global planner所計算的最佳路徑,計算新的躲避障礙物的路徑,再進行移動。
步驟3.定位
開新的Terminal,輸入以下指令 :
rosservice call /global_localization "{}"
一開始機器人並不知道自己的位置,因此AMCL粒子就會呈現雜亂分布,透過讓機器人移動 (本例是原地旋轉),就可以讓無效的AMCL粒子被移除,並逐漸收斂,得到正確的位姿估計。
再來輸入清除錯誤資料的指令
rosservice call /move_base/clear_costmaps "{}"
最後會得到一個將具有實際障礙物的靜態地圖,可作為後續導航之用。
步驟4.導航
請先關閉鍵盤控制的節點。
透過Rviz中的 "2D Nav Goal",左鍵按著,在欲讓機器人前往的位置上放開。箭頭的根部會是機器人抵達的位置,而箭頭的方向則是機器人的朝向。
仔細觀察,的確,機器人在前往目的地的過程中會避開障礙物。
---
參考資料 :
TIAGo/Tutorials/Navigation/Localization
#Navigation #Localization
0 留言