5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Jetson Xavier NXでJetRacerを構築

Last updated at Posted at 2021-10-06

IMG_2882.jpg

Jetson Xavier NXの上で、DockerベースでJetracerを構築する方法のまとめ。

JetPack

JetPack4.6はTensorRT 8系になるので、TensorRT 7系のJetPack 4.5.1を使用する

Docker

DLI用のDockerがいろいろなパッケージがインストール済みなので、これをベースにする。

sudo docker run  \
-it \
--rm \
--runtime nvidia \
--network host \
--volume ~/data:/nvdli-nano/data \
--volume /tmp/argus_socket:/tmp/argus_socket \
--volume ~/jetracer:/nvdli-nano/jetracer \
--device /dev/video0 \
--privileged \
nvcr.io/nvidia/dli/dli-nano-ai:v2.0.1-r32.5.0

Dockerの起動確認

Jetson Xavier NXのhttp://IPアドレス:8888で、JupyterLabが起動している事を確認する。

Password
dlinano

/hello_camera/csi_camera.ipynb を実行し、カメラ画像が表示される事を確認

camera.jpg

I2Cの確認

sudo i2cdetect -y -r 8

IMG_2878.jpg

     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- 08 -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- -- 
40: 40 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: 70 -- -- -- -- -- -- --         

JetRacerのインストール

JupyterLabのTerminalを立ち上げて、JetRacerのインストール

cd /nvdli-nano/jetracer
git clone https://github.com/NVIDIA-AI-IOT/jetracer
cd jetracer
python3 setup.py install

Xavier NXのI2C Busnumは8を使う(Nanoは0)ので、Adafruit_Blinkaを最新版にUpdateでする。最新版はXavier NXのボードが識別できるようにUpdateが入っている。

cd /nvdli-nano/jetracer
git clone https://github.com/adafruit/Adafruit_Blinka
cd Adafruit_Blinka
python3 setup.py install

Torch2TRTのインストール

Jupyterのターミナルから下記コマンドでインストール

cd /nvdli-nano/jetracer/
git clone https://github.com/NVIDIA-AI-IOT/torch2trt
cd torch2trt
python3 setup.py install --plugins

Dockerを保存

この処理は、Dockerの中でおこなうのではなく、Dockerを起動した階層でおこなう。もう1つTerminalを起動し、起動したDockerのイメージをcommitする。

sudo docker ps
CONTAINER ID        IMAGE                                           COMMAND                  CREATED             STATUS              PORTS               NAMES
108cc5ed8a2e        nvcr.io/nvidia/dli/dli-nano-ai:v2.0.1-r32.5.0   "/bin/sh -c '/bin/ba…"   7 minutes ago       Up 3 minutes  

CONTAINER IDを指定してDockerをcommit。上記の場合は、CONTAINER IDは、108cc5ed8a2e。ユニークであれば省略可能なので、前から3桁の108を使用。

sudo docker commit 108 jetracer

起動中のDockerを停止する

sudo docker stop 108

Dockerを再起動時に自動起動する設定(--restart always)で起動

sudo systemctl enable  docker.service
sudo docker run  \
-it \
--restart always \
--runtime nvidia \
--network host \
--volume ~/data:/nvdli-nano/data \
--volume /tmp/argus_socket:/tmp/argus_socket \
--volume ~/jetracer:/nvdli-nano/jetracer \
--device /dev/video0 \
--privileged \
jetracer

カメラの初期化

camera.running = False
camera.cap.release()
5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?