見出し画像

ROS入門 (50) - Nav2のデモの実行

「Nav2」のデモの実行手順をまとめました。

・Foxy

前回

1. Nav2

「Nav2」(Navigation2)は、ロボットの自律走行を実現するためのパッケージです。自己位置推定、地図生成、障害物検出、経路・動作計画などの機能を提供します。

以下のツールを提供します。

・Map Server : マップのロード、提供、保存。
・AMCL : マップ上でロボットをローカライズ。
・Nav2 Planner : 障害物の周りのAからBへのパスを計画。
・Nav2 Controller : パスをたどるロボットを制御。
・Nav2 Costmap 2D : センサーデータを世界のコストマップ表現に変換。
・Nav2 Behavior Trees / BT Navigator : 複雑なロボットビヘイビアを構築。
・Nav2 Recoveries : 障害が発生した場合の回復動作の計算。
・Nav2 Waypoint Follower : シーケンシャルウェイポイントをフォロー。
・Nav2 Lifecycle Manager : サーバーのライフサイクルとウォッチドッグを管理。
・Nav2 Core : 独自のアルゴリズムと動作を有効にするプラグイン。

2. ワークスペースのセットアップ

ROS入門 (9) - ROS2のパッケージの作成」と同様です。

3. パッケージの準備

今回は、「Nav2」と「Turtlebot3」を使います。

(1) 「Nav2」パッケージと「nav2-bringup」パッケージのインストール。
「Nav2」パッケージはNav2本体、「nav2-bringup」パッケージはNav2のデモになります。

$ sudo apt install ros-foxy-navigation2
$ sudo apt install ros-foxy-nav2-bringup

(2) 「Turtlebot3」パッケージのインストール。
「Turtlebot3」パッケージは移動ロボットのパッケージになります。

$ sudo apt install ros-foxy-turtlebot3*

(3) 「~/.bashrc」に以下の環境変数を追加し、コンソールを再起動。
デモで使うロボットモデルのパスになります。

export TURTLEBOT3_MODEL=waffle
export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:/opt/ros/foxy/share/turtlebot3_gazebo/models

4. デモの実行

デモの実行手順は、次のとおりです。

(1) 以下のlaunchファイルを実行。
しばらく待つと、「rviz2」と「Gazebo」が起動します。

$ ros2 launch nav2_bringup tb3_simulation_launch.py

(2) 「rviz2」のツールバーの「2D Pose Estimate」を選択し、地図上をドラッグし、Turtlebot3のスタート位置を指定。

(3) 「rviz2」のツールバーの「Navigation2 Goal」を選択し、地図上をドラッグし、Turtlebotのゴール位置を指定。
Turtlebot3が、スタート位置からゴール位置に向かって動き出します。

5. 参考

次回



この記事が気に入ったらサポートをしてみませんか?