이전 글...
드론 만들기
하드웨어
드론 만들기 - QGroundControl에서 Pixhawk 4 펌웨어 설치
드론 만들기 - QGroundControl에서 Pixhawk 4 설정하기 1/2
드론 만들기 - QGroundControl에서 Pixhawk 4 설정하기 2/2
드론 만들기 - Power Management Board
소프트웨어
드론 만들기 - MissionPlanner와 QGroundControl
드론 만들기 - QGroundControl에서 Pixhawk 4 펌웨어 설치
드론 만들기 - QGroundControl에서 Pixhawk 4 설정하기 1/2
드론 만들기 - QGroundControl에서 Pixhawk 4 설정하기 2/2
조립
드론 만들기 - GPS, Telemetry Pixhawk 4에 연결하기
비행
드론 만들기 - 쿼드콥터(Quadcopter) 비행 원리
기타
드론 만들기 - VMware Workstation Pro 설치하기
드론 만들기 - VMware Workstation Player에 Virtaul Machine 만들기
드론 만들기 - VMware Workstation Player에 Ubuntu 설치하기
완전 초짜의 드론 만들기 도전! 도전! 도전~!입니다.
맨땅에 헤딩~
인터넷 검색, 관련 사이트를 참고하여 Pixhawk 4를 이용한 중/소형 드론을 만들려고 하고 있습니다.
참고만 하세요~!
드론을 만들려고 부품을 구매할 때 가장 먼저 Flight Controller(FC)를 구매해야 한다. 물론 드론 만드는데 기본 지식이 가득하다면 필요한 부품들을 한꺼번에 구매해도 좋겠지만 초보다 보니 조심하는 차원에서 FC를 우선 구매하기로 했다.
소스가 오픈되어 있고 확장성이 넓은 Pixhawk를 구매하기로 결정을 하고 난 뒤에 판매 사이트에서 검색을 하는데 종류가 한두 가지가 아니다. 게다가 Pixhawk 앞과 뒤로 숫자며 영문자가 붙어 뭐가 뭔지 더 혼란스럽다.
Pixhawk는 삼성 핸드폰 갤럭시 s1, s2..처럼 Pixhawk 개발팀에서 시리즈 별로 1, 2...로 만들어내는 게 아닌가?
아니라면 픽스호크는 뭔가?!
1. Pixhawk는 뭔가?
Pixhawk는 독립적인 오픈 하드웨어 프로젝트로 2008년도에 ETH Zurich의 학생 프로젝트로 시작했다. 이 프로젝트의 목적은 저렴하면서 쉽게 접근할 수 있는 고품질의 오픈 소스 자동 조종 시스템을 만드는 것이었다. 지금까지 MAVLink, Pixhawk, PX4, QGroundControl을 개발했다.
MAVLink란 Micro Air Vehicle Link의 약자로 무인 장치의 통신 프로토콜이고, PX4는 펌웨어, QGroundControl은 무인장치 용 지상 통제소(Ground Control Station)이다.
그럼 Pixhawk는 뭔가?
오픈 소스는 많이 들어봤어도 오픈 하드웨어는 익숙하지 않은 단어이다. 하지만 모든 것이 열려있다는 오픈이라는 단어에서 의미를 유추할 수 있다.
핸드폰은 복잡한 전자제품이라 아무나 만들 수가 없다. 핸드폰을 만드는 제조사 중 그 누구도 자사 제품의 하드웨어 설계 정보를 제공하는 곳은 없다. 기껏해야 어떤 프로세서를 사용했는지, 센서가 어떤 것이 장착되었고 카메라 모듈에 대해서 언급할 뿐이다. 사실 이런 요소들은 하드웨어에 대한 정보라기보다는 제품 규격이라는 말이 맞는 것 같다.
오픈 하드웨어라는 것은 하드웨어의 설계정보를 공개하는 것을 말한다. 그러니까 삼성이 갤럭시 하드웨어 설계 정보를 모두 공개해서 원하는 업체들은 갤럭시와 똑같은 핸드폰을 만들거나 또는 갤럭시보다 더 향상된 핸드폰을 만들 수 있게 하는 것이다.
그러니까 픽스호크는 하드웨어 설계 정보가 모두 공개되어 있는 하드웨어 그 자체를 말한다.
2. 픽스호크 종류
위에 언급했듯이 픽스호크는 오픈 하드웨어이기 때문에 픽스호크를 만들고 싶은 제조사는 오픈된 하드웨어 정보를 기반으로 Flight Controller를 만들 수 있다. 현재도 ProfiCNC, mRobotics, HolyBro, PixHack, RadioLink 등의 많은 업체가 픽스호크 시리즈의 FC를 제조하고 있다.
판매 사이트에서 픽스호크를 검색하면 다양한 이름을 가진 제품들이 검색되는 이유도 제조사마다 각자 개발한 FC에 가각의 이름을 붙여서 FC를 판매하고 있기 때문이다.
Pixhawk 시리즈는 하드웨어 또는 소프트웨어를 기준으로 분류할 수 있는데 여기서는 Pixhawk 프로젝트 팀이 개발한 자동비행 보드(AutoPilot Board)인 FMU(Flight Management Unit)의 버젼에 따라서 분류해봤다.
각 FMU는 FMUvX로 표기되는데 vX에서 v는 Version의 약자이고 X는 FMU 버전을 나타내며 숫자인데 숫자가 클수록 최근에 만들어진 FMU이다.
초기 버젼인 FMUv1을 기반으로 만들어진 FC에 대한 정보는 픽스호크 홈페이지에서도 언급된 것이 없어 실제 제조, 판매되지는 않은 것 같다.
FMUv2를 기반으로 한 FC는 유명한 드론 업체인 3DR 사에서 만든 Pixhawk 1이다. 현재 3DR에서는 더 이상 생산하지 않아 정품 구입은 불가능하지만 중국 업체들이 복제본을 생산하고 있어 구입은 가능하다.
FMUv2를 기반으로 한 FC는 그 외에도 Pixhawk 1 복제품을 제조하고 있는 mRobotic사에서 만든 mRobotics-X2.1, 3DR사의 Pixhawk 1과 소프트웨어적으로 호환이 되는 HobbyKing에서 만든 HKPilot32, Pixhawk 1에서 파생된 Holybro의 Pixfalcon, Drotex사에서 만든 DroPix 등이 있다.
세부 사양은 아래의 웹사이트를 참조한다.
3DR Pixhawk 1: https://docs.px4.io/v1.9.0/en/flight_controller/pixhawk.html
mRobotics mRobotics-X2.1: https://docs.px4.io/v1.9.0/en/flight_controller/mro_x2.1.html
HobbyKing HKPilot32: https://docs.px4.io/v1.9.0/en/flight_controller/HKPilot32.html
Holybro Pixfalcon: https://docs.px4.io/v1.9.0/en/flight_controller/pixfalcon.html
Drotex DroPix: https://docs.px4.io/v1.9.0/en/flight_controller/dropix.html
FMUv3을 기반으로 만든 FC는 ProfiCNC사가 만든 Pixhawk 2.1가 있다. 예전에는 Pixhawk 2라고 했지만, 요즘은 Cube로 불린다.
Cube는 배선 장치 감소, 신뢰성 상승 및 조립 편의성을 위해서 다른 픽스호크 시리즈와는 달리 독특한 외관이다. 참조/백업 용으로 장착된 세 번째 관성측정장치(IMU, Inertial Measurement Unit)와 함께 방진 기능이 포함된 두 개의 관성측정장치가 포함되어 있다.
높은 신뢰성으로 산업용 드론에 많이 사용되고 있다.
이후 ProfiCNC사는 Pixhawk 2를 개선한 Pixhack V3을 개발했다. Pixhawk 2에 비해서 향상된 인터페이스 레이아웃에 진동 감쇠 및 온도조절장치 시스템을 추가했다.
FMUv3을 기반으로 한 또 다른 FC에는 Pixhawk 1의 대체품으로 mRobotics사에서 만든 mRo Pixhawk와 mRobotoics사의 또 다른 FC인 Pixracer도 있는데 이 두 FC는 Pixhawk 2 이전에 만들어졌다.
Pixracer의 경우 기존의 Pixfalcon과 Pixhawk 1과 달리 Wifi와 자이로, 가속도 센서 등 새로운 센서가 장착되어 있고 CAN 지원 및 2M 플래시 메모리 지원한다.
세부 사양은 아래의 웹사이트를 참조한다.
ProfiCNC Cube: https://docs.px4.io/v1.9.0/en/flight_controller/pixhawk-2.html
ProfiCNC Pixhack V3: https://docs.px4.io/v1.9.0/en/flight_controller/pixhack_v3.html
mRobotics mRo Pixhawk: https://docs.px4.io/v1.9.0/en/flight_controller/mro_pixhawk.html
mRobotics Pixracer: https://docs.px4.io/v1.9.0/en/flight_controller/pixracer.html
FMUv4를 기본으로 만들어진 FC는 Drotek사의 Pixhawk 3 Pro이다. FMUv4는 PX4팀과 Drotek사가 함께 설계했다.
세부 사양은 아래의 웹사이트를 참조한다.
Drotek Pixhawk 3 Pro: https://docs.px4.io/v1.9.0/en/flight_controller/pixhawk3_pro.html
하드웨어 관련한 문서는 https://pixhawk.drotek.com/en/을 참조한다.
FMUv5를 기반으로 한 Pixhawk 4는 향상된 자동 비행 제어기로 PX4팀과 Holybro가 공동 작업으로 설계 및 생산한 FC이다. 완성도가 높아 학업용 또는 상업용 개발에 적합하다.
FC 구매 시 Power module도 함께 제공되는데 12셀 리튬 폴리머 배터리 팩까지 지원이 가능하기 때문에 고전력을 필요로 하는 대형 드론에도 적합하다.
FMUv5를 기반으로 한 FC로 Pixhawk 4 Mini도 있는데 Holybro사와 Auterion사가 공동으로 설계 개발했다. Pixhawk 4 mini는 Pixhawk 4에서 일반적으로 많이 사용하지 않는 인터페이스들을 제거한 FC로 소형 드론에 적합하며 250mm 레이서 드론에도 장착될 수 있을 정도로 작다.
세부 사양은 아래의 웹사이트를 참조한다.
Holybro Pixhawk 4: https://docs.px4.io/v1.9.0/en/flight_controller/pixhawk4.html
Holybro Pixhawk 4 mini: https://docs.px4.io/v1.9.0/en/flight_controller/pixhawk4_mini.html
FMUv5를 기반으로 설계한 CUAV V5(이전 명칭: Pixhack v5)는 향상된 자동비행 FC로 CUAV에서 설계하고 만들었다. PX4 펌웨어와 완벽하게 호환되며 학교 또는 기업의 개발자를 대상으로 만들었다.
CUAV V5+는 CUAV와 PX4팀이 공동으로 설계했고 CUAV에서 제조한다. 상업용으로 권장되지만 학교 연구용 또는 다른 목적으로도 사용 가능하다. FMUv5와 완벽하게 호환되며 펌웨어 PX4와도 완벽하게 호환된다.
CUAV V5 nano는 CUAV가 PX4팀과 공동작업으로 설계했다. 공간이 제약된 응용분야에 적합하며 220mm 레이싱 드론에 사용할 수 있을 정도로 작지만 대부분의 드론에서 사용할 수 있을 정도로 강력한 기능을 가지고 있다. CUAV V5+와 유사하지만 일체형이며, PWM 포트 수가 줄었고 내부 댐핑이 없다.
세부 사양은 아래의 웹사이트를 참조한다.
CUAV CUAV V5: https://docs.px4.io/v1.9.0/en/flight_controller/cuav_v5.html
CUAV CUAV V5+: https://docs.px4.io/v1.9.0/en/flight_controller/cuav_v5_plus.html
CUAV CUAV V5 nano: https://docs.px4.io/v1.9.0/en/flight_controller/cuav_v5_nano.html
3. 픽스호크의 펌웨어
Flight Controller(FC)로 드론을 만들려고 하면 우선 FC에 펌웨어를 설치해야 한다.
Pixhawk가 지원하는 펌웨어는 ArduPilot과 PX4이다. 무인 장치를 무선통신으로 제어한다는 목적은 두 펌웨어가 동일하지만 그 외에도 유사점과 차이점은 매우 많다. 세부적인 내용은 너무나 방대하기 때문에 각 펌웨어의 홈페이지를 참고하고, 여기서는 사용자들이 많이 언급하는 차이점 몇 가지만 살펴본다.
Pixhawk 홈페이지: https://pixhawk.org/
ArduPilot 홈페이지: https://ardupilot.org/
커뮤니티 같은 곳에서 질의 내용과 답변을 보면 두 펌웨어의 차이점 중 가장 많이 언급되는 것은 안정성이다.
2012년도에 초기 버전이 배포된 PX4보다 이른 2009년도에 초기 버전이 배포된 ArduPilot는 개발팀과 활발한 커뮤니티 활동을 통해서 현재는 안정화 단계에 있다. 그로 인해서 대형 드론에서도 좋은 성능을 보여 특수 목적용 대형 드론에는 대부분 ArduPilot를 사용한다.
아이러니하게도 PX4의 떨어지는 안정성으로 PX4는 취미 용뿐만 아니라 학계에서 연구용으로도 많이 사용하고 있다. ArduPilot의 고정화/안정화된 제어기와 달리 PX4는 다양한 실험이 가능하기 때문이다. 또 다른 이유는 ArduPilot와 비교해서 PX4는 소프트웨어가 더 주를 이루기 때문에, 문제가 발생할 경우 프로그래밍으로 문제를 해결하려는 경향도 있기 때문이다.
ArduPilot와 PX4의 또 다른 차이점은 비록 두 펌웨어가 동일하게 오픈 소스이지만 정확한 저작권 범위가 다르다는 것이다.
ArduPilot의 저작권은 GPLv3인데, ArduPilot 소스를 기본으로 개발한 펌웨어를 판매할 경우 소스를 무료로 공개해야 한다. 이에 반해 PX4의 저작권은 BSD로 PX4를 기반으로 개발한 펌웨어를 상업적으로 배포할지라도 소스를 공개해야 할 의무가 없다.
이러한 차이점이 두 펌웨어의 또 다른 차이점을 만들어 내고 있다. 즉, 소스 공개 의무가 없는 PX4는 기업들의 참여율이 높은 반면에 ArduPilot는 개인의 참여율이 높다. 따라서 ArduPilot의 경우 커뮤니티가 활성화되어있어서 많은 개발정보가 공개되어 있다.
ArduPilot의 응용범위는 광범위하다. 여기서는 드론만 언급했지만 그뿐만 아니라 rover, 보트, 로봇 팔, 잠수함, 고정익 비행체 등에 응용할 수 있다. 현재 Pixhawk 홈페이지에 따르면 PX4 역시 다양한 범위의 무인 장치에 적용이 가능하며 ArduPilot가 제공하는 기능의 대부분을 제공한다고 되어있으나 사용자들의 후기에 따르면 아직 안정성은 떨어진다고 한다.
ArduPilot는 ArduPilot SITL을 이용해서 드론 비행 전 가상으로 시뮬레이션을 해 볼 수 있다. 그 외에도 Gazebo 등의 시뮬레이션 프로그램울 지원하지만, Gazebo의 경우 윈도우 지원이 되지 않아 호환성에 문제점이 있다.
PX4는 SITL 뿐만 아니라 HITL 시뮬레이션도 지원하는데 이 시뮬레이션 프로그램들이 지원하는 운영체계가 각각 다를 수 있기 때문에 사용할 프로그램들의 지원 운영체계 확인 후 설치하는 게 좋다. PX4의 권장 Ground Control Station인 QGroundControl은 대부분의 운영체계를 지원하기 때문에 운영체제의 제약에는 ArduPilot보다 좀 더 자유로울 수 있다.
PX4는 C++으로 프로그래밍되어있지만 ArduPilot는 C++ 만 아니라 Python도 지원된다. 만약 소스 코드를 수정해보고 싶을 경우에는 사용 가능한 프로그래밍 언어를 고려해서 펌웨어를 선택하는 것이 좋을 것 같다.
이전 글...
드론 만들기
하드웨어
드론 만들기 - QGroundControl에서 Pixhawk 4 펌웨어 설치
드론 만들기 - QGroundControl에서 Pixhawk 4 설정하기 1/2
드론 만들기 - QGroundControl에서 Pixhawk 4 설정하기 2/2
드론 만들기 - Power Management Board
소프트웨어
드론 만들기 - MissionPlanner와 QGroundControl
드론 만들기 - QGroundControl에서 Pixhawk 4 펌웨어 설치
드론 만들기 - QGroundControl에서 Pixhawk 4 설정하기 1/2
드론 만들기 - QGroundControl에서 Pixhawk 4 설정하기 2/2
조립
드론 만들기 - GPS, Telemetry Pixhawk 4에 연결하기
비행
드론 만들기 - 쿼드콥터(Quadcopter) 비행 원리
기타
드론 만들기 - VMware Workstation Pro 설치하기
드론 만들기 - VMware Workstation Player에 Virtaul Machine 만들기
드론 만들기 - VMware Workstation Player에 Ubuntu 설치하기
드론 만들기 - QGroundControl에서 Pixhawk 4 펌웨어 설치 (1) | 2020.04.16 |
---|---|
[드론 만들기] MissionPlanner와 QGroundControl (2) | 2020.04.15 |
[드론 만들기] QGroundControl 설치 (9) | 2020.04.13 |
드론 만들기 - 비행 시 주의사항 (0) | 2020.03.30 |
드론 만들기 - 프로펠러(Propeller) (0) | 2020.03.28 |
댓글 영역