【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などをインストールし、動作確認・サンプルプログラムの実行を行いたいと思います。
Author And Source
この問題について(【Jetson Nano Mouser までの道のり】1. セットアップ編), 我々は、より多くの情報をここで見つけました https://zenn.dev/ikemuuu/articles/52427fff7e854a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Collection and Share based on the CC protocol