Albonico, MichelCannizza, Manuela BecharaWortmann, Andreas2025-05-1520252296-91441927394228http://nbn-resolving.de/urn:nbn:de:bsz:93-opus-ds-162420https://elib.uni-stuttgart.de/handle/11682/16242https://doi.org/10.18419/opus-16223Introduction: The Robot Operating System (ROS) is a widely used framework for robotic software development, providing robust client libraries for both C++ and Python. These languages, with their differing levels of abstraction, exhibit distinct resource usage patterns, including power and energy consumption–an increasingly critical quality metric in robotics. <br>Methods: In this study, we evaluate the energy efficiency of ROS two nodes implemented in C++ and Python, focusing on the primary ROS communication paradigms: topics, services, and actions. Through a series of empirical experiments, with programming language, message interval, and number of clients as independent variables, we analyze the impact on energy efficiency across implementations of the three paradigms. <br>Results: Our data analysis demonstrates that Python consistently demands more computational resources, leading to higher power consumption compared to C++. Furthermore, we find that message frequency is a highly influential factor, while the number of clients has a more variable and less significant effect on resource usage, despite revealing unexpected architectural behaviors of underlying programming and communication layers.enCC BYinfo:eu-repo/semantics/openAccesshttps://creativecommons.org/licenses/by/4.0/004620Energy efficiency in ROS communication : a comparison across programming languages and workloadsarticle2025-04-16