close_btn
로그인, 회원가입후 더 많은 혜택을 누리세요 로그인 회원가입 닫기

2016.07.28 Leewoongwon


<Pixhawk와 ROS를 이용한 자율주행>

 

목차

1. 외장하드에 UBUNTU 설치

2. Ubuntu에 ROS Indigo 설치

3. Gazebo6 설치

4. MAVROS와 PX4 설치

5. Software In The Loop(SITL)

6. More about SITL

7. ROS와 PX4의 구조

8. Off-board Control (1) Pixhawk

9. Off-board Control (2) Raspberry Pi

10. Off-board Control (3) Mavros

11. Off-board Control (4) Test Flight

 


9. Off-board Control (2) Raspberry Pi

 

1. Off-board Control

 

쿼드콥터를 자율주행하기 위해서 Pixhawk와 Raspberry Pi를 이용할 건데 각각에는 PX4와 ROS가 설치됩니다. 두 Module이 Mavros라는 노드를 통해 되어서 픽스호크는 제어를 하게 되고 라즈베리파이는 offboard control을 하게 됩니다.

Screenshot from 2016-07-28 22:15:03.png

 

 

따라서 전 글에서는 Pixhawk보드를 설정하고 쿼드콥터를 날리기 위한 준비를 했었습니다. 이제는 Offboard control을 위해서 Raspberry Pi를 설정해줘야합니다. 해야할 일은 다음과 같습니다.

 

1. 라즈베리파이에 Ubuntu 16.04 Mate설치

2. 라즈베리파이에 ROS kinetic설치

 

 

위 과정을 수행하기 전에 라즈베리 파이가 무엇인지, 그리고 라즈베리 파이를 사용하기 위한 기본적인 세팅을 살펴보겠습니다.

 

 

2. Raspberry Pi

 

https://namu.wiki/w/%EB%9D%BC%EC%A6%88%EB%B2%A0%EB%A6%AC%20%ED%8C%8C%EC%9D%B4(%EC%BB%B4%ED%93%A8%ED%84%B0)

 

https:_learningequality.org_media_press_logos_RaspberryPi_Logo.png         http:_www.raspberrypi.org_wp-content_uploads_2015_01_Pi2ModB1GB_-comp-500x283.jpeg

 

 

 

라즈베리파이란 영국 라즈베리 파이 재단에서 만든 초저가/초소형 PC입니다. 교육용 프로젝트의 일환으로 개발되었습니다. 아두이노와 함께 교육용 플랫폼의 대표 주자입니다. 아두이노와는 달리 정말 컴퓨터처럼 사용될 수 있습니다. 그렇게 컴퓨터처럼 사용되려면 몇 가지가 필요합니다.

 

  • 모니터, 키보드, 마우스, 전원선, HDMI케이블

 

필요한 것들을 다 연결한 상태는 다음과 같습니다. 이제 라즈베리 파이에 올라갈 OS를 설치해보도록 하겠습니다.

photo_6.jpg

 

 

 

 

 

3. 라즈베리파이에 Ubuntu 16.04 MATE 설치

https://ubuntu-mate.org/raspberry-pi/

Ubuntu 중에서도 라즈베리파이에 설치할 OS는 Ubuntu-MATE입니다(설치하고 나서 정식 우분투가 라즈베리파이3를 지원한다는 것을 알았습니다 문제 생기면 그 때 다시 설치하려 합니다)

데스크탑에 우분투를 설치할 때와 마찬가지로 이미지파일을 받아서 압축을 풀고 이번에는 라즈베리파이의 SD card에 이미지파일을 구워주고 그 SD card를 라즈베리파이가 꽂아주면 됩니다. 원래는 라즈베리파이 1에 라즈비안이라는 OS를 사용하고 있었는데 Mavros가 설치되지 않는 문제가 있어서 라즈베리파이 3를 구매하고 우분투를 설치하기로 했습니다.(우분투는 라즈베리파이 2부터 지원이 됩니다)

 

우분투 메이트 다운로드는 위 홈페이지에서 하시면 됩니다. 이미지 파일을 구워주는 것은 Win32 disc manager를 사용하였습니다.

 

SD 카드를 라즈베리파이에 꽂으면 다음과 같은 화면이 나옵니다.

photo_5.jpg

 

 

photo_4.jpg

 

 

데스크탑에 설치할 때와 마찬가지로 언어(영어)를 선택해주고 살고 있는 도시인 Seoul를 입력해주면 설치가 시작됩니다.

photo_3.jpg

 

 

photo_2.jpg

 

 

MATE에서는 따로 파티션을 지정해주는 단계가 없습니다. 이렇게 Raspberry Pi 3에 Ubuntu 16.04 MATE를 설치 완료했습니다. 대신에 resize를 해줘야합니다. 처음 MATE가 실행되고 켜지는 창에서 저 빨간색을 선택해주면 됩니다.

https://www.raspberrypi.org/magpi/ubuntu-mate-review/

 

Resize가 되는 과정입니다.

photo_0.jpg

 

 

 

 

 

 

4. 라즈베리파이에  ROS Kinetic 설치

ROS설치에 대해서는 ROS wiki를 참조해주시는 것이 가장 좋습니다. 링크는 다음과 같습니다.

http://wiki.ros.org/ROSberryPi/Installing%20ROS%20Kinetic%20on%20the%20Raspberry%20Pi

 

Wifi를 연결하고 위 링크에 있는 명령어들을 순서대로 실행해주면 됩니다. 명령어들만 나열해 보겠습니다.

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

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

sudo apt-get update

sudo apt-get install ros-kinetic-desktop

sudo rosdep init
rosdep update

 

sudo apt-get install python-rosinstall

 

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

source /opt/ros/kinetic/setup.bash

 

mkdir -p ~/ros_catkin_ws/src

cd ~/ros_catkin_ws/src

catkin_init_workspace

 

위와 같이 ROS Kinetic 완료한 후에 데스크탑에서 설치했던 때와 같이 ROSCORE를 구동시켜봅니다.
Screenshot at 2016-07-28 13_30_11.png

 

 

ROSCORE가 문제없이 잘 실행되면 거북이 예제를 실행해봅니다.

rosrun turtlesim turtlesim_node

Screenshot at 2016-07-28 13_29_58.png

 

 

rosrun turtlesim turtle_teleop_key

다른 창에서 키 노드를 활성화시켜서 키보드로 거북이를 움직여봅니다. 이로서 ROS Kinetic이 설치완료되었습니다.

 

 

 


여기까지 라즈베리파이에 Ubuntu와 ROS설치하는 것을 살펴 보았습니다. 다음 글에서는 라즈베리파이에 Mavros를 설치하고 픽스호크와 연결해서 Mavros의 작동을 확인하고 modudculab_ros 패키지를 실행해보겠습니다.

번호 제목 글쓴이 날짜 조회 수
공지 Drone Control and Utilization Lab. 연구실 안내 모두의연구소 2016.06.12 664
32 Ardupilot을 이용한 임무수행 따라 하기-비행 계획 작성 및 활용 file 마르코프김 2016.12.02 2170
31 Ardupilot을 이용한 임무수행 따라 하기-Flight Mode 설정 file 마르코프김 2016.12.02 1487
30 Ardupilot을 이용한 임무수행 따라 하기-번외 : 드론 조종법! file 마르코프김 2016.12.02 1373
29 Ardupilot을 이용한 임무수행 따라 하기-드론 초기 설정 file 마르코프김 2016.12.02 4281
28 Ardupilot을 이용한 임무수행 따라 하기-Mission Planner 설치 방법 file 마르코프김 2016.12.02 3320
27 opencv + vision based hovering 참고자료 이웅원 2016.11.01 793
26 DCULab 데모데이 MODU쓰기드론 [3] file 이웅원 2016.10.06 435
25 [e-book]Learning ROS for Robotics Programing file 마르코프김 2016.09.13 919
24 2016.09.06 모임자료 file 이웅원 2016.09.06 261
23 Optical flow sensor 조사 [4] file 이웅원 2016.08.30 1825
22 odroid 보드에 ROS 포팅 방법 정리 [1] file 독립군 2016.08.22 986
21 2016.08.16 DCULab 모임자료 file 이웅원 2016.08.16 279
20 PIXHAWK와 ROS를 이용한 자율주행 - 11 : Off-board Control (4) Test Flight [5] file 이웅원 2016.08.08 10210
19 MAVROS Offboard 드론 위치 이동 제어 예제 #2 - 사각형/원 경로로 드론 이동 [2] file 삶사랑 2016.08.05 2182
18 MAVROS Offboard 드론 위치 이동 제어 예제 #1 [7] file 삶사랑 2016.08.03 2445
17 ROS Node 란?: 01. Chatter [5] file 삶사랑 2016.08.03 1106
16 PIXHAWK와 ROS를 이용한 자율주행 - 10 : Off-board Control (3) Mavros [19] file 이웅원 2016.07.29 19251
» PIXHAWK와 ROS를 이용한 자율주행 - 9 : Off-board Control (2) Raspberry Pi [1] file 이웅원 2016.07.29 12044
14 PIXHAWK와 ROS를 이용한 자율주행 - 8 : Off-board Control (1) Pixhawk [3] file 이웅원 2016.07.26 11595
13 ROS 분산 컴퓨팅 환경 설정 [9] file 삶사랑 2016.07.20 943