본문 바로가기
로보틱스/ROS

Ubuntu 20.04 에서 ROS2 Foxy Fitzroy설치하기

by makepluscode 2021. 9. 11.
반응형

ROS 2 Foxy Fitzroy

Background

오픈소스 기반의 ROS (Robot Operating System)는 로봇 애플리케이션을 만들기 위한 라이브러리 및 도구 모음 입니다. 디바이스 드라이버에서 알고리즘에 이르기까지 강력한 개발자 도구를 갖춘 ROS는 로봇 프로젝트에 필요한 많은 것을 갖추고 있습니다. 2007 년에 시작된 이후로 로봇 공학 및 커뮤니티에서 많은 변화와 개선이 있었고, ROS1 이 탄생했지만 여러가지 기술적인 제약으로 상용화 까지는 어렵게 되었습니다. ROS2 프로젝트의 목표는 ROS 1의 장점을 활용하고, 기존 버전의 문제점을 최대한 개선하는 것을 목표로 합니다.

ROS2 releases

최근 배포판을 살펴보면,

  • 2019.05 Dashing Diademata (~2021.05) - 2 years supported
  • 2019.11 Eloquent Elusor (~2021.11) - 2 years supported
  • 2020.06 Foxy Fitzroy (~2023.05) - 3 years supported

와 같이 계속 새로운 버전이 배포되고 있고, 이 중에 지난 2020년 6월에 배포된 Foxy Fitzroy 버전을 설치 해보겠습니다. 준비물은 Ubuntu 20.04가 설치된 Host PC 입니다.

ROS2 Foxy Fitzroy installation

패키지 시스템 apt 업데이트를 수행하고, curl gnupg2 를 설치 합니다.

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

ROS2 apt 저장소를 추가하고 GPG 인증을 수행합니다.

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

ROS2 저장소를 source.list 에 추가합니다.

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

source.list 가 수정되었기 때문에, 패키지 시스템 apt 를 다시 업데이트 합니다.

sudo apt update

ROS2 기본 패키지인 Communication libraries, message packages, command line tools 과 rvis, demos tutorials 등이 모두 포함된 desktop 버전을 설치합니다.

sudo apt install ros-foxy-desktop

Bash 터미널에서 환경변수를 로딩 하거나, 아니면 자동으로 로딩 될 수 있도록 .barcrc 에 추가합니다.

source /opt/ros/foxy/setup.bash

우분투 20.04에 ROS2 Foxy Fitzroy 설치를 완료 하였습니다.

ROS2 Foxy Fitzroy test

Terminal 을 열고 demo_nodes_cpp 패키지의 talker 노드를 실행합니다.

ros2 run demo_nodes_cpp talker

Terminal 을 열고 demo_nodes_cpp 패키지의 listener 노드를 실행합니다.

ros2 run demo_nodes_py listener

ROS2 demo_nodes_cpp

반응형