Energy efficient robot navigation needs tailored ROS 2 settings
Tuning ROS 2 for Energy-Efficient Navigation: Empirical Insights from Costmap 2D Configurations
Robotics
Summary
Robots use software to move around safely, but if their software isn’t set up right, they waste energy. The authors studied how different settings in a common robot software system called ROS 2 affect how much power a robot uses while navigating obstacle-filled spaces. They tested various configurations in small and large warehouse-like areas and found that tweaking certain settings can save energy without hurting performance. This means that adjusting robot software carefully can make robots run longer and be more environmentally friendly.
What this means in practice
- •For robotics software engineers: Configure ROS 2 navigation packages specifically for each operational environment to reduce robots’ energy use and maintain navigation effectiveness.
- •For warehouse automation teams: Adjust robot navigation settings in different warehouse layouts to extend battery life and optimize operational time of mobile robots.
Authors
Michel Albonico, Andreas Wortmann, Ivano Malavolta
Abstract
Robots are increasingly used in diverse application areas, where autonomous navigation plays a central role. As these systems become more widespread, improving their energy efficiency is critical to extending operational time and reducing environmental impact. The Robot Operating System (ROS) is a widely adopted middleware for robotics, offering a rich set of configurable packages. However, this flexibility can result in suboptimal software configurations in dynamic environments, negatively affecting both performance and energy consumption. This paper investigates the impact of ROS 2 package reconfigurations on the energy efficiency of mobile robot navigation. We conduct a controlled experiment in two warehouse-like scenarios (small and large) with varying obstacle layouts and Costmap 2D configurations (essential to the Nav2 stack). Through repeated trials, we measure energy usage, power profile, CPU load, memory consumption, and navigation performance. Results show that configurations must be carefully chosen for the specific robotic environment, and we were able to identify critical settings that lead to good and poor performance and energy consumption.