使用kalibr标定时的注意事项

使用Kalibr标定的使用方法可以参考: 这里

因为使用过程中出现很多问题,这里大概总结如下,有更多注意事项或者错误的地方欢迎大家补充或指正:

1. 模型的选择

这里主要是总结在各种issue中大家提出的使用kalibr中模型选择的问题,以及各种模型之间利弊;

pinhole-radtan: 最常见的针孔模型+布朗畸变模型, 适用于大多数的角度小于120的相机, 其中畸变参数包含了径向畸变k1,k2和切向畸变p1,p2; 如果相机的畸变情况不是很严重,这个模型基本都可以; 比如我的DFOV为150的相机, 也可以用这个且去畸变效果很好;

pinhole-equi:针孔模型+等距畸变模型,也就是KB模型所需要选择的类型,该模型的使用范围也很广,大部分的鱼眼镜头也可以,注意8参数的KB模型的畸变参数为k1,k2,k3,k4,虽然也是四个数,但与前一个模型不同的是,这里只有径向畸变的参数,而没有切向畸变tangential distortion,投影时对应的公式也不同;同时这也是opencv中cv::fisheye使用的模型;

Omni-radtan: 适用于大部分的鱼眼镜头;

ds/eucm: 也是使用于鱼眼镜头,参数更少,更紧凑.但是同样也没有切向畸变;这两个模型的好处就是在精度和速度之间有很好的平衡,比较适用于实时的,基于优化的slam;

对于角度很大的鱼眼相机,如180, 210等,即使模型合适, kalibr也存在初始化错误的可能,因此可以多采集几个ros包试一下;

如果处在选模型阶段,可以先从KB模型开始, 也就是先使用pinhole-equi模型标定一下,检查去畸变效果;

同时需要注意的是虽然KB模型和pinhole-fov模型从理论上可以适用于大于180的鱼眼相机,但是kalibr的中的测试都是基于针孔模型, 结果显示这两个模型对大于180度的相机的表现效果并不好; 

角度>180其实可以使用eucm-none进行标定;

2. 标定时注意事项:

采集数据集时尽量保证标定板出现在相机图像的各个角度和各个角落,否则标定结果可信度不高, 对畸变大的相机有可能还会出现初始化错误等提示;

kalibr推荐的帧率为4HZ, 这里有一个降帧的命令:

rosrun topic_tools throttle messages old_topic 4.0 new_topic

用这个命令可以将原本的rosbag中的old_topic降帧成4hz的new_topic, 然后边rosbag play, 边rosbag record new_topic 即可;

如有疑问,欢迎交流: wx: baobaohaha_ 欢迎对SLAM有兴趣的小伙伴一起交流学习~~

  • 8
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值