🤖

【Jetson Nano Mouser までの道のり】1. セットアップ編

2022/04/26に公開

はじめに

はじめまして、ikemuuuと申します。

大手電機メーカーで、自律移動ロボットの研究開発を行っています。

ありがたいことに、普段、業務時間中死ぬほどロボットをやらせていただいているので、
業務時間外ではそれ以外の勉強(web系やクラウド関連)をやっていたのですが、
「お家でもやっぱりロボット動かしたいな!」
と思い、株式会社アールティさんの「Jetson Nano Mouse」を購入しました。

https://rt-net.jp/products/jetson-nano-mouse/


ハード、というよりは、自律移動一般のアルゴリズム・ソフト関連をごちゃごちゃいじりたかった、というのが「Jetson Nano Mouse」を選んだ大きな理由です。


一人で黙々と動かすのも楽しいと思うのですが、

  • アウトプットしたい
  • 文章書きたい
  • 購入を検討されている方の参考になれれば嬉しい

という思いで、こちらに色々と書いていきたいと思います。


(「Jetson Nano 開発者キット B01」と「ロボット用充電器セット」は別売りです。ご注意ください。)
https://www.switch-science.com/catalog/6239/
https://www.rt-shop.jp/index.php?main_page=product_info&products_id=3864


本体組立

内容物

  1. Jetson Nano Mouse 本体
  2. フラットケーブル
    • カメラと Jetson Nano を接続するために使用
  3. 接続コネクタ基板
    • Jetson Nano Mouse と Jetson Nano を接続するために使用
  4. リチウム電池
    • 本体 + Jetson Nano 駆動用
  5. ネジ
    • Jetson Nano を Jetson Nano Mouse に固定するために使用


組み立ててみた

完成するとこんな感じ。


基本的に↓のマニュアルの通り進めるだけです。
(Jetson Nano を Jetson Nano Mouse に固定するネジを回すためのプラスドライバーが必要になりますので、ご注意ください。)
https://rt-net.jp/wp-content/uploads/2020/09/Jetson-Nano-Mouse-Manual-v2.2.pdf


所要時間は写真撮りながらでも、約20分でした。


microSDカードへのOSイメージ書き込み

microSDカードは以下を使用しています。
https://amzn.to/3xIrzoS


microSDカードの要求仕様としては以下です。

  • 容量:64GB以上
  • 転送速度:UHS-1以上


初めて使用するmicroSDカードはフォーマットを忘れずに行いましょう。
microSDカードのフォーマットは以下が参考になります。
https://qiita.com/karaage0703/items/0583528f1f9c34911a31#sdカードの書き込み方法


OSイメージ(JetPack4.5)の書き込みは↓のマニュアル通りです。
https://rt-net.github.io/tutorials/jnmouse/driver/install.html#:~:text=しています。-,イメージファイルのダウンロードと書き込み,-イメージファイルを


個人的には、microSDカードのフォーマットから、OSイメージの書き込みはWindowsでやった方が簡単です。
(microSDカードのフォーマット、がLinuxだと慣れていないとしんどいと思われる+上で引用したフォーマットソフトがLinuxには対応していないため)


起動

リチウム電池を接続し、電源を入れると起動します。


ピーピーという音は電圧異常

バッテリーが少なくなってきているので、充電しましょう。
セットアップ時など Jetson Nano Mouse を移動させないときは、ACアダプタで電力を供給する方が良いと思います。


初期設定

初期設定時にあった方が良いもの

  • HDMI接続可能なモニター
  • USBキーボード
  • USBマウス
  • 無線LANアダプタ


モニター・キーボード・マウスは割と何でも良いと思いますが、
無線LANアダプタはTP-Link社の TL-WN725N をオススメします。
https://amzn.to/3OvUnY3

これだと接続してネットワークを選択するだけなので簡単です。
(他の無線LANアダプタだと、ドライバのインストールなどが必要でつまづく可能性があります。)


sshやVNCなど、別のPC(≠Jetson Nano)から Jetson Nano にアクセスして、初期設定を行う方法もありますが、ソフトのインストールや設定などが必要になってくるので、なるべく上記は揃えて、Jetson Nano を直接操作するようにしましょう。


ネットワーク設定・ブートローダ更新・SPI通信の有効化・デバイスドライバの更新

基本的にはマニュアル通りで問題ありません。
https://rt-net.github.io/tutorials/jnmouse/driver/install.html#:~:text=ONにします。-,初期設定,-Jetson Nano Mouse


ただ、一点。
SPI通信の有効化を行うために以下コマンドを実行した際に、Jetson-IOが起動しない事態に。
$ sudo /opt/nvidia/jetson-io/jetson-io.py

再起動後、再度実行したら問題なく起動しました。


ssh接続

初期設定は Jetson Nano の直接操作をオススメしますが、
ssh接続も今後必ず必要になってきますので、設定しておきましょう。

とはいえ、Ubuntu 同士であれば非常に簡単です。

  1. Jetson Nano のIPアドレスを確認

    1. 画面右上の「設定」(歯車アイコン)を選択
    2. 「System Settings...」を選択
    3. 「Network」を選択
    4. 接続されているネットワークの「>」を選択
    5. IPアドレスが表示される
  2. 以下コマンドを開発用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 をインストール

下記にアクセスして、インストールするだけです。
https://www.realvnc.com/en/connect/download/viewer/linux/

VNC接続

VNC Connectを起動して、Jetson Nano のIPアドレスを入力すれば、接続完了です。
上手くいけば、Jetson Nano 側のディスプレイが表示されます。


さいごに

今回は Jetson Nano Mouse のセットアップ編をお届けしました。
次回は、ROSなどをインストールし、動作確認・サンプルプログラムの実行を行いたいと思います。

Discussion