velodyne_driver package from velodyne repovelodyne velodyne_driver velodyne_laserscan velodyne_msgs velodyne_pointcloud |
|
Package Summary
Tags | No category tags. |
Version | 2.5.1 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-drivers/velodyne.git |
VCS Type | git |
VCS Version | ros2 |
Last Updated | 2024-10-31 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Josh Whitley
- Brice Rebsamen
Authors
- Jack O'Quin
- Patrick Beeson
- Michael Quinlan
- Yaxin Liu
- Andreas Klintberg
Velodyne ROS 2 driver
This is a ROS 2 driver for Velodyne devices. It currently supports the 64E(S2, S2.1, S3), the 32E, the 32C, and the VLP-16. This driver is responsible for taking the data from the Velodyne and combining it into one message per revolution. To turn that raw data into a pointcloud or laserscan, see the velodyne_pointcloud and velodyne_laserscan packages.
Published Topics
-
/velodyne_packets
(velodyne_msgs/VelodyneScan
) - The raw data from one full revolution of the sensor.
Parameters
-
device_ip
(string) - The IP address that the Velodyne is on. From the factory, this is 192.168.1.201. -
gps_time
(bool) - Whether to use data capture time from a GPS, or from the local time. Should only be set to True if a GPS is attached to the Velodyne. False by default. -
time_offset
(double) - An arbitrary “skew”, in seconds, to add to the acquisition timestamp. Defaults to 0.0. -
enabled
(bool) - Whether the device should start-up enabled or not. Defaults to True. -
read_once
(bool) - Whether to only playback the data once (True) or continuously (False). Only used in PCAP playback mode. Defaults to False. -
read_fast
(bool) - Whether to output the data as fast as possible, (True), or sleep the appropriate delay between packets (False). Only used in PCAP playback mode. Defaults to False. -
repeat_delay
(double) - The time to wait between repeats in continuous playback mode. Only used in PCAP playback mode. Defaults to 0.0. -
frame_id
(string) - The frame_id to use when constructing the header for the packet to be published. Defaults to “velodyne”. -
model
(string) - The model number of the Velodyne attached. This should be one of64E
,64E_S2
,64E_S2.1
,64E_S3
,32E
,32C
, orVLP16
. Defaults to64E
. -
rpm
(double) - The RPM that the Velodyne is configured for. Note that this is descriptive, not prescriptive, so this should be set to match the value configured through the Velodyne web interface. -
pcap
(string) - The PCAP playback file to use to playback data from. Only used in PCAP playback mode. Defaults to the empty string. -
cut_angle
(double) - The azimuth angle at which to declare a single rotation complete. If this is less than 0, then a fixed number of packets (device-dependent) is used per rotation. This mostly works, but can vary because of variations in the hardware. If a positive number <= 2*Pi, a rotation will be declared “complete” when the azimuth reported by the device reaches that value. Defaults to -1.0. -
port
(int) - The port on which to receive data from the Velodyne. From the factory, the Velodyne is configured to publish data on 2368. Defaults to 2368.
Change history
2.5.1 (2024-10-31)
2.5.0 (2024-10-30)
- feat(config): make parameter 'enabled' dynamic (#548)
- Clalancette/cmake cleanups (#546)
- feat: support vls128 for ros2 (#493)
- Update rolling ci (#512) (#513)
- Contributors: Chris Lalancette, Daisuke Nishimatsu, Joshua Whitley
2.4.0 (2023-05-27)
- Disable cut_angle by default. (#497)
-
Unify tf frame parameters between transform and cloud nodes (#344) (#453) * Unify tf frame parameters between transform and cloud nodes At this point there is no need any more for cloud node because transform node includes all features of cloud node. Co-authored-by: AndreasR30 <<andreas-reich@live.de>> Co-authored-by: anre <<andreas.reich@unibw.de>>
- Contributors: Daisuke Nishimatsu, Joshua Whitley
2.3.0 (2022-07-08)
- Updating maintainer email address.
(#450)
- Updating maintainer email address.
* chore: update maintainer email address Co-authored-by: Joshua Whitley <<jwhitley@autonomoustuff.com>>
- fix: use rclcpp logger instead of perror Co-authored-by: Chris Lalancette <<clalancette@gmail.com>>
- reuse Velodyne UDP port (#427)
- Added config option to timestamp a full scan based on first velo packet instead of last packet (#436) Co-authored-by: Shawn Hanna <<shawn@kaarta.com>>
- Replace deprecated argument names in launch (#430)
- 2.1.1
- Updating for first Galactic release
- Minor fixes to string formatting. (#396) These changes will allow velodyne to compile without warnings on Rolling (soon to be Galactic). The changes are also backwards compatible to Foxy if we want to backport them.
- Contributors: Chris Lalancette, Daisuke Nishimatsu, Joshua Whitley, Keane Quigley, Nagy Dániel Zoltán
2.1.1 (2021-08-23)
- Minor fixes to string formatting. (#396) These changes will allow velodyne to compile without warnings on Rolling (soon to be Galactic). The changes are also backwards compatible to Foxy if we want to backport them.
- Contributors: Chris Lalancette
2.1.0 (2020-07-10)
- Fixing Foxy-specific uncrustify errors.
- Contributors: Joshua Whitley
2.0.0 (2020-07-10)
- Fix dependencies in package.xml (#331) Ensure that we depend on ament_cmake_ros as appropriate.
- Fixes pointed out by clang-tidy
(#310)
- Rearrange header includes so clang-tidy is happy.
- Get rid of unnecessary void arguments on methods.
- Properly mark methods as override where appropriate.
- Initialize members and stack variables to zero before use.
- Mark function implementations in header files 'inline'.
- Use more efficient 'empty' method instead of empty string.
- Get rid of unnecessary else statements after a continue/return.
- Get rid of unnecessary == false use.
- Make sure to add a virtual destructor to DataContainerBase.
- Use string != comparison instead of 'compare' method.
- Rename PointcloudXYZIR parameter name to match implementation.
- Get rid of usage of typedef.
- Be more explicit about using floats.
- Do an explicit lround to do int->float conversion.
- Fix the intensity calculation.
- Remove the azimuth from addPoint.
- Make sure to reset the cloud data to 0 before reusing.
- Use underscores on pointcloud member variables.
- Using std::lround means we don't need to add 0.5 to the result.
- Slightly rearrange and simplify range checks.
- Add in example launch files for VLP32C.
- Dashing fixes
(#307)
- Use std::make_unique as appropriate.
- Fix the azimuth calculation.
- Fix a crash during driver startup.
- Always recalculate the row_step while setting up the cloud.
- Make sure to call computeTransformation.
- Fix style errors pointed out by flake8.
- ROS2: Add Linters to velodyne_driver
(#301)
- Renaming files to match ROS2 conventions.
- Cleaning up velodyne_driver and fixing diags.
- velodyne_driver linting complete.
- VD: Removing unused namespace.
- Add in example launch files.
- Disable copy, move, and assign operators.
- Build the components so the velodyne can be run as a component.
- Add in NodeOptions to node constructors.
- Throw an exception for an invalid Velodyne model.
- Add explicit, final, and override to classes where appropriate.
- Switch to using nullptr everywhere.
- Pass read_once, read_fast, and repeat_delay to InputPCAP constructor.
- Change filename parameter to const reference.
- Pass the devip string into the Input* constructors.
- Move gps_time into the InputSocket class.
- Get rid of default parameters for Input* constructors.
- Rename nodes.
- Update the documentation for ROS 2.
- Switch to using the cut angle by default.
- Merge pull request #251 from clalancette/dashing-devel3 ROS 2 Dashing port
- Merge pull request #214 from spuetz/feature/opc_nopcl Container cleanup and organized pointclouds
- Merge pull request #243 from dandedrick/reconfig-enable driver: add enabled reconfigure param
- Merge pull request #234 from kmhallen/c++11 Set minimum C++ standard to C++11
- Merge pull request #231 from ros-drivers/ci/test_better_output CI: Adding roslint as separate step. Limiting output of catkin build.
- Merge pull request #227 from ros-drivers/roslint Applying roslint to velodyne_pointcloud.
- Merge pull request #225 from ros-drivers/roslint Adding roslint to velodyne_driver.
- Merge pull request #222 from mpitropov/feat_Use_GPS_time Add flag to enable using GPS time from within the Velodyne packet instead of ROS time for scan.
- Merge pull request #220 from nbussas/static Transform static variable into member
- Merge pull request #216 from ros-drivers/maint/poll_timeout_handling Testing reporting error instead of stopping node on disconnect.
- Contributors: Andreas Klintberg, Chris Lalancette, Dan Dedrick, Joshua Whitley, Kevin Hallenbeck, Matthew Pitropov, Nils Hauke Bussas, Sebastian, Sebastian Pütz
1.5.2 (2019-01-28)
- Merge pull request #212 from ros-drivers/maint/vdump_as_root Modifying vdump script for use as root. Tested by \@andersfischernielsen.
- Merge pull request #205 from xiesc/master support for 64E-S3
- Contributors: Joshua Whitley, Shichao XIE, xiesc
1.5.1 (2018-12-10)
1.5.0 (2018-10-19)
- Merge pull request #187 from moooeeeep/master Fixed sign error in return value of InputSocket::getPacket()
- bugfix: getPacket() function is expected to return negative value on error
- Contributors: Fabian Maas, Joshua Whitley
1.4.0 (2018-09-19)
- Merge pull request #178 from sts-thm/bugfix_issue_#174 Bugfix issue #174
- Removed debug outputs
- Changes fixing deadlock for specific cut_angle values.
- Merge pull request #135 from cfneuhaus/bugfix Bugfix: when no device ip is set, we still want to filter by udp port.
- Merge pull request #170 from ros-drivers/maint/move_header_files Moving header files to traditional location inside include folders.
- Merge pull request #160 from ros-drivers/maint/updating_package_xml_to_v2
- Updated all package.xmls to ver 2. Cleaned up catkin_lint errors. All package.xml files are now compatible with version 2 of the package.xml specification in REP 140. Removed some unnecessary execute permissions on a few files. Fixed a missing test_depend.
- Merge pull request #151 from Axel13fr/feature/No_Communication_Diag_Update
- Fix packet rate for the Velodyne 32C
- Conventions: adding name for unused method parameter.
- Added a periodic update of the diagnostics so that when no data is received at all from the Velodyne, a diagnostic information will be published. The previous implementation would publish diagnostics only on packet reception.
- Merge pull request #139 from ASDeveloper00/vlp32 Adding support for VLP-32C.
- Merge pull request #138 from volkandre/cut_at_specified_angle_feature
- cut_angle parameter is now in rad according to REP 103
- Fixed timestamp related bug found by \@cfneuhaus, which was described here: https://github.com/ros-drivers/velodyne/pull/126#discussion_r154137793
- bugfix: when no device ip is set, we still want to filter by udp port.
- Contributors: Andre Volk, CNR, Denis Dillenberger, Frank Neuhaus, Jack O'Quin, Joshua Whitley, Sammy Pfeiffer, Tobias Athmer, axd, kennouni
1.3.0 (2017-11-10)
- Merge pull request #129 from kmhallen/pluginlib_macro Modern pluginlib macro
- Update to use non deprecated pluginlib macro
- add launch args to support multiple devices (#108)
- Merge pull request #101 from teosnare/master velodyne_driver/src/lib/input.cc : fix for device_ip filter
- Merge pull request #104 from altrouge/launch_options Add more options in launch files.
- Rearranged alphabetically.
- Add more options in launch files.
- rpm, device_ip, port, read_once, read_fast, repeat_delay
- velodyne_driver/src/lib/input.cc : fix for device_ip filter Fix for device_ip filter in InputSocket: initialization of devip_ for correct ip filtering in InputSocket::getPacket.
- velodyne_driver: credit \@priyankadey for VLP-16 bug fix (#96)
- Merge pull request #96 from priyankadey/master updated VLP-16 packet rate from user manual.
- updated VLP-16 packet rate from user manual. Also verified with sensor. It reduced overlap in the pointcloud
- update change history
- Merge pull request #94 from ros-drivers/pcap_port velodyne_driver: use port number for PCAP data (#46, #66)
- fix g++ 5.3.1 compile errors (#94)
- merge current master (#94)
- Merge pull request #91 from chukcha2/master update velodyne_driver package description to include all models
- update velodyne_driver package description to include all models
- Merge pull request #89 from Tones29/feat_dynrec_driver Add dynamic latency configuration to velodyne_driver
- velodyne_driver: Add dynamic_reconfigure and time_offset correction The value of time_offset is added to the calculated time stamp in live mode for each packet.
- velodyne_driver: Make input destructors virtual
- prepare change history for coming Indigo release (#59)
- velodyne_driver: use port number for PCAP data (#66)
- Merge pull request #39 from zooxco/multivelodyne support for multiple velodynes
- Merge pull request #44 from SISegwayRmp/master adding driver and pointcloud support for the VLP16
- adding the VLP16 test scripts and updating the CMakeLists to include the test file from http://download.ros.org/data/velodyne/vlp16.pcap
- adding support for the VLP16
- parameters to set the udp port
- fixed missing header
- cleanup debug line
- parameter and code added for working with multiple velodynes
- Contributors: Andreas Wachaja, Brice Rebsamen, Daniel Jartoux, Denis Dillenberger, Gabor Meszaros, Ilya, Jack O'Quin, Joshua Whitley, Kevin Hallenbeck, Matteo Murtas, Micho Radovnikovich, Priyanka Dey, William Woodall, jack.oquin, junior, phussey
1.2.0 (2014-08-06)
- Fixed bug in diagnostic rate for driver (#16)
- Contributors: Brice Rebsamen, Jack O'Quin
1.1.2 (2013-11-05)
1.1.1 (2013-07-30)
1.1.0 (2013-07-16)
- Fix build problems due to PCL 1.7 API incompatibilities (#8), thanks to William Woodall. This version also works with Groovy, as long as the correct
pcl_conversions
is installed.- Fix errors with Mac OSX compiler (#8).
- Install
pluginlib
XML files (#9).- Install some launch and parameter files.
- Enable unit tests when
CATKIN_ENABLE_TESTING
is set (#10).
1.0.1 (2013-06-15)
- Declare explicit
pluginlib
dependency (#4).
1.0.0 (2013-06-14)
- Convert to catkin (#1).
- Release to Hydro.
0.9.2 (2013-07-08)
- Fix Groovy build problem (#7).
0.9.1 (2012-06-05)
- Driver socket read path improvements.
- Add unit tests with 32E data.
- Released to Electric, Fuerte and Groovy.
0.9.0 (2012-04-03)
- Completely revised API, anticipating a 1.0.0 release.
- HDL-32E device support.
- New velodyne_driver and velodyne_pointcloud packages.
- Old velodyne_common and velodyne_pcl packages no longer included.
- Released to Electric, Fuerte and Groovy.
0.2.6 (2011-02-23)
- Label all timing-dependent tests "realtime" so they do not run by default on the build farm machines.
0.2.5 (2010-11-19)
- Initial implementation of new 0.3 interfaces.
- Support for ROS 1.3 [std_msgs::Header]{.title-ref} changes.
0.2.0 (2010-08-17)
- Initial release to ROS C-turtle.
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake_ros | |
ament_cmake_gtest | |
ament_lint_auto | |
ament_lint_common | |
diagnostic_updater | |
rclcpp | |
rclcpp_components | |
tf2_ros | |
velodyne_msgs |
System Dependencies
Name |
---|
libpcap |
Dependant Packages
Name | Deps |
---|---|
velodyne |
Launch files
Messages
Services
Plugins
Recent questions tagged velodyne_driver at Robotics Stack Exchange
velodyne_driver package from velodyne repovelodyne velodyne_driver velodyne_laserscan velodyne_msgs velodyne_pointcloud |
|
Package Summary
Tags | No category tags. |
Version | 2.5.1 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-drivers/velodyne.git |
VCS Type | git |
VCS Version | ros2 |
Last Updated | 2024-10-31 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Josh Whitley
- Brice Rebsamen
Authors
- Jack O'Quin
- Patrick Beeson
- Michael Quinlan
- Yaxin Liu
- Andreas Klintberg
Velodyne ROS 2 driver
This is a ROS 2 driver for Velodyne devices. It currently supports the 64E(S2, S2.1, S3), the 32E, the 32C, and the VLP-16. This driver is responsible for taking the data from the Velodyne and combining it into one message per revolution. To turn that raw data into a pointcloud or laserscan, see the velodyne_pointcloud and velodyne_laserscan packages.
Published Topics
-
/velodyne_packets
(velodyne_msgs/VelodyneScan
) - The raw data from one full revolution of the sensor.
Parameters
-
device_ip
(string) - The IP address that the Velodyne is on. From the factory, this is 192.168.1.201. -
gps_time
(bool) - Whether to use data capture time from a GPS, or from the local time. Should only be set to True if a GPS is attached to the Velodyne. False by default. -
time_offset
(double) - An arbitrary “skew”, in seconds, to add to the acquisition timestamp. Defaults to 0.0. -
enabled
(bool) - Whether the device should start-up enabled or not. Defaults to True. -
read_once
(bool) - Whether to only playback the data once (True) or continuously (False). Only used in PCAP playback mode. Defaults to False. -
read_fast
(bool) - Whether to output the data as fast as possible, (True), or sleep the appropriate delay between packets (False). Only used in PCAP playback mode. Defaults to False. -
repeat_delay
(double) - The time to wait between repeats in continuous playback mode. Only used in PCAP playback mode. Defaults to 0.0. -
frame_id
(string) - The frame_id to use when constructing the header for the packet to be published. Defaults to “velodyne”. -
model
(string) - The model number of the Velodyne attached. This should be one of64E
,64E_S2
,64E_S2.1
,64E_S3
,32E
,32C
, orVLP16
. Defaults to64E
. -
rpm
(double) - The RPM that the Velodyne is configured for. Note that this is descriptive, not prescriptive, so this should be set to match the value configured through the Velodyne web interface. -
pcap
(string) - The PCAP playback file to use to playback data from. Only used in PCAP playback mode. Defaults to the empty string. -
cut_angle
(double) - The azimuth angle at which to declare a single rotation complete. If this is less than 0, then a fixed number of packets (device-dependent) is used per rotation. This mostly works, but can vary because of variations in the hardware. If a positive number <= 2*Pi, a rotation will be declared “complete” when the azimuth reported by the device reaches that value. Defaults to -1.0. -
port
(int) - The port on which to receive data from the Velodyne. From the factory, the Velodyne is configured to publish data on 2368. Defaults to 2368.
Change history
2.5.1 (2024-10-31)
2.5.0 (2024-10-30)
- feat(config): make parameter 'enabled' dynamic (#548)
- Clalancette/cmake cleanups (#546)
- feat: support vls128 for ros2 (#493)
- Update rolling ci (#512) (#513)
- Contributors: Chris Lalancette, Daisuke Nishimatsu, Joshua Whitley
2.4.0 (2023-05-27)
- Disable cut_angle by default. (#497)
-
Unify tf frame parameters between transform and cloud nodes (#344) (#453) * Unify tf frame parameters between transform and cloud nodes At this point there is no need any more for cloud node because transform node includes all features of cloud node. Co-authored-by: AndreasR30 <<andreas-reich@live.de>> Co-authored-by: anre <<andreas.reich@unibw.de>>
- Contributors: Daisuke Nishimatsu, Joshua Whitley
2.3.0 (2022-07-08)
- Updating maintainer email address.
(#450)
- Updating maintainer email address.
* chore: update maintainer email address Co-authored-by: Joshua Whitley <<jwhitley@autonomoustuff.com>>
- fix: use rclcpp logger instead of perror Co-authored-by: Chris Lalancette <<clalancette@gmail.com>>
- reuse Velodyne UDP port (#427)
- Added config option to timestamp a full scan based on first velo packet instead of last packet (#436) Co-authored-by: Shawn Hanna <<shawn@kaarta.com>>
- Replace deprecated argument names in launch (#430)
- 2.1.1
- Updating for first Galactic release
- Minor fixes to string formatting. (#396) These changes will allow velodyne to compile without warnings on Rolling (soon to be Galactic). The changes are also backwards compatible to Foxy if we want to backport them.
- Contributors: Chris Lalancette, Daisuke Nishimatsu, Joshua Whitley, Keane Quigley, Nagy Dániel Zoltán
2.1.1 (2021-08-23)
- Minor fixes to string formatting. (#396) These changes will allow velodyne to compile without warnings on Rolling (soon to be Galactic). The changes are also backwards compatible to Foxy if we want to backport them.
- Contributors: Chris Lalancette
2.1.0 (2020-07-10)
- Fixing Foxy-specific uncrustify errors.
- Contributors: Joshua Whitley
2.0.0 (2020-07-10)
- Fix dependencies in package.xml (#331) Ensure that we depend on ament_cmake_ros as appropriate.
- Fixes pointed out by clang-tidy
(#310)
- Rearrange header includes so clang-tidy is happy.
- Get rid of unnecessary void arguments on methods.
- Properly mark methods as override where appropriate.
- Initialize members and stack variables to zero before use.
- Mark function implementations in header files 'inline'.
- Use more efficient 'empty' method instead of empty string.
- Get rid of unnecessary else statements after a continue/return.
- Get rid of unnecessary == false use.
- Make sure to add a virtual destructor to DataContainerBase.
- Use string != comparison instead of 'compare' method.
- Rename PointcloudXYZIR parameter name to match implementation.
- Get rid of usage of typedef.
- Be more explicit about using floats.
- Do an explicit lround to do int->float conversion.
- Fix the intensity calculation.
- Remove the azimuth from addPoint.
- Make sure to reset the cloud data to 0 before reusing.
- Use underscores on pointcloud member variables.
- Using std::lround means we don't need to add 0.5 to the result.
- Slightly rearrange and simplify range checks.
- Add in example launch files for VLP32C.
- Dashing fixes
(#307)
- Use std::make_unique as appropriate.
- Fix the azimuth calculation.
- Fix a crash during driver startup.
- Always recalculate the row_step while setting up the cloud.
- Make sure to call computeTransformation.
- Fix style errors pointed out by flake8.
- ROS2: Add Linters to velodyne_driver
(#301)
- Renaming files to match ROS2 conventions.
- Cleaning up velodyne_driver and fixing diags.
- velodyne_driver linting complete.
- VD: Removing unused namespace.
- Add in example launch files.
- Disable copy, move, and assign operators.
- Build the components so the velodyne can be run as a component.
- Add in NodeOptions to node constructors.
- Throw an exception for an invalid Velodyne model.
- Add explicit, final, and override to classes where appropriate.
- Switch to using nullptr everywhere.
- Pass read_once, read_fast, and repeat_delay to InputPCAP constructor.
- Change filename parameter to const reference.
- Pass the devip string into the Input* constructors.
- Move gps_time into the InputSocket class.
- Get rid of default parameters for Input* constructors.
- Rename nodes.
- Update the documentation for ROS 2.
- Switch to using the cut angle by default.
- Merge pull request #251 from clalancette/dashing-devel3 ROS 2 Dashing port
- Merge pull request #214 from spuetz/feature/opc_nopcl Container cleanup and organized pointclouds
- Merge pull request #243 from dandedrick/reconfig-enable driver: add enabled reconfigure param
- Merge pull request #234 from kmhallen/c++11 Set minimum C++ standard to C++11
- Merge pull request #231 from ros-drivers/ci/test_better_output CI: Adding roslint as separate step. Limiting output of catkin build.
- Merge pull request #227 from ros-drivers/roslint Applying roslint to velodyne_pointcloud.
- Merge pull request #225 from ros-drivers/roslint Adding roslint to velodyne_driver.
- Merge pull request #222 from mpitropov/feat_Use_GPS_time Add flag to enable using GPS time from within the Velodyne packet instead of ROS time for scan.
- Merge pull request #220 from nbussas/static Transform static variable into member
- Merge pull request #216 from ros-drivers/maint/poll_timeout_handling Testing reporting error instead of stopping node on disconnect.
- Contributors: Andreas Klintberg, Chris Lalancette, Dan Dedrick, Joshua Whitley, Kevin Hallenbeck, Matthew Pitropov, Nils Hauke Bussas, Sebastian, Sebastian Pütz
1.5.2 (2019-01-28)
- Merge pull request #212 from ros-drivers/maint/vdump_as_root Modifying vdump script for use as root. Tested by \@andersfischernielsen.
- Merge pull request #205 from xiesc/master support for 64E-S3
- Contributors: Joshua Whitley, Shichao XIE, xiesc
1.5.1 (2018-12-10)
1.5.0 (2018-10-19)
- Merge pull request #187 from moooeeeep/master Fixed sign error in return value of InputSocket::getPacket()
- bugfix: getPacket() function is expected to return negative value on error
- Contributors: Fabian Maas, Joshua Whitley
1.4.0 (2018-09-19)
- Merge pull request #178 from sts-thm/bugfix_issue_#174 Bugfix issue #174
- Removed debug outputs
- Changes fixing deadlock for specific cut_angle values.
- Merge pull request #135 from cfneuhaus/bugfix Bugfix: when no device ip is set, we still want to filter by udp port.
- Merge pull request #170 from ros-drivers/maint/move_header_files Moving header files to traditional location inside include folders.
- Merge pull request #160 from ros-drivers/maint/updating_package_xml_to_v2
- Updated all package.xmls to ver 2. Cleaned up catkin_lint errors. All package.xml files are now compatible with version 2 of the package.xml specification in REP 140. Removed some unnecessary execute permissions on a few files. Fixed a missing test_depend.
- Merge pull request #151 from Axel13fr/feature/No_Communication_Diag_Update
- Fix packet rate for the Velodyne 32C
- Conventions: adding name for unused method parameter.
- Added a periodic update of the diagnostics so that when no data is received at all from the Velodyne, a diagnostic information will be published. The previous implementation would publish diagnostics only on packet reception.
- Merge pull request #139 from ASDeveloper00/vlp32 Adding support for VLP-32C.
- Merge pull request #138 from volkandre/cut_at_specified_angle_feature
- cut_angle parameter is now in rad according to REP 103
- Fixed timestamp related bug found by \@cfneuhaus, which was described here: https://github.com/ros-drivers/velodyne/pull/126#discussion_r154137793
- bugfix: when no device ip is set, we still want to filter by udp port.
- Contributors: Andre Volk, CNR, Denis Dillenberger, Frank Neuhaus, Jack O'Quin, Joshua Whitley, Sammy Pfeiffer, Tobias Athmer, axd, kennouni
1.3.0 (2017-11-10)
- Merge pull request #129 from kmhallen/pluginlib_macro Modern pluginlib macro
- Update to use non deprecated pluginlib macro
- add launch args to support multiple devices (#108)
- Merge pull request #101 from teosnare/master velodyne_driver/src/lib/input.cc : fix for device_ip filter
- Merge pull request #104 from altrouge/launch_options Add more options in launch files.
- Rearranged alphabetically.
- Add more options in launch files.
- rpm, device_ip, port, read_once, read_fast, repeat_delay
- velodyne_driver/src/lib/input.cc : fix for device_ip filter Fix for device_ip filter in InputSocket: initialization of devip_ for correct ip filtering in InputSocket::getPacket.
- velodyne_driver: credit \@priyankadey for VLP-16 bug fix (#96)
- Merge pull request #96 from priyankadey/master updated VLP-16 packet rate from user manual.
- updated VLP-16 packet rate from user manual. Also verified with sensor. It reduced overlap in the pointcloud
- update change history
- Merge pull request #94 from ros-drivers/pcap_port velodyne_driver: use port number for PCAP data (#46, #66)
- fix g++ 5.3.1 compile errors (#94)
- merge current master (#94)
- Merge pull request #91 from chukcha2/master update velodyne_driver package description to include all models
- update velodyne_driver package description to include all models
- Merge pull request #89 from Tones29/feat_dynrec_driver Add dynamic latency configuration to velodyne_driver
- velodyne_driver: Add dynamic_reconfigure and time_offset correction The value of time_offset is added to the calculated time stamp in live mode for each packet.
- velodyne_driver: Make input destructors virtual
- prepare change history for coming Indigo release (#59)
- velodyne_driver: use port number for PCAP data (#66)
- Merge pull request #39 from zooxco/multivelodyne support for multiple velodynes
- Merge pull request #44 from SISegwayRmp/master adding driver and pointcloud support for the VLP16
- adding the VLP16 test scripts and updating the CMakeLists to include the test file from http://download.ros.org/data/velodyne/vlp16.pcap
- adding support for the VLP16
- parameters to set the udp port
- fixed missing header
- cleanup debug line
- parameter and code added for working with multiple velodynes
- Contributors: Andreas Wachaja, Brice Rebsamen, Daniel Jartoux, Denis Dillenberger, Gabor Meszaros, Ilya, Jack O'Quin, Joshua Whitley, Kevin Hallenbeck, Matteo Murtas, Micho Radovnikovich, Priyanka Dey, William Woodall, jack.oquin, junior, phussey
1.2.0 (2014-08-06)
- Fixed bug in diagnostic rate for driver (#16)
- Contributors: Brice Rebsamen, Jack O'Quin
1.1.2 (2013-11-05)
1.1.1 (2013-07-30)
1.1.0 (2013-07-16)
- Fix build problems due to PCL 1.7 API incompatibilities (#8), thanks to William Woodall. This version also works with Groovy, as long as the correct
pcl_conversions
is installed.- Fix errors with Mac OSX compiler (#8).
- Install
pluginlib
XML files (#9).- Install some launch and parameter files.
- Enable unit tests when
CATKIN_ENABLE_TESTING
is set (#10).
1.0.1 (2013-06-15)
- Declare explicit
pluginlib
dependency (#4).
1.0.0 (2013-06-14)
- Convert to catkin (#1).
- Release to Hydro.
0.9.2 (2013-07-08)
- Fix Groovy build problem (#7).
0.9.1 (2012-06-05)
- Driver socket read path improvements.
- Add unit tests with 32E data.
- Released to Electric, Fuerte and Groovy.
0.9.0 (2012-04-03)
- Completely revised API, anticipating a 1.0.0 release.
- HDL-32E device support.
- New velodyne_driver and velodyne_pointcloud packages.
- Old velodyne_common and velodyne_pcl packages no longer included.
- Released to Electric, Fuerte and Groovy.
0.2.6 (2011-02-23)
- Label all timing-dependent tests "realtime" so they do not run by default on the build farm machines.
0.2.5 (2010-11-19)
- Initial implementation of new 0.3 interfaces.
- Support for ROS 1.3 [std_msgs::Header]{.title-ref} changes.
0.2.0 (2010-08-17)
- Initial release to ROS C-turtle.
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake_ros | |
ament_cmake_gtest | |
ament_lint_auto | |
ament_lint_common | |
diagnostic_updater | |
rclcpp | |
rclcpp_components | |
tf2_ros | |
velodyne_msgs |
System Dependencies
Name |
---|
libpcap |
Dependant Packages
Name | Deps |
---|---|
velodyne |
Launch files
Messages
Services
Plugins
Recent questions tagged velodyne_driver at Robotics Stack Exchange
velodyne_driver package from velodyne repovelodyne velodyne_driver velodyne_laserscan velodyne_msgs velodyne_pointcloud |
|
Package Summary
Tags | No category tags. |
Version | 2.5.1 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-drivers/velodyne.git |
VCS Type | git |
VCS Version | ros2 |
Last Updated | 2024-10-31 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Josh Whitley
- Brice Rebsamen
Authors
- Jack O'Quin
- Patrick Beeson
- Michael Quinlan
- Yaxin Liu
- Andreas Klintberg
Velodyne ROS 2 driver
This is a ROS 2 driver for Velodyne devices. It currently supports the 64E(S2, S2.1, S3), the 32E, the 32C, and the VLP-16. This driver is responsible for taking the data from the Velodyne and combining it into one message per revolution. To turn that raw data into a pointcloud or laserscan, see the velodyne_pointcloud and velodyne_laserscan packages.
Published Topics
-
/velodyne_packets
(velodyne_msgs/VelodyneScan
) - The raw data from one full revolution of the sensor.
Parameters
-
device_ip
(string) - The IP address that the Velodyne is on. From the factory, this is 192.168.1.201. -
gps_time
(bool) - Whether to use data capture time from a GPS, or from the local time. Should only be set to True if a GPS is attached to the Velodyne. False by default. -
time_offset
(double) - An arbitrary “skew”, in seconds, to add to the acquisition timestamp. Defaults to 0.0. -
enabled
(bool) - Whether the device should start-up enabled or not. Defaults to True. -
read_once
(bool) - Whether to only playback the data once (True) or continuously (False). Only used in PCAP playback mode. Defaults to False. -
read_fast
(bool) - Whether to output the data as fast as possible, (True), or sleep the appropriate delay between packets (False). Only used in PCAP playback mode. Defaults to False. -
repeat_delay
(double) - The time to wait between repeats in continuous playback mode. Only used in PCAP playback mode. Defaults to 0.0. -
frame_id
(string) - The frame_id to use when constructing the header for the packet to be published. Defaults to “velodyne”. -
model
(string) - The model number of the Velodyne attached. This should be one of64E
,64E_S2
,64E_S2.1
,64E_S3
,32E
,32C
, orVLP16
. Defaults to64E
. -
rpm
(double) - The RPM that the Velodyne is configured for. Note that this is descriptive, not prescriptive, so this should be set to match the value configured through the Velodyne web interface. -
pcap
(string) - The PCAP playback file to use to playback data from. Only used in PCAP playback mode. Defaults to the empty string. -
cut_angle
(double) - The azimuth angle at which to declare a single rotation complete. If this is less than 0, then a fixed number of packets (device-dependent) is used per rotation. This mostly works, but can vary because of variations in the hardware. If a positive number <= 2*Pi, a rotation will be declared “complete” when the azimuth reported by the device reaches that value. Defaults to -1.0. -
port
(int) - The port on which to receive data from the Velodyne. From the factory, the Velodyne is configured to publish data on 2368. Defaults to 2368.
Change history
2.5.1 (2024-10-31)
2.5.0 (2024-10-30)
- feat(config): make parameter 'enabled' dynamic (#548)
- Clalancette/cmake cleanups (#546)
- feat: support vls128 for ros2 (#493)
- Update rolling ci (#512) (#513)
- Contributors: Chris Lalancette, Daisuke Nishimatsu, Joshua Whitley
2.4.0 (2023-05-27)
- Disable cut_angle by default. (#497)
-
Unify tf frame parameters between transform and cloud nodes (#344) (#453) * Unify tf frame parameters between transform and cloud nodes At this point there is no need any more for cloud node because transform node includes all features of cloud node. Co-authored-by: AndreasR30 <<andreas-reich@live.de>> Co-authored-by: anre <<andreas.reich@unibw.de>>
- Contributors: Daisuke Nishimatsu, Joshua Whitley
2.3.0 (2022-07-08)
- Updating maintainer email address.
(#450)
- Updating maintainer email address.
* chore: update maintainer email address Co-authored-by: Joshua Whitley <<jwhitley@autonomoustuff.com>>
- fix: use rclcpp logger instead of perror Co-authored-by: Chris Lalancette <<clalancette@gmail.com>>
- reuse Velodyne UDP port (#427)
- Added config option to timestamp a full scan based on first velo packet instead of last packet (#436) Co-authored-by: Shawn Hanna <<shawn@kaarta.com>>
- Replace deprecated argument names in launch (#430)
- 2.1.1
- Updating for first Galactic release
- Minor fixes to string formatting. (#396) These changes will allow velodyne to compile without warnings on Rolling (soon to be Galactic). The changes are also backwards compatible to Foxy if we want to backport them.
- Contributors: Chris Lalancette, Daisuke Nishimatsu, Joshua Whitley, Keane Quigley, Nagy Dániel Zoltán
2.1.1 (2021-08-23)
- Minor fixes to string formatting. (#396) These changes will allow velodyne to compile without warnings on Rolling (soon to be Galactic). The changes are also backwards compatible to Foxy if we want to backport them.
- Contributors: Chris Lalancette
2.1.0 (2020-07-10)
- Fixing Foxy-specific uncrustify errors.
- Contributors: Joshua Whitley
2.0.0 (2020-07-10)
- Fix dependencies in package.xml (#331) Ensure that we depend on ament_cmake_ros as appropriate.
- Fixes pointed out by clang-tidy
(#310)
- Rearrange header includes so clang-tidy is happy.
- Get rid of unnecessary void arguments on methods.
- Properly mark methods as override where appropriate.
- Initialize members and stack variables to zero before use.
- Mark function implementations in header files 'inline'.
- Use more efficient 'empty' method instead of empty string.
- Get rid of unnecessary else statements after a continue/return.
- Get rid of unnecessary == false use.
- Make sure to add a virtual destructor to DataContainerBase.
- Use string != comparison instead of 'compare' method.
- Rename PointcloudXYZIR parameter name to match implementation.
- Get rid of usage of typedef.
- Be more explicit about using floats.
- Do an explicit lround to do int->float conversion.
- Fix the intensity calculation.
- Remove the azimuth from addPoint.
- Make sure to reset the cloud data to 0 before reusing.
- Use underscores on pointcloud member variables.
- Using std::lround means we don't need to add 0.5 to the result.
- Slightly rearrange and simplify range checks.
- Add in example launch files for VLP32C.
- Dashing fixes
(#307)
- Use std::make_unique as appropriate.
- Fix the azimuth calculation.
- Fix a crash during driver startup.
- Always recalculate the row_step while setting up the cloud.
- Make sure to call computeTransformation.
- Fix style errors pointed out by flake8.
- ROS2: Add Linters to velodyne_driver
(#301)
- Renaming files to match ROS2 conventions.
- Cleaning up velodyne_driver and fixing diags.
- velodyne_driver linting complete.
- VD: Removing unused namespace.
- Add in example launch files.
- Disable copy, move, and assign operators.
- Build the components so the velodyne can be run as a component.
- Add in NodeOptions to node constructors.
- Throw an exception for an invalid Velodyne model.
- Add explicit, final, and override to classes where appropriate.
- Switch to using nullptr everywhere.
- Pass read_once, read_fast, and repeat_delay to InputPCAP constructor.
- Change filename parameter to const reference.
- Pass the devip string into the Input* constructors.
- Move gps_time into the InputSocket class.
- Get rid of default parameters for Input* constructors.
- Rename nodes.
- Update the documentation for ROS 2.
- Switch to using the cut angle by default.
- Merge pull request #251 from clalancette/dashing-devel3 ROS 2 Dashing port
- Merge pull request #214 from spuetz/feature/opc_nopcl Container cleanup and organized pointclouds
- Merge pull request #243 from dandedrick/reconfig-enable driver: add enabled reconfigure param
- Merge pull request #234 from kmhallen/c++11 Set minimum C++ standard to C++11
- Merge pull request #231 from ros-drivers/ci/test_better_output CI: Adding roslint as separate step. Limiting output of catkin build.
- Merge pull request #227 from ros-drivers/roslint Applying roslint to velodyne_pointcloud.
- Merge pull request #225 from ros-drivers/roslint Adding roslint to velodyne_driver.
- Merge pull request #222 from mpitropov/feat_Use_GPS_time Add flag to enable using GPS time from within the Velodyne packet instead of ROS time for scan.
- Merge pull request #220 from nbussas/static Transform static variable into member
- Merge pull request #216 from ros-drivers/maint/poll_timeout_handling Testing reporting error instead of stopping node on disconnect.
- Contributors: Andreas Klintberg, Chris Lalancette, Dan Dedrick, Joshua Whitley, Kevin Hallenbeck, Matthew Pitropov, Nils Hauke Bussas, Sebastian, Sebastian Pütz
1.5.2 (2019-01-28)
- Merge pull request #212 from ros-drivers/maint/vdump_as_root Modifying vdump script for use as root. Tested by \@andersfischernielsen.
- Merge pull request #205 from xiesc/master support for 64E-S3
- Contributors: Joshua Whitley, Shichao XIE, xiesc
1.5.1 (2018-12-10)
1.5.0 (2018-10-19)
- Merge pull request #187 from moooeeeep/master Fixed sign error in return value of InputSocket::getPacket()
- bugfix: getPacket() function is expected to return negative value on error
- Contributors: Fabian Maas, Joshua Whitley
1.4.0 (2018-09-19)
- Merge pull request #178 from sts-thm/bugfix_issue_#174 Bugfix issue #174
- Removed debug outputs
- Changes fixing deadlock for specific cut_angle values.
- Merge pull request #135 from cfneuhaus/bugfix Bugfix: when no device ip is set, we still want to filter by udp port.
- Merge pull request #170 from ros-drivers/maint/move_header_files Moving header files to traditional location inside include folders.
- Merge pull request #160 from ros-drivers/maint/updating_package_xml_to_v2
- Updated all package.xmls to ver 2. Cleaned up catkin_lint errors. All package.xml files are now compatible with version 2 of the package.xml specification in REP 140. Removed some unnecessary execute permissions on a few files. Fixed a missing test_depend.
- Merge pull request #151 from Axel13fr/feature/No_Communication_Diag_Update
- Fix packet rate for the Velodyne 32C
- Conventions: adding name for unused method parameter.
- Added a periodic update of the diagnostics so that when no data is received at all from the Velodyne, a diagnostic information will be published. The previous implementation would publish diagnostics only on packet reception.
- Merge pull request #139 from ASDeveloper00/vlp32 Adding support for VLP-32C.
- Merge pull request #138 from volkandre/cut_at_specified_angle_feature
- cut_angle parameter is now in rad according to REP 103
- Fixed timestamp related bug found by \@cfneuhaus, which was described here: https://github.com/ros-drivers/velodyne/pull/126#discussion_r154137793
- bugfix: when no device ip is set, we still want to filter by udp port.
- Contributors: Andre Volk, CNR, Denis Dillenberger, Frank Neuhaus, Jack O'Quin, Joshua Whitley, Sammy Pfeiffer, Tobias Athmer, axd, kennouni
1.3.0 (2017-11-10)
- Merge pull request #129 from kmhallen/pluginlib_macro Modern pluginlib macro
- Update to use non deprecated pluginlib macro
- add launch args to support multiple devices (#108)
- Merge pull request #101 from teosnare/master velodyne_driver/src/lib/input.cc : fix for device_ip filter
- Merge pull request #104 from altrouge/launch_options Add more options in launch files.
- Rearranged alphabetically.
- Add more options in launch files.
- rpm, device_ip, port, read_once, read_fast, repeat_delay
- velodyne_driver/src/lib/input.cc : fix for device_ip filter Fix for device_ip filter in InputSocket: initialization of devip_ for correct ip filtering in InputSocket::getPacket.
- velodyne_driver: credit \@priyankadey for VLP-16 bug fix (#96)
- Merge pull request #96 from priyankadey/master updated VLP-16 packet rate from user manual.
- updated VLP-16 packet rate from user manual. Also verified with sensor. It reduced overlap in the pointcloud
- update change history
- Merge pull request #94 from ros-drivers/pcap_port velodyne_driver: use port number for PCAP data (#46, #66)
- fix g++ 5.3.1 compile errors (#94)
- merge current master (#94)
- Merge pull request #91 from chukcha2/master update velodyne_driver package description to include all models
- update velodyne_driver package description to include all models
- Merge pull request #89 from Tones29/feat_dynrec_driver Add dynamic latency configuration to velodyne_driver
- velodyne_driver: Add dynamic_reconfigure and time_offset correction The value of time_offset is added to the calculated time stamp in live mode for each packet.
- velodyne_driver: Make input destructors virtual
- prepare change history for coming Indigo release (#59)
- velodyne_driver: use port number for PCAP data (#66)
- Merge pull request #39 from zooxco/multivelodyne support for multiple velodynes
- Merge pull request #44 from SISegwayRmp/master adding driver and pointcloud support for the VLP16
- adding the VLP16 test scripts and updating the CMakeLists to include the test file from http://download.ros.org/data/velodyne/vlp16.pcap
- adding support for the VLP16
- parameters to set the udp port
- fixed missing header
- cleanup debug line
- parameter and code added for working with multiple velodynes
- Contributors: Andreas Wachaja, Brice Rebsamen, Daniel Jartoux, Denis Dillenberger, Gabor Meszaros, Ilya, Jack O'Quin, Joshua Whitley, Kevin Hallenbeck, Matteo Murtas, Micho Radovnikovich, Priyanka Dey, William Woodall, jack.oquin, junior, phussey
1.2.0 (2014-08-06)
- Fixed bug in diagnostic rate for driver (#16)
- Contributors: Brice Rebsamen, Jack O'Quin
1.1.2 (2013-11-05)
1.1.1 (2013-07-30)
1.1.0 (2013-07-16)
- Fix build problems due to PCL 1.7 API incompatibilities (#8), thanks to William Woodall. This version also works with Groovy, as long as the correct
pcl_conversions
is installed.- Fix errors with Mac OSX compiler (#8).
- Install
pluginlib
XML files (#9).- Install some launch and parameter files.
- Enable unit tests when
CATKIN_ENABLE_TESTING
is set (#10).
1.0.1 (2013-06-15)
- Declare explicit
pluginlib
dependency (#4).
1.0.0 (2013-06-14)
- Convert to catkin (#1).
- Release to Hydro.
0.9.2 (2013-07-08)
- Fix Groovy build problem (#7).
0.9.1 (2012-06-05)
- Driver socket read path improvements.
- Add unit tests with 32E data.
- Released to Electric, Fuerte and Groovy.
0.9.0 (2012-04-03)
- Completely revised API, anticipating a 1.0.0 release.
- HDL-32E device support.
- New velodyne_driver and velodyne_pointcloud packages.
- Old velodyne_common and velodyne_pcl packages no longer included.
- Released to Electric, Fuerte and Groovy.
0.2.6 (2011-02-23)
- Label all timing-dependent tests "realtime" so they do not run by default on the build farm machines.
0.2.5 (2010-11-19)
- Initial implementation of new 0.3 interfaces.
- Support for ROS 1.3 [std_msgs::Header]{.title-ref} changes.
0.2.0 (2010-08-17)
- Initial release to ROS C-turtle.
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake_ros | |
ament_cmake_gtest | |
ament_lint_auto | |
ament_lint_common | |
diagnostic_updater | |
rclcpp | |
rclcpp_components | |
tf2_ros | |
velodyne_msgs |
System Dependencies
Name |
---|
libpcap |
Dependant Packages
Name | Deps |
---|---|
velodyne |
Launch files
Messages
Services
Plugins
Recent questions tagged velodyne_driver at Robotics Stack Exchange
velodyne_driver package from velodyne repovelodyne velodyne_driver velodyne_laserscan velodyne_msgs velodyne_pointcloud |
|
Package Summary
Tags | No category tags. |
Version | 2.5.1 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-drivers/velodyne.git |
VCS Type | git |
VCS Version | ros2 |
Last Updated | 2024-10-31 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Josh Whitley
- Brice Rebsamen
Authors
- Jack O'Quin
- Patrick Beeson
- Michael Quinlan
- Yaxin Liu
- Andreas Klintberg
Velodyne ROS 2 driver
This is a ROS 2 driver for Velodyne devices. It currently supports the 64E(S2, S2.1, S3), the 32E, the 32C, and the VLP-16. This driver is responsible for taking the data from the Velodyne and combining it into one message per revolution. To turn that raw data into a pointcloud or laserscan, see the velodyne_pointcloud and velodyne_laserscan packages.
Published Topics
-
/velodyne_packets
(velodyne_msgs/VelodyneScan
) - The raw data from one full revolution of the sensor.
Parameters
-
device_ip
(string) - The IP address that the Velodyne is on. From the factory, this is 192.168.1.201. -
gps_time
(bool) - Whether to use data capture time from a GPS, or from the local time. Should only be set to True if a GPS is attached to the Velodyne. False by default. -
time_offset
(double) - An arbitrary “skew”, in seconds, to add to the acquisition timestamp. Defaults to 0.0. -
enabled
(bool) - Whether the device should start-up enabled or not. Defaults to True. -
read_once
(bool) - Whether to only playback the data once (True) or continuously (False). Only used in PCAP playback mode. Defaults to False. -
read_fast
(bool) - Whether to output the data as fast as possible, (True), or sleep the appropriate delay between packets (False). Only used in PCAP playback mode. Defaults to False. -
repeat_delay
(double) - The time to wait between repeats in continuous playback mode. Only used in PCAP playback mode. Defaults to 0.0. -
frame_id
(string) - The frame_id to use when constructing the header for the packet to be published. Defaults to “velodyne”. -
model
(string) - The model number of the Velodyne attached. This should be one of64E
,64E_S2
,64E_S2.1
,64E_S3
,32E
,32C
, orVLP16
. Defaults to64E
. -
rpm
(double) - The RPM that the Velodyne is configured for. Note that this is descriptive, not prescriptive, so this should be set to match the value configured through the Velodyne web interface. -
pcap
(string) - The PCAP playback file to use to playback data from. Only used in PCAP playback mode. Defaults to the empty string. -
cut_angle
(double) - The azimuth angle at which to declare a single rotation complete. If this is less than 0, then a fixed number of packets (device-dependent) is used per rotation. This mostly works, but can vary because of variations in the hardware. If a positive number <= 2*Pi, a rotation will be declared “complete” when the azimuth reported by the device reaches that value. Defaults to -1.0. -
port
(int) - The port on which to receive data from the Velodyne. From the factory, the Velodyne is configured to publish data on 2368. Defaults to 2368.
Change history
2.5.1 (2024-10-31)
2.5.0 (2024-10-30)
- feat(config): make parameter 'enabled' dynamic (#548)
- Clalancette/cmake cleanups (#546)
- feat: support vls128 for ros2 (#493)
- Update rolling ci (#512) (#513)
- Contributors: Chris Lalancette, Daisuke Nishimatsu, Joshua Whitley
2.4.0 (2023-05-27)
- Disable cut_angle by default. (#497)
-
Unify tf frame parameters between transform and cloud nodes (#344) (#453) * Unify tf frame parameters between transform and cloud nodes At this point there is no need any more for cloud node because transform node includes all features of cloud node. Co-authored-by: AndreasR30 <<andreas-reich@live.de>> Co-authored-by: anre <<andreas.reich@unibw.de>>
- Contributors: Daisuke Nishimatsu, Joshua Whitley
2.3.0 (2022-07-08)
- Updating maintainer email address.
(#450)
- Updating maintainer email address.
* chore: update maintainer email address Co-authored-by: Joshua Whitley <<jwhitley@autonomoustuff.com>>
- fix: use rclcpp logger instead of perror Co-authored-by: Chris Lalancette <<clalancette@gmail.com>>
- reuse Velodyne UDP port (#427)
- Added config option to timestamp a full scan based on first velo packet instead of last packet (#436) Co-authored-by: Shawn Hanna <<shawn@kaarta.com>>
- Replace deprecated argument names in launch (#430)
- 2.1.1
- Updating for first Galactic release
- Minor fixes to string formatting. (#396) These changes will allow velodyne to compile without warnings on Rolling (soon to be Galactic). The changes are also backwards compatible to Foxy if we want to backport them.
- Contributors: Chris Lalancette, Daisuke Nishimatsu, Joshua Whitley, Keane Quigley, Nagy Dániel Zoltán
2.1.1 (2021-08-23)
- Minor fixes to string formatting. (#396) These changes will allow velodyne to compile without warnings on Rolling (soon to be Galactic). The changes are also backwards compatible to Foxy if we want to backport them.
- Contributors: Chris Lalancette
2.1.0 (2020-07-10)
- Fixing Foxy-specific uncrustify errors.
- Contributors: Joshua Whitley
2.0.0 (2020-07-10)
- Fix dependencies in package.xml (#331) Ensure that we depend on ament_cmake_ros as appropriate.
- Fixes pointed out by clang-tidy
(#310)
- Rearrange header includes so clang-tidy is happy.
- Get rid of unnecessary void arguments on methods.
- Properly mark methods as override where appropriate.
- Initialize members and stack variables to zero before use.
- Mark function implementations in header files 'inline'.
- Use more efficient 'empty' method instead of empty string.
- Get rid of unnecessary else statements after a continue/return.
- Get rid of unnecessary == false use.
- Make sure to add a virtual destructor to DataContainerBase.
- Use string != comparison instead of 'compare' method.
- Rename PointcloudXYZIR parameter name to match implementation.
- Get rid of usage of typedef.
- Be more explicit about using floats.
- Do an explicit lround to do int->float conversion.
- Fix the intensity calculation.
- Remove the azimuth from addPoint.
- Make sure to reset the cloud data to 0 before reusing.
- Use underscores on pointcloud member variables.
- Using std::lround means we don't need to add 0.5 to the result.
- Slightly rearrange and simplify range checks.
- Add in example launch files for VLP32C.
- Dashing fixes
(#307)
- Use std::make_unique as appropriate.
- Fix the azimuth calculation.
- Fix a crash during driver startup.
- Always recalculate the row_step while setting up the cloud.
- Make sure to call computeTransformation.
- Fix style errors pointed out by flake8.
- ROS2: Add Linters to velodyne_driver
(#301)
- Renaming files to match ROS2 conventions.
- Cleaning up velodyne_driver and fixing diags.
- velodyne_driver linting complete.
- VD: Removing unused namespace.
- Add in example launch files.
- Disable copy, move, and assign operators.
- Build the components so the velodyne can be run as a component.
- Add in NodeOptions to node constructors.
- Throw an exception for an invalid Velodyne model.
- Add explicit, final, and override to classes where appropriate.
- Switch to using nullptr everywhere.
- Pass read_once, read_fast, and repeat_delay to InputPCAP constructor.
- Change filename parameter to const reference.
- Pass the devip string into the Input* constructors.
- Move gps_time into the InputSocket class.
- Get rid of default parameters for Input* constructors.
- Rename nodes.
- Update the documentation for ROS 2.
- Switch to using the cut angle by default.
- Merge pull request #251 from clalancette/dashing-devel3 ROS 2 Dashing port
- Merge pull request #214 from spuetz/feature/opc_nopcl Container cleanup and organized pointclouds
- Merge pull request #243 from dandedrick/reconfig-enable driver: add enabled reconfigure param
- Merge pull request #234 from kmhallen/c++11 Set minimum C++ standard to C++11
- Merge pull request #231 from ros-drivers/ci/test_better_output CI: Adding roslint as separate step. Limiting output of catkin build.
- Merge pull request #227 from ros-drivers/roslint Applying roslint to velodyne_pointcloud.
- Merge pull request #225 from ros-drivers/roslint Adding roslint to velodyne_driver.
- Merge pull request #222 from mpitropov/feat_Use_GPS_time Add flag to enable using GPS time from within the Velodyne packet instead of ROS time for scan.
- Merge pull request #220 from nbussas/static Transform static variable into member
- Merge pull request #216 from ros-drivers/maint/poll_timeout_handling Testing reporting error instead of stopping node on disconnect.
- Contributors: Andreas Klintberg, Chris Lalancette, Dan Dedrick, Joshua Whitley, Kevin Hallenbeck, Matthew Pitropov, Nils Hauke Bussas, Sebastian, Sebastian Pütz
1.5.2 (2019-01-28)
- Merge pull request #212 from ros-drivers/maint/vdump_as_root Modifying vdump script for use as root. Tested by \@andersfischernielsen.
- Merge pull request #205 from xiesc/master support for 64E-S3
- Contributors: Joshua Whitley, Shichao XIE, xiesc
1.5.1 (2018-12-10)
1.5.0 (2018-10-19)
- Merge pull request #187 from moooeeeep/master Fixed sign error in return value of InputSocket::getPacket()
- bugfix: getPacket() function is expected to return negative value on error
- Contributors: Fabian Maas, Joshua Whitley
1.4.0 (2018-09-19)
- Merge pull request #178 from sts-thm/bugfix_issue_#174 Bugfix issue #174
- Removed debug outputs
- Changes fixing deadlock for specific cut_angle values.
- Merge pull request #135 from cfneuhaus/bugfix Bugfix: when no device ip is set, we still want to filter by udp port.
- Merge pull request #170 from ros-drivers/maint/move_header_files Moving header files to traditional location inside include folders.
- Merge pull request #160 from ros-drivers/maint/updating_package_xml_to_v2
- Updated all package.xmls to ver 2. Cleaned up catkin_lint errors. All package.xml files are now compatible with version 2 of the package.xml specification in REP 140. Removed some unnecessary execute permissions on a few files. Fixed a missing test_depend.
- Merge pull request #151 from Axel13fr/feature/No_Communication_Diag_Update
- Fix packet rate for the Velodyne 32C
- Conventions: adding name for unused method parameter.
- Added a periodic update of the diagnostics so that when no data is received at all from the Velodyne, a diagnostic information will be published. The previous implementation would publish diagnostics only on packet reception.
- Merge pull request #139 from ASDeveloper00/vlp32 Adding support for VLP-32C.
- Merge pull request #138 from volkandre/cut_at_specified_angle_feature
- cut_angle parameter is now in rad according to REP 103
- Fixed timestamp related bug found by \@cfneuhaus, which was described here: https://github.com/ros-drivers/velodyne/pull/126#discussion_r154137793
- bugfix: when no device ip is set, we still want to filter by udp port.
- Contributors: Andre Volk, CNR, Denis Dillenberger, Frank Neuhaus, Jack O'Quin, Joshua Whitley, Sammy Pfeiffer, Tobias Athmer, axd, kennouni
1.3.0 (2017-11-10)
- Merge pull request #129 from kmhallen/pluginlib_macro Modern pluginlib macro
- Update to use non deprecated pluginlib macro
- add launch args to support multiple devices (#108)
- Merge pull request #101 from teosnare/master velodyne_driver/src/lib/input.cc : fix for device_ip filter
- Merge pull request #104 from altrouge/launch_options Add more options in launch files.
- Rearranged alphabetically.
- Add more options in launch files.
- rpm, device_ip, port, read_once, read_fast, repeat_delay
- velodyne_driver/src/lib/input.cc : fix for device_ip filter Fix for device_ip filter in InputSocket: initialization of devip_ for correct ip filtering in InputSocket::getPacket.
- velodyne_driver: credit \@priyankadey for VLP-16 bug fix (#96)
- Merge pull request #96 from priyankadey/master updated VLP-16 packet rate from user manual.
- updated VLP-16 packet rate from user manual. Also verified with sensor. It reduced overlap in the pointcloud
- update change history
- Merge pull request #94 from ros-drivers/pcap_port velodyne_driver: use port number for PCAP data (#46, #66)
- fix g++ 5.3.1 compile errors (#94)
- merge current master (#94)
- Merge pull request #91 from chukcha2/master update velodyne_driver package description to include all models
- update velodyne_driver package description to include all models
- Merge pull request #89 from Tones29/feat_dynrec_driver Add dynamic latency configuration to velodyne_driver
- velodyne_driver: Add dynamic_reconfigure and time_offset correction The value of time_offset is added to the calculated time stamp in live mode for each packet.
- velodyne_driver: Make input destructors virtual
- prepare change history for coming Indigo release (#59)
- velodyne_driver: use port number for PCAP data (#66)
- Merge pull request #39 from zooxco/multivelodyne support for multiple velodynes
- Merge pull request #44 from SISegwayRmp/master adding driver and pointcloud support for the VLP16
- adding the VLP16 test scripts and updating the CMakeLists to include the test file from http://download.ros.org/data/velodyne/vlp16.pcap
- adding support for the VLP16
- parameters to set the udp port
- fixed missing header
- cleanup debug line
- parameter and code added for working with multiple velodynes
- Contributors: Andreas Wachaja, Brice Rebsamen, Daniel Jartoux, Denis Dillenberger, Gabor Meszaros, Ilya, Jack O'Quin, Joshua Whitley, Kevin Hallenbeck, Matteo Murtas, Micho Radovnikovich, Priyanka Dey, William Woodall, jack.oquin, junior, phussey
1.2.0 (2014-08-06)
- Fixed bug in diagnostic rate for driver (#16)
- Contributors: Brice Rebsamen, Jack O'Quin
1.1.2 (2013-11-05)
1.1.1 (2013-07-30)
1.1.0 (2013-07-16)
- Fix build problems due to PCL 1.7 API incompatibilities (#8), thanks to William Woodall. This version also works with Groovy, as long as the correct
pcl_conversions
is installed.- Fix errors with Mac OSX compiler (#8).
- Install
pluginlib
XML files (#9).- Install some launch and parameter files.
- Enable unit tests when
CATKIN_ENABLE_TESTING
is set (#10).
1.0.1 (2013-06-15)
- Declare explicit
pluginlib
dependency (#4).
1.0.0 (2013-06-14)
- Convert to catkin (#1).
- Release to Hydro.
0.9.2 (2013-07-08)
- Fix Groovy build problem (#7).
0.9.1 (2012-06-05)
- Driver socket read path improvements.
- Add unit tests with 32E data.
- Released to Electric, Fuerte and Groovy.
0.9.0 (2012-04-03)
- Completely revised API, anticipating a 1.0.0 release.
- HDL-32E device support.
- New velodyne_driver and velodyne_pointcloud packages.
- Old velodyne_common and velodyne_pcl packages no longer included.
- Released to Electric, Fuerte and Groovy.
0.2.6 (2011-02-23)
- Label all timing-dependent tests "realtime" so they do not run by default on the build farm machines.
0.2.5 (2010-11-19)
- Initial implementation of new 0.3 interfaces.
- Support for ROS 1.3 [std_msgs::Header]{.title-ref} changes.
0.2.0 (2010-08-17)
- Initial release to ROS C-turtle.
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake_ros | |
ament_cmake_gtest | |
ament_lint_auto | |
ament_lint_common | |
diagnostic_updater | |
rclcpp | |
rclcpp_components | |
tf2_ros | |
velodyne_msgs |
System Dependencies
Name |
---|
libpcap |
Dependant Packages
Name | Deps |
---|---|
velodyne |
Launch files
Messages
Services
Plugins
Recent questions tagged velodyne_driver at Robotics Stack Exchange
velodyne_driver package from velodyne repovelodyne velodyne_driver velodyne_laserscan velodyne_msgs velodyne_pcl velodyne_pointcloud |
|
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
Additional Links
Maintainers
- Josh Whitley
- Brice Rebsamen
Authors
- Jack O'Quin
- Patrick Beeson
- Michael Quinlan
- Yaxin Liu
Change history
1.7.0 (2022-07-08)
- Fix non-responsive node on packet timeout
(#466)
* No abort on packet timeout Changed getPacket() to return 0 on
timeout and 1 on success.
- Removed trailing whitespace
- reuse Velodyne UDP port (#427)
- add missing include to pcap.h that prevents tests from being built (#406)
- PCAP timestamps & PCAP+GPS timestamps
(#384)
- Add pcap_time param and implement gps_time with it
- If gps_time == true, ignore pcap_time
- Add support for the velodyne Alpha Prime
(#370)
- Add support for the velodyne Alpha Prime
- Change packet rate for the VLS128 according to the times specified in the manual
- Organize setup functions to avoid code duplication. Add a constant for the model ID of the VLS128.
* Use the defined constants to calculate the time offset of the points for the VLS128 Co-authored-by: jugo <<juan.gonzalez@unibw.de>>
- Contributors: HMellor, Institute for Autonomous Systems Technology, JKaniarz, Nagy Dániel Zoltán, Sebastian Scherer
1.6.1 (2020-11-09)
1.6.0 (2020-07-09)
- Unify tf frame parameters between transform and cloud nodes
(#344)
- Unify tf frame parameters between transform and cloud nodes
- Use more common ROS terminology instead of 'htm'
- Just use tf listener when necessary
- Migrate package to tf2
- Explicitly store sensor frame in a dedicated variable to make code easier to read
* Avoid unnecessary transforms when sensor_frame == target_frame Co-authored-by: anre <<andreas.reich@unibw.de>>
- Updating maintainer email address.
- when device poll timeouts, do not stop node
- use correct node handles and node names for diagnostic_updater::Updater
- Added config option to timestamp a full scan based on first velo packet instead of last packet
- Merge pull request #214 from spuetz/feature/opc_nopcl Container cleanup and organized pointclouds
- Merge pull request #243 from dandedrick/reconfig-enable driver: add enabled reconfigure param
- Merge pull request #234 from kmhallen/c++11 Set minimum C++ standard to C++11
- Merge pull request #222 from mpitropov/feat_Use_GPS_time Add flag to enable using GPS time from within the Velodyne packet instead of ROS time for scan.
- Merge pull request #220 from nbussas/static Transform static variable into member
- Merge pull request #216 from ros-drivers/maint/poll_timeout_handling Testing reporting error instead of stopping node on disconnect.
- fixed in range min max, and cleaned up the initialization
- Contributors: AndreasR30, Dan Dedrick, Daniel Seifert, Joshua Whitley, Kevin Hallenbeck, Matthew Pitropov, Nils Hauke Bussas, Sebastian, Sebastian Pütz, Shawn Hanna
1.5.2 (2019-01-28)
- Merge pull request #212 from ros-drivers/maint/vdump_as_root Modifying vdump script for use as root. Tested by \@andersfischernielsen.
- Merge pull request #205 from xiesc/master support for 64E-S3
- Contributors: Joshua Whitley, Shichao XIE, xiesc
1.5.1 (2018-12-10)
1.5.0 (2018-10-19)
- Merge pull request #187 from moooeeeep/master Fixed sign error in return value of InputSocket::getPacket()
- bugfix: getPacket() function is expected to return negative value on error
- Contributors: Fabian Maas, Joshua Whitley
1.4.0 (2018-09-19)
- Merge pull request #178 from sts-thm/bugfix_issue_#174 Bugfix issue #174
- Removed debug outputs
- Changes fixing deadlock for specific cut_angle values.
- Merge pull request #135 from cfneuhaus/bugfix Bugfix: when no device ip is set, we still want to filter by udp port.
- Merge pull request #170 from ros-drivers/maint/move_header_files Moving header files to traditional location inside include folders.
- Merge pull request #160 from ros-drivers/maint/updating_package_xml_to_v2
- Updated all package.xmls to ver 2. Cleaned up catkin_lint errors. All package.xml files are now compatible with version 2 of the package.xml specification in REP 140. Removed some unnecessary execute permissions on a few files. Fixed a missing test_depend.
- Merge pull request #151 from Axel13fr/feature/No_Communication_Diag_Update
- Fix packet rate for the Velodyne 32C
- Conventions: adding name for unused method parameter.
- Added a periodic update of the diagnostics so that when no data is received at all from the Velodyne, a diagnostic information will be published. The previous implementation would publish diagnostics only on packet reception.
- Merge pull request #139 from ASDeveloper00/vlp32 Adding support for VLP-32C.
- Merge pull request #138 from volkandre/cut_at_specified_angle_feature
- cut_angle parameter is now in rad according to REP 103
- Fixed timestamp related bug found by \@cfneuhaus, which was described here: https://github.com/ros-drivers/velodyne/pull/126#discussion_r154137793
- bugfix: when no device ip is set, we still want to filter by udp port.
- Contributors: Andre Volk, CNR, Denis Dillenberger, Frank Neuhaus, Jack O'Quin, Joshua Whitley, Sammy Pfeiffer, Tobias Athmer, axd, kennouni
1.3.0 (2017-11-10)
- Merge pull request #129 from kmhallen/pluginlib_macro Modern pluginlib macro
- Update to use non deprecated pluginlib macro
- add launch args to support multiple devices (#108)
- Merge pull request #101 from teosnare/master velodyne_driver/src/lib/input.cc : fix for device_ip filter
- Merge pull request #104 from altrouge/launch_options Add more options in launch files.
- Rearranged alphabetically.
- Add more options in launch files.
- rpm, device_ip, port, read_once, read_fast, repeat_delay
- velodyne_driver/src/lib/input.cc : fix for device_ip filter Fix for device_ip filter in InputSocket: initialization of devip_ for correct ip filtering in InputSocket::getPacket.
- velodyne_driver: credit \@priyankadey for VLP-16 bug fix (#96)
- Merge pull request #96 from priyankadey/master updated VLP-16 packet rate from user manual.
- updated VLP-16 packet rate from user manual. Also verified with sensor. It reduced overlap in the pointcloud
- update change history
- Merge pull request #94 from ros-drivers/pcap_port velodyne_driver: use port number for PCAP data (#46, #66)
- fix g++ 5.3.1 compile errors (#94)
- merge current master (#94)
- Merge pull request #91 from chukcha2/master update velodyne_driver package description to include all models
- update velodyne_driver package description to include all models
- Merge pull request #89 from Tones29/feat_dynrec_driver Add dynamic latency configuration to velodyne_driver
- velodyne_driver: Add dynamic_reconfigure and time_offset correction The value of time_offset is added to the calculated time stamp in live mode for each packet.
- velodyne_driver: Make input destructors virtual
- prepare change history for coming Indigo release (#59)
- velodyne_driver: use port number for PCAP data (#66)
- Merge pull request #39 from zooxco/multivelodyne support for multiple velodynes
- Merge pull request #44 from SISegwayRmp/master adding driver and pointcloud support for the VLP16
- adding the VLP16 test scripts and updating the CMakeLists to include the test file from http://download.ros.org/data/velodyne/vlp16.pcap
- adding support for the VLP16
- parameters to set the udp port
- fixed missing header
- cleanup debug line
- parameter and code added for working with multiple velodynes
- Contributors: Andreas Wachaja, Brice Rebsamen, Daniel Jartoux, Denis Dillenberger, Gabor Meszaros, Ilya, Jack O'Quin, Joshua Whitley, Kevin Hallenbeck, Matteo Murtas, Micho Radovnikovich, Priyanka Dey, William Woodall, jack.oquin, junior, phussey
1.2.0 (2014-08-06)
- Fixed bug in diagnostic rate for driver (#16)
- Contributors: Brice Rebsamen, Jack O'Quin
1.1.2 (2013-11-05)
1.1.1 (2013-07-30)
1.1.0 (2013-07-16)
- Fix build problems due to PCL 1.7 API incompatibilities (#8), thanks to William Woodall. This version also works with Groovy, as long as the correct
pcl_conversions
is installed.- Fix errors with Mac OSX compiler (#8).
- Install
pluginlib
XML files (#9).- Install some launch and parameter files.
- Enable unit tests when
CATKIN_ENABLE_TESTING
is set (#10).
1.0.1 (2013-06-15)
- Declare explicit
pluginlib
dependency (#4).
1.0.0 (2013-06-14)
- Convert to catkin (#1).
- Release to Hydro.
0.9.2 (2013-07-08)
- Fix Groovy build problem (#7).
0.9.1 (2012-06-05)
- Driver socket read path improvements.
- Add unit tests with 32E data.
- Released to Electric, Fuerte and Groovy.
0.9.0 (2012-04-03)
- Completely revised API, anticipating a 1.0.0 release.
- HDL-32E device support.
- New velodyne_driver and velodyne_pointcloud packages.
- Old velodyne_common and velodyne_pcl packages no longer included.
- Released to Electric, Fuerte and Groovy.
0.2.6 (2011-02-23)
- Label all timing-dependent tests "realtime" so they do not run by default on the build farm machines.
0.2.5 (2010-11-19)
- Initial implementation of new 0.3 interfaces.
- Support for ROS 1.3 [std_msgs::Header]{.title-ref} changes.
0.2.0 (2010-08-17)
- Initial release to ROS C-turtle.
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
roslaunch | |
roslint | |
rostest | |
diagnostic_updater | |
dynamic_reconfigure | |
nodelet | |
roscpp | |
tf | |
velodyne_msgs |
System Dependencies
Name |
---|
libpcap |
Dependant Packages
Name | Deps |
---|---|
velodyne | |
velodyne_pointcloud |
Launch files
- launch/nodelet_manager.launch
- -*- mode: XML -*-
-
- device_ip [default: ]
- frame_id [default: velodyne]
- manager [default: $(arg frame_id)_nodelet_manager]
- model [default: 64E]
- pcap [default: ]
- port [default: 2368]
- read_fast [default: false]
- read_once [default: false]
- repeat_delay [default: 0.0]
- rpm [default: 600.0]
- gps_time [default: false]
- pcap_time [default: false]
- cut_angle [default: -0.01]
- timestamp_first_packet [default: false]
- diagnostic_frequency_tolerance [default: 0.1]
Messages
Services
Plugins
Recent questions tagged velodyne_driver at Robotics Stack Exchange
velodyne_driver package from velodyne repovelodyne velodyne_driver velodyne_laserscan velodyne_msgs velodyne_pointcloud |
|
Package Summary
Tags | No category tags. |
Version | 2.5.1 |
License | BSD |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-drivers/velodyne.git |
VCS Type | git |
VCS Version | ros2 |
Last Updated | 2024-10-31 |
Dev Status | DEVELOPED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Josh Whitley
- Brice Rebsamen
Authors
- Jack O'Quin
- Patrick Beeson
- Michael Quinlan
- Yaxin Liu
- Andreas Klintberg
Velodyne ROS 2 driver
This is a ROS 2 driver for Velodyne devices. It currently supports the 64E(S2, S2.1, S3), the 32E, the 32C, and the VLP-16. This driver is responsible for taking the data from the Velodyne and combining it into one message per revolution. To turn that raw data into a pointcloud or laserscan, see the velodyne_pointcloud and velodyne_laserscan packages.
Published Topics
-
/velodyne_packets
(velodyne_msgs/VelodyneScan
) - The raw data from one full revolution of the sensor.
Parameters
-
device_ip
(string) - The IP address that the Velodyne is on. From the factory, this is 192.168.1.201. -
gps_time
(bool) - Whether to use data capture time from a GPS, or from the local time. Should only be set to True if a GPS is attached to the Velodyne. False by default. -
time_offset
(double) - An arbitrary “skew”, in seconds, to add to the acquisition timestamp. Defaults to 0.0. -
enabled
(bool) - Whether the device should start-up enabled or not. Defaults to True. -
read_once
(bool) - Whether to only playback the data once (True) or continuously (False). Only used in PCAP playback mode. Defaults to False. -
read_fast
(bool) - Whether to output the data as fast as possible, (True), or sleep the appropriate delay between packets (False). Only used in PCAP playback mode. Defaults to False. -
repeat_delay
(double) - The time to wait between repeats in continuous playback mode. Only used in PCAP playback mode. Defaults to 0.0. -
frame_id
(string) - The frame_id to use when constructing the header for the packet to be published. Defaults to “velodyne”. -
model
(string) - The model number of the Velodyne attached. This should be one of64E
,64E_S2
,64E_S2.1
,64E_S3
,32E
,32C
, orVLP16
. Defaults to64E
. -
rpm
(double) - The RPM that the Velodyne is configured for. Note that this is descriptive, not prescriptive, so this should be set to match the value configured through the Velodyne web interface. -
pcap
(string) - The PCAP playback file to use to playback data from. Only used in PCAP playback mode. Defaults to the empty string. -
cut_angle
(double) - The azimuth angle at which to declare a single rotation complete. If this is less than 0, then a fixed number of packets (device-dependent) is used per rotation. This mostly works, but can vary because of variations in the hardware. If a positive number <= 2*Pi, a rotation will be declared “complete” when the azimuth reported by the device reaches that value. Defaults to -1.0. -
port
(int) - The port on which to receive data from the Velodyne. From the factory, the Velodyne is configured to publish data on 2368. Defaults to 2368.
Change history
2.5.1 (2024-10-31)
2.5.0 (2024-10-30)
- feat(config): make parameter 'enabled' dynamic (#548)
- Clalancette/cmake cleanups (#546)
- feat: support vls128 for ros2 (#493)
- Update rolling ci (#512) (#513)
- Contributors: Chris Lalancette, Daisuke Nishimatsu, Joshua Whitley
2.4.0 (2023-05-27)
- Disable cut_angle by default. (#497)
-
Unify tf frame parameters between transform and cloud nodes (#344) (#453) * Unify tf frame parameters between transform and cloud nodes At this point there is no need any more for cloud node because transform node includes all features of cloud node. Co-authored-by: AndreasR30 <<andreas-reich@live.de>> Co-authored-by: anre <<andreas.reich@unibw.de>>
- Contributors: Daisuke Nishimatsu, Joshua Whitley
2.3.0 (2022-07-08)
- Updating maintainer email address.
(#450)
- Updating maintainer email address.
* chore: update maintainer email address Co-authored-by: Joshua Whitley <<jwhitley@autonomoustuff.com>>
- fix: use rclcpp logger instead of perror Co-authored-by: Chris Lalancette <<clalancette@gmail.com>>
- reuse Velodyne UDP port (#427)
- Added config option to timestamp a full scan based on first velo packet instead of last packet (#436) Co-authored-by: Shawn Hanna <<shawn@kaarta.com>>
- Replace deprecated argument names in launch (#430)
- 2.1.1
- Updating for first Galactic release
- Minor fixes to string formatting. (#396) These changes will allow velodyne to compile without warnings on Rolling (soon to be Galactic). The changes are also backwards compatible to Foxy if we want to backport them.
- Contributors: Chris Lalancette, Daisuke Nishimatsu, Joshua Whitley, Keane Quigley, Nagy Dániel Zoltán
2.1.1 (2021-08-23)
- Minor fixes to string formatting. (#396) These changes will allow velodyne to compile without warnings on Rolling (soon to be Galactic). The changes are also backwards compatible to Foxy if we want to backport them.
- Contributors: Chris Lalancette
2.1.0 (2020-07-10)
- Fixing Foxy-specific uncrustify errors.
- Contributors: Joshua Whitley
2.0.0 (2020-07-10)
- Fix dependencies in package.xml (#331) Ensure that we depend on ament_cmake_ros as appropriate.
- Fixes pointed out by clang-tidy
(#310)
- Rearrange header includes so clang-tidy is happy.
- Get rid of unnecessary void arguments on methods.
- Properly mark methods as override where appropriate.
- Initialize members and stack variables to zero before use.
- Mark function implementations in header files 'inline'.
- Use more efficient 'empty' method instead of empty string.
- Get rid of unnecessary else statements after a continue/return.
- Get rid of unnecessary == false use.
- Make sure to add a virtual destructor to DataContainerBase.
- Use string != comparison instead of 'compare' method.
- Rename PointcloudXYZIR parameter name to match implementation.
- Get rid of usage of typedef.
- Be more explicit about using floats.
- Do an explicit lround to do int->float conversion.
- Fix the intensity calculation.
- Remove the azimuth from addPoint.
- Make sure to reset the cloud data to 0 before reusing.
- Use underscores on pointcloud member variables.
- Using std::lround means we don't need to add 0.5 to the result.
- Slightly rearrange and simplify range checks.
- Add in example launch files for VLP32C.
- Dashing fixes
(#307)
- Use std::make_unique as appropriate.
- Fix the azimuth calculation.
- Fix a crash during driver startup.
- Always recalculate the row_step while setting up the cloud.
- Make sure to call computeTransformation.
- Fix style errors pointed out by flake8.
- ROS2: Add Linters to velodyne_driver
(#301)
- Renaming files to match ROS2 conventions.
- Cleaning up velodyne_driver and fixing diags.
- velodyne_driver linting complete.
- VD: Removing unused namespace.
- Add in example launch files.
- Disable copy, move, and assign operators.
- Build the components so the velodyne can be run as a component.
- Add in NodeOptions to node constructors.
- Throw an exception for an invalid Velodyne model.
- Add explicit, final, and override to classes where appropriate.
- Switch to using nullptr everywhere.
- Pass read_once, read_fast, and repeat_delay to InputPCAP constructor.
- Change filename parameter to const reference.
- Pass the devip string into the Input* constructors.
- Move gps_time into the InputSocket class.
- Get rid of default parameters for Input* constructors.
- Rename nodes.
- Update the documentation for ROS 2.
- Switch to using the cut angle by default.
- Merge pull request #251 from clalancette/dashing-devel3 ROS 2 Dashing port
- Merge pull request #214 from spuetz/feature/opc_nopcl Container cleanup and organized pointclouds
- Merge pull request #243 from dandedrick/reconfig-enable driver: add enabled reconfigure param
- Merge pull request #234 from kmhallen/c++11 Set minimum C++ standard to C++11
- Merge pull request #231 from ros-drivers/ci/test_better_output CI: Adding roslint as separate step. Limiting output of catkin build.
- Merge pull request #227 from ros-drivers/roslint Applying roslint to velodyne_pointcloud.
- Merge pull request #225 from ros-drivers/roslint Adding roslint to velodyne_driver.
- Merge pull request #222 from mpitropov/feat_Use_GPS_time Add flag to enable using GPS time from within the Velodyne packet instead of ROS time for scan.
- Merge pull request #220 from nbussas/static Transform static variable into member
- Merge pull request #216 from ros-drivers/maint/poll_timeout_handling Testing reporting error instead of stopping node on disconnect.
- Contributors: Andreas Klintberg, Chris Lalancette, Dan Dedrick, Joshua Whitley, Kevin Hallenbeck, Matthew Pitropov, Nils Hauke Bussas, Sebastian, Sebastian Pütz
1.5.2 (2019-01-28)
- Merge pull request #212 from ros-drivers/maint/vdump_as_root Modifying vdump script for use as root. Tested by \@andersfischernielsen.
- Merge pull request #205 from xiesc/master support for 64E-S3
- Contributors: Joshua Whitley, Shichao XIE, xiesc
1.5.1 (2018-12-10)
1.5.0 (2018-10-19)
- Merge pull request #187 from moooeeeep/master Fixed sign error in return value of InputSocket::getPacket()
- bugfix: getPacket() function is expected to return negative value on error
- Contributors: Fabian Maas, Joshua Whitley
1.4.0 (2018-09-19)
- Merge pull request #178 from sts-thm/bugfix_issue_#174 Bugfix issue #174
- Removed debug outputs
- Changes fixing deadlock for specific cut_angle values.
- Merge pull request #135 from cfneuhaus/bugfix Bugfix: when no device ip is set, we still want to filter by udp port.
- Merge pull request #170 from ros-drivers/maint/move_header_files Moving header files to traditional location inside include folders.
- Merge pull request #160 from ros-drivers/maint/updating_package_xml_to_v2
- Updated all package.xmls to ver 2. Cleaned up catkin_lint errors. All package.xml files are now compatible with version 2 of the package.xml specification in REP 140. Removed some unnecessary execute permissions on a few files. Fixed a missing test_depend.
- Merge pull request #151 from Axel13fr/feature/No_Communication_Diag_Update
- Fix packet rate for the Velodyne 32C
- Conventions: adding name for unused method parameter.
- Added a periodic update of the diagnostics so that when no data is received at all from the Velodyne, a diagnostic information will be published. The previous implementation would publish diagnostics only on packet reception.
- Merge pull request #139 from ASDeveloper00/vlp32 Adding support for VLP-32C.
- Merge pull request #138 from volkandre/cut_at_specified_angle_feature
- cut_angle parameter is now in rad according to REP 103
- Fixed timestamp related bug found by \@cfneuhaus, which was described here: https://github.com/ros-drivers/velodyne/pull/126#discussion_r154137793
- bugfix: when no device ip is set, we still want to filter by udp port.
- Contributors: Andre Volk, CNR, Denis Dillenberger, Frank Neuhaus, Jack O'Quin, Joshua Whitley, Sammy Pfeiffer, Tobias Athmer, axd, kennouni
1.3.0 (2017-11-10)
- Merge pull request #129 from kmhallen/pluginlib_macro Modern pluginlib macro
- Update to use non deprecated pluginlib macro
- add launch args to support multiple devices (#108)
- Merge pull request #101 from teosnare/master velodyne_driver/src/lib/input.cc : fix for device_ip filter
- Merge pull request #104 from altrouge/launch_options Add more options in launch files.
- Rearranged alphabetically.
- Add more options in launch files.
- rpm, device_ip, port, read_once, read_fast, repeat_delay
- velodyne_driver/src/lib/input.cc : fix for device_ip filter Fix for device_ip filter in InputSocket: initialization of devip_ for correct ip filtering in InputSocket::getPacket.
- velodyne_driver: credit \@priyankadey for VLP-16 bug fix (#96)
- Merge pull request #96 from priyankadey/master updated VLP-16 packet rate from user manual.
- updated VLP-16 packet rate from user manual. Also verified with sensor. It reduced overlap in the pointcloud
- update change history
- Merge pull request #94 from ros-drivers/pcap_port velodyne_driver: use port number for PCAP data (#46, #66)
- fix g++ 5.3.1 compile errors (#94)
- merge current master (#94)
- Merge pull request #91 from chukcha2/master update velodyne_driver package description to include all models
- update velodyne_driver package description to include all models
- Merge pull request #89 from Tones29/feat_dynrec_driver Add dynamic latency configuration to velodyne_driver
- velodyne_driver: Add dynamic_reconfigure and time_offset correction The value of time_offset is added to the calculated time stamp in live mode for each packet.
- velodyne_driver: Make input destructors virtual
- prepare change history for coming Indigo release (#59)
- velodyne_driver: use port number for PCAP data (#66)
- Merge pull request #39 from zooxco/multivelodyne support for multiple velodynes
- Merge pull request #44 from SISegwayRmp/master adding driver and pointcloud support for the VLP16
- adding the VLP16 test scripts and updating the CMakeLists to include the test file from http://download.ros.org/data/velodyne/vlp16.pcap
- adding support for the VLP16
- parameters to set the udp port
- fixed missing header
- cleanup debug line
- parameter and code added for working with multiple velodynes
- Contributors: Andreas Wachaja, Brice Rebsamen, Daniel Jartoux, Denis Dillenberger, Gabor Meszaros, Ilya, Jack O'Quin, Joshua Whitley, Kevin Hallenbeck, Matteo Murtas, Micho Radovnikovich, Priyanka Dey, William Woodall, jack.oquin, junior, phussey
1.2.0 (2014-08-06)
- Fixed bug in diagnostic rate for driver (#16)
- Contributors: Brice Rebsamen, Jack O'Quin
1.1.2 (2013-11-05)
1.1.1 (2013-07-30)
1.1.0 (2013-07-16)
- Fix build problems due to PCL 1.7 API incompatibilities (#8), thanks to William Woodall. This version also works with Groovy, as long as the correct
pcl_conversions
is installed.- Fix errors with Mac OSX compiler (#8).
- Install
pluginlib
XML files (#9).- Install some launch and parameter files.
- Enable unit tests when
CATKIN_ENABLE_TESTING
is set (#10).
1.0.1 (2013-06-15)
- Declare explicit
pluginlib
dependency (#4).
1.0.0 (2013-06-14)
- Convert to catkin (#1).
- Release to Hydro.
0.9.2 (2013-07-08)
- Fix Groovy build problem (#7).
0.9.1 (2012-06-05)
- Driver socket read path improvements.
- Add unit tests with 32E data.
- Released to Electric, Fuerte and Groovy.
0.9.0 (2012-04-03)
- Completely revised API, anticipating a 1.0.0 release.
- HDL-32E device support.
- New velodyne_driver and velodyne_pointcloud packages.
- Old velodyne_common and velodyne_pcl packages no longer included.
- Released to Electric, Fuerte and Groovy.
0.2.6 (2011-02-23)
- Label all timing-dependent tests "realtime" so they do not run by default on the build farm machines.
0.2.5 (2010-11-19)
- Initial implementation of new 0.3 interfaces.
- Support for ROS 1.3 [std_msgs::Header]{.title-ref} changes.
0.2.0 (2010-08-17)
- Initial release to ROS C-turtle.
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
ament_cmake_ros | |
ament_cmake_gtest | |
ament_lint_auto | |
ament_lint_common | |
diagnostic_updater | |
rclcpp | |
rclcpp_components | |
tf2_ros | |
velodyne_msgs |
System Dependencies
Name |
---|
libpcap |
Dependant Packages
Name | Deps |
---|---|
velodyne |
Launch files
Messages
Services
Plugins
Recent questions tagged velodyne_driver at Robotics Stack Exchange
velodyne_driver package from velodyne repovelodyne velodyne_driver velodyne_laserscan velodyne_msgs velodyne_pointcloud |
|
Package Summary
Tags | No category tags. |
Version | 1.5.2 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/ros-drivers/velodyne.git |
VCS Type | git |
VCS Version | melodic-devel |
Last Updated | 2021-05-13 |
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
Additional Links
Maintainers
- Josh Whitley
- Brice Rebsamen
Authors
- Jack O'Quin
- Patrick Beeson
- Michael Quinlan
- Yaxin Liu
Change history
1.5.2 (2019-01-28)
- Merge pull request #212 from ros-drivers/maint/vdump_as_root Modifying vdump script for use as root. Tested by \@andersfischernielsen.
- Merge pull request #205 from xiesc/master support for 64E-S3
- Contributors: Joshua Whitley, Shichao XIE, xiesc
1.5.1 (2018-12-10)
1.5.0 (2018-10-19)
- Merge pull request #187 from moooeeeep/master Fixed sign error in return value of InputSocket::getPacket()
- bugfix: getPacket() function is expected to return negative value on error
- Contributors: Fabian Maas, Joshua Whitley
1.4.0 (2018-09-19)
- Merge pull request #178 from sts-thm/bugfix_issue_#174 Bugfix issue #174
- Removed debug outputs
- Changes fixing deadlock for specific cut_angle values.
- Merge pull request #135 from cfneuhaus/bugfix Bugfix: when no device ip is set, we still want to filter by udp port.
- Merge pull request #170 from ros-drivers/maint/move_header_files Moving header files to traditional location inside include folders.
- Merge pull request #160 from ros-drivers/maint/updating_package_xml_to_v2
- Updated all package.xmls to ver 2. Cleaned up catkin_lint errors. All package.xml files are now compatible with version 2 of the package.xml specification in REP 140. Removed some unnecessary execute permissions on a few files. Fixed a missing test_depend.
- Merge pull request #151 from Axel13fr/feature/No_Communication_Diag_Update
- Fix packet rate for the Velodyne 32C
- Conventions: adding name for unused method parameter.
- Added a periodic update of the diagnostics so that when no data is received at all from the Velodyne, a diagnostic information will be published. The previous implementation would publish diagnostics only on packet reception.
- Merge pull request #139 from ASDeveloper00/vlp32 Adding support for VLP-32C.
- Merge pull request #138 from volkandre/cut_at_specified_angle_feature
- cut_angle parameter is now in rad according to REP 103
- Fixed timestamp related bug found by \@cfneuhaus, which was described here: https://github.com/ros-drivers/velodyne/pull/126#discussion_r154137793
- bugfix: when no device ip is set, we still want to filter by udp port.
- Contributors: Andre Volk, CNR, Denis Dillenberger, Frank Neuhaus, Jack O'Quin, Joshua Whitley, Sammy Pfeiffer, Tobias Athmer, axd, kennouni
1.3.0 (2017-11-10)
- Merge pull request #129 from kmhallen/pluginlib_macro Modern pluginlib macro
- Update to use non deprecated pluginlib macro
- add launch args to support multiple devices (#108)
- Merge pull request #101 from teosnare/master velodyne_driver/src/lib/input.cc : fix for device_ip filter
- Merge pull request #104 from altrouge/launch_options Add more options in launch files.
- Rearranged alphabetically.
- Add more options in launch files.
- rpm, device_ip, port, read_once, read_fast, repeat_delay
- velodyne_driver/src/lib/input.cc : fix for device_ip filter Fix for device_ip filter in InputSocket: initialization of devip_ for correct ip filtering in InputSocket::getPacket.
- velodyne_driver: credit \@priyankadey for VLP-16 bug fix (#96)
- Merge pull request #96 from priyankadey/master updated VLP-16 packet rate from user manual.
- updated VLP-16 packet rate from user manual. Also verified with sensor. It reduced overlap in the pointcloud
- update change history
- Merge pull request #94 from ros-drivers/pcap_port velodyne_driver: use port number for PCAP data (#46, #66)
- fix g++ 5.3.1 compile errors (#94)
- merge current master (#94)
- Merge pull request #91 from chukcha2/master update velodyne_driver package description to include all models
- update velodyne_driver package description to include all models
- Merge pull request #89 from Tones29/feat_dynrec_driver Add dynamic latency configuration to velodyne_driver
- velodyne_driver: Add dynamic_reconfigure and time_offset correction The value of time_offset is added to the calculated time stamp in live mode for each packet.
- velodyne_driver: Make input destructors virtual
- prepare change history for coming Indigo release (#59)
- velodyne_driver: use port number for PCAP data (#66)
- Merge pull request #39 from zooxco/multivelodyne support for multiple velodynes
- Merge pull request #44 from SISegwayRmp/master adding driver and pointcloud support for the VLP16
- adding the VLP16 test scripts and updating the CMakeLists to include the test file from http://download.ros.org/data/velodyne/vlp16.pcap
- adding support for the VLP16
- parameters to set the udp port
- fixed missing header
- cleanup debug line
- parameter and code added for working with multiple velodynes
- Contributors: Andreas Wachaja, Brice Rebsamen, Daniel Jartoux, Denis Dillenberger, Gabor Meszaros, Ilya, Jack O'Quin, Joshua Whitley, Kevin Hallenbeck, Matteo Murtas, Micho Radovnikovich, Priyanka Dey, William Woodall, jack.oquin, junior, phussey
1.2.0 (2014-08-06)
- Fixed bug in diagnostic rate for driver (#16)
- Contributors: Brice Rebsamen, Jack O'Quin
1.1.2 (2013-11-05)
1.1.1 (2013-07-30)
1.1.0 (2013-07-16)
- Fix build problems due to PCL 1.7 API incompatibilities (#8), thanks to William Woodall. This version also works with Groovy, as long as the correct
pcl_conversions
is installed.- Fix errors with Mac OSX compiler (#8).
- Install
pluginlib
XML files (#9).- Install some launch and parameter files.
- Enable unit tests when
CATKIN_ENABLE_TESTING
is set (#10).
1.0.1 (2013-06-15)
- Declare explicit
pluginlib
dependency (#4).
1.0.0 (2013-06-14)
- Convert to catkin (#1).
- Release to Hydro.
0.9.2 (2013-07-08)
- Fix Groovy build problem (#7).
0.9.1 (2012-06-05)
- Driver socket read path improvements.
- Add unit tests with 32E data.
- Released to Electric, Fuerte and Groovy.
0.9.0 (2012-04-03)
- Completely revised API, anticipating a 1.0.0 release.
- HDL-32E device support.
- New velodyne_driver and velodyne_pointcloud packages.
- Old velodyne_common and velodyne_pcl packages no longer included.
- Released to Electric, Fuerte and Groovy.
0.2.6 (2011-02-23)
- Label all timing-dependent tests "realtime" so they do not run by default on the build farm machines.
0.2.5 (2010-11-19)
- Initial implementation of new 0.3 interfaces.
- Support for ROS 1.3 [std_msgs::Header]{.title-ref} changes.
0.2.0 (2010-08-17)
- Initial release to ROS C-turtle.
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
roslint | |
catkin | |
roslaunch | |
rostest | |
diagnostic_updater | |
dynamic_reconfigure | |
nodelet | |
roscpp | |
tf | |
velodyne_msgs |
System Dependencies
Name |
---|
libpcap |
Dependant Packages
Name | Deps |
---|---|
velodyne | |
velodyne_pointcloud |
Launch files
- launch/nodelet_manager.launch
- -*- mode: XML -*-
-
- device_ip [default: ]
- frame_id [default: velodyne]
- manager [default: $(arg frame_id)_nodelet_manager]
- model [default: 64E]
- pcap [default: ]
- port [default: 2368]
- read_fast [default: false]
- read_once [default: false]
- repeat_delay [default: 0.0]
- rpm [default: 600.0]
- gps_time [default: false]
- cut_angle [default: -0.01]
- timestamp_first_packet [default: false]