Loading...
Searching...
No Matches
pcl::VLPGrabber Class Reference
Module io

Grabber for the Velodyne LiDAR (VLP), based on the Velodyne High Definition Laser (HDL) More...

`#include <pcl/io/vlp_grabber.h>`

Inheritance diagram for pcl::VLPGrabber:

## Public Member Functions

| VLPGrabber (const std::string &pcapFile="")
| Constructor taking an optional path to an vlp corrections file.
| VLPGrabber (const boost::asio::ip::address &ipAddress, const std::uint16_t port)
| Constructor taking a specified IP/port.
| ~VLPGrabber () noexcept override
| virtual Destructor inherited from the Grabber interface.
std::string | getName () const override
| Obtains the name of this I/O Grabber.
void | setLaserColorRGB (const pcl::RGB &color, const std::uint8_t laserNumber)
| Allows one to customize the colors used by each laser.
template<typename IterT >
void | setLaserColorRGB (const IterT &begin, const IterT &end)
| Allows one to customize the colors used for each of the lasers.
std::uint8_t | getMaximumNumberOfLasers () const override
| Returns the maximum number of lasers.
Public Member Functions inherited from pcl::HDLGrabber
| HDLGrabber (const std::string &correctionsFile="", const std::string &pcapFile="")
| Constructor taking an optional path to an HDL corrections file.
| HDLGrabber (const boost::asio::ip::address &ipAddress, const std::uint16_t port, const std::string &correctionsFile="")
| Constructor taking a specified IP/port and an optional path to an HDL corrections file.
| ~HDLGrabber () noexcept override
| virtual Destructor inherited from the Grabber interface.
void | start () override
| Starts processing the Velodyne packets, either from the network or PCAP file.
void | stop () override
| Stops processing the Velodyne packets, either from the network or PCAP file.
bool | isRunning () const override
| Check if the grabber is still running.
float | getFramesPerSecond () const override
| Returns the number of frames per second.
void | filterPackets (const boost::asio::ip::address &ipAddress, const std::uint16_t port=443)
| Allows one to filter packets based on the SOURCE IP address and PORT This can be used, for instance, if multiple HDL LIDARs are on the same network.
void | setLaserColorRGB (const pcl::RGB &color, const std::uint8_t laserNumber)
| Allows one to customize the colors used by each laser.
template<typename IterT >
void | setLaserColorRGB (const IterT &begin, const IterT &end)
| Allows one to customize the colors used for each of the lasers.
void | setMinimumDistanceThreshold (float &minThreshold)
| Any returns from the HDL with a distance less than this are discarded.
void | setMaximumDistanceThreshold (float &maxThreshold)
| Any returns from the HDL with a distance greater than this are discarded.
float | getMinimumDistanceThreshold ()
| Returns the current minimum distance threshold, in meters.
float | getMaximumDistanceThreshold ()
| Returns the current maximum distance threshold, in meters.
Public Member Functions inherited from pcl::Grabber
| Grabber ()=default
| Default ctor.
| Grabber (const Grabber &)=delete
| No copy ctor since Grabber can't be copied.
Grabber & | operator= (const Grabber &)=delete
| No copy assign operator since Grabber can't be copied.
| Grabber (Grabber &&)=default
| Move ctor.
Grabber & | operator= (Grabber &&)=default
| Move assign operator.
virtual | ~Grabber () noexcept=default
| virtual destructor.
template<typename T >
boost::signals2::connection | registerCallback (const std::function< T > &callback)
| registers a callback function/method to a signal with the corresponding signature
template<typename T >
bool | providesCallback () const noexcept
| indicates whether a signal with given parameter-type exists or not
bool | toggle ()
| For devices that are streaming, stopped streams are started and running stream are stopped.

## Static Protected Attributes

static const std::uint8_t | VLP_MAX_NUM_LASERS = 16
static const std::uint8_t | VLP_DUAL_MODE = 0x39
Static Protected Attributes inherited from pcl::HDLGrabber
static const std::uint16_t | HDL_DATA_PORT = 2368
static const std::uint16_t | HDL_NUM_ROT_ANGLES = 36001
static const std::uint8_t | HDL_LASER_PER_FIRING = 32
static const std::uint8_t | HDL_MAX_NUM_LASERS = 64
static const std::uint8_t | HDL_FIRING_PER_PKT = 12

## Additional Inherited Members

Public Types inherited from pcl::HDLGrabber
using | sig_cb_velodyne_hdl_scan_point_cloud_xyz = void(const pcl::PointCloud< pcl::PointXYZ >::ConstPtr &, float, float)
| Signal used for a single sector Represents 1 corrected packet from the HDL Velodyne.
using | sig_cb_velodyne_hdl_scan_point_cloud_xyzrgba = void(const pcl::PointCloud< pcl::PointXYZRGBA >::ConstPtr &, float, float)
| Signal used for a single sector Represents 1 corrected packet from the HDL Velodyne.
using | sig_cb_velodyne_hdl_scan_point_cloud_xyzi = void(const pcl::PointCloud< pcl::PointXYZI >::ConstPtr &, float, float)
| Signal used for a single sector Represents 1 corrected packet from the HDL Velodyne with the returned intensity.
using | sig_cb_velodyne_hdl_sweep_point_cloud_xyz = void(const pcl::PointCloud< pcl::PointXYZ >::ConstPtr &)
| Signal used for a 360 degree sweep Represents multiple corrected packets from the HDL Velodyne This signal is sent when the Velodyne passes angle "0".
using | sig_cb_velodyne_hdl_sweep_point_cloud_xyzi = void(const pcl::PointCloud< pcl::PointXYZI >::ConstPtr &)
| Signal used for a 360 degree sweep Represents multiple corrected packets from the HDL Velodyne with the returned intensity This signal is sent when the Velodyne passes angle "0".
using | sig_cb_velodyne_hdl_sweep_point_cloud_xyzrgba = void(const pcl::PointCloud< pcl::PointXYZRGBA >::ConstPtr &)
| Signal used for a 360 degree sweep Represents multiple corrected packets from the HDL Velodyne This signal is sent when the Velodyne passes angle "0".
Protected Types inherited from pcl::HDLGrabber
enum | HDLBlock { BLOCK_0_TO_31 = 0xeeff , BLOCK_32_TO_63 = 0xddff }
Protected Member Functions inherited from pcl::HDLGrabber
void | fireCurrentSweep ()
void | fireCurrentScan (const std::uint16_t startAngle, const std::uint16_t endAngle)
void | computeXYZI (pcl::PointXYZI &pointXYZI, std::uint16_t azimuth, HDLLaserReturn laserReturn, HDLLaserCorrection correction) const
Protected Member Functions inherited from pcl::Grabber
virtual void | signalsChanged ()
template<typename T >
boost::signals2::signal< T > * | find_signal () const noexcept
template<typename T >
int | num_slots () const noexcept
template<typename T >
void | disconnect_all_slots ()
template<typename T >
void | block_signal ()
template<typename T >
void | unblock_signal ()
void | block_signals ()
void | unblock_signals ()
template<typename T >
boost::signals2::signal< T > * | createSignal ()
Protected Attributes inherited from pcl::HDLGrabber
HDLLaserCorrection | laser_corrections_ [HDL_MAX_NUM_LASERS]
std::uint16_t | last_azimuth_
pcl::PointCloud< pcl::PointXYZ >::Ptr | current_scan_xyz_
pcl::PointCloud< pcl::PointXYZ >::Ptr | current_sweep_xyz_
pcl::PointCloud< pcl::PointXYZI >::Ptr | current_scan_xyzi_
pcl::PointCloud< pcl::PointXYZI >::Ptr | current_sweep_xyzi_
pcl::PointCloud< pcl::PointXYZRGBA >::Ptr | current_scan_xyzrgba_
pcl::PointCloud< pcl::PointXYZRGBA >::Ptr | current_sweep_xyzrgba_
boost::signals2::signal< sig_cb_velodyne_hdl_sweep_point_cloud_xyz > * | sweep_xyz_signal_
boost::signals2::signal< sig_cb_velodyne_hdl_sweep_point_cloud_xyzrgba > * | sweep_xyzrgba_signal_
boost::signals2::signal< sig_cb_velodyne_hdl_sweep_point_cloud_xyzi > * | sweep_xyzi_signal_
boost::signals2::signal< sig_cb_velodyne_hdl_scan_point_cloud_xyz > * | scan_xyz_signal_
boost::signals2::signal< sig_cb_velodyne_hdl_scan_point_cloud_xyzrgba > * | scan_xyzrgba_signal_
boost::signals2::signal< sig_cb_velodyne_hdl_scan_point_cloud_xyzi > * | scan_xyzi_signal_
Protected Attributes inherited from pcl::Grabber
std::map< std::string, std::unique_ptr< boost::signals2::signal_base > > | signals_
std::map< std::string, std::vector< boost::signals2::connection > > | connections_
std::map< std::string, std::vector< boost::signals2::shared_connection_block > > | shared_connections_

## Detailed Description

Grabber for the Velodyne LiDAR (VLP), based on the Velodyne High Definition Laser (HDL)

Author
  Keven Ring keven.nosp@m.@mit.nosp@m.re.or.nosp@m.g

Definition at line 56 of file vlp_grabber.h.

## Constructor & Destructor Documentation

## VLPGrabber() [1/2]

pcl::VLPGrabber::VLPGrabber | ( | const std::string & | pcapFile = `""` | ) |

Constructor taking an optional path to an vlp corrections file.

The Grabber will listen on the default IP/port for data packets [192.168.3.255/2368]

Parameters

  [in] | pcapFile | Path to a file which contains previously captured data packets. This parameter is optional

## VLPGrabber() [2/2]

pcl::VLPGrabber::VLPGrabber | ( | const boost::asio::ip::address & | ipAddress,
|  | const std::uint16_t | port
| ) |  |

Constructor taking a specified IP/port.

Parameters

  [in] | ipAddress | IP Address that should be used to listen for VLP packets
  [in] | port | UDP Port that should be used to listen for VLP packets

## ~VLPGrabber()

pcl::VLPGrabber::~VLPGrabber | ( |  | ) |

override noexcept

virtual Destructor inherited from the Grabber interface.

It never throws.

## Member Function Documentation

## getMaximumNumberOfLasers()

std::uint8_t pcl::VLPGrabber::getMaximumNumberOfLasers | ( |  | ) | const

override virtual

Returns the maximum number of lasers.

Reimplemented from pcl::HDLGrabber.

## getName()

std::string pcl::VLPGrabber::getName | ( |  | ) | const

override virtual

Obtains the name of this I/O Grabber.

Returns
  The name of the grabber

Reimplemented from pcl::HDLGrabber.

## setLaserColorRGB() [1/2]

template<typename IterT >

void pcl::VLPGrabber::setLaserColorRGB | ( | const IterT & | begin,
|  | const IterT & | end
| ) |  |

inline

Allows one to customize the colors used for each of the lasers.

Parameters

  [in] | begin | begin iterator of RGB color array
  [in] | end | end iterator of RGB color array

Definition at line 94 of file vlp_grabber.h.

## setLaserColorRGB() [2/2]

void pcl::VLPGrabber::setLaserColorRGB | ( | const pcl::RGB & | color,
|  | const std::uint8_t | laserNumber
| ) |  |

Allows one to customize the colors used by each laser.

Parameters

  [in] | color | RGB color to set
  [in] | laserNumber | Number of laser to set color

## Member Data Documentation

## VLP_DUAL_MODE

const std::uint8_t pcl::VLPGrabber::VLP_DUAL_MODE = 0x39

static protected

Definition at line 106 of file vlp_grabber.h.

## VLP_MAX_NUM_LASERS

const std::uint8_t pcl::VLPGrabber::VLP_MAX_NUM_LASERS = 16

static protected

Definition at line 105 of file vlp_grabber.h.

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

- pcl/io/vlp_grabber.h