본문 바로가기
망각의 개발자

ROS2 빠른 설치 및 기본 노드 실행 가이드 (Ubuntu 24.04 기준)

by t루핑_. 2025. 5. 5.

최근 로봇 개발 분야에서 ROS2가 표준으로 자리 잡으면서 많은 개발자가 ROS2를 배우기 시작했습니다. ROS2는 ROS1의 한계를 극복하며 실시간성과 확장성을 강조한 플랫폼으로, 빠르게 현업에 적용되고 있습니다. 이번 글에서는 ROS2 최신 버전인 Jazzy Jalisco를 Ubuntu 24.04 환경에 설치하는 방법과 간단한 노드를 실행하는 방법을 단계별로 소개합니다.

Ubuntu 환경에서 ROS2 설치하기

다음 단계를 따라 Ubuntu 24.04에 ROS2를 설치합니다.

1. 시스템 Locale 설정

시스템의 Locale이 UTF-8을 지원하는지 확인합니다.

locale  # 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 설정을 완료한 후 다시 확인합니다.

locale

2. ROS2 저장소 설정

Ubuntu의 Universe 저장소와 ROS2의 공식 저장소를 추가합니다.

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

3. ROS2 설치

데스크톱 환경을 갖춘 전체 패키지를 설치하려면 아래 명령을 사용합니다.

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

(만약 GUI 도구가 필요 없는 최소 설치를 원하면 ros-jazzy-ros-base를 설치할 수 있습니다.)

4. 환경 설정

ROS2 설치가 완료되면 환경 설정을 진행합니다.

source /opt/ros/jazzy/setup.bash

매번 이 명령을 입력하지 않고 자동으로 환경 설정을 적용하려면, 다음 명령을 실행하여 설정 파일에 추가합니다.

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

ROS2 기본 노드 실행하기

ROS2 설치 후 정상적으로 작동하는지 확인하기 위해 간단한 예제를 실행해 보겠습니다.

터미널 1: C++ Talker 실행

첫 번째 터미널에서 다음을 실행합니다.

source /opt/ros/jazzy/setup.bash
ros2 run demo_nodes_cpp talker

터미널 2: Python Listener 실행

두 번째 터미널을 열고 Listener 노드를 실행합니다.

source /opt/ros/jazzy/setup.bash
ros2 run demo_nodes_py listener

정상적으로 동작하면 터미널 1에서 메시지를 발행하고, 터미널 2에서 해당 메시지를 수신하는 것을 볼 수 있습니다. 이는 ROS2의 기본 통신 구조인 Publish-Subscribe 모델이 성공적으로 작동함을 의미합니다.

다음 단계는 무엇인가요?

ROS2 설치와 기본 노드 실행을 마쳤습니다. 이제 본격적으로 나만의 로봇 프로젝트를 만들어 볼 차례입니다. ROS2를 활용해 어떤 프로젝트를 만들고 싶으신가요? 아이디어를 댓글로 공유해 주세요! 다음 시간에는 ROS2 워크스페이스와 사용자 정의 패키지 작성법을 소개하겠습니다.

ROS2 Robotics

728x90