I want to make a robot that drives around a room or a maze and maps out a 2d floor plan. My plan is essentially to put a high quality proximity sensor that is rotatable by a servo on a small robot. The proximity sensor (or maybe sensors, if I need an extra) will be the only sensor on the robot. The robot will scan the room, and attempt to autonomously get a good angle on all points of the wall. I think the best way to do this is have the robot detect spots on its "map" (which I am thinking will be a sort of 2d matrix plot) that are jagged and discontinuous, then drive around and try to get a better angle on those spots, which should smooth out the map. The robot will know where it is by comparing distances and angles from the proximity sensor and servo with its current map, and by very roughly estimating distance traveled using travel time. I would also like to get this robot to do its job quickly as I am hoping this, when finished, will be able to do more advanced things.
So, is this possible, and does anyone have any advice or ideas?
Also, can anyone suggest a proximity sensor? I suppose it needs to have decent range, be very accurate, and take measurements very quickly. I'm also open to using something instead of a sensor on a servo, but I don't know what else I could use.
Thanks!