공식 document
자세한 내용은 공식 document를 참고하세요!
ros2는 실제로 윈도우, 맥os, Ubuntu(22.04 이상)를 모두 지원한다. 이 글은 Ubuntu 22.04에서 일반적인 노트북에 설치할 때를 기준으로 한다.
ctrl+Alt+T를 통해 터미널을 열고 아래 코드를 입력해준다.
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력하세요
이 코드를 통해 locale(프로그램이 특정 지역이나 언어에 맞춰 숫자, 날짜, 텍스트 등을 표시하는 방식)이 UTF-8을 지원하는 locale로 올바르게 설정되도록 만든다. 올바르게 설정되어 있어야 ros2가 올바르게 작동한다.
공식 문서에 의하면 docker container와 같은 minimal environment에서는 기본적으로 POSIX locale을 사용하는데 이는 UTF-8을 지원하지 않는다고 한다. 이런 경우를 막기 위해 사용하는 코드.
Ubuntu 22.04 환경이라면 웬만하면 잘 설정 되어있을텐데, 확인하려면 터미널에 locale을 입력했을 때 LANG 및 LC_* 항목이 en_US.UTF-8 또는 다른 UTF-8 로케일로 설정되어 있다면, 추가 설정이 필요 없다고 한다.
sudo apt install software-properties-common
sudo add-apt-repository universe
Ubuntu Universe Repository를 활성화한다. 우분투는 여러 repository를 사용하는 데 그 중 오픈소스 패키지를 포함하는 게 universe repository다. 이를 활성화하여 오픈소스 소프트웨어인 ros2를 설치할 수 있게 하는 것이다.
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
이 코드를 통해서는 ROS2 GPG key를 추가해준다. 이는 ROS2 패키지의 무결성을 확인하는 과정이라고 한다.
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 update
패키지 리스트를 업데이트 한다.
sudo apt upgrade
ros2는 최신 우분투에 맞춰 설정되기 때문에 필요한 경우 최신 버전으로 업그레이드 해줘야 한다.
sudo apt install ros-humble-desktop
설치 될 때까지 기다리면 끝.
gedit ~/.bashrc
열린 bashrc 파일의 마지막 줄에 아래 코드를 추가하면, 터미널을 열 때마다 매번 sourcing해올 필요가 없어진다. 처음 시작한 사람이라면 무슨 말인지 모를테니.. 일단 해두면 편하다.
source /opt/ros/humble/setup.bash
ros2 run demo_nodes_cpp talker
터미널 하나를 열어 위 코드를 입력해준다.
만약 위에서 bashrc 설정을 안했다면 source /opt/ros/humble/setup.bash를 먼저 입력해줘야 한다.
ros2 run demo_nodes_py listener
다른 터미널을 열고 위 코드를 입력해준다.
아래와 같은 화면이 뜨면 성공(실시간으로 한 줄씩 뜬다).
만약 실패하면 제대로 설치가 되지 않은 것이다.

sudo apt remove ~nros-humble-* && sudo apt autoremove
autoremove를 통해 삭제해준다.
sudo rm /etc/apt/sources.list.d/ros2.list
sudo apt update
sudo apt autoremove
# Consider upgrading for packages previously shadowed.
sudo apt upgrade
이렇게 하면 라이브러리까지 삭제된다.
ROS2 document를 제대로 읽어보며 velog에 정리해보고자 한다.
다음 포스팅에서는 ROS2의 통신 형태를 살펴보고 코드를 작성해볼 것이다.