![Page 1: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/1.jpg)
![Page 2: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/2.jpg)
• 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!
![Page 3: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/3.jpg)
• 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
![Page 4: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/4.jpg)
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.
![Page 5: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/5.jpg)
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
![Page 6: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/6.jpg)
Follow the wall Follow the wall algorithm and algorithm and what is wrong what is wrong
with itwith it
![Page 7: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/7.jpg)
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
![Page 8: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/8.jpg)
• This is becoming a competition for sensors, motors and crazy ideas.• Algorithmic problems are already solved.
![Page 9: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/9.jpg)
Long rods for sensing
![Page 10: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/10.jpg)
Cell-based maze for mapping and motion planning
CELL BASED IDEAS
![Page 11: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/11.jpg)
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.
![Page 12: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/12.jpg)
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
![Page 13: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/13.jpg)
Depending on current direction, update x and y coordinates of the mouse
turning
Going one cell
![Page 14: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/14.jpg)
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
![Page 15: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/15.jpg)
Left-wall Left-wall algorithm versus algorithm versus
RecursionRecursion
![Page 16: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/16.jpg)
recursionLeft wall following
Check all possibilities and backtrack
![Page 17: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/17.jpg)
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
![Page 18: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/18.jpg)
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
![Page 19: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/19.jpg)
Recursive call of itself This part shows recursive calls in all
situations : Front openFront open, Left open Left open and right openright open
![Page 20: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/20.jpg)
Idea: combine Idea: combine various maze various maze
algorithmsalgorithms
![Page 21: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/21.jpg)
We can combine recursion and left -wall-following algorithms in several ways
![Page 22: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/22.jpg)
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
![Page 23: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/23.jpg)
Flood Fill Flood Fill algorithmsalgorithms
![Page 24: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/24.jpg)
Flood Fill Algorithm ExamplePhase 2Phase 1
Phase 3
This is like the “breadth first search”
![Page 25: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/25.jpg)
Flood Fill AlgorithmsFlood Fill Algorithms
• The idea of marking cells appears here again
![Page 26: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/26.jpg)
Algorithm continued
![Page 27: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/27.jpg)
continuation
Example on next slide
![Page 28: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/28.jpg)
Shortest PathShortest Path
algorithmsalgorithms
![Page 29: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/29.jpg)
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
![Page 30: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/30.jpg)
Backtracking to (0,0)
![Page 31: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/31.jpg)
i,j = cooridnates
k= current position
Wall = wall
north
south
east
west
![Page 32: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/32.jpg)
• 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!
![Page 33: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/33.jpg)
• 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)
![Page 34: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/34.jpg)
Navigation AlgorithmsNavigation Algorithms
1. Dijkstra’s Algorithm
2. A* Algorithm
3. Potential Field Method
4. Wandering Standpoint Algorithm
5. Distbug Algorithm
![Page 35: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/35.jpg)
Dijkstra’s Algorithm for Dijkstra’s Algorithm for all shortest pathsall shortest paths
![Page 36: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/36.jpg)
![Page 37: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/37.jpg)
![Page 38: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/38.jpg)
![Page 39: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/39.jpg)
A* Algorithm for A* Algorithm for shortest pathshortest path
![Page 40: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/40.jpg)
Estimation such as geometric distance
![Page 41: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/41.jpg)
Near the goal estimated distances are real distances, no obstacles
![Page 42: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/42.jpg)
Potential Potential Field MethodField Method
![Page 43: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/43.jpg)
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.
![Page 44: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/44.jpg)
![Page 45: Mobile Robot ApplicationsMobile Robot Applications Textbook: –T. Bräunl Embedded Robotics, Springer 2003 Recommended Reading: 1. J. Jones, A. Flynn: Mobile](https://reader036.vdocument.in/reader036/viewer/2022062511/551900b45503462f428b4582/html5/thumbnails/45.jpg)