This document describes the design and implementation of an autonomous floor cleaning robot. The robot has two cleaning modes: autonomous and manual. In autonomous mode, the robot uses sensors like an ultrasonic sensor and laser TOF sensor to navigate rooms in a zigzag "S-shape" pattern while avoiding obstacles. It can perform both dry sweeping and wet mopping functions. In manual mode, a user controls the robot via a smartphone app and Bluetooth to navigate areas manually. The robot is built using components like an Arduino Mega microcontroller, motors, motor drivers, sensors and a vacuum/mopping unit. It aims to make cleaning more efficient by automating the process. The researchers conclude the robot demonstrates around 80% cleaning