Nav2 Navigation Stack - rolling  main
ROS 2 Navigation Stack
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
nav2_smac_planner::SmacPlannerHybridT< NodeT > Class Template Reference

A templated hybrid-A* planner that allows custom node types. More...

#include <nav2_smac_planner/include/nav2_smac_planner/smac_planner_hybrid.hpp>

Inheritance diagram for nav2_smac_planner::SmacPlannerHybridT< NodeT >:
Inheritance graph
[legend]
Collaboration diagram for nav2_smac_planner::SmacPlannerHybridT< NodeT >:
Collaboration graph
[legend]

Public Member Functions

 SmacPlannerHybridT ()
 constructor
 
 ~SmacPlannerHybridT ()
 destructor
 
void configure (const nav2::LifecycleNode::WeakPtr &parent, std::string name, nav2::TransformBuffer::SharedPtr tf, std::shared_ptr< nav2_costmap_2d::Costmap2DROS > costmap_ros) override
 Configuring plugin. More...
 
void cleanup () override
 Cleanup lifecycle node.
 
void activate () override
 Activate lifecycle node.
 
void deactivate () override
 Deactivate lifecycle node.
 
nav_msgs::msg::Path createPlan (const geometry_msgs::msg::PoseStamped &start, const geometry_msgs::msg::PoseStamped &goal, const std::vector< geometry_msgs::msg::PoseStamped > &viapoints, std::function< bool()> cancel_checker) override
 Creating a plan from start and goal poses. More...
 
- Public Member Functions inherited from nav2_core::GlobalPlanner
virtual ~GlobalPlanner ()
 Virtual destructor.
 

Protected Member Functions

rcl_interfaces::msg::SetParametersResult validateParameterUpdatesCallback (const std::vector< rclcpp::Parameter > &parameters)
 Validate incoming parameter updates before applying them. This callback is triggered when one or more parameters are about to be updated. It checks the validity of parameter values and rejects updates that would lead to invalid or inconsistent configurations. More...
 
void updateParametersCallback (const std::vector< rclcpp::Parameter > &parameters)
 Apply parameter updates after validation This callback is executed when parameters have been successfully updated. It updates the internal configuration of the node with the new parameter values. More...
 

Protected Attributes

std::unique_ptr< AStarAlgorithm< NodeT > > _a_star
 
GridCollisionChecker _collision_checker
 
std::unique_ptr< Smoother_smoother
 
rclcpp::Clock::SharedPtr _clock
 
rclcpp::Logger _logger {rclcpp::get_logger("SmacPlannerHybrid")}
 
nav2_costmap_2d::Costmap2D_costmap
 
std::shared_ptr< nav2_costmap_2d::Costmap2DROS_costmap_ros
 
std::unique_ptr< CostmapDownsampler_costmap_downsampler
 
std::string _global_frame
 
std::string _name
 
float _lookup_table_dim
 
float _tolerance
 
bool _downsample_costmap
 
int _downsampling_factor
 
double _angle_bin_size
 
unsigned int _angle_quantizations
 
bool _allow_unknown
 
int _max_iterations
 
int _max_on_approach_iterations
 
int _terminal_checking_interval
 
SearchInfo _search_info
 
double _max_planning_time
 
double _lookup_table_size
 
double _minimum_turning_radius_global_coords
 
bool _debug_visualizations
 
std::string _motion_model_for_search
 
MotionModel _motion_model
 
GoalHeadingMode _goal_heading_mode
 
int _coarse_search_resolution
 
nav2::Publisher< nav_msgs::msg::Path >::SharedPtr _raw_plan_publisher
 
nav2::Publisher< visualization_msgs::msg::MarkerArray >::SharedPtr _planned_footprints_publisher
 
nav2::Publisher< visualization_msgs::msg::MarkerArray >::SharedPtr _smoothed_footprints_publisher
 
nav2::Publisher< geometry_msgs::msg::PoseArray >::SharedPtr _expansions_publisher
 
std::mutex _mutex
 
nav2::LifecycleNode::WeakPtr _node
 
rclcpp::node_interfaces::PostSetParametersCallbackHandle::SharedPtr _post_set_params_handler
 
rclcpp::node_interfaces::OnSetParametersCallbackHandle::SharedPtr _on_set_params_handler
 
std::shared_ptr< rclcpp::ParameterEventHandler > _remote_param_subscriber
 
std::shared_ptr< rclcpp::ParameterCallbackHandle > _remote_resolution_handler
 

Additional Inherited Members

- Public Types inherited from nav2_core::GlobalPlanner
using Ptr = std::shared_ptr< GlobalPlanner >
 

Detailed Description

template<typename NodeT = NodeHybrid>
class nav2_smac_planner::SmacPlannerHybridT< NodeT >

A templated hybrid-A* planner that allows custom node types.

Template Parameters
NodeTThe node type to use (default: NodeHybrid)

Definition at line 47 of file smac_planner_hybrid.hpp.

Member Function Documentation

◆ configure()

template<typename NodeT >
void nav2_smac_planner::SmacPlannerHybridT< NodeT >::configure ( const nav2::LifecycleNode::WeakPtr &  parent,
std::string  name,
nav2::TransformBuffer::SharedPtr  tf,
std::shared_ptr< nav2_costmap_2d::Costmap2DROS costmap_ros 
)
overridevirtual

Configuring plugin.

Parameters
parentLifecycle node pointer
nameName of plugin map
tfShared ptr of TF2 buffer
costmap_rosCostmap2DROS object

Implements nav2_core::GlobalPlanner.

Definition at line 59 of file smac_planner_hybrid_impl.hpp.

References nav2_smac_planner::SmootherParams::get().

Here is the call graph for this function:

◆ createPlan()

template<typename NodeT >
nav_msgs::msg::Path nav2_smac_planner::SmacPlannerHybridT< NodeT >::createPlan ( const geometry_msgs::msg::PoseStamped &  start,
const geometry_msgs::msg::PoseStamped &  goal,
const std::vector< geometry_msgs::msg::PoseStamped > &  viapoints,
std::function< bool()>  cancel_checker 
)
overridevirtual

Creating a plan from start and goal poses.

Parameters
startStart pose
goalGoal pose
cancel_checkerFunction to check if the action has been canceled
Returns
nav2_msgs::Path of the generated path

Implements nav2_core::GlobalPlanner.

Definition at line 352 of file smac_planner_hybrid_impl.hpp.

References nav2_costmap_2d::Costmap2D::getResolution(), and nav2_costmap_2d::Costmap2D::worldToMapContinuous().

Here is the call graph for this function:

◆ updateParametersCallback()

template<typename NodeT >
void nav2_smac_planner::SmacPlannerHybridT< NodeT >::updateParametersCallback ( const std::vector< rclcpp::Parameter > &  parameters)
protected

Apply parameter updates after validation This callback is executed when parameters have been successfully updated. It updates the internal configuration of the node with the new parameter values.

Parameters
parametersList of parameters that have been updated.

Definition at line 694 of file smac_planner_hybrid_impl.hpp.

References nav2_smac_planner::SmootherParams::get().

Here is the call graph for this function:

◆ validateParameterUpdatesCallback()

template<typename NodeT >
rcl_interfaces::msg::SetParametersResult nav2_smac_planner::SmacPlannerHybridT< NodeT >::validateParameterUpdatesCallback ( const std::vector< rclcpp::Parameter > &  parameters)
protected

Validate incoming parameter updates before applying them. This callback is triggered when one or more parameters are about to be updated. It checks the validity of parameter values and rejects updates that would lead to invalid or inconsistent configurations.

Parameters
parametersList of parameters that are being updated.
Returns
rcl_interfaces::msg::SetParametersResult Result indicating whether the update is accepted.

Definition at line 602 of file smac_planner_hybrid_impl.hpp.


The documentation for this class was generated from the following files: