Foxy 설치 및 동작 확인

평범한컴공생·2022년 7월 28일
0

[ROS2]

목록 보기
1/19
post-thumbnail

ROS

ROS는 로봇 운영 체제(Robot Operating System)의 약자로 로봇 응용 프로그램을 빌드하기 위한 소프트웨어 라이브러리 및 도구 모음이다. 운영 체제라고는 하지만 Ubuntu 등 다른 운영체제 위에서 동작한다.

사전 준비

기존 ROS의 단점 및 한계를 보완한 ROS2는 Ubuntu Linux - Focal Fossa (20.04) 플랫폼을 지원한다.

  1. 먼저 UTF-8 을 지원하는 로케일인지를 확인해야 한다.

    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
  2. 그후 사용자 환경에서 ROS 2 apt 리포지토리를 추가해야 하는데, 그 전에 Ubuntu Universe 리포지토리가 사용가능한지 확인해야 한다.

    sudo apt-cache policy | grep universe

    다음과 같은 출력이 나오면 된다.

    500 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
        release v=20.04,o=Ubuntu,a=focal,n=focal,l=Ubuntu,c=universe,b=amd64

    다른 출력이 나올 시 Universe repository를 활성화 하자.

    sudo apt install software-properties-common
    sudo add-apt-repository universe
  3. ROS 2 apt repository를 추가한다.

    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
    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

ROS2 패키지 설치

  1. 리포지토리 업데이트 후 패키지를 설치한다. ROS는 최신 환경의 Ubuntu 를 기반하기 때문에, Ubuntu 또한 최신 상태인지 확인한다.

    sudo apt update
    sudo apt upgrade
  2. Foxy Desktop을 설치한다.

    sudo apt install ros-foxy-desktop

    ROS-Base 를 설치한다 .

    sudo apt install ros-foxy-ros-base

환경 설정

설정 스크립트 소싱

다음의 setup.bash 파일을 이용해 환경을 설정한다.

source /opt/ros/foxy/setup.bash

동작 확인

위에서의 ros-foxy-desktop을 설치했다면, 다음과 같은 예제를 수행할 수 있다.

터미널 2개를 준비하자. 필자는 Terminator 소프트웨어를 사용하였다.

source /opt/ros/foxy/setup.bash
ros2 run demo_nodes_cpp talker
source /opt/ros/foxy/setup.bash
ros2 run demo_nodes_py listener

위의 사진과 같이 각각의 터미널에 Publishing, I heard가 출력되면 성공적으로 설치한 것이다. 이는 C++와 Python API가 제대로 작동되고 있음을 보여준다.

참고

ROS 2 Documentation: Foxy

profile
학부 연구생(220627~)

0개의 댓글