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 ...
随机推荐
- Winform开发之ADO.NET对象Connection、Command、DataReader、DataAdapter、DataSet和DataTable简介
ADO.NET技术主要包括Connection.Command.DataReader.DataAdapter.DataSet和DataTable等6个对象,下面对这6个对象进行简单的介绍:(1)Con ...
- Centos7环境下安装python3.6.4 并与python2共存
最近安装了新系统centos7,本身自带python2.7,但是由于需要使用python3 来运行一些应用,所以想到在centos环境下安装python3,并保证其和python2 可以共存. 步骤如 ...
- Linux修改串口irq
/******************************************************************************* * Linux修改串口irq * 说明 ...
- 在VS2008中使用WSE 3.0【转】
原文:http://www.cnblogs.com/chenxizhang/archive/2008/07/25/1251626.html 在VS2008中使用WSE 3.0 WSE 是微软推出的一套 ...
- python list添加元素的几种方法
1. 加单个, append 2. 加个list, expend 3, 最简单的, 两个list可以用"+" (加号)
- web程序1
- celery docker 基本使用
项目参考官网资料,比较简单的add task 具体代码参考https://github.com/rongfengliang/celery-docker-demo 项目结构 ├── README.md ...
- mysql学习--基本使用
一旦安装完毕,MySQL 服务器应该自己主动启动. sudo start mysql #手动的话这样启动 sudo stop mysql #手动停止 当你改动了配置文件后,你须要重新启动 mysqld ...
- Centos 6 安装 配置 oracle11g R2
1.安装centos6.3_64位: 下载地址:http://mirror.bit.edu.cn/centos/6.3/isos/x86_64/ CentOS-6.3-x86_64-bin-DVD1. ...
- 显示等待WebDriverWait
显示等待:WebDriverWait 等待页面加载完成,找到某个条件发生后再继续执行后续代码,如果超过设置时间检测不到则抛出异常 WebDriverWait(driver, timeout, poll ...
在连续域上,系统的动态方程为:

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 ...
随机推荐
- Winform开发之ADO.NET对象Connection、Command、DataReader、DataAdapter、DataSet和DataTable简介
ADO.NET技术主要包括Connection.Command.DataReader.DataAdapter.DataSet和DataTable等6个对象,下面对这6个对象进行简单的介绍:(1)Con ...
- Centos7环境下安装python3.6.4 并与python2共存
最近安装了新系统centos7,本身自带python2.7,但是由于需要使用python3 来运行一些应用,所以想到在centos环境下安装python3,并保证其和python2 可以共存. 步骤如 ...
- Linux修改串口irq
/******************************************************************************* * Linux修改串口irq * 说明 ...
- 在VS2008中使用WSE 3.0【转】
原文:http://www.cnblogs.com/chenxizhang/archive/2008/07/25/1251626.html 在VS2008中使用WSE 3.0 WSE 是微软推出的一套 ...
- python list添加元素的几种方法
1. 加单个, append 2. 加个list, expend 3, 最简单的, 两个list可以用"+" (加号)
- web程序1
- celery docker 基本使用
项目参考官网资料,比较简单的add task 具体代码参考https://github.com/rongfengliang/celery-docker-demo 项目结构 ├── README.md ...
- mysql学习--基本使用
一旦安装完毕,MySQL 服务器应该自己主动启动. sudo start mysql #手动的话这样启动 sudo stop mysql #手动停止 当你改动了配置文件后,你须要重新启动 mysqld ...
- Centos 6 安装 配置 oracle11g R2
1.安装centos6.3_64位: 下载地址:http://mirror.bit.edu.cn/centos/6.3/isos/x86_64/ CentOS-6.3-x86_64-bin-DVD1. ...
- 显示等待WebDriverWait
显示等待:WebDriverWait 等待页面加载完成,找到某个条件发生后再继续执行后续代码,如果超过设置时间检测不到则抛出异常 WebDriverWait(driver, timeout, poll ...

