ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ROS] 1-2. ROS 시작하기
    IT/ROS 2020. 1. 18. 14:46

    작업 환경

    본 블로그에서는 다음과 같은 작업 환경을 사용합니다.

    OS : Ubuntu 16.04 (LTS)
    ROS Version : Kinetic
    Simulation Tool : Gazebo 7.16.1

    ROS엔 편리하게 사용할 수 있는 패키지가 굉장히 많지만, 운영체제와 호환이 되지 않을 경우 패키지가 동작하지 않는 경우가 꽤 많습니다.

    따라서 ROS와 Ubuntu 버전 호환성을 먼저 확인해야 무의미한 삽질을 방지할 수 있습니다..!

    ROS에 대한 개괄적인 설명은 이전 포스트(ROS 소개)에서 설명했으니 다음으로는 ROS와 호환성이 뛰어난 시뮬레이션 도구인 Gazebo에 대해서 조금 알아보겠습니다.

    혹시 필자와는 다른 버전을 사용하고 싶으신 분들은 운영체제 버전에 맞는 ROS 버전을 선택하여 설치해주시면 됩니다.

    Gazebo란?

    Gazebo는 ROS와 별개의 프로그램으로, 오픈 소스로 제공되는 가상 시뮬레이션 툴입니다.

    URDF, SDF, Xacro 등의 XML 문서로 사용자가 원하는 로봇을 가상 시뮬레이션에 삽입한 후, 삽입된 로봇과 사용자가 작성한 프로그램이 메시지를 주고 받으며 동작하는 모습을 확인할 수 있습니다.

    http://gazebosim.org/

     

    Gazebo

     

    gazebosim.org

    우리는 터미널 명령어로 직접 ROS 구동에 필요한 소프트웨어들을 설치할 것이기 때문에 굳이 따로 설치할 필요는 없지만, 위의 주소에서 관련된 Gazebo에 관련된 정보를 확인하거나 "최신 배포판(Gazebo 10)"을 다운로드 받을 수 있습니다.

    주의할 점. 
    Ubuntu 16.04와 ROS Kinetic 버전을 사용할 경우, Gazebo 8 이상의 버전은 호환성의 문제로 몇 가지 패키지들이 동작하지 않을 가능성이 있습니다.

     

    ROS 설치

    ROS를 설치하는 방법은 매우매우 간단합니다.

    ROS 버전에 맞은 Ubuntu를 실행한 후, 터미널을 열고 아래의 커맨드를 입력합니다.

    $ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
    $ sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
    $ sudo apt update && sudo apt-get install ros-kinetic-desktop-full
    $ sudo rosdep init
    $ rosdep update

    혹시 모르는 분들을 위해 비유를 섞어 위의 명령어를 주루룩 설명하자면

    1. 창고지기의 담당 창고 목록(apt source list)에 ROS의 새로운 창고(ros 패키지 저장소)의 정보를 추가
    2. 창고의 키를 발급받아 등록
    3. 창고(apt 패키지 저장소)에 추가된 정보를 더해 갱신하고, 필요한 물건(ros-kinetic-desktop-full 패키지)을 꺼냄(install)
    4. 5. 물건 상태 확인(ROS 초기화)

    라는 의미의 쉘 명령어입니다.

    ROS 설치는 여기서 끝입니다. 하하 정말 쉽죠?

    이 포스트의 끝자락에서 설명할 '한 라인 커맨드 설치'를 사용하지 않을 경우,
    ROS 작업 공간인 Catkin Workspace를 만들어야 합니다.
    명령어는 아래와 같습니다.

    $ mkdir –p ~/catkin_ws/src
    $ cd ~/catkin_ws/src
    $ catkin_init_workspace
    $ cd ~/catkin_ws
    $ catkin_make
    $ echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc

    cd, mkdir 등은 리눅스 기본 명령어이므로 설명을 생략하고, catkin_init_workspace는 작업 공간 초기화를 의미하고 catkin_make는 지정된 형식과 의존성에 따라 작업공간을 만들어라. 라는 명령어라고 이해하시면 될 것 같습니다.

    위 모든 작업 절차는 사실 아래의 한 라인의 커맨드로 대체할 수 있습니다.
    (출처 : OROCA Naver Cafe,  http://wiki.ros.org/ROS/Installation/TwoLineInstall)

    $ wget https://raw.githubusercontent.com/oroca/oroca-ros-pkg/master/ros_install.sh && chmod 755 ./ros_install.sh 
    && ./ros_install.sh catkin_ws kinetic

    명령어가 수행된 후, 다음의 명령어를 통해 설치가 정상적으로 완료되었는지 확인할 수 있습니다.

    $ roscore

    다음과 같은 화면이 표시되면 정상적으로 설치된 것 입니다.

    started core servcice!

    고생하셨습니다.

    다음 포스트에서는 ROS의 대표적인 통신 기법 세 가지인 토픽, 서비스, 액션에 관해 알아보도록 하겠습니다.

    댓글

Designed by Tistory.