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
版权声明:本文为博主原创文章,转载请附上博文链接!

原文地址:https://www.cnblogs.com/mataiyuan/p/10657144.html

时间: 2024-10-16 03:25:17

imu和canmera标定的相关文章

kalibr标定IMU

步骤: 1:如何标定 2:标定的结果 3:如何验证标定结果的正确性 相机IMU标定的准备工作 [1]环境配置:需要安装ROS,可根据http://wiki.ros.org/ROS/Installation 选择安装版本(我安装的ubuntu版,http://wiki.ros.org/cn/jade/Installation/Ubuntu).ROS安装成功的标志为,任意打开一个终端,运行:roscore,无报错 [2]标定工具箱: The following two sources for the

imu标定 imu_tk

1. 首先标定加速度计,这是imu加速度计xyz三个轴在标定过程中的读数: 标定结果: 2. 利用加速度计的标定结果,标定陀螺仪,结果:

Imu_tk算法流程及数据采集要求和标定程序参数设置

Imu_tk算法流程 由于VIO中,普遍使用的是精度较低的imu,所以其需要一个较为准确的内参数和noise的估计.Noise大家通常使用Allan方差进行估计可以得到较为可信的结果,这里不赘述了.内参数标定比较方便的一个工具就是imu_tk.所以本篇文章主要详细介绍一下imu_tk的算法流程以及使用时的注意事项.下一篇的内容 计划是imu-camera外参数的标定方法. 首先分步介绍算法流程: 1. 读入数据,将时间单位转化为秒 2. 设置初始参数和标定算法的控制参数 3. 开始标定 3.1

vins-mono中的imu参数设置

na:加速度计的测量噪声 nw:陀螺仪的测量噪声 nba: randow walk noise随机游走噪声 nbw:randow walk noise随机游走噪声 ba:加速度计的偏差 bw:陀螺仪的偏差 其中na,nw,nba,nbw,都是零均值高斯模型 ba的导数为nba,bw的导数为nbw. 获取这些参数可以通过imu_utils来获得 https://github.com/gaowenliang/imu_utils 重要的是要注意,这里使用的IMU测量误差模型来自不经历运动和恒定温度的传

IMU入门与应用

视频 [泡泡机器人公开课]第八课:MEMS IMU的入门与应用-胡佳兴 标定论文 A robust and easy to implement method for IMU calibration without external equipments 标定demo https://bitbucket.org/alberto_pretto/imu_tk/src/master/ 原文地址:https://www.cnblogs.com/didada/p/11678303.html

基于OpenCV立体视觉标定和校正

这几天学习双目视觉标定,分别使用了两种工具:OpenCV和Matlab.Matlab的效果非常稳定,但是一开始OpenCV的效果很糟糕,要不是出现中断就是标定出来的结果数值很大.经过了几天的不断调试和更改,终于把OpenCV的立体视觉标定和校正的程序写出来了.立体标定时计算空间上的两台摄像机几何关系的过程,立体校正则是对个体图像进行纠正,保证这些图像可以从平面对准的两幅图像获得.程序的框架如下: 1.读取左右相机图片序列 双目相机的图片序列放在Demon的路径下,左右相机的图像的名字分别存放在两

基于EmguCV的摄像机标定及矫正

标签: EmguCV摄像头标定C# 2015-05-03 14:55 501人阅读 评论(6) 收藏 举报  分类: C# 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 前言 之前用OpenCV做过摄像机标定及矫正,现在平台换了,改用C#,就用EmguCV做一下,其实就是OpenCV的C#版. 在EmguCV中有两类摄像机标定的类,一个是CvInvoke类,一个是CameraCalibration类,两种标定效果差不多,只不过CvInvoke涉及的函数大多都是指针类型的

PPZ之串口获取IMU

 1,rotocraft/main函数 main_init() (1)各设备初始化 (2)register timers for the periodic functions 其中有telemetry_tid while(1){ handle_periodic_tasks() 其中,该函数的实现里有: if (sys_time_check_and_ack_timer(telemetry_tid)) telemetry_periodic(); 即检测到telemetry_tid计时器到期之后,

双目相机标定以及立体测距原理及OpenCV实现

作者:dcrmg 单目相机标定的目标是获取相机的内参和外参,内参(1/dx,1/dy,Cx,Cy,f)表征了相机的内部结构参数,外参是相机的旋转矩阵R和平移向量t.内参中dx和dy是相机单个感光单元芯片的长度和宽度,是一个物理尺寸,有时候会有dx=dy,这时候感光单元是一个正方形.Cx和Cy分别代表相机感光芯片的中心点在x和y方向上可能存在的偏移,因为芯片在安装到相机模组上的时候,由于制造精度和组装工艺的影响,很难做到中心完全重合.f代表相机的焦距. 双目标定的第一步需要分别获取左右相机的内外参