wall folowing robot

Hello,
This is my first embedded systems project ie iam basically a starter .So kindly help me by providing your suggestions and ideas.
Is making a wall following robot using arduino(atmega8l-8pu) a feasible plan.Is it possible to add functionalities like finding area of a enclosed room using
the same.I think ,for that we may need to find distance travelled by moving robot (using dc motor) by some means.So ,i came up with few ideas viz. finding no. of revolutions madeby it ,setting constant speed and using timer,using distance sensors(IR) etc.Atleast, it must be able to follow and find area of a simple square shaped area(room). Should we use ultrasonic sensors for wall following or IR,bump sensors?Is it advisable(economically,time consuming etc), using an open source platform like arduino ? Should i buy a new board like arduino UNO?
Kindly share me your valuable suggestion so that i can move ahead and take a wise decision .

Should we use ultrasonic sensors for wall following or IR,bump sensors?

Each method has advantages and drawbacks. Ultrasonic sensors are somewhat directional. If the robot is running parallel to a wall, and the sensor is aimed at the wall, it can not see a wall at 90 degrees to the robot. So the robot will tun into the wall.

If the sensor is parallel to the direction of travel, how do you follow the wall?

IR sensors are affected, to various degrees, by ambient light. Fluorescent lighting, incandescent lighting, and natural lighting can all affect the IR sensor.

Bump switches are the most accurate, because distance is known when the switch is activated.

So ,i came up with few ideas viz. finding no. of revolutions madeby it ,setting constant speed and using timer,using distance sensors(IR) etc.

None of which are terribly accurate. Timing does not account for acceleration and deceleration, nor does it account for slippage (when one rotation of the tire does not result in an equal amount of forward motion). IR sensors are affected by lighting and the degree (and angle) of reflectivity of whatever reflects the IR signal.

Under what conditions is this robot to be used? What will the resulting area information be used for?

Putting the robot in a room and having it guesstimate area so you know how much carpet or paint to but is one thing. If you need to know the area more exactly, that is another.

You need multiple sensors, at least 3 in the front and maybe 3 in the back if you want reverse.
Do you know how to code it? I'll give you an example if your stuck, or you can try to find one yourself. There a tons of example out there, your bound to find one that works.

It would probably serve you well to make mini-projects just using different sensors. It can't hurt to have one sensor verify another either.

You ever heard Cheech and Chong's 'Chebornik'?
Looks like dog crap.
Smells like dog crap.
Tastes like dog crap.
Good thing we didn't step in it.

Now that's verification.

What would be the best method to find area.(need not be accurate ;atleast 95%).What if i make it a line follower,will it solve the problem??
Its just for a project demo!No real application!!

What exactly is the purpose of your project, to find the area of a room? You can use the sensor to stay on the wall, but if you want to measure driving distance, then you may need encoded wheels (wheels with encoders on them). With those encoders, you can calculate distance traveled, and using the wall sensor, you can track when you make a turn. The robot will need to be at a fixed point to work, like against a wall then have it drive. You should do some research on some successful robots that already do what you want, and go from there.

anilsathyan7:
What would be the best method to find area.(need not be accurate ;atleast 95%).What if i make it a line follower,will it solve the problem??
Its just for a project demo!No real application!!

You would need to provide a way for the 'bot to know where it was. The more accurately it knows its position, the more accurately the area can be calculated. The physical size and shape of the 'bot, and how closely the path followed by the 'bot matches the shape of the wall, will also affect the results. Measuring the area of nooks and crannies would be very hard indeed; measuring the area of a plain rectangle would be much easier, especially if you knew that it was a rectangle.

Once you have a sequence of positions (in some coordinate system) repesenting the path the 'bot followed, there are known algorithms which can be used to calculate the area enclosed by the path. So, you need a way for the 'bot to know where it is, and a sketch that records the sequence of positions which make up its path. As a first stab, you could just use dead reckoning.

If/when you get that working OK and want to refine the answer you can start thinking about how to calculate the position of the wall rather than the position of the 'bot.

In some rooms you could set a bot in the middle and it could estimate the dimensions without moving at all. But this would be for not too large empty rectangular rooms.