事例集
このページはALGYANオリジナルJetbotで試せる事例集です。
ソフトウェアのセットアップを確実に完了しておいてください。
Example 1 - 基本動作
ウェブブラウザ経由でJetbotをコントロールします。
- ウェブブラウザから
http://<自分で設定したホスト名>.local:8888
に接続する - デフォルトのパスワード jetbot でログインする
~/Notebooks/basic_motion/
に移動- basic_motion.ipynb ノートブックを開き、指示に従って操作する > Jetbotが実際に動きます。十分なスペースを確保してください。
Example 2 - 遠隔操作
この項目を試すにはゲームコントローラーが必要です。キットには付属しておりませんので、ここでは原文を示すに留めます。実施したい場合は利用者側でご準備ください。
In this example we'll drive JetBot remotely, view live streaming video, and save snapshots!
-
Connect to your robot by navigating to
http://<jetbot_ip_address>:8888
-
Sign in with the default password
jetbot
- Shutdown all other running notebooks by selecting
Kernel
->Shutdown All Kernels...
- Navigate to
~/Notebooks/teleoperation/
- Open teleoperation.ipynb notebook
Example 3 - 衝突回避
この事例ではJetbotを安全に走らせるために必要なイメージ分類データセットを収集します。Jetbotにfree(障害物なし)
and blocked(障害物あり)
の2つのシナリオを教えます。このAI分類器を使い、Jetbotが危険な領域に侵入するのを防ぎます。
Step 1 - Jetbotでデータを集める
NVIDIAから 訓練済モデル が提供されています。これを使うことでステップ1、2を省略してステップ3に進むことができます。このモデルは広角レンズを装着したRaspberry Pi V2カメラによって収集された限定的なデータセットを用いて学習されています。本キットではRaspberry Pi V2カメラと同じ画角のUSBカメラを使っており、このモデルをそのまま使用することができます。カメラ位置によって認識精度に影響がありますので、いろいろ試してみてください。
- ウェブブラウザから
http://<自分で設定したホスト名>.local:8888
に接続する - デフォルトのパスワード jetbot でログインする
- メニューから Kernel -> Shutdown All Kernels... を選択し、動作中のカーネルを全て終了する
- ~/Notebooks/collision_avoidance/ に移動する
- data_collection.ipynb ノートブックを開き、指示に従って操作する
Step 2 - ニューラルネットワークの学習
選択肢その1 - Jetson nano上での学習
本キットには5V AC電源アダプタは付属していません。必要に応じて利用者側で準備してください。
- Jetbotをシャットダウンし、バッテリーに繋がっている電源ケーブルを取り外す
- 5V AC電源アダプタを接続し、Jetbotを起動する
- ウェブブラウザから
http://<自分で設定したホスト名>.local:8888
に接続する - デフォルトのパスワード jetbot でログインする
- ~/collision_avoidance に移動する
- train_model.ipynb ノートブックを開き、指示に従って操作する
選択肢その2 - 他のGPU付きPC上での学習
- PyTorchがインストールされており、Juputer Labサーバーが動作しているGPU付きPCに接続する
- 衝突回避 学習用ノートブックをこのマシンにアップロードする
- train_model.ipynb ノートブックを開き、指示に従って操作する
Step 3 - JetBot上で実行
- Jetbotをバッテリーに接続し、起動する
- ウェブブラウザから
http://<自分で設定したホスト名>.local:8888
に接続する - デフォルトのパスワード jetbot でログインする
- メニューから Kernel -> Shutdown All Kernels... を選択し、動作中のカーネルを全て終了する
- ~/Notebooks/collision_avoidance に移動する
- live_demo.ipynb ノートブックを開き、指示に従って操作する > Jetbotの周辺に十分な動作スペースを確保し、慎重に作業を進めてください。
Example 4 - 物体追従
この事例では 人 、カップ 、イヌ などを検出することができる学習済モデルを利用し、Jetbotにこれらの物体を追跡させます。これを実行している間、Jetbotは上記の衝突回避を同時に実行し、、自らの安全を保っています。
- ウェブブラウザから
http://<自分で設定したホスト名>.local:8888
に接続する - デフォルトのパスワード jetbot でログインする
- メニューから Kernel -> Shutdown All Kernels... を選択し、動作中のカーネルを全て終了する
- ~/Notebooks/object_following に移動する
- 学習済モデル ssd_mobilenet_v2_coco.engine をこのフォルダにアップロードする > Example 3で利用した衝突回避モデルが ~/Notebooks/collision_avoidance に置かれていることも確認してください
- live_demo.ipynb ノートブックを開き、指示に従って操作する > Jetbotの周辺に十分な動作スペースを確保し、慎重に作業を進めてください。
次に
Jetbotをもっと賢くしましょう。
- 衝突回避用のデータをもっとたくさん集める
- 他のニューラルネットワークアーキテクチャを試してみる ( torchvision に多くの事例があります!)
- 衝突回避を利用して別のタスクを実行する(例えば ネコがいる / ネコがいない を見分け、ネコがいる 場合は 駆け出す など)
まったく新しい何かを造り出しましょう!
- 衝突回避を利用して新しいプロジェクトを立ち上げる
- Jetbotに新しいハードウェアを付け加えることに挑戦してみる(Jetson GPIOやAdafruit Blinka を利用すると簡単です)
- Modify the collision avoidance example for your own project
- Try out some new hardware with Jetson Nano. It's easy with Jetson GPIO and Adafruit Blinka
そしてそれらを共有しましょう。