'OpenPilot'에 해당되는 글 3건

  1. 2020.03.28 비행제어기(FC)의 역사와 종류(1) 1
  2. 2014.06.03 RapidESC Flashing
  3. 2014.05.26 RapidESC란?


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
Radio Control/ESC2014. 6. 3. 12:35


How is it done?

어떻게 프로그래밍 하는지요?

The process is popularly called flashing. It's actually quite similar to the firmware update from the OpenPilot product through the USB cable and the Ground Control Software.
이 과정은 'flashing'이라고 부릅니다. OpenPilot 제품을 USB 케이블과 지상 제어 스프트웨어(Ground Control Software)를 이용하여 펌웨어를 업데이트 하는 것과 실제로 매우 유사합니다.

The ESC must be connected to the computer via an interface adapter. Afterwards, new software is installed onto the ESC via your computer. Unfortunately, the ESC is not equipped with a standard USB connection port. nor was it intended to be upgraded by the user, so a few little tricks are needed to upgrade the software. This document will illustrate how to successfully upgrade your ESC.
ESC는 인터페이스 어댑터를 통하여 컴퓨터로 연결되어야 합니다. 후로 새로운 소프트웨어가 여러분의 컴퓨터를 통해서 설치됩니다. 불행하게도 ESC는 표준 USB 연결 포트와 잘 연결되도록 갖추고 있지 않으며, 사용자에 의해서 업그레이드를 허용하지도 않습니다. 그래서 작은 트릭이 소프트웨어를 업그레이드 하기 위해서 요구됩니다. 이 문서는 어떻게 여러분의 ESC를 성공적으로 업그레이드 하는 지를 설명할 것입니다.


Risks:
Please note that there is always a possibility you will damage your ESC. Loading the wrong firmware may damage your ESC permanently. The upgrade should be done at your own risk.
여러분의 ESC를 손상시킬 수 있는 가능성이 항상 존재함을 기억하세요. 올바르지 못한 펌웨어를 탑재하는 것은 여러분의 ESC를 영구적으로 손상시킬 수 있습니다. 업그레이드는 전적으로 여러분의 책임입니다.

Compatible ESCs
호환되는 ESC들

The first step is to check whether your ESC can actually be upgraded. At the time of ths writing, only ESCs with an ATMEL micro controller can be upgraded. ESCs equipped with a SiLabs micro controller, which are mainly recent HobbyWing ESCs, cannot currently be upgraded.
처음 단계는 여러분의 ESC가 실제 업그레이드 될 수 있는지 확인하는 것입니다. 이 글을 쓰는 시점에서 ATMEL MCU로 만들어진 ESC만 업그레이드 될 수 있습니다. 주로 최근에 HobbyWing ESC에 사용되고 있는 SiLabs MCU를 실장한 ESC는 현재 업그레이드 할 수 없습니다.

Close up from a Hobbyking 18A ESC with a Atmel micro controller. 

Atmel MCU를 실장한 Hobbyking 18A ESC의 확대사진


An ESC with this version of MCU can normally be upgraded.
이 버젼의 MCU는 정상적으로 업그레이드가 가능합니다.

Close up from a Hobbywing 6A ESC with a SiLabs micro controller.

SiLabs MCU를 실장한 Hobbywing 6A ESC의 확대사진


An ESC with this version of MCU is typically accompanied with 4 contacts or programming points and cannot be upgraded.
이 버젼의 MCU를 실장한 ESC는 전형적으로 4개의 접점 혹은 프로그래밍 포인트를 가지므로 업그레이드를 할 수 없습니다.

Please note that the latest Hobbywing ESCs are no longer sold with an Atmega microprocessor. While earlier versions of these ESCs are equipped with an Atmga MCU and can be upgraded, newer versions cannot be upgraded. The only way of knowing if you have an Atmel processor on your ESC is removing the protective heat shrink and verifying the MCU type. If the MCU is an Atmel like in the above noted picture, then it should be possible to upgrade the ESC.
가장 최근의 Hobbywing ESC들은 더 이상 Atmega MCU를 실장하지 않음을 주의하세요. 반면에 이들 ESC의 초기 버젼들은 Atmega MCU를 내장하여 업그레이드가 가능하고, 새로운 버젼들은 업그레이드 할 수 없습니다. 여러분이 여러분의 ESC가 Atmel 프로세스를 내장하는지를 아는 유일한 방법은 protective heat shrink(외부 포장재)를 제거하고 MCU 형태를 파악하는 것입니다. 만일 MCU가 위에서 언급된 그림에서와 같이 Atmel이라면 그 때 ESC를 업그레이드 하는 것은 가능할 것입니다.

Check your ESC
여러분의 ESC를 확인하세요

The only way to check whether your ESC is compatible and flash new firmware is to remove the protection. Caution here... you can damage the components on the ESC if you are not careful. In the following slideshow an X-acto knife is used to cut the protective shrink tube. Carefully cut along the side of the PCB and do not damage the components.
여러분의 ESC가 호환되고 새로운 펌웨어를 프로그램할 수 있는지는 확인하는 유일한 방법은 보호필름(외부 포장재)을 제거하는 것입니다. 여기서 주의해야 할 것은 여러분이 ESC상에 부품들에 손상을 줄 수 있다는 것입니다. 다음의 슬라이드에서 X-acto 칼이 보호필름 튜브를 자르는데 사용됩니다. PCB의 측면을 따라서 주의롭게 자르고 부품을 손상시키지 않습니다.




The micro controller should be an Atmel controller, it is regularly accompanied with 6 contact points, but this is not necessarily a requirement.
MCU는 Atmel 콘트롤러이어야 합니다. 이것은 보통 6개의 접점 포인트를 가지지만 반드시 있는 것은 아닙니다.


Please refer to the  RapidESC Database to verify if your ESC is compatible.
여러분의 ESC가 호환되는지는 알아보기 위해서 RapidESC 데이터베이스를 참고하시기 바랍니다.



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

RapidESC, 오픈 소스 펌웨어 개발 사이트  (0) 2014.06.19
RapidESC FAQ's  (0) 2014.06.11
RapidESC란?  (0) 2014.05.26
Wii-ESC에 대한 FAQ  (0) 2014.04.07
Wii-ESC 프로젝트의 소개입니다  (0) 2014.04.04
Posted by Nature & Life
Radio Control/ESC2014. 5. 26. 19:11


RapidESC는 Multicopter를 즐기는 DIY 매니아층에서 잘 알려진 이름으로 상업적인 ESC를 말하는 것은 아니며, 기존의 상업적인 ESC들의 최적화된 하드웨어에 Multicopter에서 사용할 목적으로 여러가지 성능이 향상된 펌웨어를 다시 탑재한 ESC를 말합니다.

다음은 RapidESC의 사이트에서 말하는 RapidESC는 무엇인지를 번역하여 올리니 참고하시기 바랍니다.

http://wiki.openpilot.org/display/Doc/RapidESCs


The RapidESC initiative was started to give an honest source of information regarding pre-made and re-flashed ESCs that are modified for extremely high performance on MultiCopters.

RapidESC에 대한 동기는 Multicopter 상에서 매우 향상된 성능을 갖도록 개선하여 미리 만들어지고(pre-made) 다시 프로그램하기(re-flashed) 위해 필요한 정보를 제공하기 위해서 시작되었습니다.


The OpenPilot Team and developers such as Simon Kirby have been working hard to create Open Source firmware that offers the Rapid ESC response performance which greatly enhances multirotor performance.

Simon Kirby와 같은 OpenPilot 팀과 개발자들은 Multirotor의 성능을 크게 향상시키는 빠른 ESC 응답 성능을 갖는 오픈 소스 펌웨어를 만들기 위해서 열심히 연구해왔습니다.


What is RapidESC?

RapidESC는 무엇인지요?


So, what exactly is RapidESC and why do I need it?

그럼 RapidESC는 정확히 무엇이며 왜 필요한지요?


Standard ESCs are actually not designed for multirotor applications. They are programmed to increase and decrease the throttle command towards the motor in a gentle way. The reason for this is quite obvious. Imagine a motor accelerating and decelerating so abruptly in a helicopter or car... it would damage the gears and reductions in no time. In a multirotor application, we really want just the opposite. The goal is to change the motor speed, and thus the thrust, as fast as possible to achieve a perfectly stable platform.

표준 ESC는 사실 Multirotor에 적용할 목적으로 설계되지 않았습니다. 이것들은 스로틀 명령을 모터로 온화한 방법으로 올리거나 내립니다. 이러한 이유는 매우 분명합니다. 헬리콥터나 자동차에서 매우 갑자기 모터를 가속하거나 감속하는 것을 상상해보세요... 이것은 즉시 감속 기어를 손상시킬 수 있습니다. Multirotor 분야에서 우리는 사실 그 반대 특성을 원합니다. 목표는 모터의 속도를 변화시키는 것이고 그러므로 완벽하게 안정된 자세를 성취하기 위해서 가능한한 빨리 추진력을 얻는 것입니다.


While the current ESCs used in most multrotor applications work considerably well, there is a lot of room for improvement. Using the same ESC, but loading it with dedicated optimized software, will increase the handling and stability of your multirotor greatly.

대부분의 Multirotor 분야에 사용되어지는 현재의 ESC는 상당히 잘 동작하는 반면에 많은 개선의 여지가 있다는 것입니다. 동일한 ESC를 사용해서 이러한 최적화된 펌웨어를 탑재하는 것은 여러분의 Multirotor의 안정성과 조종성을 크게 증가시킬 것입니다.


We call this RapidESC: converting your regular lazy ESC into a high speed capable speed controller at no extra cost, ready for multirotor applications.

우리는 이것은 RapidESC라고 부릅니다: 여러분의 일반적인 느린 ESC를 Multirotor에 사용하기 위해서 높은 속도가 가능한 ESC로 바꾸는 것은 어떤 추가적인 비용도 들지 않습니다.


In the below movie you can clearly see the advantage of a RapidESC vs an ESC with stock firmware.

아래 동영상에서 여러분은 분명하게 상업적인 ESC와 RapidESC의 장점을 볼 수 있을 것입니다.


http://www.youtube.com/watch?v=FLKIOPbXVnM








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

RapidESC FAQ's  (0) 2014.06.11
RapidESC Flashing  (0) 2014.06.03
Wii-ESC에 대한 FAQ  (0) 2014.04.07
Wii-ESC 프로젝트의 소개입니다  (0) 2014.04.04
Wii-ESC란?  (0) 2014.03.13
Posted by Nature & Life