ekf

SLAM中的EKF,UKF,PF原理简介

拥有回忆 提交于 2020-02-27 05:17:01
这是我在知乎上问题写的答案,修改了一下排版,转到博客里。 原问题: 能否简单并且易懂地介绍一下多个基于滤波方法的SLAM算法原理? 目前SLAM后端都开始用优化的方法来做,题主想要了解一下之前基于滤波的方法,希望有大神能够总结一下各个原理(EKF,UKF,PF,FastSLAM),感激不尽。 作者:半闲居士 链接:https://www.zhihu.com/question/46916554/answer/103411007 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。   我怎么会写得那么长……如果您有兴趣可以和我一块把公式过一遍。   要讲清这个问题,得从状态估计理论来说。先摆上一句名言: 状态估计乃传感器之本质。(To understand the need for state estimation is to understand the nature of sensors.)   任何传感器,激光也好,视觉也好,整个SLAM系统也好,要解决的问题只有一个: 如何通过数据来估计自身状态。 每种传感器的测量模型不一样,它们的精度也不一样。换句话说,状态估计问题,也就是“ 如何最好地使用传感器数据 ”。可以说,SLAM是状态估计的一个特例。 1. 离散时间系统的状态估计   记机器人在各时刻的状态为 ,其中 是离散时间下标。在SLAM中

姿态控制的ekf预测控制与结算学习

女生的网名这么多〃 提交于 2019-11-27 08:11:35
代码框架篇 代码的主要结构由ekf2_main.cpp, estimator_interface.cpp, 和ekf.cpp,ekf_helper.cpp 互相交互,在加上底层的的一系列处理文件。 事实上,之前花费了一周的时间,画的流程图意义和价值很大,这让我在程序代码分析的时候更加直观 流程图的连接见: https://download.csdn.net/download/weixin_39350416/11546415 接下来我该做什么呢,主要分析一下,updated()函数中的五个步骤 1。 预测状态 2。预测协方差 3。 控制融合模式 4。 运行地形估计 5。计算输出状态(输出状态的论文已经梳理过了,但是程序还需要再仔细琢磨) 然后我们现在从预测状态开始 predictState(); predictCovariance(); 这两个函数的主要任务就是执行主过滤器的状态和协方差预测; controlFusionModes(); 这个函数控制融合观测数据 刚刚把第一个状态预测函数过了下,这个函数在ekf.cpp中 确实是根据δ角度和δ速度,校正当前的角度和速度,然后校正垂直方向的速度,和位置信息。 现在过预测协方差,这个函数在协方差的大文件里,covariance.cpp中 这个预测协方差主要做协方差的计算,但是这个内部协方差是计算还是置位,都是有条件的