新書推薦:
《
心智的构建:大脑如何创造我们的精神世界
》
售價:NT$
352.0
《
美国小史(揭秘“美国何以成为美国”,理解美国的经典入门读物)
》
售價:NT$
352.0
《
中国古代北方民族史丛书——东胡史
》
售價:NT$
576.0
《
巨人传(插图珍藏本)
》
售價:NT$
3289.0
《
地下(村上春树沙林毒气事件的长篇纪实)
》
售價:NT$
332.0
《
偿还:债务与财富的阴暗面
》
售價:NT$
347.0
《
清华大学藏战国竹简校释(壹):《命训》诸篇
》
售價:NT$
408.0
《
封建社会农民战争问题导论(光启文库)
》
售價:NT$
296.0
|
內容簡介: |
ROS是建立在开源操作系统Ubuntu系统之上的开源的机器人操作系统,其主要目标是为机器人研究和开发提供代码复用的支持。它提供了操作系统应有的服务,包括硬件抽象、底层设备控制、共用功能的执行、进程间消息传递,以及包管理。ROS的官方网站也提供了各种支持文档,相关资源构成了一个强大的生态系统,使得学习和使用ROS非常方便。本《基于ROS的机器人理论与应用》所有代码以ROSNoeticNinjemys和ROSMelodicMorenia版本进行调试。作者希望通过介绍ROS和实际机器人为平台,展示机器人主要功能模块涉及的相关理论和应用场景。
|
目錄:
|
目录
前言
第1章 ROS简介 1
1.1 ROS的历史 1
1.2 ROS安装 4
1.2.1 ROS Melodic安装 4
1.2.2 ROS Noetic安装 5
第2章 ROS框架 8
2.1 ROS总体框架 8
2.1.1 文件系统级 8
2.1.2 计算图级 9
2.1.3 社区级 11
2.2 ROS功能包 11
2.2.1 下载已有功能包并编译运行 14
2.2.2 创建功能包并编译运行 15
2.3 ROS基本命令 18
2.3.1 ROS文件系统命令 18
2.3.2 ROS核心命令 22
2.4 坐标变换工具TF 31
2.5 数据记录和回放工具rosbag 34
第3章 可视化工具RViz与仿真工具Gazebo 38
3.1 RViz 38
3.1.1 RViz安装 38
3.1.2 RViz使用 38
3.2 Gazebo 41
3.2.1 运行Gazebo 41
3.2.2 Gazebo的组成 43
3.2.3 URDF模型 45
3.2.4 Solidworks导出URDF模型 61
3.2.5 SDF模型 68
3.3 Gazebo示例:创建并使用Velodyne激光传感器 69
3.3.1 创建Velodyne模型 69
3.3.2 添加Velodyne模型外观信息 79
3.3.3 添加Velodyne模型控制插件 87
3.3.4 安装Velodyne至机器人并测试 91
3.4 Gazebo示例:搭建移动机器人 92
3.4.1 搭建Robot模型 92
3.4.2 添加mesh效果 99
3.4.3 添加sensor传感器 102
第4章 语音识别及语音合成 104
4.1 语音识别原理简介 104
4.2 语音合成原理简介 105
4.3 应用实例 106
4.3.1 CMU Sphinx英文语音识别 106
4.3.2 CMU Festival英文语音合成 116
4.3.3 家度机器人中文语音交互 120
第5章 视觉系统 132
5.1 OpenCV库 132
5.1.1 OpenCV库简介 132
5.1.2 OpenCV库与ROS的接口 133
5.2 Point Cloud点云及处理流程 136
5.3 PCL库 139
5.3.1 PCL库简介 139
5.3.2 PCD文件 142
5.3.3 PCL库与ROS的接口 144
5.4 体感相机在TurtleBot2上的应用 145
5.4.1 体感相机简介 145
5.4.2 OpenCV人脸检测 148
5.4.3 PCL点云滤波 154
第6章 导航定位 158
6.1 SLAM 158
6.1.1 SLAM问题的概率模型 158
6.1.2 EKF SLAM方法 161
6.1.3 Particle Filters SLAM方法 163
6.1.4 基于图论的SLAM方法 165
6.1.5 地图表示方法 167
6.1.6 基于TurtleBot3平台的仿真SLAM实验 171
6.1.7 基于TurtleBot2平台的真实SLAM实验 175
6.2 导航 182
6.2.1 简介 182
6.2.2 已知地图的导航实验 183
第7章 运动规划 188
7.1 背景与动机 188
7.2 MoveIt!介绍 188
7.2.1 MoveIt!结构 188
7.2.2 MoveIt!安装 190
7.2.3 MoveIt!运动规划 190
7.2.4 MoveIt!场景规划 191
7.2.5 MoveIt!运动学求解器 191
7.2.6 MoveIt!碰撞检测 191
7.3 创建MoveIt!功能包 191
7.3.1 使用安装向导工具生成ROS Noetic Panda单臂MoveIt!配置文件包 192
7.3.2 使用安装向导工具生成ROSIndigoPR2双臂MoveIt!配置文件包 205
7.4 使用RViz插件测试MoveIt!功能包 214
7.4.1 MoveIt!的RViz插件 214
7.4.2 路径规划 216
7.5 使用命令行测试MoveIt!功能包 . 218
7.6 使用MoveIt!API接口实现路径规划 220
参考文献 231
|
|