1.2.2 오토파일럿의 3대 핵심 루프: 센서 데이터 융합(Sensor Fusion), 제어 로직 연산, 액추에이터 구동

1.2.2 오토파일럿의 3대 핵심 루프: 센서 데이터 융합(Sensor Fusion), 제어 로직 연산, 액추에이터 구동

무인항공기(UAS)의 자율 비행을 가능하게 하는 지능형 오토파일럿(Autopilot) 아키텍처는 본질적으로 세 가지 핵심 처리 단계의 무한 반복 루프로 정의된다. 즉, 외부 환경 및 기체의 상태를 측정하는 센서 데이터 융합(Sensor Fusion), 측정된 데이터를 바탕으로 목표 궤적을 추종하기 위한 제어 로직 연산(Control Logic Computation), 그리고 연산된 제어값을 물리적인 힘으로 변환하는 액추에이터 구동(Actuator Output) 과정이다.

최신 PX4-Autopilot 펌웨어 소스 코드는 이 3대 핵심 제어 루프가 실시간 운영체제(NuttX RTOS) 기반 위에서 비동기적이고 상호 독립적인 모듈 구성으로 안전하게 동작하도록 정교하게 추상화되어 있다.

1. 센서 데이터 융합 (Sensor Fusion) 및 상태 추정 (State Estimation)

비행 제어 루프의 첫 번째 관문은 기체의 현재 상태(State)를 오차 없이 인지하는 과정이다. 현대의 오토파일럿은 더 이상 단일 센서에 의존하지 않으며, 이종(Heterogeneous) 멀티 센서 배열을 통해 방대한 데이터를 획득한다.

고주파수(High-frequency)로 인터럽트(Interrupt)를 발생시키는 내부 관성 측정 장치(IMU: 가속도계, 자이로스코프)의 데이터는 시스템 반응성이 극도로 뛰어나지만, 시간에 따라 누적되는 표류(Drift) 오차를 수반하는 단점이 있다. 반면, 상대적으로 저주파수(Low-frequency) 응답을 지닌 GPS나 지자기 센서(Compass), 기압계(Barometer)는 절대적인 위치와 방위 데이터를 제공하지만 단기적인 노이즈나 전자파 간섭에 매우 취약하다.

PX4 펌웨어의 확장 칼만 필터 모듈인 ekf2 (Extended Kalman Filter 2)는 이러한 센서별 장단점을 확률적 측정 모델로 역이용하여 다중 센서 데이터 융합(Sensor Fusion) 루프를 돌린다. 이 과정이 완료되면 비로소 기체의 정밀한 3차원 위치(Position), 속도(Velocity), 쿼터니언(Quaternion) 기반의 3차원 공간 자세(Attitude)의 추정값(Estimate)이 시스템 내부에 도출된다.

나아가 ROS2 미들웨어(uXRCE-DDS)와 브리지(Bridge)된 최첨단 관제 시스템에서는, 비행 제어기 외부의 컴패니언 컴퓨터(Companion Computer)에서 딥러닝 혹은 컴퓨터 비전으로 연산된 시각적 관성 주행 거리 측정(Visual Inertial Odometry, VIO) 데이터까지 융합 루프에 VehicleOdometry 메시지 형태로 통합됨으로써, GPS가 완전히 차단된 정밀 실내 환경에서도 한 치의 오차 없는 위치 추정을 보장할 수 있다.

2. 제어 로직 연산 (Control Logic Computation)

센서 데이터를 통해 현재의 상태(Current State)가 확립되면, 두 번째 루프인 제어 로직 펌웨어가 개입한다. 이 단계는 기체의 현재 상태 머신 값과 사용자(조종사), QGroundControl(지상 관제 시스템), 혹은 MAVLink 임무(Mission) 프로토콜 단위가 요구하는 목표 상태(Setpoint) 사이의 수학적 오차(Error)를 계산하고 이를 최소화할 수 있는 복원 제어 신호를 생성하는 핵심 과정이다.

PX4-Autopilot의 비행 제어 스택(Flight Control Stack)은 고도로 직렬화된 다단계 캐스케이드(Cascade) 제어 구조를 갖는다.

  1. 위치 제어(Position Control): 목표 웨이포인트(Waypoint)와의 3차원 공간 좌표 오차를 기반으로 추종해야 할 목표 속도(Target Velocity) 방향과 크기를 산출한다.
  2. 속도 제어(Velocity Control): 목표 속도와 현재 속도의 잔차(Residual)를 줄이기 위해, 멀티로터의 경우 기체가 공간상에서 기울어져야 할 목표 자세(Target Attitude)와 총 필요 추력(Thrust)을 계산해낸다.
  3. 자세 제어(Attitude Control): 목표 롤, 피치, 요 자세에 도달하기 위해 기체 축을 중심으로 선회해야 할 각속도(Angular Rate)를 산출한다.
  4. 각속도 제어(Rate Control): 최하위 마이크로 루프에 해당하며, 목표 각속도를 즉각적으로 달성하기 위한 최종 회전 모멘트(Moment) 지시량을 PID(Proportional-Integral-Derivative) 제어기를 통해 연산한다.

Ardupilot 하이브리드 아키텍처 역시 거의 동일한 캐스케이드 제어 논리를 공유하지만, PX4는 uORB(Micro Object Request Broker) 메시지 버스 통신 메커니즘을 통해 각 제어 단계가 서로 완전히 메모리 분리된 독립 프로세스(App)로 실행되도록 철저히 모듈화(Modularity)되어 있다는 태생적 차별성을 지닌다. 이는 특정 제어 모듈 계층을 로봇 제어 공학 연구자의 독자적인 알고리즘(예: 모델 예측 제어 MPC, 선형 이차 레귤레이터 LQR 등) 프로세스로 자유롭게 갈아끼우기 매우 용이한 환경을 제공한다.

3. 액추에이터 구동 (Actuator Output) 및 믹싱 (Mixing)

연산 루프에서 산출된 최종 제어 신호(롤, 피치, 요 방향의 토크 및 주 추력량)는 물리적 기체의 레이아웃 모형에 맞게 개별 모터나 서보(Servo)의 회전 속도 및 지향 각도로 정교하게 분배 및 변환되어야 한다. 이를 완수하는 마지막 루프가 믹싱(Mixing) 및 액추에이터 구동 단계이다.

PX4는 기체 역학 유형별(멀티로터, 고정익, 잠수정, VTOL, 로버 등)로 고유한 믹서 매트릭스(Mixer Matrix) 혹은 제어 할당(Control Allocation) 체계를 소스 코드 내에 메타데이터로 가지고 있다. 시스템은 믹서 배열을 매초 참조하여 논리적인 3차원 회전 모멘트 요구량을 각 ESC(Electronic Speed Controller) 단말기로 전송할 구체적인 PWM(Pulse Width Modulation) 신호 타이밍 혹은 DShot 고속 디지털 통신 프로토콜 신호로 연산하여 분배한다.

최종적으로 하드웨어 출력 장치인 BLDC 모터나 제어면(Control Surface)이 반응하여 기체의 실제 공력학적 움직임을 유발하며, 이로 인해 변화된 외부 환경과 자세 상태는 다시 첫 번째 추정 루프인 IMU 및 외부 센서들을 통해 전기적 신호로 감지됨으로써, 완벽한 폐루프(Closed-loop) 제어 트랜잭션이 비로소 종결된다.

이러한 유기적인 구조는 비단 비행 제어에 국한되지 않으며, MAVLink를 매개로 한 GCS 원격 관제 지시나 Failsafe(안전 복구 시스템) 발동 명령 구조조차도 결국 이 3대 핵심 루프 상단에 위치하여 단지 목표 지령(Setpoint)의 레퍼런스(Reference)만을 변경하는 방식으로 처리된다는 놀라운 시스템적 일관성을 입증한다.