Autoware.Auto
autoware::drivers::velodyne_nodes::VelodyneCloudNode< SensorData > Class Template Reference

#include <velodyne_cloud_node.hpp>

Inheritance diagram for autoware::drivers::velodyne_nodes::VelodyneCloudNode< SensorData >:
Collaboration diagram for autoware::drivers::velodyne_nodes::VelodyneCloudNode< SensorData >:

Public Types

using VelodyneTranslatorT = velodyne_driver::VelodyneTranslator< SensorData >
 
using Config = typename VelodyneTranslatorT::Config
 
using Packet = typename VelodyneTranslatorT::Packet
 
using UdpDriverNode = udp_driver::UdpDriverNode< Packet, sensor_msgs::msg::PointCloud2 >
 

Public Member Functions

 VelodyneCloudNode (const std::string &node_name, const std::string &ip, const uint16_t port, const std::string &frame_id, const std::size_t cloud_size, const Config &config)
 Default constructor, starts driver. More...
 
 VelodyneCloudNode (const std::string &node_name, const std::string &node_namespace="")
 Parameter file constructor. More...
 

Protected Member Functions

void init_output (sensor_msgs::msg::PointCloud2 &output) override
 
bool8_t convert (const Packet &pkt, sensor_msgs::msg::PointCloud2 &output) override
 
bool8_t get_output_remainder (sensor_msgs::msg::PointCloud2 &output) override
 

Detailed Description

template<typename SensorData>
class autoware::drivers::velodyne_nodes::VelodyneCloudNode< SensorData >

Template class for the velodyne driver node that receives veldyne packets via UDP, converts the packet into a PointCloud2 message and publishes this cloud.

Template Parameters
SensorDataSensorData implementation for the specific velodyne sensor model.

Member Typedef Documentation

◆ Config

template<typename SensorData >
using autoware::drivers::velodyne_nodes::VelodyneCloudNode< SensorData >::Config = typename VelodyneTranslatorT::Config

◆ Packet

template<typename SensorData >
using autoware::drivers::velodyne_nodes::VelodyneCloudNode< SensorData >::Packet = typename VelodyneTranslatorT::Packet

◆ UdpDriverNode

template<typename SensorData >
using autoware::drivers::velodyne_nodes::VelodyneCloudNode< SensorData >::UdpDriverNode = udp_driver::UdpDriverNode<Packet, sensor_msgs::msg::PointCloud2>

◆ VelodyneTranslatorT

Constructor & Destructor Documentation

◆ VelodyneCloudNode() [1/2]

template<typename T >
autoware::drivers::velodyne_nodes::VelodyneCloudNode< T >::VelodyneCloudNode ( const std::string &  node_name,
const std::string &  ip,
const uint16_t  port,
const std::string &  frame_id,
const std::size_t  cloud_size,
const Config config 
)

Default constructor, starts driver.

Parameters
[in]node_namename of the node for rclcpp internals
[in]ipExpected IP of UDP packets
[in]portPort that this driver listens to (i.e. sensor device at ip writes to port)
[in]frame_idFrame id for the published point cloud messages
[in]cloud_sizePreallocated capacity (in number of points) for the point cloud messages must be greater than PointBlock::CAPACITY
[in]configConfig struct with rpm params
Exceptions
std::runtime_errorIf cloud_size is not sufficiently large

◆ VelodyneCloudNode() [2/2]

template<typename T >
autoware::drivers::velodyne_nodes::VelodyneCloudNode< T >::VelodyneCloudNode ( const std::string &  node_name,
const std::string &  node_namespace = "" 
)

Parameter file constructor.

Parameters
[in]node_nameName of this node
[in]node_namespaceNamespace for this node

Member Function Documentation

◆ convert()

template<typename T >
bool8_t autoware::drivers::velodyne_nodes::VelodyneCloudNode< T >::convert ( const Packet pkt,
sensor_msgs::msg::PointCloud2 &  output 
)
overrideprotected

◆ get_output_remainder()

template<typename T >
bool8_t autoware::drivers::velodyne_nodes::VelodyneCloudNode< T >::get_output_remainder ( sensor_msgs::msg::PointCloud2 &  output)
overrideprotected

◆ init_output()

template<typename T >
void autoware::drivers::velodyne_nodes::VelodyneCloudNode< T >::init_output ( sensor_msgs::msg::PointCloud2 &  output)
overrideprotected

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