Table of Contents
Fetching ...

Model Predictive Path Integral Control for Agile Unmanned Aerial Vehicles

Michal Minarik, Robert Penicka, Vojtech Vonasek, Martin Saska

TL;DR

The paper tackles real-time, onboard control of agile UAVs operating in obstacle-rich environments. It advances Model Predictive Path Integral (MPPI) control as a flexible, sampling-based approach that uses the full nonlinear UAV model and general cost functions, executed in parallel on a GPU to meet a $100\mathrm{Hz}$ real-time requirement. Key contributions include a UAV-specific MPPI formulation with low-level motor constraint handling, an obstacle-penalized cost framework, and a validated hardware demonstration achieving $44\ \mathrm{km/h}$ tracking with obstacle avoidance, surpassing a traditional MPC in tracking accuracy and offering competitive performance to SE(3) controllers on some tasks. The work enables broader, non-convex and non-differentiable cost handling directly in low-level UAV control, with practical impact for fast, safe autonomous flight in cluttered environments.

Abstract

This paper introduces a control architecture for real-time and onboard control of Unmanned Aerial Vehicles (UAVs) in environments with obstacles using the Model Predictive Path Integral (MPPI) methodology. MPPI allows the use of the full nonlinear model of UAV dynamics and a more general cost function at the cost of a high computational demand. To run the controller in real-time, the sampling-based optimization is performed in parallel on a graphics processing unit onboard the UAV. We propose an approach to the simulation of the nonlinear system which respects low-level constraints, while also able to dynamically handle obstacle avoidance, and prove that our methods are able to run in real-time without the need for external computers. The MPPI controller is compared to MPC and SE(3) controllers on the reference tracking task, showing a comparable performance. We demonstrate the viability of the proposed method in multiple simulation and real-world experiments, tracking a reference at up to 44 km/h and acceleration close to 20 m/s^2, while still being able to avoid obstacles. To the best of our knowledge, this is the first method to demonstrate an MPPI-based approach in real flight.

Model Predictive Path Integral Control for Agile Unmanned Aerial Vehicles

TL;DR

The paper tackles real-time, onboard control of agile UAVs operating in obstacle-rich environments. It advances Model Predictive Path Integral (MPPI) control as a flexible, sampling-based approach that uses the full nonlinear UAV model and general cost functions, executed in parallel on a GPU to meet a real-time requirement. Key contributions include a UAV-specific MPPI formulation with low-level motor constraint handling, an obstacle-penalized cost framework, and a validated hardware demonstration achieving tracking with obstacle avoidance, surpassing a traditional MPC in tracking accuracy and offering competitive performance to SE(3) controllers on some tasks. The work enables broader, non-convex and non-differentiable cost handling directly in low-level UAV control, with practical impact for fast, safe autonomous flight in cluttered environments.

Abstract

This paper introduces a control architecture for real-time and onboard control of Unmanned Aerial Vehicles (UAVs) in environments with obstacles using the Model Predictive Path Integral (MPPI) methodology. MPPI allows the use of the full nonlinear model of UAV dynamics and a more general cost function at the cost of a high computational demand. To run the controller in real-time, the sampling-based optimization is performed in parallel on a graphics processing unit onboard the UAV. We propose an approach to the simulation of the nonlinear system which respects low-level constraints, while also able to dynamically handle obstacle avoidance, and prove that our methods are able to run in real-time without the need for external computers. The MPPI controller is compared to MPC and SE(3) controllers on the reference tracking task, showing a comparable performance. We demonstrate the viability of the proposed method in multiple simulation and real-world experiments, tracking a reference at up to 44 km/h and acceleration close to 20 m/s^2, while still being able to avoid obstacles. To the best of our knowledge, this is the first method to demonstrate an MPPI-based approach in real flight.
Paper Structure (12 sections, 21 equations, 10 figures, 3 tables, 1 algorithm)

This paper contains 12 sections, 21 equations, 10 figures, 3 tables, 1 algorithm.

Figures (10)

  • Figure 1: The MPPI controller follows a target trajectory (blue) while avoiding collisions with obstacles (gray) by parallel prediction and weighing of hundreds of future trajectories (colored curves). Our proposed algorithm is able to run entirely onboard and online.
  • Figure 2: To track a given trajectory (blue curve), the MPPI controller keeps nominal control ($N$ consecutive control inputs) from previous optimization. When applied from the current state $\bm{x}_1$, the nominal rollout is computed (purple). The $K$ rollouts (other colored curves) are obtained by applying the actions perturbed by $\bm{\delta}^k$ and evaluated with the cost function (green - best, red - worst).
  • Figure 3: Average time of one MPPI iteration (lines \ref{['alg1:while1']}--\ref{['alg1:while2']} in \ref{['alg:MPPI']}) depending on the number of rollouts $K$ and number of prediction steps $N$. To run the controller at $100Hz$, we need to keep the iteration time below $10ms$ (black dashed line). The computation time may still vary per iteration due to other processes running on the UAV.
  • Figure 4: Comparison of the Euclidean distance, exact angle (\ref{['eq:quat_angle']}), and approximation thereof (\ref{['eq:quat_approx']}). The object makes a full 360-degree rotation around a single axis, and the distance to the starting state is computed. The Euclidean distance yields a value of $2$ when the object rotates fully, while the angle and its approximation correctly reach maximum at $180°$ and return to zero after the full rotation is completed.
  • Figure 5: Trajectories used for tracking error comparison.
  • ...and 5 more figures