일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- ROS FOXY 튜토리얼
- nav2 dev contatiner
- nav2 tutorial
- ros2 development guides
- Python
- nav2 first-time robot setup guide
- ros2 foxy tutorial
- ros2 foxy docker
- development guides
- humble development guides
- nav2 development guides
- foxy nav2
- ros2 remapping
- first-time robot setup guide
- docker foxy
- ros2 환경설정
- nav2 튜토리얼
- nav2 설치
- CODEUP 6073
- ros2 튜토리얼 환경설정
- ros2 튜토리얼
- 코드업
- Nav2 document
- nav2 getting started
- ros2 configuring environment
- nav2 development guides
- error
- CodeUp
- Foxy tutorial
- humble 환경설정
Archives
- Today
- Total
BAN2ARU
[Humble/Docker] ubuntu에서 ROS2 humble docker 환경 구축 본문
반응형
1. docker pull
nvidia dockerhub 중에서 cuda 및 cudnn이 설치되어있는 버전으로 docker image를 pull하자.
docker pull nvidia/cuda:12.4.1-cudnn-devel-ubuntu22.04
- 만약 docker 설치시 nvidia-docker2를 설치하지 않은 경우는 아래 명령어를 통해 nvidia-docker2 또한 설치하여주자 (이는 이후 docker run 실행시 --runtime nvidia를 실행하기 위함임)
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list \
&& \
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo tee /etc/systemd/system/docker.service.d/override.conf <<EOF
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --host=fd:// --add-runtime=nvidia=/usr/bin/nvidia-container-runtime
EOF
sudo systemctl daemon-reload \
&& 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:12.4.1-cudnn-devel-ubuntu22.04 /bin/bash
docker container에 접속한 후 package 업데이트 및 업그레이드를 수행함
apt-get update
apt install sudo
sudo apt-get upgrade
3. Humble install
Humble 공식 홈페이지를 기반으로 ros2 humble을 설치하여 주자. ros2 humble을 선택한 이유는 해당 링크를 참조하자!
3.1. locale 설정
제일 우선적으로 locale을 설정하여주자
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 설정이 UTF-8로 잘되어있는지 확인하여주자
locale
3.2. Source 설치
우선 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. ROS2 package 설치
패키지 update 및 upgrade를 수행해준다
sudo apt update && sudo apt upgrade
Desktop 버전을 설치하여주자
sudo apt install ros-humble-desktop
Development tool을 설치하여 주자
sudo apt install ros-dev-tools
3.4. 환경설정
최종적으로 setup script를 sourcing하면 된다
source /opt/ros/humble/setup.bash
매 터미널에 실행하기가 번거롭다면 bashrc에 추가하여주자
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
728x90
'Study > Nav2' 카테고리의 다른 글
[Humble/Nav2] 튜토리얼 2. Development Guides - 1) Build and Install (0) | 2024.09.18 |
---|---|
[Humble/Nav2] 튜토리얼 1. Getting Started (0) | 2024.09.18 |
[Foxy/Nav2] 튜토리얼 3. Navigation Concepts - 2) Behavior Trees (0) | 2024.01.27 |
[Foxy/Nav2] 튜토리얼 3. Navigation Concepts - 1) ROS2 (0) | 2024.01.27 |
[Foxy/Nav2] 튜토리얼 2.Development Guides - 2) Dev Containers (0) | 2024.01.27 |
Comments