Skip to content

LiDAR Topics

The lidar topics are managed by the lidarpub service and handles interfacing with a connected lidar to produce lidar point clouds, reflectivity maps, and depth maps.

  • Ouster OS1

The lidar topics are published under the /lidar namespace and offers the following sub-topics: /lidar/points, /lidar/reflect, /lidar/depth, and /lidar/clusters. The density of the lidar points, the frequency of updates, and the field of view of the lidar are configurable through the lidarpub service. See lidarpub service configuration documentation for details.

/lidar/points

The /lidar/points topic publishes information about the lidar points using the PointCloud2 schema. The point cloud will have the fields x, y, z, and reflect.

Field Name Datatype Units Notes
x float32 m Represent XYZ location of the point
y float32 m Represent XYZ location of the point
z float32 m Represent XYZ location of the point
reflect uint8 Intensity of reflected LiDAR beam

The XYZ coordinate system follows the standard ROS convention of x forward, y left, z up. However, note that the lidar frame is rotated 180 degrees from the base_link frame, with forward facing the back of the camera.

Usage Link
WebUI
Foxglove PointCloud2 Example
SDK Lidar Points Example

/lidar/reflect

The /lidar/reflect topic publishes the reflectivity map using the Image schema. The encoding of the image is mono8. The value of a pixel is the reflectivity of that point. The width of a pixel depends on the number of columns configured on the lidar.

Usage Link
WebUI
Foxglove Image Example
SDK Lidar Reflect Example

/lidar/depth

The /lidar/depth topic publishes the depth map using the Image schema. The encoding of the image is mono16. The value of a pixel is the distance from the lidar to the point in millimeters. The width of a pixel depends on the number of columns configured on the lidar.

Usage Link
WebUI
Foxglove Image Example
SDK Lidar Depth Example

/lidar/clusters

The /lidar/clusters topic publishes the lidar clusters pointcloud using the PointCloud2 schema. The point cloud will have the fields x, y, z, cluster_id, and reflect.

Field Name Datatype Units Notes
x float32 m Represent XYZ location of the point
y float32 m Represent XYZ location of the point
z float32 m Represent XYZ location of the point
cluster_id uint32 0 means not clustered. Otherwise same cluster id means same cluster
reflect uint8 Intensity of reflected LiDAR beam

The XYZ coordinate system follows the standard ROS convention of x forward, y left, z up. However, note that the lidar frame is rotated 180 degrees from the base_link frame, with forward facing the back of the camera.

This topic is only published if the lidarpub service is configured with the clustering task enabled.

Usage Link
WebUI
Foxglove PointCloud2 Example
SDK Lidar Clusters Example