ROS机器人开发实践

《ROS机器人开发实践》

  • 出版社:机械工业出版社
  • ISBN:9787111598237
  • 版次:1
  • 商品编码:12377412
  • 品牌:机工出版
  • 包装:平装
  • 丛书名:机器人设计与制作系列
  • 开本:16开
  • 出版时间:2018-06-01
  • 用纸:胶版纸
  • 页数:506
基本介绍书籍目录点评信息
  • 书籍内容

    本书共有14章,可以分为五个部分。
    第一部分是ROS基础(第1~4章),帮助了解ROS框架,并且熟悉ROS中的关键概念以及实现方法。这部分的内容适合初学者,也适合作为有一定经验或者资深开发者的参考手册。
    第二部分介绍如何搭建真实或仿真的机器人平台(第5~6章),帮助了解机器人系统的概念和组成,学习如何使用ROS实现机器人仿真,为后续的机器人实践做好准备。这部分的内容适合希望自己动手设计、开发一个完整机器人平台的读者。
    第三部分介绍ROS中常用功能包的使用方法(第7~10章),涉及机器视觉、机器语音、机械臂控制、SLAM和导航等多个机器人研究领域。这部分的内容适合学习ROS基础后希望实践的开发者,以及从事相关领域的机器人开发者。
    第四部分是ROS的进阶内容(第11~13章),介绍了ROS的进阶功能、ROS与机器学习的结合、搭载ROS的机器人平台。这部分的内容适合已经对ROS基础和应用有一定了解的读者。
    第五部分介绍了新一代ROS——ROS 2(第14章),涉及ROS 2的架构、原理和使用方法。这部分的内容适合对ROS有一定了解,希望了解ROS 2、想要跟上ROS进化步伐的开发者。

    编辑推荐

    适读人群 :本书不仅适合希望了解、学习、应用ROS的机器人初学者,也适合有一定经验的机器人开发人员,同时也可以作为资深机器人开发者的参考手册。
    基于ROS 2.0,国内首本内容全面、涵盖范围广的ROS中文入门书籍。本书以实践为重心,讲解大量机器视觉、机器语音、机械臂控制、SLAM和导航、机器学习等多方面ROS应用的实现原理和方法,并且翻译了众多ROS中的图表、内容,帮助读者在实现ROS基础功能的同时深入理解基于ROS的机器人开发,将书中的内容用于实践。

    作者简介

    胡春旭
    网名古月,机器人博客“古月居”博主(www.guyuehome.com) 华中科技大学自动化学院硕士。目前主要从事机器人控制系统的研究开发。
    作为国内最早一批ROS开发者,具备多年开发、应用经验,参与研发过服务机器人、机械臂等机器人产品。曾获开源硬件与嵌入式大赛机器人组全国冠军,飞思卡尔杯智能汽车竞赛全国一等奖,中国人工智能机器人学术会议十佳论文等奖项。
  • 推荐序一 推荐序二 推荐序三 前言 第1章 初识ROS 1 1.1 ROS是什么 1 1.1.1 ROS的起源 1 1.1.2 ROS的设计目标 2 1.1.3 ROS的特点 3 1.2 如何安装ROS 4 1.2.1 操作系统与ROS版本的选择 4 1.2.2 配置系统软件源 6 1.2.3 添加ROS软件源 6 1.2.4 添加密钥 7 1.2.5 安装ROS 7 1.2.6 初始化rosdep 8 1.2.7 设置环境变量 8 1.2.8 完成安装 9 1.3 本书源码下载 9 1.4 本章小结 10 第2章 ROS架构 11 2.1 ROS架构设计 11 2.2 计算图 12 2.2.1 节点 12 2.2.2 消息 13 2.2.3 话题 13 2.2.4 服务 13 2.2.5 节点管理器 14 2.3 文件系统 14 2.3.1 功能包 14 2.3.2 元功能包 16 2.4 开源社区 17 2.5 ROS的通信机制 17 2.5.1 话题通信机制 18 2.5.2 服务通信机制 19 2.5.3 参数管理机制 20 2.6 话题与服务的区别 20 2.7 本章小结 21 第3章 ROS基础 22 3.1 第一个ROS例程——小乌龟仿真 23 3.1.1 turtlesim功能包 23 3.1.2 控制乌龟运动 24 3.2 创建工作空间和功能包 25 3.2.1 什么是工作空间 25 3.2.2 创建工作空间 26 3.2.3 创建功能包 27 3.3 工作空间的覆盖 28 3.3.1 ROS中工作空间的覆盖 28 3.3.2 工作空间覆盖示例 28 3.4 搭建Eclipse开发环境 30 3.4.1 安装Eclipse 30 3.4.2 创建Eclipse工程文件 30 3.4.3 将工程导入Eclipse 31 3.4.4 设置头文件路径 31 3.4.5 运行/调试程序 32 3.5 RoboWare简介 35 3.5.1 RoboWare的特点 35 3.5.2 RoboWare的安装与使用 36 3.6 话题中的Publisher与Subscriber 37 3.6.1 乌龟例程中的Publisher与Subscriber 37 3.6.2 如何创建Publisher 37 3.6.3 如何创建Subscriber 40 3.6.4 编译功能包 41 3.6.5 运行Publisher与Subscriber 42 3.6.6 自定义话题消息 44 3.7 服务中的Server和Client 46 3.7.1 乌龟例程中的服务 46 3.7.2 如何自定义服务数据 47 3.7.3 如何创建Server 48 3.7.4 如何创建Client 49 3.7.5 编译功能包 51 3.7.6 运行Server和Client 51 3.8 ROS中的命名空间 52 3.8.1 有效的命名 52 3.8.2 命名解析 53 3.8.3 命名重映射 54 3.9 分布式多机通信 54 3.9.1 设置IP地址 55 3.9.2 设置ROS_MASTER_URI 56 3.9.3 多机通信测试 56 3.10 本章小结 57 第4章 ROS中的常用组件 58 4.1 launch启动文件 58 4.1.1 基本元素 58 4.1.2 参数设置 60 4.1.3 重映射机制 61 4.1.4 嵌套复用 61 4.2 TF坐标变换 62 4.2.1 TF功能包 62 4.2.2 TF工具 63 4.2.3 乌龟例程中的TF 65 4.2.4 创建TF广播器 67 4.2.5 创建TF监听器 68 4.2.6 实现乌龟跟随运动 70 4.3 Qt工具箱 70 4.3.1 日志输出工具(rqt_console) 71 4.3.2 计算图可视化工具(rqt_graph) 71 4.3.3 数据绘图工具(rqt_plot) 72 4.3.4 参数动态配置工具(rqt_reconfigure) 73 4.4 rviz三维可视化平台 73 4.4.1 安装并运行rviz 74 4.4.2 数据可视化 75 4.4.3 插件扩展机制 76 4.5 Gazebo仿真环境 78 4.5.1 Gazebo的特点 78 4.5.2 安装并运行Gazebo 78 4.5.3 构建仿真环境 81 4.6 rosbag数据记录与回放 82 4.6.1 记录数据 82 4.6.2 回放数据 83 4.7 本章小结 84 第5章 机器人平台搭建 85 5.1 机器人的定义 85 5.2 机器人的组成 86 5.2.1 执行机构 87 5.2.2 驱动系统 87 5.2.3 传感系统 87 5.2.4 控制系统 87 5.3 机器人系统搭建 88 5.3.1 MRobot 88 5.3.2 执行机构的实现 88 5.3.3 驱动系统的实现 89 5.3.4 内部传感系统的实现 90 5.4 基于Raspberry Pi的控制系统实现 90 5.4.1 硬件平台Raspberry Pi 91 5.4.2 安装Ubuntu 16.04 91 5.4.3 安装ROS 93 5.4.4 控制系统与MRobot通信 94 5.4.5 PC端控制MRobot 97 5.5 为机器人装配摄像头 99 5.5.1 usb_cam功能包 99 5.5.2 PC端驱动摄像头 100 5.5.3 Raspberry Pi驱动摄像头 102 5.6 为机器人装配Kinect 104 5.6.1 freenect_camera功能包 104 5.6.2 PC端驱动Kinect 106 5.6.3 Raspberry Pi驱动Kinect 109 5.6.4 Kinect电源改造 109 5.7 为机器人装配激光雷达 110 5.7.1 rplidar功能包 110 5.7.2 PC端驱动rplidar 111 5.7.3 Raspberry Pi驱动rplidar 113 5.8 本章小结 113 第6章 机器人建模与仿真 114 6.1 统一机器人描述格式——URDF 114 6.1.1 标签 114 6.1.2 标签 115 6.1.3 标签 116 6.1.4 标签 116 6.2 创建机器人URDF模型 116 6.2.1 创建机器人描述功能包 116 6.2.2 创建URDF模型 117 6.2.3 URDF模型解析 120 6.2.4 在rviz中显示模型 122 6.3 改进URDF模型 124 6.3.1 添加物理和碰撞属性 124 6.3.2 使用xacro优化URDF 125 6.3.
微信公众号

热门文章

更多