optimAero
PX4 Simulink SIL

PX4 Software in the Loop (SIL) for Simulink

This software simulates an aircraft using the PX4 controller and a Simulink-based physics plant, sensor, and environmental model. The primary goal of this SIL (Software in the Loop) simulation is to provide users with a clear example of how to connect the PX4 flight controller to a Simulink plant model.

The flight controller used in this SIL is a modified PX4 autopilot (V1.14.0). The SIL model, called VehicleSilSimulation.slx, is located in the root directory of the repository. Similarly, the plant model VehiclePlant.slx is also in the root directory. Currently, the default plant model is based on an F-16 aircraft model, which was derived from the book AIRCRAFT CONTROL AND SIMULATION (THIRD EDITION, STEVENS, LEWIS, JOHNSON).

Additionally, users can add their own custom plant/aircraft by following the detailed instructions in the Adding Custom Vehicle Configuration section of the repository. All Simulink models were created using MATLAB 2024a Update 6.

Features

  • Runs PX4 software in the loop
  • Includes F-16 model; add your own
  • Physics model unit testing for enhanced reliability
  • Connection with QGroundControl for ground station control
  • Graphics connection with FlightGear for 3D visualizations

Get Started

For more information and to access the source code, please visit the PX4 Simulink SIL GitHub repository: https://github.com/optimAero/optimAeroPX4SIL.

Cite As: optimAero, LLC (). PX4 software-in-the-loop (SIL) simulator for Simulink (https://github.com/optimAero/optimAeroPX4SIL), GitHub. Retrieved .