Pages: [1]   Go Down
Author Topic: wall folowing robot  (Read 1377 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 .
Logged

Seattle, WA USA
Online Online
Brattain Member
*****
Karma: 610
Posts: 49059
Seattle, WA USA
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
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.

Quote
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.
Logged

Queens, New York
Online Online
Faraday Member
**
Karma: 98
Posts: 3574
"Of all the things I've ever lost, I miss my mind the most" -Ozzy Osbourne
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Created Libraries:
NPV2 (NewPasswordV2),  TFT_Extension, OneWireKeypad, SerialServo.
Will provide libraries if asked in PM or forum.

Pittsburgh, PA, USA
Offline Offline
Faraday Member
**
Karma: 98
Posts: 4801
I learn a bit every time I visit the forum.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

I find it harder to express logic in English than in Code.
Sometimes an example says more than many times as many words.

Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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!!
Logged

Queens, New York
Online Online
Faraday Member
**
Karma: 98
Posts: 3574
"Of all the things I've ever lost, I miss my mind the most" -Ozzy Osbourne
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Created Libraries:
NPV2 (NewPasswordV2),  TFT_Extension, OneWireKeypad, SerialServo.
Will provide libraries if asked in PM or forum.

UK
Offline Offline
Shannon Member
****
Karma: 223
Posts: 12631
-
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

I only provide help via the forum - please do not contact me for private consultancy.

Pittsburgh, PA, USA
Offline Offline
Faraday Member
**
Karma: 98
Posts: 4801
I learn a bit every time I visit the forum.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.

Logged

I find it harder to express logic in English than in Code.
Sometimes an example says more than many times as many words.

Pages: [1]   Go Up
Jump to: