(Als je dit Instructable, vergeet dan niet te stemmen (boven: rechts hoek vlag). Rex, de Robot concurreert op ROBOTICA en sensoren wedstrijden. Heel hartelijk bedankt! ;-)
Dit Instructable werd ontwikkeld na mijn laatste project: lijn volgeling Robot - PID Control - Android Setup. Als u eenmaal een robot met de regel die volgt op mogelijkheden, is de volgende logische stap te geven hem een zekere mate van intelligentie. Dus, onze lieve "Rex, de Robot" zal proberen vinden hoe scape van een "labyrint" op een kortste en snelste manier (door de manier, hij haat de Minotaurus;-).
Voor begin, wat is het verschil tussen Maze and Labyrinth? Http://www.labyrinthos.net, in de Engels sprekende wereld die wordt vaak geoordeeld dat om zich te kwalificeren als een doolhof, volgens moeten een ontwerp keuzes in het traject. Duidelijk, dit houdt veel van de moderne installaties in pretparken en toeristische attracties, waaronder onze 2D doolhof hier. Populaire consensus geeft ook aan dat labyrinten hebben een traject dat onverbiddelijk leidt vanaf de ingang tot het doel, zij het vaak door de meest complexe en liquidatie van routes.
De meerderheid van de doolhoven, hoe complex hun ontwerp lijken, waren het in wezen gevormd uit een continue muur met vele kruispunten en takken. Als de muur rond het doel van een doolhof is aangesloten op de omtrek van het labyrint bij de ingang, de doolhof altijd kan worden opgelost door te houden enerzijds bij aanraking met de muur, maar veel omwegen die verbonden zijn eventueel. Deze 'eenvoudige' doolhoven worden correct genoemd "Enkelvoudig samenhangende" of "perfecte" doolhoven of met andere woorden, die geen lussen bevatten.
Terug te keren naar ons project, zal het worden opgesplitst in twee delen (of "passen"):
1. (first Pass): de robot vindt zijn weg uit van een niet bekende perfecte doolhof. Geen kwestie waar u hem binnen de doolhof, een "oplossing" zal vinden.
2. (tweede Pass): zodra de robot een oplossing mogelijk doolhof gevonden, het haar oplossing vinden het kortste pad van start tot finish zou moeten optimaliseren.
De video hieronder, zal tonen een voorbeeld van de robot die zijn weg uitzoeken. De eerste keer dat de robot de doolhof verkent, zal het natuurlijk een heleboel tijd "denken" over wat te doen bij elke doorsnede afval. Om te testen de mogelijkheden, duurt het enkele verkeerde paden en dode uiteinden, wat maakt het lopen van langere paden en uitvoeren van niet onnodig "schrikreacties". Tijdens deze eerste pad ("1st Pass"), de robot zal worden accumuleren ervaringen, "notities" over de verschillende kruispunten en het opheffen van de slechte takken. In het tweede pad ("2de Pass"), de robot gaat snel en rechtstreeks naar het einde zonder enige fout of twijfel. Langs dit Instructable, zullen we ontdekken in details hoe dit te doen: