No version for distro humble showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.0.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/simone-contorno/prox_mpc.git
VCS Type git
VCS Version main
Last Updated 2026-07-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Self-contained closed-loop simulation and benchmark for the ProxMPC core: drives a bundled kinematic model (bicycle / unicycle) toward a goal with no external simulator, publishes the command and predicted path, and logs the solve time.

Additional Links

Maintainers

  • Simone Contorno

Authors

No additional authors.

prox_mpc_demo

Runnable demonstrations of the ProxMPC stack, from a standalone closed-loop simulation of the prox_mpc_core engine to a full Nav2 + Gazebo bring-up of the prox_mpc_controller plugin.

Table of Contents

Overview

This package is where the ProxMPC stack becomes something you can launch. It provides the standalone prox_mpc_simulation executable and two launch files: one closes the control loop on the engine with no external simulator, and one runs the controller plugin inside a live Nav2 stack against Gazebo Harmonic. The standalone path needs only the core; the Nav2 path is the real-behaviour gate for the plugin.

Prerequisites

  • Operating system: Ubuntu 24.04 (Noble).
  • ROS 2 distribution: Jazzy.
  • Build system: ament_cmake.
  • Standalone simulation: prox_mpc_core, prox_mpc_msgs, and this package only. prox_mpc_msgs is an unconditional build dependency: the standalone node publishes prox_mpc_msgs/SolverDiagnostics.
  • Nav2 + Gazebo bring-up: additionally Nav2, ros_gz, and the canonical nav2_minimal_tb3_sim scenario, plus prox_mpc_controller (and, for the predictive mode, prox_mpc_obstacle_tracker).

ROS dependencies are declared in package.xml and resolved by rosdep install. Third-party assets are attributed in THIRD_PARTY_LICENSES.md.

Three ways to run

Standalone simulation

A self-contained, closed-loop driver for the engine with no external simulator: it drives a bundled kinematic model toward a goal, publishes the command and predicted path, broadcasts the pose, and logs the solve time. Use it to run, visualize, and profile the controller without Nav2. See doc/simulation.md for the full parameter and interface reference.

colcon build --symlink-install --packages-select prox_mpc_msgs prox_mpc_core prox_mpc_demo
source install/setup.bash

Select the model with the model launch argument (bicycle or unicycle) and add rviz:=true to visualize the robot:

# default: bicycle model, no RViz
ros2 launch prox_mpc_demo simulation.launch.py

# unicycle model with RViz
ros2 launch prox_mpc_demo simulation.launch.py model:=unicycle rviz:=true

Interactive Nav2 (kinematic plant, no Gazebo)

Drive a kinematic model under a full Nav2 stack - global planner, the ProxMPC controller_server, and costmaps - and send goals by clicking Nav2 Goal in the RViz toolbar, with no Gazebo. The model’s body (the R2D2 unicycle or the blue bicycle) moves to each clicked goal. This launch lives in prox_mpc_benchmark, which owns the kinematic plant and the Nav2 base config:

colcon build --symlink-install --packages-select \
  prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_benchmark prox_mpc_demo
source install/setup.bash

# unicycle (R2D2 body) - default
ros2 launch prox_mpc_benchmark interactive.launch.py

# bicycle (blue bike body)
ros2 launch prox_mpc_benchmark interactive.launch.py model:=bicycle

The real-behaviour gate for the controller plugin: it runs the plugin inside a live controller_server driving a TurtleBot3 waffle under a full Nav2 stack, with an opt-in predictive obstacle-avoidance mode. See doc/nav2-simulation.md for the scenarios, configuration rationale, and verified results.

```bash colcon build –symlink-install
–packages-select prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_demo

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package prox_mpc_demo

1.0.0 (2026-07-28)

  • Initial release: self-contained closed-loop NMPC simulation node (bicycle / unicycle) with solve-time benchmarking, plus the Nav2 + Gazebo Harmonic bringup that exercises the controller plugin and the obstacle tracker.
  • config/nav2_prox_mpc_predictive.yaml ships the benchmark's validated single-/sparse-obstacle preset (w_weight 1000, costmap_cost_threshold 253, cbf_gamma 1.0, max_obstacles 4, prediction_uncertainty_growth 0.05, max_dynamic_obstacles 2), so the demo's predictive path matches the benchmark's measured behavior.
  • Contributors: Simone Contorno

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged prox_mpc_demo at Robotics Stack Exchange

Package Summary

Version 1.0.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/simone-contorno/prox_mpc.git
VCS Type git
VCS Version main
Last Updated 2026-07-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Self-contained closed-loop simulation and benchmark for the ProxMPC core: drives a bundled kinematic model (bicycle / unicycle) toward a goal with no external simulator, publishes the command and predicted path, and logs the solve time.

Additional Links

Maintainers

  • Simone Contorno

Authors

No additional authors.

prox_mpc_demo

Runnable demonstrations of the ProxMPC stack, from a standalone closed-loop simulation of the prox_mpc_core engine to a full Nav2 + Gazebo bring-up of the prox_mpc_controller plugin.

Table of Contents

Overview

This package is where the ProxMPC stack becomes something you can launch. It provides the standalone prox_mpc_simulation executable and two launch files: one closes the control loop on the engine with no external simulator, and one runs the controller plugin inside a live Nav2 stack against Gazebo Harmonic. The standalone path needs only the core; the Nav2 path is the real-behaviour gate for the plugin.

Prerequisites

  • Operating system: Ubuntu 24.04 (Noble).
  • ROS 2 distribution: Jazzy.
  • Build system: ament_cmake.
  • Standalone simulation: prox_mpc_core, prox_mpc_msgs, and this package only. prox_mpc_msgs is an unconditional build dependency: the standalone node publishes prox_mpc_msgs/SolverDiagnostics.
  • Nav2 + Gazebo bring-up: additionally Nav2, ros_gz, and the canonical nav2_minimal_tb3_sim scenario, plus prox_mpc_controller (and, for the predictive mode, prox_mpc_obstacle_tracker).

ROS dependencies are declared in package.xml and resolved by rosdep install. Third-party assets are attributed in THIRD_PARTY_LICENSES.md.

Three ways to run

Standalone simulation

A self-contained, closed-loop driver for the engine with no external simulator: it drives a bundled kinematic model toward a goal, publishes the command and predicted path, broadcasts the pose, and logs the solve time. Use it to run, visualize, and profile the controller without Nav2. See doc/simulation.md for the full parameter and interface reference.

colcon build --symlink-install --packages-select prox_mpc_msgs prox_mpc_core prox_mpc_demo
source install/setup.bash

Select the model with the model launch argument (bicycle or unicycle) and add rviz:=true to visualize the robot:

# default: bicycle model, no RViz
ros2 launch prox_mpc_demo simulation.launch.py

# unicycle model with RViz
ros2 launch prox_mpc_demo simulation.launch.py model:=unicycle rviz:=true

Interactive Nav2 (kinematic plant, no Gazebo)

Drive a kinematic model under a full Nav2 stack - global planner, the ProxMPC controller_server, and costmaps - and send goals by clicking Nav2 Goal in the RViz toolbar, with no Gazebo. The model’s body (the R2D2 unicycle or the blue bicycle) moves to each clicked goal. This launch lives in prox_mpc_benchmark, which owns the kinematic plant and the Nav2 base config:

colcon build --symlink-install --packages-select \
  prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_benchmark prox_mpc_demo
source install/setup.bash

# unicycle (R2D2 body) - default
ros2 launch prox_mpc_benchmark interactive.launch.py

# bicycle (blue bike body)
ros2 launch prox_mpc_benchmark interactive.launch.py model:=bicycle

The real-behaviour gate for the controller plugin: it runs the plugin inside a live controller_server driving a TurtleBot3 waffle under a full Nav2 stack, with an opt-in predictive obstacle-avoidance mode. See doc/nav2-simulation.md for the scenarios, configuration rationale, and verified results.

```bash colcon build –symlink-install
–packages-select prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_demo

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package prox_mpc_demo

1.0.0 (2026-07-28)

  • Initial release: self-contained closed-loop NMPC simulation node (bicycle / unicycle) with solve-time benchmarking, plus the Nav2 + Gazebo Harmonic bringup that exercises the controller plugin and the obstacle tracker.
  • config/nav2_prox_mpc_predictive.yaml ships the benchmark's validated single-/sparse-obstacle preset (w_weight 1000, costmap_cost_threshold 253, cbf_gamma 1.0, max_obstacles 4, prediction_uncertainty_growth 0.05, max_dynamic_obstacles 2), so the demo's predictive path matches the benchmark's measured behavior.
  • Contributors: Simone Contorno

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged prox_mpc_demo at Robotics Stack Exchange

No version for distro kilted showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.0.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/simone-contorno/prox_mpc.git
VCS Type git
VCS Version main
Last Updated 2026-07-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Self-contained closed-loop simulation and benchmark for the ProxMPC core: drives a bundled kinematic model (bicycle / unicycle) toward a goal with no external simulator, publishes the command and predicted path, and logs the solve time.

Additional Links

Maintainers

  • Simone Contorno

Authors

No additional authors.

prox_mpc_demo

Runnable demonstrations of the ProxMPC stack, from a standalone closed-loop simulation of the prox_mpc_core engine to a full Nav2 + Gazebo bring-up of the prox_mpc_controller plugin.

Table of Contents

Overview

This package is where the ProxMPC stack becomes something you can launch. It provides the standalone prox_mpc_simulation executable and two launch files: one closes the control loop on the engine with no external simulator, and one runs the controller plugin inside a live Nav2 stack against Gazebo Harmonic. The standalone path needs only the core; the Nav2 path is the real-behaviour gate for the plugin.

Prerequisites

  • Operating system: Ubuntu 24.04 (Noble).
  • ROS 2 distribution: Jazzy.
  • Build system: ament_cmake.
  • Standalone simulation: prox_mpc_core, prox_mpc_msgs, and this package only. prox_mpc_msgs is an unconditional build dependency: the standalone node publishes prox_mpc_msgs/SolverDiagnostics.
  • Nav2 + Gazebo bring-up: additionally Nav2, ros_gz, and the canonical nav2_minimal_tb3_sim scenario, plus prox_mpc_controller (and, for the predictive mode, prox_mpc_obstacle_tracker).

ROS dependencies are declared in package.xml and resolved by rosdep install. Third-party assets are attributed in THIRD_PARTY_LICENSES.md.

Three ways to run

Standalone simulation

A self-contained, closed-loop driver for the engine with no external simulator: it drives a bundled kinematic model toward a goal, publishes the command and predicted path, broadcasts the pose, and logs the solve time. Use it to run, visualize, and profile the controller without Nav2. See doc/simulation.md for the full parameter and interface reference.

colcon build --symlink-install --packages-select prox_mpc_msgs prox_mpc_core prox_mpc_demo
source install/setup.bash

Select the model with the model launch argument (bicycle or unicycle) and add rviz:=true to visualize the robot:

# default: bicycle model, no RViz
ros2 launch prox_mpc_demo simulation.launch.py

# unicycle model with RViz
ros2 launch prox_mpc_demo simulation.launch.py model:=unicycle rviz:=true

Interactive Nav2 (kinematic plant, no Gazebo)

Drive a kinematic model under a full Nav2 stack - global planner, the ProxMPC controller_server, and costmaps - and send goals by clicking Nav2 Goal in the RViz toolbar, with no Gazebo. The model’s body (the R2D2 unicycle or the blue bicycle) moves to each clicked goal. This launch lives in prox_mpc_benchmark, which owns the kinematic plant and the Nav2 base config:

colcon build --symlink-install --packages-select \
  prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_benchmark prox_mpc_demo
source install/setup.bash

# unicycle (R2D2 body) - default
ros2 launch prox_mpc_benchmark interactive.launch.py

# bicycle (blue bike body)
ros2 launch prox_mpc_benchmark interactive.launch.py model:=bicycle

The real-behaviour gate for the controller plugin: it runs the plugin inside a live controller_server driving a TurtleBot3 waffle under a full Nav2 stack, with an opt-in predictive obstacle-avoidance mode. See doc/nav2-simulation.md for the scenarios, configuration rationale, and verified results.

```bash colcon build –symlink-install
–packages-select prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_demo

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package prox_mpc_demo

1.0.0 (2026-07-28)

  • Initial release: self-contained closed-loop NMPC simulation node (bicycle / unicycle) with solve-time benchmarking, plus the Nav2 + Gazebo Harmonic bringup that exercises the controller plugin and the obstacle tracker.
  • config/nav2_prox_mpc_predictive.yaml ships the benchmark's validated single-/sparse-obstacle preset (w_weight 1000, costmap_cost_threshold 253, cbf_gamma 1.0, max_obstacles 4, prediction_uncertainty_growth 0.05, max_dynamic_obstacles 2), so the demo's predictive path matches the benchmark's measured behavior.
  • Contributors: Simone Contorno

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged prox_mpc_demo at Robotics Stack Exchange

No version for distro lyrical showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.0.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/simone-contorno/prox_mpc.git
VCS Type git
VCS Version main
Last Updated 2026-07-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Self-contained closed-loop simulation and benchmark for the ProxMPC core: drives a bundled kinematic model (bicycle / unicycle) toward a goal with no external simulator, publishes the command and predicted path, and logs the solve time.

Additional Links

Maintainers

  • Simone Contorno

Authors

No additional authors.

prox_mpc_demo

Runnable demonstrations of the ProxMPC stack, from a standalone closed-loop simulation of the prox_mpc_core engine to a full Nav2 + Gazebo bring-up of the prox_mpc_controller plugin.

Table of Contents

Overview

This package is where the ProxMPC stack becomes something you can launch. It provides the standalone prox_mpc_simulation executable and two launch files: one closes the control loop on the engine with no external simulator, and one runs the controller plugin inside a live Nav2 stack against Gazebo Harmonic. The standalone path needs only the core; the Nav2 path is the real-behaviour gate for the plugin.

Prerequisites

  • Operating system: Ubuntu 24.04 (Noble).
  • ROS 2 distribution: Jazzy.
  • Build system: ament_cmake.
  • Standalone simulation: prox_mpc_core, prox_mpc_msgs, and this package only. prox_mpc_msgs is an unconditional build dependency: the standalone node publishes prox_mpc_msgs/SolverDiagnostics.
  • Nav2 + Gazebo bring-up: additionally Nav2, ros_gz, and the canonical nav2_minimal_tb3_sim scenario, plus prox_mpc_controller (and, for the predictive mode, prox_mpc_obstacle_tracker).

ROS dependencies are declared in package.xml and resolved by rosdep install. Third-party assets are attributed in THIRD_PARTY_LICENSES.md.

Three ways to run

Standalone simulation

A self-contained, closed-loop driver for the engine with no external simulator: it drives a bundled kinematic model toward a goal, publishes the command and predicted path, broadcasts the pose, and logs the solve time. Use it to run, visualize, and profile the controller without Nav2. See doc/simulation.md for the full parameter and interface reference.

colcon build --symlink-install --packages-select prox_mpc_msgs prox_mpc_core prox_mpc_demo
source install/setup.bash

Select the model with the model launch argument (bicycle or unicycle) and add rviz:=true to visualize the robot:

# default: bicycle model, no RViz
ros2 launch prox_mpc_demo simulation.launch.py

# unicycle model with RViz
ros2 launch prox_mpc_demo simulation.launch.py model:=unicycle rviz:=true

Interactive Nav2 (kinematic plant, no Gazebo)

Drive a kinematic model under a full Nav2 stack - global planner, the ProxMPC controller_server, and costmaps - and send goals by clicking Nav2 Goal in the RViz toolbar, with no Gazebo. The model’s body (the R2D2 unicycle or the blue bicycle) moves to each clicked goal. This launch lives in prox_mpc_benchmark, which owns the kinematic plant and the Nav2 base config:

colcon build --symlink-install --packages-select \
  prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_benchmark prox_mpc_demo
source install/setup.bash

# unicycle (R2D2 body) - default
ros2 launch prox_mpc_benchmark interactive.launch.py

# bicycle (blue bike body)
ros2 launch prox_mpc_benchmark interactive.launch.py model:=bicycle

The real-behaviour gate for the controller plugin: it runs the plugin inside a live controller_server driving a TurtleBot3 waffle under a full Nav2 stack, with an opt-in predictive obstacle-avoidance mode. See doc/nav2-simulation.md for the scenarios, configuration rationale, and verified results.

```bash colcon build –symlink-install
–packages-select prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_demo

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package prox_mpc_demo

1.0.0 (2026-07-28)

  • Initial release: self-contained closed-loop NMPC simulation node (bicycle / unicycle) with solve-time benchmarking, plus the Nav2 + Gazebo Harmonic bringup that exercises the controller plugin and the obstacle tracker.
  • config/nav2_prox_mpc_predictive.yaml ships the benchmark's validated single-/sparse-obstacle preset (w_weight 1000, costmap_cost_threshold 253, cbf_gamma 1.0, max_obstacles 4, prediction_uncertainty_growth 0.05, max_dynamic_obstacles 2), so the demo's predictive path matches the benchmark's measured behavior.
  • Contributors: Simone Contorno

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged prox_mpc_demo at Robotics Stack Exchange

No version for distro rolling showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.0.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/simone-contorno/prox_mpc.git
VCS Type git
VCS Version main
Last Updated 2026-07-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Self-contained closed-loop simulation and benchmark for the ProxMPC core: drives a bundled kinematic model (bicycle / unicycle) toward a goal with no external simulator, publishes the command and predicted path, and logs the solve time.

Additional Links

Maintainers

  • Simone Contorno

Authors

No additional authors.

prox_mpc_demo

Runnable demonstrations of the ProxMPC stack, from a standalone closed-loop simulation of the prox_mpc_core engine to a full Nav2 + Gazebo bring-up of the prox_mpc_controller plugin.

Table of Contents

Overview

This package is where the ProxMPC stack becomes something you can launch. It provides the standalone prox_mpc_simulation executable and two launch files: one closes the control loop on the engine with no external simulator, and one runs the controller plugin inside a live Nav2 stack against Gazebo Harmonic. The standalone path needs only the core; the Nav2 path is the real-behaviour gate for the plugin.

Prerequisites

  • Operating system: Ubuntu 24.04 (Noble).
  • ROS 2 distribution: Jazzy.
  • Build system: ament_cmake.
  • Standalone simulation: prox_mpc_core, prox_mpc_msgs, and this package only. prox_mpc_msgs is an unconditional build dependency: the standalone node publishes prox_mpc_msgs/SolverDiagnostics.
  • Nav2 + Gazebo bring-up: additionally Nav2, ros_gz, and the canonical nav2_minimal_tb3_sim scenario, plus prox_mpc_controller (and, for the predictive mode, prox_mpc_obstacle_tracker).

ROS dependencies are declared in package.xml and resolved by rosdep install. Third-party assets are attributed in THIRD_PARTY_LICENSES.md.

Three ways to run

Standalone simulation

A self-contained, closed-loop driver for the engine with no external simulator: it drives a bundled kinematic model toward a goal, publishes the command and predicted path, broadcasts the pose, and logs the solve time. Use it to run, visualize, and profile the controller without Nav2. See doc/simulation.md for the full parameter and interface reference.

colcon build --symlink-install --packages-select prox_mpc_msgs prox_mpc_core prox_mpc_demo
source install/setup.bash

Select the model with the model launch argument (bicycle or unicycle) and add rviz:=true to visualize the robot:

# default: bicycle model, no RViz
ros2 launch prox_mpc_demo simulation.launch.py

# unicycle model with RViz
ros2 launch prox_mpc_demo simulation.launch.py model:=unicycle rviz:=true

Interactive Nav2 (kinematic plant, no Gazebo)

Drive a kinematic model under a full Nav2 stack - global planner, the ProxMPC controller_server, and costmaps - and send goals by clicking Nav2 Goal in the RViz toolbar, with no Gazebo. The model’s body (the R2D2 unicycle or the blue bicycle) moves to each clicked goal. This launch lives in prox_mpc_benchmark, which owns the kinematic plant and the Nav2 base config:

colcon build --symlink-install --packages-select \
  prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_benchmark prox_mpc_demo
source install/setup.bash

# unicycle (R2D2 body) - default
ros2 launch prox_mpc_benchmark interactive.launch.py

# bicycle (blue bike body)
ros2 launch prox_mpc_benchmark interactive.launch.py model:=bicycle

The real-behaviour gate for the controller plugin: it runs the plugin inside a live controller_server driving a TurtleBot3 waffle under a full Nav2 stack, with an opt-in predictive obstacle-avoidance mode. See doc/nav2-simulation.md for the scenarios, configuration rationale, and verified results.

```bash colcon build –symlink-install
–packages-select prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_demo

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package prox_mpc_demo

1.0.0 (2026-07-28)

  • Initial release: self-contained closed-loop NMPC simulation node (bicycle / unicycle) with solve-time benchmarking, plus the Nav2 + Gazebo Harmonic bringup that exercises the controller plugin and the obstacle tracker.
  • config/nav2_prox_mpc_predictive.yaml ships the benchmark's validated single-/sparse-obstacle preset (w_weight 1000, costmap_cost_threshold 253, cbf_gamma 1.0, max_obstacles 4, prediction_uncertainty_growth 0.05, max_dynamic_obstacles 2), so the demo's predictive path matches the benchmark's measured behavior.
  • Contributors: Simone Contorno

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged prox_mpc_demo at Robotics Stack Exchange

No version for distro ardent showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.0.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/simone-contorno/prox_mpc.git
VCS Type git
VCS Version main
Last Updated 2026-07-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Self-contained closed-loop simulation and benchmark for the ProxMPC core: drives a bundled kinematic model (bicycle / unicycle) toward a goal with no external simulator, publishes the command and predicted path, and logs the solve time.

Additional Links

Maintainers

  • Simone Contorno

Authors

No additional authors.

prox_mpc_demo

Runnable demonstrations of the ProxMPC stack, from a standalone closed-loop simulation of the prox_mpc_core engine to a full Nav2 + Gazebo bring-up of the prox_mpc_controller plugin.

Table of Contents

Overview

This package is where the ProxMPC stack becomes something you can launch. It provides the standalone prox_mpc_simulation executable and two launch files: one closes the control loop on the engine with no external simulator, and one runs the controller plugin inside a live Nav2 stack against Gazebo Harmonic. The standalone path needs only the core; the Nav2 path is the real-behaviour gate for the plugin.

Prerequisites

  • Operating system: Ubuntu 24.04 (Noble).
  • ROS 2 distribution: Jazzy.
  • Build system: ament_cmake.
  • Standalone simulation: prox_mpc_core, prox_mpc_msgs, and this package only. prox_mpc_msgs is an unconditional build dependency: the standalone node publishes prox_mpc_msgs/SolverDiagnostics.
  • Nav2 + Gazebo bring-up: additionally Nav2, ros_gz, and the canonical nav2_minimal_tb3_sim scenario, plus prox_mpc_controller (and, for the predictive mode, prox_mpc_obstacle_tracker).

ROS dependencies are declared in package.xml and resolved by rosdep install. Third-party assets are attributed in THIRD_PARTY_LICENSES.md.

Three ways to run

Standalone simulation

A self-contained, closed-loop driver for the engine with no external simulator: it drives a bundled kinematic model toward a goal, publishes the command and predicted path, broadcasts the pose, and logs the solve time. Use it to run, visualize, and profile the controller without Nav2. See doc/simulation.md for the full parameter and interface reference.

colcon build --symlink-install --packages-select prox_mpc_msgs prox_mpc_core prox_mpc_demo
source install/setup.bash

Select the model with the model launch argument (bicycle or unicycle) and add rviz:=true to visualize the robot:

# default: bicycle model, no RViz
ros2 launch prox_mpc_demo simulation.launch.py

# unicycle model with RViz
ros2 launch prox_mpc_demo simulation.launch.py model:=unicycle rviz:=true

Interactive Nav2 (kinematic plant, no Gazebo)

Drive a kinematic model under a full Nav2 stack - global planner, the ProxMPC controller_server, and costmaps - and send goals by clicking Nav2 Goal in the RViz toolbar, with no Gazebo. The model’s body (the R2D2 unicycle or the blue bicycle) moves to each clicked goal. This launch lives in prox_mpc_benchmark, which owns the kinematic plant and the Nav2 base config:

colcon build --symlink-install --packages-select \
  prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_benchmark prox_mpc_demo
source install/setup.bash

# unicycle (R2D2 body) - default
ros2 launch prox_mpc_benchmark interactive.launch.py

# bicycle (blue bike body)
ros2 launch prox_mpc_benchmark interactive.launch.py model:=bicycle

The real-behaviour gate for the controller plugin: it runs the plugin inside a live controller_server driving a TurtleBot3 waffle under a full Nav2 stack, with an opt-in predictive obstacle-avoidance mode. See doc/nav2-simulation.md for the scenarios, configuration rationale, and verified results.

```bash colcon build –symlink-install
–packages-select prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_demo

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package prox_mpc_demo

1.0.0 (2026-07-28)

  • Initial release: self-contained closed-loop NMPC simulation node (bicycle / unicycle) with solve-time benchmarking, plus the Nav2 + Gazebo Harmonic bringup that exercises the controller plugin and the obstacle tracker.
  • config/nav2_prox_mpc_predictive.yaml ships the benchmark's validated single-/sparse-obstacle preset (w_weight 1000, costmap_cost_threshold 253, cbf_gamma 1.0, max_obstacles 4, prediction_uncertainty_growth 0.05, max_dynamic_obstacles 2), so the demo's predictive path matches the benchmark's measured behavior.
  • Contributors: Simone Contorno

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged prox_mpc_demo at Robotics Stack Exchange

No version for distro bouncy showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.0.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/simone-contorno/prox_mpc.git
VCS Type git
VCS Version main
Last Updated 2026-07-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Self-contained closed-loop simulation and benchmark for the ProxMPC core: drives a bundled kinematic model (bicycle / unicycle) toward a goal with no external simulator, publishes the command and predicted path, and logs the solve time.

Additional Links

Maintainers

  • Simone Contorno

Authors

No additional authors.

prox_mpc_demo

Runnable demonstrations of the ProxMPC stack, from a standalone closed-loop simulation of the prox_mpc_core engine to a full Nav2 + Gazebo bring-up of the prox_mpc_controller plugin.

Table of Contents

Overview

This package is where the ProxMPC stack becomes something you can launch. It provides the standalone prox_mpc_simulation executable and two launch files: one closes the control loop on the engine with no external simulator, and one runs the controller plugin inside a live Nav2 stack against Gazebo Harmonic. The standalone path needs only the core; the Nav2 path is the real-behaviour gate for the plugin.

Prerequisites

  • Operating system: Ubuntu 24.04 (Noble).
  • ROS 2 distribution: Jazzy.
  • Build system: ament_cmake.
  • Standalone simulation: prox_mpc_core, prox_mpc_msgs, and this package only. prox_mpc_msgs is an unconditional build dependency: the standalone node publishes prox_mpc_msgs/SolverDiagnostics.
  • Nav2 + Gazebo bring-up: additionally Nav2, ros_gz, and the canonical nav2_minimal_tb3_sim scenario, plus prox_mpc_controller (and, for the predictive mode, prox_mpc_obstacle_tracker).

ROS dependencies are declared in package.xml and resolved by rosdep install. Third-party assets are attributed in THIRD_PARTY_LICENSES.md.

Three ways to run

Standalone simulation

A self-contained, closed-loop driver for the engine with no external simulator: it drives a bundled kinematic model toward a goal, publishes the command and predicted path, broadcasts the pose, and logs the solve time. Use it to run, visualize, and profile the controller without Nav2. See doc/simulation.md for the full parameter and interface reference.

colcon build --symlink-install --packages-select prox_mpc_msgs prox_mpc_core prox_mpc_demo
source install/setup.bash

Select the model with the model launch argument (bicycle or unicycle) and add rviz:=true to visualize the robot:

# default: bicycle model, no RViz
ros2 launch prox_mpc_demo simulation.launch.py

# unicycle model with RViz
ros2 launch prox_mpc_demo simulation.launch.py model:=unicycle rviz:=true

Interactive Nav2 (kinematic plant, no Gazebo)

Drive a kinematic model under a full Nav2 stack - global planner, the ProxMPC controller_server, and costmaps - and send goals by clicking Nav2 Goal in the RViz toolbar, with no Gazebo. The model’s body (the R2D2 unicycle or the blue bicycle) moves to each clicked goal. This launch lives in prox_mpc_benchmark, which owns the kinematic plant and the Nav2 base config:

colcon build --symlink-install --packages-select \
  prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_benchmark prox_mpc_demo
source install/setup.bash

# unicycle (R2D2 body) - default
ros2 launch prox_mpc_benchmark interactive.launch.py

# bicycle (blue bike body)
ros2 launch prox_mpc_benchmark interactive.launch.py model:=bicycle

The real-behaviour gate for the controller plugin: it runs the plugin inside a live controller_server driving a TurtleBot3 waffle under a full Nav2 stack, with an opt-in predictive obstacle-avoidance mode. See doc/nav2-simulation.md for the scenarios, configuration rationale, and verified results.

```bash colcon build –symlink-install
–packages-select prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_demo

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package prox_mpc_demo

1.0.0 (2026-07-28)

  • Initial release: self-contained closed-loop NMPC simulation node (bicycle / unicycle) with solve-time benchmarking, plus the Nav2 + Gazebo Harmonic bringup that exercises the controller plugin and the obstacle tracker.
  • config/nav2_prox_mpc_predictive.yaml ships the benchmark's validated single-/sparse-obstacle preset (w_weight 1000, costmap_cost_threshold 253, cbf_gamma 1.0, max_obstacles 4, prediction_uncertainty_growth 0.05, max_dynamic_obstacles 2), so the demo's predictive path matches the benchmark's measured behavior.
  • Contributors: Simone Contorno

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged prox_mpc_demo at Robotics Stack Exchange

No version for distro crystal showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.0.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/simone-contorno/prox_mpc.git
VCS Type git
VCS Version main
Last Updated 2026-07-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Self-contained closed-loop simulation and benchmark for the ProxMPC core: drives a bundled kinematic model (bicycle / unicycle) toward a goal with no external simulator, publishes the command and predicted path, and logs the solve time.

Additional Links

Maintainers

  • Simone Contorno

Authors

No additional authors.

prox_mpc_demo

Runnable demonstrations of the ProxMPC stack, from a standalone closed-loop simulation of the prox_mpc_core engine to a full Nav2 + Gazebo bring-up of the prox_mpc_controller plugin.

Table of Contents

Overview

This package is where the ProxMPC stack becomes something you can launch. It provides the standalone prox_mpc_simulation executable and two launch files: one closes the control loop on the engine with no external simulator, and one runs the controller plugin inside a live Nav2 stack against Gazebo Harmonic. The standalone path needs only the core; the Nav2 path is the real-behaviour gate for the plugin.

Prerequisites

  • Operating system: Ubuntu 24.04 (Noble).
  • ROS 2 distribution: Jazzy.
  • Build system: ament_cmake.
  • Standalone simulation: prox_mpc_core, prox_mpc_msgs, and this package only. prox_mpc_msgs is an unconditional build dependency: the standalone node publishes prox_mpc_msgs/SolverDiagnostics.
  • Nav2 + Gazebo bring-up: additionally Nav2, ros_gz, and the canonical nav2_minimal_tb3_sim scenario, plus prox_mpc_controller (and, for the predictive mode, prox_mpc_obstacle_tracker).

ROS dependencies are declared in package.xml and resolved by rosdep install. Third-party assets are attributed in THIRD_PARTY_LICENSES.md.

Three ways to run

Standalone simulation

A self-contained, closed-loop driver for the engine with no external simulator: it drives a bundled kinematic model toward a goal, publishes the command and predicted path, broadcasts the pose, and logs the solve time. Use it to run, visualize, and profile the controller without Nav2. See doc/simulation.md for the full parameter and interface reference.

colcon build --symlink-install --packages-select prox_mpc_msgs prox_mpc_core prox_mpc_demo
source install/setup.bash

Select the model with the model launch argument (bicycle or unicycle) and add rviz:=true to visualize the robot:

# default: bicycle model, no RViz
ros2 launch prox_mpc_demo simulation.launch.py

# unicycle model with RViz
ros2 launch prox_mpc_demo simulation.launch.py model:=unicycle rviz:=true

Interactive Nav2 (kinematic plant, no Gazebo)

Drive a kinematic model under a full Nav2 stack - global planner, the ProxMPC controller_server, and costmaps - and send goals by clicking Nav2 Goal in the RViz toolbar, with no Gazebo. The model’s body (the R2D2 unicycle or the blue bicycle) moves to each clicked goal. This launch lives in prox_mpc_benchmark, which owns the kinematic plant and the Nav2 base config:

colcon build --symlink-install --packages-select \
  prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_benchmark prox_mpc_demo
source install/setup.bash

# unicycle (R2D2 body) - default
ros2 launch prox_mpc_benchmark interactive.launch.py

# bicycle (blue bike body)
ros2 launch prox_mpc_benchmark interactive.launch.py model:=bicycle

The real-behaviour gate for the controller plugin: it runs the plugin inside a live controller_server driving a TurtleBot3 waffle under a full Nav2 stack, with an opt-in predictive obstacle-avoidance mode. See doc/nav2-simulation.md for the scenarios, configuration rationale, and verified results.

```bash colcon build –symlink-install
–packages-select prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_demo

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package prox_mpc_demo

1.0.0 (2026-07-28)

  • Initial release: self-contained closed-loop NMPC simulation node (bicycle / unicycle) with solve-time benchmarking, plus the Nav2 + Gazebo Harmonic bringup that exercises the controller plugin and the obstacle tracker.
  • config/nav2_prox_mpc_predictive.yaml ships the benchmark's validated single-/sparse-obstacle preset (w_weight 1000, costmap_cost_threshold 253, cbf_gamma 1.0, max_obstacles 4, prediction_uncertainty_growth 0.05, max_dynamic_obstacles 2), so the demo's predictive path matches the benchmark's measured behavior.
  • Contributors: Simone Contorno

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged prox_mpc_demo at Robotics Stack Exchange

No version for distro eloquent showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.0.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/simone-contorno/prox_mpc.git
VCS Type git
VCS Version main
Last Updated 2026-07-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Self-contained closed-loop simulation and benchmark for the ProxMPC core: drives a bundled kinematic model (bicycle / unicycle) toward a goal with no external simulator, publishes the command and predicted path, and logs the solve time.

Additional Links

Maintainers

  • Simone Contorno

Authors

No additional authors.

prox_mpc_demo

Runnable demonstrations of the ProxMPC stack, from a standalone closed-loop simulation of the prox_mpc_core engine to a full Nav2 + Gazebo bring-up of the prox_mpc_controller plugin.

Table of Contents

Overview

This package is where the ProxMPC stack becomes something you can launch. It provides the standalone prox_mpc_simulation executable and two launch files: one closes the control loop on the engine with no external simulator, and one runs the controller plugin inside a live Nav2 stack against Gazebo Harmonic. The standalone path needs only the core; the Nav2 path is the real-behaviour gate for the plugin.

Prerequisites

  • Operating system: Ubuntu 24.04 (Noble).
  • ROS 2 distribution: Jazzy.
  • Build system: ament_cmake.
  • Standalone simulation: prox_mpc_core, prox_mpc_msgs, and this package only. prox_mpc_msgs is an unconditional build dependency: the standalone node publishes prox_mpc_msgs/SolverDiagnostics.
  • Nav2 + Gazebo bring-up: additionally Nav2, ros_gz, and the canonical nav2_minimal_tb3_sim scenario, plus prox_mpc_controller (and, for the predictive mode, prox_mpc_obstacle_tracker).

ROS dependencies are declared in package.xml and resolved by rosdep install. Third-party assets are attributed in THIRD_PARTY_LICENSES.md.

Three ways to run

Standalone simulation

A self-contained, closed-loop driver for the engine with no external simulator: it drives a bundled kinematic model toward a goal, publishes the command and predicted path, broadcasts the pose, and logs the solve time. Use it to run, visualize, and profile the controller without Nav2. See doc/simulation.md for the full parameter and interface reference.

colcon build --symlink-install --packages-select prox_mpc_msgs prox_mpc_core prox_mpc_demo
source install/setup.bash

Select the model with the model launch argument (bicycle or unicycle) and add rviz:=true to visualize the robot:

# default: bicycle model, no RViz
ros2 launch prox_mpc_demo simulation.launch.py

# unicycle model with RViz
ros2 launch prox_mpc_demo simulation.launch.py model:=unicycle rviz:=true

Interactive Nav2 (kinematic plant, no Gazebo)

Drive a kinematic model under a full Nav2 stack - global planner, the ProxMPC controller_server, and costmaps - and send goals by clicking Nav2 Goal in the RViz toolbar, with no Gazebo. The model’s body (the R2D2 unicycle or the blue bicycle) moves to each clicked goal. This launch lives in prox_mpc_benchmark, which owns the kinematic plant and the Nav2 base config:

colcon build --symlink-install --packages-select \
  prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_benchmark prox_mpc_demo
source install/setup.bash

# unicycle (R2D2 body) - default
ros2 launch prox_mpc_benchmark interactive.launch.py

# bicycle (blue bike body)
ros2 launch prox_mpc_benchmark interactive.launch.py model:=bicycle

The real-behaviour gate for the controller plugin: it runs the plugin inside a live controller_server driving a TurtleBot3 waffle under a full Nav2 stack, with an opt-in predictive obstacle-avoidance mode. See doc/nav2-simulation.md for the scenarios, configuration rationale, and verified results.

```bash colcon build –symlink-install
–packages-select prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_demo

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package prox_mpc_demo

1.0.0 (2026-07-28)

  • Initial release: self-contained closed-loop NMPC simulation node (bicycle / unicycle) with solve-time benchmarking, plus the Nav2 + Gazebo Harmonic bringup that exercises the controller plugin and the obstacle tracker.
  • config/nav2_prox_mpc_predictive.yaml ships the benchmark's validated single-/sparse-obstacle preset (w_weight 1000, costmap_cost_threshold 253, cbf_gamma 1.0, max_obstacles 4, prediction_uncertainty_growth 0.05, max_dynamic_obstacles 2), so the demo's predictive path matches the benchmark's measured behavior.
  • Contributors: Simone Contorno

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged prox_mpc_demo at Robotics Stack Exchange

No version for distro dashing showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.0.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/simone-contorno/prox_mpc.git
VCS Type git
VCS Version main
Last Updated 2026-07-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Self-contained closed-loop simulation and benchmark for the ProxMPC core: drives a bundled kinematic model (bicycle / unicycle) toward a goal with no external simulator, publishes the command and predicted path, and logs the solve time.

Additional Links

Maintainers

  • Simone Contorno

Authors

No additional authors.

prox_mpc_demo

Runnable demonstrations of the ProxMPC stack, from a standalone closed-loop simulation of the prox_mpc_core engine to a full Nav2 + Gazebo bring-up of the prox_mpc_controller plugin.

Table of Contents

Overview

This package is where the ProxMPC stack becomes something you can launch. It provides the standalone prox_mpc_simulation executable and two launch files: one closes the control loop on the engine with no external simulator, and one runs the controller plugin inside a live Nav2 stack against Gazebo Harmonic. The standalone path needs only the core; the Nav2 path is the real-behaviour gate for the plugin.

Prerequisites

  • Operating system: Ubuntu 24.04 (Noble).
  • ROS 2 distribution: Jazzy.
  • Build system: ament_cmake.
  • Standalone simulation: prox_mpc_core, prox_mpc_msgs, and this package only. prox_mpc_msgs is an unconditional build dependency: the standalone node publishes prox_mpc_msgs/SolverDiagnostics.
  • Nav2 + Gazebo bring-up: additionally Nav2, ros_gz, and the canonical nav2_minimal_tb3_sim scenario, plus prox_mpc_controller (and, for the predictive mode, prox_mpc_obstacle_tracker).

ROS dependencies are declared in package.xml and resolved by rosdep install. Third-party assets are attributed in THIRD_PARTY_LICENSES.md.

Three ways to run

Standalone simulation

A self-contained, closed-loop driver for the engine with no external simulator: it drives a bundled kinematic model toward a goal, publishes the command and predicted path, broadcasts the pose, and logs the solve time. Use it to run, visualize, and profile the controller without Nav2. See doc/simulation.md for the full parameter and interface reference.

colcon build --symlink-install --packages-select prox_mpc_msgs prox_mpc_core prox_mpc_demo
source install/setup.bash

Select the model with the model launch argument (bicycle or unicycle) and add rviz:=true to visualize the robot:

# default: bicycle model, no RViz
ros2 launch prox_mpc_demo simulation.launch.py

# unicycle model with RViz
ros2 launch prox_mpc_demo simulation.launch.py model:=unicycle rviz:=true

Interactive Nav2 (kinematic plant, no Gazebo)

Drive a kinematic model under a full Nav2 stack - global planner, the ProxMPC controller_server, and costmaps - and send goals by clicking Nav2 Goal in the RViz toolbar, with no Gazebo. The model’s body (the R2D2 unicycle or the blue bicycle) moves to each clicked goal. This launch lives in prox_mpc_benchmark, which owns the kinematic plant and the Nav2 base config:

colcon build --symlink-install --packages-select \
  prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_benchmark prox_mpc_demo
source install/setup.bash

# unicycle (R2D2 body) - default
ros2 launch prox_mpc_benchmark interactive.launch.py

# bicycle (blue bike body)
ros2 launch prox_mpc_benchmark interactive.launch.py model:=bicycle

The real-behaviour gate for the controller plugin: it runs the plugin inside a live controller_server driving a TurtleBot3 waffle under a full Nav2 stack, with an opt-in predictive obstacle-avoidance mode. See doc/nav2-simulation.md for the scenarios, configuration rationale, and verified results.

```bash colcon build –symlink-install
–packages-select prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_demo

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package prox_mpc_demo

1.0.0 (2026-07-28)

  • Initial release: self-contained closed-loop NMPC simulation node (bicycle / unicycle) with solve-time benchmarking, plus the Nav2 + Gazebo Harmonic bringup that exercises the controller plugin and the obstacle tracker.
  • config/nav2_prox_mpc_predictive.yaml ships the benchmark's validated single-/sparse-obstacle preset (w_weight 1000, costmap_cost_threshold 253, cbf_gamma 1.0, max_obstacles 4, prediction_uncertainty_growth 0.05, max_dynamic_obstacles 2), so the demo's predictive path matches the benchmark's measured behavior.
  • Contributors: Simone Contorno

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged prox_mpc_demo at Robotics Stack Exchange

No version for distro galactic showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.0.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/simone-contorno/prox_mpc.git
VCS Type git
VCS Version main
Last Updated 2026-07-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Self-contained closed-loop simulation and benchmark for the ProxMPC core: drives a bundled kinematic model (bicycle / unicycle) toward a goal with no external simulator, publishes the command and predicted path, and logs the solve time.

Additional Links

Maintainers

  • Simone Contorno

Authors

No additional authors.

prox_mpc_demo

Runnable demonstrations of the ProxMPC stack, from a standalone closed-loop simulation of the prox_mpc_core engine to a full Nav2 + Gazebo bring-up of the prox_mpc_controller plugin.

Table of Contents

Overview

This package is where the ProxMPC stack becomes something you can launch. It provides the standalone prox_mpc_simulation executable and two launch files: one closes the control loop on the engine with no external simulator, and one runs the controller plugin inside a live Nav2 stack against Gazebo Harmonic. The standalone path needs only the core; the Nav2 path is the real-behaviour gate for the plugin.

Prerequisites

  • Operating system: Ubuntu 24.04 (Noble).
  • ROS 2 distribution: Jazzy.
  • Build system: ament_cmake.
  • Standalone simulation: prox_mpc_core, prox_mpc_msgs, and this package only. prox_mpc_msgs is an unconditional build dependency: the standalone node publishes prox_mpc_msgs/SolverDiagnostics.
  • Nav2 + Gazebo bring-up: additionally Nav2, ros_gz, and the canonical nav2_minimal_tb3_sim scenario, plus prox_mpc_controller (and, for the predictive mode, prox_mpc_obstacle_tracker).

ROS dependencies are declared in package.xml and resolved by rosdep install. Third-party assets are attributed in THIRD_PARTY_LICENSES.md.

Three ways to run

Standalone simulation

A self-contained, closed-loop driver for the engine with no external simulator: it drives a bundled kinematic model toward a goal, publishes the command and predicted path, broadcasts the pose, and logs the solve time. Use it to run, visualize, and profile the controller without Nav2. See doc/simulation.md for the full parameter and interface reference.

colcon build --symlink-install --packages-select prox_mpc_msgs prox_mpc_core prox_mpc_demo
source install/setup.bash

Select the model with the model launch argument (bicycle or unicycle) and add rviz:=true to visualize the robot:

# default: bicycle model, no RViz
ros2 launch prox_mpc_demo simulation.launch.py

# unicycle model with RViz
ros2 launch prox_mpc_demo simulation.launch.py model:=unicycle rviz:=true

Interactive Nav2 (kinematic plant, no Gazebo)

Drive a kinematic model under a full Nav2 stack - global planner, the ProxMPC controller_server, and costmaps - and send goals by clicking Nav2 Goal in the RViz toolbar, with no Gazebo. The model’s body (the R2D2 unicycle or the blue bicycle) moves to each clicked goal. This launch lives in prox_mpc_benchmark, which owns the kinematic plant and the Nav2 base config:

colcon build --symlink-install --packages-select \
  prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_benchmark prox_mpc_demo
source install/setup.bash

# unicycle (R2D2 body) - default
ros2 launch prox_mpc_benchmark interactive.launch.py

# bicycle (blue bike body)
ros2 launch prox_mpc_benchmark interactive.launch.py model:=bicycle

The real-behaviour gate for the controller plugin: it runs the plugin inside a live controller_server driving a TurtleBot3 waffle under a full Nav2 stack, with an opt-in predictive obstacle-avoidance mode. See doc/nav2-simulation.md for the scenarios, configuration rationale, and verified results.

```bash colcon build –symlink-install
–packages-select prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_demo

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package prox_mpc_demo

1.0.0 (2026-07-28)

  • Initial release: self-contained closed-loop NMPC simulation node (bicycle / unicycle) with solve-time benchmarking, plus the Nav2 + Gazebo Harmonic bringup that exercises the controller plugin and the obstacle tracker.
  • config/nav2_prox_mpc_predictive.yaml ships the benchmark's validated single-/sparse-obstacle preset (w_weight 1000, costmap_cost_threshold 253, cbf_gamma 1.0, max_obstacles 4, prediction_uncertainty_growth 0.05, max_dynamic_obstacles 2), so the demo's predictive path matches the benchmark's measured behavior.
  • Contributors: Simone Contorno

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged prox_mpc_demo at Robotics Stack Exchange

No version for distro foxy showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.0.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/simone-contorno/prox_mpc.git
VCS Type git
VCS Version main
Last Updated 2026-07-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Self-contained closed-loop simulation and benchmark for the ProxMPC core: drives a bundled kinematic model (bicycle / unicycle) toward a goal with no external simulator, publishes the command and predicted path, and logs the solve time.

Additional Links

Maintainers

  • Simone Contorno

Authors

No additional authors.

prox_mpc_demo

Runnable demonstrations of the ProxMPC stack, from a standalone closed-loop simulation of the prox_mpc_core engine to a full Nav2 + Gazebo bring-up of the prox_mpc_controller plugin.

Table of Contents

Overview

This package is where the ProxMPC stack becomes something you can launch. It provides the standalone prox_mpc_simulation executable and two launch files: one closes the control loop on the engine with no external simulator, and one runs the controller plugin inside a live Nav2 stack against Gazebo Harmonic. The standalone path needs only the core; the Nav2 path is the real-behaviour gate for the plugin.

Prerequisites

  • Operating system: Ubuntu 24.04 (Noble).
  • ROS 2 distribution: Jazzy.
  • Build system: ament_cmake.
  • Standalone simulation: prox_mpc_core, prox_mpc_msgs, and this package only. prox_mpc_msgs is an unconditional build dependency: the standalone node publishes prox_mpc_msgs/SolverDiagnostics.
  • Nav2 + Gazebo bring-up: additionally Nav2, ros_gz, and the canonical nav2_minimal_tb3_sim scenario, plus prox_mpc_controller (and, for the predictive mode, prox_mpc_obstacle_tracker).

ROS dependencies are declared in package.xml and resolved by rosdep install. Third-party assets are attributed in THIRD_PARTY_LICENSES.md.

Three ways to run

Standalone simulation

A self-contained, closed-loop driver for the engine with no external simulator: it drives a bundled kinematic model toward a goal, publishes the command and predicted path, broadcasts the pose, and logs the solve time. Use it to run, visualize, and profile the controller without Nav2. See doc/simulation.md for the full parameter and interface reference.

colcon build --symlink-install --packages-select prox_mpc_msgs prox_mpc_core prox_mpc_demo
source install/setup.bash

Select the model with the model launch argument (bicycle or unicycle) and add rviz:=true to visualize the robot:

# default: bicycle model, no RViz
ros2 launch prox_mpc_demo simulation.launch.py

# unicycle model with RViz
ros2 launch prox_mpc_demo simulation.launch.py model:=unicycle rviz:=true

Interactive Nav2 (kinematic plant, no Gazebo)

Drive a kinematic model under a full Nav2 stack - global planner, the ProxMPC controller_server, and costmaps - and send goals by clicking Nav2 Goal in the RViz toolbar, with no Gazebo. The model’s body (the R2D2 unicycle or the blue bicycle) moves to each clicked goal. This launch lives in prox_mpc_benchmark, which owns the kinematic plant and the Nav2 base config:

colcon build --symlink-install --packages-select \
  prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_benchmark prox_mpc_demo
source install/setup.bash

# unicycle (R2D2 body) - default
ros2 launch prox_mpc_benchmark interactive.launch.py

# bicycle (blue bike body)
ros2 launch prox_mpc_benchmark interactive.launch.py model:=bicycle

The real-behaviour gate for the controller plugin: it runs the plugin inside a live controller_server driving a TurtleBot3 waffle under a full Nav2 stack, with an opt-in predictive obstacle-avoidance mode. See doc/nav2-simulation.md for the scenarios, configuration rationale, and verified results.

```bash colcon build –symlink-install
–packages-select prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_demo

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package prox_mpc_demo

1.0.0 (2026-07-28)

  • Initial release: self-contained closed-loop NMPC simulation node (bicycle / unicycle) with solve-time benchmarking, plus the Nav2 + Gazebo Harmonic bringup that exercises the controller plugin and the obstacle tracker.
  • config/nav2_prox_mpc_predictive.yaml ships the benchmark's validated single-/sparse-obstacle preset (w_weight 1000, costmap_cost_threshold 253, cbf_gamma 1.0, max_obstacles 4, prediction_uncertainty_growth 0.05, max_dynamic_obstacles 2), so the demo's predictive path matches the benchmark's measured behavior.
  • Contributors: Simone Contorno

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged prox_mpc_demo at Robotics Stack Exchange

No version for distro iron showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.0.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/simone-contorno/prox_mpc.git
VCS Type git
VCS Version main
Last Updated 2026-07-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Self-contained closed-loop simulation and benchmark for the ProxMPC core: drives a bundled kinematic model (bicycle / unicycle) toward a goal with no external simulator, publishes the command and predicted path, and logs the solve time.

Additional Links

Maintainers

  • Simone Contorno

Authors

No additional authors.

prox_mpc_demo

Runnable demonstrations of the ProxMPC stack, from a standalone closed-loop simulation of the prox_mpc_core engine to a full Nav2 + Gazebo bring-up of the prox_mpc_controller plugin.

Table of Contents

Overview

This package is where the ProxMPC stack becomes something you can launch. It provides the standalone prox_mpc_simulation executable and two launch files: one closes the control loop on the engine with no external simulator, and one runs the controller plugin inside a live Nav2 stack against Gazebo Harmonic. The standalone path needs only the core; the Nav2 path is the real-behaviour gate for the plugin.

Prerequisites

  • Operating system: Ubuntu 24.04 (Noble).
  • ROS 2 distribution: Jazzy.
  • Build system: ament_cmake.
  • Standalone simulation: prox_mpc_core, prox_mpc_msgs, and this package only. prox_mpc_msgs is an unconditional build dependency: the standalone node publishes prox_mpc_msgs/SolverDiagnostics.
  • Nav2 + Gazebo bring-up: additionally Nav2, ros_gz, and the canonical nav2_minimal_tb3_sim scenario, plus prox_mpc_controller (and, for the predictive mode, prox_mpc_obstacle_tracker).

ROS dependencies are declared in package.xml and resolved by rosdep install. Third-party assets are attributed in THIRD_PARTY_LICENSES.md.

Three ways to run

Standalone simulation

A self-contained, closed-loop driver for the engine with no external simulator: it drives a bundled kinematic model toward a goal, publishes the command and predicted path, broadcasts the pose, and logs the solve time. Use it to run, visualize, and profile the controller without Nav2. See doc/simulation.md for the full parameter and interface reference.

colcon build --symlink-install --packages-select prox_mpc_msgs prox_mpc_core prox_mpc_demo
source install/setup.bash

Select the model with the model launch argument (bicycle or unicycle) and add rviz:=true to visualize the robot:

# default: bicycle model, no RViz
ros2 launch prox_mpc_demo simulation.launch.py

# unicycle model with RViz
ros2 launch prox_mpc_demo simulation.launch.py model:=unicycle rviz:=true

Interactive Nav2 (kinematic plant, no Gazebo)

Drive a kinematic model under a full Nav2 stack - global planner, the ProxMPC controller_server, and costmaps - and send goals by clicking Nav2 Goal in the RViz toolbar, with no Gazebo. The model’s body (the R2D2 unicycle or the blue bicycle) moves to each clicked goal. This launch lives in prox_mpc_benchmark, which owns the kinematic plant and the Nav2 base config:

colcon build --symlink-install --packages-select \
  prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_benchmark prox_mpc_demo
source install/setup.bash

# unicycle (R2D2 body) - default
ros2 launch prox_mpc_benchmark interactive.launch.py

# bicycle (blue bike body)
ros2 launch prox_mpc_benchmark interactive.launch.py model:=bicycle

The real-behaviour gate for the controller plugin: it runs the plugin inside a live controller_server driving a TurtleBot3 waffle under a full Nav2 stack, with an opt-in predictive obstacle-avoidance mode. See doc/nav2-simulation.md for the scenarios, configuration rationale, and verified results.

```bash colcon build –symlink-install
–packages-select prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_demo

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package prox_mpc_demo

1.0.0 (2026-07-28)

  • Initial release: self-contained closed-loop NMPC simulation node (bicycle / unicycle) with solve-time benchmarking, plus the Nav2 + Gazebo Harmonic bringup that exercises the controller plugin and the obstacle tracker.
  • config/nav2_prox_mpc_predictive.yaml ships the benchmark's validated single-/sparse-obstacle preset (w_weight 1000, costmap_cost_threshold 253, cbf_gamma 1.0, max_obstacles 4, prediction_uncertainty_growth 0.05, max_dynamic_obstacles 2), so the demo's predictive path matches the benchmark's measured behavior.
  • Contributors: Simone Contorno

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged prox_mpc_demo at Robotics Stack Exchange

No version for distro lunar showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.0.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/simone-contorno/prox_mpc.git
VCS Type git
VCS Version main
Last Updated 2026-07-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Self-contained closed-loop simulation and benchmark for the ProxMPC core: drives a bundled kinematic model (bicycle / unicycle) toward a goal with no external simulator, publishes the command and predicted path, and logs the solve time.

Additional Links

Maintainers

  • Simone Contorno

Authors

No additional authors.

prox_mpc_demo

Runnable demonstrations of the ProxMPC stack, from a standalone closed-loop simulation of the prox_mpc_core engine to a full Nav2 + Gazebo bring-up of the prox_mpc_controller plugin.

Table of Contents

Overview

This package is where the ProxMPC stack becomes something you can launch. It provides the standalone prox_mpc_simulation executable and two launch files: one closes the control loop on the engine with no external simulator, and one runs the controller plugin inside a live Nav2 stack against Gazebo Harmonic. The standalone path needs only the core; the Nav2 path is the real-behaviour gate for the plugin.

Prerequisites

  • Operating system: Ubuntu 24.04 (Noble).
  • ROS 2 distribution: Jazzy.
  • Build system: ament_cmake.
  • Standalone simulation: prox_mpc_core, prox_mpc_msgs, and this package only. prox_mpc_msgs is an unconditional build dependency: the standalone node publishes prox_mpc_msgs/SolverDiagnostics.
  • Nav2 + Gazebo bring-up: additionally Nav2, ros_gz, and the canonical nav2_minimal_tb3_sim scenario, plus prox_mpc_controller (and, for the predictive mode, prox_mpc_obstacle_tracker).

ROS dependencies are declared in package.xml and resolved by rosdep install. Third-party assets are attributed in THIRD_PARTY_LICENSES.md.

Three ways to run

Standalone simulation

A self-contained, closed-loop driver for the engine with no external simulator: it drives a bundled kinematic model toward a goal, publishes the command and predicted path, broadcasts the pose, and logs the solve time. Use it to run, visualize, and profile the controller without Nav2. See doc/simulation.md for the full parameter and interface reference.

colcon build --symlink-install --packages-select prox_mpc_msgs prox_mpc_core prox_mpc_demo
source install/setup.bash

Select the model with the model launch argument (bicycle or unicycle) and add rviz:=true to visualize the robot:

# default: bicycle model, no RViz
ros2 launch prox_mpc_demo simulation.launch.py

# unicycle model with RViz
ros2 launch prox_mpc_demo simulation.launch.py model:=unicycle rviz:=true

Interactive Nav2 (kinematic plant, no Gazebo)

Drive a kinematic model under a full Nav2 stack - global planner, the ProxMPC controller_server, and costmaps - and send goals by clicking Nav2 Goal in the RViz toolbar, with no Gazebo. The model’s body (the R2D2 unicycle or the blue bicycle) moves to each clicked goal. This launch lives in prox_mpc_benchmark, which owns the kinematic plant and the Nav2 base config:

colcon build --symlink-install --packages-select \
  prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_benchmark prox_mpc_demo
source install/setup.bash

# unicycle (R2D2 body) - default
ros2 launch prox_mpc_benchmark interactive.launch.py

# bicycle (blue bike body)
ros2 launch prox_mpc_benchmark interactive.launch.py model:=bicycle

The real-behaviour gate for the controller plugin: it runs the plugin inside a live controller_server driving a TurtleBot3 waffle under a full Nav2 stack, with an opt-in predictive obstacle-avoidance mode. See doc/nav2-simulation.md for the scenarios, configuration rationale, and verified results.

```bash colcon build –symlink-install
–packages-select prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_demo

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package prox_mpc_demo

1.0.0 (2026-07-28)

  • Initial release: self-contained closed-loop NMPC simulation node (bicycle / unicycle) with solve-time benchmarking, plus the Nav2 + Gazebo Harmonic bringup that exercises the controller plugin and the obstacle tracker.
  • config/nav2_prox_mpc_predictive.yaml ships the benchmark's validated single-/sparse-obstacle preset (w_weight 1000, costmap_cost_threshold 253, cbf_gamma 1.0, max_obstacles 4, prediction_uncertainty_growth 0.05, max_dynamic_obstacles 2), so the demo's predictive path matches the benchmark's measured behavior.
  • Contributors: Simone Contorno

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged prox_mpc_demo at Robotics Stack Exchange

No version for distro jade showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.0.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/simone-contorno/prox_mpc.git
VCS Type git
VCS Version main
Last Updated 2026-07-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Self-contained closed-loop simulation and benchmark for the ProxMPC core: drives a bundled kinematic model (bicycle / unicycle) toward a goal with no external simulator, publishes the command and predicted path, and logs the solve time.

Additional Links

Maintainers

  • Simone Contorno

Authors

No additional authors.

prox_mpc_demo

Runnable demonstrations of the ProxMPC stack, from a standalone closed-loop simulation of the prox_mpc_core engine to a full Nav2 + Gazebo bring-up of the prox_mpc_controller plugin.

Table of Contents

Overview

This package is where the ProxMPC stack becomes something you can launch. It provides the standalone prox_mpc_simulation executable and two launch files: one closes the control loop on the engine with no external simulator, and one runs the controller plugin inside a live Nav2 stack against Gazebo Harmonic. The standalone path needs only the core; the Nav2 path is the real-behaviour gate for the plugin.

Prerequisites

  • Operating system: Ubuntu 24.04 (Noble).
  • ROS 2 distribution: Jazzy.
  • Build system: ament_cmake.
  • Standalone simulation: prox_mpc_core, prox_mpc_msgs, and this package only. prox_mpc_msgs is an unconditional build dependency: the standalone node publishes prox_mpc_msgs/SolverDiagnostics.
  • Nav2 + Gazebo bring-up: additionally Nav2, ros_gz, and the canonical nav2_minimal_tb3_sim scenario, plus prox_mpc_controller (and, for the predictive mode, prox_mpc_obstacle_tracker).

ROS dependencies are declared in package.xml and resolved by rosdep install. Third-party assets are attributed in THIRD_PARTY_LICENSES.md.

Three ways to run

Standalone simulation

A self-contained, closed-loop driver for the engine with no external simulator: it drives a bundled kinematic model toward a goal, publishes the command and predicted path, broadcasts the pose, and logs the solve time. Use it to run, visualize, and profile the controller without Nav2. See doc/simulation.md for the full parameter and interface reference.

colcon build --symlink-install --packages-select prox_mpc_msgs prox_mpc_core prox_mpc_demo
source install/setup.bash

Select the model with the model launch argument (bicycle or unicycle) and add rviz:=true to visualize the robot:

# default: bicycle model, no RViz
ros2 launch prox_mpc_demo simulation.launch.py

# unicycle model with RViz
ros2 launch prox_mpc_demo simulation.launch.py model:=unicycle rviz:=true

Interactive Nav2 (kinematic plant, no Gazebo)

Drive a kinematic model under a full Nav2 stack - global planner, the ProxMPC controller_server, and costmaps - and send goals by clicking Nav2 Goal in the RViz toolbar, with no Gazebo. The model’s body (the R2D2 unicycle or the blue bicycle) moves to each clicked goal. This launch lives in prox_mpc_benchmark, which owns the kinematic plant and the Nav2 base config:

colcon build --symlink-install --packages-select \
  prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_benchmark prox_mpc_demo
source install/setup.bash

# unicycle (R2D2 body) - default
ros2 launch prox_mpc_benchmark interactive.launch.py

# bicycle (blue bike body)
ros2 launch prox_mpc_benchmark interactive.launch.py model:=bicycle

The real-behaviour gate for the controller plugin: it runs the plugin inside a live controller_server driving a TurtleBot3 waffle under a full Nav2 stack, with an opt-in predictive obstacle-avoidance mode. See doc/nav2-simulation.md for the scenarios, configuration rationale, and verified results.

```bash colcon build –symlink-install
–packages-select prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_demo

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package prox_mpc_demo

1.0.0 (2026-07-28)

  • Initial release: self-contained closed-loop NMPC simulation node (bicycle / unicycle) with solve-time benchmarking, plus the Nav2 + Gazebo Harmonic bringup that exercises the controller plugin and the obstacle tracker.
  • config/nav2_prox_mpc_predictive.yaml ships the benchmark's validated single-/sparse-obstacle preset (w_weight 1000, costmap_cost_threshold 253, cbf_gamma 1.0, max_obstacles 4, prediction_uncertainty_growth 0.05, max_dynamic_obstacles 2), so the demo's predictive path matches the benchmark's measured behavior.
  • Contributors: Simone Contorno

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged prox_mpc_demo at Robotics Stack Exchange

No version for distro indigo showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.0.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/simone-contorno/prox_mpc.git
VCS Type git
VCS Version main
Last Updated 2026-07-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Self-contained closed-loop simulation and benchmark for the ProxMPC core: drives a bundled kinematic model (bicycle / unicycle) toward a goal with no external simulator, publishes the command and predicted path, and logs the solve time.

Additional Links

Maintainers

  • Simone Contorno

Authors

No additional authors.

prox_mpc_demo

Runnable demonstrations of the ProxMPC stack, from a standalone closed-loop simulation of the prox_mpc_core engine to a full Nav2 + Gazebo bring-up of the prox_mpc_controller plugin.

Table of Contents

Overview

This package is where the ProxMPC stack becomes something you can launch. It provides the standalone prox_mpc_simulation executable and two launch files: one closes the control loop on the engine with no external simulator, and one runs the controller plugin inside a live Nav2 stack against Gazebo Harmonic. The standalone path needs only the core; the Nav2 path is the real-behaviour gate for the plugin.

Prerequisites

  • Operating system: Ubuntu 24.04 (Noble).
  • ROS 2 distribution: Jazzy.
  • Build system: ament_cmake.
  • Standalone simulation: prox_mpc_core, prox_mpc_msgs, and this package only. prox_mpc_msgs is an unconditional build dependency: the standalone node publishes prox_mpc_msgs/SolverDiagnostics.
  • Nav2 + Gazebo bring-up: additionally Nav2, ros_gz, and the canonical nav2_minimal_tb3_sim scenario, plus prox_mpc_controller (and, for the predictive mode, prox_mpc_obstacle_tracker).

ROS dependencies are declared in package.xml and resolved by rosdep install. Third-party assets are attributed in THIRD_PARTY_LICENSES.md.

Three ways to run

Standalone simulation

A self-contained, closed-loop driver for the engine with no external simulator: it drives a bundled kinematic model toward a goal, publishes the command and predicted path, broadcasts the pose, and logs the solve time. Use it to run, visualize, and profile the controller without Nav2. See doc/simulation.md for the full parameter and interface reference.

colcon build --symlink-install --packages-select prox_mpc_msgs prox_mpc_core prox_mpc_demo
source install/setup.bash

Select the model with the model launch argument (bicycle or unicycle) and add rviz:=true to visualize the robot:

# default: bicycle model, no RViz
ros2 launch prox_mpc_demo simulation.launch.py

# unicycle model with RViz
ros2 launch prox_mpc_demo simulation.launch.py model:=unicycle rviz:=true

Interactive Nav2 (kinematic plant, no Gazebo)

Drive a kinematic model under a full Nav2 stack - global planner, the ProxMPC controller_server, and costmaps - and send goals by clicking Nav2 Goal in the RViz toolbar, with no Gazebo. The model’s body (the R2D2 unicycle or the blue bicycle) moves to each clicked goal. This launch lives in prox_mpc_benchmark, which owns the kinematic plant and the Nav2 base config:

colcon build --symlink-install --packages-select \
  prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_benchmark prox_mpc_demo
source install/setup.bash

# unicycle (R2D2 body) - default
ros2 launch prox_mpc_benchmark interactive.launch.py

# bicycle (blue bike body)
ros2 launch prox_mpc_benchmark interactive.launch.py model:=bicycle

The real-behaviour gate for the controller plugin: it runs the plugin inside a live controller_server driving a TurtleBot3 waffle under a full Nav2 stack, with an opt-in predictive obstacle-avoidance mode. See doc/nav2-simulation.md for the scenarios, configuration rationale, and verified results.

```bash colcon build –symlink-install
–packages-select prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_demo

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package prox_mpc_demo

1.0.0 (2026-07-28)

  • Initial release: self-contained closed-loop NMPC simulation node (bicycle / unicycle) with solve-time benchmarking, plus the Nav2 + Gazebo Harmonic bringup that exercises the controller plugin and the obstacle tracker.
  • config/nav2_prox_mpc_predictive.yaml ships the benchmark's validated single-/sparse-obstacle preset (w_weight 1000, costmap_cost_threshold 253, cbf_gamma 1.0, max_obstacles 4, prediction_uncertainty_growth 0.05, max_dynamic_obstacles 2), so the demo's predictive path matches the benchmark's measured behavior.
  • Contributors: Simone Contorno

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged prox_mpc_demo at Robotics Stack Exchange

No version for distro hydro showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.0.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/simone-contorno/prox_mpc.git
VCS Type git
VCS Version main
Last Updated 2026-07-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Self-contained closed-loop simulation and benchmark for the ProxMPC core: drives a bundled kinematic model (bicycle / unicycle) toward a goal with no external simulator, publishes the command and predicted path, and logs the solve time.

Additional Links

Maintainers

  • Simone Contorno

Authors

No additional authors.

prox_mpc_demo

Runnable demonstrations of the ProxMPC stack, from a standalone closed-loop simulation of the prox_mpc_core engine to a full Nav2 + Gazebo bring-up of the prox_mpc_controller plugin.

Table of Contents

Overview

This package is where the ProxMPC stack becomes something you can launch. It provides the standalone prox_mpc_simulation executable and two launch files: one closes the control loop on the engine with no external simulator, and one runs the controller plugin inside a live Nav2 stack against Gazebo Harmonic. The standalone path needs only the core; the Nav2 path is the real-behaviour gate for the plugin.

Prerequisites

  • Operating system: Ubuntu 24.04 (Noble).
  • ROS 2 distribution: Jazzy.
  • Build system: ament_cmake.
  • Standalone simulation: prox_mpc_core, prox_mpc_msgs, and this package only. prox_mpc_msgs is an unconditional build dependency: the standalone node publishes prox_mpc_msgs/SolverDiagnostics.
  • Nav2 + Gazebo bring-up: additionally Nav2, ros_gz, and the canonical nav2_minimal_tb3_sim scenario, plus prox_mpc_controller (and, for the predictive mode, prox_mpc_obstacle_tracker).

ROS dependencies are declared in package.xml and resolved by rosdep install. Third-party assets are attributed in THIRD_PARTY_LICENSES.md.

Three ways to run

Standalone simulation

A self-contained, closed-loop driver for the engine with no external simulator: it drives a bundled kinematic model toward a goal, publishes the command and predicted path, broadcasts the pose, and logs the solve time. Use it to run, visualize, and profile the controller without Nav2. See doc/simulation.md for the full parameter and interface reference.

colcon build --symlink-install --packages-select prox_mpc_msgs prox_mpc_core prox_mpc_demo
source install/setup.bash

Select the model with the model launch argument (bicycle or unicycle) and add rviz:=true to visualize the robot:

# default: bicycle model, no RViz
ros2 launch prox_mpc_demo simulation.launch.py

# unicycle model with RViz
ros2 launch prox_mpc_demo simulation.launch.py model:=unicycle rviz:=true

Interactive Nav2 (kinematic plant, no Gazebo)

Drive a kinematic model under a full Nav2 stack - global planner, the ProxMPC controller_server, and costmaps - and send goals by clicking Nav2 Goal in the RViz toolbar, with no Gazebo. The model’s body (the R2D2 unicycle or the blue bicycle) moves to each clicked goal. This launch lives in prox_mpc_benchmark, which owns the kinematic plant and the Nav2 base config:

colcon build --symlink-install --packages-select \
  prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_benchmark prox_mpc_demo
source install/setup.bash

# unicycle (R2D2 body) - default
ros2 launch prox_mpc_benchmark interactive.launch.py

# bicycle (blue bike body)
ros2 launch prox_mpc_benchmark interactive.launch.py model:=bicycle

The real-behaviour gate for the controller plugin: it runs the plugin inside a live controller_server driving a TurtleBot3 waffle under a full Nav2 stack, with an opt-in predictive obstacle-avoidance mode. See doc/nav2-simulation.md for the scenarios, configuration rationale, and verified results.

```bash colcon build –symlink-install
–packages-select prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_demo

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package prox_mpc_demo

1.0.0 (2026-07-28)

  • Initial release: self-contained closed-loop NMPC simulation node (bicycle / unicycle) with solve-time benchmarking, plus the Nav2 + Gazebo Harmonic bringup that exercises the controller plugin and the obstacle tracker.
  • config/nav2_prox_mpc_predictive.yaml ships the benchmark's validated single-/sparse-obstacle preset (w_weight 1000, costmap_cost_threshold 253, cbf_gamma 1.0, max_obstacles 4, prediction_uncertainty_growth 0.05, max_dynamic_obstacles 2), so the demo's predictive path matches the benchmark's measured behavior.
  • Contributors: Simone Contorno

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged prox_mpc_demo at Robotics Stack Exchange

No version for distro kinetic showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.0.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/simone-contorno/prox_mpc.git
VCS Type git
VCS Version main
Last Updated 2026-07-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Self-contained closed-loop simulation and benchmark for the ProxMPC core: drives a bundled kinematic model (bicycle / unicycle) toward a goal with no external simulator, publishes the command and predicted path, and logs the solve time.

Additional Links

Maintainers

  • Simone Contorno

Authors

No additional authors.

prox_mpc_demo

Runnable demonstrations of the ProxMPC stack, from a standalone closed-loop simulation of the prox_mpc_core engine to a full Nav2 + Gazebo bring-up of the prox_mpc_controller plugin.

Table of Contents

Overview

This package is where the ProxMPC stack becomes something you can launch. It provides the standalone prox_mpc_simulation executable and two launch files: one closes the control loop on the engine with no external simulator, and one runs the controller plugin inside a live Nav2 stack against Gazebo Harmonic. The standalone path needs only the core; the Nav2 path is the real-behaviour gate for the plugin.

Prerequisites

  • Operating system: Ubuntu 24.04 (Noble).
  • ROS 2 distribution: Jazzy.
  • Build system: ament_cmake.
  • Standalone simulation: prox_mpc_core, prox_mpc_msgs, and this package only. prox_mpc_msgs is an unconditional build dependency: the standalone node publishes prox_mpc_msgs/SolverDiagnostics.
  • Nav2 + Gazebo bring-up: additionally Nav2, ros_gz, and the canonical nav2_minimal_tb3_sim scenario, plus prox_mpc_controller (and, for the predictive mode, prox_mpc_obstacle_tracker).

ROS dependencies are declared in package.xml and resolved by rosdep install. Third-party assets are attributed in THIRD_PARTY_LICENSES.md.

Three ways to run

Standalone simulation

A self-contained, closed-loop driver for the engine with no external simulator: it drives a bundled kinematic model toward a goal, publishes the command and predicted path, broadcasts the pose, and logs the solve time. Use it to run, visualize, and profile the controller without Nav2. See doc/simulation.md for the full parameter and interface reference.

colcon build --symlink-install --packages-select prox_mpc_msgs prox_mpc_core prox_mpc_demo
source install/setup.bash

Select the model with the model launch argument (bicycle or unicycle) and add rviz:=true to visualize the robot:

# default: bicycle model, no RViz
ros2 launch prox_mpc_demo simulation.launch.py

# unicycle model with RViz
ros2 launch prox_mpc_demo simulation.launch.py model:=unicycle rviz:=true

Interactive Nav2 (kinematic plant, no Gazebo)

Drive a kinematic model under a full Nav2 stack - global planner, the ProxMPC controller_server, and costmaps - and send goals by clicking Nav2 Goal in the RViz toolbar, with no Gazebo. The model’s body (the R2D2 unicycle or the blue bicycle) moves to each clicked goal. This launch lives in prox_mpc_benchmark, which owns the kinematic plant and the Nav2 base config:

colcon build --symlink-install --packages-select \
  prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_benchmark prox_mpc_demo
source install/setup.bash

# unicycle (R2D2 body) - default
ros2 launch prox_mpc_benchmark interactive.launch.py

# bicycle (blue bike body)
ros2 launch prox_mpc_benchmark interactive.launch.py model:=bicycle

The real-behaviour gate for the controller plugin: it runs the plugin inside a live controller_server driving a TurtleBot3 waffle under a full Nav2 stack, with an opt-in predictive obstacle-avoidance mode. See doc/nav2-simulation.md for the scenarios, configuration rationale, and verified results.

```bash colcon build –symlink-install
–packages-select prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_demo

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package prox_mpc_demo

1.0.0 (2026-07-28)

  • Initial release: self-contained closed-loop NMPC simulation node (bicycle / unicycle) with solve-time benchmarking, plus the Nav2 + Gazebo Harmonic bringup that exercises the controller plugin and the obstacle tracker.
  • config/nav2_prox_mpc_predictive.yaml ships the benchmark's validated single-/sparse-obstacle preset (w_weight 1000, costmap_cost_threshold 253, cbf_gamma 1.0, max_obstacles 4, prediction_uncertainty_growth 0.05, max_dynamic_obstacles 2), so the demo's predictive path matches the benchmark's measured behavior.
  • Contributors: Simone Contorno

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged prox_mpc_demo at Robotics Stack Exchange

No version for distro melodic showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.0.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/simone-contorno/prox_mpc.git
VCS Type git
VCS Version main
Last Updated 2026-07-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Self-contained closed-loop simulation and benchmark for the ProxMPC core: drives a bundled kinematic model (bicycle / unicycle) toward a goal with no external simulator, publishes the command and predicted path, and logs the solve time.

Additional Links

Maintainers

  • Simone Contorno

Authors

No additional authors.

prox_mpc_demo

Runnable demonstrations of the ProxMPC stack, from a standalone closed-loop simulation of the prox_mpc_core engine to a full Nav2 + Gazebo bring-up of the prox_mpc_controller plugin.

Table of Contents

Overview

This package is where the ProxMPC stack becomes something you can launch. It provides the standalone prox_mpc_simulation executable and two launch files: one closes the control loop on the engine with no external simulator, and one runs the controller plugin inside a live Nav2 stack against Gazebo Harmonic. The standalone path needs only the core; the Nav2 path is the real-behaviour gate for the plugin.

Prerequisites

  • Operating system: Ubuntu 24.04 (Noble).
  • ROS 2 distribution: Jazzy.
  • Build system: ament_cmake.
  • Standalone simulation: prox_mpc_core, prox_mpc_msgs, and this package only. prox_mpc_msgs is an unconditional build dependency: the standalone node publishes prox_mpc_msgs/SolverDiagnostics.
  • Nav2 + Gazebo bring-up: additionally Nav2, ros_gz, and the canonical nav2_minimal_tb3_sim scenario, plus prox_mpc_controller (and, for the predictive mode, prox_mpc_obstacle_tracker).

ROS dependencies are declared in package.xml and resolved by rosdep install. Third-party assets are attributed in THIRD_PARTY_LICENSES.md.

Three ways to run

Standalone simulation

A self-contained, closed-loop driver for the engine with no external simulator: it drives a bundled kinematic model toward a goal, publishes the command and predicted path, broadcasts the pose, and logs the solve time. Use it to run, visualize, and profile the controller without Nav2. See doc/simulation.md for the full parameter and interface reference.

colcon build --symlink-install --packages-select prox_mpc_msgs prox_mpc_core prox_mpc_demo
source install/setup.bash

Select the model with the model launch argument (bicycle or unicycle) and add rviz:=true to visualize the robot:

# default: bicycle model, no RViz
ros2 launch prox_mpc_demo simulation.launch.py

# unicycle model with RViz
ros2 launch prox_mpc_demo simulation.launch.py model:=unicycle rviz:=true

Interactive Nav2 (kinematic plant, no Gazebo)

Drive a kinematic model under a full Nav2 stack - global planner, the ProxMPC controller_server, and costmaps - and send goals by clicking Nav2 Goal in the RViz toolbar, with no Gazebo. The model’s body (the R2D2 unicycle or the blue bicycle) moves to each clicked goal. This launch lives in prox_mpc_benchmark, which owns the kinematic plant and the Nav2 base config:

colcon build --symlink-install --packages-select \
  prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_benchmark prox_mpc_demo
source install/setup.bash

# unicycle (R2D2 body) - default
ros2 launch prox_mpc_benchmark interactive.launch.py

# bicycle (blue bike body)
ros2 launch prox_mpc_benchmark interactive.launch.py model:=bicycle

The real-behaviour gate for the controller plugin: it runs the plugin inside a live controller_server driving a TurtleBot3 waffle under a full Nav2 stack, with an opt-in predictive obstacle-avoidance mode. See doc/nav2-simulation.md for the scenarios, configuration rationale, and verified results.

```bash colcon build –symlink-install
–packages-select prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_demo

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package prox_mpc_demo

1.0.0 (2026-07-28)

  • Initial release: self-contained closed-loop NMPC simulation node (bicycle / unicycle) with solve-time benchmarking, plus the Nav2 + Gazebo Harmonic bringup that exercises the controller plugin and the obstacle tracker.
  • config/nav2_prox_mpc_predictive.yaml ships the benchmark's validated single-/sparse-obstacle preset (w_weight 1000, costmap_cost_threshold 253, cbf_gamma 1.0, max_obstacles 4, prediction_uncertainty_growth 0.05, max_dynamic_obstacles 2), so the demo's predictive path matches the benchmark's measured behavior.
  • Contributors: Simone Contorno

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged prox_mpc_demo at Robotics Stack Exchange

No version for distro noetic showing jazzy. Known supported distros are highlighted in the buttons above.

Package Summary

Version 1.0.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/simone-contorno/prox_mpc.git
VCS Type git
VCS Version main
Last Updated 2026-07-28
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Self-contained closed-loop simulation and benchmark for the ProxMPC core: drives a bundled kinematic model (bicycle / unicycle) toward a goal with no external simulator, publishes the command and predicted path, and logs the solve time.

Additional Links

Maintainers

  • Simone Contorno

Authors

No additional authors.

prox_mpc_demo

Runnable demonstrations of the ProxMPC stack, from a standalone closed-loop simulation of the prox_mpc_core engine to a full Nav2 + Gazebo bring-up of the prox_mpc_controller plugin.

Table of Contents

Overview

This package is where the ProxMPC stack becomes something you can launch. It provides the standalone prox_mpc_simulation executable and two launch files: one closes the control loop on the engine with no external simulator, and one runs the controller plugin inside a live Nav2 stack against Gazebo Harmonic. The standalone path needs only the core; the Nav2 path is the real-behaviour gate for the plugin.

Prerequisites

  • Operating system: Ubuntu 24.04 (Noble).
  • ROS 2 distribution: Jazzy.
  • Build system: ament_cmake.
  • Standalone simulation: prox_mpc_core, prox_mpc_msgs, and this package only. prox_mpc_msgs is an unconditional build dependency: the standalone node publishes prox_mpc_msgs/SolverDiagnostics.
  • Nav2 + Gazebo bring-up: additionally Nav2, ros_gz, and the canonical nav2_minimal_tb3_sim scenario, plus prox_mpc_controller (and, for the predictive mode, prox_mpc_obstacle_tracker).

ROS dependencies are declared in package.xml and resolved by rosdep install. Third-party assets are attributed in THIRD_PARTY_LICENSES.md.

Three ways to run

Standalone simulation

A self-contained, closed-loop driver for the engine with no external simulator: it drives a bundled kinematic model toward a goal, publishes the command and predicted path, broadcasts the pose, and logs the solve time. Use it to run, visualize, and profile the controller without Nav2. See doc/simulation.md for the full parameter and interface reference.

colcon build --symlink-install --packages-select prox_mpc_msgs prox_mpc_core prox_mpc_demo
source install/setup.bash

Select the model with the model launch argument (bicycle or unicycle) and add rviz:=true to visualize the robot:

# default: bicycle model, no RViz
ros2 launch prox_mpc_demo simulation.launch.py

# unicycle model with RViz
ros2 launch prox_mpc_demo simulation.launch.py model:=unicycle rviz:=true

Interactive Nav2 (kinematic plant, no Gazebo)

Drive a kinematic model under a full Nav2 stack - global planner, the ProxMPC controller_server, and costmaps - and send goals by clicking Nav2 Goal in the RViz toolbar, with no Gazebo. The model’s body (the R2D2 unicycle or the blue bicycle) moves to each clicked goal. This launch lives in prox_mpc_benchmark, which owns the kinematic plant and the Nav2 base config:

colcon build --symlink-install --packages-select \
  prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_benchmark prox_mpc_demo
source install/setup.bash

# unicycle (R2D2 body) - default
ros2 launch prox_mpc_benchmark interactive.launch.py

# bicycle (blue bike body)
ros2 launch prox_mpc_benchmark interactive.launch.py model:=bicycle

The real-behaviour gate for the controller plugin: it runs the plugin inside a live controller_server driving a TurtleBot3 waffle under a full Nav2 stack, with an opt-in predictive obstacle-avoidance mode. See doc/nav2-simulation.md for the scenarios, configuration rationale, and verified results.

```bash colcon build –symlink-install
–packages-select prox_mpc_msgs prox_mpc_core prox_mpc_controller prox_mpc_demo

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package prox_mpc_demo

1.0.0 (2026-07-28)

  • Initial release: self-contained closed-loop NMPC simulation node (bicycle / unicycle) with solve-time benchmarking, plus the Nav2 + Gazebo Harmonic bringup that exercises the controller plugin and the obstacle tracker.
  • config/nav2_prox_mpc_predictive.yaml ships the benchmark's validated single-/sparse-obstacle preset (w_weight 1000, costmap_cost_threshold 253, cbf_gamma 1.0, max_obstacles 4, prediction_uncertainty_growth 0.05, max_dynamic_obstacles 2), so the demo's predictive path matches the benchmark's measured behavior.
  • Contributors: Simone Contorno

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged prox_mpc_demo at Robotics Stack Exchange