Sparkfun版JetBotを実際に動かすためにはmicroSDカードにソフトウェアを書き込む必要があります。前回のハードウェア編では、イメージを書き込んだmicroSDを使用しました。このmicroSDの書き込みかたをまとめておきます。
microSDの準備から起動まで
詳細な手順はJetBotのGithubに掲載されています。この手順のStep 4までを行います。
大まかな流れは以下の通りです。
- PCを使ってmicroSDにイメージファイルを書き込みます。今回は32GBのmicroSDカードを使用しました。
- JetBotにmicroSDをセットし、HDMIモニタとキーボード、マウスを取り付けて電源を投入します。
- WiFiの接続設定をし、OLEDにIPアドレスが表示されていることを確認します。
- JetsonNanoをシャットダウンして、HDMIモニタ、キーボード、マウスを取り外します。
- JetsonNanoにモバイルバッテリーを接続して、電源を投入します。
- OLEDにIPアドレスが表示されていることを確認します。
- 他のPCのブラウザから http://jetbotのIPアドレス:8888 にアクセスします。
次のような画面が表示されれば正常に動いています。
この画面は、JetBotのブラウザベースのプログラミングインターフェイス Jupyter Notebookと呼ばれるもので、テキスト、pythonコード、グラフィック表示が統合されたものです。これをつかってPythonのコードを動かします。
Sparkfun版JetBotファイルの組み込み
NVIDIAから公開されているイメージファイルをそのまま使うとJetsonNanoやOLEDの制御はできますが、Sparkfunのモータードライバの制御はできないので、修正版のファイルを組み込む必要があります。
jetbotのgithubに掲載されている手順のStep 5の代わりにこちらの作業を行います。
- SparkfunのAssembly Guide for SparkFun JetBot AI Kit V2.0の4. Software Setup Guide from NVIDIAのRe-Applying the Software Modificationsの「DOWNLOAD MODIFICATION FILES」からjetbot.zipファイルをダウンロードします。
- ダウンロードしたjetbot.zipファイルを、Jupyter Notebookの左側のディレクトリ一覧にD&DしてJetson Nanoにアップロードします。私はホームディレクトリにアップロードしました。
- Jupyter Notebookの左上の+を押すと、ランチャー画面になりますので、ターミナルを選択します。
- ターミナル画面で以下のように操作すればSparkfun JetBot用のファイルが設定されます。
cd mkdir jetbot mv ~/jetbot.zip jetbot/. cd jetbot unzip jetbot.zip sudo python3 setup.py install
基本動作のテスト
Jupyter NotebookでPythonコードを動かすにはコードが書かれている部分をマウスで選択し、Playアイコンを押すだけです。コードの修正もJupyter Notebook上で直接行うことができます。
左側のNotebooksのフォルダをクリックし、フォルダの中にあるbasic_motion.ipynbをクリックすると次のような画面になります。
これが基本動作のNotebookになります。この内容を読みながら、順番通りにPythonコードを実行して動作確認を行います。
例えば以下のコードを実行すると、反時計回りにロボットが0.5秒間動いて止まります。
from jetbot import Robot robot = Robot() import time robot.left(0.3) time.sleep(0.5) robot.stop()
これを実行した結果の動画です。(2回実行しています)
Jupyter Notebookの面白いところは、同じ画面上にスライダーやボタンを配置して、その操作がPythonに連携できるところです。簡単なGUIを同じ画面上に組み込むことができます。
スライダーの例
ボタンの例
このような形でPythonでロボットの動作を確認しながらチュートリアルを進めることでJetBotの知識を身につけることができます。
電源を落とす前に
JetBotの電源を切る前には必ずターミナルから
sudo shutdown now
を入力してシャットダウンするのをお忘れなく。