Skip to content

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 LevelDescriptionUse Case
SITLSoftware-in-the-loop, PX4 runs on hostController development, parameter tuning
GazeboFull physics simulationSystem integration testing
HITLHardware-in-the-loop, real flight controller connectedFirmware verification, hardware testing
SIHSimulation-in-hardwareAlgorithm prototype validation

Differences from Standard PX4

  1. PreGME Controllers — Sliding-mode PPC replacing standard MPC
  2. Gamma Arm Integrationgamma_arm_dynamics bridges flight controller and arm
  3. Enhanced Simulation Stack — Custom worlds, models, plugins
  4. Native ROS2 Integration — Zenoh, uXRCE-DDS, Gazebo-ROS Bridge
  5. Neural Network Control — TensorFlow Lite Micro integration
  6. Differential Drive Support — Complete ground robot control stack