PDA

View Full Version : Adaptive mapping. Help needed!!!



mariosk
10-31-2009, 11:54 AM
Hi i am a student at a greek university and i am writing my graduate project work and i would like to know if i can use the parallax boe bot to implement adaptive mapping. In detail the robot should start in a predefined position (start) and reach a predefined goal (finish) while avoiding any obstacles between start and finish. Any info on how to program this using pbasic would be very helpful.

Post Edited (mariosk) : 10/31/2009 4:01:24 AM GMT

Franklin
10-31-2009, 12:14 PM
Where does the adaptive mapping come in? What you described can be done without mapping.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- Stephen

mariosk
10-31-2009, 12:45 PM
The robot should be able to map a certain room lets say for example 5x5 squares it would start at a certain position in the grid and finish at another grid position. The robot can update its map when objects get in the way. Its not just reactive wandering, but planned navigation. This isnt pure reactive mapping:
it knows where it is
it knows where it has been
it knows where it is going
it knows the locations of moving obstacles
it optimizes for minimal travel distance
and it cannot be tricked! Its adaptive!

One way do to this is to implement the wavefront algorithm.

more info in this video: http://www.youtube.com/watch?v=N7zDiSPa3_E

SRLM
10-31-2009, 12:58 PM
It would be difficult (bordering on impossible) to do this with the stock BOE-BOT chassis. At the very least, you'll need some encoders so you can tell where you are and some sort place to store the acquired map (EEPROM is too small). A datalogger, external EEPROM, or wireless link to a computer would all be reasonable choices. Once you get that far, seriously consider upgrading the processing power. You can go to a faster BS2 (okay) or a Propeller (better). The next step would be to upgrade your sensor array with some sort of distance detector: either IR or ultrasonic.

Edit: I just watched the video. I think that although he may have had the robot create a map, it isn't necessary to solve that problem in the exact same manner. Basically, the same thing can be had for three "local" objects that represent what the robot sees left, right, and forward. Combine that with two cartesian points of the robot's position and the destination, and you get the same result.

Post Edited (SRLM) : 10/31/2009 5:14:30 AM GMT

mariosk
10-31-2009, 01:12 PM
Can you explain how i can implement that in Pbasic.

Post Edited (mariosk) : 10/31/2009 5:19:15 AM GMT

SRLM
11-01-2009, 01:52 AM
1. Set your program goals.
2. Develop the restrictions that you must work with.
3. Build an algorithm to solve the goals with the restrictions.
4. Convert the algorithm to the computer language.
5. Test the implementation.
6. Ship product.

We are not here to give you the answer, you have enough experience already to build it. Write the code. If you have problems, post it and we can help fix it, but we generally don't like to give the answer to students looking for it.

vaclav_sal
11-01-2009, 01:59 AM
SRLM,

your reply sholud be added to FAQ!

Vaclav

Franklin
11-01-2009, 01:00 AM
mariosk said...
it knows where it is
it knows where it has been
it knows where it is going
it knows the locations of moving obstacles
it optimizes for minimal travel distance
and it cannot be tricked! Its adaptive!

You will have to have quite a bit of extra hardware/computing power to accomplish these parameters before you can even have the bot move. How do you plan to get this info and in what form will it be available to the basic stamp? Start there and perhaps we can help with the code.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
- Stephen

Phil Pilgrim (PhiPi)
11-01-2009, 01:04 AM
SRLM,

You forgot #7: Profit! (Sorry, 'couldn't resist a South Park reference. http://forums.parallax.com/images/smilies/smile.gif )

-Phil

erco
11-02-2009, 12:58 AM
And #8, 9, & 10:

Service Packs 1,2 & 3. Thanks for the business model, Mr. Gates!

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"If you build it, they will come."