您好,欢迎来到聚文网。 登录 免费注册
机器人SLAM导航 核心技术与实战

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

  • 装帧: 平装
  • 出版社: 机械工业出版社
  • 作者: 张虎
  • 出版日期: 2022-01-01
  • 商品条码: 9787111697428
  • 版次: 1
  • 开本: 16开
  • 页数: 540
  • 出版年份: 2022
定价:¥149 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
内容简介
机器人SLAM导航的一大痛点是很难做到理论与实战相结合,而本书可谓“百科全书”式讲解,可帮助硬件、软件、算法等不同领域的研究开发人员走出“调参”困境,终结面对硬件和深奥算法时的束手无策,加快算法在实际机器人产品的工程落地与系统性技术突破。本书以ROS编程、传感器、底盘等机器人开发所涉及的软硬件基础知识为切入点,逐步引出SLAM和导航两大领域核心算法,并结合Cartographer、LOAM、ORB-SLAM、VINS、CNN-SLAM、DeepVO、ros-navigation、TEB、RRT等热门开源算法对SLAM和导航的数学原理、代码框架及实操进行深度剖析。本书分为4篇,一共13章。编程基础篇(第1~3章),主要讨论ROS的核心概念、大型C++工程的代码组织方式以及OpenCV图像处理方面的基础知识,为后续学习打好必要的编程基础。硬件基础篇(第4~6章),通过对机器人传感器、机器人主机和机器人底盘的讨论,帮助缺少硬件基础的开发者系统认识机器人硬件,并更好地理解软件与硬件之间的协同关系。SLAM篇(第7~10章),以各个具体的SLAM系统实现为例,进一步介绍SLAM算法的代码框架以及核心算法的细节实现。自主导航篇(第11~13章),基于具体自主导航系统实现,剖析自主导航算法的代码框架以及核心算法的细节实现,并通过一个真实机器人案例向大家介绍应用SLAM导航技术进行开发的完整流程。
作者简介
张虎,深圳市睿思智行科技有限公司CEO。曾就职于深圳市智能机器人研究院,主持机器人自主导航方面的研究项目。工作期间以网名“小虎哥哥爱学习”在知乎、CSDN、bilibili等平台创作了大量机器人SLAM导航相关的优质博客文章及视频教程,深受广大网友的喜爱。他对强人工智能的研究非常感兴趣,并致力于将具有优选智能的机器人进行产业化落地。
目录

前言
编程基础篇
第1章 ROS入门推荐知识
1.1 ROS简介
1.1.1 ROS的性能特色
1.1.2 ROS的发行版本
1.1.3 ROS的学习方法
1.2 ROS开发环境的搭建
1.2.1 ROS的安装
1.2.2 ROS文件的组织方式
1.2.3 ROS网络通信配置
1.2.4 集成开发工具
1.3 ROS系统架构
1.3.1 从计算图视角理解ROS架构
1.3.2 从文件系统视角理解ROS架构
1.3.3 从开源社区视角理解ROS架构
1.4 ROS调试工具
1.4.1 命令行工具
1.4.2 可视化工具
1.5 ROS节点通信
1.5.1 话题通信方式
1.5.2 服务通信方式
1.5.3 动作通信方式
1.6 ROS的其他重要概念
1.7 ROS 2.0展望
1.8 本章小结
第2章 C++编程范式
2.1 C++工程的组织结构
2.1.1 C++工程的一般组织结构
2.1.2 C++工程在机器人中的组织结构
2.2 C++代码的编译方法
2.2.1 使用g++编译代码
2.2.2 使用make编译代码
2.2.3 使用CMake编译代码
2.3 C++编程风格指南
2.4 本章小结
第3章 OpenCV图像处理
3.1 认识图像数据
3.1.1 获取图像数据
3.1.2 访问图像数据
3.2 图像滤波
3.2.1 线性滤波
3.2.2 非线性滤波
3.2.3 形态学滤波
3.3 图像变换
3.3.1 射影变换
3.3.2 霍夫变换
3.3.3 边缘检测
3.3.4 直方图均衡
3.4 图像特征点提取
3.4.1 SIFT特征点
3.4.2 SURF特征点
3.4.3 ORB特征点
3.5 本章小结
硬件基础篇
第4章 机器人传感器
4.1 惯性测量单元
4.1.1 工作原理
4.1.2 原始数据采集
4.1.3 参数标定
4.1.4 数据滤波
4.1.5 姿态融合
4.2 激光雷达
4.2.1 工作原理
4.2.2 性能参数
4.2.3 数据处理
4.3 相机
4.3.1 单目相机
4.3.2 双目相机
4.3.3 RGB-D相机
4.4 带编码器的减速电机
4.4.1 电机
4.4.2 电机驱动电路
4.4.3 电机控制主板
4.4.4 轮式里程计
4.5 本章小结
第5章 机器人主机
5.1 X86与ARM主机对比
5.2 ARM主机树莓派3B+
5.2.1 安装Ubuntu MATE 18.04
5.2.2 安装ROS melodic
5.2.3 装机软件与系统设置
5.3 ARM主机RK3399
5.4 ARM主机Jetson-tx2
5.5 分布式架构主机
5.5.1 ROS网络通信
5.5.2 机器人程序的远程开发
5.6 本章小结
第6章 机器人底盘
6.1 底盘运动学模型
6.1.1 两轮差速模型
6.1.2 四轮差速模型
6.1.3 阿克曼模型
6.1.4 全向模型
6.1.5 其他模型
6.2 底盘性能指标
6.2.1 载重能力
6.2.2 动力性能
6.2.3 控制精度
6.2.4 里程计精度
6.3 典型机器人底盘搭建
6.3.1 底盘运动学模型选择
6.3.2 传感器选择
6.3.3 主机选择
6.4 本章小结
SLAM篇
第7章 SLAM中的数学基础
7.1 SLAM发展简史
7.1.1 数据关联、收敛和一致性
7.1.2 SLAM的基本理论
7.2 SLAM中的概率理论
7.2.1 状态估计问题
7.2.2 概率运动模型
7.2.3 概率观测模型
7.2.4 概率图模型
7.3 估计理论
7.3.1 估计量的性质
7.3.2 估计量的构建
7.3.3 各估计量对比
7.4 基于贝叶斯网络的状态估计
7.4.1 贝叶斯估计
7.4.2 参数化实现
7.4.3 非参数化实现
7.5 基于因子图的状态估计
7.5.1 非线性最小二乘估计
7.5.2 直接求解方法
7.5.3 优化方法
7.5.4 各优化方法对比
7.5.5 常用优化工具
7.6 典型SLAM算法
7.7 本章小结
第8章 激光SLAM系统
8.1 Gmapping算法
8.1.1 原理分析
8.1.2 源码解读
8.1.3 安装与运行
8.2 Cartographer算法
8.2.1 原理分析
8.2.2 源码解读
8.2.3 安装与运行
8.3 LOAM算法
8.3.1 原理分析
8.3.2 源码解读
8.3.3 安装与运行
8.4 本章小结
第9章 视觉SLAM系统
9.1 ORB-SLAM2算法
9.1.1 原理分析
9.1.2 源码解读
9.1.3 安装与运行
9.1.4 拓展
9.2 LSD-SLAM算法
9.2.1 原理分析
9.2.2 源码解读
9.2.3 安装与运行
9.3 SVO算法
9.3.1 原理分析
9.3.2 源码解读
9.4 本章小结
第10章 其他SLAM系统
10.1 RTABMAP算法
10.1.1 原理分析
10.1.2 源码解读
10.1.3 安装与运行
10.2 VINS算法
10.2.1 原理分析
10.2.2 源码解读
10.2.3 安装与运行
10.3 机器学习与SLAM
10.3.1 机器学习
10.3.2 CNN-SLAM算法
10.3.3 DeepVO算法
10.4 本章小结
自主导航篇
第11章 自主导航中的数学基础
11.1 自主导航
11.2 环境感知
11.2.1 实时定位
11.2.2 环境建模
11.2.3 语义理解
11.3 路径规划
11.3.1 常见的路径规划算法
11.3.2 带约束的路径规划算法
11.3.3 覆盖的路径规划算法
11.4 运动控制
11.4.1 基于PID的运动控制
11.4.2 基于MPC的运动控制
11.4.3 基于强化学习的运动控制
11.5 强化学习与自主导航
11.5.1 强化学习
11.5.2 基于强化学习的自主导航
11.6 本章小结
第12章 典型自主导航系统
12.1 ros-navigation导航系统
12.1.1 原理分析
12.1.2 源码解读
12.1.3 安装与运行
12.1.4 路径规划改进
12.1.5 环境探索
12.2 riskrrt导航系统
12.3 autoware导航系统
12.4 导航系统面临的一些挑战
12.5 本章小结
第13章 机器人SLAM导航综合实战
13.1 运行机器人上的传感器
13.1.1 运行底盘的ROS驱动
13.1.2 运行激光雷达的ROS驱动
13.1.3 运行IMU的ROS驱动
13.1.4 运行相机的ROS驱动
13.1.5 运行底盘的urdf模型
13.1.6 传感器一键启动
13.2 运行SLAM建图功能
13.2.1 运行激光SLAM建图功能
13.2.2 运行视觉SLAM建图功能
13.2.3 运行激光与视觉联合建图功能
13.3 运行自主导航
13.4 基于自主导航的应用
13.5 本章小结
附录A Linux与SLAM性能优化的探讨
附录B 习题

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网