The Robot Operating System 2 (ROS 2) is the second generation of ROS representing a step forward in the robotic framework. Several new types of nodes and executor models are integral to control where, how, and when information is processed in the computational graph. This paper explores and benchmarks one of these new node types -- the Component node -- which allows nodes to be composed manually or dynamically into processes while retaining separation of concerns in a codebase for distributed development. Composition is shown to achieve a high degree of performance optimization, particularly valuable for resource-constrained systems and sensor processing pipelines, enabling distributed tasks that would not be otherwise possible in ROS 2. In this work, we briefly introduce the significance and design of node composition, then our contribution of benchmarking is provided to analyze its impact on robotic systems. Its compelling influence on performance is shown through several experiments on the latest Long Term Support (LTS) ROS 2 distribution, Humble Hawksbill.
翻译:机器人操作系统2(ROS 2)是ROS的第二代版本,代表着机器人框架的进步。几种新型节点和执行器模型对于控制计算图中信息处理的位置、方式和时间至关重要。本文探索并评估了其中一种新节点类型——组件节点,该节点允许节点以手动或动态方式组合成进程,同时保留代码库中关注点的分离以支持分布式开发。研究表明,组合能够实现高程度的性能优化,尤其适用于资源受限系统和传感器处理流水线,使原本在ROS 2中无法实现的分布式任务成为可能。在本工作中,我们简要介绍了节点组合的意义和设计,随后通过基准测试分析其对机器人系统的影响。通过在最新长期支持(LTS)ROS 2发行版Humble Hawksbill上进行的多项实验,展示了其对性能的显著影响。