目录
目录
序一
序二
前言
第1章 机器人自主智能导航概述 1
1.1 技术的发展和趋势 2
1.2 迈向智能导航 9
1.3 本书内容简介 13
参考文献 14
第2章 机器人自主导航框架 17
2.1 机器人操作系统简介 17
2.1.1 概述 17
2.1.2 ROS的基础概念与设计思想 18
2.2 自主导航框架 24
2.2.1 建图与地图发布模块 26
2.2.2 状态估计模块 29
2.2.3 全局路线规划模块 31
2.2.4 局部规划模块 31
2.2.5 抽象控制模块 32
2.3 用于机器人导航的硬件 34
2.3.1 主动传感器 34
2.3.2 被动传感器 39
2.3.3 电机 41
2.3.4 常见的机器人底盘及运动模型 42
2.3.5 融合北斗和AI的实验教学系统 51
2.4 工程实践:差速轮机器人的远程操控 52
2.4.1 环境配置与安装 53
2.4.2 代码解析 54
2.4.3 实验 55
2.5 工程实践:ROS::Movebase 58
2.5.1 环境配置与安装 58
2.5.2 实验框图 61
2.5.3 仿真实验 63
参考文献 65
第3章 机器人环境语义感知 67
3.1 目标检测 67
3.1.1 概述 67
3.1.2 常用数据集及评估指标 69
3.1.3 二阶段目标检测模型 71
3.1.4 一阶段目标检测模型 74
3.2 图像分割 79
3.2.1 概述 79
3.2.2 常用数据集及评估指标 81
3.2.3 语义分割 83
3.2.4 实例分割 90
3.2.5 全景分割 93
3.2.6 融合深度信息的分割 95
3.3 目标跟踪 98
3.3.1 概述 98
3.3.2 常用数据集与评估指标 101
3.3.3 单目标跟踪 104
3.3.4 多目标跟踪 111
3.4 视觉注意力 113
3.4.1 概述 113
3.4.2 基于Transformer的目标检测 120
3.4.3 基于Transformer的图像分割 123
3.4.4 基于Transformer的目标跟踪 125
3.5 基于深度学习的3D点云语义感知 127
3.5.1 概述 127
3.5.2 常用数据集与评估指标 130
3.5.3 3D点云目标检测 130
3.5.4 3D点云分割 134
3.5.5 3D点云目标跟踪 137
3.6 图像和点云的融合语义感知 138
3.6.1 概述 138
3.6.2 前期融合 139
3.6.3 后期融合 139
3.7 典型交通对象的语义感知 140
3.8 工程实践:YOLO v4 142
3.8.1 环境配置与安装 142
3.8.2 代码解析 145
3.8.3 实验 146
3.9 工程实践:DeepLab v3 + 149
3.9.1 环境配置与安装 149
3.9.2 代码解析 151
3.9.3 实验 153
3.10 工程实践:SiamRPN 161
3.10.1 环境配置 162
3.10.2 代码解析 163
3.10.3 实验 164
参考文献 168
第4章 机器人状态估计 175
4.1 GNSS高精度定位定姿技术 175
4.1.1 全球卫星导航系统 175
4.1.2 GNSS快速定位 184
4.1.3 GNSS高精度定位方法 185
4.1.4 GNSS测向定姿 189
4.2 基于IMU的主动姿态估计 191
4.2.1 捷联惯性导航涉及的坐标系 191
4.2.2 捷联惯性导航中IMU传感器误差建模 193
4.2.3 捷联惯性导航姿态表示方法 195
4.2.4 捷联惯导算法中的微分方程及其解算更新 197
4.2.5 捷联惯导的误差微分方程 201
4.3 基于激光雷达的定位 204
4.4 基于视觉的定位 204
4.5 基于机会信号的定位 204
4.6 GNSS/SINS组合导航定位 206
4.6.1 卡尔曼滤波用于数据融合 208
4.6.2 GNSS/SINS松组合 210
4.6.3 RTK/SINS紧组合 213
4.7 因子图用于数据融合 214
4.8 深度神经网络用于数据融合 219
4.8.1 非端到端学习下的惯导定位方法 219
4.8.2 端到端学习下的惯导定位方法 223
4.8.3 监督学习下的视觉定位方法 227
4.8.4 无监督学习下的视觉定位方法 230
4.8.5 惯性传感器与视觉传感器的数据融合 234
4.9 工程实践:利用网络RTK技术定位机器人 237
4.9.1 实验准备 237
4.9.2 GNSS数据格式 238
4.9.3 实验 239
4.10 工程实践:GNSS/INS松组合导航定位 242
4.10.1 数据集介绍 242
4.10.2 代码解析 243
4.10.3 实验 244
4.11 工程实践:RoNIN 247
4.11.1 环境配置 247
4.11.2 代码解析 248
4.11.3 实验 250
参考文献 252
第5章 机器人同步定位与建图 255
5.1 激光SLAM方法 255
5.1.1 概述 255
5.1.2 基于优化的激光SLAM 258
5.1.3 基于滤波的激光SLAM 266
5.2 视觉SLAM方法 268
5.2.1 概述 268
5.2.2 光流估计 275
5.2.3 间接法视觉SLAM与经典方案 280
5.2.4 直接法视觉SLAM与经典方案 289
5.3 视觉惯性SLAM方法 293
5.3.1 概述 293
5.3.2 基于滤波的视觉惯性SLAM方法 294
5.3.3 基于优化的视觉惯性SLAM方法 302
5.4 激光惯性SLAM方法 307
5.4.1 概述 307
5.4.2 基于滤波的激光惯性SLAM 308
5.4.3 基于优化的激光惯性SLAM 313
5.5 事件相机SLAM方法 315
5.6 工程实践:Cartographer 319
5.6.1 环境配置 319
5.6.2 代码解析 323
5.6.3 Turtlebot3仿真实验 324
5.7 工程实践:ORB-SLAM2 326
5.7.1 环境配置 327
5.7.2 代码解析 329
5.7.3 实验 331
5.8 工程实践:ORB-SLAM3 333
5.8.1 环境配置 333
5.8.2 代码解析 336
5.8.3 实验 337
参考文献 339
第6章 机器人视觉语义融合 344
6.1 语义辅助前端特征筛选 344
6.1.1 概述 344
6.1.2 语义分割辅助特征筛选 345
6.1.3 实例分割辅助特征筛选 347
6.2 语义辅助后端定位优化 350
6.2.1 概述 350
6.2.2 像素级语义辅助后端 350
6.2.3 物体级语义辅助后端 353
6.3 语义辅助回环检测 356
6.3.1 概述 356
6.3.2 基于特征的回环检测 357
6.3.3 基于场景的回环检测 359
6.4 语义融合环境建模 361
6.4.1 概述 361
6.4.2 像素级语义建模 364
6.4.3 物体级语义建模 368
6.5 工程实践:DS-SLAM 369
6.5.1 环境配置 370
6.5.2 代码解析 372
6.5.3 实验 373
参考文献 374
第7章 机器人导航规划与决策 378
7.1 全局路线的规划 378
7.1.1 基于图搜索的路线规划 378
7.1.2 基于采样的路线规划 383
7.1.3 面向任务的路线规划 384
7.2 动态目标的距离探测和运动预测 386
7.2.1 传感器测距 386
7.2.2 基于动态SLAM的多目标运动预测 388
7.3 基于几何模型的避障 393
7.3.1 概述 393
7.3.2 速度障碍模型 394
7.3.3 快速几何避障模型 396
7.4 基于势场模型的避障 399
7.4.1 概述 399
7.4.2 人工势场模型 400
7.4.3 旋转矢量场模型 401
7.4.4 混合势场法模型 403
7.5 基于优化思想的避障 405
7.5.1 概述 405
7.5.2 动态窗口算法 405
7.5.3 时变松紧带算法 410
7.6 基于深度学习的局部规划 414
7.6.1 端对端局部规划 414
7.6.2 融合仿生LGMD的局部规划 418
7.7 更高级的行动决策 421
7.8 工程实践:TEB_Local_planner 424
7.8.1 环境配置与安装 424
7.8.2 文件介绍 425
7.8.3 仿真实验 426
参考文献 433
第8章 基于强化学习的认知导航 436
8.1 认知导航的任务描述与建模 436
8.1.1 基本定义与马尔可夫决策过程建模 436
8.1.2 强化学习A2C/A3C算法 442
8.1.3 常见的任务形式 445
8.2 目标驱动导航 446
8.2.1 孪生网络模型 447
8.2.2 自适应视觉导航模型 449
8.3 视觉语言导航 452
8.3.1 增强型跨模态匹配和自监督模仿学习的视觉语言导航模型 452
8.3.2 对象-动作感知模型 458
8.4 视觉对话导航 461
8.5 导航知识图谱的构建与应用 466
8.5.1 知识图谱概述 466
8.5.2 认知导航中知识图谱的构建 467
8.5.3 认知导航中知识图谱的应用 470
8.6 拓展到仿生导航 476
8.6.1 仿生导航传感器 476
8.6.2 使用类网格细胞网络模拟生物的矢量导航 477
8.7 工程实践:SAVN 481
8.7.1 数据集 481
8.7.2 环境配置与安装 481
8.7.3 代码解析 484
8.7.4 实验 485
参考文献 486
第9章 多足机器人导航 489
9.1 多足机器人的发展及应用 489
9.2 多足机器人上的足式里程计 490
9.2.1 多足机器人的D-H建模方法 491
9.2.2 多足机器人的正向运动学模型 492
9.2.3 多足机器人的足式里程计的构建 493
9.3 多足机器人上的不变卡尔曼滤波器 495
9.3.1 不变卡尔曼滤波器简介 495
9.3.2 组合导航中的不变卡尔曼滤波器 498
9.3.3 足式里程计/INS组合导航 501
9.4 多足机器人上的最优平滑算法 503
9.4.1 双向滤波算法 503
9.4.2 RTS平滑 505
9.4.3 分段平滑 506
9.5 多足机器人导航的发展趋势 507
参考文献 509
附录 部分常用数据集 511
参考文献 515