【Jetson Nano Mouser までの道のり】1. セットアップ編
はじめに
はじめまして、ikemuuuと申します。
大手電機メーカーで、自律移動ロボットの研究開発を行っています。
ありがたいことに、普段、業務時間中死ぬほどロボットをやらせていただいているので、
業務時間外ではそれ以外の勉強(web系やクラウド関連)をやっていたのですが、
「お家でもやっぱりロボット動かしたいな!」
と思い、株式会社アールティさんの「Jetson Nano Mouse」を購入しました。
ハード、というよりは、自律移動一般のアルゴリズム・ソフト関連をごちゃごちゃいじりたかった、というのが「Jetson Nano Mouse」を選んだ大きな理由です。
一人で黙々と動かすのも楽しいと思うのですが、
- アウトプットしたい
- 文章書きたい
- 購入を検討されている方の参考になれれば嬉しい
という思いで、こちらに色々と書いていきたいと思います。
(「Jetson Nano 開発者キット B01」と「ロボット用充電器セット」は別売りです。ご注意ください。)
本体組立
内容物
- Jetson Nano Mouse 本体
- フラットケーブル
- カメラと Jetson Nano を接続するために使用
- 接続コネクタ基板
- Jetson Nano Mouse と Jetson Nano を接続するために使用
- リチウム電池
- 本体 + Jetson Nano 駆動用
- ネジ
- Jetson Nano を Jetson Nano Mouse に固定するために使用
- Jetson Nano を Jetson Nano Mouse に固定するために使用
組み立ててみた
完成するとこんな感じ。
基本的に↓のマニュアルの通り進めるだけです。
(Jetson Nano を Jetson Nano Mouse に固定するネジを回すためのプラスドライバーが必要になりますので、ご注意ください。)
所要時間は写真撮りながらでも、約20分でした。
microSDカードへのOSイメージ書き込み
microSDカードは以下を使用しています。
microSDカードの要求仕様としては以下です。
- 容量:64GB以上
- 転送速度:UHS-1以上
初めて使用するmicroSDカードはフォーマットを忘れずに行いましょう。
microSDカードのフォーマットは以下が参考になります。
OSイメージ(JetPack4.5)の書き込みは↓のマニュアル通りです。
個人的には、microSDカードのフォーマットから、OSイメージの書き込みはWindowsでやった方が簡単です。
(microSDカードのフォーマット、がLinuxだと慣れていないとしんどいと思われる+上で引用したフォーマットソフトがLinuxには対応していないため)
起動
リチウム電池を接続し、電源を入れると起動します。
ピーピーという音は電圧異常
バッテリーが少なくなってきているので、充電しましょう。
セットアップ時など Jetson Nano Mouse を移動させないときは、ACアダプタで電力を供給する方が良いと思います。
初期設定
初期設定時にあった方が良いもの
- HDMI接続可能なモニター
- USBキーボード
- USBマウス
- 無線LANアダプタ
モニター・キーボード・マウスは割と何でも良いと思いますが、
無線LANアダプタはTP-Link社の TL-WN725N をオススメします。
これだと接続してネットワークを選択するだけなので簡単です。
(他の無線LANアダプタだと、ドライバのインストールなどが必要でつまづく可能性があります。)
sshやVNCなど、別のPC(≠Jetson Nano)から Jetson Nano にアクセスして、初期設定を行う方法もありますが、ソフトのインストールや設定などが必要になってくるので、なるべく上記は揃えて、Jetson Nano を直接操作するようにしましょう。
ネットワーク設定・ブートローダ更新・SPI通信の有効化・デバイスドライバの更新
基本的にはマニュアル通りで問題ありません。
ただ、一点。
SPI通信の有効化を行うために以下コマンドを実行した際に、Jetson-IOが起動しない事態に。
$ sudo /opt/nvidia/jetson-io/jetson-io.py
再起動後、再度実行したら問題なく起動しました。
ssh接続
初期設定は Jetson Nano の直接操作をオススメしますが、
ssh接続も今後必ず必要になってきますので、設定しておきましょう。
とはいえ、Ubuntu 同士であれば非常に簡単です。
-
Jetson Nano のIPアドレスを確認
- 画面右上の「設定」(歯車アイコン)を選択
- 「System Settings...」を選択
- 「Network」を選択
- 接続されているネットワークの「>」を選択
- IPアドレスが表示される
-
以下コマンドを開発用PC(≠ Jetson Nano)で実行し、ssh接続
$ ssh jetson@< Jetson Nano のIPアドレス >
ssh接続でエラー
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
と表示され、ssh接続が弾かれる場合があります。
そんなときは、以下のコマンドを実行。
$ ssh-keygen -R < Jetson Nano のIPアドレス >
再度、ssh接続を試みると繋がるはずです。
VNCのインストール
rvizなど、GUIで設定&確認したいときも出てくるはずですので、設定しておきましょう。
Jetson Nano 側の設定
VNC serverをインストール
$ sudo apt install tigervnc-common tigervnc-standalone-server tigervnc-scraping-server
接続用のパスワードを設定
$ vncpasswd
ディスプレイの画面サイズを変更
Jetson Nano がディスプレイにHDMI接続されていない状態で、VNC接続すると解像度が低く、画面サイズが小さくなってしまいます。
そのため、画面サイズはあらかじめ設定しておきましょう。
以下のコマンドで設定ファイル(/etc/X11/xorg.conf
)を表示します。
$ sudo nano /etc/X11/xorg.conf
以下のように編集しましょう。
(Section "Monitor"
以下を追加することになるはずです。)
# Copyright (c) 2017, NVIDIA CORPORATION. All Rights Reserved.
#
# This is the minimal configuration necessary to use the Tegra driver.
# Please refer to the xorg.conf man page for more configuration
# options provided by the X server, including display-related options
# provided by RandR 1.2 and higher.
# Disable extensions not useful on Tegra.
Section "Module"
Disable "dri"
SubSection "extmod"
Option "omit xfree86-dga"
EndSubSection
EndSection
Section "Device"
Identifier "Tegra0"
Driver "nvidia"
Option "AllowEmptyInitialConfiguration" "true"
EndSection
Section "Monitor"
Identifier "DSI-0"
Option "Ignore"
EndSection
Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Default Device"
SubSection "Display"
Depth 24
Virtual 1280 800
EndSubSection
EndSection
VNC serverを起動
$ x0vncserver -display :0 -passwordfile ~/.vnc/passwd
開発用PC側の設定
VNC Connect をインストール
下記にアクセスして、インストールするだけです。
VNC接続
VNC Connectを起動して、Jetson Nano のIPアドレスを入力すれば、接続完了です。
上手くいけば、Jetson Nano 側のディスプレイが表示されます。
さいごに
今回は Jetson Nano Mouse のセットアップ編をお届けしました。
次回は、ROSなどをインストールし、動作確認・サンプルプログラムの実行を行いたいと思います。
Discussion