INHOUDSOPGAWE:

Tinku: 'n persoonlike robot: 9 stappe (met foto's)
Tinku: 'n persoonlike robot: 9 stappe (met foto's)

Video: Tinku: 'n persoonlike robot: 9 stappe (met foto's)

Video: Tinku: 'n persoonlike robot: 9 stappe (met foto's)
Video: НЕЗАКОННЫЕ Эксперименты c БОКСИ БУ из ПОППИ ПЛЕЙТАЙМ и ХАГИ ВАГИ в VR! 2024, Julie
Anonim
Tinku: 'n Persoonlike robot
Tinku: 'n Persoonlike robot

Deur sw4pVolg meer deur die skrywer:

Ontasbare oppervlak
Ontasbare oppervlak
Ontasbare oppervlak
Ontasbare oppervlak
Uitgevee Instrueerbaar
Uitgevee Instrueerbaar
Uitgevee Instrueerbaar
Uitgevee Instrueerbaar
Kartonklavier
Kartonklavier
Kartonklavier
Kartonklavier

Hallo daar, Tinku is nie net 'n robot nie; dit is 'n persoonlike robot. Dit is 'n alles in een pakket. Dit kan sien (rekenaarvisie), luister (spraakverwerking), praat en reageer op die situasie. Dit kan emosies uitdruk, en die lys van dinge wat dit kan doen, gaan voort. Ek het dit 'n naam gegee; Ek noem dit Tinku.

'N Kort inleiding van wat dit kan doen, is

  1. Rekenaarvisie

    • Gesigsopsporing
    • Gesigsopsporing
    • Neem foto's en neem video op
    • Herken ArUco -merkers
  2. Spraakverwerking

    • Vanlyn spraakverwerking (Hotword -opsporing)
    • Dit kan verstaan wat u sê deur Hotwords op te spoor.
  3. Druk emosies uit

    • Dit beweeg sy kop vir nie-verbale kommunikasie en om gevoelens uit te druk.
    • Dit vertoon beelde en gif's op die skerm om die huidige sentiment te ondersteun.
  4. Rond te beweeg

    Dit kan met sy wiele rondhardloop en plekke identifiseer met behulp van ArUco -merkers

  5. Vermyding van hindernisse

    Dit het sonarsensors, sodat dit altyd bewus is van die omgewing en hindernisse kan vermy

Dit kan baie meer dinge doen. U kan ook die nuwe funksies wat u wil implementeer.

Genoeg praatjies kan maak.

EDIT: Body of Tinku het begin kraak, so ek moes hom heeltemal herontwerp. Hier is die nuwe beelde, heeltemal vars en beter Tinku. Ek is jammer, ek het nie die beelde van die stappe om Tinku te herontwerp nie.

Stap 1: Dinge wat u benodig

Dinge wat u benodig
Dinge wat u benodig
Dinge wat u benodig
Dinge wat u benodig
Dinge wat u benodig
Dinge wat u benodig
Dinge wat u benodig
Dinge wat u benodig

Robot se liggaam

  1. Akrielblad
  2. MDF bord
  3. Klein L -klampe
  4. Pak moer en skroef

Servo's, motors en wiele

  1. Dynamixel AX-12A (3 stukke)
  2. Bioloïde bout en moerset
  3. Motors (2 stukke)
  4. Snitte (2 pakke)
  5. Spoorwiele (4 stukke)
  6. L klemme vir motors (2 stukke)
  7. L klem vir dummy wielas (2 stukke)
  8. Dummy wielas (2 stukke)
  9. Bioloïde raam F8
  10. Bioloïde raam F3 (2 stukke)
  11. Bioloïde raam F2
  12. Bioloïde raam F10

Elektronika

  1. Arduino
  2. Framboos Pi of Udoo Quad
  3. Motorbestuurder
  4. Logitech webcam-c270 (ingeboude mikrofoon)
  5. Ultrasoniese afstandsensors (6 stukke)
  6. Lipo battery (3300 Mah 3S)
  7. Spanningsreguleerder (DC-DC) versterk
  8. Step-down spanning regulator (DC-DC)
  9. Raakskerm (7 duim)
  10. USB -hub (slegs as u Udoo Quad gebruik omdat dit slegs 2 USB -poorte het)
  11. 7404 heks omskakelaar IC
  12. 74HC244 IC
  13. 14 -pen IC basis
  14. 20 pen IC basis

Verbindings en kabels

  1. T-prop manlike batteryaansluiting
  2. Buigsame HDMI -kabel (slegs as u skerm 'n HDMI -aansluiting het)
  3. Mikro USB kabel
  4. Drie penne vroulike-vroulike relimate-kabel (6 stukke)
  5. DC -aansluiting vir manlike krag (2 stukke)
  6. Dynamixel servo verbindings (3 stukke)
  7. USB A tot B -kabel (slegs as dit nie saam met Arduino kom nie)
  8. Springdrade
  9. Broodbord drade
  10. Burg stroke

Vir die maak van PCB's

  1. Koper bekleed laminaat
  2. PCB etser (Fecl3)
  3. Geperforeerde PCB
  4. 1 mm boorpunt

Diverse

  1. Gom
  2. Heatsink buise
  3. Opstandings

Opmerking: hier gebruik ek Udoo -bord omdat dit 'n beter rekenspoed het as my framboos pi 2. Ek gebruik 'n eksterne Arduino eerder as die ingeboude Arduino van die Udoo -bord omdat al my sensors en modules 5v versoenbaar is en die Arduino in Udoo -bord is 3v -versoenbaar.

Stap 2: Liggaam van die robot

Liggaam van die robot
Liggaam van die robot
Liggaam van die robot
Liggaam van die robot
Liggaam van die robot
Liggaam van die robot
Liggaam van die robot
Liggaam van die robot

Om die liggaam van die robot voor te berei, gebruik ek die akrielblad en sny dit in 'n spesifieke grootte om 'n boksagtige struktuur te maak. Ek het die dimensie van elke kant van die liggaam in die beeld genoem.

  1. Sny die akrielblad volgens die gespesifiseerde grootte.
  2. Boor gate op spesifieke plekke om die motors, sensors, afstande te monteer en om elke bord aanmekaar te sit.
  3. Boor 'n groter gat in die basisplaat en die boonste plaat om kabels deur te voer.
  4. Maak 'n klein kerf aan die onderkant van die voor- en agterpaneel sodat die drade wat van die ultrasoniese sensor afkomstig is, kan deurgaan.

Dit is tyd om die motors en bane voor te berei en te monteer.

  1. Soldeer ekstra drade aan die motorpenne sodat die draad by die motorbestuurders kan uitkom.
  2. Monteer die motorklemme en dummy wielasklemme op die basisplaat van die robot.
  3. Koppel motors en dummy wielas aan die klampe en koppel dan wiele.
  4. Monteer die snitte en maak 'n lus.
  5. Bandband op die wiele. Hou in gedagte dat die snit nie verslap nie en genoeg spanning het.

Verbind nou voor, agter en een sypaneel op die basispaneel met behulp van klein L -klampe. Moenie die boonste paneel en een sypaneel monteer sodat ons genoeg ruimte oor het om die elektronika op die robot te monteer nie.

Stap 3: Kop en gesig van die robot

Image
Image
Kop en gesig van die robot
Kop en gesig van die robot
Kop en gesig van die robot
Kop en gesig van die robot
Kop en gesig van die robot
Kop en gesig van die robot

Ons het reeds 'n bak en wiele aan ons robot gegee. Nou is dit tyd om dit 'n kop, nek en 'n gesig te gee.

Nek:

Die mees ingewikkelde deel in die kop van die robot is die nek. Dus sal ons dit eers voorberei. Dynamixel servo's is 'n bietjie verwarrend om mee te werk, maar hulle is betroubaar en duursaam. Daar is tonne monteerklemme daarvoor beskikbaar, sodat u dit op enige manier kan verbind.

Kyk na hierdie video vir 'n beter verduideliking oor hoe u die dynamixel servo's aan mekaar kan koppel.

  1. Steek moere in die dynamixel servo's om dit met rame te monteer.
  2. Plaas bioloïedraamwerk F8 in die middel van die boonste paneel en merk boorgate en boor dit.
  3. Heg die bioloïde raam F8 aan een van die servo's en monteer dan die bioloïde raam F8 op die boonste paneel.
  4. Verbind elke servo met verskillende rame en berei die nek voor.
  5. Koppel servo's aan mekaar met behulp van dynamixel drie-pins servo-aansluitings.

Oog en oor:

Ek gebruik die Logitech webcam-c270 as die oog vir my robot. Dit is 'n goeie kamera wat foto's kan neem en video's in 720p kan opneem. Dit het ook 'n ingeboude mikrofoon, daarom word dit ook 'n oor vir my robot. Na 'n lang dinkskrum het ek agtergekom dat die beste plek om die kamera te plaas bo -op die skerm is. Maar vir die montering van die kamera het ek 'n kameras nodig. So kom ons maak een.

  1. Verwyder die metaalstukke van die webkamera wat voorsien word om dit 'n bietjie gewig te gee.
  2. Sny twee stukke van die MDF -bord, een vierkant en een driehoekig met die afmetings in die prentjie.
  3. Boor 'n gaatjie in die voet van die webcam en op die vierkantige MDF -stuk. Maak 'n kerf op die vierkantige stuk om die webkamadraad daarin te steek.
  4. Plak die MDF-stukke saam om 'n T-vorm te vorm. Die kamera -houer is gereed.
  5. Berei eers die kop voor u die kamerahouer en die kamera aanmekaar heg.

Kop:

Die kop van die robot is aan die servo's gekoppel. Dit moet so lig as moontlik wees sodat die kop nie veel las op die servo's uitoefen nie. Daarom gebruik ek die MDF -bord in die plek van akrielblad.

  1. Sny 'n stuk MDF -bord met 'n afmeting (18 cm x 13 cm) en boor gate om die skerm te monteer.
  2. Plaas bioloïedraamwerk F10 in die middel van die MDF -bord en merk boorgate en boor dit.
  3. Sit bioloïedraamwerk F10 en bioloïedraamwerk F2 aan elke kant van die MDF -bord en verbind dit met behulp van moer en skroef.
  4. Plak nou die kamera -houer aan die agterkant van die bord vas.
  5. Sluit aan by die bioloïde raam F2 met die einde van die servokonfigurasie.
  6. Monteer die skerm op die MDF -bord met behulp van afstande.
  7. Heg die webkamera aan op die kameras.

Nou is ons kop en gesig van die robot voltooi.

Stap 4: Pasgemaakte PCB's

Pasgemaakte PCB's
Pasgemaakte PCB's
Pasgemaakte PCB's
Pasgemaakte PCB's
Pasgemaakte PCB's
Pasgemaakte PCB's

Dit is nou tyd om 'n paar fecl3 op te los en 'n paar PCB's te ets.

Waarom het ek persoonlike PCB's gemaak?

  • Ek het nie 'n dynamixel servo controller nie, so ek moet een maak.
  • Ek moet op 'n skoner manier baie sensors aan die Arduino koppel, so ek het 'n skild vir Arduino gemaak.

Kom ons maak.

  1. Laai die PCB -lêers af en druk dit op die koperbeklede laminaat.
  2. Ets die koperbeklede laminaat met behulp van fecl3
  3. Boor 1 mm gate vir die montering van IC's en burg strip.
  4. Om die skermstapelkoppe teen die punt van die penne af te laat gly, kan die plastiekproppe van die burg -strook afskuif.
  5. Soldeer die IC -voetstukke en die strook op die PCB's.
  6. Ek het die skemas vir verwysingsdoeleindes verskaf.

Nota - Gebruik Express PCB sagteware om die.pcb en Express SCH sagteware oop te maak om die.sch lêer oop te maak.

Stap 5: Kragtoevoer

Kragtoevoer
Kragtoevoer
Kragtoevoer
Kragtoevoer

Dit is baie nodig om 'n konstante krag te behou oor die verskillende elektroniese modules en motors van die robot. As die krag onder die grenswaarde daal in enige module wat 'n fout sal veroorsaak, en dit is baie moeilik om die rede daarvoor te identifiseer.

Die primêre bron van energie in hierdie robot is 'n 2200mAh 3S Lipo -battery. Hierdie battery het drie selle en die spanningsuitset is 11,1 volt. Die Udoo -bord benodig 12v -toevoer, en die Arduino -bord benodig 5v -voeding. Ek kies dus om twee spanningsreguleerders te gebruik, die een is 'n stap-up en die ander een is 'n stap-af. Die een sal die huidige toevoer na alle 12v -modules behou, en die ander een sal die huidige toevoer na alle 5v -modules behou.

Die prent bevat handgetekende skemas.

  • Soldeer die spanningsreguleerders op die geperforeerde PCB -borde.
  • Soldeer die T-plug manlike batteryaansluiting aan die ingang van albei die spanningsreguleerders.
  • Koppel die 'Grond' -uitset van beide die reguleerders.
  • Koppel DC -vat -aansluitings aan elk van die uitsette van die reguleerder. Hou die lengte van die drade genoeg sodat dit die Udoo/Raspberry Pi en Arduino -bord kan bereik.
  • Soldeer strook aan elk van die regulator se uitset as ekstra kraglewering as ons dit in die toekomstige verandering nodig het.
  • Kalibreer die uitset van elke reguleerder voordat u die kragtoevoer met enige van die elektroniese modules aansluit, met behulp van die afwerkingspotensiometer wat presies 12v en 5v is.

Stap 6: Finale vergadering

Finale Vergadering
Finale Vergadering
Finale Vergadering
Finale Vergadering
Finale Vergadering
Finale Vergadering

Dit is nou tyd. Na soveel stappe is dit tyd om elke module bymekaar te maak. Opgewonde? Wel, ek is.

  • Sny 'n reghoekige stuk van die MDF -bord met 'n afmeting (30 cm x 25 cm). Hierdie bord is die basis vir die montering van elektroniese modules. Ek wil nie baie gate in die basiese akrielplaat boor nie, daarom gebruik ek MDF -bord. Dit help ook om drade daaronder weg te steek om ons robot netjies en skoon te laat lyk.
  • Plaas modules op die MDF -bord en merk die monteergate en boor dit. Maak 'n paar ekstra gate om die drade onder die MDF -bord te trek.
  • Ek het nommers aan 'n paar gate toegewys, sodat ek dit maklik kan verwys en dat u die bedradingskemas kan verstaan.

Kragtoevoer:

  • Monteer die kragtoevoermodule op die bord en steek die 12v en 5v domkrag deur die gat nommer 1 en trek die 12v jack deur die gat nommer 2 uit en trek die 5v jack deur die gat nommer 3 uit.
  • Ek het die battery vir eers los gehou, want ek moet dit soms verwyder en laai.

Motorbestuurder:

  • Trek die drade wat aan die motors gekoppel is deur die gat nommer 4 en koppel dit aan die motorbestuurderbord.
  • Motors benodig die 12V -kragtoevoer om behoorlik te werk, dus koppel die 12V- en GND -pen van die bestuurder aan die 12V -spanningsreguleerder se uitset.
  • Verbind die penne van die motorbestuurder volgens die kode met Arduino.

Arduino:

  • Voordat u die Arduino monteer, moet u die drade van die drie ultrasoniese sensors deur die agterpaneel lei en die drade van die oorblywende drie ultrasoniese sensors deur die voorpaneel trek en dit deur die gat nommer 3 trek.
  • Monteer die Arduino en heg die sensorskerm daarop.
  • Ek het nommers aan al die ultrasoniese sensordrade gegee, sodat dit maklik is om te ontfout as daar 'n fout is. Koppel sensorpenne aan die skild vanaf nommer 1 tot 6 agtereenvolgens.
  • Koppel die 5v -aansluiting aan die Arduino.

Dynamixel Servo Controller:

  • Monteer die dynamixel servo kontroleerder op die bord.
  • Verbind die 12v- en GND -pen van die servobestuurder met die uitset van die 12v -spanningsreguleerder.
  • Verbind die 5v- en GND -pen van die servobestuurder met die uitset van die 5v -spanningsreguleerder.
  • Verbind die penne van die servobestuurder en Arduino volgens die kode.
  • Laat die servo -uitvoerpen vir eers ontkoppel. Koppel dit nadat u die boonste paneel van die robot gemonteer het.

Udoo / Framboos Pi:

Opmerking: voordat u die onderstaande stappe volg, moet u seker maak dat u die bedryfstelsel reeds op die MicroSD -kaart geïnstalleer het en in die Udoo / Raspberry Pi -bord geplaas het. Indien nie, volg dan die skakels vir die installering van Raspbian op die Raspberry Pi of Udoobuntu op die Udoo -bord.

  • Monteer die Udoo / Raspberry Pi op die bord en koppel die kragaansluiting daaraan.
  • As u die Udoo gebruik, sluit die USB -hub aan op een van die USB -aansluitings.
  • Koppel die HDMI -kabel en die mikro -USB -kabel daaraan. Hierdie penne word gebruik om data en krag aan die skerm te verskaf.
  • Koppel die Arduino aan Udoo / Raspberry Pi met behulp van A tot B USB -kabel.

Bovenste paneel:

  • Bevestig die boonste paneel aan die sy-, voor- en agterpanele van die robot met behulp van L -klemme.
  • Koppel die HDMI -kabel, die mikro -USB -kabel aan die skerm en die webkamera op die Udoo / Raspberry Pi -bord.
  • Koppel die drie-pins servo-aansluiting wat uit die basis-dynamixel-servo kom, met die servobestuurder. Let asseblief op watter pen DATA, GND en +12v is. Raadpleeg die beelde in die gedeelte "Kop en gesig van die robot" vir 'n beter verwysing. As u die drade in die teenoorgestelde volgorde verbind, kan dit die servo's beskadig.

Ultrasoniese afstandsensors:

Die laaste stuk van die legkaart. Hierna is ons byeenkoms amper verby.

  • Sny ses reghoekige stukke van die MDF -bord/akrielblad met 'n afmeting (6 cm x 5 cm).
  • Boor gate daarin op die vereiste plekke.
  • Bevestig die ultrasoniese sensors aan elk van die bord en heg al die planke vas met die basispaneel van die robot.
  • Verbind die sensors met verbindings.

Uiteindelik is dit klaar. Koppel die battery en begin die Udoo/Raspberry Pi

Stap 7: sagteware

Die hardeware is voltooi, maar sonder sagteware is hierdie robot net 'n boks. Die lys van die sagteware wat ons benodig, is

  • TightVNC
  • Python
  • OpenCV
  • Snowboy
  • Sommige python -pakkette

    • Pyautogui
    • gevoelloos
    • pyseriaal
    • pyaudio

TightVNC:

TightVNC is 'n gratis sagteware pakket vir afstandbeheer. Met TightVNC kan u die tafelblad van 'n afgeleë masjien sien en dit met u plaaslike muis en sleutelbord beheer, net soos u dit aan die voorkant van die rekenaar sou doen.

As u ekstra sleutelbord en muis het, is dit goed. Indien nie, installeer dan TightVNC op u skootrekenaar en volg hierdie stappe.

Koppel die sleutelbord en die muis vir die eerste keer aan die Udoo / Raspberry Pi. Koppel aan 'n wifi -netwerk. Maak Terminal oop en tik

$ ifconfig

  • Let op die IP -adres van die robot.
  • Maak TightVNC oop op u skootrekenaar. Voer die IP -adres in die vereiste veld in en druk Enter. Voila! U is nou verbind. Gebruik die raakvlak en sleutelbord van u skootrekenaar om toegang tot die robot te verkry.

Python:

Python is 'n baie gewilde en veelsydige taal, daarom gebruik ek dit as die primêre programmeertaal vir hierdie robot.

Hier gebruik ek python 2.7, maar as u wil, kan u ook python 3 gebruik. Python is gelukkig vooraf geïnstalleer in beide Udoobuntu en Raspbian OS. Ons hoef dit dus nie te installeer nie.

OpenCV:

OpenCV is 'n open-source biblioteek wat hoofsaaklik gemik is op intydse rekenaarvisie. OpenCV met Python is baie maklik om te gebruik. Die installering van OpenCV is 'n bietjie omslagtig, maar daar is baie maklik om te volg gidse. My persoonlike gunsteling is hierdie een. Hierdie gids is vir Raspberry Pi, maar u kan dit ook gebruik vir Udoo -bord.

Sneeuseun:

Snowboy is 'n biblioteek wat deur Kitt.ai -ouens geskryf is, hoofsaaklik gemik op aflyn spraakverwerking/opsporing van woordwoorde. Dit is baie maklik om te gebruik. Volg hierdie skakel om snowboy op die Raspberry Pi te installeer. As u Udoo -bord gebruik, gaan dan na hierdie projek, geskryf deur snowboy in die Udoo te installeer.

Python pakkette:

Volg hierdie maklik om te gebruik gidse om 'n paar python -pakkette te installeer.

  1. Pyautogui - Pyautogui is 'n pakket om toetsaanslagen van 'n sleutelbord of die bewegende muis na te boots.
  2. Knap - tik "pip install numpy" in die Linux -dop en druk enter. Dit is so eenvoudig.
  3. Pyserial - Pyserial is 'n pakket wat gemik is op seriële kommunikasie via python. Ons sal dit gebruik om met die Arduino te kommunikeer.

Stap 8: Kodes

Die hardeware -deel is voltooi. Die sagteware -gedeelte is voltooi. Nou is dit tyd om hierdie robot 'n siel te gee.

Kom ons kodeer.

Die kode vir hierdie robot is ietwat ingewikkeld, en ek voeg tans meer funksies daarby. Daarom het ek die kodes in my Github -bewaarplek gehuisves. U kan dit kyk en kodes van daar af kloon/aflaai.

Nou is dit nie net 'n robot nie; dit is nou Tinku.

Stap 9: Demo

Image
Image

Demo. jeeeeee !!

Dit is 'n paar van die basiese demo's. Daar kom nog baie interessanter.

Bly ingeskakel vir meer opdaterings, en as u twyfel, kan u gerus kommentaar lewer.

Dankie dat u my projek gelees het. Jy is wonderlik.

As u van hierdie projek hou, stem dit dan in die Microcontroller en Robotics -wedstryd

Lekker maak;-)

Aanbeveel: