IMU Noise Model
2.相关定义
3.IMU 的噪声模型
3.1噪声的建模
3.2白噪声和随机游走噪声的离散化
3.3如何获取传感器噪声参数
4.随机噪声和扰动的积分
4.1建立模型
4.2噪声的离散化模型推导
4.3系统的状态误差方程
4.4状态误差方程的积分
4.4.1 第一项-状态误差
4.4.2 第二项-测量白噪声
4.4.3 第三项-扰动噪声离散化(随机游走噪声)
4.5 离散的系统误差方程
4.6 误差状态方程的其他说明
4.7 Full IMU example
1.参考资料
- <1>Kalibr IMU Noise Model: https://github.com/ethz-asl/kalibr/wiki/IMU-Noise-Model
- <2>高斯白噪声: http://blog.csdn.net/ZSZ_shsf/article/details/46914853
- <3>随机游走:
http://blog.sina.com.cn/s/blog_5c2cfefb0100emyi.html
- <4>泡泡机器人IMU状态模型(2)http://mp.weixin.qq.com/s/_ElpcSkMaGEIFd3bmwGa_Q
- <5>泡泡机器人IMU状态模型(1)http://mp.weixin.qq.com/s/PD4cOqVE3oMhyW4A2N02xQ
- <6> Quaternion kinematics for the error-state KF-附录E
2.相关定义
- 高斯白噪声
概率上服从高斯分布,一阶矩(均值)是常数,二阶矩(方差)无关即时域上不同时刻的信号时不相关的噪声;或者说噪声的瞬时值服从高斯分布(高斯),功率谱密度又是均匀分布的(白噪声),IMU的测量噪声建模为高斯白噪声。
- 随机游走噪声:
随机游走是维纳过程的离散形式,每一次更新位置都会叠加一个新的高斯白噪声,IMU的bias建模为随机游走噪声。随机游走噪声的均值是初值的均值,方差是初值方差*间隔时间。
3.IMU 的噪声模型
3.1噪声的建模
http://blog.sina.com.cn/s/blog_5c2cfefb0100emyi.html
- 高斯白噪声
概率上服从高斯分布,一阶矩(均值)是常数,二阶矩(方差)无关即时域上不同时刻的信号时不相关的噪声;或者说噪声的瞬时值服从高斯分布(高斯),功率谱密度又是均匀分布的(白噪声),IMU的测量噪声建模为高斯白噪声。 - 随机游走噪声:
随机游走是维纳过程的离散形式,每一次更新位置都会叠加一个新的高斯白噪声,IMU的bias建模为随机游走噪声。随机游走噪声的均值是初值的均值,方差是初值方差*间隔时间。
3.IMU 的噪声模型
3.1噪声的建模
参考<1>,将IMU的测量模型包含两类传感器误差(error),一类是波动激烈的测量白噪声nt,一类是变化缓慢的bias:bt,我是这样理解的,测量噪声是AD转换器件引起的外部噪声;bias是传感器内部机械、温度等各种物理因素产生的传感器内部误差的综合参数。IMU的加速度计和陀螺仪的每个轴都用彼此相互独立的参数建模,一个角速度测量值和真值之间的连续域上的关系可以写作:
3.2白噪声和随机游走噪声的离散化
白噪声的离散化,这里的方差推导思路是将一个采样时间的的噪声水平保持恒定,并将其平均到采样时间的每一刻。

随机游走噪声的离散化

3.3如何获取传感器噪声参数
参考<1>,噪声参数可以通过器件手册得到直接得到,或者利用采样值计算其Allen 方差得到,有些器件手册也会给出Allen 方差的表。具体方法参考<1>.同时作者建议对于低成本的MEMS,由于实际情况温度的变化等,参数在此基础上应该放大一些。
下表给出的σ是相关参数的标准差;
4.随机噪声和扰动的积分
- 这部分参考<6>中内容
- 机器人的状态估计一部分重要的内容是其不确定性的传递(uncertainty propagation),我们无法传递随机信号下一时刻的值,但可以传递其概率特性,即其均值和方差。信号的不确定性可以由其噪声的方差来表示,这里讨论IMU的噪声方差矩阵如何传递。系统的动态特性本质上是连续的,但是我们是以离散化的方式进行估计,这就涉及到其相关特性的离散化表示。
4.1建立模型
在连续域上,系统的动态方程为:

x是状态向量,u是包含测量噪声˜u的控制信号,其测量噪声即上面讨论的测量白噪声,所以控制测量值um=u+˜u,w是随机扰动向量,即上面讨论的引起随机游走噪声bias的部分。控制噪声和扰动都假设为高斯白噪声。

4.2噪声的离散化模型推导
- 我们在实际估计过程的离散上的进行的,所以需要对噪声模型进行离散化。
- 控制噪声(测量噪声)的离散化:控制信号是在采样时刻采样得到的,并在一个采样时间内被视为恒定。

- 这里的扰动是没有采样的,这就引起了测量和扰动噪声在一个采样时间内的噪声积分的概率特性不同。我的理解:测量噪声是MEMS器件AD转换等引起的外部噪声,扰动是MEMS器件内部物理特性引起的噪声,所以两者的离散化处理方法不同。
4.3系统的状态误差方程
- 由于实际系统往往是非线性的,一种思路是将其在当前状态x点进行一阶泰勒展开,即可以线性化的方法考虑其误差传递。

4.4状态误差方程的积分
- 将其在一个采样时刻进行积分,并表示成递归形式,得到三项:

4.4.1 第一项-状态误差
误差的动态部分积分得到转移矩阵:

这部分的来源参考:

4.4.2 第二项-测量白噪声
- 和3.2不同的是,这里在保持一个时刻噪声水平恒定的同时,采用的是一个采样时间的噪声的累加而不是将其平均到一个采样时刻,即3.2推导方法的公式积分中由1Δt变成了Δt.具体哪个更合理,暂时没有探究,待更新。

4.4.3 第三项-扰动噪声离散化(随机游走噪声)
- 高斯白噪声的积分得到高斯冲击

4.5 离散的系统误差方程
- 利用以上推导,我可以将系统的离散化误差状态方程写作

- 这里对比了离散化和连续域系统误差状态方程的不同

- 总结4.1-4.5得到离散化的系统噪声的概率特性(均值和方差)的传递方程。其中对于方差的传递,动态误差项和采样时间是指数关系,测量误差项和采样时间是二次方关系,扰动误差项和采样时间是线性关系。

4.6 误差状态方程的其他说明
- 4.5的离散方程也有其他写法,主要差别在于其方差矩阵可能不会是完全斜对称的,而且也不是影响到所有的状态。

4.7 Full IMU example
IMU的离散误差动态方程:

各个量的物理含义,其中true指的是实际值即测量值,Nominal 指标称值即理想值。

按照4.5的形式,IMU的状态误差方程

4.8 按照4.6的形式,IMU的状态误差方程

IMU Noise Model的更多相关文章
- imu内参标定
https://medium.com/@tomas789/iphone-calibration-camera-imu-and-kalibr-33b8645fb0aa how kalibr model ...
- 四元数运动学笔记(5)IMU驱动的运动误差方程
1.扩展卡尔曼滤波EKF1.1线性化卡尔曼滤波1.2偏差微分方程的推导1.3线性化卡尔曼滤波的流程1.4 离散EKF2.误差状态的运动方程2.1连续时间的IMU系统动态方程2.1.1相关变量2.1.2 ...
- Bayesian generalized linear model (GLM) | 贝叶斯广义线性回归实例
一些问题: 1. 什么时候我的问题可以用GLM,什么时候我的问题不能用GLM? 2. GLM到底能给我们带来什么好处? 3. 如何评价GLM模型的好坏? 广义线性回归啊,虐了我快几个月了,还是没有彻底 ...
- [转]zetex.lib
*BAL74 ZETEX Spice Model Last revision 24/8/92*NOTES: FOR RF OPERATION ADD PACKAGE INDUCTANCE 0F 2.5 ...
- ROS常用三維機器人仿真工具Gazebo教程匯總
參考網址: 1. http://gazebosim.org/tutorials 2. http://gazebosim.org/tutorials/browse Gazebo Tutorials Ga ...
- Pattern recognition and machine learning 疑难处汇总
不断更新ing......... p141 para 1. 当一个x对应的t值不止一个时,Gaussian nosie assumption就不合适了.因为Gaussian 是unimodal的,这意 ...
- HEVC与VP9之间的对比
在streamingmedia上看到的一篇对比HEVC与VP9的文章,挺不错.另外这边文章的几个comment也是不错的. 下面是全文. The Great UHD Codec Debate: G ...
- highly variable gene | 高变异基因的选择 | feature selection | 特征选择
在做单细胞的时候,有很多基因属于noise,就是变化没有规律,或者无显著变化的基因.在后续分析之前,我们需要把它们去掉. 以下是一种找出highly variable gene的方法: The fea ...
- ROS中利用V-rep进行地图构建仿真
V-rep中显示激光扫描点 在VREP自带的场景中找到practicalPathPlanningDemo.ttt文件,删除场景中多余的物体只保留静态的地图.然后在Model browser→comp ...
随机推荐
- 小谈python装饰器及numba的基本使用
1. 预热知识 要理解python中的装饰器,就要明白在python中,函数是一种特殊类型的变量,可以作为参数传递给函数,也可以作为返回值返回.比如下面的代码,就是 str_1 作为参数传递给 str ...
- windows 实用小工具(截图、进程管理)
1. 截图 picpick:PicPick-NGWIN,一款全功能的设计工具,包含屏幕截图.图片编辑器.颜色选择器.像素标尺和其它更多的功能 2. 二进制/十六进制 十六进制(二进制)编辑器 3. p ...
- POJ2942 Knights of the Round Table【Tarjan点双联通分量】【二分图染色】【补图】
LINK 题目大意 有一群人,其中有一些人之间有矛盾,现在要求选出一些人形成一个环,这个环要满足如下条件: 1.人数大于1 2.总人数是奇数 3.有矛盾的人不能相邻 问有多少人不能和任何人形成任何的环 ...
- Springboot使用Cookie,生成cookie,获取cookie信息(注解与非注解方式)
先 创建一个控制类吧, 其实我没有分层啊,随便做个例子: MyGetCookieController: @RestControllerpublic class MyGetCookieControlle ...
- 【thrift】thrift详解
转载:http://zheming.wang/thrift-rpcxiang-jie.html Thrift Thrift是一个跨语言的服务部署框架,最初由Facebook于2007年开发,2008年 ...
- mysql表复制create table like和create table as比较
CREATE TABLE A LIKE B 此种方式在将表B复制到A时候会将表B完整的字段结构和索引复制到表A中来. CREATE TABLE A AS SELECT x,x,x,xx FROM B ...
- Dubbo 基础教程
原文地址:Dubbo 基础教程 博客地址:http://www.extlight.com 一.前言 当服务越来越多时,容量的评估,小服务资源的浪费等问题逐渐显现,此时需要增加一个调度中心基于访问压力实 ...
- malloc/free与new/delete的不同及注意点
#include<iostream> using namespace std; class Obj{ public : Obj(){cout<<"Initializa ...
- [转][Java]自定义标签简介
作用:自定义标签主要用于移除 jsp 页面中的 java 代码. 实现:需要完成以下两个步骤: 编写一个实现 Tag 接口的 Java 类,把页面 java 代码移到这个 java 类中.(标签处理类 ...
- 为Web页中的Table对象创建一个映射表
HTML对象中的TABLE是我们常用的网页元素,在DHTML编程中,我们可以通过它的rows和cells方法方便的访问表格对象里面的每一个单元格,而且表格对象(table)的每个单元行(tr)和每个单 ...
在连续域上,系统的动态方程为:

x是状态向量,u是包含测量噪声˜u的控制信号,其测量噪声即上面讨论的测量白噪声,所以控制测量值um=u+˜u,w是随机扰动向量,即上面讨论的引起随机游走噪声bias的部分。控制噪声和扰动都假设为高斯白噪声。

4.2噪声的离散化模型推导
- 我们在实际估计过程的离散上的进行的,所以需要对噪声模型进行离散化。
- 控制噪声(测量噪声)的离散化:控制信号是在采样时刻采样得到的,并在一个采样时间内被视为恒定。

- 这里的扰动是没有采样的,这就引起了测量和扰动噪声在一个采样时间内的噪声积分的概率特性不同。我的理解:测量噪声是MEMS器件AD转换等引起的外部噪声,扰动是MEMS器件内部物理特性引起的噪声,所以两者的离散化处理方法不同。
4.3系统的状态误差方程
- 由于实际系统往往是非线性的,一种思路是将其在当前状态x点进行一阶泰勒展开,即可以线性化的方法考虑其误差传递。

4.4状态误差方程的积分
- 将其在一个采样时刻进行积分,并表示成递归形式,得到三项:

4.4.1 第一项-状态误差
误差的动态部分积分得到转移矩阵:

这部分的来源参考:

4.4.2 第二项-测量白噪声
- 和3.2不同的是,这里在保持一个时刻噪声水平恒定的同时,采用的是一个采样时间的噪声的累加而不是将其平均到一个采样时刻,即3.2推导方法的公式积分中由1Δt变成了Δt.具体哪个更合理,暂时没有探究,待更新。

4.4.3 第三项-扰动噪声离散化(随机游走噪声)
- 高斯白噪声的积分得到高斯冲击

4.5 离散的系统误差方程
- 利用以上推导,我可以将系统的离散化误差状态方程写作

- 这里对比了离散化和连续域系统误差状态方程的不同

- 总结4.1-4.5得到离散化的系统噪声的概率特性(均值和方差)的传递方程。其中对于方差的传递,动态误差项和采样时间是指数关系,测量误差项和采样时间是二次方关系,扰动误差项和采样时间是线性关系。

4.6 误差状态方程的其他说明
- 4.5的离散方程也有其他写法,主要差别在于其方差矩阵可能不会是完全斜对称的,而且也不是影响到所有的状态。

4.7 Full IMU example
IMU的离散误差动态方程:

各个量的物理含义,其中true指的是实际值即测量值,Nominal 指标称值即理想值。

按照4.5的形式,IMU的状态误差方程

4.8 按照4.6的形式,IMU的状态误差方程

IMU Noise Model的更多相关文章
- imu内参标定
https://medium.com/@tomas789/iphone-calibration-camera-imu-and-kalibr-33b8645fb0aa how kalibr model ...
- 四元数运动学笔记(5)IMU驱动的运动误差方程
1.扩展卡尔曼滤波EKF1.1线性化卡尔曼滤波1.2偏差微分方程的推导1.3线性化卡尔曼滤波的流程1.4 离散EKF2.误差状态的运动方程2.1连续时间的IMU系统动态方程2.1.1相关变量2.1.2 ...
- Bayesian generalized linear model (GLM) | 贝叶斯广义线性回归实例
一些问题: 1. 什么时候我的问题可以用GLM,什么时候我的问题不能用GLM? 2. GLM到底能给我们带来什么好处? 3. 如何评价GLM模型的好坏? 广义线性回归啊,虐了我快几个月了,还是没有彻底 ...
- [转]zetex.lib
*BAL74 ZETEX Spice Model Last revision 24/8/92*NOTES: FOR RF OPERATION ADD PACKAGE INDUCTANCE 0F 2.5 ...
- ROS常用三維機器人仿真工具Gazebo教程匯總
參考網址: 1. http://gazebosim.org/tutorials 2. http://gazebosim.org/tutorials/browse Gazebo Tutorials Ga ...
- Pattern recognition and machine learning 疑难处汇总
不断更新ing......... p141 para 1. 当一个x对应的t值不止一个时,Gaussian nosie assumption就不合适了.因为Gaussian 是unimodal的,这意 ...
- HEVC与VP9之间的对比
在streamingmedia上看到的一篇对比HEVC与VP9的文章,挺不错.另外这边文章的几个comment也是不错的. 下面是全文. The Great UHD Codec Debate: G ...
- highly variable gene | 高变异基因的选择 | feature selection | 特征选择
在做单细胞的时候,有很多基因属于noise,就是变化没有规律,或者无显著变化的基因.在后续分析之前,我们需要把它们去掉. 以下是一种找出highly variable gene的方法: The fea ...
- ROS中利用V-rep进行地图构建仿真
V-rep中显示激光扫描点 在VREP自带的场景中找到practicalPathPlanningDemo.ttt文件,删除场景中多余的物体只保留静态的地图.然后在Model browser→comp ...
随机推荐
- 小谈python装饰器及numba的基本使用
1. 预热知识 要理解python中的装饰器,就要明白在python中,函数是一种特殊类型的变量,可以作为参数传递给函数,也可以作为返回值返回.比如下面的代码,就是 str_1 作为参数传递给 str ...
- windows 实用小工具(截图、进程管理)
1. 截图 picpick:PicPick-NGWIN,一款全功能的设计工具,包含屏幕截图.图片编辑器.颜色选择器.像素标尺和其它更多的功能 2. 二进制/十六进制 十六进制(二进制)编辑器 3. p ...
- POJ2942 Knights of the Round Table【Tarjan点双联通分量】【二分图染色】【补图】
LINK 题目大意 有一群人,其中有一些人之间有矛盾,现在要求选出一些人形成一个环,这个环要满足如下条件: 1.人数大于1 2.总人数是奇数 3.有矛盾的人不能相邻 问有多少人不能和任何人形成任何的环 ...
- Springboot使用Cookie,生成cookie,获取cookie信息(注解与非注解方式)
先 创建一个控制类吧, 其实我没有分层啊,随便做个例子: MyGetCookieController: @RestControllerpublic class MyGetCookieControlle ...
- 【thrift】thrift详解
转载:http://zheming.wang/thrift-rpcxiang-jie.html Thrift Thrift是一个跨语言的服务部署框架,最初由Facebook于2007年开发,2008年 ...
- mysql表复制create table like和create table as比较
CREATE TABLE A LIKE B 此种方式在将表B复制到A时候会将表B完整的字段结构和索引复制到表A中来. CREATE TABLE A AS SELECT x,x,x,xx FROM B ...
- Dubbo 基础教程
原文地址:Dubbo 基础教程 博客地址:http://www.extlight.com 一.前言 当服务越来越多时,容量的评估,小服务资源的浪费等问题逐渐显现,此时需要增加一个调度中心基于访问压力实 ...
- malloc/free与new/delete的不同及注意点
#include<iostream> using namespace std; class Obj{ public : Obj(){cout<<"Initializa ...
- [转][Java]自定义标签简介
作用:自定义标签主要用于移除 jsp 页面中的 java 代码. 实现:需要完成以下两个步骤: 编写一个实现 Tag 接口的 Java 类,把页面 java 代码移到这个 java 类中.(标签处理类 ...
- 为Web页中的Table对象创建一个映射表
HTML对象中的TABLE是我们常用的网页元素,在DHTML编程中,我们可以通过它的rows和cells方法方便的访问表格对象里面的每一个单元格,而且表格对象(table)的每个单元行(tr)和每个单 ...

