Indholdsfortegnelse:

Tinku: en personlig robot: 9 trin (med billeder)
Tinku: en personlig robot: 9 trin (med billeder)

Video: Tinku: en personlig robot: 9 trin (med billeder)

Video: Tinku: en personlig robot: 9 trin (med billeder)
Video: Возведение перегородок санузла из блоков. Все этапы. #4 2024, Juli
Anonim
Tinku: en personlig robot
Tinku: en personlig robot

Af sw4pFollow More af forfatteren:

Immateriel overflade
Immateriel overflade
Immateriel overflade
Immateriel overflade
Slettet instruerbar
Slettet instruerbar
Slettet Instruerbar
Slettet Instruerbar
Pap klaver
Pap klaver
Pap klaver
Pap klaver

Hej med dig, Tinku er ikke bare en robot; det er en personlig robot. Det er en alt i en pakke. Det kan se (computervision), lytte (talebehandling), tale og reagere på situationen. Det kan udtrykke følelser, og listen over ting, som det kan gøre, fortsætter. Jeg gav det et navn; Jeg kalder det Tinku.

En kort introduktion til, hvad den kan gøre, er

  1. Computersyn

    • Ansigtsregistrering
    • Ansigtssporing
    • Tag billeder og optag video
    • Genkend ArUco -markører
  2. Talebehandling

    • Offlinetalbehandling (Hotword -registrering)
    • Det kan forstå, hvad du siger ved at opdage Hotwords.
  3. Express følelser

    • Det bevæger hovedet for ikke-verbal kommunikation og for at udtrykke følelser.
    • Det viser billeder og gifs på sin skærm for at understøtte den aktuelle stemning.
  4. Bevæge sig rundt

    Den kan løbe rundt med sine hjul og identificere steder ved hjælp af ArUco -markører

  5. Hindring af forhindringer

    Den har ekkolodssensorer, så den er altid opmærksom på omgivelserne og kan undgå forhindringer

Det kan mange flere ting. Du kan også implementere, hvilke nye funktionaliteter du ønsker.

Nok snak lader gøre.

EDIT: Tinkus krop begyndte at revne, så jeg måtte redesigne ham fuldstændigt. Her er de nye billeder, helt friske og bedre Tinku. Jeg beklager, jeg har ikke billederne af trinene til redesign af Tinku.

Trin 1: Ting, du får brug for

Ting du får brug for
Ting du får brug for
Ting du får brug for
Ting du får brug for
Ting du får brug for
Ting du får brug for
Ting du får brug for
Ting du får brug for

Robots krop

  1. Akrylplade
  2. MDF bord
  3. Små L klemmer
  4. Pakke med møtrik og skrue

Servoer, motorer og hjul

  1. Dynamixel AX-12A (3 stk.)
  2. Bioloid bolt og møtrik sæt
  3. Motorer (2 stk.)
  4. Spor (2 pakker)
  5. Sporhjul (4 stk.)
  6. L klemmer til motorer (2 stk.)
  7. L klemme til dummy hjulaksel (2 stk.)
  8. Dummy hjulaksel (2 stk.)
  9. Bioloid stel F8
  10. Bioloid stel F3 (2 stk.)
  11. Bioloid stel F2
  12. Bioloid stel F10

Elektronik

  1. Arduino
  2. Hindbær Pi eller Udoo Quad
  3. Motor driver
  4. Logitech webcam-c270 (den har indbygget mikrofon)
  5. Ultralydsafstandssensorer (6 stk.)
  6. Lipo batteri (3300 Mah 3S)
  7. Opspændingsregulator (DC-DC)
  8. Step-down spændingsregulator (DC-DC)
  9. Berøringsskærm (7 tommer)
  10. USB -hub (kun hvis du bruger Udoo Quad, fordi den kun har 2 USB -porte)
  11. 7404 hex inverter IC
  12. 74HC244 IC
  13. 14 -benet IC -base
  14. 20 pin IC base

Stik og kabler

  1. T-stik hanbatteristik
  2. Fleksibelt HDMI -kabel (kun hvis din skærm har et HDMI -stik)
  3. Micro USB kabel
  4. Tre pins hun-hun-relimate-kabel (6 stk.)
  5. DC tønde jack hanstik (2 stk.)
  6. Dynamixel servostik (3 dele)
  7. USB A til B -kabel (kun hvis det ikke fulgte med Arduino)
  8. Jumper ledninger
  9. Brødbræt ledninger
  10. Burg strimler

Til fremstilling af PCB'er

  1. Kobberbeklædt laminat
  2. PCB ætser (Fecl3)
  3. Perforeret PCB
  4. 1 mm bor

Diverse

  1. Lim
  2. Kølelegemer
  3. Afvigelser

Bemærk: Her bruger jeg Udoo -kortet, fordi det har bedre computerhastighed end min hindbær pi 2. Jeg bruger en ekstern Arduino frem for den indbyggede Arduino på Udoo -kortet, fordi alle mine sensorer og moduler er 5v kompatible, og Arduino i Udoo board er 3v kompatibel.

Trin 2: Robotens krop

Robotens krop
Robotens krop
Robotens krop
Robotens krop
Robotens krop
Robotens krop
Robotens krop
Robotens krop

For at forberede robotens krop brugte jeg akrylarket og skar det i en bestemt størrelse for at lave en kasselignende struktur. Jeg nævnte dimensionen af hver side af kroppen i billedet.

  1. Skær akrylpladen i henhold til den angivne størrelse.
  2. Bor huller på bestemte steder for at montere motorer, sensorer, standoffs og for at samle hver plade.
  3. Bor større hul i bundpladen og toppladen for at føre kabler.
  4. Lav et lille hak på undersiden af front- og bagpanelet, så ledningerne fra ultralydssensoren kan passere igennem.

Det er tid til at forberede og montere motorer og spor.

  1. Lod ekstra ledninger til motorstifterne, så ledningen kan nå motorførerne.
  2. Monter motorens klemmer og dummy hjulakselklemmer på robotpladens bundplade.
  3. Tilslut motorer og dummy hjulaksel til klemmerne, og tilslut derefter hjul.
  4. Saml sporene og lav en løkke.
  5. Remspor på hjulene. Husk, at sporet ikke slækker og har nok spænding på det.

Tilslut nu front, bagside og det ene sidepanel på bundpanelet ved hjælp af små L -klemmer. Monter ikke det øverste panel og det ene sidepanel, så vi har nok plads til at montere elektronikken på robotten.

Trin 3: Robotens hoved og ansigt

Image
Image
Robotens hoved og ansigt
Robotens hoved og ansigt
Robotens hoved og ansigt
Robotens hoved og ansigt
Robotens hoved og ansigt
Robotens hoved og ansigt

Vi gav allerede en krop og hjul til vores robot. Nu er det tid til at give det et hoved, en hals og et ansigt.

Nakke:

Den mest komplicerede del i robotens hoved er nakken. Så vi forbereder det først. Dynamixel servoer er lidt forvirrende at arbejde med, men de er pålidelige og holdbare. Der er masser af monteringsklemmer til rådighed til det, så du kan forbinde dem sammen på enhver måde.

Se denne video for en bedre forklaring på, hvordan du forbinder dynamixelservoerne.

  1. Sæt møtrikker i dynamixelservoerne for at montere dem med stel.
  2. Placer bioloidramme F8 i midten af det øverste panel, markér borehuller og bor dem.
  3. Fastgør bioloidrammen F8 til en af servoerne, og monter derefter bioloidrammen F8 på det øverste panel.
  4. Slut hver servo sammen ved hjælp af forskellige rammer og forbered nakken.
  5. Tilslut servoer til hinanden ved hjælp af dynamixel tre-pin servostik.

Øje og øre:

Jeg bruger Logitech webcam-c270 som øje til min robot. Det er et godt kamera, der kan tage fotos og optage videoer i 720p. Det har også en mikrofon indbygget, derfor bliver det også øre for min robot. Efter en lang brainstorming fandt jeg ud af, at det bedste sted at montere kameraet er oven på skærmen. Men til montering af kameraet har jeg brug for et kameraholder. Så lad os lave en.

  1. Fjern metalstykkerne fra webkameraet, der følger med for at give det en vis vægt.
  2. Skær to stykker fra MDF -pladen, en firkant og en trekantet med dimensioner vist på billedet.
  3. Bor et hul i bunden af webkameraet og på det firkantede MDF -stykke. Lav et hak på det firkantede stykke for at indsætte webcam -ledningen i det.
  4. Lim MDF-stykkerne sammen til en T-form. Kameraholderen er klar.
  5. Før du monterer kameraholderen og kameraet sammen, skal du først forberede hovedet.

Hoved:

Robotens hoved er forbundet til servoerne. Det skal være så let som muligt, så hovedet ikke påfører servoer stor belastning. Derfor brugte jeg MDF -pladen i stedet for akrylplader.

  1. Skær et stykke MDF -plade med dimension (18 cm x 13 cm) og bor huller til montering af skærmen.
  2. Placer bioloidramme F10 i midten af MDF -pladen, og markér borehuller og bor dem.
  3. Sæt bioloidramme F10 og bioloidramme F2 på hver side af MDF -pladen, og saml dem ved hjælp af møtrik og skrue.
  4. Lim nu kameraholderen på bagsiden af brættet.
  5. Tilslut bioloidramme F2 med slutningen af servokonfigurationen.
  6. Monter skærmen på MDF -kortet ved hjælp af standoffs.
  7. Sæt webkameraet på kameraholderen.

Nu er vores hoved og ansigt på robotten komplet.

Trin 4: Brugerdefinerede printkort

Brugerdefinerede printkort
Brugerdefinerede printkort
Brugerdefinerede printkort
Brugerdefinerede printkort
Brugerdefinerede printkort
Brugerdefinerede printkort

Nu er det tid til at opløse nogle fecl3 og ætse nogle PCB'er.

Hvorfor lavede jeg brugerdefinerede printkort?

  • Jeg har ikke dynamixel servo controller, så jeg skal lave en.
  • Jeg skal tilslutte masser af sensorer til Arduino på en renere måde, så jeg lavede et skjold til Arduino.

Lad os lave.

  1. Download PCB -filerne og udskriv dem på det kobberbeklædte laminat.
  2. Æts det kobberbeklædte laminat ved hjælp af fecl3
  3. Bor 1 mm huller til montering af IC'er og burg strip.
  4. For at få skjoldstabelhovederne til at glide ned af plastikpropperne på burgstrimlen mod enden af stifterne.
  5. Lod IC -baserne og burg -strimlen på printkortene.
  6. Jeg leverede skemaerne til referenceformål.

Bemærk - Brug Express PCB -software til at åbne.pcb og Express SCH -softwaren til at åbne.sch -filen.

Trin 5: Strømforsyning

Strømforsyning
Strømforsyning
Strømforsyning
Strømforsyning

Det er meget nødvendigt at opretholde en ensartet effekt på tværs af robotens forskellige elektroniske moduler og motorer. Hvis strømmen falder til under grænseværdien i ethvert modul, der forårsager fejl og er meget svært at identificere årsagen bag.

Den primære energikilde i denne robot er et 2200mAh 3S Lipo -batteri. Dette batteri har tre celler, og spændingsudgangen er 11,1 volt. Udoo -kortet har brug for 12v forsyning, og Arduino -kortet har brug for 5v forsyning. Så jeg vælger at bruge to spændingsregulatorer, den ene er step-up, og den anden er step-down. Den ene vil bevare den nuværende forsyning til alle 12v moduler, og den anden vil beholde den nuværende forsyning til alle 5v moduler.

Billedet indeholder håndtegnede skemaer.

  • Lodde spændingsregulatorerne på de perforerede printkort.
  • Lod den T-stik hanbatteristik til indgangen på begge spændingsregulatorer.
  • Tilslut "jord" -udgangen på begge regulatorer.
  • Tilslut DC tønde stik til hver af regulatorens output. Hold længden på ledningerne nok, så den kan nå Udoo/Raspberry Pi og Arduino -kortet.
  • Lodde burg strip til hver af regulatorens output som ekstra effekt, hvis vi har brug for det i fremtiden modifikation.
  • Inden tilslutning af strømforsyningen til et af de elektroniske moduler, skal kalibreres output for hver regulator ved hjælp af trimpotentiometer, der leveres til nøjagtigt 12v og 5v.

Trin 6: Endelig samling

Endelig forsamling
Endelig forsamling
Endelig forsamling
Endelig forsamling
Endelig forsamling
Endelig forsamling

Det er tid nu. Efter så mange trin er det tid til at samle hvert modul sammen. Begejstret? Det er jeg.

  • Skær et rektangulært stykke af MDF -pladen med dimension (30cm x 25cm). Dette kort er grundlaget for montering af elektroniske moduler. Jeg vil ikke bore mange huller i bundpladen i akryl, så jeg bruger MDF -plade. Det hjælper også med at skjule ledninger under det for at få vores robot til at se pæn og ren ud.
  • Placer moduler på MDF -pladen, markér monteringshullerne og bor dem. Lav nogle ekstra huller for at føre ledningerne under MDF -pladen.
  • Jeg tildelte numre til nogle huller, så det bliver let for mig at henvise dem og for dig at forstå ledningsskemaerne.

Strømforsyning:

  • Monter strømforsyningsmodulet på brættet, og før 12v- og 5v -stikket gennem hulnummer 1, og træk 12v -stikket ud gennem hulnummer 2, og træk 5v -stikket ud gennem hulnummer 3.
  • Jeg holdt batteriet løst for nu, fordi jeg nogle gange skal fjerne og oplade det.

Motorfører:

  • Træk ledningerne, der er forbundet til motorerne, ud gennem hullet nummer 4, og tilslut dem til motorens driverkort.
  • Motorer har brug for 12v strømforsyningen til at køre korrekt, så tilslut 12v og GND pin på driveren med 12v spændingsregulatorens output.
  • Tilslut motorens driveres stifter til Arduino i henhold til koden.

Arduino:

  • Før montering af Arduino føres ledningerne til de tre ultralydssensorer gennem bagpanelet, og ledningerne til de resterende tre ultralydssensorer føres gennem frontpanelet og trækkes ud gennem hullet nummer 3.
  • Monter Arduino, og fastgør sensorskærmen på den.
  • Jeg gav numre til alle ultralyds sensortråde, så det er let at fejlsøge i tilfælde af fejl. Tilslut sensorstifter til afskærmningen fra nummer 1 til 6 i træk.
  • Tilslut 5v strømstikket til Arduino.

Dynamixel Servo Controller:

  • Monter dynamixel servo controlleren på tavlen.
  • Tilslut 12v- og GND -stiften på servostyringen med 12v spændingsregulatorens output.
  • Forbind 5v- og GND -stiften på servostyringen med 5v spændingsregulatorens output.
  • Tilslut stifterne på servokontrolleren og Arduino i henhold til koden.
  • Lad servo -udgangsstiften være afbrudt lige nu. Tilslut den efter montering af robotens toppanel.

Udoo / Raspberry Pi:

Bemærk: Inden du følger nedenstående trin, skal du kontrollere, at du allerede har installeret operativsystemet på MicroSD -kortet og placeret det i Udoo / Raspberry Pi -kortet. Hvis ikke, følg derefter linkene til installation af Raspbian på Raspberry Pi eller Udoobuntu på Udoo -kortet.

  • Monter Udoo / Raspberry Pi på kortet, og slut strømstikket til det.
  • Hvis du bruger Udoo, skal du slutte USB -hub'en til et af dets USB -stik.
  • Tilslut HDMI -kablet og mikro -USB -kablet til det. Disse ben bruges til at levere data og strøm til skærmen.
  • Tilslut Arduino til Udoo / Raspberry Pi ved hjælp af A til B USB -kabel.

Toppanel:

  • Fastgør det øverste panel til robotens side, for- og bagpanel ved hjælp af L -klemmer.
  • Tilslut HDMI -kablet, mikro -USB -kablet til skærmen og webcam til Udoo / Raspberry Pi -kortet.
  • Tilslut det trepolede servostik, der kommer fra basedynamixelservoen, med servostyringen. Pas på, hvilken pin der er DATA, GND og +12v. Se billederne i afsnittet "Robotens hoved og ansigt" for bedre reference. Hvis du forbinder ledningerne i modsat rækkefølge, kan det beskadige servoerne.

Ultralydsafstandssensorer:

Den sidste brik i puslespillet. Herefter er vores samling næsten slut.

  • Skær seks rektangulære stykker af MDF -pladen/akrylpladen med dimension (6 cm x 5 cm).
  • Bor huller i dem på krævede steder.
  • Sæt ultralydssensorerne på hvert bord, og fastgør alle brædderne med robotens bundpanel.
  • Tilslut sensorerne med stik.

Endelig er det gjort. Tilslut batteriet, og start Udoo/Raspberry Pi

Trin 7: Software

Hardware er komplet, men uden software er denne robot bare en kasse. Listen over den software, vi har brug for, er

  • TætVNC
  • Python
  • OpenCV
  • Snowboy
  • Nogle python -pakker

    • Pyautogui
    • numpy
    • pyserial
    • pyaudio

TightVNC:

TightVNC er en gratis softwarepakke til fjernbetjening. Med TightVNC kan du se skrivebordet på en fjernmaskine og styre det med din lokale mus og tastatur, ligesom du ville gøre det siddende foran computeren.

Hvis du har ekstra tastatur og mus, er det godt. Hvis ikke, skal du installere TightVNC på din bærbare computer og følge disse trin.

For første gang tilsluttes tastatur og mus til Udoo / Raspberry Pi. Opret forbindelse til et wifi -netværk. Åbn Terminal og skriv

$ ifconfig

  • Noter robotens IP -adresse.
  • Åbn TightVNC på din bærbare computer. Indtast IP -adressen i det påkrævede felt, og tryk på Enter. Voila! Du er forbundet nu. Brug din bærbare computers touchpad og tastatur til at få adgang til robotten.

Python:

Python er et meget populært og alsidigt sprog, og derfor bruger jeg det som det primære programmeringssprog til denne robot.

Her bruger jeg python 2.7, men hvis du vil, kan du også bruge python 3. Heldigvis kommer Python forudinstalleret i både Udoobuntu og Raspbian OS. Så vi behøver ikke at installere det.

OpenCV:

OpenCV er et open source-bibliotek, der hovedsageligt er rettet mod computersyn i realtid. OpenCV med Python er meget let at bruge. Installation af OpenCV er lidt besværligt, men der er masser af meget lette at følge vejledninger til rådighed. Min personlige favorit er denne. Denne vejledning er til Raspberry Pi, men du kan også bruge den til Udoo board.

Snowboy:

Snowboy er et bibliotek skrevet af Kitt.ai fyre, hovedsageligt rettet mod offline tale behandling/hotword detektion. Det er meget let at bruge. Følg dette link for at installere snowboy på Raspberry Pi. Hvis du bruger Udoo board, så gå til dette projekt, skrevet af hvordan jeg installerer snowboy i Udoo.

Python -pakker:

Følg disse brugervenlige guider til at installere nogle python -pakker.

  1. Pyautogui - Pyautogui er en pakke til simulering af tastetryk på et tastatur eller musen i bevægelse.
  2. Numpy - skriv "pip install numpy" i Linux -skallen, og tryk på enter. Det er så enkelt.
  3. Pyserial - Pyserial er en pakke rettet mod seriel kommunikation via python. Vi vil bruge det til at kommunikere med Arduino.

Trin 8: Koder

Hardware -delen er komplet. Softwaredelen er komplet. Nu er det tid til at give en sjæl til denne robot.

Lad os kode.

Koden til denne robot er noget kompliceret, og jeg tilføjer i øjeblikket flere funktioner til den. Derfor har jeg hostet koderne i mit Github -lager. Du kan tjekke det ud og klone/downloade koder derfra.

Nu er det ikke bare en robot; det er Tinku nu.

Trin 9: Demo

Image
Image

Demo. yeeeeee !!

Dette er nogle af de grundlæggende demoer. Der kommer meget mere interessante.

Følg med for flere opdateringer, og hvis du er i tvivl, er du velkommen til at kommentere.

Tak fordi du læste mit projekt. Du er sej.

Hvis du kan lide dette projekt, så stem det i Microcontroller og Robotics -konkurrencen

God fornøjelse;-)

Anbefalede: