본문 바로가기
ROS Project🦾

ARM64에서 Docker 위에 ROS2 설치하기 [1]

by 우직한 사람 2023. 6. 26.
반응형

Docker Install

1. apt에 Docker 저장소를 추가 (마지막 줄에서 amd64가 아닌 arm64)

sudo apt-get update

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

echo \
"deb [arch=arm64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

 

Docker 엔진 설치

sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io

(선택) sudo 없이 docker 명령어 실행하기

 sudo usermod -aG docker $USER

Result

sudo docker run hello-world

ROS2 Image Install

링크에서 ROS 버전 선택 가능

 

Tags 버튼 클릭

humble image pull 하기

docker pull arm64v8/ros:humble

Image 설치 결과 확인

Container 생성하기

#방법 1
sudo docker run --name <컨테이너 이름> -dit arm64v8/ros:humble

#방법 2
docker run -it -d --rm -e DISPLAY=:0 -v /tmp/.X11-unix:/tmp/.X11-unix <이미지 이름>

#방법 3
docker run -it --name <name> --gpus all -d --privileged -e DISPLAY=:0 -v /tmp/.X11-unix:/tmp/.X11-unix -v=/dev:/dev <image name>

Conatainer 생성 확인

docker ps 명령어 입력시 컨테이너가 보이지 않을 때
이전에 생성한 모든 컨테이너 보이기

docker ps -a

해당 컨테이너 시작

docker start <Container name>

해당 컨테이너 접속

docker exec -it <Container name> bash

ROS2 활성화

위 과정을 마친 후 터미널에 ros2를 입력하면 아무일도 일어나지 않는다.

source /opt/ros/humble/setup.bash

위 명령어를 통해 ros2 활성화 가능

추가 작업

  1. 컨테이너에 접속하면 자동으로 ROS2를 활성하 되도록 ~/.bashrc 파일에 명령어를 추가
apt-get update	#nano를 위한 package update

apt-get install nano	#nano install

nano ~/.bahsrc	#bashrc 파일 열기 및 수정

 

2. 아래 사진과 같이 bashrc 파일 맨 밑에 명령어 추가

사진 nan -> nano 오타

sb : bashrc를 업데이트 하는 명령어 단축키
eb : bashrc를 수정하는 코드

수정 마치고 나가서 souce ~/.bashrc 명령어로 초기화
ros2 입력 후 결과 확인

Result

 

번외

  • ROS 버전 확인 명령어
printenv | grep ROS

 

Reference

 

 

 

 

반응형