图书前言

前言

随着人工智能技术的飞速发展,机器人领域正迎来前所未有的变革与机遇。机器人不再仅仅是工业生产中的自动化工具,而是正在逐渐融入人类生活的方方面面,从家庭服务到太空探索,从医疗康复到危险环境作业,其应用场景不断拓展。在这一背景下,掌握机器人开发与仿真技术已成为进入机器人行业的关键技能。

ROS(Robot Operating System,机器人操作系统)作为机器人领域的主流开发框架,为机器人编程提供了一个高效、灵活且易于扩展的平台。近年来,随着ROS 2的推出,其在实时性、跨平台支持、安全性等方面进行了全面升级,进一步推动了机器人技术的发展。与此同时,Gazebo作为一款强大的物理仿真工具,能够高度逼真地模拟机器人与环境的交互,为机器人的设计、测试和优化提供了有力支持。长期以来Gazebo作为仿真工具能够与ROS 2进行联合仿真,一方面作为ROS的默认仿真工具,解决了ROS缺乏机器人仿真工具的问题; 另一方面Gazebo仿真工具为ROS 2程序的实验和验证提供了平台,可在程序部署到真实机器人前进行算法检验,提升ROS 2程序的开发效率。

目前ROS 2和Gazebo发展迅速,已成为机器人开发和仿真领域的核心工具。然而,国内缺乏系统介绍二者最新特性的书籍和资料,鉴于这一现状,本书精心选取了ROS 2在2024年5月发布的长期支持版本Jazzy和与之所配套的在2023年9月发布的新一代Gazebo的长期支持版本Harmonic作为核心内容进行系统介绍。新的ROS 2和Gazebo不论在安装、使用和编程方面均展现出易用性。同时,二者的联合仿真也更加规范、合理,整体逻辑也更为清晰,极大地降低了学习和开发的门槛。基于以上优势,本书建议初学者直接从新的ROS 2和Gazebo入手,以便充分利用其强大的新特性,并在未来的开发中获得长期技术支持和持续收益。对于有一定经验的读者,可参考本书介绍的内容,将现有项目迁移到新的ROS 2和Gazebo版本,确保项目在未来的开发和应用中保持高效和可持续性。无论是机器人技术的初学者,还是希望深入了解ROS 2与Gazebo高级应用的开发者,本书都将是一本极具价值的参考书。

本书旨在为读者提供一本系统、全面且实用的教材和参考资料,帮助读者快速地掌握ROS 2与Gazebo的基本原理与核心技术。第1章为机器人技术基础知识,介绍了机器人的定义、发展历史、分类、构成到产业现状,是对机器人领域的概述。第2~4章全面地介绍了ROS 2机器人操作系统。第2章介绍了ROS 2的基本原理、安装方法、命令行工具和rqt的使用方法等基础内容。第3章以Python语言为主介绍了ROS 2工作空间的结构、rclpy库的使用、坐标系管理、Launch文件编写和URDF的使用等内容。第4章通过TurtleSim仿真环境介绍了ROS 2基础仿真,通过丰富的案例展示了话题控制、服务调用、动作反馈及群机器人仿真等内容。第5章和第6章细致地介绍了新一代Gazebo仿真工具。第5章介绍了Gazebo的架构、安装、图形用户界面,以及命令行工具的使用方法等基础知识。第6章详细地介绍了使用SDF构建仿真环境、创建模型和机器人等内容。第7~9章介绍了ROS 2和Gazebo联合仿真的方法和实际应用案例。第7章介绍了ROS 2和Gazebo联合仿真的基本原理和一般流程。第8章详细地介绍了Nav2无人车导航框架的基本原理和仿真方法。第9章介绍了六足机器人、四足机器人、双足机器人、四旋翼无人机、海面船舶和水下潜艇6种不同类型的机器人仿真方法,展示了ROS 2与Gazebo联合仿真的一般流程和步骤,以及二者在多样化机器人开发和应用中的广泛前景。随书附赠的全部代码均经过验证,方便读者运行和修改。

资源下载提示

素材(源码)等资源: 扫描目录上方的二维码下载。

视频等资源: 扫描封底的文泉云盘防盗码,再扫描书中相应章节的二维码,可以在线学习。

在编写本书的过程中,笔者力求做到内容翔实、语言通俗易懂,并通过大量实例和详细的步骤解析,帮助读者更好地理解和掌握相关知识。同时,我们也注意到机器人技术的快速发展,在内容选择上注重前沿性与实用性,确保本书能够满足当前机器人开发与仿真的实际需求。

最后,感谢所有支持本书编写工作的同事和朋友,也期待读者在学习过程中提出宝贵意见和建议。

作者

2025年5月5日