This library includes some tools for laser handling in ROS. At the moment two nodes are available:
- laserscan_multi_merger
- laserscan_virtualizer
Both use part of the pointcloud_to_laserscan code available in ROS.
Laserscan_merger allows to easily and dynamically (rqt_reconfigure) merge multiple, same time, single scanning plane, laser scans into a single one; this is very useful for using applications like gmapping, amcl, pamcl on vehicles with multiple single scanning plane laser scanners, as these applications require just one laser scan as input. The scanning planes need to be approximately the same. The resulting scan will appear generated from a single scanner dis-regarding actual occlusions as seen from the merged scans; for instance, consider the case of 2 scanners mounted on the 2 front corners A and B of a rectangular vehicle (we live in 2D); each scanner gives out a 270degs scan, from along the long side of the vehicle going backward to toward the other scanner. The merged scan will appear as generated from a virtual scanner positioned in C, halfway A and B, and measuring the same measures of the merges scans, irregardless of the occlusions that would apply to a real scanner positioned in C.
Laserscan_virtualizer allows to easily and dynamically (rqt_reconfifure) generate virtual laser scans from a pointcloud such as the one generated by a multiple scanning plane laser scanner, e.g., a velodyne scanner). The only requirement is the rototranslation between the virtual laser scanner and the base frame to be known to TF.
The documentation is at the moment very brief, for any question please contact us at furlan@disco.unimib.it or augusto.ballardini@unimib.it
Paper link: https://arxiv.org/abs/1411.1086
Both nodes compile under catkin in hydro/indigo and use PCL1.7