ROS2 Jazzy 설치

설치환경, Ubuntu 24.04

설치할 때, 언어는 영어(English)로 하는 것을 추천. 한글 입력은 https://ahnbk.dev/?p=368 참고.

ROS2 설치에 대한 자세한 설명은 공식 문서 페이지를 참조. (https://docs.ros.org/en/jazzy/Installation/Ubuntu-Install-Debians.html)


Repository 설정

$ sudo apt install software-properties-common
$ sudo add-apt-repository universe
$ 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
$ 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

ROS2 개발에 필요한 툴들을 모아놓은 메타 패키지 설치 (옵션)

$ sudo apt install ros-dev-tools


ROS2 설치 시작

$ sudo apt update
$ sudo apt install ros-jazzy-desktop

DDS 설치. 기본으론 FastRTPS가 설치되어 있으나, CycloneDDS을 사용하는 것을 권장함

$ sudo apt install ros-jazzy-rmw-cyclonedds-cpp


환경설정

$ echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc

도메인 아이디 설정

$ echo "export ROS_DOMAIN_ID=<your_domain_id>" >> ~/.bashrc

Jazzy 버전부터는 DDS를 이용한 자동 연결 기능에 대한 범위를 환경변수로 설정 가능

$ echo "export ROS_AUTOMATIC_DISCOVERY_RANGE=<discover option>" >> ~/.bashrc

옵션값은 다음의 한 종류를 선택

SUBNET : 현재 서브넷 설정 (예: 255.255.255.0)에 따라 Node 발견(Discover) 및 연결 (Default)
LOCALHOST : 현재 머신 내에서만 Node 발견(Discover) 및 연결 
OFF : 다른 노드와 연결하지 않음, 단독 실행
SYSTEM_DEFAULT : 초기값 사용 (SUBNET)

설정이 끝난 다음, source나 터미널 재실행으로 환경변수 셋업 적용

$ source ~/.bashrc


개발툴(colcon) 설치 및 설정

$ sudo apt install python3-colcon-common-extensions

colcon_cd 명령 사용을 위한 환경변수 셋업

$ echo "source /usr/share/colcon_cd/function/colcon_cd.sh" >> ~/.bashrc
$ echo "export _colcon_cd_root=/opt/ros/jazzy/" >> ~/.bashrc

workspace 디렉토리 생성

$ mkdir -p ~/dev_ws/src
$ cd ~/dev_ws

빌드

$ colcon build --symlink-install

현재 workspace 사용하도록 환경변수 설정

$ echo "source ~/dev_ws/install/setup.bash" >> ~/.bashrc

이것으로 일단 기본 설치 및 환경 셋업 완료.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *