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

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

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

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

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

置信度(Belief)是什么

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

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

递归贝叶斯算法:

继续机器人的定位故事:

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

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

相关推荐
灵感__idea3 小时前
Hello 算法:贪心的世界
前端·javascript·算法
澈2075 小时前
深入浅出C++滑动窗口算法:原理、实现与实战应用详解
数据结构·c++·算法
ambition202425 小时前
从暴力搜索到理论最优:一道任务调度问题的完整算法演进历程
c语言·数据结构·c++·算法·贪心算法·深度优先
cmpxr_5 小时前
【C】原码和补码以及环形坐标取模算法
c语言·开发语言·算法
qiqsevenqiqiqiqi5 小时前
前缀和差分
算法·图论
代码旅人ing5 小时前
链表算法刷题指南
数据结构·算法·链表
Yungoal5 小时前
常见 时间复杂度计算
c++·算法
不爱吃炸鸡柳6 小时前
单链表专题(完整代码版)
数据结构·算法·链表
CylMK7 小时前
题解:AT_abc382_d [ABC382D] Keep Distance
算法
Dfreedom.7 小时前
计算机视觉全景图
人工智能·算法·计算机视觉·图像算法