lidar_IMU_calib
lidar_IMU_calib copied to clipboard
Can't use 2D indexing with a unorganized point cloud
您好,您有遇到上述问题吗?
这个工具使用的是有序点云,pointCloud->width != 1
这个工具使用的是有序点云,pointCloud->width != 1
小弟初学者,首先非常感谢作者的回复;其次想问问具体怎么解决呢?是在lidar采集数据时候设置width!=1还是说数据后处理的呢?
数据需要处理的,根据每个点的仰角将点分配到对应的ring,可以参照loam里那段代码
数据需要处理的,根据每个点的仰角将点分配到对应的ring,可以参照loam里那段代码
我今天看了一下浙大的lidar消息类型是velodyne_msgs/VelodyneScan,而我lidar的消息类型是sensor_msgs/PointCloud2。是不是只需要将我的消息类型转成浙大的消息类型,就能解决问题了?还是说我转换完消息类型后,还需要进行您提到的数据处理(根据每个点的仰角将点分配到对应的ring)?
数据需要处理的,根据每个点的仰角将点分配到对应的ring,可以参照loam里那段代码
今天看到datest_reader.h,发现有pointcloud2的载入说明,那应该就不用进行消息类型变换了吧?另外,您说的loam代码,是您仓库里的Lego-loam还是A_LOAM_Detailed_Comments?
原代码确实可以载入poitncloud2类型的点云,若你的点云是有序的可直接使用,否则还是需要转换的,这个方法对点云的格式(是否有序,时间戳等还是有些要求的)。 https://github.com/Gutsgwh1997/lidar_IMU_calib/blob/55e74fa0b71475901e4d4bdc59639ada0196a182/include/utils/vlp_common.h#L192
原代码确实可以载入poitncloud2类型的点云,若你的点云是有序的可直接使用,否则还是需要转换的,这个方法对点云的格式(是否有序,时间戳等还是有些要求的)。
https://github.com/Gutsgwh1997/lidar_IMU_calib/blob/55e74fa0b71475901e4d4bdc59639ada0196a182/include/utils/vlp_common.h#L192 老哥,方便加微信吗?有些小细节还想请教一下,不胜感激。我的微信:857593685
原代码确实可以载入poitncloud2类型的点云,若你的点云是有序的可直接使用,否则还是需要转换的,这个方法对点云的格式(是否有序,时间戳等还是有些要求的)。
https://github.com/Gutsgwh1997/lidar_IMU_calib/blob/55e74fa0b71475901e4d4bdc59639ada0196a182/include/utils/vlp_common.h#L192
老哥,现在有几个问题想集中请教一下: 1.你的数据也是velodyne_msgs/VelodyneScan类型吗? 2.velodyne_msgs/VelodyneScan这种类型是默认有序点云吗?因为我看这种类型的数据好像没有进行无序到有序的转化。 3.velodyne_msgs/VelodyneScan这种类型数据怎么获得的?是在采集数据时候设置成这种格式吗?还是由PointCloud2类型转为velodyne_msgs/VelodyneScan类型的? 如果老哥可以回复,希望老哥可以按照标号回复。感谢!
老哥,今天我用采集的velodyne_msgs/VelodyneScan这种类型的数据试了试,索引问题解决了。然后会在association这个步骤出错,我设置不一样的持续时间,出的错还都不一样。我采集频率是imu100hz,lidar10hz;浙大的采集频率是imu400hz,lidar10hz,请问是我采集频率的原因吗?还有设置宽度时候,为什么是outPointCloud.width = 24*(int)lidarMsg->packets.size(),这个24是什么意思啊。
老哥,一直在[DataAssociation] fails.这里出错,请问这是什么原因?