《Mastering ROS for Robotics Programming》第二版深入介绍了ROS(机器人操作系统)的应用与编程技巧,适合希望精通ROS技术的进阶读者。
《Effective Robotics Programming with ROS, Third Edition》为读者提供了一套全面的ROS(机器人操作系统框架)复习材料。该书适用于数百个研究小组及公司在机器人行业的应用,并且对于非专业人士和学生来说,它也是进入机器人领域的理想起点。本书将引导你完成ROS安装过程,并很快让你掌握基本工具并理解不同元素。
书中内容无需特殊设备即可跟随学习,每一章都配有源代码示例与教程供读者在自己的计算机上运行。此外,我们还展示了如何使用硬件来连接你的算法与现实世界。特别注意选择了适合业余用户的可负担的设备,同时涵盖了机器人研究中最常用的传感器或执行器。
最后,《Effective Robotics Programming with ROS, Third Edition》通过展示ROS处理完整机器人的能力,说明了它的潜力——无论是真实环境还是模拟环境中。你将学会如何创建自己的机器人并使用Gazebo模拟器将其集成到仿真中。从这里开始,你可以探索创造一个机器人各个方面的知识,例如利用计算机视觉或点云分析感知世界、通过强大的导航栈在环境中进行导航以及控制机械臂与周围环境互动等任务。希望读者能充分理解ROS开发机器人系统时提供的无限可能。
本书涵盖了以下主题:
- 第1章“开始使用ROS”展示了安装ROS最简单的方法,介绍了如何在不同平台上安装ROS,并提供了利用Debian包、编译源代码及虚拟机(如Docker和ARM CPU)进行安装的详细说明。
- 第2章“ROS架构与概念”,介绍由框架提供的工具及概念。本章节将带你了解节点、主题和服务等基本术语,同时展示如何使用它们调试节点并可视化通过主题发布的消息。
- 第3章“可视化与调试工具”进一步介绍了强大的调试和可视化信息的工具,这些信息在节点图中传递并通过话题传输。ROS提供了一个日志API来轻松诊断问题,并展示了诸如rqt_console、rqt_graph等强大图形工具以及rqt_plot和rviz等视觉界面。
- 第4章“3D建模与仿真”是实现自己机器人模型的第一步,介绍如何从头开始构建一个机器人并在Gazebo模拟器中运行它。你将学会模拟摄像机及激光测距仪传感器的使用方法,这有助于后续章节中的导航栈及其他工具的应用。
- 第5章“导航堆栈——设置”,详细描述了配置你的机器人以与ROS导航堆栈一起使用的步骤,并提供了多个示例来辅助理解。
- 第6章“导航堆栈——超越设置”继续讨论上一章节的内容,展示如何使机器人自主地进行导航。本章节使用Gazebo模拟器和RViz创建虚拟环境,在其中构建地图、定位机器人并执行路径规划及避障任务。
- 第7章“MoveIt! 机械臂操作”,提供了移动机器人的工具文档,并包括了利用MoveIt!完成抓取、拾起放置等操控任务的示例演示,以及简单的逆运动学规划。
- 第8章“使用ROS与传感器和执行器”将ROS连接到现实世界。本章节介绍了支持各种常见传感器(如范围激光雷达)及执行器(例如伺服电机、相机、RGB-D传感器等),并且解释了如何利用微控制器进行嵌入式系统开发,类似于广为人知的Arduino板。
- 第9章“计算机视觉”,涵盖了ROS中对摄像头和计算机视觉任务的支持。本章节从FireWire和USB摄像头驱动程序开始,介绍连接这些设备并捕获图像的方法,并指导读者使用校准工具校准相机、详细解释了图像管道以及如何利用多个API进行集成及OpenCV的安装与应用。
- 第10章“点云”,介绍了在ROS节点中使用Point Cloud Library。本章节从读取或写入PCL片段的基本实用程序开始,介绍所需转换以发布和订阅这些消息,并逐步构建处理3D数据的管道、下采样、过滤及特征搜索等任务。