QGC Mission Server
Project description
Petal QGC Mission Server
The petal-qgc-mission-server is a Petal plugin that acts as a bridge between QGroundControl (QGC) and the Petal ecosystem. It simulates a MAVLink vehicle to receive mission plans, converts them into Petal-compatible mission graphs, and publishes them for execution by the LeafSDK.
Key Features
- MAVLink Adapter: Acts as a MAVLink server (TCP/UDP) to connect with QGC.
- Mission Translation: Converts MAVLink waypoints into Petal Mission Plans (JSON graph format).
- Silent Adapter Mode: Intercepts vehicle commands (Takeoff, Land, RTL) without interfering with the physical vehicle's direct link, while still updating internal state for QGC feedback.
- Rally & Fence Support: Handles QGC's Rally Point and Geofence protocols by accepting and discarding them (to satisfy protocol requirements) or forwarding them as needed.
- Redis Integration: Publishes mission plans and commands to Redis for consumption by LeafSDK.
Architecture
plugin.py: Entry point, manages theQGCMissionAdapterPetalplugin lifecycle.mavlink_server.py: Handles the MAVLink connection and message routing.mission_handler.py: Manages the MAVLink mission protocol (upload/download) and translation.adapter_state.py: Tracks the minimal vehicle state required for QGC interaction (position, mode, battery).
Usage
- Start the Service: The plugin is started by the Petal App Manager.
- Connect QGC: Configure QGC to connect to the server's IP/Port (default TCP 5760 or as configured).
- Upload Mission: Create a mission in QGC and upload it. The server will convert and publish it to Redis.
- Monitor: QGC will receive status updates (position, current waypoint) from the server.
Documentation
- Architecture Overview: Detailed architecture analysis with class diagrams.
- Coordinate Systems & Conversion: GPS to local ENU coordinate conversion logic with diagrams.
- Mission Types Architecture: Comprehensive mission types, execution flow, and QGC translation.
- Mission Command Flow: How commands are handled including GoTo and continue-from-waypoint.
- Rally & Fence Implementation: Details on special mission types handling.
- MAVLink Methods Reference: Justification for MAVLink protocol methods.
- Redis Integration: Redis proxy usage and QGC mission adapter plan.
- Refactoring Walkthrough: History of simulation removal and adapter transition.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file petal_qgc_mission_server-0.1.2.tar.gz.
File metadata
- Download URL: petal_qgc_mission_server-0.1.2.tar.gz
- Upload date:
- Size: 51.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6f98d07e1824da9d34c3c1ee8fefb62720b80f9d25cbf8a631fe008b410401ed
|
|
| MD5 |
4116314436f8cc773ca4eebbdd31f532
|
|
| BLAKE2b-256 |
753202c8c8347ab34ba63462d5dd81d0b92d16080ed9ab6e09fea438c670c14c
|
File details
Details for the file petal_qgc_mission_server-0.1.2-py3-none-any.whl.
File metadata
- Download URL: petal_qgc_mission_server-0.1.2-py3-none-any.whl
- Upload date:
- Size: 64.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3e3ca6944409a30fa75ab64391713d663cb0e62577b9f5b9fd99a3ebf4aa4db
|
|
| MD5 |
42001404272bb5898875e3575454a2b3
|
|
| BLAKE2b-256 |
6377ed31b65136598cd6cd4af93a8ac7839bd675b2585bbbb6da4888375ae622
|