ROS2 自作 Turtlebot3 による 草刈りロボット開発。#10 走行開始時のロボットの向き。
副題: ROS2 C++ 自立走行ロボットによる草刈りロボット開発
--- ros2 nav2_gps_waypoint_follower_demo autonomous は、できるか検討する。 ---
ROS2 自作 Turtlebot3 による 草刈りロボット開発。#9 LSTM で経路計画をする。
が出来たので、自分の部屋で、実機を Auto Mower で走らせている。
その中で、気になりだしたのが、ロボットの開始時の向きのズレが気になる。
注) その前のお断り。
Robot Localization に Navigation2 の AMCL with SCAN を使っていれば、Static Map を参照して自動的にロボットの向きが補正されると思う。
今回は、ekf_localization with no GNSS をつかっているので、こんな問題がでてくると思う。
おんちゃんは、ほとんど AMCL with SCAN を使ったことがなかったから、AMCL Localiaztion の知識が欠落しちょりました。
屋内であれば、AMCL with SCAN は、Roboto Localiaztion の強力な機能じゃった。
Auto Mower で走行するときは、予め作成した、Static Map をベースに走行している。
この時、Static Map 作成時の、ロボットの向きと、 Auto Mower 走行時のロボットの向きがずれていると、具合が悪い。
1度ずれていると、数十メートルそうこうすると、かなりのズレが生じてしまう。
やはり、みちびき等の GNSS でロボットの位置を補正するしかないのかも。
その前に、予備知識として、ekf-localization 、navsat_transform を使ったロボット位置推定の場合の話だが、
robot_localization/navsat_transform_node を使った場合、
navsat_transform.yaml
の、datum: [38.161491, -122.4546443, 0.0] # pre-set datum if needed, [lat, lon, yaw]
で、tf-map の原点の緯度、経度と、x 軸の向きを指定する。
yaw (X 軸の方向)は、通常 東=0 [radian] になるみたい。
通常は、X軸の+方向が、東としているので、地図の X軸の+ 方向を変えたければ、ここで指定する。
Navigating Using GPS Localization
によると、robot_localization は、WGS84(世界測地系) を使うとのこと。
与えられた、GPS の lat,logi から、地表上の平面地図上の距離に変換する処理をしてくれる。
つまり、GPS の lat,logi の現在値から、起点となる、datum からの、地表面上の距離をWGS84を使って、算出して、
それは、tf-map(0,0) からのX軸[M]、Y軸[M] の値として教えてくれる。
結構便利なツールじゃ。
地図から、Map に変換する場合は、この WGS84 の地図を使えば良い。
出力は、odometry/gps で得られる。
$ ros2 topic echo /odometry/gps
で、tf-map からの距離が得られる。だから、 GNSS の値が正確であれば、この odometry/gps だけで、ロボットの正確な位置がわかる。
だから、本来は ekf-localization、ukf-localization は必要がない。必要がなければ、無理して使うこともない。
すでに作成された、Static Mapは、作成時に使用した、datum をnavsat_transform_node に与えれば良い。
ロボットの向きも、Static Map 作成時の向きにあわせる。
手作業で、Static Map を作成した時は、そのマップの起点と X軸(+方向)方向 を、datum を使って、navsat_transform_node に与えれば良い。
このページを書いた時は、予備知識として、navsat_transform この知識がなっかたまま書いたので、書き直しが必要みたい。by nishi 2025.8.10
注1) 部屋の中で、GPS を使わない時は、開始時のロボットの向きが、+X に、必然的になる。
以上が、予備知識である。
2025年1月アーカイブ
ROS2 自作 Turtlebot3 による 草刈りロボット開発。#10 走行開始時のロボットの向き。
おんちゃん (2025年1月26日 17:18)
検索
このアーカイブについて
カテゴリ
- AI (1)
- CentOS7.x (5)
- ChatGTP (1)
- Orange PI 5 (3)
- ROS2 (25)
- T100TA (2)
- Ubuntu Mate 20.04 (1)
- Windows (11)
- armbian (4)
- おんちゃんの雑談 (18)
- アフェリエイトで儲けるぞ。 (1)
- セキュリティー (5)
- プログラム開発 (139)
- Android Studio 2.1 (1)
- Android Studio Flamingo (3)
- C++ CGI (4)
- CNTK 2.4 (8)
- CUDA Programming (1)
- Coral EdgeTPU (9)
- ESP32 esp-idf (23)
- GPS (10)
- IMU (7)
- Java (3)
- Jetson Nano (17)
- Keras (12)
- OpenCV2 (1)
- OpenCV3.3.x (3)
- OpenCV3.4.2 (1)
- OpenCV4.1.1 (1)
- PIC (4)
- Perl CGI (2)
- Platformio IDE (7)
- Pytorch (10)
- ROS (43)
- Raspberry Pi (5)
- Sipeed MAix (10)
- Stereo Camera (3)
- TensorFlow (14)
- TensorFlow 2 (9)
- TensorRT 5.1 (2)
- Visual Studio Code (1)
- esp32 arduino (8)
- esp8266 arduino ide (5)
月別 アーカイブ
- 2025年10月 (5)
- 2025年9月 (1)
- 2025年8月 (5)
- 2025年7月 (10)
- 2025年6月 (2)
- 2025年5月 (2)
- 2025年4月 (1)
- 2025年3月 (1)
- 2025年2月 (1)
- 2025年1月 (1)
- 2024年12月 (2)
- 2024年11月 (3)
- 2024年9月 (4)
- 2024年8月 (4)
- 2024年7月 (3)
- 2024年6月 (6)
- 2024年5月 (2)
- 2024年4月 (3)
- 2024年3月 (1)
- 2024年2月 (2)
- 2024年1月 (3)
- 2023年12月 (1)
- 2023年11月 (2)
- 2023年10月 (1)
- 2023年8月 (2)
- 2023年7月 (2)
- 2023年6月 (5)
- 2023年5月 (1)
- 2023年4月 (3)
- 2023年3月 (4)
- 2023年2月 (2)
- 2023年1月 (2)
- 2022年12月 (3)
- 2022年11月 (3)
- 2022年10月 (1)
- 2022年9月 (2)
- 2022年8月 (2)
- 2022年7月 (3)
- 2022年5月 (3)
- 2022年4月 (1)
- 2022年2月 (3)
- 2022年1月 (1)
- 2021年12月 (3)
- 2021年10月 (4)
- 2021年9月 (8)
- 2021年7月 (3)
- 2021年5月 (2)
- 2021年4月 (3)
- 2021年3月 (9)
- 2021年1月 (9)
- 2020年12月 (2)
- 2020年11月 (7)
- 2020年10月 (3)
- 2020年9月 (3)
- 2020年8月 (2)
- 2020年7月 (4)
- 2020年6月 (1)
- 2020年5月 (2)
- 2020年3月 (7)
- 2020年1月 (3)
- 2019年11月 (5)
- 2019年10月 (1)
- 2019年9月 (1)
- 2019年8月 (1)
- 2019年7月 (4)
- 2019年6月 (1)
- 2019年5月 (3)
- 2019年3月 (1)
- 2019年2月 (2)
- 2019年1月 (3)
- 2018年12月 (9)
- 2018年10月 (3)
- 2018年9月 (2)
- 2018年6月 (5)
- 2018年4月 (2)
- 2018年3月 (1)
- 2018年2月 (1)
- 2018年1月 (1)
- 2017年12月 (2)
- 2017年10月 (5)
- 2017年9月 (1)
- 2017年8月 (1)
- 2017年4月 (1)
- 2017年1月 (1)
- 2016年8月 (1)
- 2015年11月 (1)
- 2015年10月 (1)
- 2015年9月 (1)
- 2015年4月 (1)
- 2015年2月 (2)
- 2015年1月 (1)
- 2014年8月 (1)
- 2014年7月 (1)
- 2014年1月 (1)
- 2013年7月 (1)
- 2013年4月 (1)
- 2012年11月 (1)
ウェブページ
- ウエブページの練習です。
- images