본문 바로가기
  • 빠르게 배우고, 선명하게 기록하다: Swift's Tech Note
드론·로봇 개발

VTOL 야외 비행시험 기록: 컴퍼스 오류, 날개 진동, 호버 스로틀

by 스위프트31 2023. 10. 22.
728x90
반응형

VTOL 야외 비행시험 기록입니다. ArduPlane 기반 쿼드플레인 3대를 2023년 10월 12일, 21일, 22일에 야외에서 시험하며 나온 컴퍼스 오류, 날개 진동, 호버 스로틀 변화를 관찰, 의심, 확인, 조치, 결과 순서로 정리했습니다. 실내 점검과 시험 절차는 이미 올린 글에 있어서 여기서는 뺐습니다.

한눈에 보기

  • 10월 12일 기체 #1: 컴퍼스 캘리브레이션 후 화면의 방향이 실제 기체 방향과 달랐고, 외부 컴퍼스가 내장보다 캘리브레이션이 잘 안 되었습니다.
  • 10월 21일 기체 #2: 기본 PID 그대로 QStabilize, QHover, QLoiter가 안정적이었고, 호버·로이터 전류는 약 28A였습니다.
  • 10월 22일 기체 #3: 날개에 강화필름이 없을 때 이륙 직후 앞뒤 진동이 커졌고, 필름이 붙은 날개로 바꾸자 진동이 사라졌습니다.
  • 점검표와 시험 절차: 실내 점검과 첫 비행, VTOL 야외 비행시험 절차

콘크리트 바닥 위에 놓인 흰색 쿼드플레인 VTOL 기체를 앞쪽에서 본 모습
시험에 쓴 쿼드플레인 VTOL 기체 (2023년 10월)

실험 개요

항목 내용
기체 MFE Fighter 2430mm 쿼드플레인 3대(#1, #2, #3)
비행 제어 ArduPlane (Mission Planner VTOL 버전으로 점검)
조종기, 통신 후타바 14SG, P900 텔레메트리
배터리 Tattu 6S 22000mAh 2개
시험 장소 남사시민야구장 옆 잔디밭 공원
시험일 2023년 10월 12일(#1), 21일(#2), 22일(#3)

조종기의 비행 모드는 6가지로 설정했습니다. Ch5에서 QStabilize, QHover, QLoiter, FBWA, Loiter, RTL을 바꾸고, Auto는 Ch6, RTL은 Ch8로 따로 두었습니다. 6개 모드를 한 채널에 담으려고 3단 스위치와 2단 트림키를 믹싱했습니다.

Mission Planner 비행 모드 설정 화면, 6개 비행 모드와 PWM 구간이 표시되어 있다
Mission Planner의 비행 모드 6개 설정 화면

10월 12일, 기체 #1: 컴퍼스 방향이 맞지 않았다

관찰

아침 6시 야외시험에서 세 가지가 문제였습니다.

  • 컴퍼스 캘리브레이션을 마쳤는데 화면의 방향이 실제 기체의 헤딩과 맞지 않았습니다. 캘리브레이션 후 기체가 아래쪽을 보는데, 컴퍼스 방향은 약 45도 어긋나 있었습니다.
  • 외부 컴퍼스는 내장 컴퍼스보다 캘리브레이션이 잘 되지 않았습니다. 외부 센서는 기체에 180도 돌려 장착되어 Orientation을 Yaw180으로 설정했지만 제대로 인식되지 않았습니다.
  • QRTL과 QLAND 모드에서 시동이 걸리지 않는다는(not armable) 메시지가 나왔습니다.

조종기 배터리가 없어서 이날은 실제 비행을 하지 못했고, 페일세이프 설정이 필요하다는 점도 확인했습니다.

ArduPilot 문서와 맞춰 본 의심 지점

ArduPilot 문서(컴퍼스 고급 설정, Mission Planner 컴퍼스 캘리브레이션)에서 제 증상과 연결되는 내용입니다.

  • 외부 컴퍼스의 방향은 캘리브레이션 중 자동으로 결정됩니다. 이 기능은 COMPASS_AUTO_ROT로 끄거나 보고만 하게 할 수 있고, 컴퍼스가 가속도계 대비 45도 기울어져 방향 결정에 실패하면 COMPASS_AUTO_ROT를 3으로 두고 다시 시도할 수 있다고 안내합니다. 제 기록의 45도 어긋남과 같은 숫자라서 눈에 띕니다.
  • 컴퍼스 방향이 틀리면 절차는 성공한 것처럼 보여도 상태가 매우 나쁠 수 있습니다. 가속도계 캘리브레이션을 컴퍼스보다 먼저 하고, AHRS_ORIENTATION이 올바른지도 확인해야 합니다.
  • 오프셋이 600을 넘으면 자기 간섭을 의심하라고 합니다. 금속이나 자기장을 만드는 기기 근처에서 캘리브레이션하면 실패하거나 잘못된 결과가 나옵니다.
  • 우선순위와 재부팅: 부팅 시 감지된 컴퍼스 중 처음 3개에 우선순위가 부여되고, 1순위가 정상이면 모든 EKF 레인에서 쓰입니다. 캘리브레이션이 끝나면 재부팅해야 하고, 재부팅 전에는 시동이 걸리지 않습니다.

조치와 결과

며칠 뒤 기체 #2 시험에서는 컴퍼스 화면에서 외부 센서를 1순위로 맞추고 캘리브레이션한 뒤 재부팅했고, 결과 화면에서 캘리브레이션 성공을 확인했습니다. #1에서 방향이 어긋난 정확한 원인은 기록에 남기지 못했습니다. 아래 두 화면은 시험 기록에 붙여 둔 것입니다.

Mission Planner 컴퍼스 화면에서 온보드 캘리브레이션이 성공으로 끝나고 재부팅 안내가 뜬 모습
기체 #2: 캘리브레이션 성공 후 재부팅 안내
Compass Priority 표에서 외부 IST8310이 1순위 Yaw90, 내장 BMM150이 2순위 None으로 표시된 화면
컴퍼스 우선순위 화면. 외부 IST8310이 1순위(Yaw90), 내장 BMM150이 2순위(None)

10월 21일, 기체 #2: 기본 PID로 충분했다

같은 절차로 점검한 뒤 비행했습니다. 프롭을 연결하기 전에 서보 방향과 모터 방향을 확인합니다. 하드웨어 안전 스위치가 꺼져 있으면 모터 출력이 나오지 않아서, 스위치 상태를 먼저 보는 것이 순서였습니다. 시동은 스로틀을 내리고 러더를 오른쪽 끝으로 해서 걸었고, 이때 PWM은 약 1100이었습니다.

서보 방향 확인 (FBWA 모드)

  • 기체를 오른쪽으로 기울이면 오른쪽 에일러론이 내려가야 합니다.
  • 기수를 내리면 엘리베이터가 동시에 올라가야 합니다.
  • 위에서 볼 때 기체를 시계 방향으로 돌리면 러더도 시계 방향으로 움직여야 합니다.
  • 푸셔 모터는 기체 정면에서 볼 때 반시계 방향으로 돌아야 합니다.

비행 결과

기본 PID로 QStabilize, QHover, QLoiter가 전반적으로 안정적이어서 PID를 수정하지 않았습니다. 호버링과 로이터에서 소모 전류는 약 28A였습니다. 비행 후에 확인하니 호버 스로틀 값이 0.38에서 0.42 정도로 바뀌어 있었습니다. 기록에는 파라미터 이름이 QTHST_HOVER로 적혀 있고, ArduPlane 4.x 이후에는 Q_M_THST_HOVER 이름으로 보일 수 있습니다. 값이 바뀐 이유까지는 기록하지 않았습니다. 같은 기체라도 무게와 배터리 상태에 따라 호버에 필요한 스로틀이 달라지므로, 비행 후에 이 값을 확인하는 습관이 필요하다는 점만 메모해 두었습니다.

자동 미션은 VTOL 이륙 후 RTL, 이륙 후 웨이포인트를 거쳐 RTL, 이륙 후 로이터를 거쳐 RTL 세 가지를 계획했습니다. Auto 모드는 웨이포인트가 들어 있을 때만 전환됩니다. ArduPilot 문서에 따르면 QRTL은 홈 근처에서는 VTOL로 접근해 착륙하고, 홈에서 멀면 고정익으로 전환해 상승한 뒤 QRTL을 수행합니다(QuadPlane 비행).

10월 22일, 기체 #3: 날개가 흐느적거렸다

관찰

기체 #3은 양쪽 날개에 강화필름이 붙어 있지 않았습니다. QStabilize로 이륙하자마자 앞뒤로 진동이 점점 심해져서 비행 자체가 어려울 정도였습니다.

의심과 확인

비행 전에 강화필름을 붙이지 않은 것이 원인일 것이라고 생각했습니다. 그래서 두 날개를 손으로 흔들어 비교했습니다.

  • 강화필름이 없는 날개는 흔들면 진동이 전체로 전달되며 흐느적거리는 느낌이었습니다.
  • 강화필름이 붙은 날개는 진동이 빨리 잡히고 흐느적거리지 않았습니다. 느낌의 차이가 분명했습니다.

잔디 위에 놓인 흰색 VTOL 기체, 날개 윗면 일부에 연보라색 필름이 보인다
날개 윗면에 연보라색 필름이 보이는 기체 (필름 유무에 따른 차이를 비교하며 시험)

조치와 결과

강화필름이 붙은 기체 #1의 날개를 #3 기체에 달아 다시 시험했습니다. 결과는 아래와 같습니다.

모드 관찰 다음에 할 일
QStabilize 진동 없음, 좋음 -
QHover 약간 뒤로 밀리는 경향, 진동은 없음 좌우 수평 확인
QLoiter 러더 방향과 에일러론이 수평이 아님 러더·에일러론 수평 확인

전반적으로 만족스러운 결과였습니다. 날개 강성에 따라 같은 기체가 전혀 다른 비행 특성을 보인다는 것을 확인한 시험이었습니다. 다만 이것은 두 날개를 바꿔 달았을 때 얻은 한 번의 결과라서, 필름 자체가 원인이라는 결론까지는 아직 단정하지 못합니다. 날개의 다른 차이(장착 상태, 연결부 유격)도 섞여 있을 수 있어, 같은 날개에 필름만 붙였다 떼며 비교하는 시험이 필요합니다.

잔디밭 위에 놓인 흰색 쿼드플레인 VTOL을 위쪽에서 본 모습
기체 #3 시험 장소의 잔디밭

증상, 추정 원인, 조치 정리

증상 추정 원인 조치와 결과
캘리브레이션 후 컴퍼스 방향 약 45도 어긋남 외부 컴퍼스 방향(Orientation) 인식 실패, 자기 간섭 가능성 외부 센서 1순위, 재캘리브레이션 후 재부팅. 정확한 원인은 미확인
QRTL·QLAND에서 시동 안 걸림 확인하지 못함 기록만 남김
QStabilize 이륙 직후 앞뒤 진동 증가 강화필름 없는 날개의 낮은 강성(가설) 필름 붙은 날개로 교체 후 진동 사라짐
QHover에서 약간 뒤로 밀림 확인하지 못함 수평 확인 예정

쿼드플레인 Q 모드를 정리하면

시험 기록에 나오는 모드를 ArduPilot QuadPlane 문서(QuadPlane 비행) 기준으로 다시 정리했습니다.

모드 문서 설명
QHOVER 스로틀 스틱으로 상승·하강 속도를 조절하고 중앙 위치에서 고도를 유지합니다. FBWA에서 전환하면 쿼드 모터가 즉시 작동하고 전진 모터는 멈춥니다.
QLOITER 조종사가 직접 제어하는 모드이며 VTOL 이륙에 쓸 수 있습니다.
QLAND VTOL 모드에서 페일세이프가 발생하면 전환되는 모드입니다. AUTO에서 EKF 실패 시에도 QLAND로 전환됩니다.
QRTL 홈 근처면 VTOL로 홈까지 접근해 착륙하고, 기준 거리 밖이면 고정익으로 전환해 RTL 고도까지 올라간 뒤 QRTL을 수행합니다.

문서가 소개하는 일반적인 비행 순서는 QLOITER나 QHOVER로 VTOL 이륙, FBWA로 바꿔 스로틀 50% 이상으로 고정익 비행 시작, 다시 QHOVER로 돌아와 스로틀을 약 50%로 내려 호버링입니다. 제 시험에서 비행 모드를 6개로 짠 것도 이 흐름을 한 번에 시험하려는 구성입니다.

컴퍼스 문제를 만났을 때 확인하는 순서

  1. 가속도계 캘리브레이션을 먼저 했는지, AHRS_ORIENTATION이 기체 장착 방향과 맞는지 확인합니다.
  2. 금속 구조물, 큰 전류가 흐르는 전원선, 텔레메트리 모듈에서 떨어진 곳에서 캘리브레이션합니다. 이 글의 #1 시험은 이 순서를 지키지 못했을 가능성이 있습니다.
  3. 캘리브레이션 후 재부팅하고, 컴퍼스 우선순위 화면에서 외부 센서가 1순위인지, Orientation 값이 설치 방향과 맞는지 봅니다.
  4. 오프셋 값이 크면(문서는 600 초과를 간섭 신호로 봅니다) 장소를 옮겨 다시 합니다.
  5. 화면의 헤딩을 실제 기체 방향과 눈으로 대조해 어긋남(예: 약 45도)이 있는지 확인합니다.

이 순서는 문서와 제 시험 기록을 합친 점검표이고, 제가 매번 이 순서로 확인했다는 뜻은 아닙니다.

다음 시험에서 확인할 것

  • 조종기 배터리와 페일세이프 동작(조종기 신호 상실 시 어떤 모드로 전환되는지)을 비행 전 점검표에 넣기
  • 컴퍼스는 캘리브레이션 직후 기체 헤딩과 화면 방향을 대조하고, 오프셋 값이 크면 장소를 옮겨 다시 캘리브레이션하기
  • QHover 후방 드리프트와 QLoiter 트림 점검
  • 강화필름 유무만 바꾼 비교 시험

이 글은 점검표와 절차를 뺀 기록입니다. 절차 전체가 필요하면 시험 절차 글을, 첫 비행의 문제점은 첫 번째 글을 보세요. 쿼드플레인 시험에서 컴퍼스 문제를 겪어 보신 적이 있나요? 기체와 센서 구성을 댓글로 알려 주시면 비교해 보겠습니다.

2026년 10월 기준입니다. 시험 기록은 2023년 10월 직접 작성한 메모이고, ArduPilot 문서 내용은 2026년 10월에 확인했습니다.

728x90
반응형

댓글