2015년 8월 3일 월요일

라즈베리파이2에 ROS 이미지 설치하기

라즈베리파이는 리눅스 기반으로 동작되는 초소형 컴퓨터이다. 로봇 개발 관점에서, 이 컴퓨터를 이용하면, 매우 저렴한 비용으로, 다양한 센서에서 데이터를 취득하거나, 엑추에이터를 제어할 수 있다. 그러므로, ROS와 연동하면 금상첨화일 것이다. 이 글은 라즈베리파이2에 ROS를 설치하는 방법을 설명한다. 이 내용은 ZRob314의 Raspberry Pi and ROS를 참고하였다. 다만, 욕심이 과도해, rviz 등을 설치하려 하지 않는다. 정신 건강상 매우 해로운 일이다.
TurtleBot2 + raspberrypi + xtion + ROS (표윤석)

1. 작업 준비물
라즈베리파이2
8GD SD Card
HDMI 입력 모니터
HDMI 케이블
USB 키보드/마우스
Micro USB 전원선

2. SD카드 이미지 쓰기

아래 링크에서 리눅스에 ROS가 설치된 이미지를 다운 받는다.
그리고, 윈도우즈에서 win32 image writer를 이용해, SD Card에 이미지를 쓴다.
만약, 리눅스 환경이라면, 아래와 같이 dd 명령을 이용해, SD Card에 이미지슬 쓴다.

sudo dd if=/home/username/Downloads/Raspbian-ROS-full.img of=/dev/sdc

3. Rosberry 시작하기

SD Card를 라즈베리파이에 넣고, 부팅을 한다. 그리고, 다음과 같이 입력한다.

Username: pi
Password: raspberry

데스크탑이 실행된 후, Ctrl+Alt+t 키를 눌러 터미널을 실행한다. 그리고, 터미널에 다음과 같이 입력한다.

roscore

정상적으로 실행되면 성공한 것이다.

4. ROS 튜토리얼

roscore에 메시지를 publish 하고, 이 메시지를 subcribe 하는 예제를 간단히 실행해 보겠다. 다음과 같이 터미널에 입력해 본다.

rosrun roscpp_tutorials talker

그럼, 다음과 같이 메시지 publish가 시작될 것이다. 이제, 메시지 구독을 위해, 다음과 같이 입력한다.

rosrun roscpp_tutorials listener

그럼, 똑같은 데이터가 터미널에 출력될 것이다. 이 상황을 노드 그래프로 확인해 보자. 다음과 같이 입력한다.

rxgraph



그럼, 실행되고 있는 노드와 입출력되는 메시지가 보일 것이다. 좀 더 해 보고 싶은 사람은 ROS Tutorials를 참고하길 바란다.

후기 - 실제로 이 작업을 수행해 본 결과, 라즈베리파이 보드 종류와 SD카드 종류에 따라 안되는 경우가 발생하였다. 해당 레퍼런스의 리플들을 확인하면, 이미지 호환성이 그리 좋지 않다는 것을 알 수 있다. 만약, 삽질을 줄이고 싶다면, Desktop 버전은 ROS작업상 불필요하다면, 설치하지 말고, Comm 버전을 설치한다.




댓글 없음:

댓글 쓰기