2026년 07월 27일 PX4 주간 개발 동향: 자율 비행 안전 및 하드웨어 확장 가속화
PX4 주간 통합 브리핑
지난 7일간 PX4 Autopilot 프로젝트는 자율 비행 시스템의 안전성, 신뢰성, 그리고 하드웨어 확장성에 집중하는 활발한 개발 활동을 보여주었습니다. 특히, 고정익(Fixed-Wing) 기체의 고급 제어 및 안전 기능, 다중 로터 기체의 고장 감지 및 복구 메커니즘, 그리고 다양한 신규 비행 컨트롤러 보드 지원 추가가 두드러졌습니다.
동시에, 시뮬레이션 환경의 정확성 및 안정성을 개선하기 위한 노력과 더불어 EKF2(Extended Kalman Filter 2)의 성능 최적화 작업이 활발히 진행되었습니다. 커뮤니티에서는 비행 중 소프트웨어 크래시와 착륙 시 예상치 못한 설정값 변경 등 치명적인 버그 리포트들이 접수되어 안정성 강화의 중요성을 다시 한번 상기시키고 있습니다. 문서화 및 국제화 작업 또한 꾸준히 진행되어 사용자 및 개발자 경험 개선에 기여하고 있습니다.
이번 주 활동은 PX4가 더욱 안전하고 범용적인 드론 플랫폼으로 진화하기 위한 지속적인 노력을 반영하며, 특히 실패 주입(Failure Injection) 및 고급 제어 알고리즘의 도입은 복잡한 임무 환경에서 드론의 운용 능력을 한층 더 끌어올릴 잠재력을 보여줍니다.
PX4 릴리즈 및 버전별 주요 변경 사항
지난 주에는 새로운 PX4 Autopilot 프리릴리즈 버전인 v1.18.0-beta1이 발표되었습니다. 이 베타 버전은 정식 1.18 릴리즈를 앞두고 광범위한 비행 테스트를 목적으로 합니다. 개발자들은 이 버전을 사용하여 최신 기능과 변경 사항을 테스트하고 잠재적인 문제를 조기에 발견할 수 있습니다. v1.18.0-beta1은 GitHub Release 페이지에서 상세 정보를 확인할 수 있습니다. 전체 변경 사항은 1.18 정식 릴리즈 시 공식 문서에서 상세히 다뤄질 예정입니다.
핵심 GitHub 업데이트 (PX4-Autopilot)
병합(Merged)된 주요 Pull Requests
이번 주에는 PX4 Autopilot의 안정성 및 기능 개선을 위한 중요한 PR들이 다수 병합되었습니다:
- fix(mavlink): accept INT32_MIN as “param not used” in mission item validation: 미션 아이템 유효성 검사 시
INT32_MIN을 “사용되지 않는 파라미터”로 허용하여 MAVLink 미션 계획의 견고성을 향상시켰습니다. - fix(iis2mdc): data-ready flag, sensitivity, and sample rate: IIS2MDC 드라이버의 데이터 준비 플래그, 감도, 샘플링 속도 관련 버그가 수정되어 센서 데이터의 정확성이 개선되었습니다.
- fix(nuttx): update submodule for SDMMC RX DMA cache coherency: NuttX 서브모듈 업데이트를 통해 SDMMC RX DMA 캐시 일관성 문제를 해결하여 시스템 안정성에 기여했습니다.
- feat(commander): add failsafe for traffic avoidance system: 교통 회피 시스템에 대한 페일세이프 기능이 추가되어 비행 안전성이 크게 향상되었습니다.
- feat(device_information): expand enum with aditional types: 장치 정보 열거형이 확장되어 더 다양한 장치 유형을 지원할 수 있게 되었습니다.
- docs(contribute): add AI coding assistant policy: AI 코딩 보조 도구 사용에 대한 정책 문서가 추가되어 기여자 가이드라인이 명확해졌습니다.
- docs(security): treat AI-assisted bug discovery as public: AI 기반 버그 발견을 공개적으로 처리하는 보안 정책이 명시되었습니다.
- [BACKPORT 1.17]fix(crsf_rc): guard against packet_size underflow in CRSF parse: CRSF RC 수신기 드라이버에서
packet_sizeunderflow를 방지하는 패치가 1.17 버전으로 백포트되어 안정성을 높였습니다. - test(matrix): register and cover Vector4 unit suite, test(system_identification): cover linear and log sine sweeps, test(mathlib): cover LowPassFilter2p invalid cutoff edges: 테스트 커버리지를 확장하여 코드 품질과 견고성을 강화했습니다.
- fix(uavcan/rangefinder): rangefinder does track init-variables now for all instances: UAVCAN 레인지파인더 드라이버의 초기화 변수 추적 버그가 수정되었습니다.
- feat(fw_mode_manager): Do first-order-hold also for go-to: 고정익 모드 관리자에 go-to 기능에 대한 1차 홀드(first-order-hold)가 추가되어 부드러운 전환을 지원합니다.
- fix(boards): enable CONFIG_FS_LARGEFILE for NuttX boards with MMC/SD: MMC/SD를 사용하는 NuttX 보드에
CONFIG_FS_LARGEFILE을 활성화하여 대용량 파일 시스템 지원을 가능하게 했습니다. - fix(boards/modalai/voxl2): Add directory for keepalive failure file: ModalAI VOXL2 보드 관련 Keepalive 실패 파일 디렉토리 문제가 해결되었습니다.
- fix(px4_daemon): fix startup stdout TLS race: PX4 데몬 시작 시 stdout TLS 레이스 조건 버그가 수정되어 시뮬레이션 안정성이 개선되었습니다.
- feat(commander): add warning-only mode to COM_PARACHUTE: COM_PARACHUTE 기능에 경고 전용 모드가 추가되어 패러슈트 전개를 유연하게 제어할 수 있게 되었습니다.
- fix(mathlib): avoid Hexagon NaN comparison issues: Hexagon 아키텍처에서 NaN 비교 관련 수학 라이브러리 버그가 수정되었습니다 (여러 PR에서 중복 해결).
- docs(update): Logger max file size from 2 to 4 GB: 로거의 최대 파일 크기가 2GB에서 4GB로 확장되었음을 문서에 반영했습니다.
- fix(matrix): clamp asin domain in Euler(Dcm) near gimbal lock: 짐벌 락 근처에서 Euler(Dcm) 변환 시 asin 도메인 클램핑 문제를 해결하여 수학 계산의 안정성을 높였습니다.
- fix(drivers/bmi270): correct FIFO watermark byte calculation (salvage #27875): BMI270 드라이버의 FIFO 워터마크 바이트 계산 오류가 수정되었습니다.
- fix(simulation): wind_info topic takes precedence over the wind entity: 시뮬레이션에서
wind_info토픽이 바람 엔티티보다 우선하도록 수정되었습니다. - fix(simulation): clamp simulated FIFO accel/gyro samples to int16: 시뮬레이션된 FIFO 가속도/자이로 샘플이 int16으로 클램프되도록 수정하여 현실성을 높였습니다.
오픈된 크리티컬 Issue 심층 분석
여러 중요한 이슈들이 현재 활발히 논의 중이거나 해결을 기다리고 있습니다:
- [Bug] Setpoint got set to origin on AUTO.LAND:
AUTO.LAND모드에서 설정값이 원점으로 재설정되는 심각한 버그가 보고되었습니다. 이는 착륙 시 기체 제어에 치명적인 영향을 미칠 수 있으므로 우선적인 조사가 필요합니다. - [Bug] Software Crash during flight – lead to UAV loss – CubePilot Orange+, 1.17.0 stable: CubePilot Orange+에서 1.17.0 안정 버전 사용 중 비행 중 소프트웨어 크래시가 발생하여 UAV 손실로 이어진 매우 중요한 버그 리포트입니다. 안정성 및 안전에 직접적인 영향을 미치므로 즉각적인 조사와 해결이 필수적입니다.
- [Bug] Memory leak in the gz_x500_depth simulation.:
gz_x500_depth시뮬레이션에서 메모리 누수가 발생한다는 버그가 보고되었습니다. 이는 장시간 시뮬레이션 테스트의 안정성을 저해할 수 있습니다. - [Bug] LockstepScheduler can broadcast to expired stack condition variables and crash POSIX SITL: LockstepScheduler가 만료된 스택 조건 변수에 브로드캐스트하여 POSIX SITL 크래시를 유발할 수 있다는 버그는 SITL 환경의 디버깅 및 테스트 신뢰성에 영향을 미칩니다.
- [Bug] SPI DMA transfer is not locked with multiple devices: 여러 SPI 장치 사용 시 DMA 전송이 잠기지 않아 데이터 충돌 가능성이 있는 오래된 버그가 여전히 열려 있습니다. 이는 하드웨어 드라이버 수준의 동시성 문제로, 안정적인 센서 및 주변 장치 동작에 중요합니다.
- docs(bug): GHSA-mqgj-hh4g-fg5p patch version. May be dangerous!: 보안 관련 문서 버그로, 특정 패치 버전이 위험할 수 있다는 경고를 담고 있습니다. 이는 보안 취약점과 직접 연관될 수 있으므로 중요하게 다뤄져야 합니다.
주요 오픈 Pull Requests (개발 방향성)
이번 주에도 PX4의 미래를 이끌어갈 다양한 기능 개발 PR들이 활발히 논의되고 있습니다:
- feat(fw_mode_manager): add ETA-based height-rate modulation: 고정익 모드 관리자에 ETA(예상 도착 시간) 기반 고도 속도 변조 기능이 추가되어 더욱 정교한 비행 제어가 가능해집니다.
- feat(dshot): enable concurrent BDShot capture per timer: DShot 드라이버가 타이머당 동시 BDShot 캡처를 지원하여 모터 제어 성능을 향상시킬 것입니다.
- feat(boards): add Droneer X6 flight controller, feat(boards): add Lectron Pi5 Autopilot board, feat(boards): add siyi_unifc-6-pico flight controller, feat(boards): Add support for the NewBeeDrone PixNova: 다양한 신규 비행 컨트롤러 보드 지원 추가는 PX4 생태계의 하드웨어 호환성을 지속적으로 확장하고 있음을 보여줍니다.
- feat(control_allocator): add tilting multirotor actuator effectiveness: 틸팅 멀티로터의 액추에이터 효율성 모델이 추가되어 VTOL 및 특수 멀티로터 구성에 대한 제어 정밀도가 향상될 것입니다.
- feat(failure_injection): add ADS-B traffic failure injection and battery severity levels: ADS-B 트래픽 실패 주입 및 배터리 심각도 수준 추가는 페일세이프 시스템 및 비상 상황 테스트에 필수적인 기능입니다.
- perf(fw_att_control): fused sincosf for the legacy ecl attitude controller, perf(mixer): fuse the two post-clamp passes in the legacy multirotor …, perf(ekf2): build the four hottest EKF fusion/covariance files at -O3: EKF2 및 제어 루프의 성능 최적화는 연산 자원이 제한적인 환경에서 PX4의 효율성을 극대화합니다.
- feat(control_allocator): reversible-motor failure recovery for hexarotors: 헥사로터용 가역 모터 고장 복구 기능이 추가되어 기체 손실 위험을 줄일 수 있는 중요한 안전 기능입니다.
- feat(fw_mode_manager): parachute landing on mission landing approach: 미션 착륙 접근 시 고정익 기체의 패러슈트 착륙 기능은 비상 상황 시 안전한 착륙 옵션을 제공합니다.
- feat(ekf2): support up to two optical flow sensors: 최대 두 개의 광학 흐름 센서를 지원하여 EKF2의 위치 추정 정확도와 견고성을 향상시킵니다.
- feat(parachute): make the Parachute output function commandable via DO_PARACHUTE:
DO_PARACHUTEMAVLink 명령을 통해 패러슈트 출력 기능을 제어할 수 있게 되어 자율 임무에 통합하기 용이해집니다. - feat(commander): add terminate options for critical battery and lost position failsafes: 치명적인 배터리 및 위치 손실 페일세이프에 대한 종료 옵션이 추가되어 비상 시 조치 유연성이 향상됩니다.
- docs(tools): Mode Requirements detailed docs: 모드 요구 사항에 대한 상세 문서가 추가되어 PX4 모드 동작에 대한 이해를 돕습니다.
- docs(security): add threat model and Security documentation section: 위협 모델 및 보안 문서 섹션이 추가되어 프로젝트의 보안 강화 의지를 보여줍니다.
- feat(simulation): add parachute plugin for gz: Gazebo 시뮬레이션에 패러슈트 플러그인이 추가되어 현실적인 비상 시나리오 테스트가 가능해집니다.
- feat(ekf2): Model-based 3D wind estimator for fixed-wing: 고정익 기체를 위한 모델 기반 3D 바람 추정기가 EKF2에 도입되어 비행 예측 및 제어 정확도가 크게 향상될 것으로 기대됩니다.
- feat(motor_failure_detector): add current-residual detection library 및 feat(commander): wire current-residual motor-failure detector + offline replay tool: 전류 잔차 기반 모터 고장 감지 라이브러리와 오프라인 재생 도구 도입은 모터 고장 진단 및 사후 분석 기능을 크게 강화합니다.
- feat(gimbal): support forwarding to an external gimbal manager: 외부 짐벌 관리자로의 포워딩 지원은 짐벌 시스템의 유연성과 확장성을 높입니다.
- feat(fw_mode_manager): Support path interface with separate Fixedwing Guidance Control Module: 고정익 안내 제어 모듈과 분리된 경로 인터페이스 지원은 고정익 시스템의 모듈화 및 고급 비행 경로 관리 가능성을 제시합니다.
- feat(uavcan): add bidirectional ESC support for uavcan: UAVCAN 기반 양방향 ESC 지원은 고급 모터 제어 및 제동 기능을 가능하게 합니다.
Weekly Dev Call & 커뮤니티 동향
2026년 07월 22일에 진행된 주간 개발자 콜 (PX4 Dev Call: Jul 22, 2026 (Team sync, and Community Q&A))에서는 팀 동기화 및 커뮤니티 Q&A가 주요 내용으로 다뤄졌습니다. 구체적인 논의 내용은 포럼 게시글에 아직 추가되지 않았지만, 정기적인 동기화는 프로젝트 진행 상황 공유와 커뮤니티 피드백 수렴에 중요한 역할을 합니다.
PX4 Autopilot Discourse 포럼에서는 다음과 같은 주요 주제들이 논의되었습니다:
- Flight Termination Failsafe, EKF2 divergence, simulation lagging: 시뮬레이션 엔진 지연으로 인한 EKF2 발산 및 비행 종료 페일세이프 활성화 문제에 대한 논의는 시뮬레이션 환경의 현실성 및 안정성, 그리고 페일세이프 로직의 미세 조정 필요성을 강조합니다. 이는 GitHub의 시뮬레이션 관련 버그 리포트와도 맥락을 같이 합니다.
- Speed Controller Parameter Tuning: 속도 컨트롤러 파라미터 튜닝에 대한 질문은 사용자들이 실질적인 비행 성능 최적화에 많은 관심을 가지고 있음을 보여줍니다.
- Setpoint jumped to origin in LAND: 착륙 모드에서 세트포인트가 원점으로 점프하는 문제는 GitHub 이슈
[Bug] Setpoint got set to origin on AUTO.LAND와 동일한 내용으로, 비행 안전에 매우 중요한 버그로 인식되고 있습니다. - Sharing PX4-FlightAxis-Bridge — RealFlight Evolution as a PX4 simulator: 새로운 시뮬레이션 브리지 공유는 개발자들이 다양한 환경에서 PX4를 테스트하고 활용하려는 노력을 반영합니다.
- What kind of results can be achieved with an EKF2 replay?: EKF2 리플레이의 활용성에 대한 질문은 데이터 분석 및 디버깅 도구에 대한 커뮤니티의 높은 관심을 시사합니다.
서브 시스템 동향 (MAVLink, MAVSDK, QGC)
MAVLink
MAVLink 관련하여, GitHub에서는 미션 아이템 유효성 검사 시 INT32_MIN을 “param not used”로 허용하는 버그 수정 PR(fix(mavlink): accept INT32_MIN as “param not used” in mission item validation)이 병합되었습니다. 이는 MAVLink 프로토콜을 사용하는 미션 계획의 안정성을 직접적으로 개선하는 중요한 변경 사항입니다. 또한, 짐벌 시스템이 외부 짐벌 관리자로 MAVLink 메시지를 포워딩할 수 있도록 지원하는 PR(feat(gimbal): support forwarding to an external gimbal manager)이 논의 중으로, MAVLink를 통한 주변 장치 통합의 유연성이 강조되고 있습니다.
MAVSDK
MAVSDK 자체에 대한 직접적인 GitHub 활동이나 Discourse 논의는 이번 주에 두드러지지 않았습니다. 하지만, PX4 Autopilot 문서화 PR(docs(ko): point MAVSDK SITL tests at sih-sitl.json, docs(uk): point MAVSDK SITL tests at sih-sitl.json)이 병합된 것은 MAVSDK를 활용한 SITL 테스트 가이드라인의 국제화 노력을 보여주며, 이는 MAVSDK가 PX4 테스트 및 개발 생태계에서 중요한 역할을 지속적으로 수행하고 있음을 의미합니다.
QGroundControl
QGroundControl(QGC) 관련하여 Discourse 포럼에서는 “Unable to control Sony ILX on Pixy LR with QGC”라는 주제가 논의되었습니다. 이는 QGC가 특정 하드웨어(Sony ILX 카메라와 Pixy LR)와 연동하여 동작할 때 발생하는 사용자 경험 문제로, QGC의 주변 장치 제어 기능 및 호환성에 대한 관심이 높음을 시사합니다. GitHub에서는 VIO 상태 표시기 추가(Create QGC indicators for VIO health)에 대한 이슈가 stale 상태로 닫혔는데, 이는 QGC 인터페이스 개선에 대한 요구는 있지만 현재 우선순위가 낮거나 다른 방식으로 해결될 가능성을 내포합니다.
