论文标题
带有复杂因果链接的消息流分析分布式ROS 2系统
Message Flow Analysis with Complex Causal Links for Distributed ROS 2 Systems
论文作者
论文摘要
分布式机器人系统在很大程度上依赖于支持它的发布范式通信范式和中间件框架,例如机器人操作系统(ROS),以有效地实现模块化计算图。 ROS 2执行器是一种处理ROS 2消息的高级任务调度程序,是性能瓶颈。我们扩展了ROS2_Tracing,这是一个带有仪器和用于实时跟踪ROS 2的工具的框架,并在分布式ROS 2系统中分析和可视化消息流的分析和可视化。我们的方法检测输入消息和输出消息之间的一对多因果关系,包括通过简单的用户级注释,包括间接因果链接。我们在合成和真实机器人系统上验证了我们的方法,并证明了其开销较低。此外,可以进一步利用基本的中间执行表示数据库来提取其他指标和高级结果。这可以提供有价值的时机和调度信息,以进一步研究和改善ROS 2执行器以及优化任何ROS 2系统。源代码可在以下网址获得:https://github.com/christophebedard/ros2-message-flow-analysis。
Distributed robotic systems rely heavily on the publish-subscribe communication paradigm and middleware frameworks that support it, such as the Robot Operating System (ROS), to efficiently implement modular computation graphs. The ROS 2 executor, a high-level task scheduler which handles ROS 2 messages, is a performance bottleneck. We extend ros2_tracing, a framework with instrumentation and tools for real-time tracing of ROS 2, with the analysis and visualization of the flow of messages across distributed ROS 2 systems. Our method detects one-to-many and many-to-many causal links between input and output messages, including indirect causal links through simple user-level annotations. We validate our method on both synthetic and real robotic systems, and demonstrate its low runtime overhead. Moreover, the underlying intermediate execution representation database can be further leveraged to extract additional metrics and high-level results. This can provide valuable timing and scheduling information to further study and improve the ROS 2 executor as well as optimize any ROS 2 system. The source code is available at: https://github.com/christophebedard/ros2-message-flow-analysis.