Package Summary

Version 0.5.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version humble
Last Updated 2026-10-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: MPPI Controller package.

Maintainers

  • Jose Miguel Guerrero Hernandez

Authors

No additional authors.

easynav_mppi_controller

Description

A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Authors and Maintainers

Supported ROS 2 Distributions

Distribution Status
humble humble
jazzy jazzy
kilted kilted
lyrical lyrical
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_mppi_controller/MPPIController
  • Type: easynav::MPPIController
  • Base Class: easynav::ControllerMethodBase
  • Library: easynav_mppi_controller
  • Description: A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Parameters

All parameters are declared under the plugin namespace, i.e., /<node_fqn>/easynav_mppi_controller/MPPIController/....

This plugin derives from easynav::ControllerMethodBase.
See that section for shared collision-checking parameters and debug markers common to all controllers.

Name Type Default Description
<plugin>.num_samples int 100 Number of trajectory rollouts per iteration.
<plugin>.horizon_steps int 10 Number of time steps in the prediction horizon.
<plugin>.dt double 0.1 Integration time step (seconds).
<plugin>.lambda double 0.1 Temperature / control noise scaling factor.
— — — Velocity and acceleration limits are not this plugin’s: they are the robot limits of controller_node (robot_limits.max_linear_vel, min_linear_vel, max_angular_vel, max_linear_acc, max_linear_decel, max_angular_acc, max_angular_decel), queried with ControllerMethodBase::get_robot_limits() and also enforced by ControllerNode’s velocity smoother.
<plugin>.fov double M_PI/2.0 Field of view used in trajectory sampling (radians).
<plugin>.safety_radius double 0.6 Safety radius around the robot (meters).
<plugin>.obstacle_range double 2.0 Obstacle points are taken (robot frame) from just behind the robot (robot_geometry.radius) up to this distance ahead, and this far to each side; mirrored when moving backward.
<plugin>.z_min_filter double 0.0 Points below this height (robot frame) are the ground; above robot_geometry.height they are ignored too.

Deprecated: this plugin’s former limit parameters (max_linear_velocity, max_angular_velocity, max_linear_acceleration, max_angular_acceleration, under the plugin’s name) still apply, with a warning, where controller_node.robot_limits.* does not set that limit. They will stop working soon: move them to robot_limits.

Interfaces (Topics and Services)

Subscriptions and Publications

Direction Topic Type Purpose QoS
Publisher /mppi/candidates visualization_msgs/msg/MarkerArray MPPI candidate trajectories as markers. QoS depth=10
Publisher /mppi/optimal_path visualization_msgs/msg/MarkerArray Optimal MPPI trajectory as markers. QoS depth=10

Services

This package does not create service servers or clients.

Key Type Access Notes
path nav_msgs::msg::Path Read Target path to track.
robot_pose nav_msgs::msg::Odometry Read Current robot pose/state.
points PointPerceptions Read Perception point cloud(s) used for costs.
cmd_vel geometry_msgs::msg::TwistStamped Read Last commanded velocity (if provided in state).

TF Frames

This controller does not explicitly publish or require TF frames in code.

License

Apache-2.0

CHANGELOG

Changelog for package easynav_mppi_controller

0.5.0 (2026-10-08)

  • Velocity smoother support and runtime reconfiguration
  • Obstacle points in the robot frame
  • Removed unused dependencies
  • Contributors: Francisco Martín Rico

0.4.2 (2026-07-26)

  • Complete deps
  • GPLv3 -> Apache 2.0
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Include package in cmake and package.xml
  • Fix link error when running MPPI in Realease
  • Stop controllers at IDLE
  • Merge branch 'rolling' into improve_astar_costmap
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Adaptation to EasyNavigation#71
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, José Miguel Guerrero, Juan S. Cely, Juan S. Cely G., Miguel, migueldm

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_mppi_controller at Robotics Stack Exchange

Package Summary

Version 0.5.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version jazzy
Last Updated 2026-10-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: MPPI Controller package.

Maintainers

  • Jose Miguel Guerrero Hernandez

Authors

No additional authors.

easynav_mppi_controller

Description

A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Authors and Maintainers

Supported ROS 2 Distributions

Distribution Status
humble humble
jazzy jazzy
kilted kilted
lyrical lyrical
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_mppi_controller/MPPIController
  • Type: easynav::MPPIController
  • Base Class: easynav::ControllerMethodBase
  • Library: easynav_mppi_controller
  • Description: A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Parameters

All parameters are declared under the plugin namespace, i.e., /<node_fqn>/easynav_mppi_controller/MPPIController/....

This plugin derives from easynav::ControllerMethodBase.
See that section for shared collision-checking parameters and debug markers common to all controllers.

Name Type Default Description
<plugin>.num_samples int 100 Number of trajectory rollouts per iteration.
<plugin>.horizon_steps int 10 Number of time steps in the prediction horizon.
<plugin>.dt double 0.1 Integration time step (seconds).
<plugin>.lambda double 0.1 Temperature / control noise scaling factor.
— — — Velocity and acceleration limits are not this plugin’s: they are the robot limits of controller_node (robot_limits.max_linear_vel, min_linear_vel, max_angular_vel, max_linear_acc, max_linear_decel, max_angular_acc, max_angular_decel), queried with ControllerMethodBase::get_robot_limits() and also enforced by ControllerNode’s velocity smoother.
<plugin>.fov double M_PI/2.0 Field of view used in trajectory sampling (radians).
<plugin>.safety_radius double 0.6 Safety radius around the robot (meters).
<plugin>.obstacle_range double 2.0 Obstacle points are taken (robot frame) from just behind the robot (robot_geometry.radius) up to this distance ahead, and this far to each side; mirrored when moving backward.
<plugin>.z_min_filter double 0.0 Points below this height (robot frame) are the ground; above robot_geometry.height they are ignored too.

Deprecated: this plugin’s former limit parameters (max_linear_velocity, max_angular_velocity, max_linear_acceleration, max_angular_acceleration, under the plugin’s name) still apply, with a warning, where controller_node.robot_limits.* does not set that limit. They will stop working soon: move them to robot_limits.

Interfaces (Topics and Services)

Subscriptions and Publications

Direction Topic Type Purpose QoS
Publisher /mppi/candidates visualization_msgs/msg/MarkerArray MPPI candidate trajectories as markers. QoS depth=10
Publisher /mppi/optimal_path visualization_msgs/msg/MarkerArray Optimal MPPI trajectory as markers. QoS depth=10

Services

This package does not create service servers or clients.

Key Type Access Notes
path nav_msgs::msg::Path Read Target path to track.
robot_pose nav_msgs::msg::Odometry Read Current robot pose/state.
points PointPerceptions Read Perception point cloud(s) used for costs.
cmd_vel geometry_msgs::msg::TwistStamped Read Last commanded velocity (if provided in state).

TF Frames

This controller does not explicitly publish or require TF frames in code.

License

Apache-2.0

CHANGELOG

Changelog for package easynav_mppi_controller

0.5.0 (2026-10-08)

  • Velocity smoother support and runtime reconfiguration
  • Obstacle points in the robot frame
  • Removed unused dependencies
  • Contributors: Francisco Martín Rico

0.4.2 (2026-07-26)

  • Complete deps
  • GPLv3 -> Apache 2.0
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Include package in cmake and package.xml
  • Fix link error when running MPPI in Realease
  • Stop controllers at IDLE
  • Merge branch 'rolling' into improve_astar_costmap
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Adaptation to EasyNavigation#71
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, José Miguel Guerrero, Juan S. Cely, Juan S. Cely G., Miguel, migueldm

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_mppi_controller at Robotics Stack Exchange

Package Summary

Version 0.5.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version kilted
Last Updated 2026-10-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: MPPI Controller package.

Maintainers

  • Jose Miguel Guerrero Hernandez

Authors

No additional authors.

easynav_mppi_controller

Description

A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Authors and Maintainers

Supported ROS 2 Distributions

Distribution Status
humble humble
jazzy jazzy
kilted kilted
lyrical lyrical
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_mppi_controller/MPPIController
  • Type: easynav::MPPIController
  • Base Class: easynav::ControllerMethodBase
  • Library: easynav_mppi_controller
  • Description: A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Parameters

All parameters are declared under the plugin namespace, i.e., /<node_fqn>/easynav_mppi_controller/MPPIController/....

This plugin derives from easynav::ControllerMethodBase.
See that section for shared collision-checking parameters and debug markers common to all controllers.

Name Type Default Description
<plugin>.num_samples int 100 Number of trajectory rollouts per iteration.
<plugin>.horizon_steps int 10 Number of time steps in the prediction horizon.
<plugin>.dt double 0.1 Integration time step (seconds).
<plugin>.lambda double 0.1 Temperature / control noise scaling factor.
— — — Velocity and acceleration limits are not this plugin’s: they are the robot limits of controller_node (robot_limits.max_linear_vel, min_linear_vel, max_angular_vel, max_linear_acc, max_linear_decel, max_angular_acc, max_angular_decel), queried with ControllerMethodBase::get_robot_limits() and also enforced by ControllerNode’s velocity smoother.
<plugin>.fov double M_PI/2.0 Field of view used in trajectory sampling (radians).
<plugin>.safety_radius double 0.6 Safety radius around the robot (meters).
<plugin>.obstacle_range double 2.0 Obstacle points are taken (robot frame) from just behind the robot (robot_geometry.radius) up to this distance ahead, and this far to each side; mirrored when moving backward.
<plugin>.z_min_filter double 0.0 Points below this height (robot frame) are the ground; above robot_geometry.height they are ignored too.

Deprecated: this plugin’s former limit parameters (max_linear_velocity, max_angular_velocity, max_linear_acceleration, max_angular_acceleration, under the plugin’s name) still apply, with a warning, where controller_node.robot_limits.* does not set that limit. They will stop working soon: move them to robot_limits.

Interfaces (Topics and Services)

Subscriptions and Publications

Direction Topic Type Purpose QoS
Publisher /mppi/candidates visualization_msgs/msg/MarkerArray MPPI candidate trajectories as markers. QoS depth=10
Publisher /mppi/optimal_path visualization_msgs/msg/MarkerArray Optimal MPPI trajectory as markers. QoS depth=10

Services

This package does not create service servers or clients.

Key Type Access Notes
path nav_msgs::msg::Path Read Target path to track.
robot_pose nav_msgs::msg::Odometry Read Current robot pose/state.
points PointPerceptions Read Perception point cloud(s) used for costs.
cmd_vel geometry_msgs::msg::TwistStamped Read Last commanded velocity (if provided in state).

TF Frames

This controller does not explicitly publish or require TF frames in code.

License

Apache-2.0

CHANGELOG

Changelog for package easynav_mppi_controller

0.5.0 (2026-10-08)

  • Velocity smoother support and runtime reconfiguration
  • Obstacle points in the robot frame
  • Removed unused dependencies
  • Contributors: Francisco Martín Rico

0.4.2 (2026-07-26)

  • Complete deps
  • GPLv3 -> Apache 2.0
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Include package in cmake and package.xml
  • Fix link error when running MPPI in Realease
  • Stop controllers at IDLE
  • Merge branch 'rolling' into improve_astar_costmap
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Adaptation to EasyNavigation#71
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, José Miguel Guerrero, Juan S. Cely, Juan S. Cely G., Miguel, migueldm

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_mppi_controller at Robotics Stack Exchange

Package Summary

Version 0.5.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version lyrical
Last Updated 2026-10-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: MPPI Controller package.

Maintainers

  • Jose Miguel Guerrero Hernandez

Authors

No additional authors.

easynav_mppi_controller

Description

A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Authors and Maintainers

Supported ROS 2 Distributions

Distribution Status
humble humble
jazzy jazzy
kilted kilted
lyrical lyrical
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_mppi_controller/MPPIController
  • Type: easynav::MPPIController
  • Base Class: easynav::ControllerMethodBase
  • Library: easynav_mppi_controller
  • Description: A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Parameters

All parameters are declared under the plugin namespace, i.e., /<node_fqn>/easynav_mppi_controller/MPPIController/....

This plugin derives from easynav::ControllerMethodBase.
See that section for shared collision-checking parameters and debug markers common to all controllers.

Name Type Default Description
<plugin>.num_samples int 100 Number of trajectory rollouts per iteration.
<plugin>.horizon_steps int 10 Number of time steps in the prediction horizon.
<plugin>.dt double 0.1 Integration time step (seconds).
<plugin>.lambda double 0.1 Temperature / control noise scaling factor.
— — — Velocity and acceleration limits are not this plugin’s: they are the robot limits of controller_node (robot_limits.max_linear_vel, min_linear_vel, max_angular_vel, max_linear_acc, max_linear_decel, max_angular_acc, max_angular_decel), queried with ControllerMethodBase::get_robot_limits() and also enforced by ControllerNode’s velocity smoother.
<plugin>.fov double M_PI/2.0 Field of view used in trajectory sampling (radians).
<plugin>.safety_radius double 0.6 Safety radius around the robot (meters).
<plugin>.obstacle_range double 2.0 Obstacle points are taken (robot frame) from just behind the robot (robot_geometry.radius) up to this distance ahead, and this far to each side; mirrored when moving backward.
<plugin>.z_min_filter double 0.0 Points below this height (robot frame) are the ground; above robot_geometry.height they are ignored too.

Deprecated: this plugin’s former limit parameters (max_linear_velocity, max_angular_velocity, max_linear_acceleration, max_angular_acceleration, under the plugin’s name) still apply, with a warning, where controller_node.robot_limits.* does not set that limit. They will stop working soon: move them to robot_limits.

Interfaces (Topics and Services)

Subscriptions and Publications

Direction Topic Type Purpose QoS
Publisher /mppi/candidates visualization_msgs/msg/MarkerArray MPPI candidate trajectories as markers. QoS depth=10
Publisher /mppi/optimal_path visualization_msgs/msg/MarkerArray Optimal MPPI trajectory as markers. QoS depth=10

Services

This package does not create service servers or clients.

Key Type Access Notes
path nav_msgs::msg::Path Read Target path to track.
robot_pose nav_msgs::msg::Odometry Read Current robot pose/state.
points PointPerceptions Read Perception point cloud(s) used for costs.
cmd_vel geometry_msgs::msg::TwistStamped Read Last commanded velocity (if provided in state).

TF Frames

This controller does not explicitly publish or require TF frames in code.

License

Apache-2.0

CHANGELOG

Changelog for package easynav_mppi_controller

0.5.0 (2026-10-08)

  • Velocity smoother support and runtime reconfiguration
  • Obstacle points in the robot frame
  • Removed unused dependencies
  • Contributors: Francisco Martín Rico

0.4.2 (2026-07-26)

  • Complete deps
  • GPLv3 -> Apache 2.0
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Include package in cmake and package.xml
  • Fix link error when running MPPI in Realease
  • Stop controllers at IDLE
  • Merge branch 'rolling' into improve_astar_costmap
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Adaptation to EasyNavigation#71
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, José Miguel Guerrero, Juan S. Cely, Juan S. Cely G., Miguel, migueldm

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_mppi_controller at Robotics Stack Exchange

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

Package Summary

Version 0.5.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version humble
Last Updated 2026-10-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: MPPI Controller package.

Maintainers

  • Jose Miguel Guerrero Hernandez

Authors

No additional authors.

easynav_mppi_controller

Description

A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Authors and Maintainers

Supported ROS 2 Distributions

Distribution Status
humble humble
jazzy jazzy
kilted kilted
lyrical lyrical
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_mppi_controller/MPPIController
  • Type: easynav::MPPIController
  • Base Class: easynav::ControllerMethodBase
  • Library: easynav_mppi_controller
  • Description: A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Parameters

All parameters are declared under the plugin namespace, i.e., /<node_fqn>/easynav_mppi_controller/MPPIController/....

This plugin derives from easynav::ControllerMethodBase.
See that section for shared collision-checking parameters and debug markers common to all controllers.

Name Type Default Description
<plugin>.num_samples int 100 Number of trajectory rollouts per iteration.
<plugin>.horizon_steps int 10 Number of time steps in the prediction horizon.
<plugin>.dt double 0.1 Integration time step (seconds).
<plugin>.lambda double 0.1 Temperature / control noise scaling factor.
— — — Velocity and acceleration limits are not this plugin’s: they are the robot limits of controller_node (robot_limits.max_linear_vel, min_linear_vel, max_angular_vel, max_linear_acc, max_linear_decel, max_angular_acc, max_angular_decel), queried with ControllerMethodBase::get_robot_limits() and also enforced by ControllerNode’s velocity smoother.
<plugin>.fov double M_PI/2.0 Field of view used in trajectory sampling (radians).
<plugin>.safety_radius double 0.6 Safety radius around the robot (meters).
<plugin>.obstacle_range double 2.0 Obstacle points are taken (robot frame) from just behind the robot (robot_geometry.radius) up to this distance ahead, and this far to each side; mirrored when moving backward.
<plugin>.z_min_filter double 0.0 Points below this height (robot frame) are the ground; above robot_geometry.height they are ignored too.

Deprecated: this plugin’s former limit parameters (max_linear_velocity, max_angular_velocity, max_linear_acceleration, max_angular_acceleration, under the plugin’s name) still apply, with a warning, where controller_node.robot_limits.* does not set that limit. They will stop working soon: move them to robot_limits.

Interfaces (Topics and Services)

Subscriptions and Publications

Direction Topic Type Purpose QoS
Publisher /mppi/candidates visualization_msgs/msg/MarkerArray MPPI candidate trajectories as markers. QoS depth=10
Publisher /mppi/optimal_path visualization_msgs/msg/MarkerArray Optimal MPPI trajectory as markers. QoS depth=10

Services

This package does not create service servers or clients.

Key Type Access Notes
path nav_msgs::msg::Path Read Target path to track.
robot_pose nav_msgs::msg::Odometry Read Current robot pose/state.
points PointPerceptions Read Perception point cloud(s) used for costs.
cmd_vel geometry_msgs::msg::TwistStamped Read Last commanded velocity (if provided in state).

TF Frames

This controller does not explicitly publish or require TF frames in code.

License

Apache-2.0

CHANGELOG

Changelog for package easynav_mppi_controller

0.5.0 (2026-10-08)

  • Velocity smoother support and runtime reconfiguration
  • Obstacle points in the robot frame
  • Removed unused dependencies
  • Contributors: Francisco Martín Rico

0.4.2 (2026-07-26)

  • Complete deps
  • GPLv3 -> Apache 2.0
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Include package in cmake and package.xml
  • Fix link error when running MPPI in Realease
  • Stop controllers at IDLE
  • Merge branch 'rolling' into improve_astar_costmap
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Adaptation to EasyNavigation#71
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, José Miguel Guerrero, Juan S. Cely, Juan S. Cely G., Miguel, migueldm

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_mppi_controller at Robotics Stack Exchange

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

Package Summary

Version 0.5.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version humble
Last Updated 2026-10-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: MPPI Controller package.

Maintainers

  • Jose Miguel Guerrero Hernandez

Authors

No additional authors.

easynav_mppi_controller

Description

A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Authors and Maintainers

Supported ROS 2 Distributions

Distribution Status
humble humble
jazzy jazzy
kilted kilted
lyrical lyrical
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_mppi_controller/MPPIController
  • Type: easynav::MPPIController
  • Base Class: easynav::ControllerMethodBase
  • Library: easynav_mppi_controller
  • Description: A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Parameters

All parameters are declared under the plugin namespace, i.e., /<node_fqn>/easynav_mppi_controller/MPPIController/....

This plugin derives from easynav::ControllerMethodBase.
See that section for shared collision-checking parameters and debug markers common to all controllers.

Name Type Default Description
<plugin>.num_samples int 100 Number of trajectory rollouts per iteration.
<plugin>.horizon_steps int 10 Number of time steps in the prediction horizon.
<plugin>.dt double 0.1 Integration time step (seconds).
<plugin>.lambda double 0.1 Temperature / control noise scaling factor.
— — — Velocity and acceleration limits are not this plugin’s: they are the robot limits of controller_node (robot_limits.max_linear_vel, min_linear_vel, max_angular_vel, max_linear_acc, max_linear_decel, max_angular_acc, max_angular_decel), queried with ControllerMethodBase::get_robot_limits() and also enforced by ControllerNode’s velocity smoother.
<plugin>.fov double M_PI/2.0 Field of view used in trajectory sampling (radians).
<plugin>.safety_radius double 0.6 Safety radius around the robot (meters).
<plugin>.obstacle_range double 2.0 Obstacle points are taken (robot frame) from just behind the robot (robot_geometry.radius) up to this distance ahead, and this far to each side; mirrored when moving backward.
<plugin>.z_min_filter double 0.0 Points below this height (robot frame) are the ground; above robot_geometry.height they are ignored too.

Deprecated: this plugin’s former limit parameters (max_linear_velocity, max_angular_velocity, max_linear_acceleration, max_angular_acceleration, under the plugin’s name) still apply, with a warning, where controller_node.robot_limits.* does not set that limit. They will stop working soon: move them to robot_limits.

Interfaces (Topics and Services)

Subscriptions and Publications

Direction Topic Type Purpose QoS
Publisher /mppi/candidates visualization_msgs/msg/MarkerArray MPPI candidate trajectories as markers. QoS depth=10
Publisher /mppi/optimal_path visualization_msgs/msg/MarkerArray Optimal MPPI trajectory as markers. QoS depth=10

Services

This package does not create service servers or clients.

Key Type Access Notes
path nav_msgs::msg::Path Read Target path to track.
robot_pose nav_msgs::msg::Odometry Read Current robot pose/state.
points PointPerceptions Read Perception point cloud(s) used for costs.
cmd_vel geometry_msgs::msg::TwistStamped Read Last commanded velocity (if provided in state).

TF Frames

This controller does not explicitly publish or require TF frames in code.

License

Apache-2.0

CHANGELOG

Changelog for package easynav_mppi_controller

0.5.0 (2026-10-08)

  • Velocity smoother support and runtime reconfiguration
  • Obstacle points in the robot frame
  • Removed unused dependencies
  • Contributors: Francisco Martín Rico

0.4.2 (2026-07-26)

  • Complete deps
  • GPLv3 -> Apache 2.0
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Include package in cmake and package.xml
  • Fix link error when running MPPI in Realease
  • Stop controllers at IDLE
  • Merge branch 'rolling' into improve_astar_costmap
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Adaptation to EasyNavigation#71
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, José Miguel Guerrero, Juan S. Cely, Juan S. Cely G., Miguel, migueldm

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_mppi_controller at Robotics Stack Exchange

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

Package Summary

Version 0.5.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version humble
Last Updated 2026-10-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: MPPI Controller package.

Maintainers

  • Jose Miguel Guerrero Hernandez

Authors

No additional authors.

easynav_mppi_controller

Description

A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Authors and Maintainers

Supported ROS 2 Distributions

Distribution Status
humble humble
jazzy jazzy
kilted kilted
lyrical lyrical
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_mppi_controller/MPPIController
  • Type: easynav::MPPIController
  • Base Class: easynav::ControllerMethodBase
  • Library: easynav_mppi_controller
  • Description: A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Parameters

All parameters are declared under the plugin namespace, i.e., /<node_fqn>/easynav_mppi_controller/MPPIController/....

This plugin derives from easynav::ControllerMethodBase.
See that section for shared collision-checking parameters and debug markers common to all controllers.

Name Type Default Description
<plugin>.num_samples int 100 Number of trajectory rollouts per iteration.
<plugin>.horizon_steps int 10 Number of time steps in the prediction horizon.
<plugin>.dt double 0.1 Integration time step (seconds).
<plugin>.lambda double 0.1 Temperature / control noise scaling factor.
— — — Velocity and acceleration limits are not this plugin’s: they are the robot limits of controller_node (robot_limits.max_linear_vel, min_linear_vel, max_angular_vel, max_linear_acc, max_linear_decel, max_angular_acc, max_angular_decel), queried with ControllerMethodBase::get_robot_limits() and also enforced by ControllerNode’s velocity smoother.
<plugin>.fov double M_PI/2.0 Field of view used in trajectory sampling (radians).
<plugin>.safety_radius double 0.6 Safety radius around the robot (meters).
<plugin>.obstacle_range double 2.0 Obstacle points are taken (robot frame) from just behind the robot (robot_geometry.radius) up to this distance ahead, and this far to each side; mirrored when moving backward.
<plugin>.z_min_filter double 0.0 Points below this height (robot frame) are the ground; above robot_geometry.height they are ignored too.

Deprecated: this plugin’s former limit parameters (max_linear_velocity, max_angular_velocity, max_linear_acceleration, max_angular_acceleration, under the plugin’s name) still apply, with a warning, where controller_node.robot_limits.* does not set that limit. They will stop working soon: move them to robot_limits.

Interfaces (Topics and Services)

Subscriptions and Publications

Direction Topic Type Purpose QoS
Publisher /mppi/candidates visualization_msgs/msg/MarkerArray MPPI candidate trajectories as markers. QoS depth=10
Publisher /mppi/optimal_path visualization_msgs/msg/MarkerArray Optimal MPPI trajectory as markers. QoS depth=10

Services

This package does not create service servers or clients.

Key Type Access Notes
path nav_msgs::msg::Path Read Target path to track.
robot_pose nav_msgs::msg::Odometry Read Current robot pose/state.
points PointPerceptions Read Perception point cloud(s) used for costs.
cmd_vel geometry_msgs::msg::TwistStamped Read Last commanded velocity (if provided in state).

TF Frames

This controller does not explicitly publish or require TF frames in code.

License

Apache-2.0

CHANGELOG

Changelog for package easynav_mppi_controller

0.5.0 (2026-10-08)

  • Velocity smoother support and runtime reconfiguration
  • Obstacle points in the robot frame
  • Removed unused dependencies
  • Contributors: Francisco Martín Rico

0.4.2 (2026-07-26)

  • Complete deps
  • GPLv3 -> Apache 2.0
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Include package in cmake and package.xml
  • Fix link error when running MPPI in Realease
  • Stop controllers at IDLE
  • Merge branch 'rolling' into improve_astar_costmap
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Adaptation to EasyNavigation#71
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, José Miguel Guerrero, Juan S. Cely, Juan S. Cely G., Miguel, migueldm

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_mppi_controller at Robotics Stack Exchange

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

Package Summary

Version 0.5.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version humble
Last Updated 2026-10-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: MPPI Controller package.

Maintainers

  • Jose Miguel Guerrero Hernandez

Authors

No additional authors.

easynav_mppi_controller

Description

A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Authors and Maintainers

Supported ROS 2 Distributions

Distribution Status
humble humble
jazzy jazzy
kilted kilted
lyrical lyrical
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_mppi_controller/MPPIController
  • Type: easynav::MPPIController
  • Base Class: easynav::ControllerMethodBase
  • Library: easynav_mppi_controller
  • Description: A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Parameters

All parameters are declared under the plugin namespace, i.e., /<node_fqn>/easynav_mppi_controller/MPPIController/....

This plugin derives from easynav::ControllerMethodBase.
See that section for shared collision-checking parameters and debug markers common to all controllers.

Name Type Default Description
<plugin>.num_samples int 100 Number of trajectory rollouts per iteration.
<plugin>.horizon_steps int 10 Number of time steps in the prediction horizon.
<plugin>.dt double 0.1 Integration time step (seconds).
<plugin>.lambda double 0.1 Temperature / control noise scaling factor.
— — — Velocity and acceleration limits are not this plugin’s: they are the robot limits of controller_node (robot_limits.max_linear_vel, min_linear_vel, max_angular_vel, max_linear_acc, max_linear_decel, max_angular_acc, max_angular_decel), queried with ControllerMethodBase::get_robot_limits() and also enforced by ControllerNode’s velocity smoother.
<plugin>.fov double M_PI/2.0 Field of view used in trajectory sampling (radians).
<plugin>.safety_radius double 0.6 Safety radius around the robot (meters).
<plugin>.obstacle_range double 2.0 Obstacle points are taken (robot frame) from just behind the robot (robot_geometry.radius) up to this distance ahead, and this far to each side; mirrored when moving backward.
<plugin>.z_min_filter double 0.0 Points below this height (robot frame) are the ground; above robot_geometry.height they are ignored too.

Deprecated: this plugin’s former limit parameters (max_linear_velocity, max_angular_velocity, max_linear_acceleration, max_angular_acceleration, under the plugin’s name) still apply, with a warning, where controller_node.robot_limits.* does not set that limit. They will stop working soon: move them to robot_limits.

Interfaces (Topics and Services)

Subscriptions and Publications

Direction Topic Type Purpose QoS
Publisher /mppi/candidates visualization_msgs/msg/MarkerArray MPPI candidate trajectories as markers. QoS depth=10
Publisher /mppi/optimal_path visualization_msgs/msg/MarkerArray Optimal MPPI trajectory as markers. QoS depth=10

Services

This package does not create service servers or clients.

Key Type Access Notes
path nav_msgs::msg::Path Read Target path to track.
robot_pose nav_msgs::msg::Odometry Read Current robot pose/state.
points PointPerceptions Read Perception point cloud(s) used for costs.
cmd_vel geometry_msgs::msg::TwistStamped Read Last commanded velocity (if provided in state).

TF Frames

This controller does not explicitly publish or require TF frames in code.

License

Apache-2.0

CHANGELOG

Changelog for package easynav_mppi_controller

0.5.0 (2026-10-08)

  • Velocity smoother support and runtime reconfiguration
  • Obstacle points in the robot frame
  • Removed unused dependencies
  • Contributors: Francisco Martín Rico

0.4.2 (2026-07-26)

  • Complete deps
  • GPLv3 -> Apache 2.0
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Include package in cmake and package.xml
  • Fix link error when running MPPI in Realease
  • Stop controllers at IDLE
  • Merge branch 'rolling' into improve_astar_costmap
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Adaptation to EasyNavigation#71
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, José Miguel Guerrero, Juan S. Cely, Juan S. Cely G., Miguel, migueldm

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_mppi_controller at Robotics Stack Exchange

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

Package Summary

Version 0.5.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version humble
Last Updated 2026-10-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: MPPI Controller package.

Maintainers

  • Jose Miguel Guerrero Hernandez

Authors

No additional authors.

easynav_mppi_controller

Description

A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Authors and Maintainers

Supported ROS 2 Distributions

Distribution Status
humble humble
jazzy jazzy
kilted kilted
lyrical lyrical
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_mppi_controller/MPPIController
  • Type: easynav::MPPIController
  • Base Class: easynav::ControllerMethodBase
  • Library: easynav_mppi_controller
  • Description: A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Parameters

All parameters are declared under the plugin namespace, i.e., /<node_fqn>/easynav_mppi_controller/MPPIController/....

This plugin derives from easynav::ControllerMethodBase.
See that section for shared collision-checking parameters and debug markers common to all controllers.

Name Type Default Description
<plugin>.num_samples int 100 Number of trajectory rollouts per iteration.
<plugin>.horizon_steps int 10 Number of time steps in the prediction horizon.
<plugin>.dt double 0.1 Integration time step (seconds).
<plugin>.lambda double 0.1 Temperature / control noise scaling factor.
— — — Velocity and acceleration limits are not this plugin’s: they are the robot limits of controller_node (robot_limits.max_linear_vel, min_linear_vel, max_angular_vel, max_linear_acc, max_linear_decel, max_angular_acc, max_angular_decel), queried with ControllerMethodBase::get_robot_limits() and also enforced by ControllerNode’s velocity smoother.
<plugin>.fov double M_PI/2.0 Field of view used in trajectory sampling (radians).
<plugin>.safety_radius double 0.6 Safety radius around the robot (meters).
<plugin>.obstacle_range double 2.0 Obstacle points are taken (robot frame) from just behind the robot (robot_geometry.radius) up to this distance ahead, and this far to each side; mirrored when moving backward.
<plugin>.z_min_filter double 0.0 Points below this height (robot frame) are the ground; above robot_geometry.height they are ignored too.

Deprecated: this plugin’s former limit parameters (max_linear_velocity, max_angular_velocity, max_linear_acceleration, max_angular_acceleration, under the plugin’s name) still apply, with a warning, where controller_node.robot_limits.* does not set that limit. They will stop working soon: move them to robot_limits.

Interfaces (Topics and Services)

Subscriptions and Publications

Direction Topic Type Purpose QoS
Publisher /mppi/candidates visualization_msgs/msg/MarkerArray MPPI candidate trajectories as markers. QoS depth=10
Publisher /mppi/optimal_path visualization_msgs/msg/MarkerArray Optimal MPPI trajectory as markers. QoS depth=10

Services

This package does not create service servers or clients.

Key Type Access Notes
path nav_msgs::msg::Path Read Target path to track.
robot_pose nav_msgs::msg::Odometry Read Current robot pose/state.
points PointPerceptions Read Perception point cloud(s) used for costs.
cmd_vel geometry_msgs::msg::TwistStamped Read Last commanded velocity (if provided in state).

TF Frames

This controller does not explicitly publish or require TF frames in code.

License

Apache-2.0

CHANGELOG

Changelog for package easynav_mppi_controller

0.5.0 (2026-10-08)

  • Velocity smoother support and runtime reconfiguration
  • Obstacle points in the robot frame
  • Removed unused dependencies
  • Contributors: Francisco Martín Rico

0.4.2 (2026-07-26)

  • Complete deps
  • GPLv3 -> Apache 2.0
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Include package in cmake and package.xml
  • Fix link error when running MPPI in Realease
  • Stop controllers at IDLE
  • Merge branch 'rolling' into improve_astar_costmap
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Adaptation to EasyNavigation#71
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, José Miguel Guerrero, Juan S. Cely, Juan S. Cely G., Miguel, migueldm

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_mppi_controller at Robotics Stack Exchange

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

Package Summary

Version 0.5.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version humble
Last Updated 2026-10-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: MPPI Controller package.

Maintainers

  • Jose Miguel Guerrero Hernandez

Authors

No additional authors.

easynav_mppi_controller

Description

A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Authors and Maintainers

Supported ROS 2 Distributions

Distribution Status
humble humble
jazzy jazzy
kilted kilted
lyrical lyrical
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_mppi_controller/MPPIController
  • Type: easynav::MPPIController
  • Base Class: easynav::ControllerMethodBase
  • Library: easynav_mppi_controller
  • Description: A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Parameters

All parameters are declared under the plugin namespace, i.e., /<node_fqn>/easynav_mppi_controller/MPPIController/....

This plugin derives from easynav::ControllerMethodBase.
See that section for shared collision-checking parameters and debug markers common to all controllers.

Name Type Default Description
<plugin>.num_samples int 100 Number of trajectory rollouts per iteration.
<plugin>.horizon_steps int 10 Number of time steps in the prediction horizon.
<plugin>.dt double 0.1 Integration time step (seconds).
<plugin>.lambda double 0.1 Temperature / control noise scaling factor.
— — — Velocity and acceleration limits are not this plugin’s: they are the robot limits of controller_node (robot_limits.max_linear_vel, min_linear_vel, max_angular_vel, max_linear_acc, max_linear_decel, max_angular_acc, max_angular_decel), queried with ControllerMethodBase::get_robot_limits() and also enforced by ControllerNode’s velocity smoother.
<plugin>.fov double M_PI/2.0 Field of view used in trajectory sampling (radians).
<plugin>.safety_radius double 0.6 Safety radius around the robot (meters).
<plugin>.obstacle_range double 2.0 Obstacle points are taken (robot frame) from just behind the robot (robot_geometry.radius) up to this distance ahead, and this far to each side; mirrored when moving backward.
<plugin>.z_min_filter double 0.0 Points below this height (robot frame) are the ground; above robot_geometry.height they are ignored too.

Deprecated: this plugin’s former limit parameters (max_linear_velocity, max_angular_velocity, max_linear_acceleration, max_angular_acceleration, under the plugin’s name) still apply, with a warning, where controller_node.robot_limits.* does not set that limit. They will stop working soon: move them to robot_limits.

Interfaces (Topics and Services)

Subscriptions and Publications

Direction Topic Type Purpose QoS
Publisher /mppi/candidates visualization_msgs/msg/MarkerArray MPPI candidate trajectories as markers. QoS depth=10
Publisher /mppi/optimal_path visualization_msgs/msg/MarkerArray Optimal MPPI trajectory as markers. QoS depth=10

Services

This package does not create service servers or clients.

Key Type Access Notes
path nav_msgs::msg::Path Read Target path to track.
robot_pose nav_msgs::msg::Odometry Read Current robot pose/state.
points PointPerceptions Read Perception point cloud(s) used for costs.
cmd_vel geometry_msgs::msg::TwistStamped Read Last commanded velocity (if provided in state).

TF Frames

This controller does not explicitly publish or require TF frames in code.

License

Apache-2.0

CHANGELOG

Changelog for package easynav_mppi_controller

0.5.0 (2026-10-08)

  • Velocity smoother support and runtime reconfiguration
  • Obstacle points in the robot frame
  • Removed unused dependencies
  • Contributors: Francisco Martín Rico

0.4.2 (2026-07-26)

  • Complete deps
  • GPLv3 -> Apache 2.0
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Include package in cmake and package.xml
  • Fix link error when running MPPI in Realease
  • Stop controllers at IDLE
  • Merge branch 'rolling' into improve_astar_costmap
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Adaptation to EasyNavigation#71
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, José Miguel Guerrero, Juan S. Cely, Juan S. Cely G., Miguel, migueldm

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_mppi_controller at Robotics Stack Exchange

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

Package Summary

Version 0.5.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version humble
Last Updated 2026-10-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: MPPI Controller package.

Maintainers

  • Jose Miguel Guerrero Hernandez

Authors

No additional authors.

easynav_mppi_controller

Description

A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Authors and Maintainers

Supported ROS 2 Distributions

Distribution Status
humble humble
jazzy jazzy
kilted kilted
lyrical lyrical
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_mppi_controller/MPPIController
  • Type: easynav::MPPIController
  • Base Class: easynav::ControllerMethodBase
  • Library: easynav_mppi_controller
  • Description: A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Parameters

All parameters are declared under the plugin namespace, i.e., /<node_fqn>/easynav_mppi_controller/MPPIController/....

This plugin derives from easynav::ControllerMethodBase.
See that section for shared collision-checking parameters and debug markers common to all controllers.

Name Type Default Description
<plugin>.num_samples int 100 Number of trajectory rollouts per iteration.
<plugin>.horizon_steps int 10 Number of time steps in the prediction horizon.
<plugin>.dt double 0.1 Integration time step (seconds).
<plugin>.lambda double 0.1 Temperature / control noise scaling factor.
— — — Velocity and acceleration limits are not this plugin’s: they are the robot limits of controller_node (robot_limits.max_linear_vel, min_linear_vel, max_angular_vel, max_linear_acc, max_linear_decel, max_angular_acc, max_angular_decel), queried with ControllerMethodBase::get_robot_limits() and also enforced by ControllerNode’s velocity smoother.
<plugin>.fov double M_PI/2.0 Field of view used in trajectory sampling (radians).
<plugin>.safety_radius double 0.6 Safety radius around the robot (meters).
<plugin>.obstacle_range double 2.0 Obstacle points are taken (robot frame) from just behind the robot (robot_geometry.radius) up to this distance ahead, and this far to each side; mirrored when moving backward.
<plugin>.z_min_filter double 0.0 Points below this height (robot frame) are the ground; above robot_geometry.height they are ignored too.

Deprecated: this plugin’s former limit parameters (max_linear_velocity, max_angular_velocity, max_linear_acceleration, max_angular_acceleration, under the plugin’s name) still apply, with a warning, where controller_node.robot_limits.* does not set that limit. They will stop working soon: move them to robot_limits.

Interfaces (Topics and Services)

Subscriptions and Publications

Direction Topic Type Purpose QoS
Publisher /mppi/candidates visualization_msgs/msg/MarkerArray MPPI candidate trajectories as markers. QoS depth=10
Publisher /mppi/optimal_path visualization_msgs/msg/MarkerArray Optimal MPPI trajectory as markers. QoS depth=10

Services

This package does not create service servers or clients.

Key Type Access Notes
path nav_msgs::msg::Path Read Target path to track.
robot_pose nav_msgs::msg::Odometry Read Current robot pose/state.
points PointPerceptions Read Perception point cloud(s) used for costs.
cmd_vel geometry_msgs::msg::TwistStamped Read Last commanded velocity (if provided in state).

TF Frames

This controller does not explicitly publish or require TF frames in code.

License

Apache-2.0

CHANGELOG

Changelog for package easynav_mppi_controller

0.5.0 (2026-10-08)

  • Velocity smoother support and runtime reconfiguration
  • Obstacle points in the robot frame
  • Removed unused dependencies
  • Contributors: Francisco Martín Rico

0.4.2 (2026-07-26)

  • Complete deps
  • GPLv3 -> Apache 2.0
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Include package in cmake and package.xml
  • Fix link error when running MPPI in Realease
  • Stop controllers at IDLE
  • Merge branch 'rolling' into improve_astar_costmap
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Adaptation to EasyNavigation#71
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, José Miguel Guerrero, Juan S. Cely, Juan S. Cely G., Miguel, migueldm

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_mppi_controller at Robotics Stack Exchange

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

Package Summary

Version 0.5.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version humble
Last Updated 2026-10-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: MPPI Controller package.

Maintainers

  • Jose Miguel Guerrero Hernandez

Authors

No additional authors.

easynav_mppi_controller

Description

A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Authors and Maintainers

Supported ROS 2 Distributions

Distribution Status
humble humble
jazzy jazzy
kilted kilted
lyrical lyrical
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_mppi_controller/MPPIController
  • Type: easynav::MPPIController
  • Base Class: easynav::ControllerMethodBase
  • Library: easynav_mppi_controller
  • Description: A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Parameters

All parameters are declared under the plugin namespace, i.e., /<node_fqn>/easynav_mppi_controller/MPPIController/....

This plugin derives from easynav::ControllerMethodBase.
See that section for shared collision-checking parameters and debug markers common to all controllers.

Name Type Default Description
<plugin>.num_samples int 100 Number of trajectory rollouts per iteration.
<plugin>.horizon_steps int 10 Number of time steps in the prediction horizon.
<plugin>.dt double 0.1 Integration time step (seconds).
<plugin>.lambda double 0.1 Temperature / control noise scaling factor.
— — — Velocity and acceleration limits are not this plugin’s: they are the robot limits of controller_node (robot_limits.max_linear_vel, min_linear_vel, max_angular_vel, max_linear_acc, max_linear_decel, max_angular_acc, max_angular_decel), queried with ControllerMethodBase::get_robot_limits() and also enforced by ControllerNode’s velocity smoother.
<plugin>.fov double M_PI/2.0 Field of view used in trajectory sampling (radians).
<plugin>.safety_radius double 0.6 Safety radius around the robot (meters).
<plugin>.obstacle_range double 2.0 Obstacle points are taken (robot frame) from just behind the robot (robot_geometry.radius) up to this distance ahead, and this far to each side; mirrored when moving backward.
<plugin>.z_min_filter double 0.0 Points below this height (robot frame) are the ground; above robot_geometry.height they are ignored too.

Deprecated: this plugin’s former limit parameters (max_linear_velocity, max_angular_velocity, max_linear_acceleration, max_angular_acceleration, under the plugin’s name) still apply, with a warning, where controller_node.robot_limits.* does not set that limit. They will stop working soon: move them to robot_limits.

Interfaces (Topics and Services)

Subscriptions and Publications

Direction Topic Type Purpose QoS
Publisher /mppi/candidates visualization_msgs/msg/MarkerArray MPPI candidate trajectories as markers. QoS depth=10
Publisher /mppi/optimal_path visualization_msgs/msg/MarkerArray Optimal MPPI trajectory as markers. QoS depth=10

Services

This package does not create service servers or clients.

Key Type Access Notes
path nav_msgs::msg::Path Read Target path to track.
robot_pose nav_msgs::msg::Odometry Read Current robot pose/state.
points PointPerceptions Read Perception point cloud(s) used for costs.
cmd_vel geometry_msgs::msg::TwistStamped Read Last commanded velocity (if provided in state).

TF Frames

This controller does not explicitly publish or require TF frames in code.

License

Apache-2.0

CHANGELOG

Changelog for package easynav_mppi_controller

0.5.0 (2026-10-08)

  • Velocity smoother support and runtime reconfiguration
  • Obstacle points in the robot frame
  • Removed unused dependencies
  • Contributors: Francisco Martín Rico

0.4.2 (2026-07-26)

  • Complete deps
  • GPLv3 -> Apache 2.0
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Include package in cmake and package.xml
  • Fix link error when running MPPI in Realease
  • Stop controllers at IDLE
  • Merge branch 'rolling' into improve_astar_costmap
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Adaptation to EasyNavigation#71
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, José Miguel Guerrero, Juan S. Cely, Juan S. Cely G., Miguel, migueldm

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_mppi_controller at Robotics Stack Exchange

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

Package Summary

Version 0.5.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version humble
Last Updated 2026-10-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: MPPI Controller package.

Maintainers

  • Jose Miguel Guerrero Hernandez

Authors

No additional authors.

easynav_mppi_controller

Description

A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Authors and Maintainers

Supported ROS 2 Distributions

Distribution Status
humble humble
jazzy jazzy
kilted kilted
lyrical lyrical
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_mppi_controller/MPPIController
  • Type: easynav::MPPIController
  • Base Class: easynav::ControllerMethodBase
  • Library: easynav_mppi_controller
  • Description: A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Parameters

All parameters are declared under the plugin namespace, i.e., /<node_fqn>/easynav_mppi_controller/MPPIController/....

This plugin derives from easynav::ControllerMethodBase.
See that section for shared collision-checking parameters and debug markers common to all controllers.

Name Type Default Description
<plugin>.num_samples int 100 Number of trajectory rollouts per iteration.
<plugin>.horizon_steps int 10 Number of time steps in the prediction horizon.
<plugin>.dt double 0.1 Integration time step (seconds).
<plugin>.lambda double 0.1 Temperature / control noise scaling factor.
— — — Velocity and acceleration limits are not this plugin’s: they are the robot limits of controller_node (robot_limits.max_linear_vel, min_linear_vel, max_angular_vel, max_linear_acc, max_linear_decel, max_angular_acc, max_angular_decel), queried with ControllerMethodBase::get_robot_limits() and also enforced by ControllerNode’s velocity smoother.
<plugin>.fov double M_PI/2.0 Field of view used in trajectory sampling (radians).
<plugin>.safety_radius double 0.6 Safety radius around the robot (meters).
<plugin>.obstacle_range double 2.0 Obstacle points are taken (robot frame) from just behind the robot (robot_geometry.radius) up to this distance ahead, and this far to each side; mirrored when moving backward.
<plugin>.z_min_filter double 0.0 Points below this height (robot frame) are the ground; above robot_geometry.height they are ignored too.

Deprecated: this plugin’s former limit parameters (max_linear_velocity, max_angular_velocity, max_linear_acceleration, max_angular_acceleration, under the plugin’s name) still apply, with a warning, where controller_node.robot_limits.* does not set that limit. They will stop working soon: move them to robot_limits.

Interfaces (Topics and Services)

Subscriptions and Publications

Direction Topic Type Purpose QoS
Publisher /mppi/candidates visualization_msgs/msg/MarkerArray MPPI candidate trajectories as markers. QoS depth=10
Publisher /mppi/optimal_path visualization_msgs/msg/MarkerArray Optimal MPPI trajectory as markers. QoS depth=10

Services

This package does not create service servers or clients.

Key Type Access Notes
path nav_msgs::msg::Path Read Target path to track.
robot_pose nav_msgs::msg::Odometry Read Current robot pose/state.
points PointPerceptions Read Perception point cloud(s) used for costs.
cmd_vel geometry_msgs::msg::TwistStamped Read Last commanded velocity (if provided in state).

TF Frames

This controller does not explicitly publish or require TF frames in code.

License

Apache-2.0

CHANGELOG

Changelog for package easynav_mppi_controller

0.5.0 (2026-10-08)

  • Velocity smoother support and runtime reconfiguration
  • Obstacle points in the robot frame
  • Removed unused dependencies
  • Contributors: Francisco Martín Rico

0.4.2 (2026-07-26)

  • Complete deps
  • GPLv3 -> Apache 2.0
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Include package in cmake and package.xml
  • Fix link error when running MPPI in Realease
  • Stop controllers at IDLE
  • Merge branch 'rolling' into improve_astar_costmap
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Adaptation to EasyNavigation#71
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, José Miguel Guerrero, Juan S. Cely, Juan S. Cely G., Miguel, migueldm

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_mppi_controller at Robotics Stack Exchange

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

Package Summary

Version 0.5.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version humble
Last Updated 2026-10-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: MPPI Controller package.

Maintainers

  • Jose Miguel Guerrero Hernandez

Authors

No additional authors.

easynav_mppi_controller

Description

A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Authors and Maintainers

Supported ROS 2 Distributions

Distribution Status
humble humble
jazzy jazzy
kilted kilted
lyrical lyrical
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_mppi_controller/MPPIController
  • Type: easynav::MPPIController
  • Base Class: easynav::ControllerMethodBase
  • Library: easynav_mppi_controller
  • Description: A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Parameters

All parameters are declared under the plugin namespace, i.e., /<node_fqn>/easynav_mppi_controller/MPPIController/....

This plugin derives from easynav::ControllerMethodBase.
See that section for shared collision-checking parameters and debug markers common to all controllers.

Name Type Default Description
<plugin>.num_samples int 100 Number of trajectory rollouts per iteration.
<plugin>.horizon_steps int 10 Number of time steps in the prediction horizon.
<plugin>.dt double 0.1 Integration time step (seconds).
<plugin>.lambda double 0.1 Temperature / control noise scaling factor.
— — — Velocity and acceleration limits are not this plugin’s: they are the robot limits of controller_node (robot_limits.max_linear_vel, min_linear_vel, max_angular_vel, max_linear_acc, max_linear_decel, max_angular_acc, max_angular_decel), queried with ControllerMethodBase::get_robot_limits() and also enforced by ControllerNode’s velocity smoother.
<plugin>.fov double M_PI/2.0 Field of view used in trajectory sampling (radians).
<plugin>.safety_radius double 0.6 Safety radius around the robot (meters).
<plugin>.obstacle_range double 2.0 Obstacle points are taken (robot frame) from just behind the robot (robot_geometry.radius) up to this distance ahead, and this far to each side; mirrored when moving backward.
<plugin>.z_min_filter double 0.0 Points below this height (robot frame) are the ground; above robot_geometry.height they are ignored too.

Deprecated: this plugin’s former limit parameters (max_linear_velocity, max_angular_velocity, max_linear_acceleration, max_angular_acceleration, under the plugin’s name) still apply, with a warning, where controller_node.robot_limits.* does not set that limit. They will stop working soon: move them to robot_limits.

Interfaces (Topics and Services)

Subscriptions and Publications

Direction Topic Type Purpose QoS
Publisher /mppi/candidates visualization_msgs/msg/MarkerArray MPPI candidate trajectories as markers. QoS depth=10
Publisher /mppi/optimal_path visualization_msgs/msg/MarkerArray Optimal MPPI trajectory as markers. QoS depth=10

Services

This package does not create service servers or clients.

Key Type Access Notes
path nav_msgs::msg::Path Read Target path to track.
robot_pose nav_msgs::msg::Odometry Read Current robot pose/state.
points PointPerceptions Read Perception point cloud(s) used for costs.
cmd_vel geometry_msgs::msg::TwistStamped Read Last commanded velocity (if provided in state).

TF Frames

This controller does not explicitly publish or require TF frames in code.

License

Apache-2.0

CHANGELOG

Changelog for package easynav_mppi_controller

0.5.0 (2026-10-08)

  • Velocity smoother support and runtime reconfiguration
  • Obstacle points in the robot frame
  • Removed unused dependencies
  • Contributors: Francisco Martín Rico

0.4.2 (2026-07-26)

  • Complete deps
  • GPLv3 -> Apache 2.0
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Include package in cmake and package.xml
  • Fix link error when running MPPI in Realease
  • Stop controllers at IDLE
  • Merge branch 'rolling' into improve_astar_costmap
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Adaptation to EasyNavigation#71
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, José Miguel Guerrero, Juan S. Cely, Juan S. Cely G., Miguel, migueldm

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_mppi_controller at Robotics Stack Exchange

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

Package Summary

Version 0.5.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version humble
Last Updated 2026-10-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: MPPI Controller package.

Maintainers

  • Jose Miguel Guerrero Hernandez

Authors

No additional authors.

easynav_mppi_controller

Description

A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Authors and Maintainers

Supported ROS 2 Distributions

Distribution Status
humble humble
jazzy jazzy
kilted kilted
lyrical lyrical
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_mppi_controller/MPPIController
  • Type: easynav::MPPIController
  • Base Class: easynav::ControllerMethodBase
  • Library: easynav_mppi_controller
  • Description: A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Parameters

All parameters are declared under the plugin namespace, i.e., /<node_fqn>/easynav_mppi_controller/MPPIController/....

This plugin derives from easynav::ControllerMethodBase.
See that section for shared collision-checking parameters and debug markers common to all controllers.

Name Type Default Description
<plugin>.num_samples int 100 Number of trajectory rollouts per iteration.
<plugin>.horizon_steps int 10 Number of time steps in the prediction horizon.
<plugin>.dt double 0.1 Integration time step (seconds).
<plugin>.lambda double 0.1 Temperature / control noise scaling factor.
— — — Velocity and acceleration limits are not this plugin’s: they are the robot limits of controller_node (robot_limits.max_linear_vel, min_linear_vel, max_angular_vel, max_linear_acc, max_linear_decel, max_angular_acc, max_angular_decel), queried with ControllerMethodBase::get_robot_limits() and also enforced by ControllerNode’s velocity smoother.
<plugin>.fov double M_PI/2.0 Field of view used in trajectory sampling (radians).
<plugin>.safety_radius double 0.6 Safety radius around the robot (meters).
<plugin>.obstacle_range double 2.0 Obstacle points are taken (robot frame) from just behind the robot (robot_geometry.radius) up to this distance ahead, and this far to each side; mirrored when moving backward.
<plugin>.z_min_filter double 0.0 Points below this height (robot frame) are the ground; above robot_geometry.height they are ignored too.

Deprecated: this plugin’s former limit parameters (max_linear_velocity, max_angular_velocity, max_linear_acceleration, max_angular_acceleration, under the plugin’s name) still apply, with a warning, where controller_node.robot_limits.* does not set that limit. They will stop working soon: move them to robot_limits.

Interfaces (Topics and Services)

Subscriptions and Publications

Direction Topic Type Purpose QoS
Publisher /mppi/candidates visualization_msgs/msg/MarkerArray MPPI candidate trajectories as markers. QoS depth=10
Publisher /mppi/optimal_path visualization_msgs/msg/MarkerArray Optimal MPPI trajectory as markers. QoS depth=10

Services

This package does not create service servers or clients.

Key Type Access Notes
path nav_msgs::msg::Path Read Target path to track.
robot_pose nav_msgs::msg::Odometry Read Current robot pose/state.
points PointPerceptions Read Perception point cloud(s) used for costs.
cmd_vel geometry_msgs::msg::TwistStamped Read Last commanded velocity (if provided in state).

TF Frames

This controller does not explicitly publish or require TF frames in code.

License

Apache-2.0

CHANGELOG

Changelog for package easynav_mppi_controller

0.5.0 (2026-10-08)

  • Velocity smoother support and runtime reconfiguration
  • Obstacle points in the robot frame
  • Removed unused dependencies
  • Contributors: Francisco Martín Rico

0.4.2 (2026-07-26)

  • Complete deps
  • GPLv3 -> Apache 2.0
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Include package in cmake and package.xml
  • Fix link error when running MPPI in Realease
  • Stop controllers at IDLE
  • Merge branch 'rolling' into improve_astar_costmap
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Adaptation to EasyNavigation#71
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, José Miguel Guerrero, Juan S. Cely, Juan S. Cely G., Miguel, migueldm

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_mppi_controller at Robotics Stack Exchange

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

Package Summary

Version 0.5.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version humble
Last Updated 2026-10-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: MPPI Controller package.

Maintainers

  • Jose Miguel Guerrero Hernandez

Authors

No additional authors.

easynav_mppi_controller

Description

A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Authors and Maintainers

Supported ROS 2 Distributions

Distribution Status
humble humble
jazzy jazzy
kilted kilted
lyrical lyrical
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_mppi_controller/MPPIController
  • Type: easynav::MPPIController
  • Base Class: easynav::ControllerMethodBase
  • Library: easynav_mppi_controller
  • Description: A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Parameters

All parameters are declared under the plugin namespace, i.e., /<node_fqn>/easynav_mppi_controller/MPPIController/....

This plugin derives from easynav::ControllerMethodBase.
See that section for shared collision-checking parameters and debug markers common to all controllers.

Name Type Default Description
<plugin>.num_samples int 100 Number of trajectory rollouts per iteration.
<plugin>.horizon_steps int 10 Number of time steps in the prediction horizon.
<plugin>.dt double 0.1 Integration time step (seconds).
<plugin>.lambda double 0.1 Temperature / control noise scaling factor.
— — — Velocity and acceleration limits are not this plugin’s: they are the robot limits of controller_node (robot_limits.max_linear_vel, min_linear_vel, max_angular_vel, max_linear_acc, max_linear_decel, max_angular_acc, max_angular_decel), queried with ControllerMethodBase::get_robot_limits() and also enforced by ControllerNode’s velocity smoother.
<plugin>.fov double M_PI/2.0 Field of view used in trajectory sampling (radians).
<plugin>.safety_radius double 0.6 Safety radius around the robot (meters).
<plugin>.obstacle_range double 2.0 Obstacle points are taken (robot frame) from just behind the robot (robot_geometry.radius) up to this distance ahead, and this far to each side; mirrored when moving backward.
<plugin>.z_min_filter double 0.0 Points below this height (robot frame) are the ground; above robot_geometry.height they are ignored too.

Deprecated: this plugin’s former limit parameters (max_linear_velocity, max_angular_velocity, max_linear_acceleration, max_angular_acceleration, under the plugin’s name) still apply, with a warning, where controller_node.robot_limits.* does not set that limit. They will stop working soon: move them to robot_limits.

Interfaces (Topics and Services)

Subscriptions and Publications

Direction Topic Type Purpose QoS
Publisher /mppi/candidates visualization_msgs/msg/MarkerArray MPPI candidate trajectories as markers. QoS depth=10
Publisher /mppi/optimal_path visualization_msgs/msg/MarkerArray Optimal MPPI trajectory as markers. QoS depth=10

Services

This package does not create service servers or clients.

Key Type Access Notes
path nav_msgs::msg::Path Read Target path to track.
robot_pose nav_msgs::msg::Odometry Read Current robot pose/state.
points PointPerceptions Read Perception point cloud(s) used for costs.
cmd_vel geometry_msgs::msg::TwistStamped Read Last commanded velocity (if provided in state).

TF Frames

This controller does not explicitly publish or require TF frames in code.

License

Apache-2.0

CHANGELOG

Changelog for package easynav_mppi_controller

0.5.0 (2026-10-08)

  • Velocity smoother support and runtime reconfiguration
  • Obstacle points in the robot frame
  • Removed unused dependencies
  • Contributors: Francisco Martín Rico

0.4.2 (2026-07-26)

  • Complete deps
  • GPLv3 -> Apache 2.0
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Include package in cmake and package.xml
  • Fix link error when running MPPI in Realease
  • Stop controllers at IDLE
  • Merge branch 'rolling' into improve_astar_costmap
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Adaptation to EasyNavigation#71
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, José Miguel Guerrero, Juan S. Cely, Juan S. Cely G., Miguel, migueldm

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_mppi_controller at Robotics Stack Exchange

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

Package Summary

Version 0.5.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version humble
Last Updated 2026-10-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: MPPI Controller package.

Maintainers

  • Jose Miguel Guerrero Hernandez

Authors

No additional authors.

easynav_mppi_controller

Description

A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Authors and Maintainers

Supported ROS 2 Distributions

Distribution Status
humble humble
jazzy jazzy
kilted kilted
lyrical lyrical
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_mppi_controller/MPPIController
  • Type: easynav::MPPIController
  • Base Class: easynav::ControllerMethodBase
  • Library: easynav_mppi_controller
  • Description: A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Parameters

All parameters are declared under the plugin namespace, i.e., /<node_fqn>/easynav_mppi_controller/MPPIController/....

This plugin derives from easynav::ControllerMethodBase.
See that section for shared collision-checking parameters and debug markers common to all controllers.

Name Type Default Description
<plugin>.num_samples int 100 Number of trajectory rollouts per iteration.
<plugin>.horizon_steps int 10 Number of time steps in the prediction horizon.
<plugin>.dt double 0.1 Integration time step (seconds).
<plugin>.lambda double 0.1 Temperature / control noise scaling factor.
— — — Velocity and acceleration limits are not this plugin’s: they are the robot limits of controller_node (robot_limits.max_linear_vel, min_linear_vel, max_angular_vel, max_linear_acc, max_linear_decel, max_angular_acc, max_angular_decel), queried with ControllerMethodBase::get_robot_limits() and also enforced by ControllerNode’s velocity smoother.
<plugin>.fov double M_PI/2.0 Field of view used in trajectory sampling (radians).
<plugin>.safety_radius double 0.6 Safety radius around the robot (meters).
<plugin>.obstacle_range double 2.0 Obstacle points are taken (robot frame) from just behind the robot (robot_geometry.radius) up to this distance ahead, and this far to each side; mirrored when moving backward.
<plugin>.z_min_filter double 0.0 Points below this height (robot frame) are the ground; above robot_geometry.height they are ignored too.

Deprecated: this plugin’s former limit parameters (max_linear_velocity, max_angular_velocity, max_linear_acceleration, max_angular_acceleration, under the plugin’s name) still apply, with a warning, where controller_node.robot_limits.* does not set that limit. They will stop working soon: move them to robot_limits.

Interfaces (Topics and Services)

Subscriptions and Publications

Direction Topic Type Purpose QoS
Publisher /mppi/candidates visualization_msgs/msg/MarkerArray MPPI candidate trajectories as markers. QoS depth=10
Publisher /mppi/optimal_path visualization_msgs/msg/MarkerArray Optimal MPPI trajectory as markers. QoS depth=10

Services

This package does not create service servers or clients.

Key Type Access Notes
path nav_msgs::msg::Path Read Target path to track.
robot_pose nav_msgs::msg::Odometry Read Current robot pose/state.
points PointPerceptions Read Perception point cloud(s) used for costs.
cmd_vel geometry_msgs::msg::TwistStamped Read Last commanded velocity (if provided in state).

TF Frames

This controller does not explicitly publish or require TF frames in code.

License

Apache-2.0

CHANGELOG

Changelog for package easynav_mppi_controller

0.5.0 (2026-10-08)

  • Velocity smoother support and runtime reconfiguration
  • Obstacle points in the robot frame
  • Removed unused dependencies
  • Contributors: Francisco Martín Rico

0.4.2 (2026-07-26)

  • Complete deps
  • GPLv3 -> Apache 2.0
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Include package in cmake and package.xml
  • Fix link error when running MPPI in Realease
  • Stop controllers at IDLE
  • Merge branch 'rolling' into improve_astar_costmap
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Adaptation to EasyNavigation#71
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, José Miguel Guerrero, Juan S. Cely, Juan S. Cely G., Miguel, migueldm

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_mppi_controller at Robotics Stack Exchange

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

Package Summary

Version 0.5.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version humble
Last Updated 2026-10-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: MPPI Controller package.

Maintainers

  • Jose Miguel Guerrero Hernandez

Authors

No additional authors.

easynav_mppi_controller

Description

A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Authors and Maintainers

Supported ROS 2 Distributions

Distribution Status
humble humble
jazzy jazzy
kilted kilted
lyrical lyrical
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_mppi_controller/MPPIController
  • Type: easynav::MPPIController
  • Base Class: easynav::ControllerMethodBase
  • Library: easynav_mppi_controller
  • Description: A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Parameters

All parameters are declared under the plugin namespace, i.e., /<node_fqn>/easynav_mppi_controller/MPPIController/....

This plugin derives from easynav::ControllerMethodBase.
See that section for shared collision-checking parameters and debug markers common to all controllers.

Name Type Default Description
<plugin>.num_samples int 100 Number of trajectory rollouts per iteration.
<plugin>.horizon_steps int 10 Number of time steps in the prediction horizon.
<plugin>.dt double 0.1 Integration time step (seconds).
<plugin>.lambda double 0.1 Temperature / control noise scaling factor.
— — — Velocity and acceleration limits are not this plugin’s: they are the robot limits of controller_node (robot_limits.max_linear_vel, min_linear_vel, max_angular_vel, max_linear_acc, max_linear_decel, max_angular_acc, max_angular_decel), queried with ControllerMethodBase::get_robot_limits() and also enforced by ControllerNode’s velocity smoother.
<plugin>.fov double M_PI/2.0 Field of view used in trajectory sampling (radians).
<plugin>.safety_radius double 0.6 Safety radius around the robot (meters).
<plugin>.obstacle_range double 2.0 Obstacle points are taken (robot frame) from just behind the robot (robot_geometry.radius) up to this distance ahead, and this far to each side; mirrored when moving backward.
<plugin>.z_min_filter double 0.0 Points below this height (robot frame) are the ground; above robot_geometry.height they are ignored too.

Deprecated: this plugin’s former limit parameters (max_linear_velocity, max_angular_velocity, max_linear_acceleration, max_angular_acceleration, under the plugin’s name) still apply, with a warning, where controller_node.robot_limits.* does not set that limit. They will stop working soon: move them to robot_limits.

Interfaces (Topics and Services)

Subscriptions and Publications

Direction Topic Type Purpose QoS
Publisher /mppi/candidates visualization_msgs/msg/MarkerArray MPPI candidate trajectories as markers. QoS depth=10
Publisher /mppi/optimal_path visualization_msgs/msg/MarkerArray Optimal MPPI trajectory as markers. QoS depth=10

Services

This package does not create service servers or clients.

Key Type Access Notes
path nav_msgs::msg::Path Read Target path to track.
robot_pose nav_msgs::msg::Odometry Read Current robot pose/state.
points PointPerceptions Read Perception point cloud(s) used for costs.
cmd_vel geometry_msgs::msg::TwistStamped Read Last commanded velocity (if provided in state).

TF Frames

This controller does not explicitly publish or require TF frames in code.

License

Apache-2.0

CHANGELOG

Changelog for package easynav_mppi_controller

0.5.0 (2026-10-08)

  • Velocity smoother support and runtime reconfiguration
  • Obstacle points in the robot frame
  • Removed unused dependencies
  • Contributors: Francisco Martín Rico

0.4.2 (2026-07-26)

  • Complete deps
  • GPLv3 -> Apache 2.0
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Include package in cmake and package.xml
  • Fix link error when running MPPI in Realease
  • Stop controllers at IDLE
  • Merge branch 'rolling' into improve_astar_costmap
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Adaptation to EasyNavigation#71
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, José Miguel Guerrero, Juan S. Cely, Juan S. Cely G., Miguel, migueldm

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_mppi_controller at Robotics Stack Exchange

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

Package Summary

Version 0.5.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version humble
Last Updated 2026-10-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: MPPI Controller package.

Maintainers

  • Jose Miguel Guerrero Hernandez

Authors

No additional authors.

easynav_mppi_controller

Description

A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Authors and Maintainers

Supported ROS 2 Distributions

Distribution Status
humble humble
jazzy jazzy
kilted kilted
lyrical lyrical
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_mppi_controller/MPPIController
  • Type: easynav::MPPIController
  • Base Class: easynav::ControllerMethodBase
  • Library: easynav_mppi_controller
  • Description: A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Parameters

All parameters are declared under the plugin namespace, i.e., /<node_fqn>/easynav_mppi_controller/MPPIController/....

This plugin derives from easynav::ControllerMethodBase.
See that section for shared collision-checking parameters and debug markers common to all controllers.

Name Type Default Description
<plugin>.num_samples int 100 Number of trajectory rollouts per iteration.
<plugin>.horizon_steps int 10 Number of time steps in the prediction horizon.
<plugin>.dt double 0.1 Integration time step (seconds).
<plugin>.lambda double 0.1 Temperature / control noise scaling factor.
— — — Velocity and acceleration limits are not this plugin’s: they are the robot limits of controller_node (robot_limits.max_linear_vel, min_linear_vel, max_angular_vel, max_linear_acc, max_linear_decel, max_angular_acc, max_angular_decel), queried with ControllerMethodBase::get_robot_limits() and also enforced by ControllerNode’s velocity smoother.
<plugin>.fov double M_PI/2.0 Field of view used in trajectory sampling (radians).
<plugin>.safety_radius double 0.6 Safety radius around the robot (meters).
<plugin>.obstacle_range double 2.0 Obstacle points are taken (robot frame) from just behind the robot (robot_geometry.radius) up to this distance ahead, and this far to each side; mirrored when moving backward.
<plugin>.z_min_filter double 0.0 Points below this height (robot frame) are the ground; above robot_geometry.height they are ignored too.

Deprecated: this plugin’s former limit parameters (max_linear_velocity, max_angular_velocity, max_linear_acceleration, max_angular_acceleration, under the plugin’s name) still apply, with a warning, where controller_node.robot_limits.* does not set that limit. They will stop working soon: move them to robot_limits.

Interfaces (Topics and Services)

Subscriptions and Publications

Direction Topic Type Purpose QoS
Publisher /mppi/candidates visualization_msgs/msg/MarkerArray MPPI candidate trajectories as markers. QoS depth=10
Publisher /mppi/optimal_path visualization_msgs/msg/MarkerArray Optimal MPPI trajectory as markers. QoS depth=10

Services

This package does not create service servers or clients.

Key Type Access Notes
path nav_msgs::msg::Path Read Target path to track.
robot_pose nav_msgs::msg::Odometry Read Current robot pose/state.
points PointPerceptions Read Perception point cloud(s) used for costs.
cmd_vel geometry_msgs::msg::TwistStamped Read Last commanded velocity (if provided in state).

TF Frames

This controller does not explicitly publish or require TF frames in code.

License

Apache-2.0

CHANGELOG

Changelog for package easynav_mppi_controller

0.5.0 (2026-10-08)

  • Velocity smoother support and runtime reconfiguration
  • Obstacle points in the robot frame
  • Removed unused dependencies
  • Contributors: Francisco Martín Rico

0.4.2 (2026-07-26)

  • Complete deps
  • GPLv3 -> Apache 2.0
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Include package in cmake and package.xml
  • Fix link error when running MPPI in Realease
  • Stop controllers at IDLE
  • Merge branch 'rolling' into improve_astar_costmap
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Adaptation to EasyNavigation#71
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, José Miguel Guerrero, Juan S. Cely, Juan S. Cely G., Miguel, migueldm

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_mppi_controller at Robotics Stack Exchange

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

Package Summary

Version 0.5.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/EasyNavigation/easynav_plugins.git
VCS Type git
VCS Version humble
Last Updated 2026-10-09
Dev Status DEVELOPED
Released RELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

Easy Navigation: MPPI Controller package.

Maintainers

  • Jose Miguel Guerrero Hernandez

Authors

No additional authors.

easynav_mppi_controller

Description

A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Authors and Maintainers

Supported ROS 2 Distributions

Distribution Status
humble humble
jazzy jazzy
kilted kilted
lyrical lyrical
rolling rolling

Plugin (pluginlib)

  • Plugin Name: easynav_mppi_controller/MPPIController
  • Type: easynav::MPPIController
  • Base Class: easynav::ControllerMethodBase
  • Library: easynav_mppi_controller
  • Description: A Model Predictive Path Integral (MPPI) controller implementation for Easy Navigation.

Parameters

All parameters are declared under the plugin namespace, i.e., /<node_fqn>/easynav_mppi_controller/MPPIController/....

This plugin derives from easynav::ControllerMethodBase.
See that section for shared collision-checking parameters and debug markers common to all controllers.

Name Type Default Description
<plugin>.num_samples int 100 Number of trajectory rollouts per iteration.
<plugin>.horizon_steps int 10 Number of time steps in the prediction horizon.
<plugin>.dt double 0.1 Integration time step (seconds).
<plugin>.lambda double 0.1 Temperature / control noise scaling factor.
— — — Velocity and acceleration limits are not this plugin’s: they are the robot limits of controller_node (robot_limits.max_linear_vel, min_linear_vel, max_angular_vel, max_linear_acc, max_linear_decel, max_angular_acc, max_angular_decel), queried with ControllerMethodBase::get_robot_limits() and also enforced by ControllerNode’s velocity smoother.
<plugin>.fov double M_PI/2.0 Field of view used in trajectory sampling (radians).
<plugin>.safety_radius double 0.6 Safety radius around the robot (meters).
<plugin>.obstacle_range double 2.0 Obstacle points are taken (robot frame) from just behind the robot (robot_geometry.radius) up to this distance ahead, and this far to each side; mirrored when moving backward.
<plugin>.z_min_filter double 0.0 Points below this height (robot frame) are the ground; above robot_geometry.height they are ignored too.

Deprecated: this plugin’s former limit parameters (max_linear_velocity, max_angular_velocity, max_linear_acceleration, max_angular_acceleration, under the plugin’s name) still apply, with a warning, where controller_node.robot_limits.* does not set that limit. They will stop working soon: move them to robot_limits.

Interfaces (Topics and Services)

Subscriptions and Publications

Direction Topic Type Purpose QoS
Publisher /mppi/candidates visualization_msgs/msg/MarkerArray MPPI candidate trajectories as markers. QoS depth=10
Publisher /mppi/optimal_path visualization_msgs/msg/MarkerArray Optimal MPPI trajectory as markers. QoS depth=10

Services

This package does not create service servers or clients.

Key Type Access Notes
path nav_msgs::msg::Path Read Target path to track.
robot_pose nav_msgs::msg::Odometry Read Current robot pose/state.
points PointPerceptions Read Perception point cloud(s) used for costs.
cmd_vel geometry_msgs::msg::TwistStamped Read Last commanded velocity (if provided in state).

TF Frames

This controller does not explicitly publish or require TF frames in code.

License

Apache-2.0

CHANGELOG

Changelog for package easynav_mppi_controller

0.5.0 (2026-10-08)

  • Velocity smoother support and runtime reconfiguration
  • Obstacle points in the robot frame
  • Removed unused dependencies
  • Contributors: Francisco Martín Rico

0.4.2 (2026-07-26)

  • Complete deps
  • GPLv3 -> Apache 2.0
  • Remove C++20/C++23 features and update to new MethodBase interface
  • TFInfo in RTTFBuffer
  • Refactor to use TFInfo
  • Include package in cmake and package.xml
  • Fix link error when running MPPI in Realease
  • Stop controllers at IDLE
  • Merge branch 'rolling' into improve_astar_costmap
  • Referencing base class if ot void
  • Optimize execution
  • Cleanup unused headers
  • Adaptation to EasyNavigation#71
  • Contributors: Francisco Martín Rico, Francisco Miguel Moreno, José Miguel Guerrero, Juan S. Cely, Juan S. Cely G., Miguel, migueldm

0.0.2 (2025-10-12)

  • Reorganization initial
  • Contributors: Francisco Martín Rico

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged easynav_mppi_controller at Robotics Stack Exchange