A computer-implemented method executed by
data processing hardware of a
robot causes the
data processing hardware to perform operations including obtaining a
topological map including waypoints and edges. Each edge connects adjacent waypoints. The waypoints and edges represent a navigation
route for the
robot to follow. Operations include determining, that an edge that connects first and second waypoints is blocked by an obstacle. Operations include generating, using image data and the
topological map, one or more alternate waypoints offset from one of the waypoints. For each alternate
waypoint, operations include generating an alternate edge connecting the alternate
waypoint to a
waypoint. Operations include adjusting the navigation
route to include at least one alternate waypoint and alternate edge that bypass the obstacle. Operations include navigating the
robot from the first waypoint to an alternate waypoint along the alternate edge connecting the alternate waypoint to the first waypoint.