ROS2 自作 Turtlebot3 による 草刈りロボット開発。#13 robot_localization ukf を試してみる。

ROS2 自作 Turtlebot3 による 草刈りロボット開発。#13 robot_localization ukf を試してみる。
副題: ROS2 C++ 自立走行ロボットによる草刈りロボット開発

-------- robot_localization ukf を試してみる。-------

robot_localization の ukf_localization_node を使って、
foxbot_core3 for ros2 を走行させてみる。
ロボット走行には、UKF: Unscented Kalman Filter が向いているそうなので、試してみた。
Ekf 版の launch.py があるので、その中の、ekf_localization_node 向け を ukf_localization_node 向けに変えるだけで、OK だった。

とおもったが、勘違いで、ukf用のパラメータの設定が必要じゃ。
今は、まだ動作してないぞね!!
Quectel LG290P を試す方が先だから、この記事は、少し保留じゃ。by nishi 2025.7.14

環境:
実機ロボット:foxbot_core3 for ros2
OrangePi 5 and Armbian 24.04
OAK-D Lite depth Camera
ROS2 Jazzy Navigation2
Launch: OAK-D Lite Depth Camera , GPS navsat_transform_node and ukf_node
foxbot_nav2_oak-d_depth_gps_ukf.launch.py
C++ 自動走行プログラム:multi_goals4_nav2.launch.py

自分の部屋の中でちょこっと走行させただけなので、本領はわからない。
屋外の広い場所の起伏のある処で、RTK-GNSS を使って走行させれば、違いがわかるのかも。

もうそろそろ、屋外で実機走行させられるところまで、できてきた。
しかしそれには、屋外用の走行ロボットを用意しないといかんが、
先立つものが無い。
残念じゃ。

久しぶりに、完成させようと、取り組んでいます。by nishi 2026.7.6
どうやら、ukf_node が、サブスクライブする、/odom(/odom_fox)、/imu の pose クオータニオンが、ノーマライズされていないと、エラーを吐くみたい。
foxbot_core3_r2.ino で、該当場所に、クオータニオン ノーマライズ を入れてみた。
この点は、ekf より、シビアみたい。
i) /odom(/odom_fox)、/imu トピックの ノイズ部分が設定されていなかったので、これを、適切に設定する。
ii) /imu の header のタイムスタンプが入っていなかったので、入れた。
上記、修正をして、ukf node を 走らせたら、うまく動きました。
いずれも、ESP32 arduino C++ の foxbot_core3_r2.ino の不具合でした。

あと、ukf.yaml の補足。
gnss-rtk が、fix しないで、誤差の多い data を受信する際への対応。

おんちゃんは、部屋の中での走行がメインなので、そうすると、LG-290P gnss-rtk では、
結局、GNGGA status=2 位しかならないから、そのときでも、ロボットが横飛びしないので、助かります。
やはり、Google Ai に教えてもらった。

launch ファイルは、
foxbot_nav2_oak-d_depth_gps_ukf.launch.py
ukf param は、
oak-d_ukf.yaml
一応、動くと思う。
うごかしている、ロボットは、
foxbot_core3 for ros2



【国が唯一認定】不用なPC/小型家電宅配便回収のリネットジャパン。
パソコン回収無料!!
(広告)

このブログ記事について

このページは、おんちゃんが2025年7月 3日 15:50に書いたブログ記事です。

ひとつ前のブログ記事は「高知県土佐市の笑えないなんちゃって行政 2025」です。

次のブログ記事は「Quectel LG290P は、みちびき L6 受信ができるのか。」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

カテゴリ

月別 アーカイブ

ウェブページ

サイトナビ