1. A method of object detection for a mobile robot, the method comprising: emitting a speckle pattern of light onto a scene about the robot while maneuvering the robot across a work surface of a working area; receiving odometry measurements from a drive system of the robot while maneuvering the robot across the work surface; determining a first motion of the robot based on the odometry measurements; determining a current location of the robot in the working area based on the first robot motion and a previously determined location of the robot; receiving reflections of the emitted speckle pattern off surfaces of a target object in the scene; determining a second motion of the robot using visual odometry of the robot based on an optical flow of the received reflections; determining a robot motion error between the first robot motion based on the drive system odometry and the second robot motion based on the visual odometry; adjusting the current location of the robot based on the robot motion error; determining a distance of each reflecting surface of the target object; constructing a three-dimensional depth map of the target object using the received reflections, the determined distance of each reflecting surface of the target object, and the adjusted current location of the robot; and classifying the target object using the three-dimensional depth map, the classifying comprising: determining a state, a pose, or a gesture of the target object; classifying the target object as a living object based on the state, the pose, or the gesture of the target object; determining whether the living object needs assistance by determining one or more of whether the living object is alive, sitting, lying down, waiving, falling, or fallen based on the state, the pose, or the gesture; and when the living object needs assistance, determining a type of assistance needed based on the state, the pose, or the gesture.