自动驾驶定位算法-递归贝叶斯滤波(Bayes Filter)

自动驾驶定位算法-递归贝叶斯滤波(Bayes Filter)

附赠自动驾驶学习资料和量产经验:链接

贝叶斯滤波器(Bayes Filter)是无人驾驶汽车中高精定位相关的基础技术,同时也是机器人技术中的基础算法。

如上图,开始机器人不知道自己在哪里,跟人在陌生的环境中一样,一脸茫然,觉得四周哪里都一样,对机器人来说就是在任何地方的置信度都相等。

置信度(Belief)是什么

要让机器人理解物理世界,就需要给机器人安装各种传感器,比如摄像头、GPS、轮速记等等,通过传感器让机器人可以对周围环境进行建模,从而理解自己所处的位置和处境。真实的世界是非常复杂、动态变化的,机器人没有能力也不可能把周围环境都刻画出来。比如机器人运动过程中,受风速或者地面湿度影响,它通过轮速计知道自己走了1m,由于地面打滑或者大风影响,导致实际只向前走了0.9m。采用越多越精确的传感器,就能够把环境刻画的越精确,但是刻画的越精确,参数越多,计算就越复杂,甚至不可行。即使我们可以通过传感器刻画出环境的所有维度,由于传感器自身测量存在的误差或者噪声,导致机器人仍然不可能确认自己的位置。

由于环境的不可完全观测性,我们引入一个置信度(Belief)的概念,表示每一个可能的状态(state)的概率。

递归贝叶斯算法:

继续机器人的定位故事:

走到第一个门的时候,通过观察看到一个门,因为机器人通过地图应该有三个门,它就确定自己应该在三个门之一的任何一个位置,于是在三个门处的概率就大大增加。

由于机器人安装了里程计,走到第二个门的时候,根据自己走的距离和两个门的信息已经有绝大部分把握知道自己在哪里了。

相关推荐
MZWeiei2 小时前
PTA:运用顺序表实现多项式相加
算法
GISer_Jing2 小时前
Javascript排序算法(冒泡排序、快速排序、选择排序、堆排序、插入排序、希尔排序)详解
javascript·算法·排序算法
cookies_s_s2 小时前
Linux--进程(进程虚拟地址空间、页表、进程控制、实现简易shell)
linux·运维·服务器·数据结构·c++·算法·哈希算法
丁劲犇2 小时前
碳基生物的悲歌-DeepSeek思考实现Linux动态库递归收集工具
linux·递归·deepseek·ldd
不想编程小谭2 小时前
力扣LeetCode: 2506 统计相似字符串对的数目
c++·算法·leetcode
水蓝烟雨3 小时前
[HOT 100] 2187. 完成旅途的最少时间
算法·hot 100
菜鸟一枚在这4 小时前
深度解析建造者模式:复杂对象构建的优雅之道
java·开发语言·算法
gyeolhada4 小时前
2025蓝桥杯JAVA编程题练习Day5
java·数据结构·算法·蓝桥杯
阿巴~阿巴~4 小时前
多源 BFS 算法详解:从原理到实现,高效解决多源最短路问题
开发语言·数据结构·c++·算法·宽度优先
给bug两拳4 小时前
Day9 25/2/22 SAT
算法