Mining Energy-Related Practices in Robotics Software
This work addresses energy efficiency for roboticists and researchers in robotics software, but it is incremental as it focuses on analyzing existing data rather than proposing new methods.
The paper tackled the problem of high energy consumption in robotics software by analyzing 527 energy-related data points from the Robot Operating System (ROS) ecosystem, identifying 10 causes and 14 solutions for energy inefficiency along with their trade-offs.
Robots are becoming more and more commonplace in many industry settings. This successful adoption can be partly attributed to (1) their increasingly affordable cost and (2) the possibility of developing intelligent, software-driven robots. Unfortunately, robotics software consumes significant amounts of energy. Moreover, robots are often battery-driven, meaning that even a small energy improvement can help reduce its energy footprint and increase its autonomy and user experience. In this paper, we study the Robot Operating System (ROS) ecosystem, the de-facto standard for developing and prototyping robotics software. We analyze 527 energy-related data points (including commits, pull-requests, and issues on ROS-related repositories, ROS-related questions on StackOverflow, ROS Discourse, ROS Answers, and the official ROS Wiki). Our results include a quantification of the interest of roboticists on software energy efficiency, 10 recurrent causes, and 14 solutions of energy-related issues, and their implied trade-offs with respect to other quality attributes. Those contributions support roboticists and researchers towards having energy-efficient software in future robotics projects.