ROS2 自作 Turtlebot3(foxbot_core3_r2) Rtabmap_ros with Stereo rgbd and GPS. by T100TA #2
--- GPS を付けて、robot_localization ekf で試すを、T100TA から操作。#2 ---
ROS2 自作 Turtlebot3(foxbot_core3_r2) Rtabmap_ros with Stereo rgbd and GPS. by T100TA の続きです。
ubuntu 20.04 galactic 版へ移行しての再テスト。
ここでの動作を試す前に、ROS2 自作 Turtlebot3(foxbot_core3_r2) Rtabmap_ros with Stereo rgbd. #2 を終わらせて下さい。
上記ページで、 WiFi Lan の安定が重要だと判ったので、その点に注意して、T100TAを使っての走行テストを行います。
1. 環境。
1) Remote PC / T100TA
Ubuntu Mate 20.04
ros2: galactic
navigation2, Rviz2, multi_goals4_nav2
Wi-Fi: 2.4 [GHz]
2) SBC
Jetson Nanao 2G
Jet Pack4 .x and Ubuntu 20.04
ros2: galactic
micro-ROS Agent
Single USB Stereo Camera
GPS: AE-GYSFDMAXB
rtabmap_ros
Wi-Fi dongle: TP-Link 2.4[GHz] 150[Mbps]
USB SSD Stick
3) SOC
ESP32 Arduino
micro-ROS
IMU
4) Wi-Fi portable router
ELECOM WRH-300BK3-S
5) 自動走行プログラム。
turtlebot3_navi_my / multi_goals4_nav2
2. 走行テスト。
最初試したら、Jetson Nano との通信が、突然ハングしました。
T100TA の fsck や、パッケージのチェックをしてみましたが、問題ありませんでした。
原因が判らなかったので、取り敢えず WiFi の速度を、 2.4g に落としました。
それで、再度、T100TA から、
走行テストを行うと、今度は上手く完走できました。
T100TA を Remote PC にして、完走できたのは、今回が初めてではないでしょうか?
感動したぞね!!。
次は、WiFi router を、ELECOM WRH-300BK3-S にして、走行テストがOK になれば、やっと、
屋外での走行が試せます。
しかし、その前に、navigation2 と、自動走行プログラムも、SBC 上で動かせる状態にすべきかも知れません。
そのためには、SBC を、Jetsosn nano 2G から、Orange pi 5 に替えてからにしたほうがよいのかもしれましぇん。
3. 走行テスト 2023.3.15
Wi-Fi Router を ELECOM の 無線LANポータブルルーターに替えてテスト。
問題なく完走できました。
これで、やっと屋外に持ち出しての走行テストが、できるのじゃ。
此処まで来るのに、本当に永かった。
しかし、ここからが、本来の草刈りロボットの走行開発の始まりぞね。
注1) ELECOM WRH-300BK3-S の箱に、有線LAN 100[Mbps] と記載があるので、
Jetson Nano 2G には、
有線LANケーブルでつなげる方法もありなのか?
しかし該当する接続モードが無い。T100TA の方を親モードにすれば、こいつは不要か?
4. Single USB Stereo Camera (uvc_camera) の process die の問題。2023.3.16
テスト走行中に、時々、 uvc_single_stereo_node プロセスが死んでしまう事があります。
該当場所は、下記のようですが、
uvc_camera/src/uvc_cam.cpp
OpenCV 2.4 を用いた USB カメラの取り込み2 の "7. Buffer をキューにつなぐ, 8. Buffer をキューから外す" に、回答がありました。
どうやら、カメラが caputure に失敗しただけのようなので、
throw std::runtime_error() は、止めて、 return -1; にしました。
注) もしかしたら、 camera の hardware error かもしれませんが?
これで、暫く様子見です。
V4L2 ライブラリーと言うの使っているみたいぞね。
詳解V4L2 (video for linux 2)
ふむふも、これは、わかりやすいぞね。
5. github で、公開しています。
一応、まともに走行できるようになったので、最新版を、アプロードしました。
1) tosa-no-onchan/foxbot_core3
2) tosa-no-onchan/uvc_camera
3) tosa-no-onchan/gysfdmaxb_gps
4) tosa-no-onchan/rtabmap_ros_my
5) tosa-no-onchan/turtlebot3_navi_my