1. A method of navigating an autonomous robot within an area at least partially enclosed by walls, the method comprising: maneuvering the robot in a following mode in which the robot is controlled to travel along a path segment adjacent an obstacle, while recording data indicative of the path segment; maneuvering the robot in a coverage mode in which the robot is controlled to traverse the area while performing a function, while generating data indicative of a physical layout of the area, including area boundaries and obstacle perimeters detected while performing the function, updating data indicative of a calculated robot pose, the calculated robot pose comprising a calculated location and orientation of the robot within the area, based at least on robot odometry data, and calculating a robot pose confidence level; and in response to the robot pose confidence level being below a predetermined confidence limit: maneuvering the robot to a suspected location of the path segment, based on the calculated robot pose and the data indicative of the physical layout of the area; and then, in response to detecting the path segment adjacent the obstacle within a predetermined distance from the suspected location of the path segment, updating at least one of the data indicative of the calculated robot pose and the data indicative of the physical layout of the area, thereby updating a relative pose of the robot within the area.