본문 바로가기

& 프로그래밍/& ROS

ROS 개발환경 구축하기(우분투/ROS설치)

ROS가 지원하는 운영체제는 다양하지만, 공식적으로 지원하는 프로그램은 우분투(Ubuntu)이다. 따라서 우분투를 설치해서 개발환경을 구축해놓을 것이다.

 

1. 본인 컴퓨터의 운영체제에 맞게 우분투를 설치한다.

- intel 맥os 같은 경우, 부트캠프를 활용해서 파티션을 분할해서 우분투를 설치하면되고, 윈도우 컴퓨터에 경우 '윈도우+r'을 눌러 diskmgmt.msc에 접속해서 파티션을 분할해주면 된다.

[운영체제별 우분투 설치하기]

- 맥 os : http://wiki.ros.org/kinetic/Installation/OSX/Homebrew/Source  

- 윈도우 : http://wiki.ros.org/hydro/Installation/Windows  

 

2. ROS설치하기

우선 ROS Kinetic을 설치하고, NTP(Network Time Protocol)을 설정해준다. NTP를 설정하는 이유는 PC와 ROS가 가진 시간의 오차를 줄이기 위함이다.

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

다음으로는 ros-latest.list에 ROS 저장소 주소를 추가해준다

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

(나는 리눅스 18.04버전을 사용하고 있기 때문에 arm 리눅스 민트버전을 사용하는 사람은 코드가 다르니 주의!)

 

다음으로 ROS 저장소에 있는 패키지를 내려받기 위해서 공개 key를 추가해준다.

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

※ 공개key는 서버운영에 따라 변경되니까 공식 페이지를 참고해서 수정해줘야한다.

※ 공식 페이지 : http://wiki.ros.org/kinetic/Installation/Ubuntu   

 

이제 데스크탑용 ROS 패키지들을 설치한다

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

위 명령어는 기본적인 rqt관련 모든 패키지들이 한번에 설치된다. 설치시간은 컴퓨터 성능에 따라 다르지만, 나는 대략 20분정도? 꽤 많은 패키지를 설치하더라....

 

3. rosdep 초기화

ROS를 사용하기 전에 rosdep을 초기화해서 핵심 컴포넌트들을 사용하거나 컴파일에 용이하도록 편의성을 높여준다

$ sudo rosdep init
$ rosdep update

4. rosinstall 설치

$ sudo apt-get install python-rosinstall
# ROS에 다양한 패키지를 인스톨한다

$ source /opt/ros/kinetic/setup.sh
# 환경설정 파일을 불러와서 환경변수를 정의해준다

$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace
# ROS 전용 빌드시스템인 catkin 작업폴더를 생성하고 초기화 해준다

$ cd ~/catkin_ws/
$ catkin_make
# catkin 폴더를 생성했으니 빌드를 한다

$ source ~/catkin_ws/devel/setup.sh
# catkin 빌드 시스템과 관련된 환경설정 파일을 불러온다

$ roscore
# ROS 설치가 완료되었으니 명령어를 입력해서 테스트를 한다

'& 프로그래밍 > & ROS' 카테고리의 다른 글

ROS 메시지 통신 이해하기  (0) 2021.06.08
ROS 기본용어 정리  (0) 2021.06.07
ROS 개발환경 구축하기(melodic설치)  (0) 2021.06.07
ROS 활용하기[Manipulator]  (0) 2021.06.03
내가 ROS를 배우는 이유  (0) 2021.05.31