ROS 개발환경 구축

2019. 7. 15. 23:18카테고리 없음

본 문서는 표윤석 박사님의 youtube ROS 강의와 github를 참조하여 작성되었습니다.

1. 한줄설치

ubuntu 터미널에서 wget https://raw.githubusercontent.com/ROBOTIS-GIT/robotis_tools/master/install_ros_kinetic.sh && chmod 755 ./install_ros_kinetic.sh && bash ./install_ros_kinetic.sh 를 실행하면 자동으로 설치가 된다.

다운로드된 파일 install_ros_kinetic.sh은 다음과 같다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#!/bin/bash
# Apache License 2.0
# Copyright (c) 2017, ROBOTIS CO., LTD.
echo ""
echo "[Note] Target OS version >>> Ubuntu 16.04.x (xenial) or Linux Mint 18.x"
echo "[Note] Target ROS version >>> ROS Kinetic Kame"
echo "[Note] Catkin workspace   >>> $HOME/catkin_ws"
echo ""
echo "PRESS [ENTER] TO CONTINUE THE INSTALLATION"
echo "IF YOU WANT TO CANCEL, PRESS [CTRL] + [C]"
read
echo "[Set the target OS, ROS version and name of catkin workspace]"
name_os_version=${name_os_version:="xenial"}
name_ros_version=${name_ros_version:="kinetic"}
name_catkin_workspace=${name_catkin_workspace:="catkin_ws"}
echo "[Update the package lists and upgrade them]"
sudo apt-get update -y
sudo apt-get upgrade -y
echo "[Install build environment, the chrony, ntpdate and set the ntpdate]"
sudo apt-get install -y chrony ntpdate build-essential
sudo ntpdate ntp.ubuntu.com
echo "[Add the ROS repository]"
if [ ! -/etc/apt/sources.list.d/ros-latest.list ]; then
sudo sh -"echo \"deb http://packages.ros.org/ros/ubuntu ${name_os_version} main\" > /etc/apt/sources.list.d/ros-latest.list"
fi
echo "[Download the ROS keys]"
roskey=`apt-key list | grep "Open Robotics"`
if [ -"$roskey" ]; then
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
fi
echo "[Check the ROS keys]"
roskey=`apt-key list | grep "Open Robotics"`
if [ -"$roskey" ]; then
echo "[ROS key exists in the list]"
else
echo "[Failed to receive the ROS key, aborts the installation]"
exit 0
fi
echo "[Update the package lists and upgrade them]"
sudo apt-get update -y
sudo apt-get upgrade -y
echo "[Install the ros-desktop-full and all rqt plugins]"
sudo apt-get install -y ros-$name_ros_version-desktop-full ros-$name_ros_version-rqt-*
echo "[Initialize rosdep]"
sudo sh -"rosdep init"
rosdep update
echo "[Environment setup and getting rosinstall]"
source /opt/ros/$name_ros_version/setup.sh
sudo apt-get install -y python-rosinstall
echo "[Make the catkin workspace and test the catkin_make]"
mkdir -p $HOME/$name_catkin_workspace/src
cd $HOME/$name_catkin_workspace/src
catkin_init_workspace
cd $HOME/$name_catkin_workspace
catkin_make
echo "[Set the ROS evironment]"
sh -"echo \"alias eb='nano ~/.bashrc'\" >> ~/.bashrc"
sh -"echo \"alias sb='source ~/.bashrc'\" >> ~/.bashrc"
sh -"echo \"alias gs='git status'\" >> ~/.bashrc"
sh -"echo \"alias gp='git pull'\" >> ~/.bashrc"
sh -"echo \"alias cw='cd ~/$name_catkin_workspace'\" >> ~/.bashrc"
sh -"echo \"alias cs='cd ~/$name_catkin_workspace/src'\" >> ~/.bashrc"
sh -"echo \"alias cm='cd ~/$name_catkin_workspace && catkin_make'\" >> ~/.bashrc"
sh -"echo \"source /opt/ros/$name_ros_version/setup.bash\" >> ~/.bashrc"
sh -"echo \"source ~/$name_catkin_workspace/devel/setup.bash\" >> ~/.bashrc"
sh -"echo \"export ROS_MASTER_URI=http://localhost:11311\" >> ~/.bashrc"
sh -"echo \"export ROS_HOSTNAME=localhost\" >> ~/.bashrc"
source $HOME/.bashrc
echo "[Complete!!!]"
exit 0
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:white">cs

 

2. 수동 설치

우선 http://wiki.ros.org/ 에 접속한다. Install을 클릭해 다음 화면으로 넘어간다.

ROS 설치 옵션이 2가지가 있는데 본인의 우분투 버전이 16이라면 ROS Kinetic Kame을 18이라면 ROS Melodic Morenia를 선택한다.

다음으로 본인의 운영체제를 선택한다.

그 후로 다음 순서에 따라 설치를 진행한다.

1. source.list 설정

ROS 패키지 저장소를 설정해준다.

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

2. key 설정

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

만약 keyserver 연결에 문제가 있다면 hkp://pgp.mit.edu:80 이나 hkp://keyserver.ubuntu.com:80 를 위 명령어에 'hkp://keyserver.ubuntu.com:80' 대신에 입력한다.

3. 설치

설치 전에 우분투 업데이트를 해준다.

sudo apt-get update

ROS에는 설치 종류를 3가지를 제시하고 있는데 전체설치 버전인 Desktop-Full Install 부터 최소 설치 버전인 ROS-Base 까지 있다. ROS에서는 Desktop-Full Install을 권장하고 있다. 만약 Desktop-Full Install로 설치를 하지 않아도 Individual Package 방법을 이용해서 개별적으로 패키지를 다운로드 받을 수 있다.

  • Desktop-Full Install: (Recommended) : ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception

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

  • Desktop Install: ROS, rqt, rviz, and robot-generic libraries

    • sudo apt-get install ros-kinetic-desktop

  • ROS-Base: (Bare Bones) ROS package, build, and communication libraries. No GUI tools.

    • sudo apt-get install ros-kinetic-ros-base

  • Individual Package: You can also install a specific ROS package (replace underscores with dashes of the package name):

    • sudo apt-get install ros-kinetic-PACKAGE

      e.g

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

To find available packages, use:

apt-cache search ros-kinetic

4. rosdep 초기화

ROS를 사용하기 전에 rosdep를 초기화 해주고 업데이트를 해준다.

sudo rosdep init

rosdep update

5. 환경 설정

쉘을 실행시킬때마다 환경변수를 자동적으로 설정되도록 하는 설정

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

source ~/.bashrc

6. 추가 의존성 패키지 설치

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

7. ROS Workspace 생성

catkin 작업공간을 만들고 빌드를 해본다.

mkdir -p ~/catkin_ws/src

cd ~/catkin_ws/

catkin_make

처음 catkin_make로 실행을 하면 ~/catkin_ws/src폴더 안에 CMakeLists.txt파일이 생성된다. 그리고 builddevel폴더가 생성된다. devel폴더 안에는 설정과 관련된 .sh파일들이 있다.

source devel/setup.bash

설정 스크립트에 overlay 시켜주기 위해서ROS_PACKAGE_PATH 환경변수를 포함시켜줘야 한다.

echo $ROS_PACKAGE_PATH

설치를 완료했다면 터미널 창에서 roscore 을 실행시킨 후 새로운 터미널을 열어 rosrun turtlesim turtlesim_node를 실행시키면 다음과 같은 화면이 나오게 된다.

또 다른 터미널을 열어 rosrun turtlesim turtle_teleop_key를 실행시킨 후 방향키를 누르게되면 거북이가 움직이게 된다. 이것이 정상적으로 실행된다면 이상없이 설치가 완료된 것이다.