Vacuum Cleaner The goal of this project is be able to make a low-end vacuum cleaner. This cleaner would have to ensure to clean as much area as possible of a predetermined map that simulates a house. Since the goal is to emulate the behavior of the ones that are in the client market (of low-end), the vacuum cleaner must cover a good area in a reasonable time period: To achieve the objective, three different functionalities are presented using finite state machines (FSM). In this post we will explain all of them and we will analyze which one got the best results. First strategy: Bump & Go In this first approximation we are using a FSM of 4 states: going forward, going backwards, and turning left or right, depending on which side the bumper hits: The robot begins with "FORWARD" as initial state. In the moment he hits a wall, he will change his state to "BACKWARD", and he would start moving with the same velocity as he had in forward state, but now with negative ...