Anytime Search-based Footstep Planning with Suboptimality Bounds - Robotics Institute Carnegie Mellon University

Anytime Search-based Footstep Planning with Suboptimality Bounds

Armin Hornung, Andrew Dornbush, Maxim Likhachev, and Maren Bennewitz
Conference Paper, Proceedings of 12th IEEE-RAS International Conference on Humanoid Robots (Humanoids '12), pp. 674 - 679, November, 2012

Abstract

Efficient footstep planning for humanoid navigation through cluttered environments is still a challenging problem. Many obstacles create local minima in the search space, forcing heuristic planners such as A* to expand large areas. The goal of this work is to efficiently compute long, feasible footstep paths. For navigation, finding the optimal path initially is often not needed as it can be improved while walking. Thus, we propose anytime search-based planning using the anytime repairing A* (ARA*) and randomized A* (R*) planners. This allows to obtain efficient paths with provable suboptimality within short planning times. Opposed to completely randomized methods such as rapidly-exploring random trees (RRTs), these planners create paths that are goal-directed and guaranteed to be no more than a certain factor longer than the optimal solution. We thoroughly evaluated the planners in various scenarios using different heuristics. ARA* with the 2D Dijkstra heuristic yields fast and efficient solutions but its potential inadmissibility results in non-optimal paths for some scenarios. R*, on the other hand borrows ideas from RRTs, yields fast solutions, and is less dependent on a well-designed heuristic function. This allows it to avoid local minima and reduces the number of expanded states.

BibTeX

@conference{Hornung-2012-109548,
author = {Armin Hornung and Andrew Dornbush and Maxim Likhachev and Maren Bennewitz},
title = {Anytime Search-based Footstep Planning with Suboptimality Bounds},
booktitle = {Proceedings of 12th IEEE-RAS International Conference on Humanoid Robots (Humanoids '12)},
year = {2012},
month = {November},
pages = {674 - 679},
}