Robotics: Estimation and Learning 3 —机器人建图及定位概述(Robotic Mapping and Localization)

本文介绍了机器人地图构建,特别是占用栅格地图的原理和激光数据处理方法。占据栅格地图是通过二进制随机变量表示环境占据状态,并使用贝叶斯滤波器进行地图更新。激光数据处理涉及将传感器测量转换为地图更新,通过log-odd更新算法和Bresenham画线算法。此外,文章还讨论了里程计模型、地图配准和粒子滤波器在机器人定位中的应用。
摘要由CSDN通过智能技术生成

一.引言(Introduction to Mapping)

该笔记主要对Coursera上宾西法尼亚大学的Robotics: Estimation and Learning课程进行总结以及个人的一些理解,与Robotics: Estimation and Learning同系列的还有Robotics: Aerial RoboticsRobotics: MobilityRobotics: Computational Motion Planning
——————————————————————————————————————————————
我们将学习机器人地图构建,更确切地说,是理解一种基于距离测量的地图构建算法——占据栅格地图(Occupancy Grid Mapping)。

机器人的地图是它所环境的模型,我们称建立一个地图的过程为mapping(地图构建)。为了帮助我们的机器人建立一张地图,常见的地图类型有:
1). 尺度地图 (Metric Map)
这里写图片描述
通常,在尺度地图中,位置表示一个坐标值,这是地图最基本的形式。因为大部分的移动机器人都在自我定位时使用了一些坐标系。
2). 拓扑地图(Topological map)
这里写图片描述
地铁路线图其尺度和大小跟实际情况是有差别的,但是这张图的目的是为了展示哪列车会在哪站停以及哪些站点连接了不同的线路,我们称这种地图为拓扑地图。在图中位置表示为节点,他们的链接表示为弧。精确到坐标在这种图上并不重要,重要的是节点之间的连接。下图中左边的拓扑图和右边的拓扑图是等价的,弧被用来表述节点间的连接代价或是限制条件,这种图在轨迹规划测验中很有用。
这里写图片描述
3). 语义地图(Semantic map)
这里写图片描述
语义地图在机器人的高层规划以及人机交互中有重要作用,通过物体之间位置关系描述出其所在位置。

机器人建图的难点:
1.地图构建本质上是一个感知问题,即确定从传感器获取的数据代表什么,同时,基于传感器就意味这以下俩件事:
a.我们的测量是有噪声的,因此我们需要可靠的估计算法。
b.我们的测量往往是在相对坐标系下进行的,它需要被转化到绝对坐标系中。
2.地图构建还涉及到其他机器人问题,例如轨迹规划和导航问题。因为地图构建往往发生在一个机器人在漫游的时候。
3.现实世界的物体可能会随时间变化,理论上,地图应该被实时更新来反映现实。

二.占据栅格地图(Occupancy Grid Map)

首先我们使用激光作为我们的传感器,如何将激光数据转换为地图?
术语“占据”被定义为一个二进制随机变量,随机变量是对真实事物采样空间的函数,这里的“占据”被定义在有俩个可能状态的概率空间内,空闲及被占据。因此占据随机变量有俩个可能取值0和1。

占据栅格地图就是占据变量组成的数组,栅格的每个元素可以用一个相应的占据变量描述,下图展示了一个2D的占据栅格地图。
这里写图片描述

构建占据栅格地图需要贝叶斯滤波器算法来维护,贝叶斯滤波器意味着一个递归的地图更新。机器人永远无法对周围的环境有确定的认知,因此我们用占据的概率标记而非二值占据变量本身。
这里写图片描述

现在来看看传感器的测量,占据栅格构建算法往往利用一个距离传感器,传感器提供距离信息,然而,在我们的地图上,每个栅格只有俩种可能的测量结果。当小格可以被光线通过,意味着它是一个空旷的空间。下图中浅蓝色的栅哥就是一个开放栅格的例子。当然,一些小格子还可能被光线击中,这意味着它被某些东西占据了,黄色的栅格就是一个被占据的例子。我们将用0代表开放,1代表测量结果被占据。
这里写图片描述

现在我们来思考一个测量的概率模型,给定每个栅格的占据状态,测量只有四种可能的条件概率。变量 z z z m x , y m_{x,y} mx,y,有四种情况:在m为1的条件下z也为1的概率 p ( z = 1 ∣ m x , y = 1 ) p(z=1|m_{x,y}=1) p(z=1mx,y=1), 即是我们对一个被占据的栅格获得测量结果为占据的概率;在给定m为1下z为0的概率,即为我们对一个被占据的栅格获得的测量结果为开放的概率。当m为0时我们也可以用同样方法定义概率。
我们需要设定一些测量参数,错误的测量可能来自于传感器噪声,离散空间的表达,移动的对象还有对机器人移动信息的不确定。所以我们有四个参数,对于条件概率,我们会发现其实我们只有俩个参数。
这里写图片描述

如果我们队栅格有一些先验信息,根据贝叶斯法则,我们也可将他们考虑进来。
这里写图片描述

三.Log-odd Update

我们希望在贝叶斯框架下根据传感器数据更新每个栅格的占据概率,但是,直接跟踪概率是困难的,介绍新的表示方法。如果有一个某件事发生的概率,记做 p ( X ) p(X) p(X)赢率(odd)可以被记为一个比例,这个比例是这件事发生的概率与它不发生的概率之比:
O d d : ( X h a p p e n s ) ( x   n o t   h a p p e n s ) = p ( X ) p ( X c ) Odd:\frac{(X happens)}{(x \ not \ happens)}=\frac{p(X)}{p(X^{c})} Odd:(x not happens)(Xhappens)=p(Xc)p(X)
我们将利用栅格被占据的赢率表示为图上所示的后验概率形式: O d d ( ( m x , y = 1 )   g i v e n   z ) = p ( m x , y = 1 ∣ z ) p ( m x , y = 0 ∣ z ) Odd((m_{x,y}=1) \ given \ z) = \frac{p(m_{x,y}=1|z)}{p(m_{x,y}=0|z)} Odd((mx,y=1) given z)=p(mx,y=0z)p(mx,y=1z)

引用贝叶斯法则 p ( m x , y = 1 ∣ z ) = p ( z ∣ m x , y = 1 ) p ( m x , y = 1 ) p ( z ) p(m_{x,y}=1|z)=\frac{p(z|m_{x,y}=1)p(m_{x,y}=1)}{p(z)} p(mx,y=1z)=p(z)p(zmx,y=1)p(m

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值