09-10 15:59
Notice
Recent Posts
Recent Comments
반응형
관리 메뉴

BAN2ARU

[Foxy/Docker] ubuntu에서 ROS2 foxy docker 환경 구축[docker : nav2] 본문

Study/Nav2

[Foxy/Docker] ubuntu에서 ROS2 foxy docker 환경 구축[docker : nav2]

밴나루 2024. 1. 27. 18:17

1. docker pull

nvidia dockerhub 중에서 cuda 및 cudnn이 설치되어있는 버전으로 docker image를 pull하자.

docker pull nvidia/cuda:11.4.3-cudnn8-devel-ubuntu20.04
  • 만약 docker 설치시 nvidia-docker2를 설치하지 않은 경우는 아래 명령어를 통해 nvidia-docker2 또한 설치하여주자 (이는 이후 docker run 실행시 --runtime nvidia를 실행하기 위함임)
  • sudo apt-get update sudo apt-get install -y nvidia-docker2 sudo systemctl restart docker

2. docker run

docker를 실행시켜주자. GUI실행을 위하여 x11 및 QT 관련하여 옵션을 추가하여 진행하였음. docker를 실행하는 보드 터미널에 xhost +local:docker를 통해 docker의 접근을 허용시켜 주자

docker run --name nav2 -it --runtime nvidia --privileged -v /dev:/dev -v /tmp/.X11-unix:/tmp/.X11-unix -v $HOME/.Xauthority:/root/.Xauthority:rw -v /etc/nv_tegra_release:/etc/nv_tegra_release -e DISPLAY=$DISPLAY -e QT_X11_NO_MITSHM=1 --net host nvidia/cuda:11.4.3-cudnn8-devel-ubuntu20.04 /bin/bash
apt-get update
apt install sudo
sudo apt-get upgrade

만약 The following packages have been kept back이 뜨는 경우는 아래 명령어를 통해 설치를 진행하여주자

sudo apt-get [package_list]

3. foxy install

이 후 foxy 공식 홈페이지를 기반으로 foxy 버전을 설치하여 주자

3.1. Set locale

locale을 우선 설정한다.

locale  # check for UTF-8

sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8

locale  # verify settings

3.2. setup sources

Ubuntu Universe repository를 활성화한다.

sudo apt install software-properties-common
sudo add-apt-repository universe

ROS2 GPG키 추가한다.

sudo apt update && sudo apt install curl -y
sudo curl -sSL <https://raw.githubusercontent.com/ros/rosdistro/master/ros.key> -o /usr/share/keyrings/ros-archive-keyring.gpg

repository 추가한다.

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] <http://packages.ros.org/ros2/ubuntu> $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

3.3. Inatall ROS 2 package

update 및 upgrade 수행한다.

sudo apt update
sudo apt upgrade

Desktop 버전을 설치하여 주자

sudo apt install ros-foxy-desktop python3-argcomplete

Development tool 설치하여 주자

sudo apt install ros-dev-tools

3.4. Environment setup

최종적으로 setup script를 sourcing하면 된다.

source /opt/ros/foxy/setup.bash

매 터미널에 실행하기가 번거롭다면 bashrc에 추가하여 주자

echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrc
728x90
Comments