【传感器】一种鲁棒的imu比例系数与偏移的校准算法

news/2025/1/8 22:14:12/

简介

最近在学习传感器相关的知识,在国外的一篇论文学习过程中,觉得这篇论文的校准方法是个不错的参考。

这种校准简单且比较鲁棒的算法,操作简单,且除了偏移与比例系数,还可以估计出传感器 xyz 轴相对于标准正交三轴的偏移(因为传感器的物理 xyz 轴可能不是标准正交的),不过相比六面校准,其算法的计算过程要复杂许多

校准过程也并不复杂:

1)初始静止一段时间

2)旋转 IMU 到另一个角度之后静止

3)等待一段采样时间

4)继续旋转,重复 2)3)步骤,达到预定的采样次数

5)估计参数

思路

理想的 IMU,x,y,z 三轴是独立正交的,理想的三轴坐标系,加速度计的理想坐标系可以记作 AOF,实际中的 IMU 的坐标轴并不是标准正交的,其与标准正交坐标系有一定的偏移,将各轴的偏移记作 β,之后建立误差模型,建立代价函数,进而求解估计参数。

加速度计部分

坐标轴定义

假设现有一个标准正交坐标系,记作 s(B),当前坐标轴记作 s(S) ,当前轴可能是非正交的,从 y 轴到 z 轴的偏移记作 β(yz),其他的以此类推,那么 从 s(S) 转换到正交坐标系 s(B) 的表达式就可以写作如下形式:

T 是其中的旋转矩阵,为:

以此为基础,将加速度计的标准正交轴记作 a(B),加速度计当前坐标轴记作 a(S) ,但上面的旋转矩阵 T 有点复杂,需要对其进行简化,现给出两个坐标轴选取时的条件:

1)定义加速度计的标准正交轴为 AOF,加速度计实际的坐标轴记作 AF(AF不一定正交),将 AOF 的 x 轴与 AF 的 x 轴重合

2)AOF 的 y 轴定义在 AF 的x 与 y 轴组成的平面上

按照上述的两个原则建立坐标轴,那么在上述旋转矩阵的 β(xz),β(xy) 就消除为 0,因为AOF 与 AF 的 x 轴已经重合了,因此 x 轴相对 y,z 轴的偏移就消除掉了。

同事,因为 AOF 的 y 轴在 AF 的 x,y 轴组成的平面上,因此 y 相对于 x 的偏移也消除掉了,即 β(yx) = 0。

那么针对加速度计,上述坐标轴的表达式就可以写作:

加速度计模型

在加速度计的零偏与比例系数的基础上,加上上述的坐标轴偏移,就可以得到加速度计的模型。

加速度计的比例系数矩阵记作 K(a):

加速度计的零偏向量记作 b(a):

加速度计整体的误差模型就可以写作:

v 表示测量噪声,a(O) 表示标准轴的加速度值,a(S) 表示真实轴上的加速度计测量值。

此方程中,含有 9 个未知量,三轴的轴偏移,三轴的比例系数,三轴的零偏。将代估变量记作 θ:

将测量噪声忽略掉,误差模型就可以写作:

代价函数建立

对于此方程,不用六面校准,而是任意角度的加速度计数据的话,采样一定量的数据之后,可以利用这个原理来列出其代价函数:

静止状态下,加速度计三轴的数据的平方和等于重力加速度 g

其代价函数就可以写作:

以上的代价函数是有加法的,运用最小二乘法来估计参数比较困难,因此使用 LM 算法来进行非线性估计,具体 LM 算法的原理与实现,参考主页中的上一篇文章《LM迭代估计法》

陀螺仪部分

陀螺仪的校准需要依赖于加速度计的校准。总体思路为:

1.在进行完上一步的加速度计估计参数的计算之后,利用加速度计已经校准过的参数矩阵对之前采样的数据进行校正

2.在采样时的每一次静止时的加速度计数据进行校正后,可以得到一个较为准确的重力加速度向量值

3.当前静止时的重力加速度向量记作初始重力加速度向量,然后在旋转IMU时,使用陀螺仪的数据对重力向量进行积分,可以得到一个旋转后(到下一次静止采集数据)的重力向量预测值

4.再次使用加速度计的数据得到一个重力加速度向量值

5.利用加速度计得到的重力加速度向量与陀螺仪积分得到的重力加速度向量做差,平方的方式,建立代价函数

6.求解代价函数,得到陀螺仪的估计参数

误差模型建立

陀螺仪与加速度计的坐标轴应该选择相同的参考坐标轴,也就是 AOF ,但对于陀螺仪来说,因为选取的加速度计的标准正交轴,一些坐标轴的偏移量就不能消除了,还是需要加上,即:

其中,T 为旋转矩阵,W(O) 表示陀螺仪的正交标准轴,与 AOF 重合,W(S) 是当前的陀螺仪轴

比例系数与偏移系数矩阵都与加速度计的形式是相同的:

误差模型的形式也是相同的:

在后续的计算中,测量误差 v 可以忽略。

代价函数建立

按照上述的步骤说明,代价函数使用加速度计校准后得到的准确的重力加速度向量与陀螺仪积分得到的重力加速度向量的各项差的平方和来建立:

同样,使用 LM 算法来进行参数的估计


http://www.ppmy.cn/news/541888.html

相关文章

初识EasyX图形库

EasyX图形库 1. EasyX是什么?2. 入手EasyX3. EasyX函数介绍创建和关闭绘图窗口操作initgraphclosegraph 设置绘图背景setbkcolorcleardevice 画图形circlefillcirclerectanglefillrectangle 图形颜色及样式设置setfillcolorsetlinecolorsetbkcolorsetbkmodesetlines…

mssql创建临时表

为什么需要临时表? 我们在写过于复杂的Sql语句的时候,大量的left join、group by等操作查询数据,会非常的影响效率,这个时候我们把部分的语句先存入一个临时表,再对临时表的结果进行关联或者其他操作,会大…

docker安装mssql

很久以前安装mssql是比较费时间的,一通操作下来差不多得半小时,安装一大堆东西还卸载不干净,你说气人不气人。 本次我想能不能在docker里面安装mssql,卸载也方便,又快又干净。 声明,本次操作是有实验成分在…

MSSQL安装

MSSQL安装 数据库镜像下载地址: ed2k://|file|cn_sql_server_2012_enterprise_edition_with_sp1_x64_dvd_1234495.iso|4231520256|EB9F35CAC10578613A6E9D56090BAF06|/ 步骤一:将sql server镜像文件添加到虚拟机中,并在虚拟机中打开 步骤二…

msql主要是做什么的?

mysql是制作数据库的。MySQL是一种开放源代码的关系型数据库管理系统,使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。每个数据库都有…

Docker化MSSQL

说明:配置MSSQL数据库Docker容器 1. docker-compose.yml mssql:image: "mcr.microsoft.com/mssql/server:2019-latest"container_name: ${APP_NAME:?err}-mssqlrestart: alwaysports:- "1433:1433"environment:SA_PASSWORD: "your passw…

MSSQL-数据库简介 132

SQL:一般指结构化查询语言,用于访问和处理数据库的标准的计算机语言;数据库Database通俗点说就是存储数据的仓库,仓库中有很多的分类,仓库中还会有仓库管理员(DBA)对货物进行管理,而程序员就是对仓库数据进行存取使用的人 数据库分为很多种:1)MSSQL 2)DB2 3)Oracle 4)Access 5)…

MSSQL·查看数据库编码格式

阅文时长| 0.67分钟字数统计| 837.6字符主要内容| 1、引言&背景 2、声明与参考资料 『MSSQL查看数据库编码格式』编写人| SCscHero 编写时间| 2021/3/11 PM11:59文章类型| 系列完成度| 待完善座右铭每一个伟大的事业,都有一个微不足道的开始。 一、引言&背…