Cuprins:
Video: Faceți un robot Maze Runner: 3 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:46
Roboții de rezolvare a labirintului provin din anii 1970. De atunci, IEEE organizează concursuri de rezolvare a labirintului denumite Concurs Micro Mouse. Scopul concursului este de a proiecta un robot care să găsească punctul de mijloc al unui labirint cât mai repede posibil. Algoritmii utilizați pentru rezolvarea rapidă a labirintului se încadrează de obicei în trei categorii; căutare aleatorie, mapare labirint și peretele din dreapta sau din stânga urmând metode.
Cea mai funcțională dintre aceste metode este metoda de urmărire a peretelui. În această metodă, robotul urmează peretele lateral drept sau stâng al labirintului. Dacă punctul de ieșire este conectat la pereții exteriori ai labirintului, robotul va găsi ieșirea. Această notă a aplicației folosește metoda de urmărire a peretelui potrivit.
Hardware
Această aplicație folosește:
- 2 senzori analogici de distanță ascuțiți
- Senzor de urmărire
- Codificator
- Motoare și șofer de motor
- Silego GreenPAK SLG46531V
- Regulator de tensiune, șasiu robot.
Vom folosi senzorul analogic de distanță pentru a determina distanțele față de pereții din dreapta și din față. Senzorii de distanță Sharp sunt o alegere populară pentru multe proiecte care necesită măsurători precise de distanță. Acest senzor IR este mai economic decât telemetrele sonare, dar oferă performanțe mult mai bune decât alte alternative IR. Există o relație inversă neliniară între tensiunea de ieșire a senzorului și distanța măsurată. Graficul care arată relația dintre ieșirea senzorului și distanța măsurată este prezentat în figura 1.
O linie albă pe un fundal de culoare neagră este setată ca țintă. Vom folosi senzorul de urmărire pentru a detecta linia albă. Senzorul de urmărire are cinci ieșiri analogice, iar datele transmise sunt influențate de distanță și de culoarea obiectului detectat. Punctele detectate cu reflectanță mai mare în infraroșu (alb) vor provoca o valoare de ieșire mai mare, iar reflectanța mai mică în infraroșu (negru) va provoca o valoare de ieșire mai mică.
Vom folosi codorul roții pololu pentru a calcula distanța parcursă de robot. Această placă de codificare în cuadratură este concepută pentru a funcționa cu motoare cu angrenaj pololu micro. Funcționează ținând doi senzori de reflectanță în infraroșu în butucul unei roți Pololu 42 × 19mm și măsurând mișcarea celor doisprezece dinți de-a lungul jantei roții.
Pentru controlul motoarelor se utilizează o placă de circuit a driverului motorului (L298N). Pinii INx sunt folosiți pentru a direcționa motoarele, iar pinii ENx sunt folosiți pentru a seta viteza motoarelor.
De asemenea, un regulator de tensiune este utilizat pentru a reduce tensiunea de la baterie până la 5V.
Pasul 1: Descrierea algoritmului
Acest instructabil încorporează peretele potrivit, urmând metoda. Aceasta se bazează pe organizarea priorității direcției, preferând cea mai dreaptă direcție posibilă. Dacă robotul nu poate detecta peretele din dreapta, acesta se rotește spre dreapta. Dacă robotul detectează peretele drept și nu există perete în față, acesta merge înainte. Dacă există un perete în dreapta robotului și în față, acesta se rotește spre stânga.
O notă importantă este că nu există perete de referință după ce robotul tocmai s-a întors spre dreapta. Prin urmare, „virarea la dreapta” se realizează în trei pași. Mergeți înainte, faceți dreapta, mergeți înainte.
În plus, robotul trebuie să-și păstreze distanța de perete atunci când se deplasează înainte. Acest lucru se poate face reglând un motor pentru a fi mai rapid sau mai lent decât celălalt. Starea finală a diagramei este prezentată în figura 10.
Un robot Maze Runner poate fi implementat foarte ușor cu un singur IC cu semnal mixt configurabil GreenPAK (CMIC). Puteți parcurge toți pașii pentru a înțelege cum a fost programat cipul GreenPAK pentru a controla robotul Maze Runner. Cu toate acestea, dacă doriți doar să creați cu ușurință Maze Runner Robot fără a înțelege toate circuitele interioare, descărcați software-ul GreenPAK pentru a vizualiza deja completat Maze Runner Robot GreenPAK Design File. Conectați computerul la setul de dezvoltare GreenPAK și apăsați programul pentru a crea un IC personalizat pentru a vă controla robotul Maze Runner. Următorul pas va discuta despre logica din fișierul de proiectare Maze Runner Robot GreenPAK pentru cei care sunt interesați să înțeleagă modul în care funcționează circuitul.
Pasul 2: Proiectare GreenPAK
Designul GreenPAK constă din două părți. Acestea sunt:
- Interpretarea / prelucrarea datelor de la senzorii de distanță
- Stări ASM și ieșiri ale motorului
Interpretarea / prelucrarea datelor de la senzorii de distanță
Este important să interpretați datele de la senzorii de distanță. Mișcările robotului sunt deliberate în funcție de ieșirile senzorilor de distanță. Deoarece senzorii de distanță sunt analogici, vom folosi ACMP-urile. Poziția robotului față de perete este determinată prin compararea tensiunilor senzorilor cu tensiunile de prag predeterminate.
Vom folosi 3 ACMP-uri;
- Pentru a detecta peretele frontal (ACMP2)
- Pentru a detecta peretele drept (ACMP0)
- Pentru a proteja distanța peretelui drept (ACMP1)
Deoarece ACMP0 și ACMP1 depind de același senzor de distanță, am folosit aceeași sursă IN + pentru ambii comparatori. Schimbarea constantă a semnalului poate fi prevenită oferind ACMP1 25mv de histerezis.
Putem determina semnalele de direcție pe baza ieșirilor ACMP. Circuitul prezentat în figura 12 prezintă diagrama de flux prezentată în figura 7.
În același mod, circuitul care indică poziția robotului față de peretele din dreapta este prezentat în figura 13.
Statele ASM și ieșirile motorului
Această aplicație utilizează mașina de stat asincronă sau ASM pentru a controla robotul. Există 8 stări în ASM și 8 ieșiri în fiecare stare. Memoria de ieșire poate fi utilizată pentru a regla aceste ieșiri. Statele sunt enumerate mai jos:
- start
- Control
- Îndepărtați-vă de peretele din dreapta
- Aproape de peretele din dreapta
- Viraj la stânga
- Mutați înainte-1
- Obligatoriu Dreapta
- Mutați înainte-2
Aceste stări determină ieșirea către șoferul motorului și direcționează robotul. Există 3 ieșiri de la GreenPAK pentru fiecare motor. Doi determină direcția motorului, iar cealaltă ieșire determină viteza motorului. Mișcarea motorului conform acestor ieșiri este prezentată în următoarele tabele:
RAM-ul de ieșire ASM este derivat din aceste tabele. Este prezentat în figura 14. În plus față de driverele de motor există încă două ieșiri. Aceste ieșiri merg la blocurile de întârziere corespunzătoare pentru a permite robotului să parcurgă o anumită distanță. Ieșirile acestor blocuri de întârziere sunt, de asemenea, conectate la intrările ASM.
PWM-urile au fost folosite pentru a regla viteza motoarelor. ASM-ul a fost folosit pentru a determina pe ce PWM va funcționa motorul. Semnalele PWMA-S și PWMB-S sunt setate pe biții de selectare mux.
Pasul 3:
În acest proiect, am creat un robot de rezolvare a labirintului. Am interpretat date de la mai mulți senzori, am controlat starea robotului cu ASM-ul GreenPAK și am condus motoarele cu un driver de motor. În general, microprocesoarele sunt utilizate în astfel de proiecte, dar un GreenPAK are câteva avantaje față de un MCU: este mai mic, mai accesibil și poate procesa ieșirea senzorului mai repede decât un MCU.
Recomandat:
Faceți un robot de dans fără imprimantă 3D și Arduino / # smartcreativity: 11 pași (cu imagini)
Faceți un robot de dans fără imprimantă 3D și Arduino / # smartcreativity: Bună ziua, prieteni, în acest tutorial vă voi arăta cum să faceți un robot de dans acasă fără imprimantă 3D și fără Arduino. Acest robot este capabil să danseze, să se echilibreze automat, să producă muzică și să meargă. Și designul robotului arată, de asemenea, atât de cool
Faceți cunoștință cu Twinky cel mai drăguț robot Arduino: 7 pași (cu imagini)
Faceți cunoștință cu Twinky, cel mai drăguț robot Arduino: Bună, în acest instructiv vă voi învăța cum mi-am făcut propriul meu „Jibo”. dar numit „Twinky”, vreau să clarific asta … ACEASTA NU ESTE O COPIE! CONSTRUIU TWINKY ȘI APOI M-AM REALIZAT CĂ Ceva ASA EXISTĂ DEJA: c Are
Consola de joc Arduino Pocket + A-Maze - Joc Maze: 6 pași (cu imagini)
Arduino Pocket Game Console + A-Maze - Maze Game: Bine ați venit la primul meu instructable! Proiectul pe care vreau să îl împărtășesc astăzi este jocul de labirint Arduino, care a devenit o consolă de buzunar la fel de capabilă ca Arduboy și consolele similare bazate pe Arduino. Poate fi intermitent cu jocurile mele (sau ale dvs.) viitoare datorită expo
Faceți un robot pentru a evita peretele: 6 pași (cu imagini)
Faceți un robot care să evite peretele !: Obiectiv: să creeze de la zero un robot care funcționează, care să poată evita pereții și obstacolele. Ați dorit vreodată să creați un robot care să poată face ceva, dar nu a avut niciodată timpul sau cunoștințele necesare pentru a face acest lucru? Nu vă temeți mai mult, acest instructiv este doar pentru dvs
Construiți un robot foarte mic: faceți cel mai mic robot cu roți din lume cu un dispozitiv de prindere .: 9 pași (cu imagini)
Construiți un robot foarte mic: faceți cel mai mic robot cu roți din lume cu un dispozitiv de prindere. Este controlat de un microcontroler Picaxe. În acest moment, cred că acesta ar putea fi cel mai mic robot cu roți din lume, cu mâner. Fără îndoială că va