-
【SLAM】初识SLAM
- ref: 《视觉SLAM十四讲从理论到实践 第2版》
- 单目相机
- 通过视差得知物体的相对远近
- 尺度不确定性(Scale Ambiguity)
- 双目相机
- 极几何推算距离
- 计算量大,需要GPU和FPGA等加速
- 深度相机
- 物理测量距离,节省算力
- 范围窄,噪声大,视野小,易受日光干扰,无法测量透射材质
2.2经典视觉SLAM框架

- 传感器信息读取:
- 相机图像(编码器,IMU)信息读取和预处理
- 前端视觉里程计 Visual Odometry:
- 估算相邻图像间相机的运动和局部地图
- 计算机视觉, 图像特征提取匹配
- 后端(非线性)优化 optimization:
- 接受不同时刻视觉里程计相机位姿 & 回环检测信息, 处理噪声问题
- 优化得全局一致的轨迹 & 地图
- 滤波与非线性优化
- 回环检测 Loop closure:
- 判断机器人是否到达过先前位置
- 利用图像间的相似性
- 建图 mapping
- 度量地图 Metric Map: 表示地图中物体位置关系
- 稀疏 Sparse: 抽象路标组成, 忽略非路标, 用于定位
- 稠密 Dense: 重建所有, 用于导航, 小方块/小格子
- 拓扑地图 Topological Map: 节点与边组成, 仅考虑连通性
2.3数学建模
-
t
=
1...
K
t=1 ... K
t=1...K 离散时刻中发生的事件
-
x
1
.
.
.
x
K
x_1 ... x_K
x1...xK 各时刻的位置
-
y
1
.
.
.
y
N
y_1 ... y_N
y1...yN 路标点
-
u
k
u_k
uk 运动传感器的读数/输入
-
w
k
w_k
wk 噪声
-
O
\mathcal{O}
O 记录k时刻观察到j路标的集合
建模->状态估计问题
- 运动方程
x
k
=
f
(
x
k
−
1
,
u
k
,
w
k
)
,
k
=
1...
K
x_k=f(x_{k-1},u_k,w_k), k=1...K
xk=f(xk−1,uk,wk),k=1...K
- 观测方程
z
k
,
j
=
h
(
y
j
,
x
k
,
v
k
,
j
)
,
(
k
,
j
)
∈
O
z_{k,j}=h(y_j,x_k,v_{k,j}), (k,j)\in\mathcal{O}
zk,j=h(yj,xk,vk,j),(k,j)∈O
分类:
- 线性/非线性系统: 运动,观测方程是否为线性
- 高斯/非高斯系统: 噪声是否服从高斯分布
- 线性高斯LG系统->卡尔曼滤波KF得出无偏最优估计
- 非线性非高斯NLNG系统->扩展卡尔曼EKF+非线性优化求解
-
相关阅读:
【RocketMQ 十】RocketMQ工作原理之消息生产及存储
【面试系列】Java面试知识篇(三)
STM32F1与STM32CubeIDE综合实例-MPU6050数据3D可视化(基于Python)
ASDIP Foundation简单的图形环境
基于springboot+vue的房屋出租租赁系统 elementui
助力工业物联网,工业大数据之ST层的设计【二十五】
葡聚糖-NH2/COOH/MAL/NHS/N3/Alkyne/SH/Biotin/CHO/OPSS/OH/生物试剂
求二叉树中指定节点所在的层数(可运行)
python细节随笔
南方科技大学博士研究生奖助学金,深圳大学
-
原文地址:https://blog.csdn.net/weixin_46143152/article/details/126804765