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 ...
随机推荐
- LG2052 [NOI2011]道路修建
题意 在 W 星球上有 n 个国家.为了各自国家的经济发展,他们决定在各个国家 之间建设双向道路使得国家之间连通.但是每个国家的国王都很吝啬,他们只愿 意修建恰好 n – 1 条双向道路. 每条道路的 ...
- LG2831 愤怒的小鸟
题意 分析 看n的范围只有18,考虑状压dp. 用\(f(s)\)表示过集合s中的点所需最小的抛物线数量. 然后枚举点对算抛物线,判断其他点是否在抛物线上来转移. 细节 判断能否构成抛物线只需要判断斜 ...
- intellij idea 清除版本控制
一.概述 intellij idea 再加入版本控制后,在工作空间中的项目文件都会纳入管理范围,这样idea左侧 "project视图" 中的项目及文件也会出现红色(可能其它颜色) ...
- 用arm-linux-gnueabihf移植MP3播放器libmad-0.15.1b的时候出现错误提示
diff --git a/package/libmad/libmad-0.15.1b-thumb2-fixed-arm.patch b/package/libmad/libmad-0.15.1b-th ...
- 指向NULL的类
引出:写个类A,声明类A指针指向NULL,调用类A的方法会有什么后果,编译通过吗,运行会通过吗? (在VS2008与VC++的情况下) 有错误欢迎批评指正! #include<stdio.h&g ...
- 字符串循环右移N位
给一个长度为n的字符串,把这个字符串循环右移N位(0<N<n),要求只用O(1)的额外空间和O(N)时间,有些什么方法 一开始想到的是先保存temp=s[0],在左起第N个移到s[0]的位 ...
- Linux内核 TCP/IP参数调优
http://www.360doc.com/content/14/0606/16/3300331_384326124.shtml
- X.509证书的编码及解析:程序解析以及winhex模板解析
一.证书的整体结构:证书内容.签名算法.签名结果. 用ASN.1语法描述如下: Certificate::=SEQUENCE{ tbsCertificate TBSCertificate, signa ...
- NGINX 添加MP4、FLV视频支持模块
由于公司网站需要放置视频,但是默认的服务器环境是没有编译这个支持的模块,视频文件只能缓冲完了在播放,非常麻烦. 之前呢也安装了一个nginx_mod_h264_streaming来支持,效果很不错 ...
- Run-time Settings 运行时设置
1.执行顺序设置和执行概率设置 2.迭代之间的等待时间设置 3.日志设置 4.思考时间 5.杂项 线程进程选择: 一般服务器没有安全机制选择线程执行 但是有安全机制的话 比如第一个进程50个线程 第二 ...
在连续域上,系统的动态方程为:

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 ...
随机推荐
- LG2052 [NOI2011]道路修建
题意 在 W 星球上有 n 个国家.为了各自国家的经济发展,他们决定在各个国家 之间建设双向道路使得国家之间连通.但是每个国家的国王都很吝啬,他们只愿 意修建恰好 n – 1 条双向道路. 每条道路的 ...
- LG2831 愤怒的小鸟
题意 分析 看n的范围只有18,考虑状压dp. 用\(f(s)\)表示过集合s中的点所需最小的抛物线数量. 然后枚举点对算抛物线,判断其他点是否在抛物线上来转移. 细节 判断能否构成抛物线只需要判断斜 ...
- intellij idea 清除版本控制
一.概述 intellij idea 再加入版本控制后,在工作空间中的项目文件都会纳入管理范围,这样idea左侧 "project视图" 中的项目及文件也会出现红色(可能其它颜色) ...
- 用arm-linux-gnueabihf移植MP3播放器libmad-0.15.1b的时候出现错误提示
diff --git a/package/libmad/libmad-0.15.1b-thumb2-fixed-arm.patch b/package/libmad/libmad-0.15.1b-th ...
- 指向NULL的类
引出:写个类A,声明类A指针指向NULL,调用类A的方法会有什么后果,编译通过吗,运行会通过吗? (在VS2008与VC++的情况下) 有错误欢迎批评指正! #include<stdio.h&g ...
- 字符串循环右移N位
给一个长度为n的字符串,把这个字符串循环右移N位(0<N<n),要求只用O(1)的额外空间和O(N)时间,有些什么方法 一开始想到的是先保存temp=s[0],在左起第N个移到s[0]的位 ...
- Linux内核 TCP/IP参数调优
http://www.360doc.com/content/14/0606/16/3300331_384326124.shtml
- X.509证书的编码及解析:程序解析以及winhex模板解析
一.证书的整体结构:证书内容.签名算法.签名结果. 用ASN.1语法描述如下: Certificate::=SEQUENCE{ tbsCertificate TBSCertificate, signa ...
- NGINX 添加MP4、FLV视频支持模块
由于公司网站需要放置视频,但是默认的服务器环境是没有编译这个支持的模块,视频文件只能缓冲完了在播放,非常麻烦. 之前呢也安装了一个nginx_mod_h264_streaming来支持,效果很不错 ...
- Run-time Settings 运行时设置
1.执行顺序设置和执行概率设置 2.迭代之间的等待时间设置 3.日志设置 4.思考时间 5.杂项 线程进程选择: 一般服务器没有安全机制选择线程执行 但是有安全机制的话 比如第一个进程50个线程 第二 ...

