Pointcloud_to_laserscan not including planar surfaces close to the ground

asked 2022-03-24 04:35:03 -0600

I just recently implemented an Ouster OS1 LiDAR into my robotic platform. Everything works great and I'm able to visualize and access all the data coming from the OS1. In order to use the data with gmapping and the navigation stack, I also configured the pointcloud_to_laserscan node to get a working LaserScan message from the PointCloud2 message the Ouster ROS driver provides. The problem has to do with planar surfaces that are close to the ground, as the one you can see in the picture attached.

The surface is 20 cm high, and the OS1 is "seeing" the surface as you can check on Rviz. However, the data corresponding to those boxes is not being translated into the LaserScan message. My guess is that it has to do with the fact that is a relatively wide planar surface close to the ground, and therefore it's eliminating those points (thinking they belong to the ground?), since usually it's able to locate individual obstacles of that height. I've tried playing with the min_height parameter in the pointcloud_to_laserscan node, but it doesn't change anything.

Any advice on how to actually include those points into the LaserScan message? I'd like for those obstacles to be present on the map being generated by gmapping, since it's a non-traversable area for the robot.

Thanks in advance!

image description image description

P.S.: Using ROS Melodic.

edit retag flag offensive close merge delete