Closed1
Jetson nano 2GB で ROS melodic セットアップ
開発環境
- 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
- Jetpack Archive から JetPack 4.6.1 を選択し、JETSON NANO DEVELOPR KITS を選択して、プルダウンを開くと Jetson Nano 2GB 用のSD Card Image があるのでダウンロード
- ダウンロードを終えたら、balenaEtcher などで SD カードに先ほどダウンロードした Image を書き込む
- 書き込む終えた SD Card を Jetson Nano に差し込む
- Jetson Nano の Micro-USB type-B のポートと PC側の USB ポートをケーブルで繋ぐ
- Jetson Nano の Micro-USB type-C に 5V3A のアダプタを繋ぐ(電源がつく)
- PC 側で以下コマンドを実行し、Jetson Nano のシリアルデバイスが表示されるか確認する
~$ ls /dev/cu.usbmodem*
/dev/cu.usbmodem14133200001053
- 以下 screen コマンドを実行すると Jetson Nano の初期設定が始まる(
/dev/cu.usbmodem14133200001053
の部分は手順6で確認した時のもの)
sudo screen /dev/cu.usbmodem14133200001053 115200
- 初期設定の途中でユーザ名やパスワード、インターネット設定などがあるので諸々設定する
Docker で ROS melodic 環境を構築
Jetpack でセットアップを行うと Docker 環境が既に使えるようになっている。ROS については Docker を用いて構築する。dusty-nv/jetson-containers のリポジトリの README の参考にする。
- Docker ビルド中の CUDA コンパイラにアクセスできるように
/etc/docker/daemon.json
に"default-runtime: "nvidia"
を追加する
{
"runtimes": {
"nvidia": {
"path": "nvidia-container-runtime",
"runtimeArgs": []
}
},
"default-runtime": "nvidia"
}
- Jetson からコンテナを再ビルドするため、リポジトリをクローンする
$ git clone https://github.com/dusty-nv/jetson-containers
$ cd jetson-containers
- ROS melodicのコンテナをビルドする
$ ./scripts/docker_build_ros.sh --distro melodic
- ROS melodic のコンテナを起動する。
$ sudo docker run \
--network host \ コンテナーを host というネットワークに接続
--runtime nvidia \ コンテナー向けに利用するランタイム
--rm \ 終了時のコンテナーの削除
-it ros:melodic-ros-base-l4t-r32.7.1
- コンテナ起動後、roscore が起動できるか確認
$ roscore
- 別ターミナルを開き、 SSH で Jetson Nano に入る
- Jetson Nano の中で以下コマンドで起動したコンテナの中に入る
$ docker container exec -it コンテナ名 bash
- 以下コマンドなどで反応あるかチェックしても良いかも
$rosnode list
このスクラップは2022/09/24にクローズされました