Energy-Aware Path Planning for Autonomous Mobile Robot Navigation

Battery life is yet one of the main limiting factors to a robot’s total mission time, and efficient energy management is paramount in a robotic application. In this paper, we integrate energy awareness in the path planning of a mobile robot performing autonomous navigation. Our contributions are: 1) The formalization of a planning domain for mobile robot path planning which accounts for energy consumption and integrates energy actions in the generated plans; 2) A proof of concept of automatic path planning that avoids high energy areas in a known environment. We test our approach in simulation, extending an embedded computer’s total battery discharge time by approximately 42.8%, and in a real ground mobile robot, achieving a mean energy draw reduction of 52.02%, both compared to conventional path planning.

In order to produce energy-aware plans for mobile robots, we define a planning domain for autonomous navigation containing high energy zones, where additional resources are required (e.g., additional sensors must be switched on) for the robot to avoid a potential collision. Therefore, our approach accounts for actions that affect energy usage, activating or deactivating sensors according to the robot’s position with respect to the energy zones. The resulting plans minimize overall energy use by activating sensors only when necessary. Our approach follows the pipeline below, where dashed lines represent published topics and the solid lines represent data obtained through files (e.g., PDDL domain) or passed directly between the nodes.

Initially, the Problem Interface (1) reads the map, the pose of the robot and a goal position informed by the user or an external node, and calls the Problem Generator service, passing these three parameters. The Problem Generator builds a PDDL problem (problem.pddl) based on its inputs and publishes this problem in a topic. As soon as the problem is published, the Planner Interface (2) reads it and executes the ENHSP planner as a subprocess, which uses the domain description (domain.pddl) and the problem description (problem.pddl) to compute an action plan for the robot. The Planner Interface publishes this plan as a topic, which is read by the Planner Dispatch (3). This node reads the plan, parses the movement actions into a path, based on the robot’s current position, and executes it in the robot. When the robot reaches the goal position, a message of “success” is published as a topic. The Planner Interface reads the “success” message and may either stop the process or set a new goal for the robot. For this package, we formalized a PDDL domain with 8 movement actions (up, left, right, down and the diagonals in-between), in each of the two movement sets, and 2 energy actions for turning a sensor on and off, totaling 18 actions. The demonstration can be seen at:

The complete paper can be seen here. When citing our work in academic papers, please use this BibTeX entry:

@inproceedings{MaidanaEtAl2020flairs,
  author    = {Maidana, Renan and 
               Granada, Roger and
               Jurak, Darlan and 
               Magnaguagno, Maurício and
               Meneguzzi, Felipe and 
               Amory, Alexandre M},
  title     = {Energy-Aware Path Planning for Autonomous Mobile Robot Navigation},
  booktitle = {Proceedings of the The 33rd International Florida Artificial Intelligence Research Society Conference},
  series    = {FLAIRS-33},
  location  = {Miami, USA},
  pages     = {362--367},
  url       = {https://www.aaai.org/ocs/index.php/FLAIRS/FLAIRS20/paper/view/18463},
  month     = {May},
  year      = {2020},
  publisher = {AAAI}
}
Written on March 12, 2020