Using the UAV Toolbox Support Package for PX4® Autopilots, you can access autopilot peripherals from MATLAB® and Simulink®. With Embedded Coder®, you can also automatically generate C++ code and use the PX4 toolchain to build and deploy algorithms tailored specifically for Pixhawk® and Pixracer flight management units (FMU), all while incorporating onboard sensor data and other PX4-specific services. PX4 is a trademark of Lorenz Meier.
- Out of the box support for Pixhawk 1, Pixhawk 2.1 (Cube), Pixracer and Pixhawk 4. Other FMU based boards are also supported.
- Automated C++ Code - generation, Integration of code generated from Simulink with the general PX4 architecture Deployment, and Execution on the Pixhawk boards.
- Deployment support for PX4 on host computer as PX4 Host Target which the PX4 community refers to as PX4 Software-In-The-Loop (PX4 SITL).
- Support for Code verification and validation using the Processor-In-Loop simulation.
- Simulink library to access the Pixhawk peripherals such as ADC, PWM, Serial and I2C.
- Simulink library for the uORB middleware.
- Simulink library to get data from the PX4 sensor and estimator module such as Accelerometer, Gyroscope, Magnetometer, Battery, Vehicle Attitude and GPS.
- Data logging support from Simulink on the SD card while flying.
- Communicate with the Pixhawk hardware and PX4 Host Target using Connected I/O mode.
- Real-Time parameter tuning and signal acquisition using Monitor & Tune.
- Examples showing Position and Attitude Control for X-Configuration Quadcopter.
- Example with Simulink based plant model which communicates flight controller in PX4 Host Target.
Supported PX4 Autopilots
The following Autopilots are supported out-of-the box in the support package
- mRo Pixhawk 1
- ProfiCNC Pixhawk 2.1 (Cube)
- mRo Pixracer
- Holybro Pixhawk 4
Apart from the above boards, other FMU based boards can be used with the support package by selecting the Hardware board as PX4 Pixhawk Series. More details on this can be found here.
- Getting started with uORB blocks in Simulink
- Run Connected I/O Simulation on Pixhawk boards
- Send and Receive Serial data from Pixhawk boads in Simulink
- Getting started with PWM Block in Simulink to send actuator data to Pixhawk hardware
- Read PX4 System parameters in Simulink
- Read Accelerometer values in Simulink from I2C based sensor connected to Pixhawk 4
- Log data on SD Card connected to Pixhawk boards
- Run Processor-in-Loop Simulation on Pixhawk boards
- Position Tracking for X-Configuration Quadcopter Using Rate Controller
- Maneuvre drone on jMAVSim with Joystick or RC Transmitter while Attitude Controller is running on PX4 Host Target
- Simulink based plant model communicating with Flight Controller running on PX4 Host Target
MATLAB Release Compatibility
Created with R2018b
Compatible with R2018b to R2022a
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!