2026년 06월 08일 PX4 주간 개발 동향: 안전 강화 및 핵심 인프라 업그레이드 가속화
PX4 주간 통합 브리핑
2026년 06월 08일 기준, 지난주 PX4 Autopilot 프로젝트는 다가오는 v1.18.0 릴리즈를 위한 개발에 박차를 가하며, 광범위한 영역에서 활발한 활동을 보였습니다. 특히, 드론의 안전 운항 및 규제 준수(Regulatory Compliance)를 위한 핵심 기능들이 집중적으로 논의되고 구현되는 추세가 두드러집니다. ASTM F3442 표준을 따르는 감지 및 회피(Detect and Avoid) 모듈 확장, 지오펜스 인지형 RTL(Return-To-Land) 기능, 그리고 원격 식별(Remote ID) 관련 업데이트는 자율 드론 운용 환경의 안정성과 법적 요구사항 충족에 기여할 것으로 기대됩니다.
동시에 NuttX OS의 12.12.0 버전으로의 업그레이드, uORB 미들웨어의 리팩토링, 그리고 시뮬레이션 환경의 SIH(Software-in-the-Loop) 중심으로의 전환과 같은 근본적인 인프라 개선 작업도 활발히 진행 중입니다. 이러한 변화는 PX4 시스템의 안정성, 성능, 그리고 개발 및 테스트 효율성을 장기적으로 향상시키는 데 중요한 역할을 할 것입니다. 또한, 다수의 신규 비행 제어 보드 지원 추가와 다양한 버그 수정 및 최적화 작업은 PX4의 하드웨어 확장성과 비행 안정성 증진에 지속적으로 기여하고 있습니다. 커뮤니티 포럼에서는 시뮬레이션 환경 설정, 하드웨어 연동 문제, 그리고 아키텍처 방향성에 대한 개발자들의 활발한 논의가 이어졌습니다.
PX4 릴리즈 및 버전별 주요 변경 사항
지난 7일 동안 새로운 PX4 Autopilot 공식 릴리즈는 없었습니다. 현재 PX4 개발팀은 v1.18.0-alpha1 버전에 대한 테스트 및 추가 개발에 집중하고 있으며, 이는 향후 v1.18.0 안정화 버전의 기반이 될 것입니다. 개발자 및 연구자들은 다음 안정화 릴리즈를 위해 이 알파 버전을 시험해 볼 수 있습니다.
현재 가장 최신 안정화 릴리즈는 2026년 5월 13일에 발표된 v1.17.0입니다. 이 버전은 v1.16.2 이후의 다양한 개선 사항을 포함하고 있으며, 주요 변경 내용은 다음과 같습니다:
- 새로운 멀티콥터 비행 모드: Altitude Cruise – 스틱 해제 시 기체의 기울기와 헤딩을 유지하여 일정한 속도로 순항하는 모드입니다.
- 고정익 이륙 모드 개선 – 내비게이션 손실 시 수평 비행으로 상승을 유지하고, 이륙 웨이포인트의 위경도를 사용하여 선회 위치를 정의할 수 있습니다.
- ROS 2 제어 인터페이스 확장 – 고정익 및 로버를 위한 새로운
FwLateralLongitudinalSetpointType및RoverSetpointTypes가 추가되어 ROS 2 워크플로우를 통한 제어가 더욱 용이해졌습니다. - Zenoh 미들웨어 성숙화 – rmw_zenoh 호환성, CDRv1 직렬화, ROS 2 그래프 활성도, 자동 생성된 설정 등 Zenoh 미들웨어가 더욱 안정화되었습니다.
- MC 신경망 제어 초기 테스트 경로 – TensorFlow Lite Micro를 통합하여 외부 학습된 신경망을 멀티콥터 컨트롤러로 사용할 수 있는 연구 및 벤치 테스트 기능이 추가되었습니다.
- 새로운 INS 드라이버 추가 – MicroStrain, sbgECom, EULER-NAV 등의 INS 드라이버가 통합되었으며, Septentrio GNSS 탄력성 보고 및 기압계 자동 보정 기능도 개선되었습니다.
- MAVLink, RC, 로깅, 페일세이프 등 전반적인 시스템 개선 및 버그 수정이 이루어졌습니다.
핵심 GitHub 업데이트 (PX4-Autopilot)
지난 7일간 PX4-Autopilot GitHub 리포지토리에서는 총 70개의 Pull Request (PR)와 11개의 Issue가 관찰되었습니다. 이 중 특히 주목할 만한 병합(Merged)된 PR과 현재 활발히 논의 중인 크리티컬 Issue는 다음과 같습니다:
병합(Merged)된 주요 PRs
- feat(uxrce_dds_client): add support for Micro-XRCE-DDS_Client v3: 오프보드 미들웨어의 핵심인 Micro-XRCE-DDS 클라이언트가 v3를 지원하도록 업데이트되어, 통신 안정성과 기능성이 향상될 것으로 보입니다.
- fix(mavlink): avoid reinitializing command sender semaphore: MAVLink 명령 송신 시 발생하는 세마포어 재초기화 문제를 해결하여 통신 안정성이 개선되었습니다.
- fix(fw_mode_manager/navigator): use the correct waypoint switching distance: 고정익 모드에서 웨이포인트 전환 거리가 올바르게 계산되지 않던 버그가 수정되어 내비게이션 정확도가 향상되었습니다.
- fix(navigator): use int32_t lower bound for mission index: 미션 인덱스 처리 시 정수 범위 관련 버그를 수정하여 미션 플래닝의 견고성을 높였습니다.
- fix(drivers): update SPL06_SPI.cpp to fix the sensor data issue: SPL06 기압 센서 드라이버의 데이터 문제를 수정하여 센서 신뢰성을 확보했습니다.
- fix(commander): refuse stale config_overrides on activation: 오래된 설정 오버라이드를 거부하도록 하여 안전 위험을 줄였습니다. 이는 안전이 중요한 변경 사항입니다.
- fix(vtol): prevent divide-by-zero in tiltrotor transition weight: VTOL 기체의 틸트로터 전환 가중치 계산에서 0으로 나누는 오류를 방지하여 비행 안정성을 높였습니다.
risk:safety-critical라벨이 붙은 중요한 수정사항입니다. - fix(shutdownlock): prevent external_reset_lockout from been hold for longer than 60sec:
external_reset_lockout이 60초 이상 유지되는 것을 방지하여 시스템의 응답성을 개선했습니다. - refactor(navigator): Removed geofence breach avoidance feature: 지오펜스 침범 회피 기능이 리팩토링되어 제거되었습니다. 이는 관련 기능의 재설계 또는 통합 전략 변화를 시사합니다.
- feat(fw_latlon_control): limit bank angle to not exceed max airspeed: 고정익 항공기의 뱅크 각도가 최대 비행 속도를 초과하지 않도록 제한하는 기능이 추가되어 비행 안전성이 강화되었습니다.
risk:safety-critical라벨이 붙은 중요한 기능입니다. - feat(ekf2-mag): limit max heading rate change due to mag fusion: EKF2의 지자기 융합으로 인한 최대 헤딩 변화율을 제한하는 기능이 추가되어, 자율 비행 중 자세 추정의 견고성을 높였습니다. 이 또한
risk:safety-critical라벨이 붙은 변경사항입니다. - fix(navigator): rtl compute wind angle to select best land approach based on rally point location instead of home location: RTL 시 최적의 착륙 접근 방향을 계산할 때 홈 위치 대신 랠리 포인트 위치를 기준으로 바람 각도를 고려하도록 수정되어 안전성이 향상되었습니다.
- fix(navigator): honor NAV_LAND mission item abort altitude (param1):
NAV_LAND미션 아이템의 중단 고도(param1)가 제대로 적용되지 않던 심각한 버그가 수정되었습니다.risk:safety-critical라벨이 붙은 매우 중요한 수정사항입니다.
오픈된 크리티컬 Issue 심층 분석
- External modes: setpoints are applied for up to ~900 ms after the external process dies: 외부 프로세스가 종료된 후에도 오프보드 제어 세트포인트가 최대 900ms 동안 적용될 수 있다는 심각한 안전 문제가 제기되었습니다. 이는 외부 모드를 사용하는 시스템에 치명적인 영향을 미칠 수 있으며,
risk:safety-critical라벨이 붙어 우선적인 해결이 필요합니다. - [Bug] Rover Differential – Doesn’t turn in Mission Mode (v1.17 Stable): 최신 안정화 버전인 v1.17에서 로버 차등 구동 방식이 미션 모드에서 회전하지 않는다는 버그가 보고되었습니다. 이는 로버 사용자들에게 중요한 기능 불능으로 작용하며, 빠른 해결이 요구됩니다.
- [Bug] auto entry into HOLD mode during auto-takeoff testing.: 자동 이륙 테스트 중 기체가 자동으로 HOLD 모드로 진입하는 버그가 보고되었습니다. 이는 비행 모드 관리의 안정성에 영향을 미칠 수 있는 중요한 문제입니다.
- Tracking issue for the current mavlink implementation: 현재 MAVLink 구현에 대한 추적 이슈가 오픈되어 있습니다. 이는 MAVLink 프로토콜의 성능, 기능, 리팩토링 전반에 걸친 지속적인 개선 노력을 보여주며, 향후 MAVLink 관련 주요 변화를 예고합니다.
주목할 만한 오픈 PRs
여러 중요한 PR이 현재 검토 중이며, 특히 다음과 같은 항목들은 PX4의 미래 방향성을 보여줍니다:
- feat(navigator): extend detect and avoid module to follow regulatory standards such as ASTM F3442: ASTM F3442와 같은 규제 표준을 준수하기 위한 감지 및 회피 모듈 확장은 안전 자율 비행 시스템 개발의 핵심입니다.
- feat(platforms): upgrade NuttX to 12.12.0: NuttX OS의 메이저 버전 업그레이드는 시스템의 안정성, 보안, 그리고 새로운 하드웨어 지원에 큰 영향을 미칠 것입니다.
- feat(uorb): (WIP) Rebase TII’s SHM-based uORB on pr-nuttx-nuttx-12-12-0: NuttX 업그레이드와 연계된 TII의 SHM 기반 uORB 리베이스는 내부 통신 성능 및 아키텍처에 중대한 영향을 줄 잠재력을 가집니다.
- feat(navigator): Geofence Aware RTL: 지오펜스를 인지하여 RTL 경로를 계획하는 기능은 비행 안전성을 한층 더 강화할 것입니다.
- feat(tests): run integration tests with PX4 internal SIH simulation 및 ci(ros_integration_tests): migrate from Gazebo Classic to SIH: Gazebo Classic에서 PX4 내부 SIH 시뮬레이션으로의 테스트 환경 전환은 개발 및 검증 프로세스의 효율성과 신뢰성을 높이는 중요한 변화입니다.
- feat(open_drone_id): add RID identity record verification with read-only mtd_id backend: Open Drone ID의 원격 식별(RID) 신원 기록 검증 기능은 드론 규제 준수를 위한 필수적인 요소입니다.
- 다수의 feat(boards): add … flight controller PR들은 PX4의 지원 하드웨어 생태계를 지속적으로 확장하고 있음을 보여줍니다.
Weekly Dev Call & 커뮤니티 동향
지난 6월 3일에는 정기적인 PX4 Dev Call이 진행되었습니다. 이 회의는 개발 팀 간의 동기화 및 커뮤니티 Q&A를 위한 중요한 자리로, GitHub에서 진행되는 주요 개발 이슈들이 논의되었을 것으로 예상됩니다.
Discourse 포럼의 일반 PX4 Autopilot 섹션에서는 다양한 사용자 문제와 개발 논의가 활발했습니다. 특히, JSBSim hexarotor_x SITL spawns high / FlightGear-QGC mismatch / auto-disarm과 같은 시뮬레이션 관련 문제는 여러 사용자가 겪는 반복적인 어려움으로, 시뮬레이션 환경 설정의 복잡성이나 문서화 개선의 필요성을 시사합니다. 또한, DShot motors only initialize after re-assigning output functions (cold boot) — CUAV X7, AM32, v1.16 & v1.17 버그 보고는 최신 안정화 버전에서의 하드웨어 초기화 문제로, CUAV X7 사용자를 위한 긴급한 해결이 요구됩니다.
흥미롭게도, Multi-device vs. separate driver module - community preference/standards?라는 토론은 드라이버 아키텍처에 대한 커뮤니티의 근본적인 질문을 담고 있습니다. 이는 PX4가 성장함에 따라 드라이버 관리 및 모듈화에 대한 표준화된 접근 방식이 필요함을 나타냅니다. Overheating STM32H743 Processor와 같은 하드웨어 자체의 문제나 GPS UBlox F9P Version 1.51 with PX4 Version 1.12와 같이 구형 버전과의 호환성 문제도 꾸준히 제기되고 있습니다.
서브 시스템 동향 (MAVLink, MAVSDK, QGC)
MAVLink
MAVLink 관련하여 GitHub에서는 여러 중요한 활동이 포착되었습니다. fix(mavlink): avoid reinitializing command sender semaphore PR이 병합되어 MAVLink 통신 안정성이 개선되었습니다. 또한, feat(mavlink): Battery_Status_V2 MAVLink stream PR을 통해 배터리 상태 보고 기능이 향상되고 있으며, fix(dronecan): forward MAVLink OpenDroneID Basic ID to Remote ID PR은 MAVLink를 통한 OpenDroneID 정보 전달 기능을 개선하여 규제 준수에 기여하고 있습니다. 현재 오픈된 Tracking issue for the current mavlink implementation 이슈는 MAVLink 시스템 전반에 걸친 지속적인 개선 및 리팩토링이 진행 중임을 보여줍니다.
MAVSDK
MAVSDK Discourse 포럼에서 특별히 주목할 만한 유의미한 활동은 없었습니다. 그러나 MAVLink의 지속적인 개선, 특히 새로운 데이터 스트림(Battery_Status_V2) 및 OpenDroneID 통합은 MAVSDK를 사용하는 개발자들에게 새로운 기능 및 데이터 접근성을 제공할 잠재력을 가집니다. 오프보드 제어의 안전성 문제(External modes: setpoints are applied...)는 MAVSDK를 통해 오프보드 제어를 구현하는 개발자들에게 중요한 고려 사항이 될 것입니다.
QGroundControl (QGC)
QGroundControl 포럼에서는 주로 연결성 및 통신 문제에 대한 논의가 있었습니다. QGroundControl Android Parameter Download Stalls Over Wireless Link but Works via USB Network Sharing 이슈는 안드로이드용 QGC에서 무선 연결 시 파라미터 다운로드 지연 문제를 지적합니다. 이는 무선 통신 스택이나 대용량 데이터 전송 효율성 측면에서의 최적화 필요성을 시사합니다. 또한, PX4 not receiving QGroundControl replies through MOOS UDP bridge는 MOOS UDP 브리지를 사용하는 특정 설정에서 PX4와 QGC 간의 MAVLink 통신 문제 발생 가능성을 보여줍니다. 이러한 문제들은 QGC가 PX4 시스템과 상호작용하는 데 있어 사용자 경험에 직접적인 영향을 미치므로, MAVLink 프로토콜의 견고성과 다양한 네트워크 환경에서의 호환성 확보가 중요함을 강조합니다.
