本书由浅入深、循序渐进地介绍了机器人操作系统ROS的功能和操作步骤。全书共3篇、6个项目:预备篇(项目1)介绍了学习ROS的预备知识,包括ROS、Ubuntu系统的概念与基本操作、以及ROS的安装与测试;基础篇(项目2-项目4)介绍了ROS的架构、ROS的通信机制以及ROS的常用组件,为后续的机器人实践做好准备;提高篇(项目5-项目6)介绍了ROS的建模与仿真、SLAM与自主导航技术。
前言Preface
随着我国从制造大国向制造强国的不断推进,智能制造已成为企业转型升级、谋求发展的必经之路。机器人产业对于推动工业转型升级、加快科技创新、解放和发展生产力有着重要的意义。机器人操作系统(Robot Operating System,ROS)是一个机器人软件平台,它能为异质计算机集群提供类似操作系统的功能,可以更有效地管理计算机硬件,并提高计算机程序的开发效率。
目前市场上已有的ROS相关教材种类繁多,一般要求学习者有较好的理论基础。本书的编写遵循了结构化、一体化设计的思路,依据ROS开发所需的知识体系进行设计,加入素质教育元素。考虑到高职高专学生的特点,本书内容由简到难,既保证知识体系的相对完整,又方便开展理实一体化教学。资源的呈现力求按需提供,又有适度的拓展,可满足学习者的不同需求。
本书采用先呈现知识体系内容再给出综合项目训练的编排方式,充分利用数字资源优势,优化并缩减文本阐述的篇幅。这样既避免了纯粹项目化教材因项目选择和篇幅限制造成的知识体系残缺的问题,又可有效解决按传统教材项目实践少、内容枯燥的问题。
本书在编写过程中,与中国教育发展战略学会人工智能与机器人教育专委会、安徽效掌科技有限公司进行了深度合作,得到了相关领导和技术人员的大力支持。有些资深工程师直接参与编写与资源建设,保证了本书的科学性、先进性和实用性。
本书由常州信息职业技术学院、广东科学技术职业学院、烟台汽车工程职业学院、中国教育发展战略学会人工智能与机器人教育专委会、安徽效掌科技有限公司联合编写。全书由牛杰、余正泓担任主编。第1篇由牛杰、姜奕雯、常根景编写,第2篇由牛杰、姜奕雯和钱声强编写,第3篇由余正泓、王万君、林裴文、苏菲菲和张超杰编写。
由于编者水平有限,书中难免有疏漏之处,敬请读者批评指正。
编者
序
前言
二维码索引
第1篇
预备篇1
项目1机器人操作系统ROS
概述及安装2
任务1初识机器人操作系统ROS3
任务2开放系统Ubuntu的基本
操作7
任务3机器人操作系统ROS的
安装及测试14
第2篇
基础篇20
项目2ROS架构21
任务1了解ROS架构设计21
任务2ROS层级之文件系统
认知24
任务3ROS层级之计算图认知33
任务4ROS层级之开源社区
认知38
项目3实现ROS节点通信41
任务1话题通信机制认知42
任务2服务通信机制认知58
任务3参数服务器通信机制认知65
项目4ROS常用组件的应用71
任务1roslaunch的应用72
任务2TF坐标变换78
任务3QT工具箱的应用85
任务4Rviz可视化工具的应用90
任务5Gazebo工具的应用96
任务6rosbag工具的应用105
第3篇
提高篇112
项目5建模与仿真112
任务1初识URDF建模113
任务2机器人系统的建模与
仿真121
项目6SLAM与自主导航
技术153
任务1初识SLAM技术154
任务2基于TurtleBot平台的地图
构建158
任务3基于TurtleBot平台的自主
导航167
参考文献172