16-311 Introduction to Robotics HW 0

Jon Xia (jyxia)

P1.

Image credit: https://en.wikipedia.org/wiki/Roomba

A roomba senses its surroundings with its front touch sensor and front and bottom IR sensors. It uses its front touch and IR sensors to determine when it has hit an obstacle so that it can change directions and uses its bottom IR sensors to avoid falling down cliffs. Upon detecting an obstacle or cliff, the roomba will then randomly change direction and go off in the new direction until it hits another obstacle or cliff. Based on the front IR sensor and the human input of S, M, or L, the roomba will estimate the size of the room and derive an estimated cleaning time. It will then drive along the floor vacuuming and moving as previously described until that estimated cleaning time is up, at which point it will assume the whole room is vacuumed and stop.