Cuprins:

Masă autonomă de fotbal: 5 pași (cu imagini)
Masă autonomă de fotbal: 5 pași (cu imagini)

Video: Masă autonomă de fotbal: 5 pași (cu imagini)

Video: Masă autonomă de fotbal: 5 pași (cu imagini)
Video: PROVOCARE ACROBATICĂ IMPOSIBILĂ! EXPERTE vs. AMATOARE la Roata Misterelor || Trucuri de gimnastică 2024, Iulie
Anonim
Masă autonomă de fotbal
Masă autonomă de fotbal
Masă autonomă de fotbal
Masă autonomă de fotbal
Masă autonomă de fotbal
Masă autonomă de fotbal

Scopul principal al proiectului a fost finalizarea unui prototip de lucru pentru o masă autonomă de fotbal (AFT), unde un jucător uman se confruntă cu un adversar robot. Din perspectiva umană a jocului, masa de fotbal este foarte asemănătoare cu o masă obișnuită. Jucătorii de partea umană sunt controlați printr-o serie de patru mânere care pot fi mutate în interior și în afară și rotite pentru a deplasa jucătorii liniar pe terenul de joc și pentru a lovi mingea spre poarta adversarului. Partea autonomă constă din:> Opt servo-motoare utilizate pentru manipularea mânerelor mesei de fotbal> Un microcontroler pentru activarea servo-motoarelor și comunicarea cu computerul> O cameră web montată peste cap pentru a urmări mingea și jucătorii> Un computer pentru a procesa imaginile camerei web, implementează inteligența artificială și comunică cu microcontrolerul. Constrângerile bugetare pentru prototip au încetinit unele proiecte și și-au menținut funcționalitatea la un nivel minim. Motoarele adecvate pentru a mișca jucătorii la o viteză competitivă s-au dovedit a fi foarte scumpe, așa că a trebuit să fie utilizate servouri de nivel inferior. În timp ce această implementare specială a fost limitată de cost și timp, un raport de transmisie mai mare ar produce un robot de joc mai rapid, deși acest lucru ar costa mai mult decât prețul de bază de 500 USD (preț fără alimentare și computer).

Pasul 1: Asamblarea plăcii de control a motorului

Asamblarea plăcii de control a motorului
Asamblarea plăcii de control a motorului
Asamblarea plăcii de control a motorului
Asamblarea plăcii de control a motorului
Asamblarea plăcii de control a motorului
Asamblarea plăcii de control a motorului
Asamblarea plăcii de control a motorului
Asamblarea plăcii de control a motorului

Imaginile atașate sunt o schemă completă a circuitului, precum și o imagine a produsului final pentru placa de control a motorului. Toate aceste piese necesare pot fi achiziționate la majoritatea magazinelor online importante de electronice (inclusiv Digi-Key și Mouser. Ca o notă laterală, toate piesele utilizate aici au fost găuri trecătoare și, prin urmare, piesele pot fi asamblate pe o placă de protecție / breadboard, sau folosind designul PCB atașat. Un pachet mult mai mic ar putea fi creat prin utilizarea unui număr de piese de montare la suprafață. Când am implementat proiectarea, am împărțit comenzile motorului în 2 circuite, deși nu există niciun alt avantaj în a face acest lucru decât orice schemă specială de cablare utilizată. Placa mică albastră implementează circuitele de control PWM, care este practic doar un PIC-12F cu ceas cu un cod specializat.

Pasul 2: Asamblarea servomotorului

Asamblare servomotor
Asamblare servomotor
Asamblare servomotor
Asamblare servomotor
Asamblare servomotor
Asamblare servomotor

Sunt utilizate două tipuri diferite de servos. În primul rând, mișcarea laterală este controlată de un grup de patru servo cu cuplu ridicat: Robotis Dynamixel Tribotix AX-12. Aceste patru rulează pe o singură linie de serie și oferă funcționalități uimitoare. Cuplul ridicat permite ca aceste servo să fie orientate în așa fel încât să ofere o viteză tangențială ridicată pentru mișcarea laterală. Am reușit să găsim un set de roți dințate de 3,5 inci și piese pentru a merge cu ele de la Grainger la un cost de aproximativ 10 USD pentru fiecare. Servo-urile oferă protecție la suprasarcină cuplu, o schemă individuală de adresare a servo-ului, comunicații rapide, monitorizare internă a temperaturii, comunicații bidirecționale, etc. Deci, pentru a obține o mișcare mai rapidă pentru lovitură, se folosesc Hitec HS-81s. HS-81 sunt relativ ieftine, au o viteză unghiulară decentă și sunt ușor de interfațat (PWM standard). Cu toate acestea, HS-81 se rotește cu 90 de grade (deși este posibil - și nu este recomandat - să încercați să le modificați la 180 de grade). În plus, acestea au roți dințate interne din nailon care se dezbracă ușor dacă încercați să modificați servo. Ar merita banii pentru a găsi un servo rotativ de 180 de grade care să aibă acest tip de viteză unghiulară. Întregul sistem este legat împreună cu bucăți de placă de fibră de densitate medie (MDF) și placă de fibră de înaltă densitate (HDF). Aceasta a fost aleasă pentru costul redus (~ 5 USD pentru o foaie de 6'x4 '), ușurința de tăiere și capacitatea de interfață cu practic orice suprafață. O soluție mai permanentă ar fi prelucrarea parantezelor din aluminiu pentru a ține totul împreună. Șuruburile care țin servomotoarele PWM în poziție sunt șuruburi standard ale mașinii (# 10s) cu piulițe hexagonale care le țin de cealaltă parte. Șuruburile metrice de 1 mm, de aproximativ 3/4 în lungime, țin AX-12 în MDF care conectează cele două servouri împreună. O șină cu sertar cu acțiune dublă menține întregul ansamblu în jos și în linie cu șina.

Pasul 3: Software

Software
Software

Ultimul pas este instalarea tuturor software-urilor utilizate pe aparat. Acesta constă din câteva bucăți individuale de cod:> Codul rulează pe computerul de procesare a imaginii> Codul rulează pe microcontrolerul PIC-18F> Codul rulează pe fiecare dintre microcontrolerele PIC-12F Există două condiții prealabile pentru instalare pe procesarea imaginii PC. Prelucrarea imaginilor se face prin Java Media Framework (JMF), care este disponibil prin Sun aici. Disponibil și prin Sun, API-ul Java Communications este utilizat pentru a comunica cu placa de control a motorului, prin portul serial al computerului. Frumusețea utilizării Java este că * ar trebui * să ruleze pe orice sistem de operare, deși am folosit Ubuntu, o distribuție Linux. Contrar părerii populare, viteza de procesare în Java nu este prea rea, mai ales în looping-ul de bază (pe care analiza viziunii îl folosește destul de mult). După cum se vede în captura de ecran, atât mingea cât și jucătorii adversari sunt urmăriți la fiecare actualizare a cadrului. În plus, conturul tabelului este localizat vizual, motiv pentru care a fost folosită bandă albastră pentru pictori pentru a crea un contur vizual. Obiectivele sunt înregistrate atunci când computerul nu poate localiza mingea timp de 10 cadre consecutive, indicând de obicei că mingea a căzut în poartă, de pe suprafața de joc. Când se întâmplă acest lucru, software-ul inițiază un octet de sunet, fie pentru a se înveseli, fie pentru a huidui adversarul, în funcție de direcția obiectivului. Un sistem mai bun, deși nu am avut timp să-l implementăm, ar fi să folosim un simplu emițător infraroșu / pereche de senzori pentru a detecta mingea care cade în poartă. Toate software-urile utilizate în acest proiect sunt disponibile într-un singur fișier zip, Aici. Pentru a compila codul Java, utilizați comanda javac. Codul PIC-18F și PIC-12F este distribuit cu software-ul MPLAB al Microchip.

Pasul 4: Montare cameră web

Webcam Mount
Webcam Mount

A fost utilizată o cameră web Philips SPC-900NC, deși nu este recomandată. Specificațiile pentru această cameră au fost falsificate fie de personalul de inginerie, fie de cel de vânzări de la Philips. În schimb, orice cameră web ieftină ar face, atâta timp cât este acceptată de sistemul de operare. Pentru mai multe informații despre utilizarea camerelor web sub linux, consultați această pagină. Am măsurat distanța necesară distanței focale a camerei web pentru a se potrivi întreaga masă de fotbal în cadru. Pentru acest model de cameră, acel număr s-a dovedit a fi puțin peste 5 picioare. Am folosit rafturi de rafturi disponibile de la orice magazin hardware important pentru a construi un suport pentru cameră. Rafturile de rafturi se extind în sus din fiecare dintre cele patru colțuri ale mesei și sunt încrucișate de consolele din aluminiu unghiular. Este foarte important ca camera să fie centrată și să nu aibă rotație unghiulară, deoarece software-ul presupune că axele x și y sunt aliniate la masă.

Pasul 5: Concluzie

Toate fișierele legate de proiect pot fi descărcate de pe acest site. O copie de rezervă a majorității conținutului site-ului poate fi găsită aici, la gazda mea personală. Aceasta include raportul final, care conține o analiză de marketing, precum și lucrurile pe care le-am schimba, obiectivele noastre inițiale și o listă cu specificațiile care au fost de fapt atinse. Proiectul NU este menit să fie cel mai competitiv jucător din lume. Este un instrument bun pentru a arăta mai mulți pași utilizați în proiectarea unei astfel de fiare, precum și un prototip decent al acestui tip de robot construit la un cost incredibil de mic. Există și alți astfel de roboți în lume și, cu siguranță, mulți dintre ei ar „bate” acest robot. Acest proiect a fost proiectat de un grup de patru ingineri electrici / calculatori la Georgia Tech ca proiect de design senior. Niciun inginer mecanic nu a primit niciun ajutor și nu a fost folosită nicio finanțare terță parte. A fost un proces de învățare excelent pentru noi toți și o utilizare decentă a timpului cursului de design senior. Aș dori să mulțumesc> Dr. James Hamblen, consilierul nostru de secțiune, pentru ajutorul său continuu în strategiile tehnice> Dr. Jennifer Michaels, profesorul principal, pentru că nu ne-a descurajat să încercăm un proiect mai ambițios> James Steinberg și Edgar Jones, administratorii superiori ai laboratorului de proiectare, pentru ajutor constant la comandarea pieselor, depanarea și găsirea „lucrurilor interesante” de aruncat în proiect la un cost redus și funcționalitate ridicată> Și, desigur, ceilalți trei membri ai echipei mele, dintre care, nimic din toate acestea nu ar fi fost posibil: Michael Aeberhard, Evan Tarr și Nardis Walker.

Recomandat: