Vonalkövető robot kódolása a labirintushoz az LSRB algoritmus segítségével, és megtalálja annak legrövidebb útját

Vonalkövető robot (Maze Solving Robot)

Az MSR (labirintusmegoldó robot) egy okos kis szilícium agyú eszköz, amely egy önkényes útvesztőbe jut. Versenyez fajának többi tagjával, amilyen gyorsan csak tud. Az MSR itt egy elektromechanikus eszköz, amely jellemzően három fő alrendszerből áll. Ezek a hajtásrendszer, az érzékelők tömbje és a vezérlőrendszer.

A hajtórendszer egy mechanikus l alvázból, egy sor motorból, hajtóműből és kerekekből áll. Az alvázat általában úgy tervezték, hogy kerekes székként működjön, két nagy hajtókerékkel egy könnyű alumínium váz mindkét oldalán. Az alváz a motorok, a hajtómű, az akkumulátorok és az áramkörök befogadására készült, és elég kicsinek kell lennie ahhoz, hogy a labirintus korlátai között manőverezhessen.

A vezérlőrendszer az áramkörök sora, amely a kriter agyaként működik. A vezérlőrendszer labirintusmegoldó algoritmust (LSRB) futtat a CPU (ARDUINO BOARD) által az érzékelőktől kapott információk alapján.

A végső alrendszer az érzékelők. Jelentik a CPU-nak a környezet jelenlegi állapotát, ahol a falak és az utak vannak. Ezek általában infravörös érzékelők, amelyek felveszik a pálya fényvisszaverő fényét. A fő cél a leggyorsabb labirintus futási idő elérése és a cél könnyű megtalálása.


Laza

A labirintus egy túra rejtvény egy összetett elágazó átjáró formájában, amelyen keresztül a megoldónak útvonalat kell találnia. A mindennapi beszédben mind a labirintus, mind a labirintus összetett és zavaros utak sorozatát jelöli, de technikailag a labirintus megkülönbözteti a labirintust, mivel a labirintusnak egyetlen átjárója van, fordulatokkal, de elágazások nélkül, és nem tervezték olyan nehéz eligazodni.

LSRB algoritmus

Ez az LSRB algoritmus egyszerűsíthető a következő egyszerű feltételekre:

A robotnak ezeket a döntéseket metszéspontban kell meghoznia. A kereszteződés a labirintus bármely pontja, ahol lehetősége van megfordulni. Ha a robotnak lehetősége van megfordulni, és nem fordul meg, akkor ezt egyenesnek kell tekinteni. Minden mozdulat egy kereszteződésben történt, vagy amikor a megfordulást el kell tárolni.

Eleinte az LSRB algoritmusok keresési folyamatát látjuk. az ábrák az LSRB feldolgozásának mintája.

Az első diagram a kiindulási pontot és az első döntést jelöli az LSRB prioritása alapján, így a robot a bal oldalt választja. Második döntés Az érték tárolva lett a nyilvántartásban. Az első döntési diagram látható,

A második ábrán az első döntés feldolgozása után jelöljük, és a következő döntést a hátsó oldalra hozzuk, mert nincs több lehetőség. A második döntési diagram látható,

A harmadik ábrákon a második döntés feldolgozása után jelöljük, és a következő döntést a bal oldalra hozzuk, mert nincs több lehetőség és a második döntés értéke tárolva lett a regiszterben. A harmadik döntési diagram látható,

A negyedik ábrán a harmadik döntés feldolgozását jelöljük, és a következő döntést a bal oldalra hozzuk, mert nincs több lehetőség és a negyedik döntés értéke tárolva lett a regiszterben. A negyedik döntési diagram látható,

Az ötödik ábrán a negyedik döntés feldolgozását jelöljük, és a következő döntést a hátsó oldalra hozzuk, mert nincs több lehetőség, és az ötödik döntés értéke el lett tárolva a regiszterben. Az ötödik döntési diagram látható,

A hatodik ábrán az ötödik döntés feldolgozását jelöljük, és a következő döntést az egyenes oldalra hozzuk, mert nincs több lehetőség és a hatodik döntés értéke tárolva lett a regiszterben. A hatodik döntési diagram látható,

A hetedik ábrán a hatodik döntés feldolgozását jelölik, és a következő döntést a jobb oldalon hozzák meg, mert nincs több lehetőség és a hetedik döntés értéke tárolva lett a regiszterben. A hetedik döntési diagram az alábbiakban látható. A hetedik lépés után a keresési folyamatok befejeződnek, majd végül az „LBLLBSR” értéket tároljuk a regiszterbe.

A második folyamat az utazási folyamat. Ez a folyamat azt hajtja végre, hogy a robot mindenféle keresés és a legrövidebb út használata nélkül haladjon a cél felé.

Az utazás egyszerűsíti a regiszter értékét a következő egyenlet használatával, és röviden zárja be a regiszter értékét, és követi az alábbi egyenleteket:

LBR = B

LBS = R

RBL = B

SBL = R

SBS = B

LBL = S

A regiszter értéke rövid az egyenletek használatától, és a végső regiszter értéke „SRR”. A diagram az alábbiakban látható

Kódolás

Változó inicializálás

loop () Funkció

Ez a funkció újra és újra fut, és ennek megfelelően ellenőrizze.

Olvassa el az érzékelő értékét

Bal oldali falalgoritmus (LSRB algoritmus)

A legrövidebb útvonal

A fenti kódrészletek nem tartalmaznak a turnLeft (), turnRight (), turnAround () és a done () kivonatokat. Sok késés van használatban, ezek nem szabványok, a bot szerint kell módosítani őket.

A taps megmutatja, mennyire értékelte a történetemet.