본문으로 바로가기

ROS Kinetic Kame 설치

category 소프트웨어/ROS 2018. 11. 10. 18:01
728x90
반응형

2016년 5월 23일에 발표된 ROS Kinetic Kame 버전을 설치하겠습니다. OS 환경은 Ubuuntu 16.04 LTS입니다. 만약 OS가 설치하지 않으신 경우 VirtualBox에서 Ubuntu 16.04 LTS 설치를 참조하시기 바랍니다.



ROS Kinetic을 관리하는 사이트는 아래와 같습니다.


http://wiki.ros.org/kinetic/


ROS Kinetic은 Ubuntu 16.04를 지원하며 안드오이드, 맥 OS X, 윈도우를 지원합니다.



"Installation"에 있는 링크를 클릭하시면 설치안내 사이트로 이동합니다.



설치 OS는 Ubuuntu 16.04 LTS입니다. "Ubuntu" 링크를 클릭합니다.



NTP(Network Time Protocol) 설정

서로 다른 PC간의 통신에서 ROS Time의 오차를 줄이기 위해 NTP를 설정한다.


sudo apt-get install -y chrony ntpdate
sudo ntpdate -q ntp.ubuntu.com




packages.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'


ROS Repository에서 패키지를 다운로드 받기 위해 공개키를 추가해야 합니다. 아래와 같이 입력합니다. 웹문서에서 안내한 키서버가 동작되지 않을 경우 추가로 제시하는 키서버를 이용하시기 바랍니다. 여기서는 MIT 서버를 이용하였습니다.


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



다음 단계에서는 Ubuntu의 Debian 패키지 리스트를 다시 인덱싱 합니다. 필수 사항은 아니지만 ROS를 설치하기 전에 Ubuntu의 모든 패키지를 업그레이드 합니다.


sudo apt-get update
sudo apt-get upgrade -y




지금까지 ROS 설치를 위한 준비를 완료하였습니다. 다음은 ROS Kinetic Kame를 설치합니다. 데스크탑용 풀 버전을 설치합니다. 여기에는 ROS, rqt, rviz, 로봇관련 일반 라이브러리, 2D/3D 시뮬레이터, 2D/3D 인지 등이 포함되어 있습니다. 


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




rqt 관련 패키지도 추가로 설치합니다.



sudo apt-get install ros-kinetic-rqt*




다른 버전을 사용할 경우 참조 링크의 해당부분의 Info 내용을 참고하시기 바랍니다.


ROS를 사용하기 전에 반드시 rosdep를 초기화해야 합니다. rosdep는 ROS의 소스를 컴파일 하거나 핵심 컴포넌트를 실행하기 위해 필요한 의존성 패키를 쉽게 설치할 수 있도록 도와줍니다.


sudo rosdep init rosdep update



다음은 환경을 설정합니다. 

현재 쉘의 환경을 변경하고자 할 경우 아래의 명령어를 사용합니다.


source /opt/ros/kinetic/setup.bash


새로운 쉘을 시작할 때마다 ROS 환경 변수가 bash 세션에 자동으로 추가되도록 하기 위해서는 다음 명령어를 사용해야 합니다.

하나 이상의 ROS 배포판이 설치되어 있는 경우에는 ~/.bashrc는 현재 사용중인 버전의 setup.bash만 source 합니다.

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



ROS 패키지를 빌드하기 위해 이 도구와 다른 의존성 패키지를 설치하려면 다음 명령어를 실행합니다.


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



ROS에서 사용하는 빌드 시스템은 catkin입니다. 이 시스템을 사용하기 위해서는 catkin 작업 폴더를 생성하고 초기화해야 합니다.


mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace



catkin_make 명령어를 사용하여 빌드를 수행합니다. 


cd ~/catkin_ws/
catkin_make


빌드가 완료되면 "ls"명령어로 생성된 폴더를 확인하실 수 있습니다. src 폴더는 사용자가 생성한 것이고, build 폴더는 빌드 관련 파일이 저장되며 devel 폴더에는 빌드 후 실행 관련 파일이 저장됩니다.

그리고 catkin 빌드 시스템과 관련된 환경 파일을 불러옵니다.



설치 스크립트가 작업 공간을 적절하게 오버레이하도록 하려면 ROS_PACKAGE_PATH 환경 변수에 현재있는 디렉토리가 포함되어 있는지 확인하시기 바랍니다.


source devel/setup.bash
echo $ROS_PACKAGE_PATH



ROS 동작을 테스트하기 위해 다음과 같은 명령어를 순차적으로 실행합니다. 먼저 roscore 명령어를 실행합니다.


roscore



새로운 터미널을 실행하여 turtlesim 패키지의 turtlesim_node를 실행하기 위해 다음 명령어를 실행합니다.


rosrun turtlesim turtlesim_node



위의 명령어를 실행하면 파란색 바탕의 별도 창이 출력되며 거부이 한마리가 보일 것입니다.



이 거북이를 움직이게 하기 위해서는 새로운 터미널을 실행하고 다음과 같은 명령어를 실행합니다. 


rosrun turtlesim turtle_teleop_key



이 터미널 창을 선택한 상태에서 방향키를 이용하여 거북이를 움직일 수 있습니다.



rqt_graph 패키지의 rqt_graph 실행을 위해서 아래의명령어를 실행합니다.


rosrun rqt_graph rqt_graph



qt_graph 노드는 현재 실행중인 노드들의 정보를 GUI 형태로 출력해주는 노드입니다. 타원은 노드를 의미하고, 사각형은 토픽을 의미합니다. 아래의 그림에서 2개의 노드 사이에 /turtle1/cmd_vel라는 토픽이 전달되는 형태입니다.


728x90
반응형