Distance Radar for a robot

Hi

I'm thinking about a new project.
For this project, the robot must know the distance to all the walls around him.
To do this, I thought about building some kind of a radar, which rotates a distance sensor, measuring the distances in all directions.

Which sensor should I use? I think that ultrasonic sensor has too wide angle for this assignment. Is it correct?

If someone has a better idea for this mission, I'll be glad to hear.

thank you

why would this be too big in angle?

While trying to detect walls, It should do great.
Once I'll try to sample the distance in a corner, it won't be very precise, as it would read the distances of the walls of that corner instead.
Inaccuracy will be a problem also near objects, as seen in the attached picture.

I might be wrong, I'm not an expert.
Please correct me if I do

what do you want to achieve with that robot?

that it just "knows" there is something? or that it drives around objects?

maybe this
http://www.maxbotix.com/performance.htm

and mb7001 there could be interesting for you

and this

eventually the robot suppose to clean the room
I'm hoping that it will first scan the room and plan the best way to clean it.

Thanks for the link from instructables. It was exactly what I was looking for.
Seems like ultrasonic is good for the task after all

i think most of those robots just drive forward and once they hit something they change direction.if you then let him like drive around for a couple of hours and save the movement data you could maybe create a map and a grid of the roomsize so that the robot might find a much faster and better way to clean up the all the next times, afterall he needs to know where he has cleaned up already.

Yeah, I was hoping to make a more efficient robot.
I just hope it'll worth the trouble of programming, which not going to be easy...