hmpc

Reference implementation of the embedded HMPC T-RO paper

https://github.com/dbenders1/hmpc

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 9 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.1%) to scientific vocabulary

Keywords

embedded-autonomous-mobile-robots hierarchical-model-predictive-control obstacle-avoidance real-time-motion-planning-and-tracking
Last synced: 6 months ago · JSON representation ·

Repository

Reference implementation of the embedded HMPC T-RO paper

Basic Info
Statistics
  • Stars: 16
  • Watchers: 3
  • Forks: 2
  • Open Issues: 0
  • Releases: 0
Topics
embedded-autonomous-mobile-robots hierarchical-model-predictive-control obstacle-avoidance real-time-motion-planning-and-tracking
Created almost 2 years ago · Last pushed 9 months ago
Metadata Files
Readme License Citation

README.md

hmpc

License Static Badge

T-RO paper

The reference implementation of the embedded MPC framework used in our T-RO paper Embedded Hierarchical MPC for Autonomous Navigation.\ Paper on IEEE Xplore: https://doi.org/10.1109/TRO.2025.3567529. \ Paper on arXiv: https://arxiv.org/abs/2406.11506. \ Video: https://youtu.be/0RnrKk6830I. \ Website: https://autonomousrobots.nl/paper_websites/hmpc.

bibtex @ARTICLE{benders2025embedded, author={Benders, Dennis and K{\"o}hler, Johannes and Niesten, Thijs and Babu{\v{s}}ka, Robert and Alonso-Mora, Javier and Ferranti, Laura}, journal={IEEE Transactions on Robotics}, title={Embedded Hierarchical MPC for Autonomous Navigation}, year={2025}, volume={41}, number={}, pages={3556-3574}, doi={10.1109/TRO.2025.3567529} }

Summary

In this work, we propose a hierarchical MPC (HMPC) framework including the co-design of a planning MPC (PMPC) and tracking MPC (TMPC). The system diagram is given below:

HMPC system diagram

In the offline phase, the terminal ingredients of the TMPC are computed. These ingredients implicitly encode the TMPC capabilities and include the terminal cost matrix $P$, terminal control matrix $K$, and positive constants $cj^\mathrm{s}, j \in \mathbb{N}{[1,n^\mathrm{s}]}$ and $c^\mathrm{o}$ to tighten the system and obstacle avoidance constraints, respectively. Based on a user-chosen minimum distance between trajectory and obstacles, the terminal set scaling $\alpha$ can be computed.

During online operation, the PMPC plans a dynamically feasible trajectory based on goal position $\boldsymbol{p}^\mathrm{g}$ and grid map $\mathcal{M}$. To construct this plan such that the TMPC is guaranteed to track it and take the TMPC capabilities into account, the system constraints are tightened by $cj^\mathrm{s} \alpha, j \in \mathbb{N}{[1,n^\mathrm{s}]}$ and the obstacle avoidance constraints are tightened by $c^\mathrm{o} \alpha$. The planned trajectory is tracked by the TMPC using state state feedback $\boldsymbol{x}$. The PMPC and TMPC use the same nonlinear model but operate at different frequencies, thus enabling the real-time implementation of the scheme using off-the-shelf nonlinear solvers on an onboard computer with limited computational resources.

:rocket: HMPC has several advantages over a comparable single-layer MPC (SMPC) formulation that performs both planning and tracking in a single layer: - HMPC allows to increase the prediction horizon by a minimum factor of 5, resulting in improved planning performance. In the case of our work, this results in a smoother trajectory and faster convergence to the goal position. - HMPC allows to decouple the planning and tracking tasks, resulting in less sensitivity to model mismatch and better ability to maintain altitude. - In contrast to SMPC, HMPC allows to prove obstacle avoidance and recursive feasibility of the complete framework. These are important properties to consider for safety-critical robotic applications.

:sparkles: To avoid the obstacles, the PMPC and SMPC schemes leverage a novel and efficient obstacle avoidance constraint design method called I-DecompUtil. I-DecompUtil applies the DecompUtil convex decomposition algorithm applied per straight line segment between optimal PMPC states to construct convex obstacle-free regions per stage in the horizon.

The animation below shows the HMPC framework operating in the lab:

HMPC RViZ animation

The quadrotor platform used for the lab experiments is based on the NXP HoverGames development kit:

Quadrotor platform

How to get started?

Interested in reproducing our results and extending them for your own work? No problem!

This repository contains the code and documentation to reproduce the simple simulation, Gazebo simulation, and lab experiment results presented in our paper. This includes the modular MPC code framework used to implement all MPC schemes (PMPC, TMPC, and SMPC) and the I-DecompUtil obstacle avoidance constraints design method.

To get started, clone this repository by running: bash git clone --recurse-submodules git@github.com:dbenders1/hmpc.git and follow the instructions in the src README.

Contact information

Do you want to collaborate or do you have any questions? Feel free to reach out via https://github.com/dbenders1!

Owner

  • Name: Dennis Benders
  • Login: dbenders1
  • Kind: user
  • Company: Delft University of Technology

Hi! My name is Dennis Benders. I am a PhD candidate working on robust motion planning and control with interests in developing software stacks for robot control

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: HMPC
message: >-
  If you use this software, please cite it using the
  metadata in this file.
type: software
authors:
  - given-names: Dennis
    family-names: Benders
    email: d.benders@tudelft.nl
    affiliation: Delft University of Technology
    orcid: 'https://orcid.org/0000-0002-6648-7128'
  - given-names: Johannes
    family-names: Köhler
    email: jkoehle@ethz.ch
    affiliation: ETH Zürich
    orcid: 'https://orcid.org/0000-0002-5556-604X'
  - given-names: Thijs
    family-names: Niesten
    email: t.e.j.niesten@tudelft.nl
    affiliation: Delft University of Technology
    orcid: 'https://orcid.org/0009-0005-1658-3110'
  - given-names: Robert
    family-names: Babuška
    email: r.babuska@tudelft.nl
    affiliation: Delft University of Technology
    orcid: 'https://orcid.org/0000-0001-9578-8598'
  - given-names: Javier
    family-names: Alonso-Mora
    email: j.alonsomora@tudelft.nl
    affiliation: Delft University of Technology
    orcid: 'https://orcid.org/0000-0003-0058-570X'
  - given-names: Laura
    family-names: Ferranti
    email: l.ferranti@tudelft.nl
    affiliation: Delft University of Technology
    orcid: 'https://orcid.org/0000-0003-3856-6221'
keywords:
  - Embedded Autonomous Mobile Robots
  - Real-time Motion Planning and Tracking
  - Hierarchical Model Predictive Control
  - Obstacle Avoidance
license: MIT

GitHub Events

Total
  • Watch event: 18
  • Delete event: 2
  • Push event: 18
  • Fork event: 1
  • Create event: 2
Last Year
  • Watch event: 18
  • Delete event: 2
  • Push event: 18
  • Fork event: 1
  • Create event: 2