VisionFlow-PX4 Developer Manual
A customized PX4 Autopilot fork developed by WindyLab, integrating UAVs with robotic arms (Gamma series) for manipulation tasks in Gazebo simulation, featuring Prescribed Performance Guidance and Management Estimator (PreGME) control and ROS2 integration.
Core Features
- PreGME Controllers — Full replacement of standard
mc_att_controlandmc_pos_controlwith sliding-mode Prescribed Performance Control (PPC) algorithms, including centroid compensation and composite error state observer (CESO) - Gamma Arm Integration — Tight coupling between PX4 flight control and Gamma-series robotic arm dynamics via the
gamma_arm_dynamicslibrary - Rich Gazebo Simulation — Custom worlds, models, and plugins for indoor laboratory manipulation scenarios (landing boxes, VLA tasks, hardware-in-the-loop)
- ROS2 Ecosystem — Zenoh middleware, uXRCE-DDS client, and a complete ROS2 Humble Docker environment
Key Differences from Stock PX4
- PreGME Controllers — Sliding-mode PPC replaces standard MC controllers (core research contribution)
- Robotic Arm Integration —
gamma_arm_dynamicsbridges PX4 flight control with Gamma-series arm dynamics - Heavy Gazebo Simulation — Custom worlds, models, plugins for indoor lab manipulation
- ROS2 Integration — Zenoh middleware, uXRCE-DDS, Gazebo-ROS bridge, complete ROS2 Humble Docker
- Camera Feedback Pipeline — OAK-D and Intel RealSense support with geotagging
- Differential Rover Support — Full rover control stack alongside quadcopter
Quick Navigation
| Section | Content |
|---|---|
| Getting Started | Environment setup, Docker launch, native launch |
| System Architecture | Control stack, simulation stack, communication stack |
| Core Modules | PreGME controllers, arm integration, NN control, etc. |
| Simulation Assets | World scenes, models, asset usage guide |
| Toolchain | Docker workflow, flight review, control panels |
| Hardware Support | HKUST boards, supported boards list |
| Communication Protocols | Custom uORB messages, message reference |
| Development Guide | Build workflow, module development, contributing |
| References | Airframes, parameters, citations |
Citation
If you use this codebase in your research, please cite the associated paper:
bibtex
@article{ji2025pregme,
title={PreGME: Prescribed Performance Control of Aerial Manipulators based on Variable-Gain ESO},
author={Ji, Mengyu and Guo, Shiliang and Li, Zhengzhen and Shen, Jiahao and Cao, Huazi and Zhao, Shiyu},
journal={arXiv preprint arXiv:2512.22957},
year={2025}
}