LoginSignup
4
4

More than 1 year has passed since last update.

GNSS、IMUのをROS2で利用。自己位置推定(備忘録)

Last updated at Posted at 2022-06-17

環境

ros2 galactic
f9p
TR-IMU1647X

参考(上から順に一通りやると理解が深まる)

https://automaticaddison.com/how-to-create-a-simulated-mobile-robot-in-ros-2-using-urdf/
https://automaticaddison.com/set-up-the-odometry-for-a-simulated-mobile-robot-in-ros-2/
https://automaticaddison.com/sensor-fusion-using-the-robot-localization-package-ros-2/
https://automaticaddison.com/set-up-lidar-for-a-simulated-mobile-robot-in-ros-2/
https://automaticaddison.com/navigation-and-slam-using-the-ros-2-navigation-stack/
https://automaticaddison.com/how-to-use-gps-with-the-robot-localization-package-ros-2/

参考をやってわかったこと(あってるのかは不明)、実施したこと

かなり大まかに
basic_mobile_robotパッケージはスモールタウンワールドのシミュレーション環境を構築し、
robot_localizationパッケージのekf_nodeとnavsat_transform_nodeを使って、
/fix/gps、/imu/data、wheel/odometryのトピックを入れ込み、拡張カルマンフィルター(ekf)で自己位置推定している。
そのため、
/fix/gpsと/imu/dataを実際の機器から出力されるトピック/fix、/imu/data_rawに変えた

比較

シミュレーション↓↓

実際の機器↓↓

上図を要約すると

シミュレーションと比較して実際の機器になると
・gpsデータは、f9p(ubloxノード)から出力される/fixトピックにかわっている
・imuデータは、adiノードから出力される/imu/data_rawトピックにかわっている

(上図でしめしたいことの詳細)
〇GNSSの流れに焦点
・シミュレーション
/basix_mobile_bot_gpsノード → /gps/fixトピック → /navsat_transformノード → /odometry/gpsトピック → /ekf_filter_node_mapノード
・実際の機器
/ublox_gps_nodeノード → /fixトピック→/navsat_transformノード → /odometry/gpsトピック → /ekf_filter_node_mapノード

〇imuの流れに焦点
・シミュレーション
/imu/basic_mobile_bot_imuノード → /imu/dataトピック → /ekf_filter_node_map&/ekf_filter_node_odomノード
・実際の機器
adi_rcv_csv_nodeノード → /imudata_rawトピック → ekf_filter_node_map&/ekf_filter_node_odomノード

なにしたか

①gps、imu、wheel_odomによる自己位置推定のシミュレーション環境の構築

参考リンクの上から順に実施
はしょりたい人はこちら→リンク(記事作成中)

②f9pの値をROS2上に。/fixトピックで出力される

③TR-IMU1647Xの値をROS2上に。/imu/data_rawで出力される

④シミュレーション環境の設定を変更

リンクは随時更新します。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4