Closed benpaodewali closed 1 year ago
大佬您好,最近分析点云和img同步的代码,有两个疑问。
1.是否需要强制点云和img触发采样时刻一致。 每次UndistortPcl处理一个MeasureGroup里面的imu和img数据,加上对应时段的点云数据即可,并且该段点云使用MeasureGroup里面的imu进行去畸变,我的理解是行得通的。
2.如果根据上方的思路,代码中有一个疑问: const double pcl_offset_time = lidar_meas.is_lidar_end? (pcl_end_time - lidar_meas.lidar_beg_time) * double(1000): 0.0; 这个pcl_offset_time,当is_lidar_end是false的时候被置0,这样的话pcl_out是空的,这儿不理解 我感觉应该直接: const double pcl_offset_time = (pcl_end_time - lidar_meas.lidar_beg_time) * double(1000);
const double pcl_offset_time = lidar_meas.is_lidar_end? (pcl_end_time - lidar_meas.lidar_beg_time) * double(1000): 0.0;
const double pcl_offset_time = (pcl_end_time - lidar_meas.lidar_beg_time) * double(1000);
还希望作者解答一下,非常感谢
我也觉的这里应该写错了,作者的意思应该是如果当前帧不是激光帧,而是图像帧,那么就把激光点云中扫描时间小于当前图像帧时间的所有点云先进行运动补偿,作者写了两个Process和Process2,Process的逻辑就没有问题,因为IMUpose这个变量在不是激光帧之前不会清空.
大佬您好,最近分析点云和img同步的代码,有两个疑问。
1.是否需要强制点云和img触发采样时刻一致。 每次UndistortPcl处理一个MeasureGroup里面的imu和img数据,加上对应时段的点云数据即可,并且该段点云使用MeasureGroup里面的imu进行去畸变,我的理解是行得通的。
2.如果根据上方的思路,代码中有一个疑问:
const double pcl_offset_time = lidar_meas.is_lidar_end? (pcl_end_time - lidar_meas.lidar_beg_time) * double(1000): 0.0;
这个pcl_offset_time,当is_lidar_end是false的时候被置0,这样的话pcl_out是空的,这儿不理解 我感觉应该直接:const double pcl_offset_time = (pcl_end_time - lidar_meas.lidar_beg_time) * double(1000);
还希望作者解答一下,非常感谢