Cuprins:
- Pasul 1: Lucruri de care vei avea nevoie
- Pasul 2: Corpul robotului
- Pasul 3: Capul și fața robotului
- Pasul 4: PCB-uri personalizate
- Pasul 5: Alimentare
- Pasul 6: Adunarea finală
- Pasul 7: Software
- Pasul 8: Coduri
- Pasul 9: Demo
Video: Tinku: un robot personal: 9 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
De sw4p Urmăriți mai multe de la autor:
Salutare, Tinku nu este doar un robot; este un robot personal. Este un pachet all in one. Poate vedea (viziune computerizată), asculta (procesarea vorbirii), vorbi și reacționa la situație. Poate exprima emoții și lista lucrurilor pe care le poate face continuă. I-am dat un nume; Îi spun Tinku.
O scurtă prezentare a ceea ce poate face este
-
Viziunea computerizată
- Detectare facială
- Urmărirea feței
- Faceți fotografii și înregistrați videoclipuri
- Recunoașteți markerii ArUco
-
Prelucrarea vorbirii
- Procesare vorbire offline (detectare cuvinte fierbinți)
- Poate înțelege ceea ce spui detectând Hotwords.
-
Exprimați emoții
- Își mișcă capul pentru comunicări non-verbale și pentru a exprima sentimente.
- Afișează imagini și gif-uri pe ecran pentru a susține sentimentul actual.
-
A se misca prin imprejur
Poate rula prin rotile sale și poate identifica locurile folosind markere ArUco
-
Evitarea obstacolelor
Are senzori sonari, deci este întotdeauna conștient de mediul înconjurător și poate evita obstacolele
Poate face mult mai multe lucruri. De asemenea, puteți implementa ce funcționalități noi doriți.
O vorbă suficientă ne permite.
EDIT: Corpul lui Tinku a început să se spargă, așa că a trebuit să-l reproiectez complet. Iată noile imagini, complet proaspete și mai bune Tinku. Îmi pare rău, nu am imaginile etapelor de reproiectare a Tinku.
Pasul 1: Lucruri de care vei avea nevoie
Corpul robotului
- Foaie acrilică
- Placă MDF
- Cleme mici L
- Pachet de piuliță și șurub
Servo, motoare și roți
- Dynamixel AX-12A (3 bucăți)
- Set de șuruburi și piulițe bioloide
- Motoare (2 bucăți)
- Melodii (2 pachete)
- Roți cu șenile (4 bucăți)
- Cleme L pentru motoare (2 bucăți)
- Clema L pentru arborele roții fictive (2 bucăți)
- Arborele roții fictive (2 bucăți)
- Cadru bioloid F8
- Cadru Bioloid F3 (2 bucăți)
- Cadru bioloid F2
- Cadru bioloid F10
Electronică
- Arduino
- Raspberry Pi sau Udoo Quad
- Șofer de motor
- Camera Web Logitech-c270 (Are microfon încorporat)
- Senzori de distanță cu ultrasunete (6 bucăți)
- Baterie Lipo (3300 Mah 3S)
- Regulator de tensiune intensificat (DC-DC)
- Regulator de tensiune descendent (DC-DC)
- Ecran tactil (7 inci)
- Hub USB (numai dacă utilizați Udoo Quad deoarece are doar 2 porturi USB)
- CI invertor hexagonal 7404
- 74HC244 IC
- Bază IC cu 14 pini
- Baza IC cu 20 de pini
Conectori și cabluri
- Conector T-plug al bateriei tată
- Cablu HDMI flexibil (numai dacă ecranul dvs. are conector HDMI)
- Cablu micro USB
- Cablu relimate cu trei pini feminin-feminin (6 bucăți)
- Mufă de alimentare DC baril (2 bucăți)
- Conectori servo Dynamixel (3 bucăți)
- Cablu USB A la B (Numai dacă nu a venit cu Arduino)
- Sârme de jumper
- Sârme de panouri
- Fâșii de burg
Pentru realizarea PCB-urilor
- Laminat placat cu cupru
- Gravator PCB (Fecl3)
- PCB perforat
- Burghiu de 1 mm
Diverse
- Lipici
- Tuburi radiator
- Distanțe
Notă: Aici folosesc placa Udoo deoarece are o viteză de calcul mai bună decât a raspberry pi 2. Folosesc mai degrabă un Arduino extern decât cel integrat în Arduino al plăcii Udoo deoarece toți senzorii și modulele mele sunt compatibile cu 5v, iar Arduino în Placa Udoo este compatibilă cu 3v.
Pasul 2: Corpul robotului
Pentru a pregăti corpul robotului, am folosit foaia acrilică și am tăiat-o în dimensiunea specificată pentru a crea o structură asemănătoare unei cutii. Am menționat dimensiunea fiecărei părți a corpului în imagine.
- Tăiați foaia acrilică în funcție de dimensiunea specificată.
- Găuriți găuri în locuri specifice pentru a monta motoarele, senzorii, separatoarele și pentru a uni fiecare placă.
- Găuriți o gaură mai mare în placa de bază și placa superioară pentru a trece cablurile.
- Faceți o crestătură mică pe partea inferioară a panoului frontal și din spate, astfel încât firele care vin de la senzorul cu ultrasunete să poată trece.
Este timpul să pregătiți și să montați motoarele și pistele.
- Lipiți fire suplimentare la pinii motorului, astfel încât firul să poată ajunge la șoferii motorului.
- Montați clemele motorului și clemele fictive ale arborelui roții pe placa de bază a robotului.
- Conectați motoarele și arborele roții fictive la cleme, apoi conectați roțile.
- Asamblați pistele și faceți o buclă.
- Curea pe roți. Rețineți că piesa nu slăbește și are suficientă tensiune pe ea.
Acum uniți panoul frontal, posterior și unul lateral de pe panoul de bază folosind cleme mici L. Nu montați panoul superior și unul lateral, astfel încât să ne rămână suficient spațiu pentru a monta electronica pe robot.
Pasul 3: Capul și fața robotului
Am dat deja un corp și roți robotului nostru. Acum este timpul să îi dai cap, gât și față.
Gât:
Cea mai complicată parte din capul robotului este gâtul. Așa că o vom pregăti mai întâi. Servoamele Dynamixel sunt puțin confuze pentru a lucra, dar sunt fiabile și durabile. Există o mulțime de cleme de montare disponibile pentru aceasta, astfel încât să le puteți conecta în orice mod.
Urmăriți acest videoclip pentru explicații mai bune despre cum să conectați servomotoarele dinamixel împreună.
- Introduceți piulițe în servomotoarele dinamic pentru a le monta cu rame.
- Așezați cadrul bioloid F8 în centrul panoului superior și marcați găurile de foraj și găuriți-le.
- Atașați cadrul bioloid F8 la unul dintre servo-uri, apoi montați cadrul bioloid F8 pe panoul superior.
- Alăturați fiecare servo împreună folosind cadre diferite și pregătiți gâtul.
- Conectați servo-urile unul cu celălalt folosind conectoare servo cu trei pini dynamixel.
Ochi și urechi:
Folosesc camera web Logitech-c270 ca ochi pentru robotul meu. Este o cameră bună care poate face fotografii și înregistra videoclipuri în 720p. De asemenea, are un microfon încorporat, prin urmare devine și ureche pentru robotul meu. După o lungă brainstorming, am aflat că cel mai bun loc pentru montarea camerei este în partea de sus a ecranului. Dar pentru montarea camerei, am nevoie de o montură pentru cameră. Deci, să facem una.
- Scoateți piesele metalice de pe camera web care sunt furnizate pentru a-i da o greutate.
- Tăiați două bucăți de pe placa MDF, una pătrată și una triunghiulară cu dimensiunile prezentate în imagine.
- Găuriți o gaură în baza camerei web și pe piesa MDF pătrată. Faceți o crestătură pe piesa pătrată pentru a introduce firul camerei web în ea.
- Lipiți piesele MDF împreună pentru a forma o formă de T. Suportul camerei este gata.
- Înainte de a atașa suportul camerei și camera împreună, pregătiți mai întâi capul.
Cap:
Capul robotului este conectat la servomotoare. Trebuie să fie cât mai ușor posibil, astfel încât capul să nu aplice multă sarcină pe servomotoare. Prin urmare, am folosit placa MDF în locul foliei acrilice.
- Tăiați o bucată de placă MDF cu dimensiune (18cm x 13cm) și găuriți pentru a monta ecranul.
- Așezați cadrul bioloid F10 în centrul plăcii MDF și marcați găurile de foraj și găuriți-le.
- Setați cadrul bioloid F10 și cadrul bioloid F2 pe fiecare parte a plăcii MDF și uniți-le împreună folosind piulița și șurubul.
- Acum lipiți suportul camerei pe partea din spate a plăcii.
- Alăturați cadrului bioloid F2 cu sfârșitul configurației servo.
- Montați ecranul pe placa MDF folosind standoffs.
- Atașați camera web pe suportul camerei.
Acum capul și fața robotului sunt complete.
Pasul 4: PCB-uri personalizate
Acum este timpul să dizolvați niște fecl3 și să gravați niște PCB-uri.
De ce am făcut PCB-uri personalizate?
- Nu am servo controler dynamixel, așa că trebuie să fac unul.
- Trebuie să conectez mulți senzori la Arduino într-un mod mai curat, așa că am făcut un scut pentru Arduino.
Să facem.
- Descărcați fișierele PCB și imprimați-le pe laminatul placat cu cupru.
- Gravați laminatul placat cu cupru folosind fecl3
- Găuriți găuri de 1 mm pentru montarea CI-urilor și a benzii burg.
- Pentru a face ca antetele de stivuire a scutului să alunece pe dopurile de plastic ale benzii de burg către capătul știfturilor.
- Lipiți bazele IC și banda burg pe PCB-uri.
- Am furnizat schemele în scop de referință.
Notă - Utilizați software-ul Express PCB pentru a deschide fișierul.pcb și Express SCH pentru a deschide fișierul.sch.
Pasul 5: Alimentare
Menținerea unei puteri consistente în diferite module și motoare electronice ale robotului este foarte necesară. Dacă puterea scade sub valoarea limită în orice modul care va provoca o eroare și este foarte greu de identificat motivul din spatele acestuia.
Sursa primară de energie a acestui robot este o baterie Lipo 2200mAh 3S. Această baterie are trei celule, iar tensiunea de ieșire este de 11,1 volți. Placa Udoo are nevoie de alimentare de 12V, iar placa Arduino are nevoie de alimentare de 5V. Așa că aleg să folosesc două regulatoare de tensiune, unul este step-up, iar celălalt este step-down. Unul va menține alimentarea curentă la toate modulele de 12v, iar cealaltă va menține alimentarea curentă la toate modulele de 5v.
Imaginea conține scheme desenate manual.
- Lipiți regulatoarele de tensiune pe plăcile PCB perforate.
- Lipiți conectorul bateriei tată a mufei T la intrarea ambelor regulatoare de tensiune.
- Conectați ieșirea „la sol” a ambelor regulatoare.
- Conectați mufele cilindrice DC la fiecare ieșire a regulatorului. Păstrați lungimea firelor suficient pentru a putea ajunge la placa Udoo / Raspberry Pi și Arduino.
- Banda de lipit pe fiecare dintre ieșirile regulatorului ca putere de ieșire suplimentară în cazul în care vom avea nevoie de ea în viitoarea modificare.
- Înainte de a conecta sursa de alimentare la oricare dintre modulele electronice, calibrați ieșirea fiecărui regulator folosind potențiometrul de tăiere furnizat exact la 12v și 5v.
Pasul 6: Adunarea finală
E timpul acum. După atât de mulți pași, este timpul să asamblați fiecare modul împreună. Excitat? Ei bine, eu sunt.
- Tăiați o bucată dreptunghiulară a plăcii MDF cu dimensiunea (30cm x 25cm). Această placă este baza pentru montarea modulelor electronice. Nu vreau să găuresc multe găuri în placa acrilică de bază, așa că folosesc placa MDF. De asemenea, ajută la ascunderea firelor sub el pentru a face robotul nostru să pară curat și curat.
- Așezați modulele pe placa MDF și marcați găurile de montare și găuriți-le. Faceți câteva găuri suplimentare pentru a trece firele sub placa MDF.
- Am atribuit numere unor găuri, așa că devine ușor pentru mine să le trimit și să înțelegeți schemele de cablare.
Alimentare electrică:
- Montați modulul de alimentare pe placa și treceți mufa de 12v și 5v prin orificiul numărul 1 și scoateți mufa de 12v prin orificiul numărul 2 și scoateți mufa de 5v prin orificiul numărul 3.
- Am ținut bateria descărcată pentru moment, deoarece trebuie să o îndepărtez și să o încarc uneori.
Șofer de motor:
- Trageți firele conectate la motoare prin orificiul numărul 4 și conectați-le la placa driverului motorului.
- Motoarele au nevoie de o sursă de alimentare de 12v pentru a funcționa corect, deci conectați pinul de 12v și GND al șoferului cu ieșirea regulatorului de tensiune de 12v.
- Conectați pinii driverului motorului la Arduino conform codului.
Arduino:
- Înainte de a monta Arduino, treceți firele celor trei senzori cu ultrasunete prin panoul din spate și treceți firele celor trei senzori ultrasonici rămași prin panoul frontal și trageți-i prin orificiul numărul 3.
- Montați Arduino și atașați-l pe ecranul senzorului.
- Am dat numere tuturor firelor senzorului cu ultrasunete, astfel încât să fie ușor de depanat în caz de eroare. Conectați pinii senzorului la ecran începând de la numărul 1 la 6 consecutiv.
- Conectați mufa de alimentare de 5v la Arduino.
Servo Controller Dynamixel:
- Montați servo controlerul dinamixel pe placă.
- Conectați pinul de 12v și GND al servo-regulatorului cu ieșirea regulatorului de tensiune de 12v.
- Conectați pinul 5v și GND al servo-regulatorului cu ieșirea regulatorului de tensiune de 5v.
- Conectați pinii servo-controlerului și Arduino conform codului.
- Lăsați pinul de ieșire servo deconectat pentru moment. Conectați-l după montarea panoului superior al robotului.
Udoo / Raspberry Pi:
Notă: Înainte de a urma pașii de mai jos, asigurați-vă că ați instalat deja sistemul de operare pe cardul MicroSD și l-ați plasat în placa Udoo / Raspberry Pi. Dacă nu, urmați linkurile pentru instalarea Raspbian pe Raspberry Pi sau Udoobuntu pe placa Udoo.
- Montați Udoo / Raspberry Pi pe placă și conectați mufa de alimentare la aceasta.
- Dacă utilizați Udoo, conectați hub-ul USB la una dintre mufele sale USB.
- Conectați la acesta cablul HDMI și cablul micro USB. Acești pini sunt utilizați pentru a furniza date și alimentare ecranului.
- Conectați Arduino la Udoo / Raspberry Pi utilizând un cablu USB de la A la B.
Panoul de sus:
- Atașați panoul superior la panourile laterale, frontale și spate ale robotului folosind cleme L.
- Conectați cablul HDMI, cablul micro USB la ecran și camera web la placa Udoo / Raspberry Pi.
- Conectați conectorul servo cu trei pini care vine de la servo dinamixel de bază cu servo controler. Vă rugăm să aveți grijă de pinul care este DATA, GND și + 12v. Consultați imaginile din secțiunea „Capul și fața robotului” pentru o mai bună referință. Dacă conectați firele în ordine opusă, aceasta poate deteriora servomotoarele.
Senzori de distanță cu ultrasunete:
Ultima piesă a puzzle-ului. După aceasta, adunarea noastră este aproape terminată.
- Tăiați șase bucăți dreptunghiulare din placa MDF / foaie acrilică cu dimensiunea (6cm x 5cm).
- Găuriți-le în locurile necesare.
- Atașați senzorii cu ultrasunete la fiecare placă și atașați toate plăcile cu panoul de bază al robotului.
- Conectați senzorii cu conectori.
În cele din urmă, s-a terminat. Conectați bateria și porniți Udoo / Raspberry Pi
Pasul 7: Software
Hardware-ul este complet, dar fără software, acest robot este doar o cutie. Lista software-ului de care avem nevoie este
- TightVNC
- Piton
- OpenCV
- Snowboy
-
Câteva pachete Python
- Pyautogui
- neclintit
- pyserial
- pyaudio
TightVNC:
TightVNC este un pachet software gratuit de telecomandă. Cu TightVNC, puteți vedea desktopul unei mașini la distanță și îl puteți controla cu mouse-ul și tastatura locală, la fel cum ați face-o așezat în fața acelui computer.
Dacă aveți tastatură și mouse suplimentare, este bine. În caz contrar, instalați TightVNC în laptop și urmați acești pași.
Pentru prima dată conectați tastatura și mouse-ul la Udoo / Raspberry Pi. Conectați-vă la o rețea wifi. Deschideți terminalul și tastați
$ ifconfig
- Notați adresa IP a robotului.
- Deschideți TightVNC în laptop. Introduceți adresa IP în câmpul necesar și apăsați Enter. Voila! Sunteți conectat acum. Utilizați touchpadul și tastatura laptopului pentru a accesa robotul.
Piton:
Python este un limbaj foarte popular și versatil, de aceea îl folosesc ca limbaj principal de programare pentru acest robot.
Aici folosesc python 2.7, dar dacă doriți, puteți folosi și python 3. Din fericire, Python vine preinstalat atât în sistemul de operare Udoobuntu, cât și în sistemul de operare Raspbian. Deci nu este nevoie să-l instalăm.
OpenCV:
OpenCV este o bibliotecă open-source destinată în principal viziunii computerizate în timp real. OpenCV cu Python este foarte ușor de utilizat. Instalarea OpenCV este puțin greoaie, dar există o mulțime de ghiduri foarte ușor de urmat disponibile. Preferatul meu personal este acesta. Acest ghid este pentru Raspberry Pi, dar îl puteți folosi și pentru placa Udoo.
Snowboy:
Snowboy este o bibliotecă scrisă de băieții Kitt.ai, care vizează în principal procesarea offline a vorbirii / detectarea cuvintelor fierbinți. Este foarte ușor de utilizat. Urmați acest link pentru a instala snowboy pe Raspberry Pi. Dacă utilizați placa Udoo, accesați acest proiect, scris de meto install snowboy în Udoo.
Pachete Python:
Urmați aceste ghiduri ușor de utilizat pentru a instala câteva pachete Python.
- Pyautogui - Pyautogui este un pachet pentru a simula apăsările de tastă ale tastaturii sau ale mouse-ului.
- Numpy - tastați "pip install numpy" în shell-ul Linux și apăsați Enter. Este atât de simplu.
- Pyserial - Pyserial este un pachet destinat comunicării seriale prin python. Îl vom folosi pentru a comunica cu Arduino.
Pasul 8: Coduri
Partea hardware este completă. Partea software este completă. Acum este timpul să îi dăruim un suflet acestui robot.
Să codificăm.
Codul pentru acest robot este oarecum complicat și în prezent îi adaug mai multe funcționalități. Prin urmare, am găzduit codurile în depozitul meu Github. Puteți să o verificați și să clonați / descărcați coduri de acolo.
Acum nu este doar un robot; acum este Tinku.
Pasul 9: Demo
Demo. yeeeeee !!
Acestea sunt câteva dintre demonstrațiile de bază. Mai sunt multe altele interesante.
Rămâneți la curent pentru mai multe actualizări și, dacă aveți vreo îndoială, nu ezitați să comentați.
Vă mulțumesc că mi-ați citit proiectul. Ești minunat.
Dacă vă place acest proiect, vă rugăm să îl votați la concursul de microcontroler și robotică
Happy Making;-)
Recomandat:
Arc Reactor a La Smogdog, un proiect foarte personal : 13 pași (cu imagini)
Arc Reactor a La Smogdog, un proiect foarte personal …: Ce am în comun cu acești doi tipi? Nu este barba de data asta! Cu toții avem o gaură în piept, ei bine, eu și Leo ne-am născut cu Pectus Excavatum, Stark a trebuit să câștige: -) Pectus Excavatum este (căutați-l aici: https: // ro .wikipedia.org / wik
Detector de trăsnet personal: 5 pași (cu imagini)
Detector de trăsnet personal: în acest proiect vom crea un dispozitiv mic care vă avertizează asupra trăsnetelor din apropiere. Costul total al tuturor materialelor din acest proiect va fi mai ieftin decât achiziționarea unui detector de fulgere comercial și veți putea să vă perfecționați abilitățile de realizare a circuitelor
Asistent personal: 9 pași (cu imagini)
Asistent personal: În acest instructiv, vă voi arăta cum puteți folosi puterea ESP8266, creativitatea în proiectarea și programarea software-ului, pentru a face ceva răcoros și educativ. tu și poți da
Personal electromagnetic: 4 pași (cu imagini)
Personal electromagnetic: Acest proiect ajută la atingerea obiectelor feromagnetice de altfel inaccesibile. Ar putea fi folosit pentru a ajuta persoanele cu dizabilități, dar personal, l-am construit pentru că este foarte cool
IRobot Creează un robot personal de acasă: 16 pași (cu imagini)
IRobot Create Personal Home Robot: Introducerea unui robot personal de acasă construit în jurul platformei iRobot Create și a unui sistem de calcul mini-itx. Nu a fost niciodată mai ușor și mai accesibil să proiectezi și să construiești roboți folosind economiile de scară de la software, computer, jucărie și o