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です。

3. ROS と Turtlebot3 パッケージをインストールします。
ROS: Melodic
詳しくは、『ROS ロボットプログラミングバイブル』P265
依存パッケージのインストール方法 [TurtleBot SBC]
TurtleBot3 パッケージのインストール方法 [TurtleBoot SBC]
を行います。
または、本家のサイト を参照してください。

4. ESP32 と Jetson Nano 2G を、UART 結線します。
ESP32  --  Jetson Nno 2G 40-Pin Header[J6]
TXD0(35) ---- RXD(10)
RXD0(34) ---- TXD(8)
GND ----- GND(6)

Jetson Nano 2G では、/dev/ttyTHS1 でアクセスできます。
使うときは、パーミッションを設定します。
$ sudo chmod 666 /dev/ttyTHS1

注1) あとで判ったことですが、Jetson nano JetPack は、ディフォルトで、Serial Console が有効になっていて、それが、/dev/ttyTHS0、
/dev/ttyTHS1 をオープンしてそれが悪さをするようです。
なので、Serial Console を無効にします。by nishi 2022.7.5
$ sudo systemctl stop nvgetty
$ sudo systemctl disable nvgetty
$ sudo udevadm trigger
reboot system

Jetson Nano - UART

5. リモートPC の設定& roscore 起動。
~/.bashrc に記述
export ROS_HOSTNAME=192.168.1.170
export ROS_MASTER_URI=http://192.168.1.170:11311

FireWallの設定
# ufw allow 11311
# ufw allow 33329:47000/tcp
# ufw reload
注) port 33329-47000 も開けないと、 teleop key が通信できないみたいです。
ros のログの中に teleop_key 使用ポートが見える。
~/.ros/log/latest/turtlebot3_teleop_keyboard-1.log

$ roscore

6. Jetson Nao 2G で、設定 & Tutlebot3 を起動。
~/.bashrc に記述
export ROS_HOSTNAME=192.168.1.37
export ROS_MASTER_URI=http://192.168.1.170:11311

~/catkin_ws/src/turtlebot3/turtlebot3_bringup/launch/turtlebot3_core.launch の修正。
<param name="port" value="/dev/ttyTHS1"/>

$ sudo chmod 666 /dev/ttyTHS1

Tutlebot3 を起動
$ roslaunch turtlebot3_bringup turtlebot3_robot.launch --screen

ここで、各トピックがアクティブになれば、OK です。

7. リモートPC から、teleop_key を起動&操作
$ roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

どうぞね!! うまく動いたかね?

これで、自作 Turtlebot3 の完成です。
この後は、 Intel Depth Camera を買って、Jetson Nano 2G に取り付けます。

これでやっと、rtabmap_ros で、Stereo Mapping ができるようになると思うので、
それからが、草刈りロボットの開発のスタートです。

後日、最新のプログラムコードを、Github に更新しようと考えていますが、Github が、2021.8 から、
SSL 対応でないとUpload できなくなったみたいで、どうしたものか!!
tosa-no-onchan/foxbot_core3

後記。
本当は、Gazebo 上で、Intel RGB-D Stereo カメラを付けて、Turtlebot3 でシミュレーション上で、
rtabmap の Stereo mapping が出来ていれば良かったのに、誰か、やり方を公開しないものだろうか?
と、以前の記事で、書きましたが。
今日になって、rtabmap関連の古いお気に入りリンクを見ていたら、とんでもないリンクを見つけました。
注) 出来るようです。YouTube に公開 されていました。
rtabmap_rosTutorialsMappingAndNavigationOnTurtlebot

とほほです。今までの努力は、何だったのか?
しかし、実機では、シュミレーションでは現れない事が出てくるので、最終的には、実機での経験が必要です。

後で、晴れの日に、写真を撮って掲載しよおっと。
以上で、Turtlebot3 の自作 は、これで終わりじゃ。

次からは、実際の草刈りロボットの開発になるぞね。

Streo Camera は、こちらの情報を参考にして、
Intel Realsense D435i を Mouser で購入しようかと思います。

このブログ記事について

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

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

次のブログ記事は「ROS rtabmap_ros 自作 Stereo Camera 」です。

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

カテゴリ

ウェブページ

サイトナビ