AbudoriLab-TC2024 / penguin_nav

Apache License 2.0
0 stars 0 forks source link

penguin_nav

Navigation 2 を使用した経路計画行うROS 2パッケージです。

概要

penguin_nav は Navigation 2 を使用して経路計画を行うROS 2パッケージです。以下の要素で構成されています。

インストール

このリポジトリをROS 2ワークスペースにクローンし、依存パッケージをインストールしてからビルドします。

# リポジトリをクローン
cd ~/ros2_ws/src
git clone https://github.com/AbudoriLab-TC2024/penguin_nav.git

# 依存パッケージをインストール
sudo apt-get update
sudo apt-get install ros-${ROS_DISTRO}-navigation2 ros-${ROS_DISTRO}-nav2-bringup python3-pandas

# ビルド
cd ~/ros2_ws
colcon build --packages-select penguin_nav

使用方法

Navigation 及びウェイポイント設定スクリプトを起動します。

ターミナル1

source install/setup.sh

# Navigation + pose_to_tf
ros2 launch penguin_nav nav.launch.xml

ターミナル2

source install/setup.sh

# ウェイポイント設定スクリプト
ros2 run penguin_nav follow_path.py -- <path/to/waypoints.csv> [<path/to/waypoints2.csv> ...]
# ワイルドカードにより一括で渡すこともできる
$ ls waypoints_list
waypoints_0001.csv waypoints_0002.csv waypoints_0003.csv

$ ros2 run penguin_nav follow_path.py -- waypoints_list/waypoints_*.csv
# ros2 ... -- waypoints_list/waypoints_0001.csv waypoints_list/waypoints_0002.csv waypoints_list/waypoints_0003.csv と等価

パラメータ

nav.launch.xml

以下は pose_to_tf のパラメータです。launchファイルに直接ハードコーディングされていることにご注意ください。

パラメータ名 説明 デフォルト値
child_frame_id string Pose を TF に変換する際の子フレームID。親フレームは Pose の Header を継承します base_link

config/nav2_params.yaml が Navigation 2 のパラメータです。各設定は Configuration Guide に従います。

follow_path.py

penguin_nav/follow_path.py に座標の列名がハードコーディングされているため、必要に応じて修正してください。

トピック

その他

Quick fix and DDS issue with Nav2

DDSの問題により上手く動作しないかもしれないです。その場合はこちら を参考に DDS を cyclonedds に変更してください。