Open-source UAV research tools from the Advanced Control Systems Lab

Simulation and flight control, connected.

Discover two complementary GitHub projects for multi-rotor UAV research: UAV_Sim_PyChrono, a high-fidelity PyChrono-based simulator, and ACSL-FlightStack, a PX4-compatible offboard flight stack. Together, they support a practical path from controller development to realistic validation and flight execution.

Two projects, one research workflow

Both projects are motivated by the same goal: bridging control theory and UAV implementation through open, reproducible tools.

Simulation
PyChrono

UAV_Sim_PyChrono

A high-fidelity simulator for multi-rotor UAVs built on PyChrono. It is designed to support realistic dynamics, controller testing, and advanced mission concepts before moving onto hardware.

  • High-fidelity UAV dynamics and physics-based simulation
  • Payload models including dropping payloads and flexible rope-connected payloads
  • Support for classical and adaptive control architectures
  • A practical bridge from tuning in simulation to testing on real vehicles
Flight Control
PX4-compatible

ACSL-FlightStack

An open-source, PX4-compatible offboard flight stack for multi-rotor UAVs. It provides a framework for deploying and evaluating advanced controllers on real platforms.

  • Offboard flight control architecture for multi-rotor UAVs
  • Support for PID, MRAC, two-layer MRAC, and funnel MRAC variants
  • Linked workflows for plotting and analyzing flight test results
  • Open framework aimed at reproducibility and research transparency

How they fit together

Use the simulator to develop and de-risk ideas, then use the flight stack to bring those ideas onto a PX4-compatible UAV platform.

Our experience shows that the control gains tuned in UAV_Sim_PyChrono on high-fidelity CAD models of actual UAVs provide very solid starting points for gains to be tuned during real flight testing.

1. Design and tune

Prototype controllers and mission logic in simulation with realistic physics and payload behavior.

2. Validate behavior

Evaluate advanced control strategies under more demanding and controlled virtual scenarios.

3. Transition to flight

Deploy compatible control workflows to the offboard flight stack and analyze flight-test results.

Start exploring

Visit the documentation hubs for setup, usage guides, publications, videos, and rationale for each project.

Simulator wiki highlights

The UAV_Sim_PyChrono wiki includes setup guidance, simulator usage information, PyChrono installation and migration notes, SolidWorks plugin information, publications, videos, and rationale pages.

Flight stack wiki highlights

The ACSL-FlightStack wiki includes setup prerequisites, hardware and software setup guidance, usage documentation, recommended configuration and parts, troubleshooting, publications, videos, and rationale pages.

Built for open UAV research

These projects reflect a shared commitment to reproducible aerospace controls research, transparent engineering workflows, and practical tools for the UAV community.

Contributing to the community

We welcome contributions from researchers, engineers, and students. Both projects are open-source and follow standard GitHub workflows.

How to contribute

  • Fork the repository and create a feature branch
  • Open issues for bugs, ideas, or discussions
  • Submit pull requests with clear descriptions and documentation
  • Share results, experiments, and improvements with the community

Whether you're improving documentation, adding features, or testing controllers, your contributions help strengthen the ecosystem.

Philosophy

These projects are built around reproducibility, transparency, and collaboration. Contributions that improve clarity, usability, and scientific rigor are especially valuable.

We encourage respectful discussion, clear documentation, and sharing of results to support the broader UAV research community.