zoukankan      html  css  js  c++  java
  • imu和canmera标定

    最近在研究imu和相机的联合标定方法,根据网上查到的资料和github上的开源工具总结如下。

    1、联合标定的工具Kalibr
    https://github.com/ethz-asl/kalibr

    wiki写的很全了,总结以下要点:

    需要:
    1、内参:尺度,轴偏差、非线性(应用到raw measurements)

    2、陀螺仪和加速度计的噪声和随机游走偏差

    3、标定图像,很成熟了,使用ros中的工具箱就行。

    采集图像:
    需要激活所以的轴,20Hz的相机,200Hz的IMU

    避免震动,看到有说法使用人手不行,需要机械臂

    如果您正在使用具有对称性的校准目标(棋盘,圆网格),则必须避免可能导致目标姿态估计中的翻转的运动。 推荐使用Aprilgrid来完全避免这个问题。

    中文博客教程:

    https://blog.csdn.net/wwchen61/article/details/78013962    

    https://www.2cto.com/kf/201709/682389.html

    https://blog.csdn.net/Binbin_Sun/article/details/53791404提到:

    当前标定的结果,主要基于以下两个方面判定:

    * 真实的IMU坐标系和相机坐标系的转换,即相机和IMU的物理距离
    * 标定结果的稳定性上
    标定的结果一直无法令人满意:
    可能的原因
        选择的内参数值
        畸变系数的选择
        采集过程中出现的晃动
        坐标系混乱

    2、IMU内参标定工具imu_tk
    https://github.com/Kyle-ak/imu_tk(或者https://bitbucket.org/alberto_pretto/imu_tk)

    wiki基本没有。

    详细介绍:https://blog.csdn.net/haoliliang88/article/details/76737960

    关于IMU误差的讲解:https://www.cnblogs.com/buxiaoyi/p/7541974.html(推荐)

    总结优化的方法:

    加速度计:   偏差Bias,3个(六面法最小二乘问题)

                            尺度因子,3个

                            轴向偏差,3个

    陀螺仪:       偏差Bias+高斯噪声(Allan方差),3个

                            尺度因子,3个

                            轴向偏差,6个

    泡泡机器人上的更为详细讲解:http://rosclub.cn/post-221.html

    这个是使用matlab,不过我不太想用matlab(双系统每个系统一个matlab,想想就可怕),其中的理论还是可以看看的:

    https://blog.csdn.net/qq541317072/article/details/70314841

    加速度计:十面球形校准(重力加速度应该在球面上)

            程序的输出是矩阵M和B,M是一个3*3的矩阵,表示三轴加速度计各方向的关联(理想情况该矩阵为单位阵),B是3*1的矩阵即各方向bias。采集数据时要注意,保证重力加速度分别指向+-x、+-y、+-z六个方向,获得较为准确的标定结果。

    校准的过程:

    静置IMU T(一般取50s)。

    旋转IMU使其保持不同的姿态。

    在某种姿态下,至少保持t(一般取1~4)s。

    是否旋转IMU N(一般选36~50)次。

    用算法估计误差参数

    最后可以根据残差(residual)来挑选最终结果
    要保证旋转过程有明显的加速减速过程,可以使用6面法校准,多旋转几次避免奇异性。要注意参数的初始值的设定,如果设置不好会很大程度影响结果。

    附上我这拙劣的操作:


    3、噪声和随机游走的标定(Allan方差)
    https://github.com/rpng/kalibr_allan(matlab)

    https://github.com/gaowenliang/imu_utils(ROS)

    可以看他们的wiki很详细,也可以看之前蓝色推荐的那个,也有讲。

    后者是港科大推荐的,需要装一个code_utils都在他的github上。


    一般这些开源代码不是有例程就有详细的说明,提供参考。

    本文都是网上的资料总结而成,如若有误,多多包含,再次感谢这些大佬分享。
    ---------------------
    作者:啊啦啦工业
    来源:CSDN
    原文:https://blog.csdn.net/OKasy/article/details/79864573
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    内存使用过高点检checklist
    Ubuntu linux系统下 su:出现: authentication failure的解决办法
    static完全解析
    C语言开发规范
    单片机、ARM、PC程序执行介质区别
    2021来了,一份小菜鸡的2020总结!
    Linux命令进阶篇-文件查看与查找
    LINUX常用命令(二)
    Linux常用命令(一)
    百钱百鸡
  • 原文地址:https://www.cnblogs.com/mataiyuan/p/10657144.html
Copyright © 2011-2022 走看看