Hello folks,
I was wondering if this paper would be of interest for some people here:
“Energy efficiency in ROS communication: a comparison across programming languages and workloads”
- Front. Robot. AI, 02 April 2025
- Sec. Computational Intelligence in Robotics
- Volume 12 - 2025 | DOI: Frontiers | Energy efficiency in ROS communication: a comparison across programming languages and workloads
TD;DR:
Introduction: 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.
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.
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.