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

Revision history [back]

click to hide/show revision 1
initial version

You could use the pointcloud_to_laserscan node (http://wiki.ros.org/pointcloud_to_laserscan)

It will take in your 3D PointCloud and convert it into a 2D LaserScan message. This will be a horizontal layer orthogonal to the Z-axis of the LiDAR sensor.

When configuring the pointcloud_to_laserscan node you can set the min_height, max_height, and target_frame parameters. The node will function by taking any points in the cloud that are between those two heights (0 height being the target_frame), and projecting any points in that range down onto the target frame plane. If you set the min_height and max_height to be very close you can isolate specific rings of the pointcloud. This is quite powerful for using a 3D sensor with a navigation stack that only expects 2D LaserScans.

You could also write your own pointcloud processing node that just grabs isolated layers according to the pointcloud definition (http://docs.ros.org/en/lunar/api/sensor_msgs/html/msg/PointCloud2.html)

You could use the pointcloud_to_laserscan node (http://wiki.ros.org/pointcloud_to_laserscan)found here

It will take in your 3D PointCloud and convert it into a 2D LaserScan message. This will be a horizontal layer orthogonal to the Z-axis of the LiDAR sensor.sensor. I am currently using it with my Ouster OS0 and it works great.

When configuring the pointcloud_to_laserscan node you can set the min_height, max_height, and target_frame parameters. The node will function by taking any points in the cloud that are between those two heights (0 height being the target_frame), and projecting any points in that range down onto the target frame plane. If you set the min_height and max_height to be very close you can isolate specific rings of the pointcloud. This is quite powerful for using a 3D sensor with a navigation stack that only expects 2D LaserScans.

You could also write your own pointcloud processing node that just grabs isolated layers according to the pointcloud definition (http://docs.ros.org/en/lunar/api/sensor_msgs/html/msg/PointCloud2.html)

You could use the pointcloud_to_laserscan node found here.

It will take in your 3D PointCloud and convert it into a 2D LaserScan message. This will be a horizontal layer orthogonal to the Z-axis of the LiDAR sensor. I am currently using it with my Ouster OS0 and it works great.

When configuring the pointcloud_to_laserscan node you can set the min_height, max_height, and target_frame parameters. The node will function by taking any points in the cloud that are between those two heights (0 height being the target_frame), and projecting any points in that range down onto the target frame plane. If you set the min_height and max_height to be very close you can isolate specific rings of the pointcloud. This is quite powerful for using a 3D sensor with a navigation stack that only expects 2D LaserScans.

You could also write your own pointcloud processing node that just grabs isolated layers according to the pointcloud definition (http://docs.ros.org/en/lunar/api/sensor_msgs/html/msg/PointCloud2.html)found here.