143.8
7.6折
原价¥188.8

收藏
2册机器人SLAM技术及其ROS系统应用+机器人SLAM导航核心技术与实战 ROS SLAM和导航核心算法书籍从零构建真实机器人视觉SLAM书籍
担保交易,安全保证,有问题不解决可申请退款。
商品属性
万卷书海图书专营店
万卷书海图书专营店
本商品由 万卷书海图书专营店 提供技术支持并发货!
进店逛逛

买家常见问题解答(必看)

商品详情
用户评价
交易规则

9787111693031 机器人SLAM技术及其ROS系统应用 39.8 机械工业出版社

9787111697428 机器人SLAM导航:核心技术与实战 149 机械工业出版社

机器人SLAM技术及其ROS系统应用


本书是“十三五”江苏省高等学校重点教材。全书贯彻“理论与实际相结合,教学与实践相统一,紧跟当前SLAM研究重点”的思想,以ROS系统作为平台,以Turtlebot机器人为载体,以实际应用为纽带,在ROS系统中实现各种SLAM算法。
     全书共分为5章。第1章介绍SLAM的基本定义、分类及其数学模型,对ROS系统进行简要描述,分析在ROS系统下基于激光特征点的SLAM技术和基于视觉的SLAM技术的特点。第2章详细分析一些典型的基于矢量的SLAM算法和基于随机有限集的SLAM算法的基本原理及其实现。第3章给出ROS系统的详细安装步骤以及部分常用的ROS系统基本操作命令,并以Turtlebot机器人为载体进行基础功能包的安装和测试。第4章首先介绍用于SLAM的ROS相关工具及其使用,然后分别介绍基于激光雷达的Gmapping、Hector SLAM、Cartographer的原理,以及在机器人Turtlebot上的算法实现。第5章介绍基于视觉的MonoSLAM、ORB睸LAM2工作原理及其实现步骤,同时介绍多机器人视觉SLAM系统和地图融合实现过程。
     本书可作为机器人工程、自动化、机械电子工程、智能制造工程等相关专业高年级本科生或者研究生的教材,也可供相关工程技术人员参考。


《机器人SLAM导航:核心技术与实战》

全书分为4部分。第1部分对基础知识展开讲解,包括Linux基础和ROS入门。第2部分主要关注一个实际的机器人中的硬件和核心传感器模块的构造,重点讲解机器人上的传感器、差分底盘、树莓派主板开发方面的知识。第3部分是SLAM地图构建的核心算法,SLAM中的数学基础、基于激光的SLAM系统、基于视觉的SLAM系统、混合SLAM系统、新型SLAM系统。第4部分是自主导航相关的核心技术与应用,包括自主导航中的数学基础、基于地图的导航、基于环境探索建图的导航、强化学习在机器人导航中的应用。

通过阅读本书,读者不仅可以自己设计出一套SLAM导航机器人出来,还可以在软硬件结合的环境中提高自己的C++/Python/Java方面的编程能力,同时还可以接触到流行的SLAM算法的实际应用。

机器人SLAM技术及其ROS系统应用

第1章绪论1
1.1SLAM简介1
1.1.1SLAM的基本定义1
1.1.2SLAM的分类3
1.2ROS简介5
1.3基于ROS系统的SLAM技术6
1.3.1基于激光的SLAM技术7
1.3.2基于视觉的SLAM技术8
1.4SLAM技术的未来发展13
1.5本章小结14
参考文献14
第2章SLAM算法简介与实现15
2.1SLAM算法简介15
2.1.1SLAM算法分类15
2.1.2不同种类SLAM算法的
特点16
2.2基于矢量的SLAM经典算法19
2.2.1EKF睸LAM算法基本原理19
2.2.2EKF睸LAM算法的MATLAB
仿真验证23
2.2.3FastSLAM算法基本原理23
2.2.4FastSLAM算法的MATLAB
仿真27
2.3基于随机有限集的SLAM算法27
2.3.1随机有限集27
2.3.2基于随机有限集的SLAM28
2.3.3PHD睸LAM算法基本原理29
2.3.4PHD睸LAM算法的MATLAB
仿真验证33
2.4本章小结34
参考文献34
第3章基于ROS系统的SLAM
技术36
3.1ROS系统36
3.1.1ROS的版本介绍和安装38
3.1.2ROS文件系统级45
3.1.3ROS计算图级47
3.1.4ROS开源社区级50
3.2ROS系统基本操作51
3.2.1创建工作空间51
3.2.2创建ROS功能包及功能包
编译52
3.2.3ROS节点的使用53
3.2.4ROS主题与节点的交互55
3.2.5ROS服务的使用57
3.2.6节点的创建和编译58
3.2.7服务和消息文件的创建和
使用62
3.2.8Launch启动文件68
3.3基于ROS系统的机器人实践69
3.3.1Turtlebot介绍69
3.3.2Turtlebot功能包安装和
配置71
3.3.3机器人底盘测试73
3.3.4机器人传感器测试73
3.3.5机器人跟随功能实现74
3.3.6基于ROS的多机通信配置75
3.4基于ROS系统的SLAM开源
方案78
3.4.1基于激光雷达的SLAM算法78
3.4.2基于视觉的SLAM算法79
3.5本章小结80
参考文献81
第4章基于特征估计的激光SLAM
技术82
4.1ROS相关工具的使用82
4.1.1rviz和Gazebo的简介82
4.1.2Gazebo的使用83
4.1.3rviz的使用85
4.1.4Turtlebot机器人在Gazebo中的
仿真87
4.1.5Turtlebot机器人在rviz中的
显示89
4.2激光雷达传感器89
4.2.1激光雷达探测原理89
4.2.2基于ROS的激光雷达驱动
安装90
4.3基于激光的Gmapping算法91
4.3.1Gmapping背景91
4.3.2Gmapping算法原理92
4.3.3Gmapping功能包的安装95
4.3.4Gmapping算法在Turtlebot上的
实现98
4.4基于激光的Hector SLAM算法101
4.4.1Hector SLAM背景101
4.4.2Hector SLAM算法原理102
4.4.3Hector SLAM功能包的
安装105
4.4.4Hector SLAM算法在Turtlebot上
的实现107
4.5基于激光的Cartographer算法109
4.5.1Cartographer背景109
4.5.2Cartographer算法原理110
4.5.3Cartographer功能包的
安装113
4.5.4Cartographer算法在Turtlebot
上的实现117
4.6本章小结123
参考文献124
第5章基于视觉SLAM技术125
5.1经典视觉SLAM框架125
5.2视觉传感器及其基础算法126
5.2.1视觉传感器126
5.2.2视觉里程计129
5.2.3后端优化137
5.2.4回环检测140
5.3MonoSLAM算法144
5.3.1MonoSLAM背景144
5.3.2MonoSLAM算法145
5.3.3MonoSLAM功能包的安装150
5.3.4MonoSLAM实现152
5.4ORB睸LAM2算法155
5.4.1ORB睸LAM2背景155
5.4.2ORB睸LAM2算法155
5.4.3ORB睸LAM2功能包的
安装162
5.4.4ORB睸LAM2在Turtlebot上的
实现166
5.5多机器人视觉SLAM技术简介171
5.5.1多机器人系统171
5.5.2机器人相互识别173
5.5.3地图融合策略177
5.5.4地图融合182
5.6本章小结182
参考文献182

......

机器人SLAM导航:核心技术与实战

前言

编程基础篇

第1章 ROS入门必备知识  2

1.1 ROS简介  2

1.1.1 ROS的性能特色  2

1.1.2 ROS的发行版本  3

1.1.3 ROS的学习方法  3

1.2 ROS开发环境的搭建  3

1.2.1 ROS的安装  4

1.2.2 ROS文件的组织方式  4

1.2.3 ROS网络通信配置  5

1.2.4 集成开发工具  5

1.3 ROS系统架构  5

1.3.1 从计算图视角理解ROS架构  6

1.3.2 从文件系统视角理解ROS架构  7

1.3.3 从开源社区视角理解ROS架构  8

1.4 ROS调试工具  8

1.4.1 命令行工具  9

1.4.2 可视化工具  9

1.5 ROS节点通信  10

1.5.1 话题通信方式  12

1.5.2 服务通信方式  15

1.5.3 动作通信方式  19

1.6 ROS的其他重要概念  25

1.7 ROS 2.0展望  28

1.8 本章小结  28

第2章 C++编程范式  29

2.1 C++工程的组织结构  29

2.1.1 C++工程的一般组织结构  29

2.1.2 C++工程在机器人中的组织结构  29

2.2 C++代码的编译方法  30

2.2.1 使用g++编译代码  31

2.2.2 使用make编译代码  32

2.2.3 使用CMake编译代码  32

2.3 C++编程风格指南  33

2.4 本章小结  34

第3章 OpenCV图像处理  35

3.1 认识图像数据  35

3.1.1 获取图像数据  35

3.1.2 访问图像数据  36

3.2 图像滤波  37

3.2.1 线性滤波  37

3.2.2 非线性滤波  38

3.2.3 形态学滤波  39

3.3 图像变换  40

3.3.1 射影变换  40

3.3.2 霍夫变换  42

3.3.3 边缘检测  42

3.3.4 直方图均衡  43

3.4 图像特征点提取  44

3.4.1 SIFT特征点  44

3.4.2 SURF特征点  50

3.4.3 ORB特征点  52

3.5 本章小结  54

硬件基础篇

第4章 机器人传感器  56

4.1 惯性测量单元  56

4.1.1 工作原理  56

4.1.2 原始数据采集  60

4.1.3 参数标定  65

4.1.4 数据滤波  73

4.1.5 姿态融合  75

4.2 激光雷达  91

4.2.1 工作原理  92

4.2.2 性能参数  94

4.2.3 数据处理  96

4.3 相机  100

4.3.1 单目相机  101

4.3.2 双目相机  107

4.3.3 RGB-D相机  109

4.4 带编码器的减速电机  111

4.4.1 电机  111

4.4.2 电机驱动电路  112

4.4.3 电机控制主板  113

4.4.4 轮式里程计  117

4.5 本章小结  118

第5章 机器人主机  119

5.1 X86与ARM主机对比  119

5.2 ARM主机树莓派3B+  120

5.2.1 安装Ubuntu MATE 18.04  120

5.2.2 安装ROS melodic  122

5.2.3 装机软件与系统设置  122

5.3 ARM主机RK3399  127

5.4 ARM主机Jetson-tx2  128

5.5 分布式架构主机  129

5.5.1 ROS网络通信  130

5.5.2 机器人程序的远程开发  130

5.6 本章小结  131

第6章 机器人底盘  132

6.1 底盘运动学模型  132

6.1.1 两轮差速模型  132

6.1.2 四轮差速模型  136

6.1.3 阿克曼模型  140

6.1.4 全向模型  144

6.1.5 其他模型  148

6.2 底盘性能指标  148

6.2.1 载重能力  148

6.2.2 动力性能  148

6.2.3 控制精度  150

6.2.4 里程计精度  150

6.3 典型机器人底盘搭建  151

6.3.1 底盘运动学模型选择  152

6.3.2 传感器选择  152

6.3.3 主机选择  153

6.4 本章小结  155

SLAM篇

第7章 SLAM中的数学基础  158

7.1 SLAM发展简史  158

7.1.1 数据关联、收敛和一致性  160

7.1.2 SLAM的基本理论  161

7.2 SLAM中的概率理论  163

7.2.1 状态估计问题  164

7.2.2 概率运动模型  166

7.2.3 概率观测模型  171

7.2.4 概率图模型  173

7.3 估计理论  182

7.3.1 估计量的性质  182

7.3.2 估计量的构建  183

7.3.3 各估计量对比  190

7.4 基于贝叶斯网络的状态估计  193

7.4.1 贝叶斯估计  194

7.4.2 参数化实现  196

7.4.3 非参数化实现  202

7.5 基于因子图的状态估计  206

7.5.1 非线性最小二乘估计  206

7.5.2 直接求解方法  206

7.5.3 优化方法  208

7.5.4 各优化方法对比  218

7.5.5 常用优化工具  219

7.6 典型SLAM算法  221

7.7 本章小结  221

第8章 激光SLAM系统  223

8.1 Gmapping算法  223

8.1.1 原理分析  223

8.1.2 源码解读  228

8.1.3 安装与运行  233

8.2 Cartographer算法  240

8.2.1 原理分析  240

8.2.2 源码解读  247

8.2.3 安装与运行  258

8.3 LOAM算法  266

8.3.1 原理分析  266

8.3.2 源码解读  267

8.3.3 安装与运行  270

8.4 本章小结  270

第9章 视觉SLAM系统  272

9.1 ORB-SLAM2算法  274

9.1.1 原理分析  274

9.1.2 源码解读  310

9.1.3 安装与运行  319

9.1.4 拓展  327

9.2 LSD-SLAM算法  329

9.2.1 原理分析  329

9.2.2 源码解读  334

9.2.3 安装与运行  337

9.3 SVO算法  338

9.3.1 原理分析  338

9.3.2 源码解读  341

9.4 本章小结  341

第10章 其他SLAM系统  344

10.1 RTABMAP算法  344

10.1.1 原理分析  344

10.1.2 源码解读  351

10.1.3 安装与运行  357

10.2 VINS算法  362

10.2.1 原理分析  364

10.2.2 源码解读  373

10.2.3 安装与运行  376

10.3 机器学习与SLAM  379

10.3.1 机器学习  379

10.3.2 CNN-SLAM算法  411

10.3.3 DeepVO算法  413

10.4 本章小结  414

自主导航篇

第11章 自主导航中的数学基础  418

11.1 自主导航  418

11.2 环境感知  420

11.2.1 实时定位  420

11.2.2 环境建模  421

11.2.3 语义理解  422

11.3 路径规划  422

11.3.1 常见的路径规划算法  423

11.3.2 带约束的路径规划算法  430

11.3.3 覆盖的路径规划算法  434

11.4 运动控制  435

11.4.1 基于PID的运动控制  437

11.4.2 基于MPC的运动控制  438

11.4.3 基于强化学习的运动控制  441

11.5 强化学习与自主导航  442

11.5.1 强化学习  443

11.5.2 基于强化学习的自主导航  465

11.6 本章小结  467

第12章 典型自主导航系统  470

12.1 ros-navigation导航系统  470

12.1.1 原理分析  470

12.1.2 源码解读  475

12.1.3 安装与运行  479

12.1.4 路径规划改进  492

12.1.5 环境探索  496

12.2 riskrrt导航系统  498

12.3 autoware导航系统  499

12.4 导航系统面临的一些挑战  500

12.5 本章小结  500

第13章 机器人SLAM导航综合实战  502

13.1 运行机器人上的传感器  502

13.1.1 运行底盘的ROS驱动  503

13.1.2 运行激光雷达的ROS驱动  503

13.1.3 运行IMU的ROS驱动  504

13.1.4 运行相机的ROS驱动  504

13.1.5 运行底盘的urdf模型  505

13.1.6 传感器一键启动  506

13.2 运行SLAM建图功能  506

13.2.1 运行激光SLAM建图功能  507

13.2.2 运行视觉SLAM建图功能  508

13.2.3 运行激光与视觉联合建图功能  508

13.3 运行自主导航  509

13.4 基于自主导航的应用  510

13.5 本章小结  511

附录A Linux与SLAM性能优化的探讨  512

附录B 习题  523



店铺

客服

购物车
领取优惠
立即购买