商品名称: | 机器人SLAM导航:核心技术与实战 博库网 | 开本: | 16开 |
作者: | 张虎 | 页数: | |
定价: | 149 | 出版时间: | 2021-12-01 |
ISBN号: | 9787111697428 | 印刷时间: | 2021-12-01 |
出版社: | 机械工业 | 版次: | 1 |
商品类型: | 图书 | 印次: | 1 |
......
目录:序<br/>前言<br/>编程基础篇<br/>第1章 ROS入门 知识 2<br/>1.1 ROS简介 2<br/>1.1.1 ROS的性能特色 2<br/>1.1.2 ROS的发行版本 3<br/>1.1.3 ROS的学习方法 3<br/>1.2 ROS开发环境的搭建 3<br/>1.2.1 ROS的安装 4<br/>1.2.2 ROS文件的组织方式 4<br/>1.2.3 ROS网络通信配置 5<br/>1.2.4 集成开发工具 5<br/>1.3 ROS系统架构 5<br/>1.3.1 从计算图视角理解ROS架构 6<br/>1.3.2 从文件系统视角理解ROS架构 7<br/>1.3.3 从开源社区视角理解ROS架构 8<br/>1.4 ROS调试工具 8<br/>1.4.1 命令行工具 9<br/>1.4.2 可视化工具 9<br/>1.5 ROS节点通信 10<br/>1.5.1 话题通信方式 12<br/>1.5.2 服务通信方式 15<br/>1.5.3 动作通信方式 19<br/>1.6 ROS的其他重要概念 25<br/>1.7 ROS 2.0展望 28<br/>1.8 本章小结 28<br/>第2章 C++编程范式 29<br/>2.1 C++工程的组织结构 29<br/>2.1.1 C++工程的一般组织结构 29<br/>2.1.2 C++工程在机器人中的组织结构 29<br/>2.2 C++代码的编译方法 30<br/>2.2.1 使用g++编译代码 31<br/>2.2.2 使用make编译代码 32<br/>2.2.3 使用CMake编译代码 32<br/>2.3 C++编程风格指南 33<br/>2.4 本章小结 34<br/>第3章 OpenCV图像处理 35<br/>3.1 认识图像数据 35<br/>3.1.1 获取图像数据 35<br/>3.1.2 访问图像数据 36<br/>3.2 图像滤波 37<br/>3.2.1 线性滤波 37<br/>3.2.2 非线性滤波 38<br/>3.2.3 形态学滤波 39<br/>3.3 图像变换 40<br/>3.3.1 射影变换 40<br/>3.3.2 霍夫变换 42<br/>3.3.3 边缘检测 42<br/>3.3.4 直方图均衡 43<br/>3.4 图像特征点提取 44<br/>3.4.1 SIFT特征点 44<br/>3.4.2 SURF特征点 50<br/>3.4.3 ORB特征点 52<br/>3.5 本章小结 54<br/>硬件基础篇<br/>第4章 机器人传感器 56<br/>4.1 惯性测量单元 56<br/>4.1.1 工作原理 56<br/>4.1.2 原始数据采集 60<br/>4.1.3 参数标定 65<br/>4.1.4 数据滤波 73<br/>4.1.5 姿态融合 75<br/>4.2 激光雷达 91<br/>4.2.1 工作原理 92<br/>4.2.2 性能参数 94<br/>4.2.3 数据处理 96<br/>4.3 相机 100<br/>4.3.1 单目相机 101<br/>4.3.2 双目相机 107<br/>4.3.3 RGB-D相机 109<br/>4.4 带编码器的减速电机 111<br/>4.4.1 电机 111<br/>4.4.2 电机驱动电路 112<br/>4.4.3 电机控制主板 113<br/>4.4.4 轮式里程计 117<br/>4.5 本章小结 118<br/>第5章 机器人主机 119<br/>5.1 X86与ARM主机对比 119<br/>5.2 ARM主机树莓派3B+ 120<br/>5.2.1 安装Ubuntu MATE 18.04 120<br/>5.2.2 安装ROS melodic 122<br/>5.2.3 装机软件与系统设置 122<br/>5.3 ARM主机RK3399 127<br/>5.4 ARM主机Jetson-tx2 128<br/>5.5 分布式架构主机 129<br/>5.5.1 ROS网络通信 130<br/>5.5.2 机器人程序的远程开发 130<br/>5.6 本章小结 131<br/>第6章 机器人底盘 132<br/>6.1 底盘运动学模型 132<br/>6.1.1 两轮差速模型 132<br/>6.1.2 四轮差速模型 136<br/>6.1.3 阿克曼模型 140<br/>6.1.4 全向模型 144<br/>6.1.5 其他模型 148<br/>6.2 底盘性能指标 148<br/>6.2.1 载重能力 148<br/>6.2.2 动力性能 148<br/>6.2.3 控制精度 150<br/>6.2.4 里程计精度 150<br/>6.3 典型机器人底盘搭建 151<br/>6.3.1 底盘运动学模型选择 152<br/>6.3.2 传感器选择 152<br/>6.3.3 主机选择 153<br/>6.4 本章小结 155<br/>SLAM篇<br/>第7章 SLAM中的数学基础 158<br/>7.1 SLAM发展简史 158<br/>7.1.1 数据关联、收敛和一致性 160<br/>7.1.2 SLAM的基本理论 161<br/>7.2 SLAM中的概率理论 163<br/>7.2.1 状态估计问题 164<br/>7.2.2 概率运动模型 166<br/>7.2.3 概率观测模型 171<br/>7.2.4 概率图模型 173<br/>7.3 估计理论 182<br/>7.3.1 估计量的性质 182<br/>7.3.2 估计量的构建 183<br/>7.3.3 各估计量对比 190<br/>7.4 基于贝叶斯网络的状态估计 193<br/>7.4.1 贝叶斯估计 194<br/>7.4.2 参数化实现 196<br/>7.4.3 非参数化实现 202<br/>7.5 基于因子图的状态估计 206<br/>7.5.1 非线性 小二乘估计 206<br/>7.5.2 直接求解方法 206<br/>7.5.3 优化方法 208<br/>7.5.4 各优化方法对比 218<br/>7.5.5 常用优化工具 219<br/>7.6 典型SLAM算法 221<br/>7.7 本章小结 221<br/>第8章 激光SLAM系统 223<br/>8.1 Gmapping算法 223<br/>8.1.1 原理分析 223<br/>8.1.2 源码解读 228<br/>8.1.3 安装与运行 233<br/>8.2 Cartographer算法 240<br/>8.2.1 原理分析 240<br/>8.2.2 源码解读 247<br/>8.2.3 安装与运行 258<br/>8.3 LOAM算法 266<br/>8.3.1 原理分析 266<br/>8.3.2 源码解读 267<br/>8.3.3 安装与运行 270<br/>8.4 本章小结 270<br/>第9章 视觉SLAM系统 272<br/>9.1 ORB-SLAM2算法 274<br/>9.1.1 原理分析 274<br/>9.1.2 源码解读 310<br/>9.1.3 安装与运行 319<br/>9.1.4 拓展 327<br/>9.2 LSD-SLAM算法 329<br/>9.2.1 原理分析 329<br/>9.2.2 源码解读 334<br/>9.2.3 安装与运行 337<br/>9.3 SVO算法 338<br/>9.3.1 原理分析 338<br/>9.3.2 源码解读 341<br/>9.4 本章小结 341<br/> 0章 其他SLAM系统 344<br/>10.1 RTABMAP算法 344<br/>10.1.1 原理分析 344<br/>10.1.2 源码解读 351<br/>10.1.3 安装与运行 357<br/>10.2 VINS算法 362<br/>10.2.1 原理分析 364<br/>10.2.2 源码解读 373<br/>10.2.3 安装与运行 376<br/>10.3 机器学习与SLAM 379<br/>10.3.1 机器学习 379<br/>10.3.2 CNN-SLAM算法 411<br/>10.3.3 DeepVO算法 413<br/>10.4 本章小结 414<br/>自 航篇<br/> 1章 自 航中的数学基础 418<br/>11.1 自 航 418<br/>11.2 环境感知 420<br/>11.2.1 实时定位 420<br/>11.2.2 环境建模 421<br/>11.2.3 语义理解 422<br/>11.3 路径规划 422<br/>11.3.1 常见的路径规划算法 423<br/>11.3.2 带约束的路径规划算法 430<br/>11.3.3 覆盖的路径规划算法 434<br/>11.4 运动控制 435<br/>11.4.1 基于PID的运动控制 437<br/>11.4.2 基于MPC的运动控制 438<br/>11.4.3 基于强化学习的运动控制 441<br/>11.5 强化学习与自 航 442<br/>11.5.1 强化学习 443<br/>11.5.2 基于强化学习的自 航 465<br/>11.6 本章小结 467<br/> 2章 典型自 航系统 470<br/>12.1 ros-navigation导航系统 470<br/>12.1.1 原理分析 470<br/>12.1.2 源码解读 475<br/>12.1.3 安装与运行 479<br/>12.1.4 路径规划改进 492<br/>12.1.5 环境探索 496<br/>12.2 riskrrt导航系统 498<br/>12.3 autoware导航系统 499<br/>12.4 导航系统面临的一些挑战 500<br/>12.5 本章小结 500<br/> 3章 机器人SLAM导航综合实战 502<br/>13.1 运行机器人上的传感器 502<br/>13.1.1 运行底盘的ROS驱动 503<br/>13.1.2 运行激光雷达的ROS驱动 503<br/>13.1.3 运行IMU的ROS驱动 504<br/>13.1.4 运行相机的ROS驱动 504<br/>13.1.5 运行底盘的urdf模型 505<br/>13.1.6 传感器一键启动 506<br/>13.2 运行SLAM建图功能 506<br/>13.2.1 运行激光SLAM建图功能 507<br/>13.2.2 运行视觉SLAM建图功能 508<br/>13.2.3 运行激光与视觉联合建图功能 508<br/>13.3 运行自 航 509<br/>13.4 基于自 航的应用 510<br/>13.5 本章小结 511<br/>附录A Linux与SLAM性能优化的探讨 512<br/>附录B 习题 523......
精 彩 页: