下图展示了ROS 2和ROS 1在架构上的比较两者主要实现了机器人开发中的中间层主要提供了机器人人中的关键通信机制。ROS 2改进了ROS 1的通信模式引入了DDSData Distribution Service数据分发服务作为通信后端提高了通信的实时性和可靠性。此外ROS 1在使用时需要在应用层启动Master节点作为系统的管理节点而ROS 2中的节点都是平行和等价的不存在管理节点可避免ROS 1中Master节点失效引发的系统崩溃对单点失效现象有更好的容错性。具体来说ROS 2相较于ROS 1主要进行了以下几个方面的改进1实时性能改进ROS 2引入了DDS作为通信后端提高了通信的实时性能和可靠性。DDS提供了高性能、低延迟的数据交换机制适合实时控制和大规模的数据交换。这使得ROS 2能够更好的适应机器人在实际场景中的应用从实验环境走向生产环境。2跨平台支持ROS 2支持多种操作系统平台包括Linux、Windows、macOS等以及多种体系结构如ARM、x86等。这使得ROS 2能够运行在各种嵌入式系统和计算设备上。跨平台的支持使得ROS2的应用泛围更为广泛其中在Linux系统上支持最为全面。3多语言支持ROS 2支持多种编程语言包括C、Python等提供了更广泛的开发选择使得开发者可以根据需求选择适合的编程语言进行开发。Python语言的易用性使得在ROS 2上开发机器人功能更为便捷本书即选择使用Python作为ROS 2的编程语言。4安全性改进ROS 2引入了安全性功能包括权限管理、加密通信等提高了系统的安全性特别是在一些对安全性要求较高的应用场景可以有效增加恶意攻击者的破坏难度。