티스토리 친구하기

본문 바로가기

Robotics/ROS2

ROS2 Debian package 설치

728x90

*본 튜토리얼은 ROS2 공식 문서를 참조하여 제작하였습니다.

참고: https://docs.ros.org/en/dashing/Installation/Ubuntu-Install-Debians.html

 

Ubuntu 18.04 (bionic)에 맞는 ROS2 버전은 ROS2 dashing입니다[1]. 그래서 여기서 설치할 Debian pacakage는 Ubuntu Bionic을 위한 것입니다. 

 

Debian계열의 packages (Debian package)는 maintaner[2]들에 의해서 관리되고 있습니다. 그래서 패키지를 다운받을 때, 의존성 패키지[3]가 있는지 검사하고 의존성 패키지가 자신의 환경(컴퓨터)에 설치되어 있지 않으면 자동으로 의존성 패키지까지 같이 설치할 수 있도록 지원합니다[4].

 

*메인테이너(maintainer): 특정 프로젝트로 소유하고 유지하는 사람

*의존성 패키지(Package Dependencies): 바이너리 패키지를 제대로 실행하기 위해서는 특정 라이브러리 또는 다른 패키지들이 필요할 수 있음. 이러한 패키지를 의존성 패키지라고 함.

 

Set locale

로케일은 사용자 인터페이스에서 사용되는 언어, 지역 설정, 출력 형식 등을 정의하는 문자열입니다. 로케일 설정은 특정 언어의 입출력에 영향을 줄 수 있기 때문에, 영어 이외의 언어를 사용하는 경우에는 적절한 값을 지정해 주어야 합니다[5].

 

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

Setup Sources

먼저 ROS2 apt repositories를 시스템에 추가해야 합니다. 이를 위해서는 아래와 같이 apt로 GPG key를 승인합니다.

 

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

 

그 다음에, repository를 sources list(소스 목록)에 추가합니다. (아래의 코드에서 $(lsb_release -cs) 를 bionic 으로 수정합니다)

 

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

Install ROS2 packages

Repository들은 setting 후 적절한 repository cache들을 update합니다.

 

sudo apt update

 

Desktop Install (추천): ROS, RViz, demos, tutorials

 

sudo apt install ros-dashing-desktop

 

ROS-Base 설치 (Base Bones): Communication libraries, message packages, command line tools, No GUI tools.

 

sudo apt install ros-dashing-ros-base

Environment setup

Sourcing the setup script

다음 파일을 가져와(sourcing) 환경을 설정합니다.

 

source /opt/ros/dashing/setup.bash

 

Install argcomplete (optional)

ROS2 command line 도구는 자동 완성을 위해서 argcomplete를 사용합니다. 따라서, 자동 완성을 원한다면 argcomplete를 설치해야 합니다.

 

sudo apt install -y python3-pip
pip3 install -U argcomplete

Try some examples

터미널에서, 위에서 설명한 것처럼 ROS2 환경을 세팅했으면, 다음과 같이 c++ talker를 실행(run)해서 환경 설정이 잘 되었는지 확인합니다.

 

ros2 run demo_nodes_cpp talker

 

다른 터미널에서 setup file을 가져오고(source), Python으로 coding한 listener를 실행(run) 하여 talker에서 보낸 문자들이 수신되는 것을 확인합니다.

 

source /opt/ros/dashing/setup.bash
ros2 run demo_nodes_py listener

 

 

 

[1] https://ko.wikipedia.org/wiki/%EC%9A%B0%EB%B6%84%ED%88%AC_%EB%B2%84%EC%A0%84_%EC%97%AD%EC%82%AC

[2] https://docs.ros.org/en/dashing/Installation/Ubuntu-Install-Debians.html

[3] https://joone.wordpress.com/2015/05/17/opensource-maintainer/

[4] https://bradbury.tistory.com/227

[5] https://koikebox.tistory.com/67 [KOIKE BOX]

[6] https://www.44bits.io/ko/keyword/locale

반응형