Skip to content

Class nebula::drivers::vlp16::Vlp16Decoder

ClassList > nebula > drivers > vlp16 > Vlp16Decoder

Velodyne LiDAR decoder (VLP16)

  • #include <vlp16_decoder.hpp>

Inherits the following classes: nebula::drivers::VelodyneScanDecoder

Public Functions

Type Name
Vlp16Decoder (const std::shared_ptr< const drivers::VelodyneSensorConfiguration > & sensor_configuration, const std::shared_ptr< const drivers::VelodyneCalibrationConfiguration > & calibration_configuration)
Constructor.
virtual std::tuple< drivers::NebulaPointCloudPtr, double > get_pointcloud () override
Get the constructed point cloud.
virtual int pointsPerPacket () override
Calculation of points in each packet.
virtual void reset_overflow (double time_stamp) override
Resetting overflowed point cloud buffer.
virtual void reset_pointcloud (double time_stamp) override
Resetting point cloud buffer.
virtual void unpack (const std::vector< uint8_t > & packet, int32_t packet_seconds) override
Parsing and shaping VelodynePacket.

Public Functions inherited from nebula::drivers::VelodyneScanDecoder

See nebula::drivers::VelodyneScanDecoder

Type Name
VelodyneScanDecoder (VelodyneScanDecoder && c) = delete
VelodyneScanDecoder (const VelodyneScanDecoder & c) = delete
VelodyneScanDecoder () = default
virtual std::tuple< drivers::NebulaPointCloudPtr, double > get_pointcloud () = 0
Virtual function for getting the constructed point cloud.
bool hasScanned ()
Virtual function for getting the flag indicating whether one cycle is ready.
VelodyneScanDecoder & operator= (VelodyneScanDecoder && c) = delete
VelodyneScanDecoder & operator= (const VelodyneScanDecoder & c) = delete
virtual bool parsePacket (const velodyne_msgs::msg::VelodynePacket & velodyne_packet) = 0
Virtual function for parsing VelodynePacket based on packet structure.
virtual int pointsPerPacket () = 0
Calculation of points in each packet.
virtual void reset_overflow (double time_stamp) = 0
Resetting overflowed point cloud buffer.
virtual void reset_pointcloud (double time_stamp) = 0
Resetting point cloud buffer.
virtual void unpack (const std::vector< uint8_t > & packet, int32_t packet_seconds) = 0
Virtual function for parsing and shaping VelodynePacket.
virtual ~VelodyneScanDecoder () = default

Protected Attributes inherited from nebula::drivers::VelodyneScanDecoder

See nebula::drivers::VelodyneScanDecoder

Type Name
std::shared_ptr< const drivers::VelodyneCalibrationConfiguration > calibration_configuration_
Calibration for this decoder.
double dual_return_distance_threshold_ = {}
drivers::NebulaPointCloudPtr overflow_pc_
Point cloud overflowing from one cycle.
drivers::NebulaPointCloudPtr scan_pc_
Decoded point cloud.
double scan_timestamp_ = {}
std::shared_ptr< const drivers::VelodyneSensorConfiguration > sensor_configuration_
SensorConfiguration for this decoder.

Protected Functions inherited from nebula::drivers::VelodyneScanDecoder

See nebula::drivers::VelodyneScanDecoder

Type Name
void checkAndHandleScanComplete (const std::vector< uint8_t > & packet, int32_t packet_seconds, const uint32_t phase)
Checks if the current packet completes the ongoing scan. TODO: this has been moved from velodyne_hw_interface.cpp and is a temporary solution until the Velodyne decoder uses the same structure as Hesai/Robosense.

Public Functions Documentation

function Vlp16Decoder

Constructor.

explicit nebula::drivers::vlp16::Vlp16Decoder::Vlp16Decoder (
    const std::shared_ptr< const drivers::VelodyneSensorConfiguration > & sensor_configuration,
    const std::shared_ptr< const drivers::VelodyneCalibrationConfiguration > & calibration_configuration
) 

Parameters:

  • sensor_configuration SensorConfiguration for this decoder
  • calibration_configuration Calibration for this decoder

function get_pointcloud

Get the constructed point cloud.

virtual std::tuple< drivers::NebulaPointCloudPtr, double > nebula::drivers::vlp16::Vlp16Decoder::get_pointcloud () override

Returns:

tuple of Point cloud and timestamp

Implements nebula::drivers::VelodyneScanDecoder::get_pointcloud


function pointsPerPacket

Calculation of points in each packet.

virtual int nebula::drivers::vlp16::Vlp16Decoder::pointsPerPacket () override

Returns:

of points

Implements nebula::drivers::VelodyneScanDecoder::pointsPerPacket


function reset_overflow

virtual void nebula::drivers::vlp16::Vlp16Decoder::reset_overflow (
    double time_stamp
) override

Implements nebula::drivers::VelodyneScanDecoder::reset_overflow


function reset_pointcloud

virtual void nebula::drivers::vlp16::Vlp16Decoder::reset_pointcloud (
    double time_stamp
) override

Implements nebula::drivers::VelodyneScanDecoder::reset_pointcloud


function unpack

Parsing and shaping VelodynePacket.

virtual void nebula::drivers::vlp16::Vlp16Decoder::unpack (
    const std::vector< uint8_t > & packet,
    int32_t packet_seconds
) override

Parameters:

  • velodyne_packet

Implements nebula::drivers::VelodyneScanDecoder::unpack



The documentation for this class was generated from the following file nebula_decoders/include/nebula_decoders/nebula_decoders_velodyne/decoders/vlp16_decoder.hpp