图书前言

前言

随着科技的飞速发展,人工智能(Artificial Intelligence,AI)与机器人技术正在成为人们生活中不可或缺的一部分。在众多的技术革新中,机器人操作系统(Robot Operating System,ROS)以其独特的开放性、灵活性和可扩展性,为智能机器人的研发与应用开辟了新的道路。ROS不仅为开发者提供了一个统一的软件框架,使得不同硬件平台的机器人能够协同工作,而且通过其丰富的库函数和工具集,大大简化了复杂机器人系统的设计与开发过程,被越来越多的商业公司应用到产品研发中。

关于ROS的学习,人们常听到一个说法“入门即放弃”,这是指人们在ROS的入门学习阶段会遇到很多困难。编者结合相关的学习经验和众多学生的反馈,发现ROS“入门难”主要有以下几方面的原因。

第一,学生不熟悉Linux和编程语言。ROS目前使用的主流操作系统平台是Linux(如Ubuntu Linux),编程语言主要是C++和Python,而多数非计算机专业的学生此前并没有接触过它们。再加上Linux的主要操作都是通过在终端命令行输入指令完成的,与学生日常使用的Windows操作系统有很大区别,这就导致许多学生短期无法熟练使用Linux,而Linux系统和编程语言是ROS开发和运行的基础,不熟悉它们必然会给ROS的学习带来很大障碍。

第二,学生不熟悉ROS的架构,不了解ROS常用文件和文件夹的作用,从而无法正确配置和更改相应文件,致使程序编译过程中频繁报错,从而失去学习兴趣。

第三,目前的ROS相关教程多是基于仿真或某款特定的机器人硬件来展开论述,没有讲清楚仿真机器人与实体机器人之间的区别和联系,以及如何移植和适配,这使得读者看完书后想要搭建自己的机器人平台,或将教程中的软件移植到其他机器人平台上时,会遇到一定的困难。

第四,很多ROS相关图书虽然提供源代码,但是由于ROS程序的运行通常依赖于操作系统环境和程序运行步骤,如果没有视频演示,很可能导致读者在操作时无法得到相应的结果,需要花费较多时间查找具体原因。

针对以上几个问题,本书在内容选取和结构编排上做了针对性的设计,由浅入深、循序渐进地介绍ROS的功能和相应操作流程。本书内容涵盖Ubuntu 20.04的使用、ROS安装及其架构、ROS通信机制、ROS运行管理、ROS常用组件工具、机器人仿真设计、低成本智能机器人综合应用,每个环节都结合了示例程序,并给出源代码和微课视频,方便读者学习。书中通过图示,让抽象的内容立体化、形象化,便于读者阅读并按步骤对照学习和实践。读者只需要拥有一台安装有Ubuntu系统的计算机,了解Linux 的基本操作,具备C++或Python基础,即可使用本书。

编者在编著本书的过程中参阅了大量相关图书,也在网络上搜索了很多资料,在此向各位作者表示感谢。

本书配套PPT课件、教学大纲、实例源代码和微课视频等丰富资源。通过关注微信公众号“书圈”可以下载除微课视频以外的配套资源。扫描封底“文泉云盘防盗码”涂层下的二维码、绑定微信账号之后,即可扫描书中二维码观看微课视频(有二维码的小节已在目录中标出)。

由于编者水平有限,书中不足、疏漏之处在所难免,敬请广大读者批评指正。

编者

2025年1月