본문으로 바로가기

ubuntu 22.04에 ROS 2 설치

category 소프트웨어/ROS2 2022. 7. 15. 23:36
728x90
반응형

1. 리눅스의 로케일을 UTF-8로 설정해 줍니다.

 

먼저 apt의 업데이트  및 로케일을 설치합니다.

 

sudo apt update && sudo apt install locales

 

 

그리고 로케일을 UTF-8로 설정해줍니다. 

 

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

 

 

 

 

2. 로케일 설정이 완료되었다면 소스를 설정해 줍니다.

 

 

시스템에 ROS 2를 위한 저장소를 추가해야 합니다. 다음 명령을 실행하여 우분투의 universe 저장소를 활성화시킵니다.

 

apt-cache policy | grep universe

 

아래 그림과 같은 문구가 출력되면 명령이 제대로 시행된 것입니다.

 

 

 

이제 ROS 2의 apt 저장소를 시스템에 추가해 줍니다. 먼저 다음 명령을 통하여 GPG 키를 승인합니다.

 

sudo apt update && sudo apt install curl gnupg lsb-release
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg

 

명령을 입력하면 아래와 같이 실행을 이어갈 것인지 묻는 질문이 출력됩니다. 'y'를 입력하여 명령을 계속 실행합니다.

 

 

두 번째 명령은 다른 출력 문구 없이 마무리됩니다.

 

 

이제 다음 명령을 이용하여 소스 리스트에 저장소를 추가합니다.

 

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

 

아래 그림처럼 별다른 출력 문구 없이 명령이 완료됩니다.

 

 

 

 

3. 모든 준비가 완료되었으므로 이제 ROS 2 패키지를 설치합니다.

 

ROS 2 설치 전에 먼저 apt를 업데이트 해줍니다.

 

sudo apt update

 

 

이어서 apt의 업그레이드 또한 진행합니다.

 

sudo apt upgrade

 

업그레이드의 경우 다음과 같이 진행 정도가 출력되며 더 긴 시간이 소요됩니다.

 

 

이제 ROS 2의 설치를 시작합니다. 다음 명령을 통해 ROS, RViz, demos, tutorials 등의 데스크탑 패키지를 설치해줍니다.

 

sudo apt install ros-humble-desktop

 

마찬가지로 진행 정도가 출력되며, 상당히 긴 시간이 소요됩니다. 

 

 

아래 그림과 같이 설치가 완료되었습니다.

 

 

 

이제 다음 명령을 통해 Communication libraries, message packages, command line tools. No GUI tools 등의 ROS-base 패키지를 설치해줍니다.

 

sudo apt install ros-humble-ros-base

 

ROS-base는 데스크탑 인스톨에 비해 빠르게 설치됩니다. 다음 그림과 같이 설치가 완료되었습니다.

 

 

 

 

4. ROS 2가 제대로 설치되었는지 확인해봅니다.

위의 명령을 끝으로 우분투 22.04에 ROS 2가 완전히 설치되었습니다. 이제 몇 가지 예제를 통하여 ROS 2가 제대로 설치되었는지를 확인합니다. 

 

다음 예제는 Talker-Listener 로, talker 터미널에서 출력하는 메시지를 listener 터미널에서 똑같이 출력하는 예제입니다.

 

새로운 터미널 창을 열고, 다음 명령을 통해 소스를 지정해줍니다.

 

source /opt/ros/humble/setup.bash

 

 

그리고 다음 명령을 통해 해당 터미널에서 C++ talker를 실행시킵니다.

 

ros2 run demo_nodes_cpp talker

 

talker가 실행되면 다음 그림과 같이 특정한 문구가 출력 횟수와 함께 일정한 시간 간격을 두고 반복적으로 출력됩니다.

 

 

 

새로운 터미널을 열어 이번엔 python listener를 실행시켜 줍니다. 동일하게 소스를 먼저 지정해준 후, 다음 명령을 통해 listener를 실행시킵니다.

 

ros2 run demo_nodes_py listener

 

listener가 실행되면 talker와 동일한 문구가 동시에 출력됩니다. 아래 그림을 보면 listener가 실행된 시점에서 출력된 talker의 58번째 문구부터 출력됨을 확인할 수 있습니다.

 

 

 

이렇게 우분투 22.04에 ROS 2가 제대로 설치되었음을 확인하였습니다.

이제 다양한 예제 및 데모를 실행해보거나, 자신만의 패키지를 만드는 등 여러분이 원하는 방식으로 ROS 2를 활용하시면 됩니다. 

728x90
반응형