Modified MiniSkywalker Tiltrotor VTOL
아래는 Mini Skywalker 라는 고정익 비행기에 Tilt Rotor를 장착하여 수직이착륙형 비행기(VTOL)로 개조한 내용을 정리한 것이다.
기체는 https://hobbyking.com/en_us/mini-skywalker-840mm-arf.html 에서 구매하였다.
이 기체는 날개 폭 840mm 정도로 소형으로 가격이 저렴하면서 개조가 용이하고 비행 안정성도 어느정도 확보되어있다. 다만 일부 부분에 보강등이 필요하다. 자세한 내용은 아래 VTOL 개조하기 부분을 참조한다.
그림: miniSkywalker 기체
1. VTOL 에 관하여
VTOL 은 Vertical Take Off and Landing의 약자로 "수직으로 이착륙한다" 라는 의미이지만 통상적으로는 날개를 가지고 비행하는 항공기인데 이착륙을 헬기처럼 하는 비행기를 통칭한다. 대표적으로는 AV-8 헤리어나 MV-22 오스프리 같은 항공기가 있다.
하지만 이러한 비행기는 VTOL을 위해서 설계된 비행기이고 그 구조도 매우 복잡하므로 기존 기체를 개조하는 방식으로 접근하도록 한다.
사실 VTOL 비행기를 만드는 가장 간단한 방법은 기존의 고정익 비행기의 무게중심 부분에 4개의 날개를 가진 쿼드콥터를 얹는 방식이다. 대표적으로는 아래 그림과 같은 기체가 있는데 Funcup 이라는 고정익 비행기의 날개에 4개의 프로펠러를 장착할 수 있는 구조물을 만들고 수직비행 상태에는 드론처럼 비행하고 수평비행 상태에는 앞쪽의 프로펠러만 사용하여 비행하는 단순한 방식이다.
VTOL Funcup
자세한 방법은 https://docs.px4.io/en/frames_vtol/vtol_quadplane_fun_cub_vtol_pixhawk.html 에 잘 나와있다.
이러한 구조는 구현하기 쉬운 반면 수평비행 상태에서는 4개의 모터가 모두 놀게 되어 비행기에서 가장 꺼리는 죽은 하중(Dead weight)이 되고 만다. 그리고 비행중에 멈춰있는 프로펠러가 큰 항력을 발생시키므로 비행성능에도 악영향을 끼친다.
이러한 문제점을 해결하기 위해 나온 방식이 프로펠러를 수직과 수평 모든 상태에서 사용할 수 있도록 한 Tilt rotor형 항공기이다.
Tilt Rotor형 항공기(이하 틸트로터)는 비행기의 추력을 만드는 로터를 수직<-->수평 방향으로 변경하여 헬기와 같이 이/착륙 하며 수평상태로 변환 시 일반 비행기처럼 비행이 가능한 항공기로 대표적으로 MV-22 Osprey 혹은 한국항공우주연구원에서 개발한 스마트 무인기가 이에 해당한다.
이러한 방식의 항공기들은 공통적으로 프로펠러를 구동하는 엔진이 날개 끝에서 회전할 수 있다는 점을 확인할 수 있다.
RC 비행기로 상용 제품으로 구현된 기체는 E-Flite의 Convergence가 대표적이다.
이번에 제작한 기체는 바로 이 Convergence라는 기체에서 영감을 얻어 멀티로터 항공기처럼 모터의 회전수로 롤/피치 안정성을 확보하고 이 로터를 앞/뒤로 틸팅할 수 있는 틸트 서보를 장착하여 Yaw방향 안정성을 확보하는 방식이다. 자세한 내용은 아래 문서를 참고하면 된다.
https://docs.px4.io/en/frames_vtol/vtol_tiltrotor_eflite_convergence_pixfalcon.html
2. VTOL 구성
전제적인 구성은 E-flite 의 Convergence 기체를 바탕으로 Elevon으로 된 조종면을 Aileron, Elevator, Rudder 로 변경한 형태이다.
세부사항은 아래 그림과 같다.
그림. VTOL Skywalker 구성도
사용된 주요 부품은 다음과 같다.
추진용 모터: 레이싱 드론용 1806 size 2300kv BLDC 모터 3개
틸트용 서보모터: Corona CS238MG Metal Gear Servo 4.6kg / 0.14sec / 22g 서보 2개
조종면 제어용 서보모터: Sub micro 서보 4개
PX4의 제어 Output은 MAIN 8Pin + AUX 6 Pin으로 구성되어 있으며 각 핀은 아래 표와 같이 할당된다.
PX4 I/O |
Pin 번호 |
역할 |
MAIN |
1 |
Motor Right |
2 |
Motor Left |
|
3 |
Motor Rear |
|
4 |
Empty |
|
5 |
Tilt Servo Right |
|
6 |
Tilt Servo Left |
|
AUX |
1 |
Aileron |
2 |
Elevator |
|
3 | Rudder |
전체적인 시스템은 다음과 같다.
전체 시스템 구성도
3. VTOL 만들기
miniSkywalker 기체를 완성하기 위해 구매한 부품은 다음과 같다.
|
품명 (키워드) |
수량 |
용도 |
구매 사이트 |
1 |
Mini Skywalker 840mm ARF |
1 |
기체 |
https://hobbyking.com/en_us/mini-skywalker-840mm-arf.html |
2 |
Corona CS238MG Metal Gear Servo 4.6kg / 0.14sec / 22g |
2 |
틸트 서보 |
|
3 |
HXT500 Micro Servo 0.8kg / 0.07sec / 6.2g |
3 |
조종면 서보 |
|
4 |
Carbon Batten (1.0x4.0x1000mm) |
2 |
기체 보강 |
http://www.rcme.co.kr/shop/goods/goods_view.php?goodsno=6403156&category=023008 |
5 | Pixhawk PX4 | 1 | 비행제어기 | |
6 | PX4 Airspeed sensor | 1 | 기체속도 측정 | https://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20190123222452&SearchText=pixhawk+air+sensor |
FC 장착 후 모습은 다음과 같다.
4. PX4 Flight Controller 설정하기
PX4는 비행제어를 위한 소프트웨어로 쿼드콥터, 헥사콥터, 고정익 비행기 등 다양한 형태의 무인 비행기를 지원하나 이번에 제작하는 VTOL같은 형태의 경우에는 비행 모드에 따라 다른 서보 출력, 모터 출력을 만들어야하므로 이에 해당하는 설정 파일을 작성해야한다.
이 과정은 px4 프로젝트에 대한 이해를 필요로 하는데 바로 Build 후 업로드하여 설치하고싶다면 다음 git 저장소에서 https://github.com/kyuhyong/Firmware 프로젝트를 다운받고 "vtol_skywalker" 브렌치로 Checkout 하면 된다.
A. Airframe 추가하기
PX4 는 다양한 기체 형태를 지원하기 위해 각각의 설정을 개별적으로 수정하는 대신 하나의 파일로 만들어서 Booting과정에서 해당 파일을 읽어드려 설정하는 방식을 사용하고 있다. 이렇게 하면 기체 설정 파일만 있으면 px4가 탑재된 보드에 쉽게 설정을 옮기고 업로드할 수 있게 된다.
해당 파일들은 Firmware/ROMFS/px4fmu_common/init.d 에 존재한다.
Firmware/ROMFS/px4fmu_common/init.d/13014_vtol_mini_skywalker 내용 추가
그리고 이렇게 추가한 설정 파일을 Build과정에 추가하기 위해
Firmware/ROMFS/px4fmu_common/init.d/CMakeList.txt에 위에서 편집한 파일명을 추가한다.
13014_vtol_mini_skywalker
B.Mixer 파일 추가하기
위에서 만든 파일은 기체 설정, 제어 파라미터에 대한 설정일 뿐 실제 출력은 기체 형태와 서보의 배치, 구성에 따라 달라지므로 각각의 출력을 Mixing하는 과정이 필요하다. PX4에는 main과 aux 채널 각각에 대해 별도의 mixing을 적용할 수 있다. 자세한 방법은 https://dev.px4.io/en/concept/mixing.html 에 있는 문서를 참조한다.
Firmware/ROMFS/px4fmu_common/mixers/ 에서
메인 핀에 연결된 3개의 모터, 2개의 틸트 서보 출력을 위한 vtol_mini_skywalker.main.mix 파일을 추가하여 아래와 같이 편집한다.
다시 AUX핀에 연결된 에일러론, 엘리베이터, 러더 출력을 위한 vtol_AER.aux.mix 파일을 추가한다.
마찬가지로 새로 추가한 파일을 Build과정에 포함하기 위해
Firmware/ROMFS/px4fmu_common/mixers/CMakeList.txt 에 다음을 추가한다.
vtol_minibixler.main.mix
vtol_AER.aux.mix
Build 후 생성되는 px4fmu-v2_default.px4 펌웨어 파일을 QGC를 통해 보드에 다운로드 후 QGC를 재실행 하면 아래 그림과 같이 방금 생성한 Airframe을 선택할 수 있다.
5. 비행 결과
첫번째 비행 결과는 아래와 같았다.
비행 제어기에 설정된 기본 제어 게인으로 비행한 결과 생각보다 안정적으로 전환 및 비행이 이루어졌다.
다만 전진 비행모드에서 수직 비행모드로 전환 시 Throttle 입력이 너무 낮으면(40% 미만) 기체가 제자리에서 회전하는 현상이 발생하였다. 이것은 수직 모드에서 Throttle 이 낮으면 Torque를 상쇄하는 힘이 부족해서 발생하는 것으로 보인다.
때문에 하강시에는 주의하면서 고도를 낮추어야한다.
비행 결과는 아래에 공유한다.
https://logs.px4.io/plot_app?log=190dc440-6d61-4a78-b7ef-3efc18c6a0c3
2019/2/12 최초 문서 발행
'Drone' 카테고리의 다른 글
Cleanflight 2.4 에서 고정익 비행기 설정하기 (0) | 2019.01.07 |
---|---|
Hobbyking Bixler 무인기 프로젝트[Part.2] 드론 자동 비행 (0) | 2018.12.02 |
Freestyle FPV 드론 만들기 (0) | 2018.11.06 |
px4 ulog 분석 툴 소개 (9) | 2018.10.04 |
Cleanflight에서 naze32 보드로 비행기 제어하기 (0) | 2018.03.22 |