見出し画像

Jetson Nanoのセットアップの仕方

こんにちは。丑之日プロジェクトのMarkです!!

今日はNvidiaから発売されてるJetson Nanoを購入したので遊んでみたいと思います!たのしみぃ!!!

せっかくなので手順をつけて説明したいと思っています。なるべく分かりやすく説明したいと思いますが分かりにくかったらごめんなさい。

目的

丑之日プロジェクトアメリカチームは今自立飛行ドローンを作っています。最終目標はプロの蹴ったサッカーボールを避けるドローン。

当然カメラでボールを認識するのだが、そこで問題になったのが画像処理能力。最初はRaspberri Piを使って処理する予定だったのだが、瞬時の判断が必要になる今回のプロジェクトでは遅すぎる。

なので思い切ってGPUがついてるJetson Nanoを購入!(米ドル$99 + tax)

画像1

上の写真は現在のドローン。一番上にArduinoがのっており、その下にRaspberry Piがのっている。

0)必要なもの

・Jetson Nano
・micro SDカード(最低16GB 推薦32GB)
・USBキーボードとマウス
・Micro USBパワーサプライ(5V⎓2A)

1)OSをインストール

Jetson Nanoが届いたらまずすることはOSをインストール。
SDカードと自分のMacをつなぎNvidiaのホームページの手順見ながら進めていくのだが英語なので日本語で説明したいと思う。僕はMacを使っているのでMacでのやり方を説明していきたいと思いますが、Windowsをお使いの人はNvidiaの公式の手順にしたがってください。

Jetson NanoのSDカードイメージをダウンロードする

1)ココからJetson Nano Developer Kit SD Card Imageをダウンロードする。(約5GBあるので少し時間がかかります)
2)ファイルは解凍しないでください。

Etcherのやり方

1)SDカードはまだ入れないでください。
2)ココからbalenaEtcherというソフトをダウンロードする。

画像11

3)ダウンロードできたらbalenaEtcherを開く。

画像13

4)"Select image"をクリックし、先ほどダウンロードしたZippedファイルを読み込む。
5)SDカードを差し込み、そのSDカードを選ぶ。
6)"Flash!"をクリックしたらパスワードを入れるように言われるのでいれて開始。

画像13

7)右に進み具合が%が表示される。約10分少々で完了する。

画像14

ネット環境にもよると思うが、OSをインストールするだけで45分少々かかった。この方法がうまくいかない場合はNvidiaのホームページでCommand Lineでのやり方があるのでそちらを参考にしてもらいたい。

2)Jetson Nanoの電源を入れる

画像3

先ほどインストールしたSDカードを写真のようにJetson Nanoに挿入してマウス、キーボード、ディスプレイをつなげて電源オン!!

画像14

しばらくするとこのような画面がつき、

ライセンスのアグリーメント→言語の設定→キーボードの設定→地域(時差)の設定→名前、パスワードの設定→パーティションの設定(僕の使っている16GBの場合は30422に設定)

と続くのでパパッっとやっちゃいます。すると…

画像5

Nvidiaのロゴ!!!

そしてしばらく待つと…

画像6

うおおお!!!かっこいい!!!なんかめっちゃハイスペックそう!笑

とりあえず、動くことは確認できたので一安心。けどLinux OSを使ったことがないので少し戸惑う…なにがどこにあるのか全くわからない。

とりあえずネットにつなげようと思ったが、Jetson NanoはWi-Fiモジュールがついていないので有線で繋がなければいけない。

画像7

大学のテーブルに土足でのって勝手に学校のWi-Fi機器からイーサーネットケーブルを抜き、Jetson Nanoに差し替える悪い子Mark。

画像15

右の白いのケーブルがイーサーネットケーブルです。

3)GPUを試してみる

Jetson Nanoの電源が入ったはいいけど、今のところRaspberry Piとなにも変わらない。そこで実際にGPUが入ってるJetson Nanoでしかできないソフトウェアを動かしてみたいと思う。その前にインストール済みのパッケージの更新をしよう。

パッケージの更新

ここからTerminalを使います。$マークから先をタイプしてください。

Jetson Nano上でTerminalを開いたら

mark@mark-desktop:~$ sudo apt-get update

でパッケージの更新を行い、

mark@mark-desktop:~$ sudo apt-get upgrade

でパッケージをアップグレードする。始めて更新をやる時は結構時間かかる。

oceanFFT

Jetson Nanoに元々入っているoceanFFTと言うシミュレーターを使ってみようと思う。

画像16

Terminalを開いたら

mark@mark-desktop:~$ cd /usr/local/cuda/bin

でシミュレーターがあるcudaのbinがあるディレクトリまで移動する。
そしたら

mark@mark-desktop:/usr/local/cuda/bin$ ./cuda-install-samples-10.0.sh ~

というコマンドでホームディレクトリにsamplesをコピーする。

mark@mark-desktop:/usr/local/cuda/bin$ cd ~
mark@mark-desktop:~$ ls
Desktop    Downloads         Music                     Pictures  Templates
Documents  examples.desktop  NVIDIA_CUDA-10.0_Samples  Public    Videos

でホームディレクトリまで戻り、そこのリストをみるとNVIDIA_CUDA_10.0_Samplesがコピーされているのが確認できる。そしたら以下のコマンドで

mark@mark-desktop:~$ cd NVIDIA_CUDA-10.0_Samples/

ディレクトリまで移動し、

mark@mark-desktop:~/NVIDIA_CUDA-10.0_Samples$ make -j4

でsampleをビルドする。この作業は約20分ほどかかるので丑之日プロジェクトの動画でも見ててくださいね!!!

ビルドが終わったら、

mark@mark-desktop:~/NVIDIA_CUDA-10.0_Samples$ cd bin
mark@mark-desktop:~/NVIDIA_CUDA-10.0_Samples/bin$ cd aarch64/linux/release

でディレクトリに移動し、

mark@mark-desktop:~/NVIDIA_CUDA-10.0_Samples/bin/aarch64/linux/release$ ./oceanFFT

oceanFFTを起動!!! すると…

画像17

おお!!すごい!!

画像では分かりませんが、ウネウネ波打つ青い液体がみれます!ほかにも沢山あるので遊んでみよう!

Smoke Particle

これは謎の煙の塊が宙をさまようと言うもの。

一度escでoceanFFTを閉じてTermialで

mark@mark-desktop:~/NVIDIA_CUDA-10.0_Samples/bin/aarch64/linux/release$ ./smokeParticles

うつと…

画像17

すげぇぇ!!

煙がゆっくりと動きながらフェードアウトしていきます…!これは oceanFFTよりも面白い!
画面上で右クリックをすると設定が表示されます。ここで色々と変えて遊びました!

画像18

画像19

これまた画像だとわからないのですが、カクつくこともなくめちゃくちゃスムーズです。これもGPUのおかげなのかな?私はパソコンには詳しくないのであまり深くは話せませんがRaspberry Piよりはパワフルさを感じます。

4)Raspberry Piカメラを使ってみる

さて、Jetson Nanoで遊び始めてから5時間経過しました。そろそろ帰らなければいけないのですが、もう一つ確認しなければいけないことがあります。Raspberry Piカメラを使ってみること。早速カメラとJetson Nanoを繋いでみる。

画像9

どうやら僕が買ったJetson Nanoは新型のようでカメラを接続するポートが2つあり、そのうちの1つ(CAM0)に向きを間違えないように注意して繋ぎました。

そしてこの長〜いコマンドを打つと…

mark@mark-desktop:~$ gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM),width=3820, height=2464, framerate=21/1, format=NV12' ! nvvidconv flip-method=0 ! 'video/x-raw,width=960, height=616' ! nvvidconv ! nvegltransform ! nveglglessink -e

画像10

Markの顔が映りました!!映像も綺麗だし何も問題なく表示できています!カメラも問題なく動きました!

まとめ

Jetson Nanoすごい!これはもうパーソナル用のパソコンで使えるのでは?と思ったほどサクサクでした。ただ一つ気になったのがWi-Fiが使えないことくらいです。でも簡潔に言えばJetson NanoはRaspberry Piの上位互換。次回は実際にOpenCVを使って画像認識ができるかどうかやってみて出来たら、実際にドローンにつんで動かしてみたいと思います!

さいごに

好きなことしているとあっという間に時間がたってしまう。今日の実験をしてて思ったのが、楽しかった!基板が届いた時のワクワク感、スイッチが入ったときの嬉しさ、プログラムが動いた時の達成感、これらには勝てるものはないでしょう。その気持ちを忘れずにこれからも丑之日プロジェクトをやっていきたいと思っています。

では今回はこの辺りで失礼します。ありがとうございました!YouTubeもやっているので宜しくお願いします!!





この記事が気に入ったらサポートをしてみませんか?