2021年9月アーカイブ

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

Turtlebot3 の自作 #11

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

今回は、自作 Turtlebot3 に搭載した、自作 Stereo Camera を使って、
rtabmap_ros/Tutorials/MappingAndNavigationOnTurtlebot を試してみます。
上記ページの 6.1 Turtlebot3 on Melodic and Noetic を試してみます。

これが、上手く動けば、rtabmap_ros で、自作 Stereo Camera を使って、Mapping しながら、ナビゲーションができるようになります。

自作 Turtlebot3 foxbot_core3

1. 環境
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

Turtlebot3 の自作 #10

Turtlebot3 の自作 #10
-- ROS rtabmap_ros 自作 Stereo Camera で StereoOutdoorMapping を試す --

今回は、自作 Turtlebot3 に搭載した、自作 Stereo Camera を使って、 rtabmap_ros/Tutorials/StereoOutdoorMapping を試してみます。

自作 Turtlebot3 foxbot_core3

1. 環境
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

Turtlebot3 の自作 #9

Turtlebot3 の自作 #9
-- ROS rtabmap_ros 自作 Stereo Camera の搭載 --

ROS rtabmap_ros 自作 Stereo Camera #2 で確認した機能 (rtabmap_ros/Tutorilas/SetupOnYourRobot 2.9 Stereo B) を、
Turtlebot3 自作機(Foxbot_core3) へ、搭載してみます。

自作 Turtlebot3 foxbot_core3

概要:
1) SBC(Jetson nano 2G) では、stereo_node.launch、 turtlebot3_robot.launch を動かす。
2) リモートPC で、stereo_image_proc、stereo_odometry、 rtabmap_ros を動かす。
3) リモートPCで、teleop_key を使って、自作 Turtlebot3 を動かして、Wi-Fi経由で、Stereo 画像をリモートPCで受けて、
Rtabmap_ros で、2D Mapping を作成する。

1. 環境
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

2. SBC(Jestson nano 2G) での準備。
1) 自作 Stereo カメラを、車体に固定します。
2) USBカメラ x 2 を、Jetson nano 2G に接続して、
$ roslaunch uvc_camera stereo_node.launch を実行して、
カメラの左右が正しいことを確認します。
3) Stereo キャリブレーションを行います。

ROS rtabmap_ros 自作 Stereo Camera #2

ROS rtabmap_ros 自作 Stereo Camera #2.

ROS rtabmap_ros 自作 Stereo Camera に続いて、
今回は、rtabmap_ros/Tutorilas/SetupOnYourRobot 2.9 Stereo Bを、
自作 Stereo カメラ向けに、アレンジして、試してみます。
と言うのも、 rtabmap_ros/Tutorials/StereoOutdoorMapping で使われている構成のようなので。

開発環境
PC: Ubuntu Mate 18.04
ROS : Melodic
USB Camera: Logi Cool C270 x 2

1. 自作 USB ステレオカメラ のセットは、ROS rtabmap_ros 自作 Stereo Camera をご覧下さい。

ROS rtabmap_ros 自作 Stereo Camera

ROS rtabmap_ros 自作 Stereo Camera.

rtabmap_ros Tutorial で、Stereo カメラが使える とあるので、自作の Stereo Camera でも大丈夫なのか試してみました。

手元に、Logi Cool の USB カメラ C270 が1個あったので、急遽、もう一本買ってきてためしてみます。
始める前に、rtabmap_ros のパラメータで、
Kp/DetectorStrategy=6 (GFTT/BRIEF)
Vis/FeatureType=6 (GFTT/BRIEF)
がデフォルト設定になっています。これは、OpenCV に contrib を組み込まないと使えない事のようです。
introlab/rtabmap_ros
Kp/DetectorStrategy=8 (GFTT/ORB)
Vis/FeatureType=8 (GFTT/ORB)
だと、contrib は、必要ないです。
後述のドリフトの件は、デフォルトの 6(GFTT/BRIEF) を使っていた所為かもしれません。by nishi 2021.12.11

注1) 後日、改めて、新品を追加購入して、新品の C270n X 2 にしました。
古い C270 と新しい、C270n とでは、色の具合ちょっと異なりました。新しい C270n で揃えると、左右の色が同じになりました。
この違いが、後の、StereoCamera のキャリブレーションと、stereo_image_proc の結果に大きく影響してきます。
自作 StereoCamera を試す時は、必ず同じロットの C270n を2個揃えて下さい。
Rviz の strereo_camera/point2/PointCloud2 の表示で驚く程違いがでます。by nishi 2021.10.24

注2) 左右USBカメラの間隔は、空けないで、隣合わせで取り付けて下さい。by nishi 2021.10.26
間隔 無し=2[mm] で、レンズ間隔=7.3[cm] となって、Rviz の Stereo_camera/PointCloud2 の映像で最短焦点距離は、
57[cm] になりました。
以前は、レンズ間隔が、9.2[cm] でした、その時の最短焦点距離 70[cm] でした。
最短焦点距離 70[cm] で、rtabmap_ros でロボットカーを部屋の中で動かすと、近くの物体が認識出来なくて、
動作が不完全でした。
最短焦点距離を、57[cm] にして、なんとか、部屋の中で、rtabmap_ros でロボットカーを動かせるようになりました。
しかし欲を言えば、もっと短い方が良いです。できれば、最短焦点距離 35[cm] 程が良い様です。

注3) カメラの取り付けは、とにかく正確に!!
cameracalibrator.py で、左右のカメラ映像を見比べて、上下のズレ、傾きを限りなく Zero にしてください。

注4) 上記設定とStereoCamera キャリブレーションがうまく行けば、Rviz で StereoCamera/PointCloud2 を表示して、
カメラの後方からみてみると、結構きれいに表示されます。

注5) 結論を言えば、C270 は、カメラ間隔を狭められなくて、画角も狭い(55度) なので、stereo_image_proc を通した、最短焦点距離が、57[cm] 迄しか短くできない。
なので、部屋の中で、自作 Stereo_camera & rtabmap_ros を試すには、適切ではありません。
部屋の中で試すなら、最短焦点距離を短くできる、もっと画角が広くて、カメラの間隔を狭められるカメラをお勧めします。
Jetson Nano 4G、Raspberry pi 4 であれば、CSI カメラを2個繋げられるので、そちらの方が、簡単に、最短焦点距離の短い Stereo Camera を作れると思います。
画角は、80度以上が必要です。

注6) やはり、ロボットに乗せて、rtabmap_ros で使うのであれば、市販のStereo Camera、Depth Camera
を購入したほうが賢明です。

開発環境
PC: Ubuntu Mate 18.04
ROS : Melodic
USB Camera: Logi Cool C270 x 2

1. USBカメラの動作確認。
1個の場合。
PC に USB カメラを挿して、
$ lsusb
...
Bus 003 Device 009: ID 046d:0825 Logitech, Inc. Webcam C270
...
を、確認します。表示されなければ、
$ sudo update-usbids
行います。
OK であれば、

Turtlebot3 の自作 #8

Turtlebot3 の自作 #8
-- Jetson Nano 2G の搭載 --

Jetson Nano 2G を ESP32 と UART 接続して、TurtleBot3 の完成形にします。
その後、リモートPC 上の roscore を起動して、リモートPC 上から Teleop Keyで、Turtlebot3 をリモート操作できる事を確認します。

自作 Turtlebot3 foxbot_core3

環境
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
電源: 5 [VDC] - 3[A] のレギュレーターを使用します。

完成写真。
robotcar-DSC03445.jpg

1. Jetson Nano 2G には、https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-2gb-devkit
辺りを参考に、Jetson Nano 2GB Developer Kit をインストールします。
Wi-Fi も必要なので、Wi-Fi ドングルを購入して、リモートPC から、SSH2 でログインできるようにします。

2. Power スイッチが有れば便利なので、付けます。
https://developer.nvidia.com/embedded/learn/jetson-nano-2gb-devkit-user-guide
Button Header J12
5-6 をジャンパーで短絡
11-12 にリセットボタンを付ければOKです。

Turtlebot3 の自作 #7

Turtlebot3 の自作 #7
-- シャシーの作り替え --

Depth Camera を載せるので、シャーシを2段にするのに当たって、
シャーシを作り替えることにしました。
タイヤの間隔は同じで、しかしペイロードはもうすこし広くなるようにシャーシを新たに採寸しまた。
材質は、木材からアクリル板にしました。ほんとうは、カーボンファイバーにしたかったですが、それは、次回にしました。
190[mm] x 180[mm] x 3[mm] (幅x長さx厚) のアクリル板2枚で簡単にできます。

1. 全体の図

foxbot3_core_chassis-img005.jpg

このアーカイブについて

このページには、2021年9月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2021年7月です。

次のアーカイブは2021年10月です。

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

カテゴリ

ウェブページ

サイトナビ