Open11
Gazebo + Navigation2 (ROS 2 Foxy)
ROBOTISが公開しているTurtleBot3のROS 2パッケージを利用してNavigation2を試す。
公式のe-manual+参考資料を読みながら進める。
環境構築
Ubuntu 20.04 + ROS 2 Foxy (Docker)
パッケージのインストール
必要なパッケージのダウンロード
$ mkdir -p ~/turtlebot3_ws/src
$ cd ~/turtlebot3_ws
$ wget https://raw.githubusercontent.com/ROBOTIS-GIT/turtlebot3/foxy-devel/turtlebot3.repos
$ vcs import src < turtlebot3.repos
$ rosdep install -r -y -i --from-paths src
ビルド
$ colcon build --symlink-install
Gazebo初回起動&動作確認
Gazeboで使用するモデルデータが多いと、初回はダウンロードのために起動に時間がかかる。
追加ダウンロードが必要なモデルが少ないempty_world.launch.py
をとりあえず起動して動作確認する。
$ source ~/turtlebot3_ws/install/setup.bash
$ export TURTLEBOT3_MODEL=burger
$ ros2 launch turtlebot3_gazebo empty_world.launch.py
Gazebo起動&SLAM(cartographer)(1/2)
端末起動時にsource ~/turtlebot3_ws/install/setup.bash
を実行するか、.bashrc
に記載しておく。
1枚目の端末
Gazeboの起動には時間がかかる場合がある。10分程度放置しても起動しなかった場合は再起動するとうまく行く場合もある。
$ export TURTLEBOT3_MODEL=burger
$ ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py
2枚目の端末
$ export TURTLEBOT3_MODEL=burger
$ ros2 launch turtlebot3_cartographer cartographer.launch.py use_sim_time:=True
3枚目の端末
$ ros2 run teleop_twist_keyboard teleop_twist_keyboard
Gazebo起動&SLAM(cartographer)(2/2)
適当なところで地図を保存する
$ ros2 run nav2_map_server map_saver_cli -f ~/turtlebot3_ws/map