Embedded Motion Control 2014 Group 8: Difference between revisions
Jump to navigation
Jump to search
(→Tactic) |
|||
Line 97: | Line 97: | ||
In the figure below, the laser points that are used by PICO are shown. This is the exact moment when the corner to the left is detected.<br> | In the figure below, the laser points that are used by PICO are shown. This is the exact moment when the corner to the left is detected.<br> | ||
<!--[[File:gr8_corner_detection.png | 550px| 400px | center]]--> | <!--[[File:gr8_corner_detection.png | 550px| 400px | center]]--> | ||
[[File:GR08_Pico_detect_corner.png | | [[File:GR08_Pico_detect_corner.png | 400px| 300px | center]] | ||
=== Detect a corridor === | |||
[[File:GR08_Pico_detect_corridor.png | 400px| 300px | center]] | |||
=== Detect a T-junction === | === Detect a T-junction === | ||
Detecting a T-junction is something that automatically is 'asked' when a corner is detected. If a corner is detected at one side, laser points even more in the front will be used to check whether there is a corner at the other side as well. This is visualized in the figures below. | Detecting a T-junction is something that automatically is 'asked' when a corner is detected. If a corner is detected at one side, laser points even more in the front will be used to check whether there is a corner at the other side as well. This is visualized in the figures below. | ||
<br> | <br> | ||
[[File:detect_T-junc_1.png|550px|400px]] | <!--[[File:detect_T-junc_1.png|550px|400px]]--> | ||
[[File:detect_T-junc_2.png|550px|400px]] | <!--[[File:detect_T-junc_2.png|550px|400px]]--> | ||
[[File:GR08_Pico_detect_Tjunc.png | 400px| 300px ]] | |||
[[File:GR08_Pico_detect_Tjunc_schuin.png | 400px| 300px ]] | |||
<br> | <br> | ||
In the left figure, a corner to the left is detected. Immidiately PICO compares the light grey laser points at the right with the right lower laser points. If that distance is bigger than a certain treshold, the 'corner detected' changes into 'T-junction detected'. | In the left figure, a corner to the left is detected. Immidiately PICO compares the light grey laser points at the right with the right lower laser points. If that distance is bigger than a certain treshold, the 'corner detected' changes into 'T-junction detected'. | ||
=== Detect a crossing === | |||
[[File:GR08_Pico_detect_crossing.png | 400px| 300px ]] | |||
[[File:GR08_Pico_detect_crossing_schuin.png | 400px| 300px ]] | |||
=== Detect a dead end === | === Detect a dead end === | ||
Line 135: | Line 146: | ||
=== Algorithm to solve the maze === | === Algorithm to solve the maze === | ||
In order to complete the maze as fast as possible the program uses a fixed strategy. When the robot detects a situation where it can continue in multiple directions it chooses a preferable one. This decision is made based on two parameters, namely which options it detects and whether or not an arrow is observed. <br> When an arrow is detected in a direction which is a subset of the detected options this will be the preferred new direction. In the case the robot observes an arrow in a direction which is not part of the found options, the arrow is ignored and a direction is chosen based on the rules explained below. <br> When a crossing is observed without the detection of an arrow, the program chooses the new direction according to a fixed sequence. If possible it chooses to go right, otherwise to go straight. This ensures that every corridor of the maze is evaluated before returning to the same crossing. | In order to complete the maze as fast as possible the program uses a fixed strategy. When the robot detects a situation where it can continue in multiple directions it chooses a preferable one. This decision is made based on two parameters, namely which options it detects and whether or not an arrow is observed. <br> When an arrow is detected in a direction which is a subset of the detected options this will be the preferred new direction. In the case the robot observes an arrow in a direction which is not part of the found options, the arrow is ignored and a direction is chosen based on the rules explained below. <br> When a crossing is observed without the detection of an arrow, the program chooses the new direction according to a fixed sequence. If possible it chooses to go right, otherwise to go straight. This ensures that every corridor of the maze is evaluated before returning to the same crossing. | ||
== Tests == | == Tests == |