论文标题

ROS2_Tracing:ROS 2实时跟踪的多用途低空框架

ros2_tracing: Multipurpose Low-Overhead Framework for Real-Time Tracing of ROS 2

论文作者

Bédard, Christophe, Lütkebohle, Ingo, Dagenais, Michel

论文摘要

由于系统的复杂性和动态环境,测试和调试已成为机器人软件开发的主要障碍。标准,基于中间件的数据记录无法提供有关内部计算和性能瓶颈的足够信息。其他现有方法也针对非常具体的问题,因此不能用于多功能分析。此外,它们不适合实时应用。在本文中,我们提出ROS2_Tracing,ROS 2的灵活跟踪工具和多功能仪器集合。它允许使用低空的LTTNG跟踪器在实时分布式系统上收集运行时执行信息。工具还将跟踪集成到宝贵的ROS 2编排系统和其他可用性工具中。消息延迟实验表明,启用所有ROS 2仪器时,端到端消息延迟的开销平均为0.0033毫秒,我们认为这适用于生产实时系统。 ROS 2使用ROS2_Tracing获得的执行信息可以与操作系统的跟踪数据相结合,从而实现了更广泛的精确分析,从而有助于了解应用程序执行,以找到绩效瓶颈和其他问题的原因。源代码可在以下网址提供:https://github.com/ros2/ros2_tracing。

Testing and debugging have become major obstacles for robot software development, because of high system complexity and dynamic environments. Standard, middleware-based data recording does not provide sufficient information on internal computation and performance bottlenecks. Other existing methods also target very specific problems and thus cannot be used for multipurpose analysis. Moreover, they are not suitable for real-time applications. In this paper, we present ros2_tracing, a collection of flexible tracing tools and multipurpose instrumentation for ROS 2. It allows collecting runtime execution information on real-time distributed systems, using the low-overhead LTTng tracer. Tools also integrate tracing into the invaluable ROS 2 orchestration system and other usability tools. A message latency experiment shows that the end-to-end message latency overhead, when enabling all ROS 2 instrumentation, is on average 0.0033 ms, which we believe is suitable for production real-time systems. ROS 2 execution information obtained using ros2_tracing can be combined with trace data from the operating system, enabling a wider range of precise analyses, that help understand an application execution, to find the cause of performance bottlenecks and other issues. The source code is available at: https://github.com/ros2/ros2_tracing.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源