更新时间:2021-01-26 17:18:43
封面
译者序
前言
作者简介
第1章 ROS入门
1.1 技术要求
1.2 ROS概述
1.2.1 ROS发行版
1.2.2 支持的操作系统
1.2.3 支持的机器人及传感器
1.2.4 为什么选择ROS
1.3 ROS基础
1.3.1 文件系统层级
1.3.2 计算图层级
1.3.3 ROS社区层级
1.3.4 ROS中的通信
1.4 ROS客户端库
1.5 ROS工具
1.5.1 ROS的可视化工具RViz
1.5.2 rqt_plot
1.5.3 rqt_graph
1.6 ROS模拟器
1.7 在Ubuntu 18.04 LTS上安装ROS Melodic
1.8 在VirtualBox上设置ROS
1.9 Docker简介
1.9.1 为什么选择Docker
1.9.2 安装Docker
1.10 设置ROS工作空间
1.11 ROS在工业界和学术界的机遇
1.12 本章小结
第2章 ROS-2及其特性简介
2.1 技术要求
2.2 ROS-2概述
2.2.1 ROS-2发行版
2.2.2 支持的操作系统
2.2.3 支持的机器人及传感器
2.2.4 为什么选择ROS-2
2.3 ROS-2基础
2.3.1 什么是DDS
2.3.2 DDS的实现
2.3.3 计算图
2.3.4 ROS-2社区层级
2.3.5 ROS-2中的通信
2.3.6 ROS-2的变化
2.4 ROS-2客户端库
2.5 ROS-2工具
2.5.1 RViz2
2.5.2 Rqt
2.6 安装ROS-2
2.6.1 开始安装
2.6.2 获取ROS-2源码
2.6.3 ROS-1、ROS-2以及共存环境设置
2.6.4 运行测试节点
2.7 设置ROS-2工作空间
2.8 编写ROS-2节点
2.8.1 ROS-1代码示例
2.8.2 ROS-2代码示例
2.8.3 ROS-1发布者节点与ROS-2发布者节点的区别
2.9 ROS-1和ROS-2的通信
2.10 本章小结
第3章 构建工业级移动机械臂
3.1 技术要求
3.2 常见的移动机械臂
3.3 移动机械臂应用场景
3.4 移动机械臂构建入门
3.4.1 单位及坐标系
3.4.2 Gazebo及ROS机器人模型格式设定
3.5 机器人底座构建
3.5.1 机器人底座需求
3.5.2 软件参数
3.5.3 机器人底座建模
3.5.4 机器人底座模拟
3.5.5 机器人底座测试
3.6 机械臂构建
3.6.1 机械臂需求
3.6.2 软件参数
3.6.3 机械臂建模
3.6.4 机械臂模拟
3.6.5 机械臂测试
3.7 系统集成
3.7.1 移动机械臂建模
3.7.2 移动机械臂模拟与测试
3.8 本章小结
第4章 基于状态机的复杂机器人任务处理
4.1 技术要求
4.2 ROS动作机制简介
4.2.1 服务器–客户端结构概述
4.2.2 actionlib示例:机械臂客户端
4.2.3 基于actionlib的服务器–客户端示例:电池模拟器
4.3 服务员机器人应用示例
4.4 状态机简介
4.5 SMACH简介
4.6 SMACH入门
4.6.1 SMACH-ROS的安装与使用
4.6.2 简单示例
4.6.3 餐厅机器人应用示例
4.7 本章小结
第5章 构建工业级应用程序
5.1 技术要求
5.2 应用案例:机器人送货上门