最近在学习lidar_align用来标定lidar和IMU时,用自己的数据包进行标定,在全局优化的时候一直出现程序中断问题。
最终通过减少优化点的方法解决了问题,但不知道对准确性是否有影响。
具体方法如下:
找到sensors.h中的Scan类,将 keep_points_ratio的默认值从0.01改成0.001或者更小。
class Scan {
public:
struct Config {
float min_point_distance = 0.0;//lidar数据里面点的距离最小值
float max_point_distance = 100.0;//lidar数据里面点的距离的最大值
float keep_points_ratio = 0.01;//用于优化点的比例
float min_return_intensity = -1.0;//lidar数据里面点的强度的最小值
bool estimate_point_times = false;//是否估计lidar每个点的时间
bool clockwise_lidar = false;//lidar旋转的方向,默认逆时针
bool motion_compensation = true;//是不是需要进行运动补偿
float lidar_rpm = 600.0;//lidar的转速
};
最终能得到标定的结果。
在学习lidar和IMU标定时,遇到全局优化程序中断的问题。通过降低Scan类中keep_points_ratio的默认值来减少优化点,成功避免了中断,但可能影响标定准确性。具体方法是将keep_points_ratio从0.01改为0.001或更低。标定最终得出结果,但需权衡精度与计算效率。
2万+

被折叠的 条评论
为什么被折叠?



