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

2. 回路図。
実際の回路図は、下記になります。

img004.jpg

注1) DCモーターの、パルスエンコーダーの電源(VCC-GND) は、 3V3 を使います。

3. platfomio.ini

4. odometry の調整
RATE_CONTROLLER_KP、WHEEL_RADIUS、BASE_LENGTH を変えれば良い様です。
foxbot_core_config.h

開発途中の問題点や対応方法は、前回の記事に書いています。
現時点で、ESP32 WiFi で、PCから操作できるまでになっています。

5. Turtlebot3 として、SLAMを試す。
カメラも、liDAR もついていませんが、SLAM の Rviz での確認ができます。
1) $ roscore
2) $ roslaunch turtlebot3_bringup turtlebot3_robot.launch --screen
注1) turtlebot3_core.launch の記述のデバイスを変更します
/dev/ttyACM0 を tcp に変更します。
注2) Foxbot_coreと通信できると、トピックの一覧が表示されます。
3) SLAMの実行。
$ export TURTLEBOT3_MODEL=waffle
$ roslaunch turtlebot3_slam turtlebot3_slam.launch
4) Rviz の起動。
$ export TURTLEBOT3_MODEL=waffle
$ rosrun rviz rviz -d `rospack find turtlebot3_slam`/rviz/turtlebot3_slam.rviz
注) Rviz の設定
Robot Model と Odometry を有効にします。
5) キーボード操作のプログラムを起動。
$ roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

odometory だけでは、なかなか、SLAMのRviz上の位置と、実物の位置とは一致しません。
他に、IMU による補正を行うのでしょうが、なかなか、難しい所があります。
最後は、ランドマークによる位置推定も取り入れるのでしょうが、これも難しそう?

注1) LiDAR、カメラが付いていないので、残念ながら、Slam の出力である、map は、パブリッシュされません。
LiDAR、カメラ等は、SBC(Raspberry Pi、Jestson Nano 等) につけます。
SBC と ESP32 は、 SBC の GPIOに繋げた、Uart 通信で行います。
Jetson Nano 2G を付けて、RGB-D カメラを付けて、rtabmap_ros の Stereo mapping を動かしたら、
map(2D Map) が出てくるか!!
其処まで行っても、まだ夢の途中!! です。
其処まで行って、やっと草刈りロボットの開発のスタートです。
道のりは、遥かかなたか?

本当は、Gazebo 上で、Intel RGB-D Stereo カメラを付けて、Turtlebot3 でシミュレーション上で、
rtabmap の Stereo mapping が出来ていれば良かったのに、誰か、やり方を公開しないものだろうか?
注) 出来るようです。YouTube に公開 されていました。
rtabmap_rosTutorialsMappingAndNavigationOnTurtlebot

しかし、実機による操作の難しさは、Gazebo によるシミレーションだけでは、なかな体験できないものがあります。

GitHub で公開しました。
tosa-no-onchan/foxbot_core3

関連サイト。Thanks!!
1. Build Your Own Turtlebot Robot!
2. Build your own TurtleBot 3 backbone
3. MattMgn/foxbot_core
4. MattMgn/arduino-libraries
5. ESP32_AnalogWrite

Turtlebot3自作 一連の記事

おまけ、
MD 記述

このブログ記事について

このページは、おんちゃんが2021年5月10日 16:53に書いたブログ記事です。

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

次のブログ記事は「Web Serial API + Sipeed Maix Bit-Mic(Maixduino)」です。

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

カテゴリ

ウェブページ

サイトナビ