15.6. Simulation 模擬

警告:不要在 TurtleBot3 的 SBC 端執行此節指令。 請在 remote PC 上按照此節步驟進行操作。

[Remote PC 端]

1. 增加 GAZEBO_MODEL_PATH 路徑

$ echo '# Add gazebo model path' >> ~/.bashrc
$ echo 'export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:~/turtlebot3_ws/src/turtlebot3/turtlebot3_simulations/turtlebot3_gazebo/models' >> ~/.bashrc
$ source ~/.bashrc

注意:在執行指令前,必須先指定 TurtleBot3 的 model 模型名稱。${TB3_MODEL} 是表示所使用的 burger, waffle, waffle_pi 模型的名稱。如果你要永久設定 export setting,請參考 Export TURTLEBOT3_MODEL 網頁。

2. 在 Turtlebot3 world 地圖載入 TB3

$ export TURTLEBOT3_MODEL=${TB3_MODEL}
$ ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py

3. 啟動 Cartographer

$ ros2 launch turtlebot3_cartographer cartographer.launch.py use_sim_time:=True

4. 執行 teleoperation node 節點

$ export TURTLEBOT3_MODEL=${TB3_MODEL}
$ ros2 run turtlebot3_teleop teleop_keyboard

5. 儲存地圖

$ ros2 run nav2_map_server map_saver -f ~/map

注意:你應該設置一些參數以使用模擬時間。如果你需要更多訊息,請參考 navigation2 repo 資訊

6. 載入TB3 模型然後以下指令啟動 Navigation2

$ export TURTLEBOT3_MODEL=${TB3_MODEL}
$ ros2 launch turtlebot3_navigation2 navigation2.launch.py use_sim_time:=True map:=$HOME/map.yaml

注意:在執行指令前,必須先指定 TurtleBot3 的 model 模型名稱。${TB3_MODEL} 是表示所使用的 burger, waffle, waffle_pi 模型的名稱。如果你要永久設定 export setting,請參考 Export TURTLEBOT3_MODEL 網頁。

  • 點擊選單欄中的 “2D Pose Estimate” 按鈕,然後在地圖上指向 turtlebot3 的精確方位。

  • 如果 TurtleBot3 靠近 costmap 或接近了 costmap 地圖,請點擊選單欄中的Navigation2 Goal 按鈕,然後在地圖上指向目標方位。

Last updated