Skip to content

px4-mpc

  • Software
  • Drones and boats
  • Library

ROS 2 nodes that run model predictive controllers for spacecraft and multirotors on PX4 Autopilot, with the optimal control problems solved using acados.

Made by DISCOWER.

Source on GitHub: github.com/DISCOWER/px4-mpc (opens in a new tab). Facts read at commit 370bcf2 (opens in a new tab).

Licenses

Code
BSD-3-Clause (opens in a new tab)

Read by Robotheca from LICENSE (opens in a new tab) (BSD-3-Clause) at commit 370bcf2 (opens in a new tab), on 22 Oct 2026.

Commercial use
Yes

What it does

  • Runs MPC controllers as ROS 2 nodes that exchange vehicle states and offboard setpoints with PX4 over the uXRCE-DDS bridge.
  • Main target is the ATMOS free-flyer spacecraft, with several control modes from wrench and body rates down to direct thruster allocation.
  • Includes a quadrotor (x500) example as well as LQR and offset-free wrench variants for the spacecraft.
  • Setpoints can be set interactively in RViz or supplied by a predefined setpoint node.
  • Includes launch files for the spacecraft and quadrotor examples, with a KTH Space Lab constraints option and namespace support.

Written by Robotheca from the project's README (opens in a new tab) at commit 370bcf2.

Getting started

Difficulty
Advanced
Hardware it needs, as the project states it
Requires ROS 2 (for example Humble), acados with its Python interface, and PX4 SITL with Gazebo; for the spacecraft, the ATMOS simulation.

Maintenance

Status
Active: a commit in the last 90 days
Newest commit
27 Sept 2026 on master
Latest release
None published on GitHub

Checked on GitHub on 22 Oct 2026.

Robots that can run it

No robot on Robotheca is linked to it yet. Links come from a robot's robot.yaml, from its dependency files read as text, or from Robotheca's editors.

Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.