一本免费的SLAM书

SLAM book
开源地址: https://github.com/magnum101/slam_tech_book

第 1 章 初识 SLAM … 11
1.1 什么是 SLAM …12
1.1.1 传感器和地图 …12
1.1.2 SLAM 建图过程 …13
1.1.3 建图的目的 … 15
1.2 SLAM 难点 …16
1.3 SLAM 算法基本框架 …18
1.4 最小二乘问题 … 22
1.4.1 高斯分布 … 22
1.4.2 最小二乘问题 …23
1.4.3 线性最小二乘问题求解 … 25
1.4.4 SVD 分解 … 26
1.5 非线性最小二乘问题 … 30
1.5.1 梯度下降法 … 30
1.5.2 高斯牛顿法 … 33
1.5.3 信赖域方法 … 34
1.5.4 优化理论在 SLAM 中应用 …38
1.6 贝叶斯滤波 … 41
1.6.1 贝叶斯滤波原理 … 41
1.6.2 滤波理论在 SLAM 中的应用 …41
1.7 本章总结 … 43
1.8 本章参考文献 … 44
第 2 章 里程计 … 46
2.1 轮式里程计 … 47
2.1.1 两轮差速运动学模型 …47
2.1.2 轮式里程计的问题 … 48
2.1.3 轮式里程计标定 … 48
2.2 IMU 与里程计 …51
2.2.1 IMU 介绍 … 51
52.2.2 基于 IMU 的位姿推断 … 53
2.2.3 IMU 与轮式里程计融合 … 55
2.3 激光里程计 … 57
2.3.1 激光雷达运动畸变去除 … 57
2.3.2 帧间匹配算法 …58
2.3.3 激光点约束 …58
2.3.4 相位相关法 … 60
2.3.5 提高激光里程计性能 …63
2.4 本章总结 … 65
2.5 本章参考文献 … 66
第 3 章 地图生成和匹配 … 67
3.1 栅格地图的建立 … 68
3.1.1 栅格地图介绍 …68
3.1.2 激光生成地图过程 … 69
3.1.3 Voronoi 图 …73
3.2 栅格地图与激光匹配 … 74
3.2.1 栅格地图与激光匹配介绍 … 74
3.2.2 暴力匹配 … 75
3.2.3 优化方法 … 76
3.3 点云地图生成 … 79
3.3.1 点云地图介绍 …79
3.3.2 点云基本处理 …79
3.3.3 kd 树 … 81
3.3.4 特法线和曲率 …84
3.3.5 PCA 原理 … 85
3.4 点云匹配 …89
3.4.1 ICP 算法原理 …89
3.4.2 PL-ICP …94
3.4.3 NICP … 96
3.4.4 IMLS-ICP …98
3.4.5 GICP … 99
63.4.6 NDT 算法 … 99
3.5 回环检测 … 103
3.5.1 回环检测介绍 …103
3.5.2 分支定界搜索匹配算法 …103
3.5.3 特征点匹配 … 105
3.6 本章总结 … 111
3.7 本章参考文献 … 112
第 4 章 定位最优问题 …113
4.1 定位最优问题介绍 … 114
4.1.1 定位最优问题 …114
4.1.2 怎样提高定位质量 … 114
4.2 滤波算法 … 115
4.2.1 KF 算法 … 115
4.2.2 EKF 算法 … 119
4.2.3 UKF 算法 … 121
4.2.4 ESKF/IEKF/MSCKF … 123
4.2.5 蒙特卡洛方法 …126
4.2.6 粒子滤波 …127
4.3 优化算法 … 130
4.3.1 全局优化 …130
4.3.2 滑窗优化 …133
4.4 SLAM 中的坐标转换 … 135
4.4.1 位姿空间变换 …135
4.4.2 三维角度信息描述 … 136
4.4.3 对位姿求导 … 141
4.4.4 SLAM 中的坐标系 …147
4.5 障碍物识别和处理 … 150
4.5.1 动态障碍物识别和过滤 …150
4.6 地图中的全局约束 … 155
4.6.1 UWB 定位 …155
4.6.2 蓝牙定位 …155
74.6.3 Wi-Fi 的定位 … 156
4.6.4 AprilTag …156
4.6.5 landmark …157
4.6.6 人工约束 …158
4.6.7 全球卫星导航系统 … 158
4.6.8 RTK …159
4.7 本章总结 … 161
4.8 本章参考文献 … 162
第 5 章 视觉 SLAM … 163
5.1 视觉 SLAM 介绍 …164
5.1.1 V-SLAM 基本原理和应用 … 164
5.1.2 V-SLAM 的摄像头 … 165
5.1.3 V-SLAM 基本实现过程 … 169
5.1.4 V-SLAM 难点 … 173
5.2 特征点 … 175
5.2.1 ORB 特征点 …175
5.2.3 对极约束 …179
5.2.4 PNP 计算相机相对运动 … 182
5.2.5 特征点法总结 …188
5.3 直接法 … 190
5.3.1 光流法 …190
5.3.2 直接法 …193
5.4 词袋模型 … 196
5.4.1 词袋模型举例 …196
5.4.2 DBoW …196
5.4.3 DBoW2 和 DBoW3 … 198
5.5 视觉传感器的融合 … 200
5.5.1 融合前的准备 …200
5.5.2 MSKF 融合 …204
5.5.3 优化方法 …209
5.6 本章总结 … 221
85.7 本章参考文献 … 222
第 6 章 机器学习在 SLAM 中的应用 … 223
6.1 机器学习原理 …224
6.1.1 机器学习方法简介 … 224
6.1.2 神经网络原理 …225
6.1.3 卷积神经网络和深度学习 … 234
6.1.4 神经网络训练技巧 … 241
6.2 常用的神经网络模型 … 245
6.2.1 AlexNet 和 ZFNnet … 245
6.2.2 VGGNet 与 GoogLeNet … 250
6.2.3 ResNet … 252
6.2.4 循环神经网络(RNN)与长短期记忆网络(LSTM) …253
6.2.5 生成对抗网络(GAN) … 256
6.3 机器学习在 SLAM 工程中的应用 …259
6.3.1 视觉里程计 DeepVO … 259
6.3.2 无监督的 VO 学习 …262
6.3.3 视觉重定位 RelocNet … 265
6.4 本章总结 … 269
6.5 本章参考文献 … 270
第 7 章 SLAM 工程 … 271
7.1 算法工程实现 … 272
7.1.1 SLAM 工程要求 …272
7.1.2 硬件平台 …272
7.1.3 编程语言 …277
7.1.4 Linux 系统 … 277
7.1.5 SLAM 软件工程实现步骤 …278
7.2 C++工程实现工具 …280
7.2.1 C/C++程序可执行文件生成 … 280
7.2.2 GCC/CMAKE …280
7.2.3 常用 IDE …283
7.2.4 程序调试工具 …285
97.2.5 程序测试工具 …286
7.2.6 程序部署 …289
7.3 SLAM 常用函数库 … 291
7.3.1 EIGEN/Sophus …291
7.3.2 DBoW …291
7.3.3 OpenCV …292
7.3.4 PCL … 292
7.3.5 Ceres/g2o/GTSAM …292
7.3.6 Docker … 294
7.4 ROS 系统 … 297
7.4.1 ROS 介绍 … 297
7.4.2 ROS 通信 … 299
7.4.3 ROS 工具 … 301
7.4.4 ROS 软件库 … 304
7.4.5 ROS 社区 … 305
7.4.6 ROS2 介绍 … 306
7.5 深度学习模型的训练和部署 … 311
7.5.1 深度学习开发流程 … 311
7.5.2 深度学习开发框架 … 312
7.5.3 深度模型压缩 …313
7.5.4 深度模型部署 …313
7.6 本章总结 … 319
7.7 本章参考文献 … 320

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值