Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile.

Post on 30-Mar-2015

215 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

• Mobile Robot ApplicationsMobile Robot Applications• Textbook:

–T. Bräunl Embedded Robotics, Springer 2003

• Recommended Reading:• 1. J. Jones, A. Flynn: Mobile Robots, 2nd Ed., AK Peters,

1999

–→ Hobbyist’s introduction, easy reading• 2. R. Arkin: Behavior-based Robotics,

–→ Overview of behavior-based robotics• 3. Kernighan, Ritchie: The C Programming Language• alternatively: <any C programming book>

–→ C programming skills are important!

• Contents Topics:Contents Topics:• Maze driving

–Micro Mouse Contest• Mapping

–Driving in unknown environments• Elementary Image Processing

–Edge detection, color detection, color blobs

• Robot Soccer

–autonomous agents

Mazes and MappingMazes and Mapping

Place p

robot

Know where to go!Know where to go!

Explore while finding the Explore while finding the connection.connection.

More complex MazesMore complex Mazes

1. We won local competition in 1990

2. Two our teams did not complete the run 2004

3. This is a tough competitions as participants spend much time and have much experience

Follow the wall Follow the wall algorithm and algorithm and what is wrong what is wrong

with itwith it

1.1. Idea: Always follow left wall.Idea: Always follow left wall.2. 2. MAZE was MODIFIED, this causes MAZE was MODIFIED, this causes new algorithm needsnew algorithm needs

• This is becoming a competition for sensors, motors and crazy ideas.• Algorithmic problems are already solved.

Long rods for sensing

Cell-based maze for mapping and motion planning

CELL BASED IDEAS

In early contests you can win using this simple algorithm. Next it was changed to make contest more

interesting

• This algorithm will not find the will not find the object in the object in the middle middle if there is much empty space around.

Follow left wall Follow left wall AlgorithmAlgorithm

Explore_left: Many Probabilistic variants have been created

See next page for these routines

x,y = coordinates, dir = direction

flags

• Psd = position sensor devide

continued

PSDGet is from sensors

Depending on current direction, update x and y coordinates of the mouse

turning

Going one cell

Never finds the goldIdea to remember: Idea to remember: there are good special algorithms for some kinds of mazes.If you deal with general space or irregular map of labyrinth, you have to use

several algorithms and adapt.

There are many recursive algorithms, we will illustrate one of them

Left-wall Left-wall algorithm versus algorithm versus

RecursionRecursion

recursionLeft wall following

Check all possibilities and backtrack

Backtracking!!!Backtracking!!!

This explains and illustrates the concept of backtracking that is This explains and illustrates the concept of backtracking that is fundamental to robotics and AIfundamental to robotics and AI

In backtrack point robot knows that it has done a bad decision

Explore will call itself recursivelyrecursively

Mark x and y position

Check situations if front open etc

Set flags front open etc

Use flags front open etc

Recursive call of itself This part shows recursive calls in all

situations : Front openFront open, Left open Left open and right openright open

Idea: combine Idea: combine various maze various maze

algorithmsalgorithms

We can combine recursion and left -wall-following algorithms in several ways

This map shows calculating distances from the start for labyrinth from bottom left

1. Discuss how it works.

2. How it is represented.

Using grid we startstart from here and go everywhere adding 1 at each step

One approach to One approach to solve this are the solve this are the

Flood Fill AlgorithmsFlood Fill Algorithms

Flood Fill Flood Fill algorithmsalgorithms

Flood Fill Algorithm ExamplePhase 2Phase 1

Phase 3

This is like the “breadth first search”

Flood Fill AlgorithmsFlood Fill Algorithms

• The idea of marking cells appears here again

Algorithm continued

continuation

Example on next slide

Shortest PathShortest Path

algorithmsalgorithms

Next Stage of Flood Algorithm:Next Stage of Flood Algorithm: Shortest Path

• Now we have:– Explored the maze– Know the distance to goal from every cell

• Missing:Missing:– Shortest path from start to goal

• Idea:– Generate shortest path from goal backward

to start

Backtracking to (0,0)

i,j = cooridnates

k= current position

Wall = wall

north

south

east

west

• Path already done by robot

• Distances of cells from start position

• Part of map that has been covered so far

• Map of labyrinth

What to visualize in maze algorithms

• Visualization is important for the user-programmer to understand what happens.

• It really helps!

• Applications in hospitals, museums, mines, big government buildings.

Learn from counting the door counting the door or information on walls

Real-world mazesReal-world mazes (hospitals, universities) and (hospitals, universities) and labyrinthslabyrinths (forest, (forest, park, open battlefield)park, open battlefield)

Navigation AlgorithmsNavigation Algorithms

1. Dijkstra’s Algorithm

2. A* Algorithm

3. Potential Field Method

4. Wandering Standpoint Algorithm

5. Distbug Algorithm

Dijkstra’s Algorithm for Dijkstra’s Algorithm for all shortest pathsall shortest paths

A* Algorithm for A* Algorithm for shortest pathshortest path

Estimation such as geometric distance

Near the goal estimated distances are real distances, no obstacles

Potential Potential Field MethodField Method

Potential Field Method for Potential Field Method for map creationmap creation

• Description: – Global map generation algorithm with virtual forces.

• Required:– Start and goal position, positions of all obstacles and walls.

• Algorithm: – Generate a map with virtual attracting and virtual repelling

forces. – Start point, obstacles, and walls are repelling, – goal is attracting, – force strength is linear to global object distance, – robot simply follows force field.

top related