Introduction to SLAM
Simultaneous Localization and Mapping
Graph-based SLAM using pose graphs
Graph-based SLAM with landmarks
Robust optimization in SLAM
Relative pose estimation using vision
What is SLAM
同时定位映射问题,我们将引入最小二乘,首先,这是我们用来进行状态估计的主要技术。然后我们研究一种2D SLAM问题,这种问题比较容易解决。掌握并理解激光测距仪,然后我们可以缓解问题。将使问题更笼统,从而在我们的数据中出现异常值关联,然后我们还研究如何获取状态估计。
伴随着三个问题,localization Mapping SLAM
定位是估计位姿的问题,就是我在哪里的问题
建图是构建一个世界是什么样子的地图
SLAM是以上两个问题同时进行,同时解决定位和建图问题。
这是富有挑战的,因为我们通常需要有一个地图来很好的估计我们的位姿,另一方面,我们需要有一个好的位姿估计来构建一个地图。所以我们两个任务有依赖。如果我们有一个地图,那么我们定位就很简单。如果我们有一个好的位姿,那么建图就很简单。但是如果你想同时解决这两个问题,这将会变得富有挑战性和更棘手。
为了解决我们执行的大多数导航任务而设计的fation一个重要的部分,并已在许多的不同的设置中使用,基本上是大多数应用程序的关键要素。
- Computing the robot’s poses and the map of the environment at the same time
- Localization:estimating the robot’s location
- Mapping:building a map
- SLAM:building a map and localizing the robot simultaneously
Simultaneous Localization and Mapping or SLAM
- Build a map of the environment from a mobile sensor platform
- At the same time, localize a mobile sensor platform in the map build so far
- Online variant of the bundle adjustment problem for arbitrary sensors
SLAM Applications
- SLAM is central to a range of indoor, outdoor, air and underwater applications for both manned and automous vehicles.
Definition of the SLAM Problem
Given
- The robot’s controls
u1:T=u1,u2,u3,...,uTu_{1:T} = {u_1,u_2,u_3,...,u_{T}}u1:T=u1,u2,u3,...,uT
-
Observations
z1:T=z1,z2,z3,...,zTz_{1:T}={z_1,z_2,z_3,...,z_T}z1:T=z1,z2,z3,...,zT -
Wanted
- Map of the environment
m - Path of the robot
x0:T=x0,x1,x2,...,xTx_{0:T}={x_0,x_1,x_2,...,x_T}x0:T=x0,x1,x2,...,xT
- Map of the environment
Probalilistic Approaches
- Uncertainty in the robot’s motions and observations
- Use the probability theory to explicitly represent the uncertainty
我的运动充满了不确定性和运动的不确定性,观察将影响我们实际拥有的整个地图的不确定性,所以归结为估计X和概率分布P给定,所以我们将其视为给定的所有观察结果和所有控制命令,所以从SLAM的概率观点来看,一切都归为估计这种概率分布。
In the Probabilistic World
Estimate the robot’s path and the map
p(x0:t,m∣z1:T,u1:T)p(x_{0:t},m|z_{1:T,u_{1:T}})p(x0:t,m∣z1:T,u1:T)
P | distribution |
x0:Tx_{0:T}x0:T | path |
m | map |
Z1:TZ_{1:T}Z1:T | observations |
u1:Tu_{1:T}u1:T | controls |
从图形角度来看,像贝叶斯网络这样的图形模型是一种可以说的方式,说明概率分布或者说明依赖关系之间的概率分布,所以我们这里有不同的圈子,圆圈指的是您从此处看到的变量。在不同的点,我们有不同的控制命令,U。观察和我们的地图,我们可以读取该图中的错误,作为影响,因此例如控制命令会影响下一个脉冲,所以如果我在某处并且正在执行控制命令,这是一个对已知的下一个观测结果卷曲的影响,因此也处于我所处的位置xtx_txt会影响我的下一个观测结果ztz_tzt。
Full SLAM vc. Online SLAM
- Full SLAM estimates the entire path
p(x0:T,m∣z1:T,u1:T)p(x_{0:T},m|z_{1:T},u_{1:T})p(x0:T,m∣z1:T,u1:T) - Online SLAM seeks to recover only the most recent pose
p(xt,m∣z1:t,u1:t)p(x_t,m|z_{1:t},u_{1:t})p(xt,m∣z1:t,u1:t)
机器人在环境中行驶,他根据地图做出决定,他可以构建,但是对之前的位置并不感兴趣,只对我现在在哪里感兴趣,以便做出正确的决定。这是我们不再参考online-SLAM的地方
-
Oneline SLAM
-
Online SLAM means marginalizing out the previous poses
p(xt,m∣z1:t,u1:t)=∫...∫p(z0:t,m∣z1:t,u1:t)dxt−1...dx0p(x_t,m|z_{1:t},u_{1:t})= \int ... \int p(z_{0:t,m|z_{1:t},u_{1:t}})dx_{t-1}...dx_0p(xt,m∣z1:t,u1:t)=∫...∫p(z0:t,m∣z1:t,u1:t)dxt−1...dx0 -
Integrals are typically solved recursively, one at at time
full-SLAM 分布,然后只有当前时间的位姿实际存在
因此,这种online-SLAM的图像化模型基本上可以归结为m和xt+1x_{t+1}xt+1变量整合其他变量
Summary
- Mapping is the task of modeling the environment
- Localization means estimating the robot’s pose
- SLAM = simultaneous localization and mapping
- Full SLAM vs. Online SLAM