A robotic cleaner for cleaning a surface with a cleaning cloth, the robotic cleaner comprising: a main robot body housing: a drive system configured to drive the robotic cleaner in a forward direction toward the surface to be cleaned; and a microcontroller configured to control the movement of the robotic cleaner; a cleaning assembly forming a major part of the robotic cleaner and connected at a front end of the main robot body to form the overall robotic cleaner, wherein the cleaning assembly provides a rectangular form for attaching a cleaning cloth, the cleaning assembly fully extends along the forward leading edge and extends along the sides of the robotic cleaner, the cleaning assembly maintains maximum contact between the cleaning cloth and floor by utilizing the cleaning assembly as primary suspension point for the robotic cleaner, the cleaning assembly includes a top and a bottom pad for holding the cleaning assembly to the floor, the bottom pad extends around the bottom and lower edge of the top to provide a surface for the cleaning cloth to wrap around the sides, the bottom pad provides a flexible edge for when the robotic cleaner makes contact with walls, furniture, and other obstacles; and characterized in that at least one drop sensor is connected to the cleaning assembly, each drop sensor comprising a contact switch, and a mechanical lever mounted on one end by a pivot, a second end of the mechanical lever having a weighted object, and the weighted object's movement causing the mechanical lever to trigger the contact switch to indicate to the microcontroller that the surface under the cleaning assembly has dropped a predetermined distance. a main robot body housing: a drive system configured to drive the robotic cleaner in a forward direction toward the surface to be cleaned; and a microcontroller configured to control the movement of the robotic cleaner; a drive system configured to drive the robotic cleaner in a forward direction toward the surface to be cleaned; and a microcontroller configured to control the movement of the robotic cleaner; a cleaning assembly forming a major part of the robotic cleaner and connected at a front end of the main robot body to form the overall robotic cleaner, wherein the cleaning assembly provides a rectangular form for attaching a cleaning cloth, the cleaning assembly fully extends along the forward leading edge and extends along the sides of the robotic cleaner, the cleaning assembly maintains maximum contact between the cleaning cloth and floor by utilizing the cleaning assembly as primary suspension point for the robotic cleaner, the cleaning assembly includes a top and a bottom pad for holding the cleaning assembly to the floor, the bottom pad extends around the bottom and lower edge of the top to provide a surface for the cleaning cloth to wrap around the sides, the bottom pad provides a flexible edge for when the robotic cleaner makes contact with walls, furniture, and other obstacles; and characterized in that at least one drop sensor is connected to the cleaning assembly, each drop sensor comprising a contact switch, and a mechanical lever mounted on one end by a pivot, a second end of the mechanical lever having a weighted object, and the weighted object's movement causing the mechanical lever to trigger the contact switch to indicate to the microcontroller that the surface under the cleaning assembly has dropped a predetermined distance.