Closed1

Jetson nano 2GB で ROS melodic セットアップ

TatsukiTatsuki

開発環境

  • Jetson Nano 2GB
  • 32GB SDカード
  • Jetpack 4.6.1(L4T 32.7.1)
  • Docker
  • ROS melodic

Jetson nano 2GB セットアップ

以下手順は PC で行う(Macbook Air を使用)。Jetson Nano のセットアップはヘッドレスモード(ディスプレイやキーボードを必要としない)で行う。

参考:Getting Started with Jetson Nano 2GB Developer Kit/Initial Setup in Headless Mode

  1. Jetpack Archive から JetPack 4.6.1 を選択し、JETSON NANO DEVELOPR KITS を選択して、プルダウンを開くと Jetson Nano 2GB 用のSD Card Image があるのでダウンロード
  2. ダウンロードを終えたら、balenaEtcher などで SD カードに先ほどダウンロードした Image を書き込む
  3. 書き込む終えた SD Card を Jetson Nano に差し込む
  4. Jetson Nano の Micro-USB type-B のポートと PC側の USB ポートをケーブルで繋ぐ
  5. Jetson Nano の Micro-USB type-C に 5V3A のアダプタを繋ぐ(電源がつく)
  6. PC 側で以下コマンドを実行し、Jetson Nano のシリアルデバイスが表示されるか確認する
~$ ls /dev/cu.usbmodem*
/dev/cu.usbmodem14133200001053
  1. 以下 screen コマンドを実行すると Jetson Nano の初期設定が始まる(/dev/cu.usbmodem14133200001053 の部分は手順6で確認した時のもの)
sudo screen /dev/cu.usbmodem14133200001053 115200
  1. 初期設定の途中でユーザ名やパスワード、インターネット設定などがあるので諸々設定する

Docker で ROS melodic 環境を構築

Jetpack でセットアップを行うと Docker 環境が既に使えるようになっている。ROS については Docker を用いて構築する。dusty-nv/jetson-containers のリポジトリの README の参考にする。

  1. Docker ビルド中の CUDA コンパイラにアクセスできるように /etc/docker/daemon.json"default-runtime: "nvidia" を追加する
{
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    },

    "default-runtime": "nvidia"
}
  1. Jetson からコンテナを再ビルドするため、リポジトリをクローンする
$ git clone https://github.com/dusty-nv/jetson-containers
$ cd jetson-containers
  1. ROS melodicのコンテナをビルドする
$ ./scripts/docker_build_ros.sh --distro melodic
  1. ROS melodic のコンテナを起動する。
$ sudo docker run \
  --network host \    コンテナーを host というネットワークに接続
  --runtime nvidia \  コンテナー向けに利用するランタイム
  --rm \                      終了時のコンテナーの削除
  -it ros:melodic-ros-base-l4t-r32.7.1
  1. コンテナ起動後、roscore が起動できるか確認
$ roscore
  1. 別ターミナルを開き、 SSH で Jetson Nano に入る
  2. Jetson Nano の中で以下コマンドで起動したコンテナの中に入る
$ docker container exec -it コンテナ名 bash
  1. 以下コマンドなどで反応あるかチェックしても良いかも
$rosnode list
このスクラップは2022/09/24にクローズされました