本记录简述kalibr标定过程以及个人在标定过程中出现的问题和解决思路
kalibr
主要内容:
- kalibr标定camera
- kalibr标定camera和imu
kalibr标定camera
kalibr官网wiki
wiki写得也比较清楚,其中几个地方对新手不是很友好
- bagcreater制作ros 的bag文件,这个地方如果你按照它的官网说明,那恐怕要纠结好一会儿了,按照它的说明直接执行
kalibr_bagcreater --folder dataset-dir --output-bag awsome.bag
你会可能会有两种结果,
1 出错,没有生成.bag文件
2 生成了.bag文件,可能是非常小的一个文件,跟你的图片目录大小根本不是一个量级的。
如果你比较细心地开始查找issues你会发现有个热心人告诉你,需要在dataset-dir后面加个'.',没错就是这么可爱任性,dataset-dir/.
还有就是组织好cam和imu的目录结构
还有一个小问题是,--output-bag 后面的文件不能加目录,只能在当前目录下生成,后来索性我就不加这一项了,让它默认自动生成
- --topics到底是什么,ros里面的一种通信机制,就用下面的
/cam0/image_raw
/cam1/image_raw
/imu0
如果你只有一组照片,就是/cam0/image_raw
- --models 这部分的话如下
pinhole-radtan', 'pinhole-equi', 'omni-radtan
具体说明可以参考这里
*-- target 这个就比较省心了,只要把棋盘格的信息修改好就行了
具体参考这里
生成的camchain.yaml文件是我们下面标定cam-imu需要的
kalibr标定camera imu之间的外参
如果把之前的坑都踩过之后呢,这里就舒服多了
总之,kalibr标定出来的结果有待确认,里面遇到的问题一般的issues里面都也包含,建议遇到问题可以先查看issues,说不定有人已经为你把雷踩了个遍。
墨菲定律告诉我们,可能会出现的问题,终究会出现。放松心态,一点一点排除,站在更高的角度去抽象问题,思考问题,最终总会拨开云雾,初见虹霓!