morioka-lab / Turtlebot_rowma

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

タートルボットで森岡研究室内を巡回するシステム

まずは、セットアップ

ROS

まずは、ロボットを操作するためにROSをインストールする必要があります。

ついでに森岡研究室のロボット を動かせるようにするといいかも。※Githubアカウントの作成とmorioka_labへの参加が必要

Turtlebot

このシステムでは、turtlebot2を用いていますので、これについても対象のROSパッケージをインストールする必要があります。
こちらのサイトを参考にROSパッケージをインストールしてください。
このサイトでは、ROSのセットアップもしていますが、そこはすでに終わっているものとして、4のTurtlebot用のパッケージというところから始めてください。

Rowma

ロボットとのスマホアプリをつなぐシステムとしてRowma(Robot Web Manager)というものを使います。

Rowmaも必要なROSパッケージがあるので、インストールします。

cd ~/catkin_ws/src
git clone https://github.com/rowma/rowma_ros
cd rowma_ros
pip install -r requirements.txt
catkin_make

Zoom SDK

ロボットの映像をスマホアプリに送信する手段としてZoom Video SDKを使用しています。
ロボット側:Web用のSDK
ロボット側のSDKについては、Zoomが公開しているサンプルアプリを使用しています。 インストールはこちら Webpackのファイル(sample-app-videosdk/purejs-demo/webpack.config.dev.js)を少し変更しています。
[Webpack変更後](https://github.com/morioka-lab/Turtlebot_rowma/blob/main/webpack.config.dev.js)
スマホアプリ側:Android用のSDK

更に、Video SDKを使用するために必要なJWTトークンというものを生成しています。JWTトークンはTurtlebot用のPCで生成し、Rowmaを仲介して、スマホアプリに送信しています。
JWTトークン生成&送信プログラム

スマホアプリ

参考程度にスマホアプリのコードを残しておきます。使うだけだったらGooglePlayStoreからインストールで十分かもです。
スマホアプリ

システムの実行

タートルボットのPCで以下のコマンドたちを実行します。

ROSのコマンドたち

Rowma(UUIDを”turtlebot”に設定)※roscoreと別ターミナルで

roscore
UUID=turtlebot rosrun rowma_ros rowma

タートルボットの制御用ROSノード

roslaunch kobuki_node minimal.launch

スマホからの速度指令値 → Turtlebot用速度指令値 変換用ROSノード

rosrun chatter listener_cmd_vel.py

Zoomのコマンドたち

JWTトークン自動生成&スマホアプリへの送信

cd <jwt.jsのあるディレクトリ>
node jwt.js

Zoom Web SDKの実行(警告みたいなものがブラウザに表示されますが、”詳細設定”というところを開くとページを閲覧できます。)

cd sample-app-videosdk/purejs-demo/
npm start

以上!!!!!!!!!!!

あとは、スマホアプリを操作すると、ロボットの前方の映像を見ながら十字キーでタートルボットを遠隔操作したり、タートルボットを充電スタンドへと自動ドッキングすることができます。

About


Languages

Language:JavaScript 100.0%