Custom Non-Linear Model Predictive Control for Obstacle Avoidance in Indoor and Outdoor Environments

Lara Laban, Mariusz Wzorek, Piotr Rudol, Tommy Persson
10/3/2024
cs.ROcs.AIcs.AR

No official code found. Best implementation: larasupernovae/nmpc_flash_multi_obstacle (26 stars, MIT, last commit 2025-05-16).

Abstract

Navigating complex environments requires Unmanned Aerial Vehicles (UAVs) and autonomous systems to perform trajectory tracking and obstacle avoidance in real-time. While many control strategies have effectively utilized linear approximations, addressing the non-linear dynamics of UAV, especially in obstacle-dense environments, remains a key challenge that requires further research. This paper introduces a Non-linear Model Predictive Control (NMPC) framework for the DJI Matrice 100, addressing these challenges by using a dynamic model and B-spline interpolation for smooth reference trajectories, ensuring minimal deviation while respecting safety constraints. The framework supports various trajectory types and employs a penalty-based cost function for control accuracy in tight maneuvers. The framework utilizes CasADi for efficient real-time optimization, enabling the UAV to maintain robust operation even under tight computational constraints. Simulation and real-world indoor and outdoor experiments demonstrated the NMPC ability to adapt to disturbances, resulting in smooth, collision-free navigation.

View on arXivView PDF

Code Implementations(1)

MIT

Repository for Enhanced Path Planning and Nonlinear Model Predictive Control (NMPC) for DJI UAVs. Features robust obstacle avoidance, lidar distance from the wall, complex trajectory tracking (B-spline) and ROS integration on DJI Matrice 100. Includes simulation code, real-world testing results, and documentation.

262C, C++Aug 12, 20241 years agoMIT

Similar Papers

Cite this paper

@article{laban2024custom,
  title  = {Custom Non-Linear Model Predictive Control for Obstacle Avoidance in Indoor and Outdoor Environments},
  author = {Lara Laban and Mariusz Wzorek and Piotr Rudol and Tommy Persson},
  year   = {2024},
  eprint = {2410.02732},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2410.02732v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2410.02732.svg)](https://codeofpaper.com/paper/2410.02732)

Discussion