Pixhawk 는 오픈소스 드론 프로젝트 중의 하나인  ardupilot 의 코드를 실행하기 위한 플랫폼이다.

Ardupilot  은 크게 Ardupilot version 1 과 Pixhawk 용 버전으로 나뉘고 

Pixhawk용 버전은 px4-v2 로 구분되어진다. px4-v1은 이전 버전인 PX4 용 코드이다.


다음은 Mac 환경에서 Pixhawk용 Ardupilot을 Build 하는 과정을 정리해보았다.


이 모든 과정은 OS X Yosemite 10.10.5가 설치된 Mac mini에서 수행되었다.


1. 먼저 http://brew.sh/ 에서  Max OS X 용 Homebrew를 설치한다. 

설치 방법은 다음과 같다.

터미널을 열고 아래 명령어를 복사하여 실행한다.


/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"


필요한 경우 프로그램을 설치할 것이다.


설치가 완료되면 다음을 순서대로 실행한다.

brew tap PX4/homebrew-px4


brew update


brew install genromfs


brew install gcc-arm-none-eabi



2. brew 를 사용하여 최신의 awk 버전을 설치한다.

brew install gawk 



3. 다음 명령어를 실행하여 pip와 pyserial을 설치한다.

sudo easy_install pip 

  sudo pip install pyserial 


4. 새로운 디렉토리를 생성하고 모든 sw를 설치한다.

mkdir -p px4

cd px4

git clone https://github.com/ArduPilot/ardupilot.git

cd ardupilot

git submodule init

git submodule update


5. Arducopter 디렉토리로 이동하여 다음 명령어를 실행한다.

쿼드콥터용 Pixhawk2/Pixhawk 펌웨어 빌드: make px4-v2

핵사콥터용 Pixhawk펌웨어 빌드를 위해서는: make px-v2-hexa

그밖의 다른 프레임을 위해서는 hexa 대신 "octa", "tri" 또는 "heli"를 넣는다.


처음 make 하게 되면 아래와같은 메세지가 뜰 수 있다.

Skipping submodules. NUTTX_SRC is set to /Users/kyubot_macmini2/px4/ardupilot/modules/PX4Firmware/NuttX/nuttx/

Generating uORB topic headers

python import error:  No module named em


Required python packages not installed.


On a Debian/Ubuntu system please run:


  sudo apt-get install python-empy

  sudo pip install catkin_pkg


On MacOS please run:

  sudo pip install empy catkin_pkg


On Windows please run:

  easy_install empy catkin_pkg


make[1]: *** [generateuorbtopicheaders] Error 1

make: *** [px4-io-v2] Error 2

이 에러는 python 페키지가 없어서 발생하는것으로 추정되는데 이때는 설명대로 

pip 명령어로 catkin_pkg 를 설치한 후 다시 빌드해본다.

그러면 정상적으로 빌드가 되는것을 볼 수 있다.


주. catkin_pkg는 다시 검색해보니 ROS를 지원하기 위한 Python 라이브러리이다.


빌드가 완료되면 ArduCopter 디렉토리에 ArduCopter-v2.px4 라는 파일이 생성된다.


+ Recent posts