  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.
