Autoware.Auto
autoware::perception::filters::point_cloud_filter_transform_nodes::PointCloud2FilterTransformNode Class Reference

Base class to subscribe to raw point cloud and transform and filter it to publish filtered point cloud. Calls angle filter, distance filter and static transformer. More...

#include <point_cloud_filter_transform_node.hpp>

Inheritance diagram for autoware::perception::filters::point_cloud_filter_transform_nodes::PointCloud2FilterTransformNode:
Collaboration diagram for autoware::perception::filters::point_cloud_filter_transform_nodes::PointCloud2FilterTransformNode:

Public Member Functions

 PointCloud2FilterTransformNode (const rclcpp::NodeOptions &node_options)
 Parameter constructor. More...
 

Protected Member Functions

const PointCloud2 & filter_and_transform (const PointCloud2 &msg)
 Call distance & angle filter and then static transformer for all the points. More...
 
void process_filtered_transformed_message (const PointCloud2::SharedPtr msg)
 Run main subscribe -> filter & transform -> publish loop. More...
 
template<typename PointType >
bool8_t point_not_filtered (const PointType &pt) const
 Check if the point is within the specified angle and radius limits. More...
 
template<typename PointType >
PointType transform_point (const PointType &pt) const
 Apply static transform to the given point. More...
 

Detailed Description

Base class to subscribe to raw point cloud and transform and filter it to publish filtered point cloud. Calls angle filter, distance filter and static transformer.

Constructor & Destructor Documentation

◆ PointCloud2FilterTransformNode()

autoware::perception::filters::point_cloud_filter_transform_nodes::PointCloud2FilterTransformNode::PointCloud2FilterTransformNode ( const rclcpp::NodeOptions &  node_options)
explicit

Parameter constructor.

Parameters
node_optionsAdditional options to control creation of the node.

Declare transform parameters with the namespace

Declare objects to hold transform parameters

If transform parameters exist in the param file use them

Else lookup transform being published on /tf or /static_tf topics

TF buffer

TF listener

Member Function Documentation

◆ filter_and_transform()

const PointCloud2 & autoware::perception::filters::point_cloud_filter_transform_nodes::PointCloud2FilterTransformNode::filter_and_transform ( const PointCloud2 &  msg)
protected

Call distance & angle filter and then static transformer for all the points.

Parameters
msgRaw point cloud
Returns
Filtered and Transformed point cloud.
Exceptions
std::runtime_erroron unexpected input contents or not enough output capacity

◆ point_not_filtered()

template<typename PointType >
bool8_t autoware::perception::filters::point_cloud_filter_transform_nodes::PointCloud2FilterTransformNode::point_not_filtered ( const PointType &  pt) const
inlineprotected

Check if the point is within the specified angle and radius limits.

Template Parameters
PointTypetype with x, y, z.
Parameters
ptpoint with x, y, z
Returns
True if the point is within the desired radius and angle limits. False otherwise.

◆ process_filtered_transformed_message()

void autoware::perception::filters::point_cloud_filter_transform_nodes::PointCloud2FilterTransformNode::process_filtered_transformed_message ( const PointCloud2::SharedPtr  msg)
protected

Run main subscribe -> filter & transform -> publish loop.

◆ transform_point()

template<typename PointType >
PointType autoware::perception::filters::point_cloud_filter_transform_nodes::PointCloud2FilterTransformNode::transform_point ( const PointType &  pt) const
inlineprotected

Apply static transform to the given point.

Template Parameters
PointTypetype with x, y, z
Parameters
ptpoint with x, y, z
Returns
Transformed point

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