当前位置:网站首页>移动机器人学(三)卡尔曼滤波
移动机器人学(三)卡尔曼滤波
2022-07-20 11:18:00 【u小鬼】
卡尔曼滤波器有一系列递推公式描述,提供一种高效可计算的方法来估计过程的状态,并使估计均方误差最小。它的应用广泛而强大,可以各级信号的过去和当前状态,甚至能估计将来的状态,即使是在无法得知模型的确切性质。
算法流程
直观理解
考虑一辆匀速运动的小车,它在时刻 t 的状态向量 x ( t ) x(t) x(t) 与 x ( t − 1 ) x(t-1) x(t−1) 有关,我们可以预测它的状态 x ( t ) = A x ( t − 1 ) x(t)=Ax(t-1) x(t)=Ax(t−1) 。
然而,实际情况并不是那么理想。这个递推式会受到各种因素的影响(小车结构不稳,刮风下雨),变成 x ( t ) = A x ( t − 1 ) + w t − 1 x(t)=Ax(t-1)+w_{t-1} x(t)=Ax(t−1)+wt−1 , w t − 1 w_{t-1} wt−1 为来自各种因素的噪声,我们假设它符合正态分布 N ( 0 , Q ) N(0,Q) N(0,Q) ,为过程噪声。
“”我们尝试估计小车的位置:
t = 0 t=0 t=0 时,小车位置 Pos 如下红色分布;
t = 1 t=1 t=1 时,我们预测 Pos 值,递推过程中增加了一层噪声,不确定度变大了,方差增大;
为了避免单纯估计带来的偏差,我们对 Pos 进行雷达观测,当然,观测也会收到各种因素的影响,我们也假设它是一个符合正态分布 N ( 0 , R ) N(0,R) N(0,R) 的量,称为观测噪声。测量结果显示,Pos 符合蓝色分布;
Kalman 通过使估计均方误差最小加权方式将红蓝分布合为绿色的正态分布(这使得 Kalman 滤波可以迭代计算):
该分布的具体推导有最大似然法、Ricatti 方程法以及对高斯密度函数变形的方法。
参考
https://zhuanlan.zhihu.com/p/495348963 卡尔曼滤波算法流程以及两个例子
https://www.bilibili.com/video/BV1Rh41117MT?p=5&share_medium=iphone&share_plat=ios&share_session_id=AB06A4CC-EA53-4DAA-B3D3-512D6D5B3293&share_source=COPY&share_tag=s_i×tamp=1649751334&unique_k=MrPR3Xl&vd_source=6b57ee126efe71e6feb0663e78e58a32 EKF较完整讲解(结合code)
https://www.zhihu.com/question/23971601/answer/46480923 EKF直观理解
https://courses.engr.illinois.edu/ece420/sp2017/UnderstandingKalmanFilter.pdf EKF严谨推导
边栏推荐
- Rust之fluid用法(fltk ui 设计器)
- 用 emoji 学安全上网小常识?看 Google 新玩法
- Deit: attention can also be distilled
- 使用 LVS+Keepalived 实现 MySQL 双主复制负载均衡高可用
- [go open source treasure] performance tuning skills based on golang syntax (array traversal)
- 深入理解Mysql事务隔离级别与锁机制
- (note) CIE chromaticity diagram
- 【C语言】冒泡排序升级版---适用任意类型
- gerrit 统计脚本
- 【Flutter -- 基础组件】文本组件 Text & TextStyle & TextSpan
猜你喜欢
随机推荐
Enable the free pan domain SSL certificate for kubesphere cluster and realize the automatic update and distribution of certificates
JVM 基础
基于Tensorflow GPU2Ascend工具的TensorFlow网络模型迁移
opencv 基本操作
gerrit 统计脚本
Cause analysis and solution of the splash screen and playback failure in easygbs switching resolution
MySQL 啥时候用表锁,啥时候用行锁?
用 emoji 学安全上网小常识?看 Google 新玩法
Golang uses reflection to set items in the structure, JSON data source
[shutter -- basic component] text component text & TextStyle & textspan
体系对于哲学的重要性-黑格尔
Use easyexcel to read and write
Communication tutorial | USB, HDMI, DP interface and speed
动态内存管理(malloc,free,calloc,realloc,柔性数组)
MoCo V2:MoCo系列再升级
霸榜MS MARCO!基于Transformer的混合列表感知排序模型
(note) CIE chromaticity diagram
使用EasyExcel进行读写操作
DeiT:注意力也能蒸馏
Few-shot Video-to-Video(NeurIPS 2019)视频生成论文解读