Turtlebot3 の自作 #12

Turtlebot3 の自作 #12
- ROS rtabmap_ros 自作 Stereo Camera で MappingAndNavigationOnTurtlebot を試す 2 --

Turtlebot3 の自作 #11 で作成したプログラムを、今回は、少し改造してみます。
前回は、stereo_node.launch を除いて、全て リモート PC上 で rtabmap_ros を動かしました。
今回は、確認の意味を込めて、SBC 上で、rtabmap_ros を動かしてみたいとお思います。
1. SBC で動かす、node、launch。
turtlebot3_bringup/turtlebot3_robot.launch
stereo_node.launch
stereo_image_proc
rtabmap_ros/rtabmap

2. remote PC で動かす、node、launch。
roscore
turtlebot3_bringup/launch/turtlebot3_remote.launch
turtlebot3_navigation/launch/move_base.launch

自作 Turtlebot3 foxbot_core3

3. 環境
1)リモートPC
Ubuntu Mate 18.04
ROS: Melodic
IP:192.168.1.170

2)TurtleBot3 SBC
Jetson Nano 2G
Wi-Fi Lan
IP:192.168.1.37
ROS:Melodic
USB Camera: Logi Cool C270 x 2

4. launch ファイル。
rtabmap_ros_my/launch/rtabmap-nishi-stereoB_navigation3.launch

5. 起動方法。
1) Remote PC
$ roscore

2) SBC(Jetson Nano 2G)
$ sudo chmod 666 /dev/ttyTHS1
$ roslaunch turtlebot3_bringup turtlebot3_robot.launch
Topic の一覧が出てくることを確認します。エラーになったら、一度 Ctl+Cで中止して、再度起動します。

$ export TURTLEBOT3_MODEL=waffle
$ roslaunch rtabmap_ros_my rtabmap-nishi-stereoB_navigation3.launch SBC:=true

3) リモートPC
$ export TURTLEBOT3_MODEL=waffle
$ roslaunch rtabmap_ros_my rtabmap-nishi-stereoB_navigation3.launch

6. 感想。
問題なく動きました。

リモートPCは、CPU 負荷が軽減されて、軽くなりました。
CPU0 30%
CPU1 90%

SBC(Jetson Nano 2G) は、どうか?
rtabmap の ターミナルの表示には、取りこぼしは出ていないようです。
たまに、base_link の TF出力が、0.02[Sec] を超えた旨のエラ-が出ています。

注1) rtabmap のパラメータは、 rtabmap_rosTutorialsStereoOutdoorMapping のほうが、
Mapping の性能が良いみたい(こちらをお勧めします)。
上記の方をベースに組み込んだ方がよいみたいです。
または、 rtabmap_ros/rtabmap の 設定を使った方が良いと思います。


注2) stereo_odometry は、使わない方が良いです。
foxbot_core3 の /odom と、IMUや、地磁気センサー、GPS 等を組み合わせた方が良いと思います。

7. 余談。
今日、Jetson Community Projects を見ていたら、ROS2 、 rtabmap_ros & Jetson Nano で 3D のPointClouds が、
めちゃくちゃ綺麗に取れているのを見た。
jdgalviss/jetbot-ros2
3D PointClouds で、床がちゃんと取れているのが、本当に良いぞね。
これは、やはり、RGB-D カメラの性能に拠るところが大きいと思われます。
これくらい綺麗に取れれば、屋外での草刈りロボットで使える気がしてきました。

だけど、rtabmap_ros は、リモートPC で動かしている様なので、将来は不安だ!...

Stereo Camera だと、床は、 2D Map では、白になるみたいだ。カメラが少し上向きなので、床が取れていないみたいです。

上り坂は、どうなるのか?

8. 余談2
Gazebo & turtlebot3 & rtabmap_ros で、シュミレーションで、 Depth Camera(rgb-d) を試せるみたいなので、早速試してみました。

rtabmap_rosTutorialsMappingAndNavigationOnTurtlebot の 6.1 Turtlebot3 on Melodic and Noetic
注) scan(Lidar) データは、不可にして、rgb-d だけにします。

後、屋外の Gazebo データが無いか Google でけんさくしたら。
CLEARPATH ROBOTS GET NEW GAZEBO SIMULATION ENVIRONMENTS があって、ここからのリンクで、
Clearpath Additional Simulation Worlds が見つかりました。
大変ありがたいぞね。
但し、起伏が無いデータみたいなのが残念です。
やはり、屋外なら、起伏のあるデータが必要ぞね。

既成のロボットカーも幾つかあるみたいだ。
https://support.clearpathrobotics.com/hc/en-us
高価なんだろな!!
手頃なら、こちらの方が簡単だったが!!

後、こちらも、次のステップでは、必要になりそう。
robot_localization
どうやら、複数のセンサー情報を使ってロボットの現在位置を出すノードみたいぞね。

9. ROS2 への移植。
ROS2 対応にしました。
ROS2 で、ESP32(Arduino) を使う。

このブログ記事について

このページは、おんちゃんが2021年9月25日 17:42に書いたブログ記事です。

ひとつ前のブログ記事は「Turtlebot3 の自作 #11」です。

次のブログ記事は「自作 Turtlebot3 自律走行に向けたプログラム。」です。

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

カテゴリ

ウェブページ

サイトナビ