ROS是建立在开源操作系统Ubuntu系统之上的开源的机器人操作系统,其主要目标是为机器人研究和开发提供代码复用的支持。它提供了操作系统应有的服务,包括硬件抽象、底层设备控制、共用功能的执行、进程间消息传递,以及包管理。ROS的官方网站也提供了各种支持文档,相关资源构成了一个强大的生态系统,使得学习和使用ROS非常方便。本书中所有代码以ROSNoeticNinjemys和ROSMelodicMorenia版本进行调试。作者希望通过介绍ROS和实际机器人为平台,展示机器人主要功能模块涉及的相关理论和应用场景。