Cuprins:
- Pasul 1: baza robotului
- Pasul 2: Partea de sus a bazei
- Pasul 3: Senzori cu infraroșu și ultrasunete
- Pasul 4: Cabluri
- Pasul 5: Pasul final în construirea robotului: decorare
- Pasul 6: Pseudocod pentru program
- Pasul 7: Program
- Pasul 8: Blocați programul
- Pasul 9: CONSTRUIȚI un MUZE
Video: Robotul LEGO conduce printr-un labirint: 9 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
Acesta este un robot simplu, autonom conceput pentru a conduce printr-un labirint până la o ieșire. Este construit folosind LEGO Mindstorms EV3. Software-ul EV3 rulează pe un computer și generează un program, care este apoi descărcat pe un microcontroler numit EV3 Brick. Metoda de programare este bazată pe pictograme și la nivel înalt. Este foarte ușor și versatil.
PĂRȚI
- Set LEGO Mindstorms EV3
- Senzor cu ultrasunete LEGO Mindstorms EV3. Nu este inclus în setul EV3.
- Carton ondulat pentru labirint. Două cutii de carton ar trebui să fie suficiente.
- O mică bucată de carton subțire pentru a ajuta la stabilizarea unor colțuri și pereți.
- Adeziv și bandă pentru a conecta bucăți de carton împreună.
- Un plic roșu de felicitări pentru a identifica ieșirea labirintului.
INSTRUMENTE
- Cuțit utilitar pentru tăierea cartonului.
- Rigla din oțel pentru a ajuta procesul de tăiere.
METODA DE REZOLVARE A MUZELOR
Există mai multe metode de navigare într-un labirint. Dacă sunteți interesat să le studiați, acestea sunt descrise foarte bine în următorul articol Wikipedia:
Am ales regula adeptului peretelui din stânga. Ideea este că robotul va păstra un perete pe partea stângă luând următoarele decizii pe măsură ce trece prin labirint:
- Dacă este posibil să virați la stânga, faceți acest lucru.
- În caz contrar, mergeți drept, dacă este posibil.
- Dacă nu poate merge la stânga sau la dreapta, virează la dreapta, dacă este posibil.
- Dacă niciuna dintre cele de mai sus nu este posibilă, aceasta trebuie să fie o fundătură. Întoarceți-vă.
O precauție este că metoda ar putea eșua dacă labirintul are o buclă în el. În funcție de amplasarea buclei, robotul ar putea continua să circule în jurul și în jurul buclei. O posibilă soluție pentru această problemă ar fi ca robotul să treacă la regula dreaptă a adeptului de perete dacă își dă seama că merge într-o buclă. Nu am inclus acest rafinament în proiectul meu.
PAȘI PENTRU CONSTRUCȚIA ROBOTULUI
Deși LEGO Mindstorms EV3 este foarte versatil, nu permite mai mult de unul din fiecare tip de senzor conectat la o cărămidă. Două sau mai multe cărămizi ar putea fi în lanț, dar nu am vrut să cumpăr o altă cărămidă, așa că am folosit următorii senzori (în loc de trei senzori cu ultrasunete): senzor cu infraroșu, senzor de culoare și senzor cu ultrasunete. Acest lucru a funcționat bine. Perechile de fotografii de mai jos arată cum să construiți robotul. Prima fotografie a fiecărei perechi prezintă părțile necesare, iar a doua fotografie prezintă aceleași părți conectate între ele.
Pasul 1: baza robotului
Primul pas este de a construi baza robotului, folosind piesele prezentate. Baza robotului este afișată cu susul în jos. Partea mică în formă de L din spatele robotului este un suport pentru spate. Alunecă pe măsură ce robotul se mișcă. Acest lucru funcționează bine. Kitul EV3 nu are o piesă de tip bilă.
Pasul 2: Partea de sus a bazei
Următorii 3 pași sunt pentru partea superioară a bazei robotului, senzorul de culoare și cablurile, care sunt toate cabluri de 10 inch (26 cm)
Pasul 3: Senzori cu infraroșu și ultrasunete
În continuare, sunt senzorul cu infraroșu (în partea stângă a robotului) și senzorul cu ultrasunete (în dreapta). De asemenea, cei 4 pini pentru atașarea cărămizii deasupra.
Senzorii cu infraroșu și ultrasunete sunt localizați vertical în loc de orizontală normală. Aceasta oferă o mai bună identificare a colțurilor sau capetelor pereților.
Pasul 4: Cabluri
Atașați Brick și conectați cablurile după cum urmează:
- Port B: motor mare stâng.
- Portul C: motor mare dreapta.
- Portul 2: senzor cu ultrasunete.
- Portul 3: senzor de culoare.
- Portul 4: senzor infraroșu.
Pasul 5: Pasul final în construirea robotului: decorare
Aripile și aripioarele sunt doar pentru decorare.
Pasul 6: Pseudocod pentru program
- Așteptați 3 secunde și spuneți „Du-te”.
- Porniți robotul în mișcare înainte.
- Dacă este posibil să virați la stânga (adică, dacă senzorul infraroșu nu simte un obiect în apropiere), spuneți „Stânga” și mergeți la stânga.
- Mergeți înainte aproximativ 15 cm pentru a evita o virare falsă la stânga. Motivul este că, după ce robotul s-a rotit, senzorul ar vedea spațiul lung din care tocmai venise și robotul ar crede că ar trebui să vireze la stânga, ceea ce nu este ceea ce trebuie făcut. Reveniți la pasul 2.
- Dacă nu este posibil să faceți stânga, verificați ce vede senzorul de culoare în fața robotului.
- Dacă nu există culoare (adică niciun obiect), reveniți la pasul 2.
- Dacă culoarea este Roșu, aceasta este ieșirea. Opriți robotul, jucați o fanfară și opriți programul.
-
Dacă culoarea este maro (adică cartonul maro în față), opriți robotul.
- Dacă este posibil să virați la dreapta (adică, dacă senzorul cu ultrasunete nu simte un obiect în apropiere), spuneți „dreapta” și mergeți la dreapta. Reveniți la pasul 2.
- Dacă nu este posibil să virați la dreapta, spuneți „Uh-oh”, faceți o copie de rezervă de aproximativ 5 inci (12,5 cm) și întoarceți-vă. Reveniți la pasul 2.
Pasul 7: Program
LEGO Mindstorms EV3 are o metodă de programare foarte convenabilă bazată pe pictograme. Blocurile sunt afișate în partea de jos a ecranului de pe computer și pot fi glisate și plasate în fereastra de programare pentru a construi un program. Captura de ecran arată programul pentru acest proiect. Blocurile sunt descrise în pasul următor.
Nu mi-am putut da seama cum să configurez descărcarea programului pentru voi, așa că Blocurile sunt descrise în pasul următor. Fiecare bloc are opțiuni și parametri. Este foarte ușor și versatil. Nu ar trebui să dureze mult timp pentru a dezvolta programul și / sau a-l schimba pentru a se potrivi nevoilor dumneavoastră. Ca întotdeauna, este o idee bună să salvați periodic programul atunci când îl dezvoltați.
Caramida EV3 poate fi conectată la computer fie printr-un cablu USB, Wi-Fi sau Bluetooth. Când este conectat și pornit, acest lucru este indicat într-o mică fereastră din colțul din dreapta jos al ferestrei EV3 de pe computer. „EV3” din partea dreaptă devine roșie. Când acest afișaj este setat la Port View, acesta afișează în timp real, ceea ce detectează fiecare senzor. Acest lucru este util pentru experimentare.
Când construiți acest program, aș sugera să lucrați de la stânga la dreapta și de sus în jos și să măriți buclele și comutați blocurile înainte de a trage alte blocuri în interior. Am întâmpinat probleme dezordonate încercând să introduc blocuri suplimentare înăuntru înainte de mărire.
Pasul 8: Blocați programul
- Începând din partea stângă a programului, Start Block este prezent automat atunci când se dezvoltă un program.
- Urmează un bloc de așteptare, care ne oferă 3 secunde pentru a plasa robotul la intrarea în labirint, după inițierea programului.
- Un bloc sonor îl face pe robot să spună „Du-te”.
- Un bloc de bucle conține majoritatea programului. Afișajul ar trebui să fie micșorat de 4 sau 5 ori și acest bloc de buclă ar trebui mărit aproape la marginea dreaptă a pânzei de programare înainte de a începe să introduceți blocuri. Se poate micșora după aceea.
- Primul bloc din buclă este un bloc de direcție Mutare cu direcția setată la zero și puterea setată la 20. Aceasta pornește motoarele care rulează drept înainte la viteză mică. O viteză mai mare ar face robotul să se deplaseze prea departe atunci când continuă înainte în timp ce vorbește în pașii următori.
- Un bloc de comutare în modul de proximitate al senzorului cu infraroșu verifică dacă există vreun obiect mai îndepărtat decât valoarea 30. Aceasta este echivalentă cu aproximativ 9 inci (23 cm) pentru cartonul maro. Dacă valoarea este mai mare de 30, atunci sunt executate blocurile 7, 8 și 9, altfel programul merge la blocul 10 de mai jos.
- Un bloc sonor îl face pe robot să spună „Stânga”.
- Un bloc de direcție Mutare cu direcția setată la -45, puterea setată la 20, rotațiile setate la 1,26 și frâna la capăt setată la adevărat. Acest lucru face ca robotul să vireze la stânga.
- Un bloc de direcție Mutare cu direcția setată la zero, puterea setată la 20, rotațiile setate la 1,2 și frâna la capăt setată la adevărat. Acest lucru face ca robotul să avanseze aproximativ 15 cm (6 inci) pentru a evita o virare falsă la stânga.
- Un bloc de comutare în modul de măsurare a senzorului de culoare verifică ce culoare este înaintea robotului. Dacă nu există culoare (adică niciun obiect), atunci programul merge la sfârșitul buclei. Dacă culoarea este roșie, atunci sunt executate blocurile 11, 12 și 13. Dacă culoarea este maro, programul merge la blocul 14 de mai jos.
- Un bloc de direcție în modul Off pentru oprirea motoarelor.
- Un bloc sonor joacă o fanfară.
- Un bloc de întrerupere a buclei iese din buclă.
- Un bloc de direcție în modul Off pentru oprirea motoarelor.
- Un bloc de comutare în modul de comparare a senzorului cu ultrasunete verifică dacă există un obiect mai îndepărtat de 8 cm (20 cm). Dacă are mai mult de 8 inci, atunci Blocks16 și 17 sunt executate, altfel programul merge la Block 18 de mai jos.
- Un blocaj de sunet îl face pe robot să spună „Corect”.
- Un bloc de direcție Mutare cu direcția setată la -55, puterea setată la -20, rotațiile setate la 1.1 și frâna la capăt setată la adevărat. Acest lucru face ca robotul să vireze la dreapta.
- Un blocaj de sunet îl face pe robot să spună „Uh-oh”.
- Un bloc de rezervor Move cu Power Left setat la -20, Power Right setat la -20, Rotations setat la 1 și Brake at End setat la True. Acest lucru face ca robotul să facă o copie de rezervă de aproximativ 5 inci (12,5 cm) pentru a face spațiu pentru a se întoarce.
- Un bloc de rezervor Move cu Power Left setat la -20, Power Right setat la 20, Rotations setat la 1,14 și Brake at End setat la True. Acest lucru face ca robotul să se întoarcă.
- La ieșirea din buclă este un bloc program de oprire.
Pasul 9: CONSTRUIȚI un MUZE
Două cutii de carton ondulat ar trebui să fie suficiente pentru labirint. Am realizat pereții labirintului cu o înălțime de 12 cm (5 inci), dar 10 cm ar trebui să funcționeze la fel de bine dacă nu aveți carton ondulat.
În primul rând, am tăiat în jurul pereților cutiilor, la 25 cm de jos. Apoi am tăiat în jurul pereților la 5 centimetri de jos. Aceasta oferă mai mulți pereți de 5 inci. De asemenea, am tăiat în jurul fundului cutiilor, lăsând aproximativ 1 inch (2,5 cm) atașat la pereți pentru stabilitate.
Diversele bucăți pot fi tăiate și lipite sau lipite ori de câte ori este nevoie pentru a forma labirintul. Ar trebui să existe un spațiu de 12 inch (30 cm) între pereți în orice cale cu fundătură. Această distanță este necesară pentru ca robotul să se întoarcă.
Este posibil ca unele colțuri ale labirintului să fie întărite. De asemenea, unii pereți drepți trebuie să fie împiedicați să se îndoaie dacă includ un colț de carton îndreptat. Bucățile mici de carton subțire ar trebui lipite pe partea inferioară în acele locuri, așa cum se arată.
Ieșirea are o barieră roșie formată dintr-o jumătate de plic roșu de felicitare și o bază realizată din 2 bucăți de carton subțire, așa cum se arată.
O precauție este că labirintul nu trebuie să fie mare. Dacă virajele robotului sunt la un unghi ușor față de cel corect, discrepanțele se adună după câteva viraje. De exemplu, dacă o virare la stânga este oprită cu 3 grade, atunci după 5 viraje la stânga robotul se oprește cu 15 grade. Un labirint mare ar avea mai multe viraje și o cale mai lungă decât una mică, iar robotul ar putea alerga în pereți. A trebuit să mă lăut de mai multe ori cu setările de rotații ale turei pentru a obține o unitate de succes chiar și prin micul labirint pe care l-am făcut.
ÎMBUNĂTĂȚIRI VIITOARE
Un proiect evident de urmărire este de a face robotul capabil să determine o cale directă prin labirint în timp ce îl navigați, și apoi să conduceți această cale directă (evitând fundăturile) imediat după aceea.
Acest lucru este mult mai complicat decât proiectul actual. Robotul trebuie să-și amintească calea pe care a parcurs-o, să elimine fundăturile, să stocheze noua cale și apoi să urmeze calea nouă. Am de gând să lucrez la acest proiect în viitorul apropiat. Mă aștept că este posibil să se realizeze cu LEGO Mindstorms EV3 folosind blocuri de operații Array și câteva blocuri legate de matematică.
OBSERVAȚIE CONCLUZIVĂ
Acesta a fost un proiect distractiv. Sper că vi se pare și interesant.
Recomandat:
Boe Bot navighează printr-un labirint: 4 pași
Boe Bot navighează printr-un labirint: acest instructable vă va ajuta să creați bare de protecție pentru boe bot și vă va furniza codul care va naviga prin boe bot prin labirint
Barcă RC din lemn pe care o puteți controla manual sau printr-un site web: 9 pași
Barcă RC din lemn pe care o puteți controla manual sau printr-un site web: Bună, sunt student la Howest și am construit o barcă RC din lemn pe care o puteți controla printr-un controler sau printr-un site web. M-am săturat de ruperea vehiculelor RC atât de repede și am vrut ceva cu care să mă distrez când trăiam la mare
Treceți printr-o listă legată folosind recursivitate - Java: 12 pași
Treceți printr-o listă legată folosind Recursivitate - Java: Bine ați venit și vă mulțumesc pentru alegerea acestui set de instrucțiuni, care vă va arăta cum să creați o funcție recursivă. Cunoștințele de bază Java sunt necesare pentru a înțelege pașii care vor fi parcurși. Per total, acest proces în 12 etape nu ar trebui să mai dureze
Robotul cu unt: robotul Arduino cu criză existențială: 6 pași (cu imagini)
Robotul cu unt: robotul Arduino cu criză existențială: Acest proiect se bazează pe seria animată „Rick și Morty”. Într-unul dintre episoade, Rick face un robot al cărui singur scop este să aducă unt. În calitate de studenți de la Bruface (Facultatea de Inginerie din Bruxelles) avem o sarcină pentru meca
Controlul mașinii RC printr-o interfață web: 6 pași (cu imagini)
Controlul mașinii RC printr-o interfață web: prieteni Hii, în acest instructiv vă voi învăța să creați o mașină RC printr-o interfață web. Îl vom controla fără fir printr-un server propriu. Folosind metoda pe care ți-o voi arăta, nu va trebui să folosim un receptor RC. Pentru a găzdui web