





定价:72元
印次:1-4
ISBN:9787302631026
出版日期:2023.05.01
印刷日期:2024.07.02
图书责编:谢琛
图书分类:教材
本书针对ROS机器人操作系统的初学者,以理论与实践相结合的设计思想为主线,循序渐进地介绍机器人操作系统,以帮助有志于机器人开发的读者方便快捷地上手ROS。主要内容包括ROS机器人操作系统的基础知识、通信机制、运行管理、机器人系统仿真、实体机器人设计、机器人导航,以及ROS进阶等内容。读者学习完本书后,能够入门ROS机器人操作系统,掌握机器人的相关理论知识、构建属于自己的机器人平台并实现机器人自主导航功能,为基于ROS机器人操作系统的产品开发奠定基础。 本书理论结合实践、深入浅出,适用于各类学校的ROS机器人操作系统课程。
张新钰,清华大学猛狮无人驾驶团队负责人,国家重点研发计划首席科学家,中国人工智能学会原副秘书长。长期从事智能化无人车辆的研究,针对复杂场景下的异构多模态感知智能问题,提出了面向无人平台的跨场景感知与认知理论框架,取得一系列富有代表性和原创性的研究成果。构建融合感知专利28项(美国授权专利4项,国内授权发明专利21项),并在RSS、ICRA等知名会议和TMech、TIM、TASE、PR等知名期刊上发表论文,3篇论文获得优秀论文奖,出版智能驾驶专著1部,形成了完整的自主知识产权体系。建立面向自动驾驶的多模态融合感知数据平台Open Multi-modal Perception Dataset,简称OpenMPD。带领清华猛狮团队“星途智能车”获得2019 i-VISTA自动驾驶汽车挑战赛城市交通应用场景赛的第一名、2018年世界智能驾驶挑战赛无人驾驶组第一名、获得由国家自然科学基金委主办的2017年中国智能车未来挑战赛城乡道路测试第一名。荣获国际日内瓦发明金奖1项(排名1)、省部级一等奖1项(排名1)、二等奖1项(排名1),发明了国际上首台陆空两栖自主驾驶飞行车辆,研究成果已被新华社、中国日报网、中国网等相继报道。
前言 本书主要内容如下。 第1章是ROS概述与开发环境搭建。本章介绍ROS机器人操作系统的相关概念,ROS的安装步骤,以及ROS程序的编写、编译、运行流程和ROS集成开发环境的搭建,最后总结ROS的设计目标、发展历程、体系架构等内容。 第2章是ROS通信机制。通信机制是ROS体系中的核心内容之一,在机器人系统中,不同模块之间的数据传输都有赖于通信机制。本章主要介绍ROS中的话题通信、服务通信和参数服务器以及通信机制相关的一些指令,并且对不同通信机制做了综合比较。 第3章是ROS通信机制进阶。本章侧重于通信机制编程语法的介绍,包括编程中与通信机制相关的API、C++程序头文件与源文件的使用、Python程序模块导入等。 第4章是ROS运行管理。本章介绍ROS程序运行时的管理策略,包括元功能包、launch文件、工作空间覆盖、节点重名、话题名称设置、参数名称设置以及ROS中的分布式通信实现。 第5章是ROS常用组件。在ROS中为开发者封装了一些比较实用的工具,本章主要介绍这些工具的使用,包括TF坐标变换、rosbag和rqt工具箱。通过TF坐标变换可以方便地实现机器人系统中的静态或动态位姿转换;rosbag可以在机器人运行时录制、回放数据;rqt工具箱则是一系列工具的集合,可以很方便地调试ROS程序,提高程序开发效率。 第6章是ROS机器人系统仿真。仿真是机器人系统的重要模块之一,通过仿真可以降低研发成本,缩短开发时间。本章介绍如何将URDF与RViz结合以实现机器人建模与可视化,并介绍如何使用Gazebo搭建仿真环境。 第7章是仿真环境下的机器人导航。...
第1章ROS概述与开发环境搭建1
1.1ROS简介2
1.1.1ROS概要3
1.1.2ROS的设计目标3
1.1.3ROS发展历程4
1.2ROS安装6
1.2.1安装虚拟机软件6
1.2.2虚拟一台主机10
1.2.3安装和优化Ubuntu12
1.2.4安装ROS20
1.2.5测试ROS22
1.3ROS快速体验24
1.3.1HelloWorld实现简介24
1.3.2HelloWorld(C++版)25
1.3.3HelloWorld(Python版)26
1.4ROS集成开发环境搭建27
1.4.1安装终端27
1.4.2安装VSCode29
1.4.3launch文件演示32
1.5ROS架构32
1.5.1ROS文件系统34
1.5.2ROS文件系统相关命令40
1.5.3ROS计算图41
1.6本章小结42
第2章ROS通信机制43
2.1话题通信43
2.1.1理论模型45
2.1.2基本操作(C++)462.1.3基本操作(Python)49
2.1.4自定义msg51
2.1.5自定义msg调用(C++)53
2.1.6自定义msg调用(Python)56
2.2服务通信58
2.2.1理论模型58
2.2.2自定义srv59
2.2.3自定义srv调用(C++)61
2.2.4自定义srv调用(Python)65
2.3参数服务器68
2.3.1理论模型68
2.3.2参数操作(C++)69
2.3.3参数操作(Python)73
2.4常用命令75
2.4...