kitti2bag
kitti2bag copied to clipboard
failed to find match for field 'intensity' 'ring'
@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)
- Check https://github.com/Taeyoung96/kitti2bag/commit/a77c6dffe28fc110dca8f7be6167b5b43cfedbff for finding the ring in a angle based approach
- Check https://github.com/VincentCheungM/Run_based_segmentation/issues/3#issuecomment-452686184 for finding the ring in a non-angle based approach