赞
踩
激光雷达主要包括激光发射、接收、扫描器、透镜天线和信号处理电路组成。
Simultaneous localization and mapping(SLAM), 实时定位与建
图。
机器人导航包括建图、定位、路径规划等主要步骤。其中第一步的建图与定位是密不可分的。在某些场景中,我们可以通过差分GPS等方法获取机器人的绝对位姿,此时将传感器接收到的数据按照机器人的绝对位姿投影到世界坐标系就可以完成建图。也就是说要建图必须已知机器人的定位,而定位则需要有一张有足够精度的地图,对于无法获取机器人绝对位姿的情况,SLAM问题本质上是一个鸡生蛋、蛋生鸡的问题。我的理解是SLAM核心是定位。目标是建图。
类型 | 使用场景 | 特点 |
---|---|---|
二维激光雷达 | 室内移动机器人 | 成本低 |
三维激光雷达 | 室外、测绘、大场景 | 成本高、信息量大 |
视觉 | 室内室外 | 信息量丰富、稳定性差 |
声呐 | 水下场景 | 声波的水下传播 |
类型 | 特点 |
---|---|
图优化方法 | 因子图优化所有位姿 |
滑动窗口方法 | 权衡图优化和滤波 |
滤波器方法 | 估计当前位姿、误差累积难以消除 |
1.里程计标定:
(1)机械标称值不代表实际值,实际误差可能较大
(2)里程计的精度对于机器人定位和建图至关重要
2.激光雷达运动畸变去除
(1)激光雷达采集一帧的数据需要时间,机器人在这段时间内的运动会导致畸变
(2)运动畸变会影响匹配精度
方法 | 特点 |
---|---|
scan-to-scan | 计算量小,容易产生歧义 |
scan-tomap | 计算量中等,歧义中等 |
map-to-map | 计算量大,基本不产生歧义 |
1.高斯牛顿
2.Levenberg-Marquardt(LM)
1.占用栅格地图 2D SLAM
2. 点云地图 3D SLAM
2.机器人的轨迹或者位姿图
方法 | 特点 |
---|---|
PL-ICP | 点到线的距离,更符合室内结构化场景,依赖初始解 |
CSM | 暴力搜索,找到全局最优解 |
Optimization-Based | 依赖于地图的梯度,可以轻易引入额外的约束 |
方法 | 特点 |
---|---|
EKF-SLAM(90年代) | 随着环境的增大,状态量占据空间急剧增大 |
FastSLAM(2002-2003) | 粒子滤波,,每一个粒子表示一个地图 |
Gmapping(2007) | FastSLAM的升级版本 |
Optimal RBPF(2010) | Gmapping基础上的进一步优化 |
方法 | 特点 |
---|---|
Karto-SLAM(2010) | 首个基于优化的2D激光SLAM的开源算法 |
Cartographer(2016) | 与Karto-SLAM原理类似,更完整,更牛B |
机器人在坐标系中的坐标:
(
x
,
y
,
θ
)
(x, y, \theta)
(x,y,θ)
机器人坐标系B到坐标系W的转换矩阵:
T
B
W
=
[
c
o
s
θ
−
s
i
n
θ
x
s
i
n
θ
c
o
s
θ
y
0
0
1
]
=
[
R
t
0
1
]
T_B^W=
旋转矩阵: 表示某一个物理量在不同坐标系下的表示。
R
(
θ
)
=
[
c
o
s
θ
−
s
i
n
θ
s
i
n
θ
c
o
s
θ
]
R(\theta) =
x
w
=
a
[
c
o
s
θ
s
i
n
θ
]
+
b
[
−
s
i
n
θ
c
o
s
θ
]
x_w = a
即
x
w
=
[
c
o
s
θ
−
s
i
n
θ
s
i
n
θ
c
o
s
θ
]
x_w =
旋转矩阵:
R
B
W
=
[
c
o
s
θ
−
s
i
n
θ
s
i
n
θ
c
o
s
θ
]
R_B^W =
坐标系B在坐标系W中的坐标:
(
x
,
y
,
θ
)
(x, y, \theta)
(x,y,θ)
坐标系B到坐标系W的转换矩阵:
T
B
W
=
[
c
o
s
θ
−
s
i
n
θ
x
s
i
n
θ
c
o
s
θ
y
0
0
1
]
=
[
R
t
0
1
]
T_B^W =
坐标系W到坐标系B的转换矩阵:
T
W
B
=
[
R
T
−
R
T
t
0
1
]
=
[
R
−
1
−
R
−
1
t
0
1
]
T_W^B =
世界坐标系到机器人坐标系的转换矩阵就是位姿
机器人A在坐标系W的坐标:
(
x
A
,
y
A
,
θ
A
)
,
[
c
o
s
θ
−
s
i
n
θ
x
A
s
i
n
θ
c
o
s
θ
y
A
0
0
1
]
(x_A, y_A, \theta_A),
机器人B在坐标系W中的坐标:
(
x
B
,
y
B
,
z
B
)
,
[
c
o
s
θ
−
s
i
n
θ
x
b
s
i
n
θ
c
o
s
θ
y
B
0
0
1
]
(x_B, y_B, z_B),
机器人A在机器人B中的坐标:
T
A
B
=
T
W
B
T
A
W
=
T
B
W
−
1
T
A
W
T_A^B = T_W^BT_A^W = {T_B^W}^{-1}T_A^W
TAB=TWBTAW=TBW−1TAW
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。