-
 
No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 1.7.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-drivers/velodyne.git
VCS Type git
VCS Version master
Last Updated 2023-06-01
Dev Status DEVELOPED
CI status
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The velodyne_pcl package

Additional Links

Maintainers

  • Josh Whitley

Authors

  • Sebastian Pütz

PointCloud2 to PCL PointCloud Conversion

Convert sensor_msgs::PointCloud2 objects coming from the velodyne_pointcloud driver to pcl::PointCloud<velodyne_pcl::PointXYZIRT> objects.

The sensor_msgs::PointCloud2 ROS message is constructed by using the PointcloudXYZIRT, or the OrganizedCloudXYZIRT container. Both define the following channels:

  • x - The x coord in Cartesian coordinates
  • y - The y coord in Cartesian coordinates
  • z - The z coord in Cartesian coordinates
  • intensity - The measured intensity at the point
  • ring - The ring number of the laser
  • time - The time stamp of the measured point

To convert a sensor_msgs::PointCloud2 published by the velodyne driver to PCL you could use the following code:

#include <pcl_conversions/pcl_conversions.h>
#include <velodyne_pcl/point_types.h>
#include <pcl/PCLPointCloud2.h>
#include <pcl/conversions.h>

void cloud_callback(const boost::shared_ptr<const sensor_msgs::PointCloud2>& cloud){

  pcl::PCLPointCloud2 pcl_pointcloud2;
  pcl_conversions::toPCL(*cloud, pcl_pointcloud2);
  pcl::PointCloud<velodyne_pcl::PointXYZIRT>::Ptr pcl_cloud_ptr(new pcl::PointCloud<velodyne_pcl::PointXYZIRT>);
  pcl::fromPCLPointCloud2(pcl_pointcloud2, *pcl_cloud_ptr);

  // use pcl_cloud_ptr
}

CHANGELOG

Changelog for package velodyne_pcl

1.7.0 (2022-07-08)

  • Use std::uint16_t to reduce build warnings from PCL (#449)
  • Contributors: icolwell-as

1.6.1 (2020-11-09)

  • Fix typo in velodyne_pcl/point_types.h (#357) Fixes an issue where the POINT_CLOUD_REGISTER_POINT_STRUCT function was using the old PointXYZIR and not PointXYZIRT.
  • Contributors: Matthew Hannay

1.6.0 (2020-07-09)

  • Velodyne pcl (#335)
    • fix time assignment in organized cloud container
    • add velodyne_pcl package with point_types.h
    • rename containers to cover the added time property
    • Adding roslint to velodyne_pcl. (#1)
    • Update CMake version to 3.5

    * Update package.xml to Format2 and package version to 1.5.2 Co-authored-by: Joshua Whitley <<josh.whitley@autoware.org>>

  • Contributors: Sebastian Pütz

1.5.2 (2019-01-28)

1.5.1 (2018-12-10)

1.5.0 (2018-10-19)

1.4.0 (2018-09-19)

1.3.0 (2017-11-10)

  • remove velodyne_pcl from velodyne stack trunk
  • make INFO message on every pointcloud a DEBUG message
  • finished reorganization + splitting up of the nodes + changed velodyne/pcl_points2 topic name to velodyne/pointcloud
  • reorganized the package, and renamed ExamplePublisher to Publisher
  • run transform2 nodelet
  • fixed issues in nodelets, equated nodes to match nodelets - there was some issue with using KdTree in the nodelet that I did not have time to debug - so it has been removed
  • created example nodelets for the corresponding nodes
  • some pretty printing + fixed subscriber to do euclidean cluster extraction using PCL
  • fixed bugs in example code
  • added a couple of examples using the pcl_ros bridge
  • add waitForTransform() before transforming point cloud packet
  • change convertPoints() to use PointCloud2ConstPtr for input
  • add nodelet to assign colors to laser rings for visualization
  • remove redundant typedefs
  • add transform2 nodelet unit test
  • add PCL transform to transform2 nodelet
  • check in omitted nodelets.xml update
  • create initial transform2 nodelet from cloud2 nodelet
  • nodelet test now works, remove "broken" label
  • set props to Id
  • publish PointCloud2 for each scan in nodelet
  • Prepare cloud2 nodelet for accumulating data for a whole scan (incomplete). Add Velodyne::xyz_scans_t typedef.
  • set Id property on test files
  • add simple unit tests of node and nodelet publication rates -- nodelet currently fails the test
  • remove cerr printing, nodelet now runs
  • fixed nodelets.xml so that nodelet is correctly visible
  • use new point_types header in nodelet, too
  • Add exported header file for custom Velodyne point types. Use new velodyne::PointXYZIR custom point type in cloud2 node. Print std::cerr message when nodelet methods entered (nothing shows).
  • fixed issue with custom pcl point type in cloud2_nodelet
  • library path correction
  • small nodelet improvements
  • Make Velodyne:: namespace references explicit. Accumulate data using PointCloud<PointXYZI> instead of PointCloud2. Delete some unnecessary cruft.
  • comment out enough so nodelet will at least compile
  • add nodelets.xml export
  • experimental stack for PCL output
  • Contributors: austinrobot, jack.oquin, piyushk

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged velodyne_pcl at Robotics Stack Exchange

No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.