An autonomous mobile robot, comprising: a robot body having a height of at least one meter; a first three-dimensional depth camera sensor affixed to a first side of the robot body proximate to the height at a first angle of incidence relative to a major floor surface; a second three-dimensional depth camera sensor affixed to a second side of the robot body proximate to the height at a second angle of incidence relative to the major floor surface; wherein the first and second three-dimensional depth camera sensors (102, 104), in combination, comprise an at least 360 degree field of view of the major floor surface around the robot body; and a processing system communicative with the first and second three dimensional depth camera sensors (102, 104) and comprising non-transitory computing code which, when executed by at least one processor associated with the processing system, causes to be executed the steps of: receiving of pixel data within the field of view from the first and second three-dimensional depth camera sensors (102, 104); obtaining missing or erroneous pixels from the pixel data; comparing the missing or erroneous pixels to at least one template, wherein the at least one template comprises at least an indication of ones of the missing or erroneous pixels indicative of the robot body and a shadow of the robot body; and outputting an indication of obstacles (160, 162, 164) in or near the field of view based on the comparing. a robot body having a height of at least one meter; a first three-dimensional depth camera sensor affixed to a first side of the robot body proximate to the height at a first angle of incidence relative to a major floor surface; a second three-dimensional depth camera sensor affixed to a second side of the robot body proximate to the height at a second angle of incidence relative to the major floor surface; wherein the first and second three-dimensional depth camera sensors (102, 104), in combination, comprise an at least 360 degree field of view of the major floor surface around the robot body; and a processing system communicative with the first and second three dimensional depth camera sensors (102, 104) and comprising non-transitory computing code which, when executed by at least one processor associated with the processing system, causes to be executed the steps of: receiving of pixel data within the field of view from the first and second three-dimensional depth camera sensors (102, 104); obtaining missing or erroneous pixels from the pixel data; comparing the missing or erroneous pixels to at least one template, wherein the at least one template comprises at least an indication of ones of the missing or erroneous pixels indicative of the robot body and a shadow of the robot body; and outputting an indication of obstacles (160, 162, 164) in or near the field of view based on the comparing. receiving of pixel data within the field of view from the first and second three-dimensional depth camera sensors (102, 104); obtaining missing or erroneous pixels from the pixel data; comparing the missing or erroneous pixels to at least one template, wherein the at least one template comprises at least an indication of ones of the missing or erroneous pixels indicative of the robot body and a shadow of the robot body; and outputting an indication of obstacles (160, 162, 164) in or near the field of view based on the comparing.