30.4.6. VTOL 풍향 최적화(Weathervaning)를 위한 요축(Yaw axis) 각운동량(Angular Momentum) 제어 및 공기역학적 항력(Aerodynamic Drag) 최소화 로직
수직이착륙기(VTOL, Vertical Take-Off and Landing)는 윙(Wing)이 존재하는 고정익의 형상을 띄면서 멀티로터처럼 제자리 정지(Hovering) 비행을 수행할 수 있는 하이브리드 항공기이다. VTOL이 Loiter 모드에 진입하여 멀티로터 모드로 공중에 정지해 있을 때, 거대한 주익(Main Wing)과 동체 측면은 불어오는 바람에 대해 거대한 돛(Sail)과 같은 공기역학적 항력(Aerodynamic Drag)을 발생시킨다.
PX4-Autopilot은 이러한 문제를 해결하고 모터의 전력 소모를 극단적으로 줄이기 위해, 바람이 불어오는 방향으로 서서히 기수(Nose)를 돌리는 웨더베이닝(Weathervaning, 풍향계 효과) 제어 로직을 내장하고 있다.
본 장에서는 제자리 체공 상태의 VTOL이 어떻게 외부 바람의 방향을 역산하고, 요축(Yaw axis) 각운동량을 미세 조정하여 공기역학적 항력을 최소화하는 방위로 자동 정렬되는지 그 구체적 알고리즘을 분석한다.
1. Weathervaning의 필요성과 공기역학적 배역(Aerodynamic Profile)
멀티로터의 경우 전후좌우가 비교적 대칭적이므로 어느 방향으로 바람을 맞든 항력 계수(Drag Coefficient)가 비슷하다. 하지만 VTOL 기체의 경우 다음의 특성을 지닌다.
- 측풍(Crosswind) 노출 시의 문제: 비행기가 측면으로 바람을 맞을 경우, 주익과 꼬리날개 구조물이 거대한 항력 면적으로 작용한다. 기체를 제자리에 유지시키기 위해 멀티로터 모터들은 극한의 롤(Roll) 추력을 내야 하며, 이는 모터 포화(Saturation)와 배터리 급방전을 초래한다.
- 맞바람(Headwind) 노출 시의 이점: 기수(Nose)가 바람이 불어오는 쪽을 향하게 되면 동체 저항이 고정익 비행 때처럼 최소화되며, 날개 위를 흐르는 기류가 양력(Lift)을 추가로 발생시켜 멀티로터 모터(특히 수직 양력 모터)의 부하를 크게 경감시켜 준다.
따라서 PX4 네비게이터 및 위치 제어기는 VTOL 운용 시 기수가 항상 다가오는 기류(Relative Wind) 방향을 향하도록 자율적으로 요(Yaw) 각도를 틀어주는 웨더베이닝 파이프라인을 가동한다.
2. 바람 벡터 추정 및 Weathervaning 논리 연산 구조
웨더베이닝 로직은 별도의 풍향계 센서 없이, 기체의 제어 출력망에 쌓이는 비대칭적 피드백 데이터를 활용해 간접적으로 바람의 방향을 추정한다. 로직(src/lib/weathervane/Weathervane.cpp)은 주로 다음과 같이 3단계로 동작한다.
2.1 롤(Roll) 오차 및 추력 피드포워드 모니터링
호버링 중인 VTOL에 측풍이 불면, 위치 제어기(Position Controller)는 기체가 밀리지 않도록 바람이 부는 방향을 향해 롤(Roll) 각도 설정점(roll_setpoint)을 크게 기울이게 된다.
웨더베이닝 로직은 이 횡방향 추력(Lateral Thrust) 또는 롤 각도가 특정 임계값(WV_EN_MIN_R 등)을 기하급수적으로 초과하는지 여부를 지속적으로 적분 검사한다.
2.2 요축(Yaw) 각운동량(Angular Momentum) 산출
바람이 우측에서 분다면 제어기는 우측으로 롤을 기울인다. 이때 웨더베이닝 알고리즘은 기수를 우측(바람이 불어오는 쪽)으로 돌리기 위한 요축 레이트(Yaw Rate) 목표값 수식을 연산한다.
\dot{\psi}_{target} = K_{wv} \cdot (\phi_{current} - \phi_{trim})
여기서 K_{wv}는 웨더베이닝 비례 게인(Gain)이며, \phi는 롤 각도이다. 이 수식은 롤 각도가 깊어질수록(바람이 강할수록) 요축을 돌리는 각속도 설정점 \dot{\psi}를 증가시킴을 의미한다.
2.3 제어 루프 진입 제약 (Guarding Conditions)
무분별한 요(Yaw) 회전은 사용자 관제에 혼란을 줄 수 있으므로 웨더베이닝 로직은 다음 조건이 모두 성립할 때만 활성화된다.
- 기체가 이륙 고도 이상에 머물러 있을 것 (
WV_ALT_MIN통과) - 사용자가 조종기의 Yaw 스틱을 수동으로 조작하지 않고 있을 것 (스틱 데드존 확보)
- 롤 각도가 바람이 없음을 지시하는 트림(Trim) 구간을 넘어섰을 것
graph TD
A[VTOL Hover/Loiter 진입] --> B{외부 지시 Yaw 제어가 <br>수동으로 입력 중인가?}
B -->|Yes| C[Weathervaning 억제 (Bypass)]
B -->|No| D[Position Controller의 롤(Roll) 각도 또는<br>횡방향 추력(Thrust_Y) 모니터링]
D --> E{Roll 각도가 특정<br>임계값을 돌파했는가?}
E -->|Yes| F[요축(Yaw) 방향을 Roll이 발생한 방향으로<br>비례하여 회전 지시 (Yaw Rate Setpoint 부여)]
E -->|No| D
F --> G[기수가 바람 쪽을 향해 Roll 각도가 0에 수렴]
G --> H[공기역학적 항력 최소화 및 배터리 전력 보존]
3. Ardupilot 대비 PX4의 Weathervane 구현 차이
- Ardupilot의
Q_WVANE로직은 앞서 얻어진 GPS나 대기속도계(Airspeed Sensor)를 바탕으로 EKF가 산출한 풍향(wind_dir)의 절대 좌표를 참조하여 한 번에 헤딩(Heading)을 강제 정렬하려는 방식도 제공한다. - 반면 PX4-Autopilot은 철저히 **닫힌 루프 제어(Closed-loop Control) 내의 역학적 잔여물(자세 기울어짐, Roll Setpoint)**만을 읽어 반응한다. 센서가 계측한 절대 풍향 수치보다 기체가 현장에서 실제로 겪고 있는 외력을 더 직관적인 Ground-truth로 신뢰하는 설계 사상이다. 이 구조는 부정확하게 캘리브레이션된 대기속도관(Pitot Tube)에 의한 거짓 풍향 데이터로 인해 기체가 잘못된 회전을 시작하는 시스템 오작동을 근원적으로 방지한다.
4. 핵심 튜닝 파라미터 (WV Parameters)
WV_EN: 웨더베이닝 활성화 토글 (0: 비활성, 1: 활성)WV_ROLL_MIN: 웨더베이닝 회전을 격발시키는 최소 롤 각도 임계선. 이 값이 너무 낮으면 작은 바람에도 기체가 팽이처럼 빙글빙글 도는 헌팅(Hunting)이 발생한다.WV_GAIN: 요(Yaw) 회전의 민감도를 조절하는 비례 제어 이득. 기체가 바람 방향을 찾기 위해 너무 느리게 회전한다면 이 값을 올린다.WV_YRATE_MAX: 웨더베이닝 루프가 산출할 수 있는 요 레이트(Yaw Rate)의 기계적 초당 최대 속도.
5. 결론: 기구학적 항력 제어의 결정체
VTOL 체공 간 웨더베이닝(Weathervaning) 기술은 하드웨어 센싱의 한계를 소프트웨어 제어 알고리즘의 융합으로 돌파한 우아한 사례다. 위치 제어 루프에서 발생하는 롤 추력 오차를 요 각운동량 제어명령으로 변환하는 이 교차(Cross-coupled) 로직을 통해, PX4는 센서 고장 상황 속에서도 자연의 물리 법칙에 순응하여 비행기 자체의 공력(Wing Aerodynamics) 효율을 최적화하고 임무 시간을 비약적으로 연장시킬 수 있다.