'Robotics'에 해당되는 글 2건

  1. 2018.07.25 ROVIO: Robust Visual Inertial Odometry
  2. 2018.07.18 Ubuntu에 ROS 설치하기

(개념 설명은 다음에)

- 관련 논문

아래 링크에 있는 논문을 통해 사용된 핵심 기술이나 흐름, 그리고 실험 결과 등을 확인할 수 있다.


https://www.research-collection.ethz.ch/bitstream/handle/20.500.11850/155340/eth-48374-01.pdf?sequence=1&isAllowed=y


기본적으론 EKF를 기반으로 tracking을 수행하였다.


- 설치 방법

1. dependencies 설치

ROVIO 설치에 필요한 dependency들은 다음과 같다.

  1) ros : 이전 블로그 글에 올라온 절차대로 설치를 진행하면 된다. (http://sharpinclude.tistory.com/entry/Ubuntu에-ROS-설치하기)

  2) kindr : https://github.com/ethz-asl/kindr

       ROS kinetic 버전에서 설치를 하기 위해서는 catkin을 이용한 빌드를 통해 설치를 하도록 한다. 설명은 위 git에 나와 있다.

  3) lightweight_filtering : git submodule update --init --recursive

  4) OpenGL (+glut, glew) : sudo apt-get install freeglut3-dev, sudo apt-get install libglew-dev


2. workspace 만들기

catkin build를 통해 rovio 패키지를 만들어내기 위해선 workspace가 필수적으로 셋팅되어 있어야 한다.

다음의 명령어들을 순차적으로 입력한다.

mkdir -p $CATKIN_WS/src cd $CATKIN_WS catkin init catkin config --merge-devel catkin config --extend /opt/ros/$ROS_VERSION catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release cd src

여기서 $CATKIN_WS는 workspace 폴더가 저장되는 경로를 말한다. $ROS_VERSION에는 본인의 버전에 맞는 ros 이름을 적어주면 된다.


3. 프로젝트 복사하기

src 폴더로 이동한 뒤에 다음의 주소로 가서 rovio를 복사해온다.

https://github.com/ethz-asl/rovio


4. 빌드

$CATKIN_WS 경로로 돌아와서 다음의 명령어로 빌드를 수행한다.

catkin build rovio --cmake-args -DCMAKE_BUILD_TYPE=Release -DMAKE_SCENE=ON

빌드를 진행하다 간혹 python 내 em 패키지와 관련된 에러가 발생할 수 있는데, 이 경우 아래의 명령어들로 삭제 후 재설치를 수행한다.

pip uninstall em
pip install empy

5. 실행 확인

아래 명령어로 실행을 하면 실행 화면이 아래와 같이 출력될 것이다.

roslaunch rovio rovio_node.launch


6. 데이터셋 열기

위의 창이 열린 상황에서 아래의 명령어를 입력하면 데이터셋이 사용되며 아래와 같은 실행 화면이 출력된다.

rosbag play <bag file>


'Robotics' 카테고리의 다른 글

Ubuntu에 ROS 설치하기  (0) 2018.07.18
Posted by 새우아저씨
,

기본적인 가이드라인은 아래 사이트를 참고하며 설치를 진행했으나, 현재 사용 중인 내 우분투 버전에 맞게 해결이 되지 않는 부분들을 해결해가며 설치를 진행하였다.

출처: http://wiki.ros.org/kinetic/Installation/Ubuntu

우분투 버전: 16.04.4 LTS

설치할 ROS 버전: Kinetic


1. 우분투 저장소 환경 설정

설치에 앞서 우분투 저장소에 대한 환경 설정이 필요하다.
시스템 환경설정의 "소프트웨어/업데이트" 항목으로 들어간다.

Software Sources.png

다음과 같은 체크박스 리스트가 뜨는데, 이 중에서 "universe", "restricted", "multiverse" 세 항목에 체크가 되어 있어야 한다.


2. sources.list 설정

사용 중인 컴퓨터가 package.ros.org에 접근하려면 아래 명령어로 접근 설정을 해주어야 한다.

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'


3. 키 설정

터미널에 아래 명령어를 입력하여 키 설정을 한다.

sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116


4. 설치

설치에 앞서 패키지 목차 갱신을 진행한다.

sudo apt-get update

ROS의 경우 모두 설치, 데스크탑 설치, 베어본 설치 등의 설치 버전이 존재한다. 여기서는 전체 설치를 진행하도록 하겠다. (추천)

sudo apt-get install ros-kinetic-desktop-full

그 외에 개별 패키지를 설치하고자 한다면 아래 명령어를 이용한다.

sudo apt-get install ros-kinetic-PACKAGE

예를 들어, SLAM gmapping 패키지를 설치하고 싶다면 아래와 같이 설치하면 된다.

sudo apt-get install ros-kinetic-slam-gmapping

사용 가능 패키지 목록은 아래 명령어를 통해 찾을 수 있다.

apt-cache search ros-kinetic


5. rosdep 초기화

rosdep이란 컴파일이나 ROS상의 core component들을 구동하는 데 필요한 시스템 의존성을 찾아서 손쉽게 설치할 수 있는 도구를 말한다. ROS 사용에 앞서 이를 초기화해주는 작업이 필요하다.

sudo rosdep init
rosdep update


6. 환경 설정

다음의 설정을 통해 새로운 쉘을 실행할 때 마다 ROS 환경변수들이 자동으로 등록되도록 할 수 있다.

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

만약 현재 쉘의 환경만을 변경하고자 한다면 아래 명령어를 입력한다.

source /opt/ros/kinetic/setup.bash

bash 대신 zsh를 사용한다면 아래 명령어를 입력한다.

echo "source /opt/ros/kinetic/setup.zsh" >> ~/.zshrc
source ~/.zshrc


7. 빌드 패키지를 위한 의존성 설정

핵심적인 ROS 패키지 설치는 모두 끝났다. 이제 사용자가 ROS workspace를 만들고, 관리할 수 있게끔 하기 위해 필요한 툴 및 요구되는 배포 파일을 받아야만 한다. 대표적으로 rosinstall이 이에 해당한다. 아래 명령어를 입력하여 필요한 dependencies를 설치한다.

sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential


8. 빌드를 위한 catkin 명령어

http://wiki.ros.org/ko/catkin/Tutorials/create_a_workspace

아래 링크에 catkin 처음 실습하는 방법에 대한 설명이 나와 있다.

catkin을 찾을 수 없다는 오류가 발생할 경우, 아래 링크에 나온 설명에 따라 catkin tools를 설치한다.

http://catkin-tools.readthedocs.io/en/latest/installing.html


아래 링크는 ROS 튜토리얼을 위한 가이드라인을 볼 수 있는 사이트다.

http://wiki.ros.org/ko/ROS/Tutorials

'Robotics' 카테고리의 다른 글

ROVIO: Robust Visual Inertial Odometry  (0) 2018.07.25
Posted by 새우아저씨
,