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

A templated 2D planner that allows custom node types. More...

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

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

Public Member Functions

 SmacPlanner2DT ()
 constructor
 
 ~SmacPlanner2DT ()
 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
 
nav2_costmap_2d::Costmap2D_costmap
 
std::shared_ptr< nav2_costmap_2d::Costmap2DROS_costmap_ros
 
std::unique_ptr< CostmapDownsampler_costmap_downsampler
 
rclcpp::Clock::SharedPtr _clock
 
rclcpp::Logger _logger {rclcpp::get_logger("SmacPlanner2D")}
 
std::string _global_frame
 
std::string _name
 
float _tolerance
 
int _downsampling_factor
 
bool _downsample_costmap
 
nav2::Publisher< nav_msgs::msg::Path >::SharedPtr _raw_plan_publisher
 
double _max_planning_time
 
bool _allow_unknown
 
int _max_iterations
 
int _max_on_approach_iterations
 
int _terminal_checking_interval
 
bool _use_final_approach_orientation
 
SearchInfo _search_info
 
std::string _motion_model_for_search
 
MotionModel _motion_model
 
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
 

Additional Inherited Members

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

Detailed Description

template<typename NodeT = Node2D>
class nav2_smac_planner::SmacPlanner2DT< NodeT >

A templated 2D planner that allows custom node types.

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

Definition at line 48 of file smac_planner_2d.hpp.

Member Function Documentation

◆ configure()

template<typename NodeT >
void nav2_smac_planner::SmacPlanner2DT< 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 56 of file smac_planner_2d_impl.hpp.

◆ createPlan()

template<typename NodeT >
nav_msgs::msg::Path nav2_smac_planner::SmacPlanner2DT< 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 207 of file smac_planner_2d_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::SmacPlanner2DT< 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 416 of file smac_planner_2d_impl.hpp.

◆ validateParameterUpdatesCallback()

template<typename NodeT >
rcl_interfaces::msg::SetParametersResult nav2_smac_planner::SmacPlanner2DT< 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 379 of file smac_planner_2d_impl.hpp.


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