ROS2
ROS는 Robot Operating System의 약자로 로봇을 제어하기 위한 도구나 통신 시스템 등을 모두 가지고 있는 로봇용 운영체제라고 생각하면 쉽습니다. AI 등을 로봇에 적용하여 제어하는 등의 로봇 개발 작업에서 거의 필수적으로 사용되는 프로그램입니다. 오늘은 ROS2를 Ubuntu 20.04에 설치하는 방법에 대해서 알아보겠습니다.
Locale 설정
Locale 설정은 우분투에서 프로그램이 어떤 언어와 형식 등으로 표현할지 설정하는 것입니다. 한글은 기본적으로 UTF-8을 이용하므로 이와 호환될 수 있도록 en_us.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
ROS2 Repo 등록하기
이번에는 apt repository를 이용하여 ROS2 Foxy를 설치할 예정이라 apt repo를 등록하겠습니다.
sudo apt update && sudo apt install curl gnupg2 lsb-release curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add - sudo sh -c 'echo "deb [arch=$(dpkg --print-architecture)] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2-latest.list'
ROS2 패키지 설치하기
방금 추가한 repo를 업데이트하고 ROS2 Foxy를 설치합니다.
sudo apt update sudo apt install ros-foxy-desktop
ROS2에서 흔하게 사용되는 Fast-RTPS의 경우 사용하는 프로그램이나 로봇 제어 시스템 등에 따라(PX4 등등..) 호환성 문제를 심하게 타므로 해당 시스템이 지원하는 버전에 맞게 설치하시길 바랍니다.
(추가사항) 새로운 terminal 열 때 ROS2 경로 지정하기
source /opt/ros/foxy/setup.bash
추가 개발툴 설치하기
여러모로 자주 사용되는 툴들이라 설치하는 것을 추천드립니다.
sudo apt install -y python3-pip pip3 install -U argcomplete sudo apt install python3-colcon-common-extensions
설치 작동 확인(demo node 이용)
ros2 run demo_nodes_cpp talker ros2 run demo_nodes_py listener
위의 두 코드를 각각 다른 터미널에서 실행하여 ros node 간 데이터 송신과 수신이 잘 이루어지는지 확인합니다.
마치면서
이렇게 ROS2 Foxy를 Ubuntu 20.04에 설치하는 방법에 대해서 알아보았습니다. ROS2는 거의 대부분의 오픈소스 로봇 프로젝트에서 널리 사용되고 있으므로 관심이 있으시다면 공부해 보시길을 추천드립니다.