2026년 08월 24일 PX4-Autopilot 주간 개발 동향: 하드웨어 확장, 시스템 안정화 및 MAVLink 보안 강화
PX4 커뮤니티 개발자 여러분, 2026년 08월 24일자 PX4 주간 통합 브리핑입니다. 지난주 PX4 Autopilot 프로젝트는 광범위한 하드웨어 지원 확대, 핵심 시스템 안정화, 그리고 몇몇 중요한 버그 수정에 집중하며 활발한 활동을 보였습니다. 특히, 새로운 비행 제어 보드 및 센서 드라이버 추가가 두드러졌으며, 시뮬레이션 환경 개선과 더불어 비행 제어 알고리즘의 정밀도를 높이는 작업이 꾸준히 진행되었습니다.
주목할 만한 점은 MAVLink 프로토콜과 GPS NMEA 파서에서 발견된 여러 보안 취약점 이슈로, 이는 드론 시스템의 견고성과 안전성에 대한 지속적인 관심을 요구합니다. 또한, QGroundControl의 최신 안정화 버전 출시와 개발자 포럼에서의 활발한 논의는 PX4 생태계의 성숙도를 보여주고 있습니다. 전반적으로, 개발 팀은 기능 확장과 동시에 시스템의 신뢰성을 높이는 균형 잡힌 접근 방식을 유지하고 있습니다.
PX4 릴리즈 및 버전별 주요 변경 사항
지난 7일 동안 새로운 공식 릴리즈는 없었으나, 최근 가장 중요한 사전 릴리즈인 v1.18.0-beta2(2026년 08월 09일 발행)는 개발자 커뮤니티의 주요 테스트 및 피드백 대상입니다. 이 버전은 v1.18.0-beta1 이후 발견된 중요 문제들을 해결하며 안정성을 대폭 개선했습니다.
- v1.18.0-beta2 (상세 보기)
- 고정익(Fixed-wing) 제어 개선: Lat/lon 제어의 NaN eas2tas 버그, Tailsitter의 잘못된 자세 프레임으로 인한 오작동 등이 수정되었습니다.
- QGC 호환성 복원: Multicopter guided takeoff, 카메라 미션 아이템, VTOL 착륙 패턴 등 엄격해진 명령 검증으로 인해 발생했던 QGC 호환성 문제가 해결되었습니다.
- 하드웨어 및 드라이버 안정화: STM32H7 보드의 SD 카드 읽기 오류, FMUv6X-RT FRAM 멀티 페이지 쓰기, FlexSPI DLL 캘리브레이션 문제 등이 수정되어 하드웨어 신뢰성이 향상되었습니다. BMP388 드라이버에 대한 여러 수정사항도 포함되었습니다.
- 추정기(Estimator) 개선: 외부 위치 추정의 하드 리셋 문제 및 DroneCAN 거리 측정기의 오작동 데이터 융합 오류가 수정되었습니다.
- 배터리 관리 및 Commander 기능: 배터리 잔량 미상 시 RTL 트리거 문제 해결, Coulumb 카운팅 정확도 향상, 멀티콥터 오토튠 재실행 기능 등이 추가/개선되었습니다.
- MAVLink 및 빌드 최적화: MAVLink 수신 스레드 스택 크기 조정, FMUv4 (Pixracer) 플래시 용량 확보를 위한 UAVCAN, uXRCE-DDS, mag bias estimator, SIH 기본 빌드 제외 등이 적용되었습니다.
이 베타 릴리즈는 다가올 v1.18.0 안정화 버전을 위한 최종 담금질 단계이며, 광범위한 테스트를 통해 안정성과 성능을 검증하는 것이 중요합니다. 특히 새로운 보드 지원 및 드라이버 업데이트와 관련된 수정사항이 많으므로, 관련 하드웨어를 사용하는 개발자들은 필히 테스트를 진행하고 피드백을 제공해야 할 것입니다.
핵심 GitHub 업데이트 (PX4-Autopilot)
병합(Merged)된 주요 Pull Requests
지난주에는 다양한 분야에서 중요한 PR들이 병합되어 PX4의 기능성과 안정성이 향상되었습니다. 주로 드라이버 안정화, 시스템 내부 최적화, 그리고 시뮬레이션 환경 개선에 초점이 맞춰졌습니다.
- fix(drivers/bmp388): poll STATUS without consuming the data registers: BMP388 기압계 드라이버의 데이터 수집 로직 개선으로 안정성 향상.
- feat(sim): add RotorPy simulator support: 새로운 RotorPy 시뮬레이터 지원 추가로 시뮬레이션 환경 확장. 이는 다양한 비행 모델 및 시나리오 테스트에 기여할 것입니다.
- fix(simulation): align gz_x500 rotor geometry with model: Gazebo X500 모델의 로터 지오메트리 정렬 수정으로 시뮬레이션 정확도 향상.
- fix(msp_osd): fix OSD_SYMBOLS parameter bitmask behavior and missing elements: MSP OSD 파라미터 비트마스크 동작 및 누락된 요소 수정.
- fix(drivers/iis2mdc): read the temperature registers in their own transfer: IIS2MDC 지자기 센서 드라이버에서 온도 레지스터 읽기 로직 수정.
- fix(nuttx): provide floating and wide abs() overloads on NuttX targets: NuttX 타겟에서 abs() 오버로드 제공으로 빌드 호환성 개선.
- Fix SIH position jumping in 0.7 m steps on real flight controllers: SIH(Software In the Loop) 시뮬레이션의 위치 점프 버그 수정으로 실제 FC에서의 동작 정확도 향상.
- fix(drivers/bmp388): collect after forced conversion completes, rewrite driver 및 fix(drivers/bmp388): wait for cmd_rdy before soft reset: BMP388 드라이버의 전반적인 안정성 및 데이터 수집 로직 개선.
- refactor(parameters): merge Param<> constructor calls to save flash 및 refactor(platform): out-line ModuleParams setParent and destructor to save flash: 플래시 메모리 절약을 위한 파라미터 및 플랫폼 관련 리팩토링.
- feat(uavcan): configureable max rates for ESC/Servo output: UAVCAN ESC/서보 출력의 최대 속도 설정 기능 추가.
- fix(flight_mode_manager): re-seed trajectory to measured state while emergency braking: 비상 제동 시 측정된 상태로 궤적을 재설정하여 비행 모드 관리 안정성 강화.
- feat(failure_injection): make SYS_FAIL_RC_INST a bitmask for instance selection: 시스템 장애 주입 기능에 인스턴스 선택을 위한 비트마스크 추가.
- feat(failure_injection): add ADS-B traffic failure injection and battery severity levels: ADS-B 트래픽 및 배터리 심각도 레벨 주입 기능 추가로 테스트 커버리지 확대.
- fix(logging/fuelt_tank_status): log all instances of fuel_tank_status: 다중 연료 탱크 상태 로깅 버그 수정.
- feat(fueltank): multi-fueltank_status support: 다중 연료 탱크 상태 지원 기능 추가.
- feat(driver/dlvr): add support for dlvr airspeed-sensors: DLVR 에어스피드 센서 드라이버 추가.
- fix(boards/px4_fmu-v6xrt): fill FRAM with 0xFF on erase 및 fix(px4/fmu-v6xrt): give LPUART1/8/11 a 600-byte RX buffer: PX4_FMU-v6XRT 보드의 FRAM 초기화 및 UART RX 버퍼 설정 수정.
- feat(vtx): Separate device and protocol parameters for vtx driver: VTX 드라이버의 장치 및 프로토콜 파라미터 분리.
- fix(estimator-checks): do not report sensor failure on jamming detection: 재밍 감지 시 센서 실패를 보고하지 않도록 추정기 체크 로직 수정.
- fix(drivers/icm45686): retry WHO_AM_I on probe: ICM45686 드라이버 프로브 시 WHO_AM_I 재시도 로직 추가.
- refactor(gps): shrink the GPS driver by ~4 KB of flash: GPS 드라이버 플래시 메모리 절약을 위한 리팩토링.
- fix(nxp/adc): initialise each ADC once, not once globally: NXP ADC 초기화 로직 수정.
- fix(manifest): return the matching PAB manifest entry: 매니페스트 버그 수정.
- fix(commander): report the worst IMU in the consistency check: Commander의 IMU 일관성 체크 로직 개선.
- fix(drivers/power_monitor): reject out-of-range INA226 cal and INA228 index 및 fix(drivers/iis2mdc): print the I2C address the driver actually uses: 전력 모니터 및 IIS2MDC 드라이버의 버그 수정.
- ci(build-all): install only what the matrix generator needs 및 ci(macos): key ccache per matrix OS: CI/CD 최적화.
- fix(boards/corvon): unquote BOARD_UAVCAN_INTERFACES: Corvon 보드 빌드 시스템 버그 수정.
- feat(boards/modalai/voxl2): enable temperature compensation: ModalAI VOXL2 보드 온도 보상 기능 추가.
- feat(ver): add command to compare population option: 버전 확인 명령어 개선.
오픈된 주요 Pull Requests 및 Issue 심층 분석
아직 병합되지 않은 PR과 오픈된 이슈들 중에서는 향후 PX4의 방향성을 엿볼 수 있는 중요한 논의들이 진행 중입니다.
주요 오픈 PRs:
- feat(boards): add the ARK FMU-v6XRT, feat(boards): add DAKEFPV H743, H743 Pro and H743 Slim flight controllers, feat(boards/agam-robotics): add Agam Robotics FMU-v6XRT board support: ARK, DAKEFPV, Agam Robotics 등 새로운 비행 제어 보드 지원이 활발히 추가되고 있습니다. 이는 PX4 생태계의 하드웨어 확장성을 지속적으로 강화하는 중요한 작업입니다.
- feat(drivers/imu/st/lsm6dsv): LSM6DSV 80X and 320X, feat(drivers/imu/invensense/iim20670): add the IIM-20670 driver, feat(driver): Murata/SCH16T-K10 IMU with external FIFO driver: 다양한 신규 IMU 센서 드라이버 추가 작업이 진행 중이며, 이는 드론의 센서 정확도 및 호환성 향상에 기여할 것입니다. 특히 Murata/SCH16T-K10 드라이버는
risk:safety-critical라벨이 붙어 있어 신중한 검토가 필요합니다. - feat(uavcan): add bidirectional ESC support for uavcan: UAVCAN 양방향 ESC 지원 기능은 전력 효율성 및 모터 제어 피드백 향상에 큰 영향을 미칠 수 있는 중요한 기능입니다.
- feat(gps): Galileo HAS mode, correction protocol reporting, GPSDrivers bump: Galileo HAS 모드 지원 및 GPS 드라이버 업데이트는 정밀 GPS 성능 향상에 기여할 것입니다.
- refactor(ekf2): separate GNSS heading from position into independent topic: EKF2에서 GNSS 방향 정보를 위치 정보와 별도의 토픽으로 분리하는 리팩토링은 추정기의 모듈화 및 유연성 증가에 중요합니다.
- feat(navigator): mission route planning library: 미션 경로 계획 라이브러리 추가는 자율 비행 기능의 고도화에 필수적인 기반 작업입니다.
- feat(fw_mode_manager): parachute landing via flight termination: 고정익 드론의 비행 종료 시 낙하산 착륙 기능은 안전성 측면에서 중요한 기능입니다.
- feat(platforms): upgrade NuttX to 12.12.0: NuttX OS를 12.12.0으로 업그레이드하는 대규모 PR은 플랫폼의 근간을 바꾸는 중요한 작업입니다. 68개의 댓글이 달릴 정도로 활발히 논의되고 있으며,
risk:safety-critical라벨이 붙어 있어 심층적인 검증이 요구됩니다. 이는 향후 PX4의 성능, 안정성 및 새로운 하드웨어 지원에 큰 영향을 미칠 것입니다. - feat(SIH): Added optical flow sensor: SIH 시뮬레이션에 광학 흐름 센서 지원 추가로, 실내 비행 및 GPS 없는 환경에서의 테스트 역량이 강화될 것입니다.
오픈된 크리티컬 Issue:
이번 주에는 특히 보안 및 데이터 처리와 관련된 몇 가지 중요한 이슈가 제기되었습니다.
- MAVLink FTP (NuttX): write-protection whitelist can be bypassed with an Open+List+Write sequence: MAVLink FTP의 쓰기 보호 화이트리스트가 특정 시퀀스를 통해 우회될 수 있는 심각한 보안 취약점. 이는 펌웨어 및 설정에 대한 무단 접근 가능성을 내포합니다.
- GPS NMEA GSV parser: unclamped satellite count causes stack/heap out-of-bounds writes (single sentence crashes px4): GPS NMEA GSV 파서의 위성 수 처리 오류로 인한 스택/힙 오버플로우 발생 가능성. 단일 문장으로도 PX4를 크래시시킬 수 있어 매우 치명적입니다.
- MAVLink FTP: resend path serializes a 19-byte cached reply as a 254-byte struct (heap out-of-bounds read): MAVLink FTP의 재전송 경로에서 힙 영역 밖을 읽으려는 시도로 인한 오류. 이는 데이터 손상 또는 시스템 불안정성을 야기할 수 있습니다.
- [Bug] USB MAVLink dies permanently after the host closes the port (Linux USB autosuspend + CONFIG_SERIAL_REMOVABLE): Linux 환경에서 USB MAVLink 연결이 영구적으로 끊기는 버그. 개발 및 테스트 환경에서 빈번하게 발생할 수 있는 문제입니다.
- cuav/fmu-v6x (v1.17.0): fixed-wing longitudinal control missing — board still uses FW_POS_CONTROL instead of FW_LATERAL_LONGITUDINAL_CONTROL + FW_MODE_MANAGER: CUAV FMU-v6X 보드에서 고정익 종방향 제어가 누락된 버그. 이는 특정 보드에서의 비행 안정성에 직접적인 영향을 미칩니다.
이러한 MAVLink 관련 보안 및 데이터 처리 이슈들은 PX4 시스템의 핵심 안정성과 신뢰성에 직결되므로, 개발팀의 신속한 조치가 필요할 것으로 보입니다. 특히 GPS NMEA 파서 오류는 시스템 크래시를 유발할 수 있어 최우선적으로 다루어져야 할 것입니다.
Weekly Dev Call & 커뮤니티 동향
지난 2026년 08월 19일 진행된 PX4 주간 개발자 콜 (PX4 Dev Call: Aug 19, 2026 (Team sync, and Community Q&A))에서는 팀 동기화와 커뮤니티 Q&A 세션이 활발하게 진행되었습니다. 이 자리에서는 최근 GitHub에서 논의되고 있는 주요 PR 및 이슈들에 대한 심층적인 논의가 이루어졌을 것으로 예상됩니다. 특히, MAVLink 관련 보안 이슈나 NuttX 업그레이드와 같은 중대 사안에 대한 진행 상황 공유가 중요했을 것입니다.
PX4 Autopilot 공식 Discourse 포럼에서는 다음과 같은 주요 동향이 관찰되었습니다.
- 펌웨어 및 하드웨어 연결 문제: Holybro Mosaic-H 연결 문제 및 DJI Air Unit 연결 방법에 대한 질문이 올라왔습니다. 이는 새로운 하드웨어와의 연동 및 펌웨어 업그레이드 시 발생하는 호환성 문제가 사용자들에게 중요한 관심사임을 보여줍니다.
- 센서 성능 및 데이터 분석: Here4 GPS severe dropout, why? (6개의 답변, 88회 조회)는 GPS 수신 안정성에 대한 우려를 나타냅니다. 이는 GitHub의 Galileo HAS 모드 지원 PR 및 EKF2의 GNSS 관련 리팩토링과 연결되어, 정밀한 위치 추정 및 센서 융합에 대한 지속적인 개선 필요성을 시사합니다. 공개 로그 데이터 분석에 대한 논의는 개발자들이 실제 비행 데이터를 활용하여 시스템 성능을 개선하려는 노력을 반영합니다.
- QGC 액추에이터 테스트: QGC에서 액추에이터 테스트 불가 문제 (3개의 답변, 49회 조회)는 지상 제어 소프트웨어의 기능성과 사용성 또한 중요한 고려 사항임을 보여줍니다.
서브 시스템 동향 (MAVLink, MAVSDK, QGC)
MAVLink 동향
MAVLink는 PX4와 지상국, 주변 장치 간의 통신에서 핵심적인 역할을 수행합니다. 최근 GitHub 이슈 섹션에서 발견된 여러 MAVLink FTP 관련 보안 취약점 (write-protection bypass, heap out-of-bounds read)은 이 서브시스템의 보안 강화에 대한 시급한 필요성을 강조합니다. 또한, GPS NMEA 파서의 스택/힙 오버플로우 문제(stack/heap out-of-bounds writes) 역시 MAVLink 메시지 처리 과정의 안정성에 영향을 줄 수 있는 중대한 문제입니다. 이러한 이슈들은 MAVLink 프로토콜의 구현 및 취약점 분석에 대한 커뮤니티의 더 많은 관심과 노력이 요구됨을 보여줍니다.
MAVSDK 동향
제공된 데이터에서 MAVSDK와 관련된 직접적인 GitHub PR 또는 Discourse 논의는 지난주 동안 관찰되지 않았습니다. 하지만 MAVLink 프로토콜의 업데이트 및 보안 강화 노력은 간접적으로 MAVSDK 개발에도 영향을 미 미쳐, 향후 MAVSDK 릴리즈에서 관련 업데이트가 예상될 수 있습니다.
QGroundControl (QGC) 동향
QGroundControl은 PX4 드론의 설정, 비행 계획 및 모니터링을 위한 필수적인 지상국 소프트웨어입니다. 지난주 Discourse 포럼에서는 두 가지 중요한 QGC 관련 소식이 있었습니다.
- QGroundControl v5.1 Stable is available! (31회 조회): QGC의 v5.1 안정화 버전이 출시되었습니다. 이는 사용자들에게 향상된 안정성과 새로운 기능들을 제공하며, PX4 생태계의 완성도를 높이는 중요한 이정표입니다. 사용자들은 이 버전을 통해 보다 안정적인 드론 운영 경험을 할 수 있을 것입니다.
- QGroundControl PR: Add AMOVLAB FlyCore firmware upgrade support (30회 조회): QGC에 AMOVLAB FlyCore 펌웨어 업그레이드 지원 기능이 추가될 예정입니다. 이는 QGC가 다양한 PX4 기반 하드웨어 및 펌웨어에 대한 지원을 지속적으로 확장하고 있음을 보여줍니다.
- 한편, “Unable to test actuators in QGC”와 같은 사용자 보고는 QGC의 사용자 경험 개선이 여전히 중요함을 상기시켜 줍니다.
