본문 바로가기
  • 경제적 자유를 얻는 그날까지
엔지니어링/드론

[PX4 개발자] Pixhawk에 대해서...

by 베니스상인 2019. 7. 9.

픽스호스(Pixhawk)를  처음 알게된 것은 약 3년전 즈음이다.

처음에는 Arduino 기반의 Ardupilot을 접하게 되었다. 드론을 만들고 날려보는 것으로도 신기했지만, 비행제어기 소스를 직접 들여다 볼 수 있다는 것은 신세계였다.

 

오픈 소스를 이용하여 내가 만들 알고리즘을 드론에 올려 미션을 수행해보는 것이 오래전 바램이었거늘 해 놓은 것은 없이 오랜 시간이 지나버린 것 같다.

 

그 당시는 오픈 소스를 건드리는 사람이 극히 드물었지만 요즘은 많은 엔지니어들도 github 같은 곳에서 소스를 다운 받아 분석하고 자신이 수정한 코드를 업데이트하곤 한다.

 

오래전 꿈을 접지 못하고 늦게나마 건드려 보고자 다시 픽스호크 자료를 찾아보게 되었다.

픽스호크를 이용하여 시험해볼 수 있는 것은 굉장히 다양하다. 간단히 stable image를 드론에 올려 미션을 수행해볼수도 있고, 하드웨어 기반의 HILS 시험, Companion Computer를 MAVLink로 연동하여 미션을 수행하거나 그리고 하드웨어가 없다 하더라도 순수 PX4 Firmware만 가지고도 SITL 기반의 시뮬레이션 미션수행, 알고리즘울평가할수있다. 

SITL부터 시작하여 나중에는 Companion Computer를 탑재한 미션 수행까지 하나씩 해볼 생각이다.

 

그리고 그 과정에서 얻게된 산출물들은 앞으로 하나씩 정리하여 이 사이트에 공유할 예정이다.

 

 

그러면 오늘은 먼저 픽스호크에 대해 알아보고자 한다.

 

픽스호크는 오프소스 기반의 비행제어기이다. 2009년 스위스 Zürich 대학의 Lorenz Meier 가 처음 개발하였으며, Lorenz Meier는 현재까지 PX4 오픈 소스 커뮤니티에서 개발자 및 관리자로 활동하고 있다.

처음에는 학교 프로젝트로 비행제어기를 개발하게 되었는데 점점 많은 학생들이 참여하게 되면서 컴퓨터 비젼 분야의 UAV 프레임워크로 자리매김하게 되었다.

Lorenz Meier는 원래 컴퓨터 공학과 출신이라 프로그램은 자신있을지모르지만 비행제어기를 개발하는 것은 다른 범위을 문제가 된다. 따라서 Lorenz Meier를 오픈소스를 통하여 자신이 해결할 수 없는 부분들을 많은 사람들에게 오픈함으로서 더욱 기술 수준을 향상시킨 것이 아닐까 생각한다.

 

픽스호크는 단순히 비행제어기만 존재하는 것이 아니라 GCS(Ground control System), Log Viewer, HILS(Hardware-In-The Loop), SITL(Sofrware-In-The Loop), MAVLink 등의 통신 프로토콜까지 다양한 UAV 개발 생태계를 오픈소스 기반으로 구축해 놓았다.

 

픽스호크 펌웨어는 아래 github에 오픈소스로 공개되어 있어 누구나 이용할 수 있다.

https://github.com/PX4/Firmware

 

PX4/Firmware

PX4 Autopilot Software. Contribute to PX4/Firmware development by creating an account on GitHub.

github.com

 

 

픽스호크 하드웨어 또한 오픈되어  있어, 정품 아닌 가품들이 저렴한 가격에 많이 공급되어져 있다. 정품과 가품의 차이는 크게 없으나 가품은 단가를 낮추기 위해 저렴한 대체부품을 사용한 것들이 있으니 안정성 면에서 부족한 점이 있다.

 

픽스호크는 PX4를 IO보드와 통합한 Pixhawk 가 가장 많이 보급되어 있다. pixhawk 1 의 가장 아쉬운 점은 커넥터인 것 같다. DF시리즈 커넥터는 내구성이 약해서 야외에서 시험하다 보면 커넥터 불량이 생기는 경우가 많다. 그리고 기압계 센서가 바람에 취약해서 오류가 나는 경우를 종종 볼 수 있다.

 

 

Pixhawk 의 하드웨어 사양 및 규격은 아래와 같다.

 

  • Processor
    • 32bit STM32F427 Cortex M4 core with FPU
    • 168 MHz
    • 256 KB RAM
    • 2 MB Flash
    • 32 bit STM32F103 failsafe co-processor
  • Sensors
    • ST Micro L3GD20H 16 bit gyroscope
    • ST Micro LSM303D 14 bit accelerometer / magnetometer
    • Invensense MPU 6000 3-axis accelerometer/gyroscope
    • MEAS MS5611 barometer
  • Interfaces
    • 5x UART (serial ports), one high-power capable, 2x with HW flow control
    • 2x CAN (one with internal 3.3V transceiver, one on expansion connector)
    • Spektrum DSM / DSM2 / DSM-X® Satellite compatible input
    • Futaba S.BUS® compatible input and output
    • PPM sum signal input
    • RSSI (PWM or voltage) input
    • I2C
    • SPI
    • 3.3 and 6.6V ADC inputs
    • Internal microUSB port and external microUSB port extension

 

현재는 큐브 형태의 Pixhawk 2가 출시되어 뛰어난 성능을 자랑하고 있다. Pixhawk 2의 가장 큰 특징은 방진구조와 분리가능한 IMU 센서 탑재라고 볼 수 있다.

 

 

pixhawk 2의 특징은 아래와 같다. pixhawk 1과 비교해볼때 하드웨어 사양은 비슷하지만, 방진구조 설계와 분리가능한 IMU, 정밀도 높은 GPS 등 좀 더  신뢰성있는 비행제어기라고 보여진다.

Key Features

  • 32bit STM32F427 Cortex-M4F® core with FPU
  • 168 MHz / 252 MIPS
  • 256 KB RAM
  • 2 MB Flash (fully accessible)
  • 32 bit STM32F103 failsafe co-processor
  • 14 PWM / Servo outputs (8 with failsafe and manual override, 6 auxiliary, high-power compatible)
  • Abundant connectivity options for additional peripherals (UART, I2C, CAN)
  • Integrated backup system for in-flight recovery and manual override with dedicated processor and stand-alone power supply (fixed-wing use)
  • Backup system integrates mixing, providing consistent autopilot and manual override mixing modes (fixed wing use)
  • Redundant power supply inputs and automatic failover
  • External safety switch
  • Multicolor LED main visual indicator
  • High-power, multi-tone piezo audio indicator
  • microSD card for high-rate logging over extended periods of time

 

픽스호크에 대한 좀 더 상세한 자료는 아래 사이트에서 확인할 수 있다.

https://docs.px4.io/en/flight_controller/pixhawk.html

 

Pixhawk 1 · PX4 v1.9.0 User Guide

No results matching ""

docs.px4.io

 

 

 

Pixhawk는 현재 많은 연구기관 및 대학에서 오픈소스를 이용한 연구용으로 사용되고 있으며, 벤처 또는 대기업들도 오픈소스 기반의 비행제어기 개발을 위해 pixhawk를  활용하고 있다.

 

그 중 하나로 수많은 기업들이 참여하여 UAV 개발을 위해 참여하고있는 Dronecode 프로젝트가 있다. Pixhawk도 Dronecode의 멤버가 되어 오픈소스를 제공하고 공동개발에 투자하고 있다.

 

이 거대한 생태계를 기반으로 많은 UAV가 개발될 수 밖에 없을 것이다.

팬텀, 인스파이어, 매빅으로 유명한 DJI 사나 패럿사도 모두 MAVLink를 사용하고 있다고 들은 바 있다.

개발자마다 각기 다른 프로토콜을 사용하는 것보다 잘 만들어진 프레임을 레퍼런스로 하여 개발하는 것이 훨씬 좋을 것이다.

 

Dronecode에 대한 상세한 내용은 아래 사이트를 참고하면 된다.

 

https://www.dronecode.org/

 

Dronecode - The Open Source UAV Platform

The Dronecode platform contains everything needed for a complete UAV solution: flight-controller hardware, autopilot software, ground control station, and developer APIs for enhanced/advanced use cases. Our members are some of the most influential across t

www.dronecode.org

 

728x90

댓글