Autoware.Auto
autoware::localization::ndt_nodes::P2DNDTLocalizerNode< OptimizerT, PoseInitializerT > Class Template Reference

#include <ndt_localizer_nodes.hpp>

Inheritance diagram for autoware::localization::ndt_nodes::P2DNDTLocalizerNode< OptimizerT, PoseInitializerT >:
Collaboration diagram for autoware::localization::ndt_nodes::P2DNDTLocalizerNode< OptimizerT, PoseInitializerT >:

Public Types

using Localizer = ndt::P2DNDTLocalizer< OptimizerT >
 
using RegistrationSummary = localization_common::OptimizedRegistrationSummary
 
using ParentT = localization_nodes::RelativeLocalizerNode< sensor_msgs::msg::PointCloud2, sensor_msgs::msg::PointCloud2, ndt::StaticNDTMap, Localizer, PoseInitializerT >
 
using PoseWithCovarianceStamped = typename Localizer::PoseWithCovarianceStamped
 
using Transform = typename Localizer::Transform
 
using EigTranslation = Eigen::Vector3d
 
using EigRotation = Eigen::Quaterniond
 
- Public Types inherited from autoware::localization::localization_nodes::RelativeLocalizerNode< sensor_msgs::msg::PointCloud2, sensor_msgs::msg::PointCloud2, ndt::StaticNDTMap, ndt::P2DNDTLocalizer< Optimizer_ >, PoseInitializer_ >
using PoseWithCovarianceStamped = geometry_msgs::msg::PoseWithCovarianceStamped
 
using TransformStamped = geometry_msgs::msg::TransformStamped
 
using RegistrationSummary = localization_common::OptimizedRegistrationSummary
 

Public Member Functions

 P2DNDTLocalizerNode (const std::string &node_name, const std::string &name_space, const PoseInitializerT &pose_initializer)
 
 P2DNDTLocalizerNode (const std::string &node_name, const rclcpp::NodeOptions &node_options, const PoseInitializerT &pose_initializer)
 
- Public Member Functions inherited from autoware::localization::localization_nodes::RelativeLocalizerNode< sensor_msgs::msg::PointCloud2, sensor_msgs::msg::PointCloud2, ndt::StaticNDTMap, ndt::P2DNDTLocalizer< Optimizer_ >, PoseInitializer_ >
 RelativeLocalizerNode (const std::string &node_name, const std::string &name_space, const TopicQoS &observation_sub_config, const TopicQoS &map_sub_config, const TopicQoS &pose_pub_config, const TopicQoS &initial_pose_sub_config, const PoseInitializer_ &pose_initializer, LocalizerPublishMode publish_tf=LocalizerPublishMode::NO_PUBLISH_TF)
 
 RelativeLocalizerNode (const std::string &node_name, const rclcpp::NodeOptions &options, const PoseInitializer_ &pose_initializer)
 
 RelativeLocalizerNode (const std::string &node_name, const std::string &name_space, const PoseInitializer_ &pose_initializer)
 
const rclcpp::Publisher< PoseWithCovarianceStamped >::ConstSharedPtr get_publisher ()
 Get a const pointer of the output publisher. Can be used for matching against subscriptions. More...
 

Static Public Attributes

static constexpr auto EPS = std::numeric_limits<ndt::Real>::epsilon()
 
- Static Public Attributes inherited from autoware::localization::localization_nodes::RelativeLocalizerNode< sensor_msgs::msg::PointCloud2, sensor_msgs::msg::PointCloud2, ndt::StaticNDTMap, ndt::P2DNDTLocalizer< Optimizer_ >, PoseInitializer_ >
static constexpr bool USE_DEDICATED_TF_THREAD
 

Protected Member Functions

bool validate_output (const RegistrationSummary &summary, const PoseWithCovarianceStamped &pose, const Transform &guess) override
 
- Protected Member Functions inherited from autoware::localization::localization_nodes::RelativeLocalizerNode< sensor_msgs::msg::PointCloud2, sensor_msgs::msg::PointCloud2, ndt::StaticNDTMap, ndt::P2DNDTLocalizer< Optimizer_ >, PoseInitializer_ >
void set_localizer (std::unique_ptr< ndt::P2DNDTLocalizer< Optimizer_ > > &&localizer_ptr)
 
void set_map (std::unique_ptr< ndt::StaticNDTMap > &&map_ptr)
 
virtual void on_bad_registration (std::exception_ptr eptr)
 Handle the exceptions during registration. More...
 
virtual void on_bad_map (std::exception_ptr eptr)
 Handle the exceptions during map setting. More...
 
void on_exception (std::exception_ptr eptr, const std::string &error_source)
 
virtual void on_observation_with_invalid_map (typename sensor_msgs::msg::PointCloud2 ::ConstSharedPtr)
 Default behavior when an observation is received with no valid existing map. More...
 
virtual void on_invalid_output (const PoseWithCovarianceStamped &pose)
 
virtual bool validate_output (const RegistrationSummary &summary, const PoseWithCovarianceStamped &pose, const TransformStamped &guess)
 

Detailed Description

template<typename OptimizerT = Optimizer_, typename PoseInitializerT = PoseInitializer_>
class autoware::localization::ndt_nodes::P2DNDTLocalizerNode< OptimizerT, PoseInitializerT >

P2D NDT localizer node. Currently uses the hard coded optimizer and pose initializers.

Template Parameters
OptimizerTHard coded for Newton optimizer. TODO(yunus.caliskan): Make Configurable
PoseInitializerTHard coded for Best effort. TODO(yunus.caliskan): Make Configurable

Member Typedef Documentation

◆ EigRotation

template<typename OptimizerT = Optimizer_, typename PoseInitializerT = PoseInitializer_>
using autoware::localization::ndt_nodes::P2DNDTLocalizerNode< OptimizerT, PoseInitializerT >::EigRotation = Eigen::Quaterniond

◆ EigTranslation

template<typename OptimizerT = Optimizer_, typename PoseInitializerT = PoseInitializer_>
using autoware::localization::ndt_nodes::P2DNDTLocalizerNode< OptimizerT, PoseInitializerT >::EigTranslation = Eigen::Vector3d

◆ Localizer

template<typename OptimizerT = Optimizer_, typename PoseInitializerT = PoseInitializer_>
using autoware::localization::ndt_nodes::P2DNDTLocalizerNode< OptimizerT, PoseInitializerT >::Localizer = ndt::P2DNDTLocalizer<OptimizerT>

◆ ParentT

template<typename OptimizerT = Optimizer_, typename PoseInitializerT = PoseInitializer_>
using autoware::localization::ndt_nodes::P2DNDTLocalizerNode< OptimizerT, PoseInitializerT >::ParentT = localization_nodes::RelativeLocalizerNode< sensor_msgs::msg::PointCloud2, sensor_msgs::msg::PointCloud2, ndt::StaticNDTMap, Localizer, PoseInitializerT>

◆ PoseWithCovarianceStamped

template<typename OptimizerT = Optimizer_, typename PoseInitializerT = PoseInitializer_>
using autoware::localization::ndt_nodes::P2DNDTLocalizerNode< OptimizerT, PoseInitializerT >::PoseWithCovarianceStamped = typename Localizer::PoseWithCovarianceStamped

◆ RegistrationSummary

template<typename OptimizerT = Optimizer_, typename PoseInitializerT = PoseInitializer_>
using autoware::localization::ndt_nodes::P2DNDTLocalizerNode< OptimizerT, PoseInitializerT >::RegistrationSummary = localization_common::OptimizedRegistrationSummary

◆ Transform

template<typename OptimizerT = Optimizer_, typename PoseInitializerT = PoseInitializer_>
using autoware::localization::ndt_nodes::P2DNDTLocalizerNode< OptimizerT, PoseInitializerT >::Transform = typename Localizer::Transform

Constructor & Destructor Documentation

◆ P2DNDTLocalizerNode() [1/2]

template<typename OptimizerT = Optimizer_, typename PoseInitializerT = PoseInitializer_>
autoware::localization::ndt_nodes::P2DNDTLocalizerNode< OptimizerT, PoseInitializerT >::P2DNDTLocalizerNode ( const std::string &  node_name,
const std::string &  name_space,
const PoseInitializerT &  pose_initializer 
)
inline

Constructor

Parameters
node_namenode name
name_spacenode namespace
pose_initializerpose initializer to use.

◆ P2DNDTLocalizerNode() [2/2]

template<typename OptimizerT = Optimizer_, typename PoseInitializerT = PoseInitializer_>
autoware::localization::ndt_nodes::P2DNDTLocalizerNode< OptimizerT, PoseInitializerT >::P2DNDTLocalizerNode ( const std::string &  node_name,
const rclcpp::NodeOptions &  node_options,
const PoseInitializerT &  pose_initializer 
)
inline

Member Function Documentation

◆ validate_output()

template<typename OptimizerT = Optimizer_, typename PoseInitializerT = PoseInitializer_>
bool autoware::localization::ndt_nodes::P2DNDTLocalizerNode< OptimizerT, PoseInitializerT >::validate_output ( const RegistrationSummary summary,
const PoseWithCovarianceStamped pose,
const Transform guess 
)
inlineoverrideprotected

Member Data Documentation

◆ EPS

template<typename OptimizerT = Optimizer_, typename PoseInitializerT = PoseInitializer_>
constexpr auto autoware::localization::ndt_nodes::P2DNDTLocalizerNode< OptimizerT, PoseInitializerT >::EPS = std::numeric_limits<ndt::Real>::epsilon()
staticconstexpr

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