目录
第1章绪论………………………………………………………………1
1.1 移动机器人概述………………………………………………………………1
1.1.1 早期的移动机器人………………………………………………………1
1.1.2 移动机器人的发展过程…………………………………………………2
1.1.3 移动机器人发展的重要性………………………………………………4
1.2 ROSHunter自主导航机器人介绍……………………………………………6
第2章Linux Ubuntu入门基础……………………………………………………10
2.1 Ubuntu概述…………………………………………………………………10
2.1.1 操作系统架构……………………………………………………………11
2.1.2 Ubuntu的发展过程……………………………………………………13
2.2 安装Ubuntu 20.04 …………………………………………………………15
2.3 Ubuntu 20.04使用入门……………………………………………………21
2.3.1 系统管理相关命令………………………………………………………22
2.3.2 文件管理相关命令………………………………………………………23
2.3.3 备份压缩相关命令………………………………………………………32
2.3.4 网络通信相关命令………………………………………………………34
2.3.5 其他常用命令……………………………………………………………35
第3章ROS2基础概念与操作……………………………………………………39
3.1 ROS2系统概述………………………………………………………………39
3.1.1 ROS2系统发展背景介绍………………………………………………39
3.1.2 ROS2系统架构与原理…………………………………………………42
3.1.3 ROS2系统插件介绍……………………………………………………43
3.2 ROS2系统的安装……………………………………………………………45
3.3 ROS2系统的常用命令与操作………………………………………………48
第4章ROS编程与开发……………………………………………………………55
4.1 开发工具IDE ………………………………………………………………55
4.1.1 Rviz2简介及使用………………………………………………………55
4.1.2 Rqt简介及使用…………………………………………………………57
4.2 ROS2工作空间………………………………………………………………59
4.2.1 ROS2工作空间概述……………………………………………………59
4.2.2 编译重建ROS2工作空间……………………………………………60
4.2.3 初识ROS2 ……………………………………………………………61
4.3 ROS2节点与话题……………………………………………………………65
4.4 ROS2编程实例………………………………………………………………66
4.4.1 编写一个简单的publisher ……………………………………………66
4.4.2 编写一个简单的subscriber……………………………………………70
4.4.3 编写一个发布订阅节点(CPP)…………………………………………75
4.4.4 编写一个发布订阅节点(PY) …………………………………………77
4.4.5 发布与订阅话题…………………………………………………………80
第5章ROS环境感知与建模………………………………………………………86
5.1 ROS下的传感器和执行器…………………………………………………86
5.1.1 激光雷达接口……………………………………………………………86
5.1.2 摄像机接口及摄像头的应用……………………………………………90
5.1.3 测量手柄…………………………………………………………………94
5.1.4 电机控制…………………………………………………………………98
5.2 ROS2建模与仿真…………………………………………………………103
5.2.1 统一的机器人描述格式………………………………………………103
5.2.2 Gazebo仿真器…………………………………………………………103
第6章移动机器人定位与导航……………………………………………………105
6.1 SLAM 概述…………………………………………………………………105
6.2 常见SLAM 算法讲解………………………………………………………105
6.2.1 SLAM 的典型应用领域………………………………………………105
6.2.2 SLAM 框架……………………………………………………………109
6.2.3 SLAM 分类(基于传感器的SLAM 分类) …………………………110
6.3 常见SLAM 算法……………………………………………………………112
6.4 XR-ROSHunter机器人SLAM 建图示例………………………………116
6.4.1 激光雷达建图…………………………………………………………116
6.4.2 视觉建图………………………………………………………………119
6.4.3 xrosmanager2保存地图………………………………………………121
6.5 Navigation2路径规划算法…………………………………………………123
6.6 XR-ROSHunter机器人自主导航示例……………………………………126
6.6.1 激光雷达导航…………………………………………………………126
6.6.2 视觉导航………………………………………………………………129
第7章机器视觉应用………………………………………………………………133
7.1 机器视觉介绍………………………………………………………………133
7.2 数字图像……………………………………………………………………138
7.2.1 图像与数字图像………………………………………………………138
7.2.2 图像的数字化…………………………………………………………140
7.2.3 图像的采集与处理技术………………………………………………141
7.3 OpenCV 机器视觉入门……………………………………………………143
7.3.1 OpenCV 相关背景知识………………………………………………143
7.3.2 OpenCV 安装…………………………………………………………145
7.3.3 OpenCV 应用案例……………………………………………………146
7.4 机器视觉应用实例…………………………………………………………147
7.4.1 机器视觉之人脸识别…………………………………………………147
7.4.2 机器视觉之二维码识别………………………………………………149
7.4.3 机器视觉之颜色识别…………………………………………………151
7.4.4 机器视觉之视觉巡线…………………………………………………152
7.4.5 机器视觉之目标跟踪…………………………………………………154
参考文献……………………………………………………………………………… 158