An autonomous mobile robot comprising: a robot body defining a forward drive direction and having forward and rearward portions (112, 114) with respect to the forward drive direction, the forward portion having a substantially straight forward surface bounded by corners (113a, 113b) positioned along a circumdiameter of the robot body; a drive system supporting the robot body and configured to maneuver the robot across a floor surface; a sonar system disposed on the robot body, the sonar system comprising an array of sonar emitters (530e 1 -530e 3) and an array of sonar receivers (530r 1 -530r 4) arranged along the length of the forward surface, each emitter (530e, 530e 1, 530e 2, 530e 3) disposed adjacent a receiver (530r, 530r 1, 530r 2, 530r 3, 530r 4) and emitting a sound wave, each receiver (530r, 530r 1 530r 2, 530r 3, 530r 4) capable of receiving sound wave reflections, and each emitter and receiver pair (530e, 530r) measuring a distance from the forward surface to a wall (24, 24a, 24b); and a control system supported by the robot body and in communication with the drive system and the sonar system, the control system: determining an angle of approach (α, Θ) of the forward surface to the wall (24, 24a, 24b) based on sensor signals received from the array of sonar receivers; determining a closest corner distance to the wall (24, 24a, 24b), the corner distance measured as a shortest distance from a corner (113a, 113b) of the front surface to the wall (24, 24a, 24b) based on the determined angle of approach (α, Θ) and known corner distances of the receivers (530r 1 -530r 4) and/or emitters (530e 1 -530e 3) to the corners; and causing the drive system to turn the robot body to avoid collision with the wall (24, 24a, 24b) and align the forward drive direction parallel to the wall (24, 24a, 24b) offset from the wall (24, 24a, 24b) by a threshold wall following distance (Wx) using the determined angle of approach (α, Θ) of the forward surface and the determined closest corner distance. a robot body defining a forward drive direction and having forward and rearward portions (112, 114) with respect to the forward drive direction, the forward portion having a substantially straight forward surface bounded by corners (113a, 113b) positioned along a circumdiameter of the robot body; a drive system supporting the robot body and configured to maneuver the robot across a floor surface; a sonar system disposed on the robot body, the sonar system comprising an array of sonar emitters (530e 1 -530e 3) and an array of sonar receivers (530r 1 -530r 4) arranged along the length of the forward surface, each emitter (530e, 530e 1, 530e 2, 530e 3) disposed adjacent a receiver (530r, 530r 1, 530r 2, 530r 3, 530r 4) and emitting a sound wave, each receiver (530r, 530r 1 530r 2, 530r 3, 530r 4) capable of receiving sound wave reflections, and each emitter and receiver pair (530e, 530r) measuring a distance from the forward surface to a wall (24, 24a, 24b); and a control system supported by the robot body and in communication with the drive system and the sonar system, the control system: determining an angle of approach (α, Θ) of the forward surface to the wall (24, 24a, 24b) based on sensor signals received from the array of sonar receivers; determining a closest corner distance to the wall (24, 24a, 24b), the corner distance measured as a shortest distance from a corner (113a, 113b) of the front surface to the wall (24, 24a, 24b) based on the determined angle of approach (α, Θ) and known corner distances of the receivers (530r 1 -530r 4) and/or emitters (530e 1 -530e 3) to the corners; and causing the drive system to turn the robot body to avoid collision with the wall (24, 24a, 24b) and align the forward drive direction parallel to the wall (24, 24a, 24b) offset from the wall (24, 24a, 24b) by a threshold wall following distance (Wx) using the determined angle of approach (α, Θ) of the forward surface and the determined closest corner distance. determining an angle of approach (α, Θ) of the forward surface to the wall (24, 24a, 24b) based on sensor signals received from the array of sonar receivers; determining a closest corner distance to the wall (24, 24a, 24b), the corner distance measured as a shortest distance from a corner (113a, 113b) of the front surface to the wall (24, 24a, 24b) based on the determined angle of approach (α, Θ) and known corner distances of the receivers (530r 1 -530r 4) and/or emitters (530e 1 -530e 3) to the corners; and causing the drive system to turn the robot body to avoid collision with the wall (24, 24a, 24b) and align the forward drive direction parallel to the wall (24, 24a, 24b) offset from the wall (24, 24a, 24b) by a threshold wall following distance (Wx) using the determined angle of approach (α, Θ) of the forward surface and the determined closest corner distance.