QGroundControl(QGC) 개발자 가이드

- for Ubuntu(Linux) (9/9)

by 연화유심

Part 9. Maintenance & Advanced Topics (유지보수 및 고급 주제)

이 파트에서는 Ubuntu 환경에서 QGroundControl(QGC)을 유지보수하고, RTK, 멀티드론 운영, Companion Computer 연동 등 고급 기능을 활용하는 방법을 설명합니다. 또한 공식 Developer Guide 기준으로 브랜칭 전략과 CI/CD 자동화 내용을 보강했습니다.


1) 로그 관리 및 분석

로그 형식: Telemetry Log(.tlog), PX4 ULog(.ulg), ArduPilot BIN

기본 저장 경로: ~/Documents/QGroundControl/Logs

분석 도구:
QGC Analyze View
PX4 Flight Review
MAVExplorer

Ubuntu에서는 Python 기반 툴과 CLI를 통한 로그 분석이 용이합니다


2) RTK 및 고정밀 GPS 설정

part 9 그림 1.jpg Image source: QGroundControl Documentation (CC BY 4.0, https://creativecommons.org/licenses/by/4.0/)

RTCM 데이터 전송 및 NTRIP 지원

Ubuntu에서는 USB 시리얼 포트를 `/dev/ttyUSB*`로 확인 가능

`sudo usermod -a -G dialout $USER` 후 재부팅으로 권한 부여


3) 영상 스트리밍 (RTSP/UDP)

part 9 그림 2.jpg Image source: QGroundControl Documentation (CC BY 4.0, https://creativecommons.org/licenses/by/4.0/)

GStreamer 설치 후 Fly View에서 영상 스트리밍 지원:
```bash
sudo apt install gstreamer1.0*
```

RTSP, UDP 스트리밍 모두 지원


4) Companion Computer 연동

Jetson, Raspberry Pi 등과 연동 가능

MAVLink Router로 QGC, 드론, 클라우드 간 메시지 라우팅

Ubuntu에서는 TCP/UDP 네트워크 라우팅 및 로컬 시리얼 연결 지원


5) 멀티드론 운영

MultiVehicleManager를 통해 여러 드론 동시 제어.

SITL을 다중 인스턴스로 실행해 멀티드론 테스트 가능:
```bash
sim_vehicle.py -v ArduCopter -f gazebo -I0 --out=udp:127.0.0.1:14550
sim_vehicle.py -v ArduCopter -f gazebo -I1 --out=udp:127.0.0.1:14551
```


6) 릴리스 및 브랜칭 전략

Stable Release: 안정적 배포

Daily Build: 최신 코드 기반 자동 빌드

Out-Of-Band Release: 특정 기능만 독립 배포

GitHub Actions/GitLab CI로 AppImage 자동화 가능


7) 유지보수 전략 (CI/CD)

Unit Test + SITL 통합 테스트 필수

로그 자동 백업 스크립트 작성.

MAVLink 버전 호환성 관리

Ubuntu CI/CD: Docker, GitHub Actions로 자동 빌드/테스트


8) Ubuntu 환경 특화 팁

GPU 드라이버 최신 유지

방화벽 사용 시 `sudo ufw allow 14550/udp` 필요

Snap/AppImage 배포 시 의존성 자동 포함

작가의 이전글QGroundControl(QGC) 개발자 가이드