When and where to step: Terrain-aware real-time footstep location and timing optimization for bipedal robots | Synapse