Skip to content

설치

개요

ROS (Robot Operating System)는 다양한 로보틱스 관련 라이브러리와 개발환경을 제공하는 오픈소스 소프트웨어 플랫폼입니다. 본 장은 ROS 패키지 중 매니퓰레이터 연구에 많이 사용되는 MoveIt!, RViz, Gazebo의 설치방법과 Indy 로봇 시리즈를 위한 ROS 패키지 (이하 Indy 패키지)의 설치 방법에 대해서 설명합니다.


위 그림은 전체 시스템 구성을 나타내고 있습니다. ROS를 사용하기 위해서는 Ubuntu OS가 설치된 PC 가 필요합니다. ROS가 구동되는 PC와 CB는 TCP/IP 프로토콜로 데이터와 명령을 전송하기 때문에 이더넷 연결이 필요합니다. 자세한 사항은 전용통신을 참조하시기 바랍니다. 뉴로메카에서 제공하는 Indy 패키지는 Indy 로봇을 ROS 환경에서 사용하기 위한 모델 및 설정파일과 드라이버등을 포함하고 있습니다. 현재(2020.8.12) 개발중인 ROS 패키지들은 Ubuntu 18.04 버전에서 테스트 되었습니다.

ROS 및 의존 패키지 설치

Ubuntu PC에 ROS 본체 및 의존 패키지의 설치 방법에 대해 설명합니다. ROS 는 Ubuntu 의 버전에 의존성이 있으며 Ubuntu 18.04 의 경우 ROS Melodic Morenia(이하 ROS Melodic)을 설치 할 필요가 있습니다.

본 설치 과정은 Ubuntu 18.04 (ROS Melodic)를 기준으로 작성되었습니다. 다른버전의 Ubuntu 와 ROS를 사용하시는 경우에는 melodic 을 적합한 ROS 버전으로 바꿀 필요가 있습니다. 예를 들어, Ubuntu 16.04 와 ROS Kinetic을 사용하는 경우 sudo apt-get install ros-melodic-desktop-full 에서 sudo apt-get install ros-kinetic-desktop-full으로 변경합니다.

하기의 명령어들을 순서대로 복사하여 터미널에서 실행하면 설치가 완료됩니다.

  • ROS sources.list 설정
1
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
  • key 설정
1
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654 && sudo apt-get update
  • ROS kinetic 설치
1
sudo apt-get install ros-melodic-desktop-full
  • rosdep 초기화
1
sudo rosdep init && rosdep update
  • Moveit 및 의존 패키지 설치
1
2
3
4
sudo apt-get install ros-melodic-moveit \
                       ros-melodic-industrial-core \
                       ros-melodic-moveit-visual-tools \
                       ros-melodic-joint-state-publisher-gui
  • Gazebo 시뮬레이터 의존 패키지 설치
1
2
3
4
5
6
sudo apt-get install ros-melodic-gazebo-ros-pkgs \
                       ros-melodic-gazebo-ros-control \
                       ros-melodic-joint-state-controller \
                       ros-melodic-effort-controllers \
                       ros-melodic-position-controllers \
                       ros-melodic-joint-trajectory-controller
  • 개발환경구성
1
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc && source ~/.bashrc

bashrc파일은 터미널이 실행될 때 자동으로 불러오는 파일입니다. 해당 파일에 source /opt/ros/melodic/setup.bash명령어를 추가함으로써 터미널이 실행될때 자동으로 ROS 실행에 필요한 환경구성을 로드합니다.

  • ROS 워크스페이스 설정
1
mkdir -p ~/catkin_ws/src && cd ~/catkin_ws/ && catkin_make

위 명령어를 실행하면 사용자의 홈 디렉토리에 catkin_ws 와 src폴더를 생성후, 빈 catkin_ws를 빌드합니다. 빌드 결과, ~/catkin_ws/devel 폴더와 ~/catkin_ws/build 폴더가 생성됩니다.

1
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc && source ~/.bashrc

source ~/catkin_ws/devel/setup.bash 명령어로 catkin_ws에서 빌드한 프로그램을 ROS환경에 추가 할 수 있습니다. 위 명령어를 실행하면 bashrc에 source ~/catkin_ws/devel/setup.bash 를 등록하여 터미널이 실행될때 자동으로 환경구성을 로드합니다.

Indy 패키지 설치

Indy 패키지의 설치 및 세팅에 필요한 파일들은 뉴로메카 공식 Github 저장소에서 다운로드 받을 수 있습니다. 로봇의 종류와 SW 버전을 확인 후, 적절한 release 버전을 다운로드 받으시기 바랍니다. 본 메뉴얼에서 제공하는 예제 중 일부는 2.3 버전 이상에서만 동작합니다.

release-2.2 branch

아래 명령어로 소스코드를 다운 받을 수 있습니다.

1
cd ~/catkin_ws/src && git clone -b release-2.2 https://github.com/neuromeka-robotics/indy-ros

indy framework version 2.2.5 이하를 위한 ROS 패키지 입니다. Indy 5, Indy RP, Indy RP2, Indy7 에서 사용가능합니다.

release-2.3 branch

아래 명령어로 소스코드를 다운 받을 수 있습니다.

1
cd ~/catkin_ws/src && git clone -b release-2.3 https://github.com/neuromeka-robotics/indy-ros

indy framework version 2.3 이상을 위한 ROS 패키지 입니다. Indy RP2, Indy7 에서 사용가능합니다.

예제 소스코드 설치

아래 명령어로 예제 소스코드를 다운 받을 수 있습니다. 현재 제공되는 예제들은 indy framework version 2.3.1 이상의 버전에서 정상적으로 동작합니다.

1
cd ~/catkin_ws/src && git clone https://github.com/neuromeka-robotics/indy-ros-examples

기본 패키지 구성

1
2
3
4
5
6
├── indy-ros
    ├── indy7_description/
    ├── indy7_moveit_config/
    ├── indy7_control/
    ├── indy7_gazebo/
    └──  ...
  • indy7_description : RViz에서 사용되는 indy7의 모델 파일 및 런치 파일
  • indy7_moveit_config : MoveIt을 사용하기 위한 설정 및 런치 파일
  • indy7_gazebo /indy7_control : gazebo를 사용하기 위한 설정 및 런치파일

각 패키지의 자세한 사용법과 예제는 이후의 장에서 설명됩니다.