Change history
1.7.0 (2022-07-08)
- build timings in offline setup (#428)
Currently when using the offline setup, it does not build the per-point timing offsets which means when unpacking the packets in the offline mode, you cannot timestamp each point with its packet time.
This commit does the following:
- call buildTimings from setupOffline function
- add model to setupOffline interface
- set config model param which is needed by buildTimings
- vls128: add line only once all four banks are processed (#413)
- PCAP timestamps & PCAP+GPS timestamps (#384)
* Add pcap_time param and implement gps_time with it
* If gps_time == true, ignore pcap_time
- Fixed row_step=0 when init_width=0 (dense cloud) (#404)
The PointCloud2 msg will be then valid: http://docs.ros.org/en/melodic/api/sensor_msgs/html/msg/PointCloud2.html
Referred issues:
* https://answers.ros.org/question/377470/rtabmap-icp_odometrycpp453callbackcloud-fatal-error/
* http://official-rtab-map-forum.67519.x6.nabble.com/Condition-scan3dMsg-data-size-scan3dMsg-row-step-scan3dMsg-height-not-met-td7852.html
- Fix accidental integer division (#391)
Intensity values for VLP-16 were being calculated incorrectly.
- Add VLS128 launch and calibration file (#382)
- Fixing incorrect type in velodyne_pointcloud.
- Fixing typo.
- 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: Daisuke Nishimatsu, HMellor, Institute for Autonomous Systems Technology, Joshua Whitley, Martin Valgur, Nick Charron, Sebastian Scherer, matlabbe
1.6.1 (2020-11-09)
- Add invalid points in organized cloud (#360)
* Set NaN in ordered point cloud in case of no return
* Adapt to current master
* consider min/max angle and timing_offsets also in organized mode
Co-authored-by: Nuernberg Thomas (CR/AEV4) <thomas.nuernberg@de.bosch.com>
- build and export library data_containers so it can be used in other packages (#359)
- Contributors: Sebastian Scherer
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>
- Velodyne pcl (#335)
* fix time assignment in organized cloud container
* add velodyne_pcl package with point_types.h
* add README.md with infos for conversion
* rename containers to cover the added time property
* Update package.xml to Format2 and package version to 1.5.2
Co-authored-by: Joshua Whitley <josh.whitley@autoware.org>
- Passing fixed_frame and target_frame to Convert object. (#330)
- Updating maintainer email address.
- Increase the max_range of the 32C launch file (#323)
- Getting model param for timings from private node handle. (#318)
- updated model to have a default of "" so that tests run successfully
- Move timing offsets functionality into class private. Also fix linter errors
- Added model param to each of the cloud nodelet starters
- Initial commit to timestamp each point using the timing spec in the manuals
- 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
- Remove a dead store from rawdata.cc.
- fix for #267, transform each packet
- Merge pull request #250 from zhixy/master
bug fix for row step
- Merge pull request #253 from ros-drivers/fix/fixed_frame_target_frame
Add configurable fixed_frame/target_frame for velodyne_pointcloud
- Merge pull request #214 from spuetz/feature/opc_nopcl
Container cleanup and organized pointclouds
- Merge pull request #236 from mpitropov/fix_transform_node_frame_bug
set correct output frame
- Merge pull request #234 from kmhallen/c++11
Set minimum C++ standard to C++11
- Merge pull request #223 from mpitropov/feat_Add_fixed_frame
Add fixed frame and use ros message time within transform node
- Made static tf publisher test adhere to REP 105
- change more odom to map
- Merge pull request #224 from mpitropov/feat_add_diagnostics
Added diagnostic publishing
- 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.
- Created gps_time param to enable this feature
- Contributors: AndreasR30, Chris Lalancette, Daniel Seifert, Ian Colwell, Joshua Whitley, Kevin Hallenbeck, Matthew Pitropov, Sebastian, Sebastian Pütz, Shawn Hanna, zhixiangyang
1.5.2 (2019-01-28)
- Merge pull request #205 from xiesc/master
support for 64E-S3
- add an example yaml file for S3
- Contributors: Joshua Whitley, Shichao XIE, xiesc
1.5.1 (2018-12-10)
- Merge pull request #194 from ros-drivers/avoid_unnecessary_computation
Avoid unnecessary computation - causes approximately 20% performance increase on VLP-32C - should be similar for other sensors
- std::vector<>::reserve is your friend
- add static to avoid frequence memory allocation
- avoid unecesary calculations in unpack()
- Contributors: Davide Faconti, Joshua Whitley
1.5.0 (2018-10-19)
- Merge pull request #164 from ros-drivers/maint/vlp_32c_support
Adding VLP-32C support.
This was tested by AutonomouStuff and several external users. Though it does not include new information that I've learned (it appears that the distance resolution is different <50m vs >=50m), it is a good start.
- Merge pull request #189 from kveretennicov/patch-1
- Fix malformed plugin description XML
ROS pluginlib only recognizes multiple <library> elements if they are under
<class_libraries> XML root. It silently ignores malformed XMLs with multiple
<library> "root"s and just reads the first one, due to relaxed way tinyxml2 does
parsing. Though if you do rosrun nodelet declared_nodelets, the issue is
reported properly.
See also similar issue in https://github.com/ros-perception/perception_pcl/issues/131
- Adding distance_resolution to test yaml files.
- Adding VLP-32C support.
Based on work done by @rockcdr. Adds distance_resolution calibration
value to support 0.004m distance resolution for VLP-32C.
- Contributors: Joshua Whitley, Konstantin Veretennicov
1.4.0 (2018-09-19)
- Merge pull request #178 from sts-thm/bugfix_issue_`#174 <https://github.com/ros-drivers/velodyne/issues/174>`_
Bugfix issue #174
- Merge pull request #177 from C-NR/feature/WrapPointcloudData
Feature/wrap pointcloud data
- Changes fixing deadlock for specific cut_angle values.
- moved definition of VPoint and VPointCloud back to namespace rawdata in rawdata.h
- put a wrapper around pointcloud data including a generic setter method to enable the use of arbitrary data structures (pcl pointcloud, depth image, octomaps and so on) to be filled by just using RawData::unpack method with the wrapper object as parameter
- 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 #136 from stsundermann/patch-1
Use std::abs instead of abs
- Adding missing 32C configuration file.
- Merge pull request #139 from ASDeveloper00/vlp32
Adding support for VLP-32C.
- Merge pull request #138 from volkandre/cut_at_specified_angle_feature
Cut at specified angle feature
- Updated default cut_angle parameters in launch files after switching from deg to rad.
- Use std::abs instead of abs
abs is the c version which returns an integer. This is probably not intended here, so use the templated std::abs function.
- Contributors: Andre Volk, Autonomoustuff Developer, CNR, Joshua Whitley, Kyle Rector, Stephan Sundermann, Tobias Athmer, kennouni
1.3.0 (2017-11-10)
- Merge pull request #110 from kmhallen/master
Added velodyne_laserscan package
- Merge remote-tracking branch ros-drivers/master
- Merge pull request #129 from kmhallen/pluginlib_macro
Modern pluginlib macro
- Update to use non deprecated pluginlib macro
- Merge pull request #127 from swri-robotics/add_vlp16_hires_support
Add VLP16 Puck Hi-Res config file
- Add VLP16 Puck Hi-Res support
- velodyne_pointcloud: remove incorrect catkin_package() DEPENDS option (#93)
This eliminates a CMake warning when building on Xenial.
- Merge pull request #111 from OrebroUniversity/master
Added an interface to set up raw data processing offline
- Added an interface to set up raw data processing from a locally defined calibration file. This method is useful when processing data offline from a bag file, without starting any ros master
- Added velodyne_laserscan package and inserted into existing launch files
- test multiple nodelet manager support (#108)
- add launch args to support multiple devices (#108)
- Merge pull request #105 from fudger/patch-1
Remove unused constants.
- Merge pull request #104 from altrouge/launch_options
Add more options in launch files.
- Rearranged alphabetically.
- Remove unused constants.
DISTANCE_MAX and DISTANCE_MAX_UNITS are not used anywhere in the code.
Furthermore, using them would lead to errors as both VLP-64 manuals state that returns above 120 m should not be used. The VLP-32 manual allows 70 m as the maximum valid sensor range.
- Merge pull request #103 from fudger/patch-1
Fix misleading typecasts.
- Add more options in launch files.
- rpm, device_ip, port, read_once, read_fast, repeat_delay
- Fix misleading typecasts.
intensity and VPoint::intensity are both of type float.
- update change history
- merge current master (#94)
- Merge pull request #92 from adasta/master
GCC Build Warnings
- Modified velodyne_point_cloud/src/lib/rawdata.cc to address warning
that last_azimuth_diff variable may be used uninitialized. Variable
is now initialized to 0 at creation.
velodyne/velodyne_pointcloud/src/lib/rawdata.cc:328:57: error: ‘last_azimuth_diff’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
azimuth_corrected_f = azimuth + (azimuth_diff * ((dsr*VLP16_DSR_TOFFSET) + (firing*VLP16_FIRING_TOFFSET)) / VLP16_BLOCK_TDURATION);
- Modified velodyne_pointcloud/src/conversion/colors.cc to remove
address build warning for strict-aliasing.
velodyne/velodyne_pointcloud/src/conversions/colors.cc:84:58:
- Merge pull request #89 from Tones29/feat_dynrec_driver
Add dynamic latency configuration to velodyne_driver
- velodyne_pointcloud: Fix compile warning "Wrong initialization order"
- velodyne_pointcloud: add dynamic reconfig update to change log (#78)
- Merge branch fudger-reconfigure_transform_node
- velodyne_pointcloud: use recommended add_dependencies() CMake variable #78
- velodyne_pointcloud: fix transform unit tests
Use tf2_ros static_transform_publisher for more consistent timing (#2)
- Merge branch reconfigure_transform_node of https://github.com/fudger/velodyne
- prepare change history for coming Indigo release (#59)
- calibration: unit test case improvements (#84)
- calibration: read all intensities as float, then convert (#84)
- calibration: add gtest for #84
This currently fails on 64e_s2.1-sztaki.yaml and on issue_84_float_intensities.yaml.
- calibration: make max_intensity and min_intensity optional (#84)
This fixes a regression in the 32e and VLP-16 calibrations which do not contain
intensity values. There is still a problem with the 64e_s2.1 calibration.
- Merge pull request #76 from pomerlef/master
Sign inversion in some equations
- Merge pull request #82 from ros-drivers/fix_pr_80
Fix pr 80; adding travis CI tests.
- fix the yaml-cpp 0.5 code paths
- Merge pull request #80 from ros-drivers/fix_yaml_import
allow floats in min/max_intensity and make horiz_offset_correction optional
- allow horiz_offset_correction to be optional with 0 as default
- allow floats instead of ints in min/max_intensity
- Resolve frame ID name using tf prefix.
- Improve coding style.
- Set up dynamic reconfiguration for transform_node.
Previously, transform_node has neither read parameters other than frame_id from the command line nor has it exposed these parameters via dynamic reconfigure. As parameters like max_range and view_width have been initialized to zero, the inconfigurable transform_node has returned an empty point cloud.
Now, transform_node launches an reconfigure server just as cloud_node. In contrast to cloud_node, transform node exposes another parameter for dynamic reconfiguration: frame_id, i.e. the frame of reference the incoming Velodyne points are transformed to.
- Merge pull request #77 from fudger/pretty_print
Fix output of calibration data onto console
- Add a missing space.
- Fix line that always indicates use of model VLP-16.
- Align console output of calibration data.
- Merge branch master of https://github.com/ros-drivers/velodyne
- resolve sign error
- Merge pull request #73 from fudger/master
Correct important data type error for VLP-16
- Fix data type error that distorts the point cloud.
- Fix and add a few comments.
- Merge pull request #68 from jlblancoc/patch-1
Remove unused variable
- Remove unused variable
I think that dsr was unused. See line 317:
for (int dsr=0; ...
- VLP-16: skip badly formatted data packets (#62, #63)
- restore VLP-16 min_range setting to 0.4 (#60)
NOTE: There is still some other problem keeping that from working.
- permit min_range settings below 0.9 meters (#60)
No known models are currently known to return closer measurements.
- Merge pull request #55 from lemiant/azimuth_bug_VLP16
Fixed azimuth overflow bug.
- Fixed azimuth overflow bug.
For interpolated azimuth values between 35999.5 and 36000.0 the nested round(fmod())
yields a value of 36000 which is invalid and overflows the pre-computed sin/cos arrays,
since they only go form 0..35999
- Merge pull request #51 from kunlileo/master
Added vertical sin angle correction
- Added vertical sin angle correction
- Merge pull request #47 from prclibo/master
fixed rounding bug in intensity calculation found by songshiyu
- fixed rounding bug in intensity calculation found by songshiyu
- fix some overly long C++ source lines
- Merge pull request #44 from SISegwayRmp/master
adding driver and pointcloud support for the VLP16
- missed the space in the file name which caused the build to fail, removed space before extension
- 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
- Merge pull request #43 from prclibo/fix_rawdata
fixed point computation according to the 64e_s2(.1) velodyne manual
- fixed point computation according to the 64e_s2(.1) velodyne manual, with luopei"s help
- Merge pull request #41 from prclibo/master
fixed a calibration file parsing bug
- Merge pull request #42 from prclibo/fix_gen_calibration
fixed gen_calibration min/max intensity type
- fixed gen_calibration min/max intensity type
- fixed a calibration file parsing bug
- Contributors: Adam Stambler, Alex Rodrigues, Alexander Schaefer, Andreas Wachaja, Bo Li, Daniel Jartoux, Gabor Meszaros, Jack OQuin, Jose Luis Blanco-Claraco, Joshua Whitley, Kevin Hallenbeck, Kris Kozak, Kun Li, Micho Radovnikovich, Scott K Logan, Thomas Solatges, Todor Stoyanov, William Woodall, jack.oquin, libo24, phussey, piyushk, pomerlef
1.2.0 (2014-08-06)
- velodyne_pointcloud: remove model-dependent "constants" from
rawdata.h (#28)
- velodyne_pointcloud: change default min_range to 0.9 meters (#25)
- Added support for YAML-CPP 0.5+ (#23).
- Add dynamic_reconfigure feature.
- Add angular limits to the output point cloud, useful for omitting
part of it. (#22).
- Contributors: Jack OQuin, Scott K Logan, Thomas Solatges
1.1.2 (2013-11-05)
- Move unit test data to download.ros.org (#18).
- Install missing gen_calibration.py script (#20).
1.1.1 (2013-07-30)
- Fix lost frame_id transform problem caused by PCL 1.7 fix (#13).
- Add support for HDL-64E S2 and S2.1 models, which were not working
before (#11), thanks to Gabor Meszaros (#12).
- Add additional parameters to launch files (#14).
- Contributors: Gabor Meszaros, Jack OQuin
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)
- Only include "enabled" lasers in YAML calibration file.
- New param subdirectory for parameter files.
- Add launch file for the HDL-32E.
- Add rviz_points.vcg file for viewing Velodyne point clouds with rviz.
- Fix bug when reading configuration with default minIntensity.
- 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 YAML configuration file format.
- 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 changes.
0.2.0 (2010-08-17)
- Initial release to ROS C-turtle.