ROS2编程理论与实践核心篇 版权信息
- ISBN:9787302670148
- 条形码:9787302670148 ; 978-7-302-67014-8
- 装帧:70g胶版纸
- 册数:暂无
- 重量:暂无
- 所属分类:>
ROS2编程理论与实践核心篇 本书特色
涵盖了ROS2机器人操作系统的核心内容理论与实践相结合,有效推动知识内化和技能提升 基于C++和Python双语言编写实例代码知识全面、案例丰富、工程性强,提供全部源代码并配套详细视频讲解作者都是出自清华猛狮智能车团队,在行业内居于领先地位。本书是全国高等学校计算机教育研究会“十四五”规划教材。
作者都是出自清华猛狮智能车团队,在行业内居于领先地位。
ROS2编程理论与实践核心篇 内容简介
"本书是一本关于ROS2的入门教程。ROS2是机器人操作系统的新一代版本,通过全面迭代升级,ROS2在ROS1的基础上进一步完善,为机器人开发提供更加稳定、高效的解决方案。通过理论与实践的结合,本书由浅入深地帮助机器人领域的读者全面掌握ROS2相关内容,主要包含ROS2的概述以及环境搭建、ROS2通信机制、核心ROS2通信机制补充、ROS2工具如launch、rosbag2、TF(坐标变换)、rviz2可视化、urdf建模等。
通过本书的学习,读者可以了解ROS2的整体框架,掌握机器人的相关理论知识,构建机器人平台并实现机器人的各种实用功能如导航、建图等,为后续的ROS2机器人开发打下坚实的基础。
本书的内容涵盖了ROS2的核心知识点,适合机器人开发人员、自动驾驶开发人员、学生等人群阅读。本书的特点是内容系统性强、资料详细、实用性强、易懂易学,是一本非常实用的ROS2学习教程。
"
ROS2编程理论与实践核心篇 目录
目录
第1章ROS2概述与环境搭建1
1.1ROS2简介1
1.1.1ROS2的发展历程2
1.1.2ROS2的组成体系4
1.1.3ROS2的优势5
1.2ROS2的安装7
1.2.1安装ROS27
1.2.2测试ROS210
1.3ROS2的快速体验10
1.3.1案例简介10
1.3.2HelloWorld(C++)11
1.3.3HelloWorld(Python)13
1.3.4运行优化15
1.4ROS2集成开发环境的搭建16
1.4.1安装VSCode16
1.4.2安装终端19
1.4.3安装git20
1.5ROS2体系框架20
1.5.1ROS2文件系统21
1.5.2ROS2核心模块27
1.5.3ROS2技术支持30
1.5.4ROS2应用方向31
1.6本章小结32
第2章ROS2通信机制核心34
2.1通信机制简介34
2.2话题通信36
2.2.1话题通信案例需求及分析38
2.2.2话题通信之原生消息(C++)39
2.2.3话题通信之原生消息(Python)43
2.2.4话题通信自定义接口消息46
2.2.5话题通信之自定义消息(C++)47
2.2.6话题通信之自定义消息(Python)50
2.3服务通信53
2.3.1服务通信案例需求及分析54
2.3.2服务通信接口消息55
2.3.3服务通信(C++)56
2.3.4服务通信(Python)61
2.4动作通信64
2.4.1动作通信的案例需求及分析65
2.4.2动作通信接口消息66
2.4.3动作通信(C++)67
2.4.4动作通信(Python)73
2.5参数服务77
2.5.1参数服务案例需求及分析78
2.5.2参数数据类型79
2.5.3参数服务(C++)80
2.5.4参数服务(Python)85
2.6本章小结90
第3章ROS2通信机制补充91
3.1分布式通信91
3.2工作空间覆盖93
3.3元功能包95
3.4节点重名96
3.4.1ros2 run设置节点名称97
3.4.2launch文件设置节点名称97
3.4.3编码设置节点名称99
3.5话题重名99
3.5.1ros2 run设置话题名称100
3.5.2launch文件设置话题名称101
3.5.3编码设置话题名称102
3.6时间相关API103
3.6.1Rate104
3.6.2Time105
3.6.3Duration106
3.6.4Time与Duration运算107
3.7通信机制工具109
3.7.1命令工具109
3.7.2rqt工具箱111
3.8通信机制实操113
3.8.1话题通信案例需求及分析113
3.8.2话题通信的实现114
3.8.3服务通信案例需求及分析117
3.8.4服务通信的实现118
3.8.5动作通信案例需求及分析124
3.8.6动作通信的实现125
3.8.7参数服务案例需求及分析133
3.8.8参数服务的实现134
3.9本章小结137
第4章ROS2工具之launch与rosbag2138
4.1启动文件launch简介138
4.2launch之Python实现144
4.2.1节点设置144
4.2.2Python实现执行指令147
4.2.3Python实现参数设置148
4.2.4Python实现文件包含149
4.2.5Python实现分组设置150
4.2.6添加事件151
4.3launch之XML、YAML实现152
4.3.1案例需求及分析152
4.3.2XML、YAML实现执行指令154
4.3.3XML、YAML实现参数设置155
4.3.4XML、YAML实现文件包含156
4.3.5XML、YAML实现分组设置156
4.4录制回放工具——rosbag2157
4.4.1rosbag2命令工具158
4.4.2rosbag2编程(C++)158
4.4.3rosbag2编程(Python)162
4.5本章小结165
第5章ROS2工具之坐标变换167
5.1坐标变换简介167
5.2坐标相关消息169
5.3坐标变换广播170
5.3.1坐标系广播案例及分析171
5.3.2静态广播器(命令)172
5.3.3静态广播器(C++)173
5.3.4静态广播器(Python)176
5.3.5动态广播器(C++)179
5.3.6动态广播器(Python)182
5.3.7坐标点发布案例及分析184
5.3.8坐标点发布(C++)185
5.3.9坐标点发布(Python)187
5.4坐标变换监听189
5.4.1坐标系变换案例需求及分析189
5.4.2坐标系变换(C++)191
5.4.3坐标系变换(Python)193
5.4.4坐标点变换(C++)196
5.4.5坐标点变换(Python)199
5.5坐标变换工具200
5.6坐标变换实操202
5.6.1乌龟跟随案例需求及分析202
5.6.2乌龟跟随的实现(C++)203
5.6.3乌龟跟随的实现(Python)212
5.6.4乌龟护航案例需求及分析218
5.6.5乌龟护航的实现(C++)219
5.6.6乌龟护航的实现(Python)221
5.7本章小结222
第6章ROS2工具之可视化223
6.1可视化简介223
6.2rviz2的基本使用224
6.2.1rviz2的安装224
6.2.2rviz2的启动224
6.2.3rviz2的界面布局224
6.2.4rviz2中的预定义插件225
6.2.5rviz2的插件示例226
6.3rviz2集成urdf的基本流程227
6.3.1rviz2集成urdf案例需求及分析227
6.3.2rviz2集成urdf案例的实现228
6.4urdf的使用语法231
6.4.1urdf语法01_robot231
6.4.2urdf语法02_link232
6.4.3urdf语法03_joint234
6.4.4urdf练习239
6.4.5urdf工具243
6.5urdf优化之xacro244
6.5.1xacro快速体验244
6.5.2xacro使用语法246
6.5.3xacro练习249
6.6本章小结253
展开全部
ROS2编程理论与实践核心篇 作者简介
张新钰,清华猛狮无人驾驶车队负责人,主持国家重点研发计划和国家自然科学基金等多项,中国发明授权专利46项,美国发明授权专利10项,发表SCI/E|论文70篇,荣获国际发明金奖4项、省部级一等奖和二等奖各1项。主要研究领域为自动驾驶感知和智能飞行汽车。
赵虚左,清华猛狮无人驾驶车队研发工程师,负责机器人与无人驾驶课程的研发工作。