卡尔曼滤波/粒子滤波融合定位模拟器
最近稍闲,稍微整理了一下以前的部分代码,虽然写得不够好,但是对于新手也许也有一定的分享价值。具体算法细节我就暂时不讲了,网上太多了。
所以分享这个我用JAVA写的一个模拟器。模拟定位和惯导(或者pdr)利用粒子滤波和卡尔曼滤波的可视化小demo,代码放在GitHub上了,如果觉得有用请点星星:-D.
先上一张运行图,其中图上的各种颜色点点标识不同的算法定位结果,和右边显示的颜色对应。未有说明的红色标识真实位置,后面的定位结果图都将以红色为参照标准:
为了方便对比,先看单独模拟INS(pdr)的效果部分(紫色点),把其他定位结果先隐藏。情况还是比较符合预期,INS刚开始比较准,然后慢慢出现偏差累积。
再来看看单独利用MLE(最大似然估计)的定位结果:其实MLE定位结果(黄色点)统计值是不错的,但是因为其跳动和不连续的特征,导致体验不好也就是很难看出是一条连续路径。
所以我们需要把两种方法的定位结果通过KF或者PF进行融合如下两张图所示,弥补互相的不足。这样连续性和精度上面都有提高。
在这一段模拟上面可以看到平均精度卡尔曼滤波最好,INS还在走向发散。这里的粒子滤波出现了比较严重的粒子退化现象,感兴趣的童鞋可以调整一下参数。
转载于:https://www.cnblogs.com/lesliexong/p/7461284.html
卡尔曼滤波/粒子滤波融合定位模拟器相关推荐
- 【目标定位】基于matlab粒子滤波的定位算法【含Matlab源码 2161期】
一.基于粒子滤波污染源定位简介 粒子滤波定位算法是目前最精准定位可移动物体的位置,由于水域的流动,工业固体废物污染源很可能随着水流移动位置,基于粒子滤波算法将污染物定位分为预测.测量以及重新采样可大大 ...
- 蒙特卡洛粒子滤波定位算法_蒙特卡罗定位算法(基于粒子滤波的定位算法) ——原理、理解与仿真...
1 算法原理 1.1 机器人定位问题 关于机器人定位,有三大问题,它们分别是: (1)"全局定位":指初始位置未知,机器人靠自身运动确定自己在地图中的位姿. (2)"位姿 ...
- 机器人学习--粒子滤波/MCL定位的理论基础(先验知识)
跨学科(未学过数理统计和滤波等课程)的研究人员看懂粒子滤波或MCL定位的理论 2019年剑桥大学一名教授 Simon Godsill 发表了一篇论文: Godsill S. Particle filt ...
- 机器人学习--粒子滤波SLAM/MCL定位参考资料+学习经验
学习材料1: <概率机器人学> 谷歌无人驾驶之父 Sebastian Thrun等人著作. 注释: 可能是本人智商有限,或者是移动机器人学领域的基础知识了解不多. 刚刚看这本书的时候,尤其 ...
- 机器人学习--粒子滤波及其在定位中的应用
前提基础,先看一下 贝叶斯滤波 和 蒙特卡洛方法 一.什么是粒子滤波? 这里有个基于粒子滤波的物体跟踪 案例说明: 参考:基于粒子滤波的物体跟踪 - yangyangcv - 博客园 如果还是看不懂 ...
- 蒙特卡洛粒子滤波定位算法_定位算法 -- MCL蒙特卡洛(粒子)滤波
之前的文章介绍过卡尔曼滤波算法进行定位,我们知道kalman算法适合用于线性的高斯分布的状态环境中,我们也介绍了EKF,来解决在非高斯和非线性环境下的机器人定位算法.但是他们在现实应用中存在计算量,内 ...
- 机器人学习--网友资料系列 激光SLAM建图、粒子滤波定位和位姿图优化
一.移动机器人自主导航的前提是在未知环境中先构建地图 (目前市内很多用的2D激光雷达,构建栅格地图,相当于立体空间中的某个水平面高度的切面) 一般用的是2D 激光SLAM算法 构建概率栅格占用地图: ...
- 湖南工程学院计算机与通讯学院肖鹏,基于区间分析无迹粒子滤波的移动机器人SLAM方法...
[摘要] In particle filter simultaneous localization and mapping method ( SLAM ) for mobile robots, lin ...
- 粒子滤波在图像跟踪领域的实践
文章目录 前言 粒子滤波与卡尔曼滤波的介绍 卡尔曼滤波 粒子滤波 粒子滤波与卡尔曼滤波跟踪对比实验 小结 跋 前言 原文首发于微信公众号「3D视觉工坊」. 前两天在GitChat上总结了自己当 ...
最新文章
- xshell virt-manager RuntimeError: could not open display
- 自由自在讲述小资与冰淇淋的美丽生活
- ASP.NET使用log4Net日志组件教程(按日期与按日志大小切割)
- jzoj6305-最小值【线段树,dp,双端链表】
- 81-linux cluster : lvs
- Spring和依赖注入的价值
- jquery.form.js ajax提交上传文件
- KVM系列之硬件管理
- 三大主流前端框架介绍VUE 、React、Angular
- GitHub的Fork 是什么意思
- excel中去重计数_在Excel中计数
- 道场与世间修行的区别
- 短线交易的自我训练:盘感从何而来?
- javascript 中Object.entries
- 我是一个SDN交换机
- 无线路由器连接交换机
- ODB++数据解析三
- asp一句话html,asp常用的一句话木马大全
- 版本控制系统_繁星漫天_新浪博客
- C语言——查找(折半、分块、二叉排序、哈希法)