作品简介

本书涵盖新的ROS发行版中的项目——ROS Melodic Morenia with Ubuntu Bionic(18.04)。从基本原理开始,本书向你介绍了ROS-2,并帮助你了解它与ROS-1的不同之处。你将能够在ROS中建模并构建工业移动机械手臂,并在Gazebo 9中进行模拟。然后,你将了解如何使用状态机处理复杂的机器人应用程序,以及一次处理多个机器人。本书还向你介绍了新的、流行的硬件,如Nvidia的Jetson Nano、华硕修补板和Beaglebone Black,并允许你探索与ROS的接口。

拉姆库玛·甘地那坦(Ramkumar Gandhinathan),是一名机器人学家和研究者。他从小学六年级开始制造机器人,在机器人领域钻研已超过15年,亲手打造了80多个不同类型的机器人。他在机器人行业有7年的系统性专业工作经验(4年全职和3年兼职/实习),拥有5年的ROS工作经验。在他的职业生涯中,他使用ROS构建了超过15个工业机器人解决方案。他对制作无人机也很着迷,是一名无人机驾驶员。他的研究兴趣和热情集中在SLAM、运动规划、传感器融合、多机器人通信和系统集成等领域。

郎坦·约瑟夫(Lentin Joseph),是一位来自印度的作家、机器人学家和机器人企业家。他在印度喀拉拉邦的高知市经营一家名为Qbotics Labs的机器人软件公司。他在机器人领域有8年的工作经验,主要致力于ROS、OpenCV和PCL领域。他写过几本关于ROS的书,分别是《机器人系统设计与制作:Python语言实现》《精通ROS机器人编程》《ROS机器人项目开发11例》以及《机器人操作系统(ROS)入门必备:机器人编程一学就会》。他在印度获得了机器人学和自动化专业硕士学位,并在美国卡内基–梅隆大学的机器人研究所工作。他也是TEDx演讲者。

作品目录

  • 译者序
  • 前言
  • 作者简介
  • 第1章 ROS入门
  • 1.1 技术要求
  • 1.2 ROS概述
  • 1.3 ROS基础
  • 1.4 ROS客户端库
  • 1.5 ROS工具
  • 1.6 ROS模拟器
  • 1.7 在Ubuntu 18.04 LTS上安装ROS Melodic
  • 1.8 在VirtualBox上设置ROS
  • 1.9 Docker简介
  • 1.10 设置ROS工作空间
  • 1.11 ROS在工业界和学术界的机遇
  • 1.12 本章小结
  • 第2章 ROS-2及其特性简介
  • 2.1 技术要求
  • 2.2 ROS-2概述
  • 2.3 ROS-2基础
  • 2.4 ROS-2客户端库
  • 2.5 ROS-2工具
  • 2.6 安装ROS-2
  • 2.7 设置ROS-2工作空间
  • 2.8 编写ROS-2节点
  • 2.9 ROS-1和ROS-2的通信
  • 2.10 本章小结
  • 第3章 构建工业级移动机械臂
  • 3.1 技术要求
  • 3.2 常见的移动机械臂
  • 3.3 移动机械臂应用场景
  • 3.4 移动机械臂构建入门
  • 3.5 机器人底座构建
  • 3.6 机械臂构建
  • 3.7 系统集成
  • 3.8 本章小结
  • 第4章 基于状态机的复杂机器人任务处理
  • 4.1 技术要求
  • 4.2 ROS动作机制简介
  • 4.3 服务员机器人应用示例
  • 4.4 状态机简介
  • 4.5 SMACH简介
  • 4.6 SMACH入门
  • 4.7 本章小结
  • 第5章 构建工业级应用程序
  • 5.1 技术要求
  • 5.2 应用案例:机器人送货上门
  • 5.3 机器人底座智能化
  • 5.4 机械臂智能化
  • 5.5 应用程序模拟
  • 5.6 机器人改进
  • 5.7 本章小结
  • 第6章 多机器人协同
  • 6.1 技术要求
  • 6.2 集群机器人基本概念
  • 6.3 集群机器人分类
  • 6.4 ROS中的多机器人通信
  • 6.5 多master概念简介
  • 6.6 多机器人应用示例
  • 6.7 本章小结
  • 第7章 嵌入式平台上的ROS应用及其控制
  • 7.1 技术要求
  • 7.2 嵌入式板基础知识
  • 7.3 微控制器板简介
  • 7.4 单板计算机简介
  • 7.5 Debian与Ubuntu
  • 7.6 在Tinkerboard S平台上设置操作系统
  • 7.7 在BeagleBone Black平台上设置ROS
  • 7.8 在Raspberry Pi 3/4平台上设置ROS
  • 7.9 在Jetson Nano平台上设置ROS
  • 7.10 通过ROS控制GPIO
  • 7.11 嵌入式板基准测试
  • 7.12 Alexa入门及连接ROS
  • 7.13 本章小结
  • 第8章 强化学习与机器人学
  • 8.1 技术要求
  • 8.2 机器学习概述
  • 8.3 理解强化学习
  • 8.4 马尔可夫决策过程与贝尔曼方程
  • 8.5 强化学习算法
  • 8.6 ROS中的强化学习功能包
  • 8.7 本章小结
  • 第9章 ROS下基于TensorFlow的深度学习
  • 9.1 技术要求
  • 9.2 深度学习及其应用简介
  • 9.3 机器人领域的深度学习
  • 9.4 深度学习库
  • 9.5 TensorFlow入门
  • 9.6 ROS下基于TensorFlow的图像识别
  • 9.7 scikit-learn简介
  • 9.8 SVM及其在机器人领域的应用简介
  • 9.9 本章小结
  • 第10章 ROS下的自动驾驶汽车构建
  • 10.1 技术要求
  • 10.2 自动驾驶汽车入门
  • 10.3 典型自动驾驶汽车基本组件
  • 10.4 ROS下的自动驾驶汽车模拟与交互
  • 10.5 Gazebo下带传感器的自动驾驶汽车模拟
  • 10.6 ROS下的DBW汽车接口
  • 10.7 Udacity开源自动驾驶汽车项目简介
  • 10.8 本章小结
  • 第11章 基于VR头盔和Leap Motion的机器人遥操作
  • 11.1 技术要求
  • 11.2 VR头盔和Leap Motion传感器入门
  • 11.3 项目设计和实施
  • 11.4 在Ubuntu 14.04.5上安装Leap Motion SDK
  • 11.5 RViz中Leap Motion数据的可视化
  • 11.6 使用Leap Motion控制器创建遥操作节点
  • 11.7 构建ROS-VR Android应用程序
  • 11.8 ROS-VR应用程序的使用及与Gazebo的交互
  • 11.9 VR下的TurtleBot模拟
  • 11.10 ROS-VR应用程序故障排除
  • 11.11 ROS-VR应用与Leap Motion遥操作功能集成
  • 11.12 本章小结
  • 第12章 基于ROS、Open CV和Dynamixel伺服系统的人脸识别与跟踪
  • 12.1 技术要求
  • 12.2 项目概述
  • 12.3 硬件和软件基础需求
  • 12.4 使用RoboPlus配置Dynamixel伺服系统
  • 12.5 Dynamixel与ROS连接
  • 12.6 创建人脸跟踪器ROS功能包
  • 12.7 使用人脸跟踪ROS功能包
  • 12.8 本章小结
展开全部