Jetson nanoを用いた工作 ~購入からセットアップまで~

 

#stay home #jetson_nano #IoT

GWが終盤に差し掛かりましたが、今日はGWに入ってから購入したJetson nanoについて解説します。

リアルタイムで作業をした時のTweet

以下、購入してからの私のTweetです。

 購入リスト

今回は私は以前改造したルンバのメインPCをjetson nanoに換装してDeep Learningをしてみたいなと思い購入に至りました。

一部異なるものもありますが、購入したものは主に以下の通りです。

NVIDIA Jetson Nano 開発者キット B01

NVIDIA Jetson Nano 開発者キット B01

  • メディア: Personal Computers
 

 Jetson nano本体です。旧バージョンであるA02とB01の2種類がありますが大きな違いとしてはカメラを2つ付けられるかどうかというところです。 

私のようにロボットに使いたい場合は新しいB01を購入する方がいいかと思います。

 raspberryPiで使用できるカメラです。V2からしか使用できないようなので注意が必要ですが、私は以前購入していたものがあったのでこれを用いることにしました。Jetson用のカメラもあるようなのでそちらを購入するのもいいかもしれませんが、性能はたいして差がないように感じたので安いしこれでいいかもしれません。

また、リファレンスはこちらの方が多めかも… 

 Jetson nano用のケースになります。Jetson nanoを購入するときの注意点としては、raspiとは異なり、電源用のスイッチが必要であるということです。そのため、こちらの商品に搭載されている電源はかなり有用です。また、リセットボタンやwifiアンテナの拡張用ポートなどもいているので使い勝手がいいかと思います。注意点としては、SDカードを取り出すのにいちいちばらす必要があるので、SDカードを頻繁に変える人には向かないかもしれないです。 

タイムリー USBファン [ 40mm角ファンモデル ]  LittleFAN40U

タイムリー USBファン [ 40mm角ファンモデル ] LittleFAN40U

  • 発売日: 2015/06/03
  • メディア: Personal Computers
 

こちらはファンです。Jetson nanoはraspiと同様にヒートシンクでの排熱しかしないためかなり熱が出ます。特にDeep Learningをする場合は熱でパフォーマンスが落ちるか王政があるので必ずファンをつけることをお勧めします。

こちらの商品はUSB版ですが、以下のようにピンで接続できるものもあるのでUSBポートをあけておきたい人、ほかのUSB機器を用いる可能性のある人はピン版の方がいいかもしれないです。

 

2ピン版

ANVISION 40 x 40 x 10mm 4010 デュアルボールベアリング DC 12V ブラシレス冷却ファン UL CE YDM4010B12

4ピン版

オウルテック 安心の2年間交換保証 PCケース用山洋電気製静音ファン 4cm 10mm厚 5000rpm SF4-S5

上記の2ピン版と4ピン版の違いはPWMで回転速度を制御できるかどうかというところです。回転数を制御することで消費電力を抑えたり、回転による騒音を削減したりできます。私は2ピン版を購入しているのですが、正直あまりうるさいとは思わないので音に神経質な方でなければ2ピンで問題ないかと思います。 

 microSDカードです。jetson nanoのOSにjetpackを用いる場合、imgファイルだけで15GB程度あるので最低でも32GBのSDカードは必要です。Deep Learningをする場合は学習データなどかなりの容量が必要となるので私は128GBにしました。(これでも足りない気もしますが…)

 電源供給用のACアダプタです。microUSB給電でも動作しますが、最低2Aは用意したほうがいいです。CPUの負荷が多いbuild作業やGPU, メモリの使用量が大きいDeep Learningをする場合は4AのACアダプタを使用することをお勧めします。

 Jetson nanoのセットアップ

OSの準備

 まずは以下のようにリンクからJetpackをダウンロードします。

https://developer.nvidia.com/embedded/jetpack

f:id:bamboomush:20200506151021p:plain

jetpack install

容量が大きいのでダウンロードに少し時間がかかります。

次に、SDカードを挿入して、フォーマット、イメージファイルの書き込みをしていきます。

SDカードを挿入したら、新しいもの、古いもの関わらずフォーマットをします。そのため、事前に入っていたデータはすべて消えるので注意してください。

 

私はフォーマットには以下のソフトウェアを使用しました。

https://www.sdcard.org/jp/downloads/formatter/

f:id:bamboomush:20200506151038p:plain

SD card formatter

次にSDカードにダウンロードしたイメージファイルを書き込みます。

私は、balena Etcherを使用しました。これを使用した理由としては、zipファイルのまま書き込みができるからです。

f:id:bamboomush:20200506151027p:plain

f:id:bamboomush:20200506151013p:plain

balena Etcher

ここまででSDカードへのイメージの書き込みは終了したのでSDカードを抜いてJetson nano本体に挿入します。

 

ハードウェアの構築

 私の作業環境です。汚いのはご愛嬌ということで…

f:id:bamboomush:20200506142144j:plain

Jetson nano開封

基本的には取説に書いてあるように配線し、取り付けていきます。

注意点としては、SDカードを入れる場所がわかりにくい+挿入しにくいので先に挿入しておくことをお勧めします。

f:id:bamboomush:20200506142246j:plain

注意点


Jetson nano起動

 組み立てが終了すると以下のようになります。

f:id:bamboomush:20200506141947j:plain

完成図

これを起動していきます。

f:id:bamboomush:20200506141959j:plain

デスクトップ画面

起動し、言語やタイムゾーンなどの設定を完了すると上図のようになります。 

ここまでできれば通常のUbuntu18.04として使用できます。

ちなみにUbuntuは現在20.04までバージョンが出ていますが、jetpackでは20.04のサポートは出ていないようです。

システムの詳細は以下のようになってます。

f:id:bamboomush:20200506142013j:plain

f:id:bamboomush:20200506142029j:plain

system configuration

 

ここでは最初に32GBのSDカードで環境を作っていたのでDisk30.3GBと表示されていますが今は128GBにしてあります。

 

ここまででセットアップは終了ですが、現在できている部分の一部を公開しますと、Deep Learningを用いて、以下のような推論を実現できています。

f:id:bamboomush:20200506160859p:plain

椅子やベッドなど少ししか見えてないのに推論できています。

fpsもかなり出ているように感じるのでとても使えるのではないかと思っています。

次回はもう少し実装編を書きたいと思います。

 

ちなみに参考図書は以下のものです。

karaageさんはブログもかなり高いクオリティでとても参考になります。

ぜひ見てみてください。

 

 

にほんブログ村 ライフスタイルブログ クリエイティブライフへ
にほんブログ村

にほんブログ村 IT技術ブログへ
にほんブログ村 にほんブログ村 IT技術ブログ IT技術メモへ
にほんブログ村