ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

How to receive (and display) only one full scan when the FOV is reduced for the Velodyne lidar?

asked 2021-12-02 22:57:30 -0500

rrr6399 gravatar image

I reduced the FOV of my VLP-16 Velodyne lidar to eliminate unwanted clutter by specifying the FOV start (290) and end (340) angles in the Velodyne web interface. When I did this, it appears that the number of point in the point_cloud displayed in rviz for the reduced FOV (290-340) includes multiple time slices since the display gets denser and slower. In fact the number of points per PointCloud2 message increased to 28,697 per message compared to 26734 (or so). Is there an option in the Velodyne driver to only bundle one full scan per message? Or, do I need to filter the message manually to pull out the most current scan?

There are also warnings that a "Packet containing angle overflow". It may be that the driver doesn't expect the FOV to be reduced through the separate Velodyne web interface.

edit retag flag offensive close merge delete


LidarView seems to process the data correctly so there is enough info in the lidar packets to process it correctly.

rrr6399 gravatar image rrr6399  ( 2021-12-02 23:00:19 -0500 )edit

Have you found an answer? If so pls document as an answer for others to benefit. Thank you

osilva gravatar image osilva  ( 2021-12-03 05:55:44 -0500 )edit

I don't understand what you mean by "clutter". What is it you are trying to save by reducing the scan arc?

Mike Scheutzow gravatar image Mike Scheutzow  ( 2021-12-03 14:54:13 -0500 )edit

I only want data within a given FOV not everything in the default 0 to 359 deg FOV. For instance, only in the front, not the back.

rrr6399 gravatar image rrr6399  ( 2021-12-03 16:44:36 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2021-12-03 14:54:01 -0500

Mike Scheutzow gravatar image

The velodyne device outputs the scan samples in "packets" of fixed size, simply filling up each packet one after the other. This means that the first sample of a new scan does not usually align with the start of a packet. That "overflow warning" is the ros velodyne driver telling you that it detected the start of a new scan in the middle of a packet... then the ros driver discards the remaining scan samples until end-of-packet is reached. This causes those samples from the beginning of the scan to be lost. This bug has been in there for many years, unfixed.

edit flag offensive delete link more


Thanks for the response. Do you know if there is a way for the Velodyne driver to output a PointCloud2 message with just one full scan of the reduced FOV range? Right now rviz gets confused by the message with multiple scans in one and my processor will have to pull out a single scan as well for processing efficiency. (I haven't found any options. I've started looking at the source code as well.)

rrr6399 gravatar image rrr6399  ( 2021-12-03 16:08:06 -0500 )edit

I think you are mis-interpreting what is happening. It is very clear in the data stream from the hardware where the scan boundary is, so I doubt the ros driver is confused about that. But the ros driver may be confused about the horizontal increment between samples if you changed the hardware config. I vaguely recall you have to use a ros param to tell the driver what the horizontal angle_increment is.

Mike Scheutzow gravatar image Mike Scheutzow  ( 2021-12-03 18:39:17 -0500 )edit

I'll look for an angle_increment. I can't post images since I don't have enough points, but here is a comparison between the streamed data displayed in LidarView and rviz. (Notice my ceiling fan is displayed correctly in LidarView, but has more blades in rviz due to the multiple scans I believe.)

rrr6399 gravatar image rrr6399  ( 2021-12-03 19:12:15 -0500 )edit

Question Tools

1 follower


Asked: 2021-12-02 22:20:52 -0500

Seen: 250 times

Last updated: Dec 03 '21