Ubuntu 22.04에서 ROS2 Humble 설치 및 기본 동작 확인

대상: Ubuntu 22.04(Jammy) 환경에서 ROS2 Humble을 처음 설치하고, ros2 run demo_nodes_cpp talker/listener 정도까지 실행해 보고 싶은 개발자
환경: Ubuntu 22.04 Desktop, sudo 권한, 기본적인 터미널 사용 가능

ROS2 Humble은 Ubuntu 22.04 LTS를 위한 대표적인 ROS2 배포판이다.
기존에 ROS1(Melodic/Noetic) 경험이 있든 없든, 앞으로는 ROS2가 메인 흐름이기 때문에
처음부터 ROS2를 기준으로 환경을 갖춰두는 것이 중요하다.

이 글에서는 Ubuntu 22.04 + ROS2 Humble 기준으로

  1. 지역/로케일 설정
  2. ROS2 패키지 저장소/키 설정
  3. ros-humble-desktop 설치
  4. 환경 변수 설정 (~/.bashrc)
  5. 데모 노드(talker/listener)로 설치 확인
  6. Notion/공부 로그에 어떤 식으로 남기면 좋은지

까지 한 번에 정리한다.


1. 사전 확인 – Ubuntu 버전과 로케일

먼저 우분투 버전이 22.04(Jammy)인지 확인하자.

lsb_release -a

대략 이런 출력이면 된다.

Distributor ID: Ubuntu
Description:    Ubuntu 22.04.3 LTS
Release:        22.04
Codename:       jammy

1-1. 로케일 설정 (권장)

ROS2 공식 문서에서는 en_US.UTF-8 로케일을 기준으로 설명하는 경우가 많다.
이미 설정되어 있다면 건너뛰어도 되지만, 아래 명령으로 한 번 맞춰두자.

sudo apt update
sudo apt install -y 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

터미널을 다시 열면 LANGen_US.UTF-8로 설정된 것을 볼 수 있다.


2. 필수 패키지 및 저장소 준비

2-1. Universe 저장소 활성화

ROS2 패키지는 universe 저장소에 의존하는 경우가 있으므로, 아래 한 번만 실행한다.

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

2-2. 기본 도구 설치

sudo apt update
sudo apt install -y curl gnupg2 lsb-release

3. ROS2 패키지 저장소 추가 및 키 등록

이제 ROS2 Humble 패키지를 가져올 수 있도록 APT 저장소와 키를 설정한다.

3-1. GPG 키를 keyring 파일로 저장

sudo mkdir -p /usr/share/keyrings
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

3-2. ROS2 저장소 추가

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

저장소를 추가했으면 패키지 목록을 갱신한다.

sudo apt update

4. ROS2 Humble 설치 (desktop 기준)

가장 많이 쓰는 설치 옵션은 ros-humble-desktop이다.

sudo apt install -y ros-humble-desktop

조금 더 가볍게 쓰고 싶다면 ros-humble-ros-base 같은 옵션도 있지만,
처음에는 예제/도구가 많이 포함된 desktop 구성이 편하다.


5. 환경 변수 설정 – ~/.bashrc에 추가

ROS2도 ROS1과 마찬가지로 setup.bash를 읽어와야 명령어와 패키지를 인식한다.

5-1. ~/.bashrc에 한 줄 추가

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

현재 터미널에도 바로 반영하려면:

source ~/.bashrc

를 실행한다.

이후부터는 새로운 터미널을 열 때마다 자동으로 ROS2 환경이 잡힌다.


6. 설치 확인 1 – ros2 명령 확인

먼저 ros2 CLI가 정상 인식되는지 본다.

ros2 --help

여러 서브커맨드(help, run, node, topic, service, param 등)가 나오면 정상이다.


7. 설치 확인 2 – demo_nodes_cpp talker / listener

ROS2 Humble에는 기본 예제 노드들이 포함되어 있다.
가장 유명한 예제가 demo_nodes_cpp의 talker/listener 조합이다.

7-1. 첫 번째 터미널 – talker

터미널 1에서:

ros2 run demo_nodes_cpp talker

정상이라면 초당 1회 정도 Publishing: 'Hello World: N' 형태의 로그가 출력될 것이다.

7-2. 두 번째 터미널 – listener

터미널 2를 새로 열고(이미 source ~/.bashrc가 되어 있어야 함):

ros2 run demo_nodes_cpp listener

여기서는 I heard: 'Hello World: N' 같은 로그가 출력될 것이다.

이 조합이 의미하는 것:

  • talker 노드: 특정 토픽(예: /chatter)에 문자열 메시지를 계속 발행(Publish)
  • listener 노드: 같은 토픽을 구독(Subscribe)하여 메시지를 수신

즉, ROS2의 기본 통신 구조가 정상 동작하고 있다는 뜻이다.


8. 설치 확인 3 – 토픽/노드 목록 확인

동작 중에 아래 명령들도 한 번씩 실행해 보자.

8-1. 노드 목록

ros2 node list

talker/listener가 각각 어떤 노드 이름으로 등록되어 있는지 확인할 수 있다.

8-2. 토픽 목록

ros2 topic list

/chatter 같은 토픽 이름이 보일 것이다.

8-3. 토픽 echo

listener를 끄고, 대신 터미널에서 직접 echo를 해볼 수도 있다.

ros2 topic echo /chatter

이 상태에서 talker를 돌리면,
터미널에서 메시지를 직접 볼 수 있다.

댓글 남기기