A robotic vacuum cleaner, sometimes called a robovac or a Roomba as a generic trademark, is an autonomous robotic vacuum cleaner which has a limited vacuum floor cleaning system combined with sensors and robotic drives with programmable controllers and cleaning routines. Early designs included manual operation via remote control and a “self-drive” mode which allowed the machine to clean autonomously without human control. Some designs use spinning brushes to reach tight corners, and some include a number of cleaning features along with the vacuuming feature (mopping, UV sterilization, etc.). More recent models use artificial intelligence and deep learning for better mapping, object identification and event-based cleaning.