Cuprins:
- Pasul 1: Declarație de problemă
- Pasul 2: Detalii de implementare
- Pasul 3: Explicație
- Pasul 4: Descrierea algoritmului
- Pasul 5: senzor cu ultrasunete HC-SR04
- Pasul 6: Modulul senzorului de detectare a obstacolelor în infraroșu
- Pasul 7: Circuitul driverului motorului L298N
- Pasul 8: Proiectare GreenPAK
- Pasul 9: imagini hardware
Video: Robot DIY de urmărire a peretelui: 9 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
În acest Instructable, vom explica cum să proiectăm un sistem de detectare și evitare a obstacolelor utilizând un GreenPAK ™ împreună cu câțiva senzori externi cu ultrasunete și infraroșu (IR). Acest design va introduce câteva subiecte care sunt necesare pentru sistemele robotizate autonome și inteligente artificial.
Mai jos am descris pașii necesari pentru a înțelege modul în care soluția a fost programată pentru a crea un perete urmărind robotul. Cu toate acestea, dacă doriți doar să obțineți rezultatul programării, descărcați software-ul GreenPAK pentru a vizualiza fișierul de proiectare GreenPAK deja finalizat. Conectați kitul de dezvoltare GreenPAK la computer și apăsați programul pentru a crea robotul următor de perete.
Pasul 1: Declarație de problemă
Recent a existat un interes reînnoit pentru inteligența artificială și o mare parte din acest interes este îndreptat către mașini complet autonome și inteligente. Astfel de roboți pot reduce la minimum răspunderea umană și pot extinde automatizarea la domenii precum serviciile civile și apărarea. Cercetătorii AI încearcă să automatizeze servicii precum stingerea incendiilor, îngrijirea medicală, gestionarea dezastrelor și sarcinile de salvare a vieții prin vehicule robotizate autonome. O provocare pe care trebuie să o depășească aceste vehicule este cum să detectăm și să evităm cu succes obstacole precum dărâmături, incendii, capcane etc.
Pasul 2: Detalii de implementare
În acest instructabil, vom folosi un senzor cu ultrasunete, o pereche de senzori IR de detectare a obstacolelor, un circuit de conducere a motorului (L298N), patru motoare de curent continuu, roți, un schelet de mașină cu tracțiune integrală și un cip GreenPAK SLG46620V.
Un pin digital de ieșire al controlerului GreenPAK este utilizat pentru a declanșa senzorul cu ultrasunete (aka sonar) și un pin digital de intrare este utilizat pentru a colecta ecoul rezultat din obstacolele din față pentru analiză. Se observă și ieșirea senzorului de detectare a obstacolelor IR. După aplicarea unui set de condiții, dacă un obstacol este prea aproape, motoarele (conectate la fiecare dintre cele 4 roți) sunt reglate pentru a evita coliziunea.
Pasul 3: Explicație
Robotul autonom de evitare a obstacolelor trebuie să fie capabil atât să detecteze obstacolele, cât și să evite coliziunile. Proiectarea unui astfel de robot necesită integrarea diferiților senzori, cum ar fi senzori de lovire, senzori cu infraroșu, senzori cu ultrasunete etc. Prin montarea acestor senzori pe robot, poate obține informații despre zona înconjurătoare. Un senzor cu ultrasunete este potrivit pentru detectarea obstacolelor pentru un robot autonom cu mișcare lentă, deoarece are un cost redus și o gamă relativ mare.
Un senzor cu ultrasunete detectează obiecte emițând o scurtă explozie cu ultrasunete și apoi ascultând ecoul. Sub controlul unui microcontroler gazdă, senzorul emite un impuls scurt de 40 kHz. Acest puls se deplasează prin aer până când lovește un obiect și apoi este reflectat înapoi la senzor. Senzorul furnizează gazdei un semnal de ieșire care se termină atunci când este detectat ecoul. În acest fel, lățimea impulsului returnat este utilizată pentru a calcula distanța până la obiect.
Acest vehicul robot de evitare a obstacolelor folosește un senzor cu ultrasunete pentru a detecta obiecte aflate în calea sa. Motoarele sunt conectate printr-un driver IC la GreenPAK. Senzorul cu ultrasunete este atașat la partea din față a robotului, iar cei doi senzori IR de detectare a obstacolelor sunt atașați pe laturile stânga și dreapta ale robotului pentru a detecta obstacolele laterale.
Pe măsură ce robotul se deplasează pe calea dorită, senzorul cu ultrasunete transmite continuu unde ultrasonice. Ori de câte ori un obstacol se află în fața robotului, undele ultrasonice sunt reflectate înapoi de obstacol și acele informații sunt transmise către GreenPAK. Simultan, senzorii IR emit și primesc unde IR. După interpretarea intrărilor de la senzorii cu ultrasunete și IR, GreenPAK controlează motoarele pentru fiecare dintre cele patru roți.
Pasul 4: Descrierea algoritmului
La pornire, cele patru motoare sunt pornite simultan, determinând robotul să avanseze. Apoi, senzorul cu ultrasunete trimite impulsuri din partea frontală a robotului la intervale regulate. Dacă există un obstacol, impulsurile sonore sunt reflectate și sunt detectate de senzor. Reflecția impulsurilor depinde de starea fizică a obstacolului: dacă are o formă neregulată, atunci impulsurile reflectate vor fi mai puține; dacă este uniformă, atunci majoritatea impulsurilor transmise vor fi reflectate. Reflecția depinde și de direcția obstacolului. Dacă este ușor înclinat sau plasat în paralel cu senzorul, atunci majoritatea undelor sonore vor trece nereflectate.
Când este detectat un obstacol în fața robotului, atunci sunt observate ieșirile laterale de la senzorii IR. Dacă se detectează un obstacol pe partea dreaptă, anvelopele din stânga ale robotului sunt dezactivate, determinând rotirea acestuia spre stânga și invers. Dacă un obstacol nu este detectat, atunci algoritmul se repetă. Diagrama de flux este prezentată în Figura 2.
Pasul 5: senzor cu ultrasunete HC-SR04
Un senzor cu ultrasunete este un dispozitiv care poate măsura distanța față de un obiect folosind unde sonore. Măsoară distanța trimițând o undă sonoră la o anumită frecvență și ascultând ca acea undă sonoră să revină. Prin înregistrarea timpului scurs între unda sonoră generată și unda sonoră care revine înapoi, este posibil să se calculeze distanța dintre senzorul sonar și obiect. Sunetul se deplasează prin aer la aproximativ 344 m / s (1129 ft / s), astfel încât să puteți calcula distanța până la obiect folosind Formula 1.
Senzorul cu ultrasunete HC-SR04 este format din patru pini: Vdd, GND, Trigger și Echo. Ori de câte ori un impuls de la controler este aplicat pinului Trigger, senzorul emite o undă cu ultrasunete de la un „difuzor”. Undele reflectate sunt detectate de „receptor” și sunt transmise înapoi către controler prin intermediul pinului Echo. Cu cât distanța dintre senzor și un obstacol este mai mare, cu atât pulsul la pinul Echo va fi mai mare. Pulsul rămâne activ pentru timpul necesar impulsului sonar pentru a se deplasa de la senzor și a reveni înapoi, împărțit la doi. Când sonarul este declanșat, un temporizator intern pornește și continuă până când este detectată unda reflectată. Acest timp este apoi împărțit la două, deoarece timpul efectiv pe care a durat-o unda sonoră pentru a ajunge la obstacol a fost jumătate din timpul în care a fost pornit cronometrul.
Funcționarea senzorului cu ultrasunete este ilustrată în Figura 4.
Pentru a genera impulsul cu ultrasunete, trebuie să setați Triggerul la o stare HIGH pentru 10μs. Aceasta va trimite o explozie sonică de 8 cicluri, care va reflecta orice obstacol din fața dispozitivului și va fi recepționată de senzor. Pinul Echo va emite timpul (în microsecunde) parcurs de unda sonoră.
Pasul 6: Modulul senzorului de detectare a obstacolelor în infraroșu
La fel ca senzorul cu ultrasunete, conceptul de bază al detectării obstacolelor în infraroșu (IR) este de a transmite un semnal IR (sub formă de radiație) și de a observa reflexia acestuia. Modulul senzorului IR este prezentat în Figura 6.
Caracteristici
- Există o lampă indicatoare de obstacole pe placa de circuit
- Semnal digital de ieșire
- Distanta de detectie: 2 ~ 30 cm
- Unghi de detectare: 35 °
- Cip comparator: LM393
- Distanța de detecție reglabilă prin potențiometru:
○ În sensul acelor de ceasornic: măriți distanța de detectare
○ În sens invers acelor de ceasornic: reduceți distanța de detectare
Specificații
- Tensiune de lucru: 3 - 5 V c.c.
- Tipul de ieșire: ieșire digitală de comutare (0 și 1)
- Găuri de șurub de 3 mm pentru montare ușoară
- Dimensiunea plăcii: 3,2 x 1,4 cm
Descrierea indicatorului de control descris în tabelul 1.
Pasul 7: Circuitul driverului motorului L298N
Circuitul driverului de motor, sau H-Bridge, este utilizat pentru a controla viteza și direcția motoarelor de curent continuu. Are două intrări care trebuie conectate la o sursă de alimentare CC separată (motoarele consumă curent greu și nu pot fi furnizate direct de la controler), două seturi de ieșiri pentru fiecare motor (pozitiv și negativ), doi pini de activare pentru fiecare set de ieșiri și două seturi de pini pentru controlul direcției fiecărei ieșiri a motorului (doi pini pentru fiecare motor). Dacă cei doi pini din stânga au niveluri logice HIGH pentru un pin și LOW pentru celălalt, motorul conectat la ieșirea din stânga se va roti într-o direcție și, dacă secvența logică este inversată (LOW și HIGH), motoarele se vor roti în direcția opusă. Același lucru se aplică pinilor din dreapta și motorului de ieșire din dreapta. Dacă ambilor pini din pereche li se oferă niveluri logice HIGH sau LOW, motoarele se vor opri.
Acest driver de motor dual bidirecțional se bazează pe foarte popularul IC driver de motor dual H-Bridge L298. Acest modul vă permite să controlați ușor și independent două motoare în ambele direcții. Folosește semnalele logice standard pentru control și poate conduce motoare pas cu pas cu două faze, motoare pas cu pas cu patru faze și motoare DC cu două faze. Are un condensator de filtru și o diodă de rotire liberă care protejează dispozitivele din circuit de deteriorarea cauzată de curentul invers al unei sarcini inductive, sporind fiabilitatea. L298 are o tensiune a driverului de 5-35 V și un nivel logic de 5 V.
Funcția șoferului motorului este descrisă în Tabelul 2.
Diagrama bloc care prezintă conexiunile dintre senzorul cu ultrasunete, driverul motorului și cipul GPAK este prezentată în Figura 8.
Pasul 8: Proiectare GreenPAK
În Matrix 0, intrarea de declanșare pentru senzor a fost generată folosind CNT0 / DLY0, CNT5 / DLY5, INV0 și oscilatorul. Intrarea de la pinul Echo al senzorului ultrasonic este citită folosind Pin3. Trei intrări sunt aplicate la 3-bit LUT0: una de la Echo, alta de la Trigger și o a treia este intrarea Trigger întârziată cu 30 de noi. Ieșirea din acest tabel de căutare este utilizată în Matrix 1. Ieșirea din senzorii IR este, de asemenea, luată în Matrix 0.
În Matrix 1, porturile P1 și P6 sunt OR’d împreună și conectate la Pin17, care este atașat la Pin1 al driverului motorului. Pin18 este întotdeauna la o logică LOW și este conectat la Pin2 al driverului motorului. La fel, porturile P2 și P7 sunt OR'd împreună și conectate la Pin-ul GreenPAK, care este atașat la P3 al circuitului driverului motorului. Pin19 este conectat la Pin4 al driverului motorului și este întotdeauna la logică LOW.
Când pinul Echo este HIGH, înseamnă că un obiect se află în fața robotului. Robotul verifică apoi obstacolele stânga și dreapta de la senzorii IR. Dacă un obstacol este prezent și pe partea dreaptă a robotului, atunci acesta se întoarce la stânga, iar dacă un obstacol este prezent pe partea stângă, atunci se întoarce la dreapta. În acest fel, robotul evită obstacolele și se mișcă fără coliziune.
Concluzie
În acest Instructable, am creat un vehicul simplu de detectare și evitare a obstacolelor, folosind GreenPAK SLG46620V ca element principal de control. Cu unele circuite suplimentare, acest design ar putea fi îmbunătățit pentru a efectua alte sarcini, cum ar fi găsirea unei căi către un anumit punct, un algoritm de rezolvare a labirintului, un algoritm de urmărire a unei linii etc.
Pasul 9: imagini hardware
Recomandat:
Cum să construiești PHIL - un robot de urmărire ușoară: 6 pași (cu imagini)
Cum să construiți PHIL - un robot de urmărire ușoară: În acest instructable vă voi arăta cum am realizat acest robot de urmărire a luminii cu două axe folosind un Arduino Uno. Toate CAD-urile și codul vor fi incluse, astfel încât să le puteți construi singur fără a avea nevoie de abilități de programare sau proiectare. Tot ce vei avea nevoie
Robot avansat de urmărire a liniei: 22 de pași (cu imagini)
Robot avansat de urmărire a liniei: Acesta este un robot avansat de urmărire a liniei bazat pe senzorul de linie Teensy 3.6 și QTRX pe care l-am construit și la care lucrez de ceva timp. Există câteva îmbunătățiri majore în design și performanță de la robotul meu de linie anterioară. T
ATtiny85 Urmărire și programare urmărire activități vibrante purtabile ATtiny85 cu Arduino Uno: 4 pași (cu imagini)
ATtiny85 Ceas și programare de urmărire a activității vibrante purtabile ATtiny85 Cu Arduino Uno: Cum să faci ceasul de urmărire a activității purtabil? Acesta este un gadget portabil conceput pentru a vibra atunci când detectează stagnarea. Îți petreci cea mai mare parte a timpului pe computer ca mine? Stai ore în șir fără să-ți dai seama? Atunci acest dispozitiv este f
Urmărire și urmărire pentru magazine mici: 9 pași (cu imagini)
Urmărire și urmărire pentru magazine mici: Acesta este un sistem creat pentru magazinele mici care se presupune că se montează pe biciclete electrice sau scutere electronice pentru livrări la distanță scurtă, de exemplu o brutărie care dorește să livreze produse de patiserie. Ce înseamnă urmărirea și urmărirea? Urmărirea și urmărirea este un sistem utilizat de ca
Robot cu ultrasunete pentru evitarea peretelui: 11 pași
Robot cu ultrasunete pentru evitarea peretelui: Acesta este un tutorial despre cum să realizați un robot de bază pentru evitarea peretelui. Acest proiect va necesita câteva componente și un pic de dedicare și timp. Ar fi util dacă aveți o cantitate mică de cunoștințe despre electronică, dar dacă sunteți un începător complet, acum