30.5.2. 상승 단계: 충돌 회피를 위한 안전 고도 확보 시 피치-고도 결합 제어(Pitch-Altitude Coupled Control) 알고리즘
RTL(Return To Launch) 모드 발동 시 가장 먼저 수행되는 절차는 기체가 지형지물(건물, 나무, 산악 지형 등)과 충돌하는 CFIT(Controlled Flight Into Terrain) 사고를 방지하기 위해 미리 설정된 **안전 고도(RTL_RETURN_ALT)까지 상승(Climb)**하는 단계이다.
멀티로터의 경우 단순히 수평 속도를 0으로 만든 채 수직으로만 고도를 높이면 되지만, 고정익(Fixed-wing, FW) 항공기는 양력을 잃지 않기 위해 필연적으로 전진 비행(Forward Flight)을 지속하며 고도를 높여야 한다. 본 장에서는 고정익이 상승 단계(RTL_STATE_CLIMB)에서 목적지 상공을 배회하거나 직선으로 나아가며 안전 고도를 획득하는 과정에서 작동하는 피치-고도 결합 제어(Pitch-Altitude Coupled Control) 원리를 심층 분석한다.
1. 상승 단계(RTL_STATE_CLIMB)의 비행 궤적 특성
네비게이터(rtl.cpp)는 RTL 커맨드 수신 즉시 기체의 현재 고도(Alt_{current})와 복귀 안전 고도(Alt_{target})를 비교한다.
만약 기체가 Alt_{target}보다 낮게 날고 있다면 상승 단계를 강제 발동시킨다. 이때 고정익의 비행 궤적은 다음과 같이 나뉜다.
- 지연된 복귀(Loiter to Climb): 지정된 공간(RTL 발동 지점) 상공을 원형 궤도(Loiter)로 선회하면서
RTL_RETURN_ALT에 도달할 때까지 나선형으로 고도를 높인다. 이 방식은 산악 지형에서 기체가 목표를 향해 무작정 전진하다가 미처 고도를 다 높이기도 전에 산맥과 충돌하는 형국을 방지하기 위함이다. - 직접 복귀 상승(Direct Climb & Return): 목적지와 기체 사이에 고도 장애물이 없는 평지 환경임이 확실할 때, 목적지로 직진 비행 방향을 틀면서 동시에 완만하게 고도를 높여 비행 소요 시간을 최소화하는 방식이다 (
RTL_DEFAULT_PTCHT등 파라미터 개입).
2. 고정익의 피치-고도 결합 제어 (TECS 프레임워크 기반)
고정익의 고도 상승은 멀티로터처럼 모터의 순수 추력(Thrust)만에 의지하지 않고, 추력 에너지(운동 에너지)와 고도(위치 에너지)의 상관관계를 제어하는 Total Energy Control System (TECS) 알고리즘에 기반하여 수행된다.
2.1 TECS의 총 에너지 제어 분배
RTL 상승이 지시되면 네비게이터는 하위 fw_pos_control_l1 (또는 TECS 제어기)로 일정한 목표 상승률(Climb Rate, \dot{h}_{target})을 하달한다.
TECS 시스템은 이 상승률 오차를 극복하기 위해 두 가지 입력을 동시에 증대시킨다.
- 스로틀(Thrust): 모터 출력을 올려 시스템의 전체 에너지(운동 에너지 + 위치 에너지) 파이를 키운다.
- 피치 각도(Pitch Angle): 기수를 들어 올려 대기 속도(Airspeed)를 희생하는 대신 양력 계수와 고도를 확보한다.
\Delta Energy_{Total} \propto \Delta Thrust
\Delta Energy_{Distribution (Altitude \leftrightarrow Airspeed)} \propto \Delta Pitch
graph TD
A[RTL 상승 지시 수신<br>목표 고도 = RTL_RETURN_ALT] --> B[목표 상승률 Setpoint 생성]
B --> C[TECS: Total Energy Control System 진입]
C --> D{스로틀 및 피치<br>동시 제어 연산}
D --> E[모터 스로틀 증가<br>(총 에너지 유입)]
D --> F[피치업 명령 증가<br>(운동 에너지를 위치 에너지로 변환)]
E --> G[기체 가속 및 상승 병행]
F --> G
G --> H{현재 고도 >= RTL_RETURN_ALT?}
H -->|No| C
H -->|Yes| I[상승 단계 종료 및 수평 복귀 단계 전이]
2.2 최대 피치 한계 (Pitch Saturation) 및 실속(Stall) 방지
기체가 목표 안전 고도에 빠르게 도달하기 위해 TECS가 피치를 과도하게 올리면 기체의 받음각(Angle of Attack, AoA)이 임계치를 넘어 실속(Stall) 현상을 겪고 추락할 위험이 있다.
- PX4는
FW_P_LIM_MAX및FW_T_CLMB_MAX등 안전 파라미터를 하드코딩된 한계선으로 두어, 아무리 큰 상승률이 요구되더라도 기체가 지정된 최대 상승 피치 각도를 넘어서 기수를 쳐들지 않도록 클리핑(Clipping)한다. - 또한, 고도를 높이느라 대기 속도(Airspeed)가
FW_AIRSPD_MIN(최저 안전 속도) 근처로 떨어질 조짐을 보이면, 피치-고도 결합 제어기는 일시적으로 상승률 추종을 포기하고 피치를 강제로 숙여 속도(운동 에너지)를 회복하는 실속 방어 로직(Airspeed Priority)을 최우선 발동시킨다.
3. 멀티로터의 독립적 제어와의 구조적 차이점
멀티로터의 RTL 상승은 피치-고도 결합이 전면 배제된다. 멀티로터는 제자리에서 롤/피치 자세를 수평으로 완전 평행하게 락(Lock) 상태로 만든 후, 수직 Z축 모터 추력 모델만을 별도로 가동하여 MPC_Z_VEL_MAX_UP 속도로 RTL_RETURN_ALT를 향해 엘리베이터처럼 솟아오른다. 이렇듯 PX4 rtl.cpp는 기체 타입 마스크(Vehicle Type Mask)를 확인하여 고정익/로버 구조와 멀티로터 구조의 동역학적 상승 메커니즘을 상호 독립적으로 라우팅한다.
4. 핵심 튜닝 지침 및 최적화
비행기(FW)의 궤적이 험난한 협곡이나 급박한 고도 상승을 요하는 지형에 세팅될 때는 다음 사항을 점검한다.
RTL_RETURN_ALT설정이 비행 구역 내 최고 지형지물 대비 최소 30m 이상의 여유고(Clearance)를 갖도록QGroundControl에서 파라미터를 보정한다.RTL_MIN_DIST: 목적지가 이미 기체 바로 코앞일 경우, 굳이 에너지를 낭비하며RTL_RETURN_ALT까지 치솟았다가 다시 수직 강하하는 이중 동작을 금지시키고 즉시 하강 모드로 전환시키는 컷오프(Cut-off) 거리 임계값. 배터리 소모 최적화에 직결된다.
5. 결론
RTL 프로세스 중 상승 단계(RTL_STATE_CLIMB)의 비행 알고리즘은 단일 차원의 제어 루프가 아니다. 특히 고정익 드론의 경우, 수평 이탈을 막는 2D 네비게이션, 양력과 실속을 관리하는 속도 통제, 에너지를 분배하는 TECS 피치-고도 결합 제어기가 삼위일체로 작동하여 장애물 회피 스페이스(안전 고도)를 먼저 확보하는 고도화된 생존 회귀율(Survival Return Rate) 최적화의 첫 관문 역할을 수행한다.