Skip to content

Panasonic-Advanced-Technology/gnss_tutorial

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

License: MIT

gnss_tutorial

概要

本リポジトリは ROS 2 上で動作する GNSS ベースの自律移動ロボット のサンプルコードです。

  • 自己位置推定: 2 基の GNSS 受信機(/gnss/gnss1)から位置と方位を算出し、緯度経度を平面直交座標に変換します。
  • 経路追従制御: Pure Pursuit アルゴリズムで CSV ファイルに記述された目標経路を追従し、cmd_vel に速度コマンドを出力します。
  • シミュレーション: 差動二輪モデルの簡易シミュレータにより、実機なしでアルゴリズムを検証できます。
  • 実データ再生: 実環境で収録した rosbag(fix/float 測位、S字走行など)でナビゲーションを評価できます。
  • 可視化: Rviz2 で目標経路・自己位置・TF をリアルタイムに表示できます。

パッケージ構成

パッケージ 説明
simple_gnss_navigation GNSSベースのナビゲーションノード。2基のGNSS受信機から自己位置・方位を推定し、Pure Pursuit で経路追従制御を行います。Rviz2 での可視化にも対応しています。
diff_drive_sim 差動二輪モデルの簡易シミュレータ。cmd_vel を受け取り、/gnss/gnss1/odom/imu トピックを生成します。実機がなくてもアルゴリズムの検証が可能です。

動作環境

  • Ubuntu 24.04
  • ROS 2 Jazzy

環境構築

ROS 2 Jazzy がインストールされた環境で以下を実行してください。

cd ~/colcon_ws/src
git clone https://github.com/Panasonic-Advanced-Technology/gnss_tutorial.git
cd ~/colcon_ws
colcon build --symlink-install
source install/setup.bash

実行方法

シミュレーションで実行

簡易シミュレータとナビゲーションノードを同時に起動し、Rviz2 上で経路追従の動作を確認できます。

ros2 launch simple_gnss_navigation simulation.launch.xml

経路やパラメータを変更する場合は引数で指定します。

# S字経路で実行
ros2 launch simple_gnss_navigation simulation.launch.xml path_name:=s_curve

# Lookahead distance を変更
ros2 launch simple_gnss_navigation simulation.launch.xml lookahead_dist:=5.0

rosbag(実データ)で実行

実環境で取得した GNSS データを再生してナビゲーションを実行します。

ros2 launch simple_gnss_navigation rosbag.launch.xml

別の経路データを再生する場合:

ros2 launch simple_gnss_navigation rosbag.launch.xml path_name:=fix1

利用可能なサンプルデータ

データ名 説明
float1(デフォルト) GNSS の測位精度が一部低下するデータ 1
float2 GNSS の測位精度が一部低下するデータ 2
fix1 GNSS の測位精度が良好なデータ 1
fix2 GNSS の測位精度が良好なデータ 2
s_curve GNSS の測位精度が良好な S 字走行のデータ

主なパラメータ

パラメータ 既定値 効果
lookahead_dist 2.0 m 小さい→蛇行しやすい、大きい→カーブで膨らむ
max_speed 0.5 m/s 直進速度。速度を上げると経路追従が難しくなる
goal_tolerance 0.5 m ゴール判定距離。厳しすぎると停止しない、緩すぎると手前で止まる

ライセンス

MIT License

About

Interface 2026年6月号掲載!「GNSSを利用した自律移動ロボット・プログラミング」のサンプルコード

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages