定 价:59 元
丛书名:普通高等教育人工智能与机器人工程专业系列教材
- 作者:刘相权 张万杰
- 出版时间:2022/9/1
- ISBN:9787111709718
- 出 版 社:机械工业出版社
- 中图法分类:TP242
- 页码:
- 纸张:胶版纸
- 版次:
- 开本:16开
本书首先对Ubuntu 20.04的安装与使用、ROS安装与系统架构、ROS通信方式、ROS实用工具进行了介绍,然后在仿真环境中对机器人建模与运动仿真、机器人建图与导航仿真应用、机器人平面视觉检测仿真应用、机器人三维视觉仿真实例等方面进行了详细介绍,*后通过一个完整的基于 ROS 的服务机器人的仿真应用实例,讲解如何实现地图创建、航点设置、路径规划、视觉检测、物品自动抓取的综合功能。
为了便于理解,书中列举了大量应用实例,所有实例均在ROS中调试通过,可以直接运行,且每个应用实例均给出相应的源代码。本书在编写时力求做到通俗易懂、图文并茂,针对应用型本科院校学生的特点,内容讲解在够用的基础上,突出实际应用,同时提供丰富的配套资源。
本书可作为普通高等院校机器人、机械、车辆等工科专业的教材,也可供广大从事机器人开发的工程技术人员参考。
本书配有教学课件和源程序代码,欢迎选用本书作教材的教师发邮件至jinacmp@163.com索取,或登录www.cmpedu.com注册下载。
机器人操作系统(ROS)作为一种开源软件,集成了全球机器人领域顶尖科研机构的研究成果,成为世界上较先进、通用的机器人与人工智能科研和教育平台。其涵盖了建图与导航定位、物体识别、运动规划、多关节机械臂运动控制、机器学习等内容。国内机器人企业、无人驾驶企业都纷纷加入ROS阵营,众多企业在招募无人驾驶规划算法工程师、自主导航工程师、机器人感知算法工程师等岗位时,均要求“熟悉ROS”或者“具备ROS开发经验者优先”。
办公厅印发的《2019年教育信息化和网络安全工作要点》指出:“推动大数据、虚拟现实、人工智能等新技术在教育教学中的深入应用。”由此可见,国家高度重视虚拟现实在教学方式方法改革中的应用。本书针对机器人实践教学存在的设备成本高昂、学生操作机会不足、操作危险、创新能力培养困难等问题,提供了ROS在机器人教学中可以实现的仿真应用,以及相应的教学资源,以促进学生实践动手能力的提高,提升学生的职业竞争力。
本书主要面向应用型本科院校,编写内容力求由浅入深,循序渐进地介绍ROS的功能和操作步骤。本书内容涉及Ubuntu 20.04的安装与使用、ROS安装与系列架构、ROS通信方式、ROS实用工具、机器人建模、机器人建图与导航、平面视觉检测、三维视觉检测、综合应用,每一个环节都结合了仿真应用实例,并给出源代码,便于读者学习;书中使用大量图片,让抽象的内容立体化、形象化,非常便于读者阅读和按步骤对照学习机器人操作系统。读者只需要拥有一台运行Ubuntu系统的计算机,具备Linux的基本知识,了解C++的编程方法,即可使用本书。
编著者编著本书过程中,参阅了大量的相关教材和专著,也在网上查找学习了很多资料,在此向各位作者表示感谢!
由于编著者水平有限,书中不足、疏漏之处在所难免,恳请广大读者批评、指正。
编著者
目录
前言
第1章Linux Ubuntu入门基础
1.1Ubuntu 简介
1.2安装Ubuntu 20.04
1.2.1准备工具
1.2.2制作Ubuntu系统安装启动U盘
1.2.3在 Windows 10操作系统下创建空白磁盘分区
1.2.4利用U盘安装Ubuntu系统
1.3Ubuntu 20.04使用入门
1.3.1截图快捷键
1.3.2Ubuntu 20.04界面简介
1.3.3命令行使用入门
1.4本章小结
第2章ROS安装与系统架构
2.1ROS简介
2.2ROS安装与配置
2.3ROS默认安装目录
2.4ROS架构
2.4.1ROS文件系统级
2.4.2ROS计算图级
2.4.3ROS开源社区级
2.4.4常用包管理指令
2.5Visual Studio Code安装与配置
2.6Visual Studio Code卸载
2.7本章小结
第3章ROS通信方式
3.1主题
3.1.1概述
3.1.2发布器编程实例:小乌龟速度控制
3.1.3订阅器编程实例:小乌龟速度接收
3.2服务
3.2.1概述
3.2.2自定义srv消息文件编程实例
3.2.3服务端编程实例
3.2.4客户端编程实例
3.3动作库
3.3.1概述
3.3.2自定义action消息文件编程实例
3.3.3客户端编程实例
3.3.4服务端编程实例
3.4参数服务器
3.4.1创建yaml文件
3.4.2加载yaml文件
3.4.3在节点中进行参数读取
3.5本章小结
第4章ROS实用工具
4.1坐标变换
4.1.1广播TF 变换
4.1.2监听TF 变换
4.2启动文件
4.2.1编写launch文件
4.2.2Launch文件解析
4.3Gazebo仿真
4.3.1开源项目的下载
4.3.2启动仿真软件
4.3.3启动键盘控制
4.4Rviz三维可视化工具
4.4.1开源项目的下载
4.4.2启动Rviz可视化工具
4.5本章小结
第5章机器人建模与运动仿真
5.1URDF的物理模型描述
5.1.1开源项目示例
5.1.2URDF的结构与惯性描述
5.1.3仿真中常用的惯性参数
5.2URDF的传感器描述
5.2.1运动底盘仿真参数
5.2.2激光雷达仿真参数
5.2.3立体相机仿真参数
5.3机器人运动仿真
5.3.1运动控制仿真示例
5.3.2与ROS工具的连接
5.3.3基于传感器的闭环控制仿真示例
5.4本章小结
第6章机器人建图与导航仿真应用
6.1在Gazebo中进行SLAM建图和导航仿真
6.1.1SLAM建图仿真
6.1.2Navigation导航仿真
6.2ROS中的Navigation导航系统
6.2.1Navigation的使用
6.2.2全局规划器
6.2.3局部规划器
6.2.4AMCL
6.2.5move_base
6.2.6常见问题
6.3开源地图导航插件简介
6.3.1常规的导航调用
6.3.2基于插件的导航调用
6.3.3在仿真环境中设置航点
6.3.4在仿真环境中使用插件导航
6.3.5航点信息的编辑修改
6.4语音识别和自主导航综合实例
6.4.1下载语音识别包
6.4.2编写实例代码
6.4.3对实例进行仿真
6.5本章小结
第7章机器人平面视觉检测仿真应用
7.1使用OpenCV获取机器人的视觉图像
7.1.1编写例程代码
7.1.2对例程进行仿真
7.1.3在真机上运行实例
7.2使用OpenCV进行颜色特征提取和目标定位
7.2.1编写例程代码
7.2.2对例程进行仿真
7.2.3在真机上运行实例
7.3实现机器人的目标跟随
7.3.1编写例程代码
7.3.2对例程进行仿真
7.3.3在真机上运行实例
7.4实现机器人的人脸检测
7.4.1编写例程代码
7.4.2对例程进行仿真
7.4.3在真机上运行实例
7.5本章小结
第8章机器人三维视觉仿真实例
8.1机器人的三维点云数据获取
8.1.1编写例程代码
8.1.2对例程进行仿真
8.1.3在真机上运行实例
8.2使用PCL点云库进行平面特征提取
8.2.1编写例程代码
8.2.2对例程进行仿真
8.2.3在真机上运行实例
8.3使用PCL点云库进行点云聚类分割
8.3.1编写例程代码
8.3.2对例程进行仿真
8.3.3在真机上运行实例
8.4基于三维视觉的物品检测和抓取
8.4.1编写例程代码
8.4.2对例程进行仿真
8.4.3在真机上运行实例
8.5本章小结
第9章基于ROS的服务机器人应用实例
9.1环境地图的创建
9.2关键航点的设置
9.3任务脚本代码的编写
9.4完整实例的运行
9.5在真机上运行实例
9.6本章小结
参考文献