tomas789/kitti2bag

failed to find match for field 'intensity' 'ring'

DamonMIN opened this issue · 3 comments

@toams789. I obtained one bag file with the 'kitti2bag'. When this bag file was employed to LOAM_velodyne(https://github.com/laboshinl/loam_velodyne), the program failed with an error "failed to find match for field 'intensity' 'failed to find match for field 'ring'". Is there the intensity and ring field in the sensor_msgs::PointCloud2 in the bag file generated by 'kitti2bag'?

Hi, the field 'intensity' is treated as the field 'i'.
You could replace PointField('i', 12, PointField.FLOAT32, 1) with PointField('intensity', 12, PointField.FLOAT32, 1) by yourself to fix the problem.
As for the field 'ring', there is no 'ring' info in the origin KITTI bin file. So the bag file doesn't contain the field 'ring' as velodyne driver does.

@DamonMIN, A ring channel has been added in a custom version of kitti2bag in the LIO-SAM repository. Here is a link to the relevant chunk of code.

Although there is a casting issue in the current code which I have fixed in my pull request (which may be implemented by the time you read this)