Blickfeld ROS package

This package provides an ROS node and a nodelet for publishing PointCloud2 messages from Blickfeld LiDAR devices.

Supported devices

The Blickfeld ROS driver supports all currently available Blickfeld LiDARs, such as Cube 1 and Cube Range 1.

Dependencies

To install the Blickfeld ROS driver, please make sure that the following dependencies are installed on your system.

Build

To build the ROS driver, clone this package into your ROS catkin workspace.

Run

$ catkin build

or respectively

$ catkin build blickfeld_driver

You may use catkin_make instead of catkin build as well.

Running the Blickfeld ROS node

You can start the Blickfeld driver as either a node or a nodelet. For the node, you can use the launch file

$ live_scanner.launch

and for the nodelet, the

$ live_scanner_nodelet.launch

is provided.

The typical way to launch the ROS driver is the following (Make sure you have sourced your workspace):

$ roslaunch blickfeld_driver live_scanner.launch host:=cube-0028

or respectively

$ roslaunch blickfeld_driver live_scanner_nodelet.launch host:=cube-0028  

You should now be able to see a PointCloud2 in Rviz on the /bf_lidar/points_raw topic.

Parameters

Both launch files have arguments you can use:

Argument Note Default
host (required) The host name or the IP of the device you want to publish the point clouds from, e.g., cube-0028.
node_name Name of this ROS node. bf_lidar
point_cloud_out Topic to publish the PointCloud2 message to. $(arg node_name)/points_raw
remap Remap this node’s input/output topics to commonly used ones.
If false, canonical names in the form of $(arg node_name)/foo_(in/out) are used, depending on whether a topic is an input or and output topic.
true
lidar_frame_id The ROS TF where the point cloud should be in. lidar
rviz Start rviz if this argument is true. false
use_lidar_timestamp Set to true if the timestamp in the ROS point cloud message should be generated from the device timestamp; otherwise the timestamp will be the ROS time when the frame was received on ROS. true
publish_intensities Set to true if the PointCloud2 message should contain intensities. true
publish_ambient_light Set to true if the PointCloud2 message should contain the ambient light level. false
publish_explicit_range Set to true if the PointCloud2 message should contain the range field. false
publish_no_return_points Set to true if the PointCloud2 message should contain points in a given range for pulses without a return. false
no_return_point_range Dummy range for points of pulses without a return. 1.0
publish_all_returns Set to true to publish all the returns for every point. Adds the field return_id (ID for each returned point) to the point cloud. false
publish_time_delta If true, the PointCloud2 message will contain the timestamp field per point to represent the time offset from the start of the frame. false
publish_point_id Add the scanline_id field, the scanline_point_index field (= the point’s number in the scan line), and the point_id (= frame-global point ID) to PointCloud2 message.
If the device is configured to return multiple return points (multiple reflections), all these three IDs will be identical; only the return_id will differ.
false

License

This package is released under a BSD 3-Clause License (see also https://opensource.org/licenses/BSD-3-Clause)