diff --git a/nav2_mppi_controller/README.md b/nav2_mppi_controller/README.md index cef31357dcf..fdc8c03a722 100644 --- a/nav2_mppi_controller/README.md +++ b/nav2_mppi_controller/README.md @@ -101,6 +101,8 @@ This process is then repeated a number of times and returns a converged solution | collision_cost | double | Default 10000.0. Cost to apply to a true collision in a trajectory. | | collision_margin_distance | double | Default 0.10. Margin distance from collision to apply severe penalty, similar to footprint inflation. Between 0.05-0.2 is reasonable. | | near_goal_distance | double | Default 0.5. Distance near goal to stop applying preferential obstacle term to allow robot to smoothly converge to goal pose in close proximity to obstacles. + | cost_scaling_factor | double | Default 10.0. Exponential decay factor across inflation radius. This should be the same as for your inflation layer (Humble only) + | inflation_radius | double | Default 0.55. Radius to inflate costmap around lethal obstacles. This should be the same as for your inflation layer (Humble only) #### Path Align Critic | Parameter | Type | Definition | diff --git a/nav2_mppi_controller/src/critics/obstacles_critic.cpp b/nav2_mppi_controller/src/critics/obstacles_critic.cpp index f45ce72116f..44e629ddc06 100644 --- a/nav2_mppi_controller/src/critics/obstacles_critic.cpp +++ b/nav2_mppi_controller/src/critics/obstacles_critic.cpp @@ -58,8 +58,9 @@ double ObstaclesCritic::findCircumscribedCost( const double circum_radius = costmap->getLayeredCostmap()->getCircumscribedRadius(); const double resolution = costmap->getCostmap()->getResolution(); result = inflation_layer->computeCost(circum_radius / resolution); - inflation_scale_factor_ = static_cast(inflation_layer->getCostScalingFactor()); - inflation_radius_ = static_cast(inflation_layer->getInflationRadius()); + auto getParam = parameters_handler_->getParamGetter(name_); + getParam(inflation_scale_factor_, "cost_scaling_factor", 10.0); + getParam(inflation_radius_, "inflation_radius", 0.55); } if (!inflation_layer_found) {