A robotic device for autonomously adjusting to different floor surfaces for cleaning the floor surfaces of an environment, comprising:
- a chassis;
- a set of wheels coupled to the chassis;
- a plurality of sensors;
- a plurality of cleaning components;
- a processor;
- one or more tangible, non-transitory, machine-readable media storing instructions that, when executed by the processor of the robotic device, effectuate operations, comprising:
- measuring distances, with a Light Detector and Ranger (LIDAR) sensor of the robotic device, as the robotic device moves in the environment, and generating or ascertaining, with the processor, a map of the environment based on at least the distances measured by the LIDAR sensor of the robotic device;
- capturing, with an image sensor of the robotic device, images of the environment as the robotic device moves in the environment;
- detecting, with the processor, at least a presence of objects on the floor surfaces based on images captured by the image sensor of the robotic device;
- capturing, with a floor sensor of the robotic device, sensor data from the floor surfaces of the environment;
- determining, with the processor, a type of floor surface in areas of the environment based on the sensor data captured from the floor surfaces by the floor sensor of the robotic device;
- identifying, with the processor, a presence of a difference in the type of the floor surface within the environment, and adjusting, with the processor, an elevation of a cleaning component of the robotic device in response to the difference in the type of the floor surface;
- determining, with the processor, a location of the robotic device within the environment as the robotic device moves within the environment;
- identifying, with the processor, a presence of a difference in elevation between the floor surfaces;
- and
- adjusting, with the processor, the elevation of the robotic device in response to the difference in elevation between the floor surfaces.