'PX4'에 해당되는 글 3건

  1. 2020.03.28 비행제어기(FC)의 역사와 종류(1) 1
  2. 2017.03.07 비행제어기(FC)란?
  3. 2013.10.23 3DR社의 Pixhawk


1. 오픈 소스 소프트웨어

오픈소스 플랫폼은 결국 크게는 두 가지로 분류 해볼 수 있다. Non-OS 기반의 펌웨어로 구성된 소프트웨어와 그에 맞는 FC 보드가 있고, OS(Embedded Linux, RTOS) 기반의 소프트웨어와 그에 맞는 FC 보드가 있습니다.

    1. ArduPilot(https://ardupilot.org/)

ArduPilot은 세계 최대 아마추어 자작 드론 커뮤니티 DIY Drones(http://diydrones.com)에서 2007년부터 시작된 GNU GPL v3 라이선스의 오픈 소스 드론 프로젝트이다. 하드웨어로는 APM(ArduPilot Mega), pixhawk, pixhawk2이라 하여 Arduino 기반의 하드웨어를 자체 개발하여 사용하고 있습니다. 3D Robotics와는 자작 드론 커뮤니티 설립부터 함께 해왔기 때문에 3D Robotics 제품에 ArduPilot 기술이 포함되어 커뮤니티와 함께 성장하고 있다. ArduPilot은 드론용 제어 펌웨어는 물론 APM 미션 플래너(APM Mission Planner)라고 하는 그라운드 스테이션용 프로그램도 오픈 소스로 개발/제공하고 있습니다. 뿐만 아니라 ArduPilot은 드론 외에도 일반적인 헬리콥터, 고정익 비행기, 자동차 형태의 로버도 제어할 수 있게 제작되었습니다.

소스코드 https://github.com/diydrones/ardupilot

B. 드론코드(https://www.dronecode.org)

3D Robotics, 퀄컴, Walkera, 패럿, 바이두, Intel, 유닉 등등의 1,200개 이상의 업체가 참여하며 산업용 드론을 포함한 드론 코드로 발전하였습니다. 리눅스 재단이 2014년 Ardupilot, Pixhawk를 체계화 하여 독립적인 오픈 소스, 오픈 하드웨어를 갖는 Dronecode 프로젝트의 하나로서 취리히 연방 공과대학교(ETH Zurich) 출신의 Lorenz Meier가 중심이 되어 진행 중인 자동항법 시스템으로 학계와 마니아 커뮤니티에 표준화된 자동 조종 장치를 제공하는 것을 목표로 하고 있습니다. 2007년부터 DIY Drones(http://diydrones.com)에서 오픈 소스로 진행 중인 프로젝트인 Ardupilot과 양대 산맥을 이루는 오픈 소스 프로젝트라고 볼 수 있습니다. 대표적인 하드웨어로는 Pixhawk와 같은 제어기가 있으며 거의 모든 종류의 비행기 뿐만 아니라 고급 기술이라고도 할 수 있는 수직이착륙형(VTOL) 기체에도 사용할 수 있도록 개발되었습니다.

DroneCode에서는 APM과 더불어, PX4 프로젝트도 통합할 예정으로 알려지며, Pixhawk3 이하 버전에서는 Ardupilot과 PX4가 모두 지원되었지만 Pixhawk4에서는 Ardupilot가 완벽하게 지원할지 모릅니다.

C. PX4 Autopilot(http://px4.io/)

Pixhawk 이후에 하드웨어 소프트웨어적으로 완전한 오픈 소스를 제공하는 Platform으로 다른 오픈 소스와의 가장 큰 차이점은 BSD 3-clause라는 라이선스를 사용하고 있다는 것인데, 이는 GNU GPL 류의 라이선스와는 달리 상업적으로 사용하고 수정하여도 공개할 의무가 없어 예를 들어, 퀄컴(Qualcomm)의 경우 스마트폰용 스냅드래곤 칩을 내장한 Snapdragon Flight를 내놓았으며, 강아지 목줄과 비슷한 형태의 Fotokite, 3DR사의 신제품 Solo drone, 액션 스포츠 촬영용 무인 항공기로 유명세를 치르고 있는 하늘을 나는 개 에어도그(Airdog), 연구용으로 많이 사용되는 AR. Drone 등의 보조 제어기로 사용되어집니다.

민간용 드론에는 각 사가 개발한 Embedded OS가 사용되었습니다. Embedded OS는 한정된 임무만 수행할 수 있었으며, 소프트웨어가 제각각이기 때문에 다른 드론 여러 대를 한번에 조종하는 데 한계가 있었습니다. 최근 드론이 수행하는 역할의 범위가 확대되고 소프트웨어가 관리할 센서와 부품수가 많아지면서 전용 OS의 필요성이 절실해진 상황이 되었고 개발을 진행 중에 있습니다.

소스코드 https://github.com/PX4/Firmware

D. MultiWii(http://www.multiwii.com)

MultiWii는 Multi-rotor RC 모델을 제어하기 위한 범용의 소프트웨어으로 초기에는 Nitendo Wii 콘솔의 자이로와 가속도 센서를 이용하는 것으로부터 시작되었으며 Arduino 환경에서 개발 가능한 8-bit 기반의 AVR 시리즈 마이크로컨트롤러를 사용하는 GNU GPL v3 라이선스의 오픈 소스 FC가 탄생하였습니다.

소스코드 https://code.google.com/p/multiwii

E. Afroflight32(https://github.com/multiwii/baseflight)

BaseFlight로 불리는 Multiwii에 STM32 시리즈 MCU를 채용한 32비트 펌웨어 버전입니다.

F. Cleanflight(http://cleanflight.com)

Cleanflight는 오리지날 8비트 MultiWii 코드의 32비트 버전인 BaseFlight가 이후에 다시 정리된 오픈 소스 비행제어 소프트웨어이고 레이싱 드론을 위한 소프트웨어로 자리매김 하였습니다. 그 이후 더 나아가 자이로센서의 정보를 동기화하는 기술을 접목시켜 BetaFlight를 완성하게 됩니다. 애시당초 CleanFlight에도 GPS 기능이나 RTH(Return to Home) 기능, Waypoint 기능이 있었지만 레이싱 드론의 특성상 진화의 수순이라는 것입니다. 이와 같은 기능들을 유지하고 강화한 iNav는 고정익 드론에서 널리 사용하게 되었습니다. 이외에도 연장선에서 변속기(ESC)도 32-bit STM32 시리즈를 이용한 FC 내부에 포함하는 RaceFlight가 탄생하였고 Kiss와 같은 완성도가 높은 유료 FC가 예입니다.

G. OpenPilot(http://www.openpilot.org)

OpenPilot은 일반 민간인과 연구용으로 사용할 목적으로 OpenPilot 커뮤니티에서 생성된 GNU GPL v3 라이선스의 오픈 소스 UAV Autopilot입니다. 멀티 콥터, 헬리콥터, 고정익 항공기 및 기타 차량을 위한 고성능 플랫폼입니다. 전세계 6,000여 명의 개발자가 모인 드론 OS 개발을 위한 큰 축 중 하나로 관련 기업들 중심인 드론코드와 달리 개발자 중심의 드론 OS 프로젝트입니다. 개발자들 중심으로 운영돼 커뮤니티 성격이 강하며, OS 뿐 아니라 드론 관련 하드웨어를 함께 개발하고 있습니다.

OpenPilot은 2009년에 시작된 FC 펌웨어(On-board firmware)와 지상 조종 스테이션(Ground Control Station)으로 구분해서 개발된 FC입니다. BaseFlight보다 더 다양한 확장성을 가진 LibrePilot을 탄생시켰고 로보틱스까지 다양한 하드웨어를 지원하였지만 2015년 사라지게 되었습니다. 이후 드론 연구와 드론을 이용한 연구에 적합한 소프트웨어인 TauLabs로 발전하였고 비행 본연를 즐기기 위해 오픈 소스인 dRonin이 개발되기도 하였는데, 손쉬운 설정과 함께 골치 아픈 PID 설정을 위한 자동 튜닝(Auto Tune) 기능을 자랑합니다.

H. AeroQuad(http://aeroquad.com)

AeroQuad는 GNU GPLv3 라이선스의 오픈 소스 하드웨어와 소프트웨어 프로젝트입니다. STM32 기반의 AeroQuad32 FC 보드와 AVR Arduino 기반의 보드로 구성되어 있다. 최신 버전은 2013년 1월 이후 개발이 중지된 상태입니다.

소스코드 https://github.com/AeroQuad/AeroQuad

I. Emlid(https://emlid.com)

RaspberryPi 보드에 확장보드 형태로 연결하여 Linux 기반으로 드론을 제어할 수 있도록 한 것입니다.

소스코드 https://github.com/emlid

J. Crazyflie(http://www.bitcraze.io)

GNU GPL v3 라이선스로 다른 오픈 소스 프로젝트들이 대부분 30cm 이상의 중/대형을 목적으로 만들고 있으나, Crazyfly의 경우는 Parrot의 나라 프랑스에서 2003년에 시작된 Paparazzi 등, 작은 소형 기체를 목적으로 하고 있습니다.

소스코드 https://github.com/bitcraze


2. 비 오픈 소스 소프트웨어

A. KK 보드

ATmega644PA MCU를 사용합니다.

B. NAZA

DJI사의 제품입니다.


나. Airware 드론 OS(https://www.airware.com)

Airware 비행제어 시스템은 가상의 어떤 상용 비행체에도 설치가 가능하게 하는 유연하고 확장가능한 모듈라 아키텍처 구조를 지향하는 드론 OS의 개념입니다. 그리고, 안전 민감한 비행 제어부분과는 별도로 어플리케이션 개발이 분리되어 있습니다. 구글벤처스, 인텔캐피탈, GE로부터 자금을 투자받았습니다.


4. 오픈 소스 하드웨어

가. Ardupilot 계열 콘트롤러

오픈 소스 FC 보드의 계열 중에 많이 사용하는 것 중에 하나로서, Arduino기반의 APM(ArduPilot Mega) 계열이 있고, 32비트 ARM 프로세서를 사용하는 Pixhawk 계열이 있습니다. 이들의 확장 버전으로 Dronecode가 있습니다.

나. MultiWii 계열 콘트롤러

가장 많은 사용자들이 사용하고 있는 오픈 소스 프로젝트 중의 하나입니다. 8비트 AVR MCU 기반의 CRIUS나 Flexbot이 있으며, 32비트 ARM 기반의 NAZE32가 있고, 그중 Cleanflight 펌웨어는 상당히 작고 안정된 펌웨어로 알려집니다.

다. OpenPilot 계열 콘트롤러

OpenPilot 계열은 32비트 ARM 기반의 CC3D가 있습니다.

라. Crazyflie 계열 콘트롤러

비트크레이즈사의 Crazyfly는 32비트 ARM 계열의 콘트롤러입니다.




'Radio Control > Flight Controller' 카테고리의 다른 글

비행제어기(FC)란?  (0) 2017.03.07
AutoQuad 6 비행제어기의 스펙  (0) 2015.12.02
AutoQuad 사이트에서 소소 코드를 확인하는 법  (0) 2015.12.02
AutoQuad란?  (0) 2015.11.29
APM v2.5 vs. Crius AIOP  (0) 2014.03.04
Posted by Nature & Life


과거 모형 헬기와 같은 전통적 RC는 메인 로터가 양력을 얻어 부양하고 메인 로터가 회전할 때 회전각에 따른 로터의 피치를 조절하여 헬기가 원하는 방향으로 나아가는데, 메인 로터로 인한 헬기 동체의 반동 토크를 상쇄시킬 목적으로 테일 로터도 함께 회전시키게 됩니다(안정성을 강조한 동축반전 헬기는 제외). 이때 헬기 동체가 정숙하게 방향성을 유지하고 호버링하거나 이동하기 위해서는 자이로(gyroscope) 센서의 도움을 받아 실시간 보상하였는데, 이것이 사실 비행 자동화의 전부였으며 나머지는 오직 조종자의 오랜 비행 경험을 토대로 한 자동 반사적인 키감에 의존하여 매우 역동적인 스포츠를 즐기게 되었습니다.


반면에 드론은 쿼드콥터를 예를 들어, 4개의 프로펠러로 양력을 얻고 원하는 방향으로 나아가기 위해서는 개별 로터의 회전속도를 정교히 제어해야 하는데 이는 컴퓨터의 도움없이는 거의 불가능하다는 것입니다. 이러한 이유로 드론의 비행제어기(FC; Flight Controller)는 사람의 심장과도 유사하여 수신모듈로 부터 수신된 명령 신호를 처리하여 각 암(ARM)의 모터를 제어하고, 게다가 가속도계/자이로 센서를 포함하는 관성측정장치(IMU), 바로미터, 컴파스/지자계 등의 센서 데이터를 기반으로 안정적인 비행이 가능하도록 한다는 것입니다.


최근에는 GPS 센서를 탑재하여 GPS 데이터에 기반하여 사전에 입력된 경유지(waypoint)를 순차적으로 운항하거나 RTL(Return to Launch)라는 자동 회귀 기능 등의 탑재로 조종자의 명령이나 각종 기체 이상 등을 감지하여 이륙 장소로 스스로 귀환시키거나, 영상 및 소리 센서들을 활용한 충돌회피 등등 다양한 기능들이 추가되면서 FC는 날로 매우 빠른 연산을 수행하는 MCU가 필요한 추세라는 것입니다.


이를 증명하듯 수 년전에는 오픈 소스에 기반한 APM(AutoPilot Mega) 보드나 multiwii 보드는 8bit 16MHz의 ATmega328이나 ATmega2560의 MCU가 사용되었는데, 그 후로 AruPilot의 PixHawk(3DR)은 훨씬 강력한 32bit 168MHz의 STMicro사의 ARM Cortex M4를 사용하게 되었습니다. 현재의 오픈 소스의 드론 플랫폼으로 가장 인기있는 PX4는 64bit quad-core 2.26GHz의 퀄컴사 SOC(System on Chip) 기반 스냅드래곤 SOC(System on Chip)을 채용하고 있는 실정입니다.



사실 드론이 안정적인 비행으로 대중화를 선언한 그 이면에는 고성능의 MCU 채용만큼이나 FC에서 중요한 것은 센서 기술의 진화에 있다고 해도 지나치지 않다라는 것입니다. 각종 센서들로부터 드론은 비행 속도/각도, 좌표, 위치 데이타 등을 실시간으로 MCU에 제공하여 상당히 안정적인 비행을 가능하게 하지만, 최근에는 저고도에서의 정확한 고도 유지와 포지션홀드 기능을 위해 초음파센서, 옵티컬플루우(Optical Flow) 센서 등이 사용되고 있으며, 또한 충돌회피를 위해 카메라 센서 기반한 SLAM(SImultaneous Localization and Mapping)등의 알고리즘들이 활발히 연구되고 있다는 것입니다.



Posted by Nature & Life

 

3D Robotics社에서 새롭게 출시하는 Pixhawk를 소개합니다.

 

Pixhawk is an advanced autopilot system designed by the PX4 open-hardware project and manufactured by 3D Robotics. It features advanced processor and sensor technology from ST Microelectronics® and a NuttX real-time operating system, delivering incredible performance, flexibility, and reliability for controlling any autonomous vehicle.

 

Pixhawk는 PX4 공개 하드웨어와 3D Robotics에 설계된 향상된 자동항법(autopilot) 시스템입니다. 이것은 ST Microelectronics社와 NuttX real-time operating system社의 향상된 프로세서와 센서 기술을 이용하여 무인 운전 비행체를 제어하는 데에 놀랄만한 성능과 유연성 그리고 신뢰성을 제공합니다.

 

The benefits of the Pixhawk system include integrated multithreading, a Unix/Linux-like programming environment, completely new autopilot functions such as Lua scripting of missions and flight behavior, and a custom PX4 driver layer ensuring tight timing across all processes. These advanced capabilities ensure that there are no limitations to your autonomous vehicle. Pixhawk allows existing APM and PX4 operators to seamlessly transition to this system and lowers the barriers to entry for new users to participate in the exciting world of autonomous vehicles.

 

Pixhawk 시스템의 장점은 집적화된 멀티스레딩, Unix/Linux 같은 프로그래밍 환경, 미션이나 비행 동작의 Lua  스크립팅과 같은 완전히 새로운 자동 항법 기능들 그리고 모든 프로세스에서 엄격한 타이밍을 보장하는 custom PX4 driver layer를 포함합니다. 이들 향상된 능력은 여러분의 무인 운전 비행체에 어떠한 제한을 두지 않도록 보장합니다. Pixhawk는 기존의 APM과 PX4 사용자들이 이 시스템으로 변화없이 쉽게 옮겨갈 수 있도록 하며 무인 운전 비행체의 흥미로운 세계에 참여하는 데에 새로운 사용자들에게 입문하는 장벽을 낮추게 됩니다.

 

The flagship Pixhawk module will be accompanied by new peripheral options, including a digital airspeed sensor, support for an external multi-color LED indicator and an external magnetometer. All peripherals are automatically detected and configured.

 

기함 Pixhawk 모듈은 디지털 대기 속도 센서를 포함한 새로운 주변기기 옵션을 포함하며 외장 multi-color LED 지시등과 외장 magnetometer를 지원합니다. 모든 주변기기는 자동으로 감지하며 인식될 것입니다.

 

 

Pixhawk 구성

- Pixhawk autopilot

- Buzzer

- Safety switch button

- I2C splitter module with 4-position connector cable

- 3DR power module with XT60 connectors and 6-position connector cable

- Extra 6-position cable to connect a 3DR GPS+Compass module

- Micro USB cable

- SD card and USB adapter

- Mounting foam

 

특징

- Advanced 32 bit ARM Cortex® M4 Processor running NuttX RTOS

- 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

- Backup system integrates mixing, providing consistent autopilot and manual override mixing modes

- Redundant power supply inputs and automatic failover

- External safety button for easy motor activation

- Multicolor LED indicator

- High-power, multi-tone piezo audio indicator

- microSD card for long-time high-rate logging

 

Specifications

마이크로프로세서:

- 32-bit STM32F427 Cortex M4 core with FPU

- 168 MHz/256 KB RAM/2 MB Flash

- 32 bit STM32F103 failsafe co-processor

 

센서:

- ST Micro L3GD20 16-bit gyroscope

- ST Micro LSM303D 14-bit accelerometer / magnetometer

- MEAS MS5611 barometer

 

인터페이스:

- 5x UART (serial ports), one high-power capable, 2x with HW flow control

- 2x CAN

- Spektrum DSM / DSM2 / DSM-X® Satellite compatible input

- Futaba S.BUS® compatible input and output

- PPM sum signal

- RSSI (PWM or voltage) input

- I2C®

- SPI

- 3.3 and 6.6V ADC inputs

- External microUSB port

 

파워 시스템:

- Ideal diode controller with automatic failover

- Servo rail high-power (7 V) and high-current ready

- All peripheral outputs over-current protected, all inputs ESD protected

 

중량 및 크기:

- 무게: 38g (1.31oz)

- 폭: 50mm (1.96")

- 두께: 15.5mm (.613")

- 길이: 81.5mm (3.21") 

 

Posted by Nature & Life