Turtlebot3 自作の最近のブログ記事

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 キャリブレーションを行います。

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

Turtlebot3 の自作 #6

Turtlebot3 の自作 #6
-- プリント基板 の製作 --

プリント基板と言っても、ユニバーサル基盤を使って、手造り基板の作成です。
但し、パーツの配置、配線は、全て手作業だと大変なので、ここは、Eagle を使ってみます。
Eagle を使うのも、何年ぶりか?すっかり忘れちょります。
この前使ったのは、PIC32MX で、USBマウス to PS/2 変換ボードを作った時以来です。

すっかり忘れているので、一から勉強しながらの製作です。
ここは、以前にもお世話になった、EAGLEプリント基板製作入門 を利用させて頂きます。

Eagle もバージョンが上がっているので、Eagle のバージョンアップから始めないといけないです。

ESP32 は、秋月電子の Wi-Fiモジュール ESP-WROOM-32 DIP化キット です。

今回の、foxbot_core3 の回路図です。

foxbot3_core-eagle-schema.jpg

注1) PIN2(3V3) - VCC 間のパスコンは、ESP-WROOM-32 DIP化キット に最初から付いているので、不要です。

Turtlebot3 の自作 #5

Turtlebot3 の自作 #5
-- IMU の追加 --

今回は、IMU を追加してみます。

Turtlebot3 の IMU (OpenCRのボード組み込み) は、MPU-9250、ICM20648 のSPI 接続の様です。
MPU-9250 は、製造中止で、Amazonで、中国産の類似品を売っていますが、
中身が、MPU-6500 で、6軸のまがい物だったりするので、つかえません。
おんちゃんは、今回これで、2週間程、無駄にしました。

開発環境
Ubuntu Mate 18.04
Visual Studio Code/ Platformio IDE
Framework: arduino
ROS: Melodic
ROS library: rosserial_arduino with Wi-Fi
Board: ESP32 DIP化キット

ICM20648は、チップのみの販売で、ボード品は入手出来ません。
なので、おんちゃんは、ICM20948 を使ってみる事にしました。
9軸センサーで、MPU-9250 の後継機と言うことなので、これに決めました。
入手も、Amazonの中国製のまがい物で無くて、日本のショップで入手できるので、安心です。

Switch Science で、SparkFun のこちら を購入しました。
上記ページに、必要な情報のリンクがあるので、それを活用します。

Turtlebot3 の自作 #4

Turtlebot3 の自作 #4
-- ESP32 Wi-Fi で、Phase1 完成 --

前回の Turtlebot3 の自作 #3 の途中から、ボードを、 ESP32 Wi-Fi に変えた記事の続きです。

注文した、STM32F103, 411 Black Pill が、なかなか届かないので、結局 ESP32 で作成を継続しました。
開発途中の問題点や対応方法は、前回の記事の 5. ESP32 Wi-FI に切り替えに記載してあるので、そちらを参考にしてください。

一連の記事は、こちら

今回は、補足的に回路図、開発環境の記述になります。

開発環境
Ubuntu Mate 18.04
Visual Studio Code/ Platformio IDE
Framework: arduino
ROS: Melodic
ROS library: rosserial_arduino with Wi-Fi
Board: ESP32 DIP化キット
注) DIP化キットよりも、他の 開発ボードの方が、簡単で割り安かも!!

1. 写真。

robocar-DSC03418.jpg

Turtlebot3 の自作 #3

Turtlebot3 の自作 #3
-- 製作 --

前回の、Turtlebot3 の自作 #2 で書いたように、必要なパーツを揃えて、実際のロボットカーを製作しました。

結局、オンちゃんは、STM32F407 Discovery Kit を止めて、STM32F411 Black Pill を使ってみました。
当初、中華製のSTM32F103 Black Pill で作って、動くようになった所で、 Board が壊れたので、
STM32F411 Black Pill に変更して作りました。

今回は、STM32F411 Black Pill にプログラムを書き込んで、PC(Ubuntu Mate) と USB-TTL-Serial で接続して、
実際の ロボットCAR(Turtlebot3) を動かすように、
teleop key でタイヤを駆動して、Rviz で動いている状態を観察するところ迄です。
もちろん、USB ケーブルでつながってはいますが、実際に動きます。

開発環境
Ubuntu Mate 18.04
Visual Studio Code/ Platformio IDE
Framework: arduino
ROS library: rosserial_arduino
Board: STM32F411 Black Pill  ( WeAct Black Pill V2.0(BlackPill F411CE) )

Turtlebot3 の自作 #2

Turtlebot3 の自作 #2
-- パーツ選び --

下記ページを見つけたので、ちょっと試してみました。
Build Your Own Turtlebot Robot!

詳しいところは、下記ページを参照との事です。
Build your own TurtleBot 3 backbone

目標は、屋外でDepth Camera を入力にして、Rtabmap_ros で、3D Active Slam を行い 屋外の畑の 2D Map を作成した後、
Depth Camera の入力で、畝、畑の崖をよけながら、 Navigation走行しながら、畑をくまなく走行する事を目指す。
コッホ!!

パーツ構成
1. SBC: Jetson Nano 2GB
2. Audino : STM32F407 Discovery
3. Intel Depth カメラ

いよいよ作成に入りたいです。
1. パーツ選びです。
田舎住まいのオンちゃんには、これが一番大変です。
参考ページは、中国の アリババ傘下の AliExress なので、同じ商品でもOKか...
しかし、中国の会社だと、個人情報が法律で保護されていなので、問題ありか?
但し、PayPal で支払いが出来たので、使ってみました。
その後、どうやら、商品が届くのが結構遅いみたい。Banggoodだと、思いのほか、
早く届いたけれど。AliExress は、15日程かかるみたい。

Turtlebot3 の自作

Turtlebot3 の自作

下記ページを見つけたので、ちょっと試してみました。
Build Your Own Turtlebot Robot!

詳しいところは、下記ページを参照との事です。
Build your own TurtleBot 3 backbone

オンちゃんは、Arduino DUE の代わりに、STM32F407 Discovery Kit にしてみました。
と言うのも、手持ちに、このボードがあったからです。なんといっても、DUE より安い!!

今回は、foxbot_core(Arduino のモータ駆動プログラム) を STM32F407 に組み込んで、PC(Ubuntu Mate) と USB-TTL-Serial で接続して、
PC のターミナル で $ rostopic list を実行したら、/cmd_vel , /odometry のトピックが確認出来る所迄です。

開発環境
Ubuntu Mate 18.04
Visual Studio Code/ Platformio IDE
Framework: arduino
ROS library: rosserial_arduino

このアーカイブについて

このページには、過去に書かれたブログ記事のうちTurtlebot3 自作カテゴリに属しているものが含まれています。

前のカテゴリはORB SLAM2です。

次のカテゴリはrtabmap_rosです。

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

カテゴリ

ウェブページ

サイトナビ