Kalibr IMU和相机联合标定出现优化失败的问题

相机和IMU联合标定的过程中出现如下的问题:
这里引用的是github上的图片,自己的图片没有保存
image

这个问题最后就是Fail to Optim……,也就是优化失败,出现这样的问题首先需要去检查的一些关键点是:

  • 采集的数据本身有没有出现问题,包括IMU和图像数据

  • 相机参数.yaml文件中的参数是否出现问题

  • 标定板aprilTag.yaml文件中的参数是否存在问题

    在本次的测试中犯的最大错误就是第三点,问题出现在标定板的行和列参数,如下图所示:
    image

    AprilTag的配置文件正确的写法如下:

    target_type: 'aprilgrid' #gridtype
    tagCols: 4               #number of apriltags
    tagRows: 6               #number of apriltags
    tagSize: 0.04          #size of apriltag, edge to edge [m]
    tagSpacing: 0.2          #ratio of space between tags to tagSize
                             #example: tagSize=2m, spacing=0.5m --> tagSpacing=0.25[-]
    

    那么假设标定的时候标定板是横着放置的,也就是图像旋转90度后放置,这个配置文件该如何写?tagCols是不是应该写成6呢?如果你的回答是“yes”,那么恭喜你,你已经踩进深坑了。这里可以看一下在生成标定板的时候的代码时如何表示的:

image

看见没有?实际上在生成标定板的时候就已经明确的说明了行和列,对应的就是x和y方向上二维码的个数。这个参数是不管你的标定板是如何放置的。这种难以引起足够充分注意的问题往往会导致致命的错误,而且很难排查出来,所以一定要注意。

posted @ 2023-04-21 15:16  好想说点什么  阅读(243)  评论(0编辑  收藏  举报