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

hi, i m new to arduino platform.I m planning to make a obstacle avoiding robot which moves between destination-Room1,room2,room3(The plan of the house is printed on a big cardboard smiley-grin  and the bot should navigate that 'house').
I m confused on how to implement the navigation.My guide said it wont be possible to use a wheel encoder because an obstacle on the path will make the preloaded program obsolete.Is there anyother method to implement the navigation. smiley-cry
« Last Edit: January 11, 2013, 07:00:04 am by stjimmy » Logged

New Jersey
Online Online
Faraday Member
**
Karma: 70
Posts: 3743
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Encoders are fine, in fact you'll find it harder to solve the problem without them. All your guide is telling you is that you can't assume that driving from one room to another is a standard, pre-specified operation - you may have to adjust your route on the way to avoid obstacles. You can still use encoders for dead reckoning, but you can't say that to get from room one to room two you turn east and go forward for 20,000 encoder clicks - circumstances may have changed this time.
Logged

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

Encoders are fine, in fact you'll find it harder to solve the problem without them. All your guide is telling you is that you can't assume that driving from one room to another is a standard, pre-specified operation - you may have to adjust your route on the way to avoid obstacles. You can still use encoders for dead reckoning, but you can't say that to get from room one to room two you turn east and go forward for 20,000 encoder clicks - circumstances may have changed this time.

exactly, but how can i adjust the number of turns to suite the situation. Is there any other way  ?
Logged

New Jersey
Online Online
Faraday Member
**
Karma: 70
Posts: 3743
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

You just need to keep track of where you are - at it's simplest, an X and Y offset from a known origin. Direction and encoder clicks will tell you how your current x & y are changing, i.e. dead reckoning. An array of coordinates tells you where the other rooms are so you simply need to drive so that you move to the desired location. If you have to avoid obstacles, you will continue to update your position as you drive around them and then recalculate your course to the destination. You'll probably need to have intermediate waypoints along the routes between rooms to ensure that you go through doorways rather than blindly drive through "walls".
Logged

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

Sounds like an interesting problem - could be a lot more complicated than you think.

What other sensors does the robot have?
Is the house map pre-loaded into the robot.

There are a number of ways this could be implemented.

1. SLAM: seems a quite popular field at the moment, but it quite complex and non-intuitive to implement.  It also requires a lot of memory - more than the arduino has.
2. You could use a searching mechanism - each room would have a "beacon" of some kind so the robot knows roughly where it is and where it needs to get to.  Much simpler to implement - could be done with sonar/infra-red distance sensors maybe a low res-camera driven by an external controller. 
Logged

Phoenix, Arizona USA
Offline Offline
Faraday Member
**
Karma: 40
Posts: 5600
Where's the beer?
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

1. SLAM: seems a quite popular field at the moment, but it quite complex and non-intuitive to implement.  It also requires a lot of memory - more than the arduino has.

Something interesting:

http://cs.krisbeevers.com/thesis/

Note the "ratbot-slam: A fixed point implementation of FastSLAM 1 with multiscans as described in Chapter 7, meant to run on the Ratbot platform with an ATMEGA64 microcontroller as the main CPU."

So - the possibility exists to do SLAM - maybe not on an UNO, but a Mega is a definite (theoretical) possibility...
Logged

I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.

the land of sun+snow
Offline Offline
Faraday Member
**
Karma: 159
Posts: 2916
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Check out Loki and the A* navigation video,

http://www.dshinsel.com/

Loki Robot 2 – Exploring the House.  This shows Loki’s navigational capabilities
using his built-in map and A* navigation.
Logged

Pages: [1]   Go Up
Jump to: