본문 바로가기
ROS Project🦾

Jetson AGX Xavier에 Docker ROS image 설치하기

by 우직한 사람 2023. 9. 16.
반응형

Jetson Board에서 Docker image는 JetPack Version에 Dependency하다.

 

따라서 Docker 이미지를 pull 할 때는 버전을 꼭 확인해줘야 한다.

+ 아키텍처도 arm64기 때문에 유의 해야한다.

 

따라서 osrf/ros에서 pull 하는게 아닌

dustynv/ros 에서 pull해야한다.

 

1. 아래 도커 허브에 접속한다.

https://hub.docker.com/r/dustynv/ros

 

Docker

 

hub.docker.com

 

2. tag button -> noetic 검색

 

3. 그다음 터미널을 열고 버전을 확인해 보자

$cat /etc/nv_tegra_release

 

여기서 중요한 점은 R 뒤에나오는 숫자, Revision : 뒤에 나오는 숫자 이다.

위에 허브 이미지를 봐도 뒤에 숫자들이 난무한 걸 볼 수 있다. ex) noetic-desktop-l4t-r32.7.1

필자는 r35.4.1 버전을 설치하면 될 것 같다.

 

따라서 검색란에 35.4.1 을 검색해보자

 

4. jetpack에 맞는 버전 검색 

무난하게 noetic-desktop으로 시작하는거 다운받으면 될 것 같다.

 

 

5. 컨테이너 실행 방법

컨테이너 실행 방법은 취향을 많이 타긴 하는데 아래 간단한 예제가 있다.

--rm 옵션을 사용하면 컨테이너가 생성후 종료 시 컨테이너가 사라진다.

옵션 관련해서 따로 검색한 다음 사용자에게 적당한 옵션을 추가하면 된다.

sudo docker run -it --rm --net=host --runtime nvidia -e DISPLAY=$DISPLAY -v /tmp/.X11-unix/:/tmp/.X11-unix <이미지 이름>

 

참고로 내가 자주 쓰는 컨테이너 실행 명령어는 다음과 같다.

docker run -it -d --name <container name> --privileged -e DISPLAY=:0 -v /tmp/.X11-unix:/tmp/.X11-unix -v=/dev:/dev <image name>

 

반응형