  Planning the motion for humanoid robots is a computationally-complex task due
to the high dimensionality of the system. Thus, a common approach is to first
plan in the low-dimensional space induced by the robot's feet---a task referred
to as footstep planning. This low-dimensional plan is then used to guide the
full motion of the robot. One approach that has proven successful in footstep
planning is using search-based planners such as A* and its many variants. To do
so, these search-based planners have to be endowed with effective heuristics to
efficiently guide them through the search space. However, designing effective
heuristics is a time-consuming task that requires the user to have good domain
knowledge. Thus, our goal is to be able to effectively plan the footstep
motions taken by a humanoid robot while obviating the burden on the user to
carefully design local-minima free heuristics. To this end, we propose to use
user-defined homotopy classes in the workspace that are intuitive to define.
These homotopy classes are used to automatically generate heuristic functions
that efficiently guide the footstep planner. Additionally, we present an
extension to homotopy classes such that they are applicable to complex
multi-level environments. We compare our approach for footstep planning with a
standard approach that uses a heuristic common to footstep planning. In simple
scenarios, the performance of both algorithms is comparable. However, in more
complex scenarios our approach allows for a speedup in planning of several
orders of magnitude when compared to the standard approach.
