Labyrint Problemlösaren Robot, med artificiell intelligens med Arduino
(Om du gillar detta Instructable, glöm inte att rösta på det (ovan: högra hörnet flaggan). Rex, roboten tävlar på ROBOTICS och sensorer tävlingar. Tack så mycket! ;-)
Detta Instructable utvecklades på mitt senaste projekt: rad efterföljare Robot - PID Control - Android Setup. När du har en robot med raden efter funktioner, är nästa naturliga steg att ge honom viss grad av intelligens. Så, vår kära "Rex, roboten" försöker hitta hur landskapet från en "labyrint" på en kortaste och snabbaste sättet (genom att han hatar Minotaurus;-).
För start, vad är skillnaden mellan labyrint och labyrint? Enligt http://www.labyrinthos.net, i den engelsktalande världen ofta anses som att kvalificera sig som en labyrint, måste en design ha val i väg. Klart, detta kommer att omfatta många av de moderna installationerna i underhållning parker och turistattraktioner, inklusive våra 2D labyrint här. Populära samförstånd anger också att labyrinter har en väg som leder obönhörligen från ingången till målet, om än ofta de mest komplexa och slingrande vägar.
Majoriteten av labyrinter, men komplexa deras design kan visas, bildades i huvudsak från en kontinuerlig vägg med många korsningar och grenar. Om muren som omger målet av en labyrint är ansluten till omkretsen av labyrinten vid ingången, labyrinten alltid kan lösas genom att hålla en hand i kontakt med väggen, men många omvägar som kan innebära. Dessa "enkla" labyrinter är korrekt kända som "Helt enkelt ansluten" eller "perfekt" labyrinter eller med andra ord, som innehåller inga slingor.
Återvänder till vårt projekt, det kommer att delas upp i två delar (eller "passerar"):
1. (första Pass): roboten finner sin väg från en icke-kända perfekta labyrint. Gör inte fråga där du sätter det inuti labyrinten, den vilja finna en "lösning".
2. (andra Pass): när roboten hittat en möjlig labyrint lösning, det bör optimera sin lösning att hitta den kortaste vägen från början till slut.
Den video nedan, kommer att visa ett exempel av roboten att hitta sin väg. I den första tiden att roboten utforskar labyrinten, kommer naturligtvis det slösar en massa tid "tänkande" om vad du gör vid varje korsning. För att testa möjligheterna, kommer att det ta flera fel banor och återvändsgränder, vad gör det att köra längre banor och utföra onödiga "u-svängar". Under denna första banan ("1: a Pass"), roboten kommer att ackumulera upplevelser, "anteckningar" om de olika korsningarna och eliminera dåliga grenarna. I sin andra väg ("2: a Pass"), roboten går snabbt och rakt till slutet utan några misstag eller tvivel. Längs detta Instructable, kommer att vi utforska i Detaljer hur man gör det: