  State-of-the-art approaches to footstep planning assume reduced-order
dynamics when solving the combinatorial problem of selecting contact surfaces
in real time. However, in exchange for computational efficiency, these
approaches ignore joint torque limits and limb dynamics. In this work, we
address these limitations by presenting a topology-based approach that enables
model predictive control (MPC) to simultaneously plan full-body motions, torque
commands, footstep placements, and contact surfaces in real time. To determine
if a robot's foot is inside a contact surface, we borrow the winding number
concept from topology. We then use this winding number and potential field to
create a contact-surface penalty function. By using this penalty function, MPC
can select a contact surface from all candidate surfaces in the vicinity and
determine footstep placements within it. We demonstrate the benefits of our
approach by showing the impact of considering full-body dynamics, which
includes joint torque limits and limb dynamics, on the selection of footstep
placements and contact surfaces. Furthermore, we validate the feasibility of
deploying our topology-based approach in an MPC scheme and explore its
potential capabilities through a series of experimental and simulation trials.
