System Architecture Overview
VisionFlow-PX4 is a customized fork based on PX4 Autopilot V1.17.0, designed specifically for UAV-arm collaborative operation simulation.
Overall Architecture
Key Design Decisions
Dual Controller Coexistence
Standard PX4 controllers (mc_att_control / mc_pos_control) and PreGME controllers (pregme_att_control / pregme_pos_control) coexist simultaneously. The active controller is selected via the airframe configuration.
Modular Architecture
Each control function is implemented as an independent PX4 module, communicating via uORB messages. This design enables:
- New controllers to be developed in parallel without affecting existing functionality
- Sensor simulators to operate independently from control logic
- Arm integration to be implemented through independent Gazebo plugins
Multi-Level Simulation Support
| Simulation Level | Description | Use Case |
|---|---|---|
| SITL | Software-in-the-loop, PX4 runs on host | Controller development, parameter tuning |
| Gazebo | Full physics simulation | System integration testing |
| HITL | Hardware-in-the-loop, real flight controller connected | Firmware verification, hardware testing |
| SIH | Simulation-in-hardware | Algorithm prototype validation |
Differences from Standard PX4
- PreGME Controllers — Sliding-mode PPC replacing standard MPC
- Gamma Arm Integration —
gamma_arm_dynamicsbridges flight controller and arm - Enhanced Simulation Stack — Custom worlds, models, plugins
- Native ROS2 Integration — Zenoh, uXRCE-DDS, Gazebo-ROS Bridge
- Neural Network Control — TensorFlow Lite Micro integration
- Differential Drive Support — Complete ground robot control stack