Shiv Wadwani (swadwani)
A picture of the Roomba robotic vacuum cleaner
Sense: The Roomba robot has a variety of sensors that allow it to autonomously clean a room or house. The primary sensor on the Roomba is a mechanical bumper. This bumper is pressed when the Roomba impacts an obstacle (eg. a wall or chair).
Plan: After the mechanical bumper is pressed, the Roomba uses computer algorithms to plan which way to change direction (so that it can continue cleaning after making impact with an obstacle). Some of these motion planning algorithms include spiral cleaning, wall-following, and random walk angle-changing after bumping into an obstacle (Wikipedia).
Act: Once a particular motion planning algorithm is chosen (depending on manually entered user settings), the Roomba executes the algorithm to perform a particular action. This could, for example, result in the Roomba reversing it’s direction after bumping into a wall.