티스토리 뷰

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



이미 Ubuntu 16.04.1 LTS가 있다는 전제하에 진행합니다.

정확한 내용은 위의 ros wiki page에서 확인할 수 있으며, 여기서는 실제 진행하면서 발생할지도 모르는 예외상황에 대해 정리하기 위해

Step by Step으로 진행하려고 합니다.


설치환경 : Ubuntu 16.04.1 LTS (버츄얼 아님), 버츄얼 Ubuntu 16.04.1 LTS


일반적으로, 버츄얼 OS는 추천하지 않는다고 합니다.

아무래도 드라이버 문제같은 장치관련 문제들때문인 것으로 판단되는데, 일단 같이 진행해 보겠습니다.

이 설치가 번거롭다고 생각하시는 분들은 스크립트로 만들어져있는 것을 활용하셔도 됩니다.

http://cafe.naver.com/openrt/14575  Oroca의 표윤석 박사님이 스크립트로 만들어두신 1줄 설치 링크입니다.




자, 이제 시작을 해보죠. 특별한 것은 없습니다. 위 링크 내용을 그대로 따라하면 됩니다.

참고로, 웬만하면 직접 타이핑하지 마시고 그대로 복사해서 쓰세요! 타이핑이 틀려서 설치가 안되는 경우도 많답니다... 자신의 타자실력을 과신하지마세요.





우분투 저장소 설정


처음엔, 우분투 저장소 설정에 관해서 나옵니다. 이것이 필요한 경우에 이 [링크]로 가셔서 진행하시면 되겠습니다.




sources.list


ros를 설치하기 위해서 우리는 ros 서버에서 오는 software를 허용해주어야 합니다. 따라서 아래와 같은 명령을 통해 list를 추가해줍니다.

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




key 받아오기


정확한 용도는 모르겠지만 무언가에 대한 접근을 위한 key겠죠? public key이므로, key서버에서 key를 바꾸지 않는 한 동일한 key를 받아볼 수 있습니다.

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


( 위 두 명령을 실제 실행한 모습입니다. 새롭게 key가 추가되었다면 imported라고 나올 것이고 이미 있다면 변화여부만 나옵니다 )





ROS 설치


우선 ROS의 설치에 앞서 update를 해줍니다.

웬만한 software나 package설치시에 항상 해주는 습관을 들이는 것이 좋습니다.

$ sudo apt-get update

기존에 ubuntu에 설치된게 많았다면, 업데이트를 많이 하겠죠?

자, 이제 설치를 진행해보도록 합니다.


여기서 잠시, ros wiki page에서는 사용자의 성향에 따른 가이드를 몇가지 제공합니다.

총 4가지를 기본으로 제공하고 있는데, 어찌되었든 이것도 ros에서 package를 default로 모아둔 것입니다.

만약 개인적으로 package를 서치하고 싶으신 분들은 이 [링크]를 참조하세요


저는 리눅스 초보자이기 때문에, 그냥 시키는대로 하겠습니다.


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


제 눈에 보이는것 Recommended 입니다. :))

당연히 이걸 설치하겠죠. 이걸 설치 안하셨다면 이후부터는 제 포스팅을 보실 필요가 없습니다! 하하.

보면 몇가지 packages가 보이는데요.

우선, ROS이구요. rqt는 ROS GUI, rviz는 ROS 3D 시각화 tool? 정도라고 생각하시면 되겠습니다.

그 외에 일반적인 라이브러리와 시뮬레이터, 네비게이션 등이 포함되어 있네요.

설치 커맨드는 아래와 같습니다.

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



rosdep 초기화


아래 그림처럼 ROS와 기본 패키지가 설치완료되었습니다.

ROS를 사용하기에 앞서, ROS를 돌리기 위한 설정을 진행해주어야 합니다. rosdep이 그 역할을 해준다고 합니다.

$ sudo rosdep init

$ rosdep update

( please라고 부탁까지 하는데 update 해야겠죠? )





환경 설정


뭐든 프로그램을 사용하려면 환경 설정이 필요합니다.

프로그램 설치 중에 설치프로그램에서 처리하는 경우가 많아서 어색할 수도 있지만, 이것이 기본입니다.

특히나 ROS처럼 다른 package와의 연동하면서 ROS의 자원을 사용하게 해야합니다. 이럴 때 환경변수라는 말이 나오게 되는데, 이것을 설정해주어야 합니다. 하지만 ROS를 매번 실행할 때마다 이러한 설정을 해주는 것은 너무나도 불편한 것입니다. 따라서 bashrc 를 통해 항상 shell을 킬때마다 자동으로 환경변수가 설정되도록 해주는 것이 좋겠습니다. 물론 이것을 원치 않으신 분들은 다른 방안도 제시하고 있으니 그것을 따라하세요.

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

$ source ~/.bashrc

추가로 환경변수가 제대로 추가되어 있는지 확인하기 위해, 아래 명령어를 통해 확인해봅니다.

$ printenv | grep ROS

저는 총 5개 정도가 나왔는데, 

ROS_ROOT 와 ROS_PACKAGE_PATH 와 같은 환경변수가 확인되면 정상적으로 추가된 것입니다.





rosinstall 설치


rosinstall은 소스기반의 설치 Tool입니다. VCS라는 말을 들어보셨을 겁니다. 제 포스팅 중에도 있는데, 버전관리 시스템입니다.

이 패키지를 사용하면, git과 같은 VCS로부터 update를 받을 수가 있습니다. 단 하나의 커맨드로요!

뭐, 이건 나중에 쓰기 전까지는 그 가치를 알 수 없으니 일단 시키는대로 설치하고 넘어가도록 하시죠 :)

$ sudo apt-get install python-rosinstall




ROS Workspace 생성


작업 공간을 만들어보고 테스트도 해봐야겠죠?

그 가장 기본인 디렉토리 생성 및 초기화 작업을 진행합니다.

catkin과 rosbulid라는 커맨드가 존재하며, ROS Fuerte를 포함한 그 이전 버전들에서는 이것을 사용해야 합니다.

하지만 우리는 Kinetic 설치를 하고 있기때문에 catkin을 사용합니다!

$ mkdir -p ~/catkin_ws/src

$ cd ~/catkin_ws/src

$ catkin_init_workspace

이제 build를 해보죠. 물론 어떠한 소스도 들어있지 않기때문에 src폴더를 열어보면 CMakeLists.txt 만 존재할겁니다.

그래도 해봅니다.

$ cd ~/catkin_ws/

$ catkin_make


네, 막 이런저런 것들을 수행하더니 끝났네요.

그리고 "build"와 "devel"이라는 폴더가 생겨난 것을 보실 수 있습니다.

위 화면의 가장 마지막에 보면 build 폴더 안에서 무언가 make되었다는 것을 알 수 있습니다. 들어가보겠습니다.

여러가지 파일들이 생겨난 것을 볼 수 있습니다. 뿐만 아니라 "devel"안을 보니 setup과 관련된 것들이 보이네요.

여기서 다음 명령을 내립니다.

$ source devel/setup.bash

그리고 방금 전의 setup으로 자신의 workspace가 올바로 overlay되게 하기 위해, 아래와 같이 환경변수를 포함시켜 줍니다.

$ echo $ROS_PACKAGE_PATH /home/youruser/catkin_ws/src:/opt/ros/kinetic/share



그냥 따라만 했는데 여기까지 되었네요!

앞으로 자주 등장하게 되는 catkin에 대해 궁금하신 분들은 http://wiki.ros.org/catkin  링크의 내용을 참조해주세요.



저작자 표시 비영리
신고

'Robotics' 카테고리의 다른 글

[ROS] ROS 삭제하기  (0) 2016.12.23
[ROS] ROS Kinetic install on Ubuntu 16.04.1 LTS  (2) 2016.12.23
댓글
  • 프로필사진 신소피 안녕하세요!!!
    $ echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
    $ source ~/.bashrc
    이 부분 타이핑 했습니다만,
    $ source ~/.bashrc 이걸 입력하니까,
    "source: command not found
    이런 말이 뜨네요 ㅠㅠㅠ 무시하고 넘어갈 수는 없을 것 같은데 ㅜㅜ 어떻게 해야 할까요
    2017.01.18 12:51 신고
  • 프로필사진 OpenMaker 안녕하세요~

    현재 어떠한 조건에서 진행하고 있는지 알 수 없어 명확한 답변을 드리기는 어렵지만, 아래의 링크 내용을 참조해서 해보시면 좋을 것 같습니다.

    http://unix.stackexchange.com/questions/202332/sudo-source-command-not-found

    혹시 sudo su를 통해 이미 superuser로써 shell을 사용하고 계신건 아닌지 확인 부탁드릴게요 :)
    2017.01.18 13:02 신고
댓글쓰기 폼