외장하드에 UBUNTU 설치
1. Pixhawk
이 프로젝트에는
(1) Pixhawk 보드 + PX4
(2) Raspberry Pi + ROS
이 사용 되었습니다. 일단 pixhawk가 무엇인지에 대해서 설명을 해야할 것 같습니다. pixhawk홈페이지를 참조해서 설명하겠습니다.
https://pixhawk.org/
Pixhawk is an independent, open-hardware project aiming at providing high-end autopilot hardware to the academic, hobby and industrial communities at low costs and high availability. It provides hardware for the Linux Foundation DroneCode project. It originated from the PIXHAWK Project of the Computer Vision and Geometry Lab of ETH Zurich (Swiss Federal Institute of Technology) and Autonomous Systems Lab as well from a number of excellent invididuals (Contact and Credits).
위 글은 홈페이지에서 pixhawk란 무엇인지에 대해서 설명하는 글입니다. 즉, 픽스호크란 독립적이고 오픈된 하드웨어입니다. 개발한 곳은 취리히 공과대학교의 Computer Vision and Geometry Lab와 Autonomous Systems Lab이고 낮은 가격으로 높은 수준의 오픈된 오토파일럿 하드웨어를 제공하는 것이 목표입니다. 이 픽스호크는 두 가지 flight stack을 제공하는데 바로 APM과 PX4가 그것입니다. 그 중에 PX4는 다음과 같은 특징이 있습니다.
APM이 좀 더 취미로 만드는 드론에 적합하다하면 PX4는 architecture가 상당히 잘 되어있어서 연구와 개발이 하기에 더 적합하다고 할 수 있습니다. 또한 ROS(Robot Operating System)과도 연동이 가능하다는 장점이 있습니다. ROS는 로봇을 위한 open-source, meta-operating system입니다. ROS가 무엇인지에 대해서 뒤에서 자세히 다루도록 하겠습니다. 관련 내용은 OROCA홈페이지를 참고하시길 바랍니다.
http://cafe.naver.com/openrt/2360
PX4와 ROS가 연동이 되려면 그 사이의 다리가 필요한데 그 역할을 하는 것이 MAVLINK입니다. mavlink란 micro aerial vehicle communication protocol로서 아래 페이지에 설명되어 있습니다.
http://qgroundcontrol.org/mavlink/start
MAVLink는 ETHZ의 Lorenz Meier에 의해 2009년에 개발이 되었고 다음과 같은 특징을 가지고 있습니다.
MAVLink is a very lightweight, header-only message marshalling library for micro air vehicles.
다음은 공식적인 PX4의 dev페이지 입니다. 글을 작성하는 데 이 페이지를 많이 참고 하였습니다.
http://dev.px4.io/
ROS가 아직 윈도우 환경에서는 잘 작동하지 않기 때문에 Ubuntu를 설치하기로 하였습니다. 따라서 이 글의 처음은 Ubuntu를 설치하는 것으로 시작하겠습니다.
2. Ubuntu 14.04 설치
1. 외장하드에 Ubuntu설치
- Ubuntu 14.04버전 다운로드
저는 노트북의 HDD를 SSD로 교체하였고 교체한 HDD는 외장하드로 활용하기로 했습니다. 이 외장하드에 Ubuntu를 설치하면 개발용 하드가 되는 것 입니다. 저는 현재 Ubuntu14.04버전에 ROS indigo버전을 사용 중입니다.
Ubuntu 14.04버전은 홈페이지에서 다운이 가능합니다. 자신의 컴퓨터(32비트, 64비트)에 맞는 설치용 파일을 다운받아 주시면 되는데 저는 토렌트 파일로 다운 받았습니다. 사이트는 밑과 같습니다.
http://www.ubuntu.com/download/alternative-downloads
토렌트로 다운로드 받으시면 됩니다
- Bootable USB stack만들기
OS를 깔려면 부팅할 외부장치가 필요합니다. 저는 그래서 안쓰는 USB를 그 부팅하는데 사용하려고 합니다. 우분투 홈페이지에 관련 내용이 올라와 있습니다.
http://www.ubuntu.com/download/desktop/create-a-usb-stick-on-windows
홈페이지에서 말하는 RUFUS USB intaller를 설치해주세요. 그리고 홈페이지에 나온 대로 따라하신 후에 USB를 꽂은채로 껐다가 키면 Ubuntu설치 창이 나옵니다.
- Ubuntu 설치
윈도우가 켜질 때 F2를 누르시면 external device로 부팅할 수 있게 설정할 수 있습니다. 첫 화면에서 메뉴를 보면 install안하고 그냥 try만 해볼 수 있다는데 저희는 설치하도록 하겠습니다.두번째 install ubuntu로 선택해줍니다
언어는 English를 선택해주시고 아래와 같이 설정을 해주신 다음에
여기서 중요한 게 기타를 선택하는 것 입니다.그 다음 페이지에서 sda가 있고 sdc가 있는데 순서대로 a,b,c, 이런식으로 이름이 붙기 때문에 usb가 꽂혀 있어서 HDD는 c로 인식하고 있습니다. 이 sdc를 포맷하고 파티션을 새로 짜줘야합니다. 저는 다음 홈페이지를 참조하였습니다.
http://deviantcj.tistory.com/434
여기서 말하듯이 파티션은 세가지로 나눠줘야하는데
- 주 파티션하나(/)
- swap영역하나
- 논리파티션(/home)
이 있는데 (1)과 (3)에 마운트위치를 까먹으시면 안됩니다.
주 파티션에 저는 40기가를 할당했고 swap영역에는 보통 ram의 두 배를 사용한다합니다. 따라서 저는 4기가를 할당했고 나머지는 /home에 몰아줍니다. 여기가 작업할 공간이 됩니다.
이렇게 하시고 나머지는 쭉 해주시면 Ubuntu 14.04 설치가 완료됩니다!
2. 윈도우에서 우분투 듀얼부팅하기(멀티부팅)
http://palpit.tistory.com/765
위 페이지를 참고하시기 바랍니다.
앞에서의 외장하드 설치와는 다른 것은 현재 하드디스크의 파티션을 나눠주고 나눠준 파티션에 우분투를 설치해준다는 것입니다. 그 파티션에서 우분투의 파티션을 정하는 것과 USB로 부팅하는 것등은 다 동일하다고 보시면 될 것 같습니다.
단, 위 페이지에서 설명하지 않은 것은 파티션을 나누는 것은 4개의 파티션이 최대라서 그 이상으로 만들지 못합니다. 따라서 현재 파티션이 네 개인데 하나의 디스크(예를 들면 D드라이브)의 용량을 줄이고 우분투를 만들 파티션을 만들려고 하면 오류가 발생한다고 합니다. 그러한 경우에는 하나를 없애줘야한다고 합니다.
또한 우분투의 파티션을 나누는 것은 설치할 때 설치화면에서 나눠도 되지만 설치하는 첫 화면에서 Try Ubuntu
without installing을 선택해서 우분투에 Gparted를 설치하셔서 하면 더 잘 된다 합니다. 제가 아는 지인도 이런식으로 문제를 해결했었습니다. Ubuntu에서 Gparted설치는 터미널창에서 다음을 실행시키면 됩니다.
sudo apt-get install gparted