Innehållsförteckning:

Tinku: en personlig robot: 9 steg (med bilder)
Tinku: en personlig robot: 9 steg (med bilder)

Video: Tinku: en personlig robot: 9 steg (med bilder)

Video: Tinku: en personlig robot: 9 steg (med bilder)
Video: СВИСТОК СМЕРТИ ночью НА КЛАДБИЩЕ / Призрак ребёнка в видео / Aztec Death Whistle 2024, Juli
Anonim
Tinku: en personlig robot
Tinku: en personlig robot

Av sw4pFölj mer av författaren:

Immateriell yta
Immateriell yta
Immateriell yta
Immateriell yta
Borttagen Instruerbar
Borttagen Instruerbar
Borttagen Instruerbar
Borttagen Instruerbar
Kartongpiano
Kartongpiano
Kartongpiano
Kartongpiano

Hej där, Tinku är inte bara en robot; det är en personlig robot. Det är ett allt i ett paket. Den kan se (datorsyn), lyssna (talbehandling), prata och reagera på situationen. Det kan uttrycka känslor, och listan över saker som det kan göra fortsätter. Jag gav den ett namn; Jag kallar det Tinku.

En kort introduktion till vad den kan göra är

  1. Datorsyn

    • Ansiktsigenkänning
    • Ansiktsspårning
    • Ta foton och spela in video
    • Känner igen ArUco -markörer
  2. Talbehandling

    • Offline talbehandling (Hotword -upptäckt)
    • Det kan förstå vad du säger genom att upptäcka Hotwords.
  3. Express känslor

    • Det förflyttar huvudet för icke-verbal kommunikation och för att uttrycka känslor.
    • Det visar bilder och gifs på skärmen för att stödja den aktuella känslan.
  4. Flytta runt

    Den kan springa runt med sina hjul och identifiera platser med ArUco -markörer

  5. Undvikande av hinder

    Den har ekolodsgivare så den är alltid medveten om omgivningen och kan undvika hinder

Det kan göra mycket mer. Du kan också implementera vilka nya funktioner du vill ha.

Nog med prat kan vi göra.

EDIT: Body of Tinku började spricka så jag var tvungen att göra om honom helt. Här är de nya bilderna, helt fräscha och bättre Tinku. Jag är ledsen, jag har inte bilderna på stegen för att göra om Tinku.

Steg 1: Saker du behöver

Saker du behöver
Saker du behöver
Saker du behöver
Saker du behöver
Saker du behöver
Saker du behöver
Saker du behöver
Saker du behöver

Robots kropp

  1. Akrylark
  2. MDF -skiva
  3. Små L -klämmor
  4. Paket med mutter och skruv

Servos, motorer och hjul

  1. Dynamixel AX-12A (3 delar)
  2. Bioloid bult och muttersats
  3. Motorer (2 delar)
  4. Spår (2 förpackningar)
  5. Spårhjul (4 delar)
  6. L klämmor för motorer (2 delar)
  7. L klämma för dummy hjulaxel (2 delar)
  8. Dummy hjulaxel (2 delar)
  9. Bioloid -ram F8
  10. Bioloid Frame F3 (2 delar)
  11. Bioloid Frame F2
  12. Bioloid -ram F10

Elektronik

  1. Arduino
  2. Raspberry Pi eller Udoo Quad
  3. Motorförare
  4. Logitech webbkamera-c270 (den har inbyggd mikrofon)
  5. Ultraljudsavståndssensorer (6 delar)
  6. Lipo -batteri (3300 Mah 3S)
  7. Steg upp spänningsregulator (DC-DC)
  8. Nedspänningsregulator (DC-DC)
  9. Pekskärm (7 tum)
  10. USB -hubb (endast om du använder Udoo Quad eftersom den bara har 2 USB -portar)
  11. 7404 hex inverter IC
  12. 74HC244 IC
  13. 14 -stifts IC -bas
  14. 20 -stifts IC -bas

Kontaktdon och kablar

  1. T-kontakt hane batterikontakt
  2. Flexibel HDMI -kabel (endast om din skärm har HDMI -kontakt)
  3. Micro USB -kabel
  4. Tre stift hona-hona relimate-kabel (6 delar)
  5. DC -fatuttag hankontakt (2 delar)
  6. Dynamixel servokontakter (3 delar)
  7. USB A till B -kabel (endast om den inte följde med Arduino)
  8. Bygelkablar
  9. Brödbrädetrådar
  10. Burgremsor

För tillverkning av PCB

  1. Kopparklädd laminat
  2. PCB -etsare (Fecl3)
  3. Perforerad PCB
  4. 1 mm borr

Diverse

  1. Lim
  2. Kylflänsrör
  3. Standoffs

Obs: Här använder jag Udoo -kortet eftersom det har bättre datorhastighet än min hallon pi 2. Jag använder en extern Arduino snarare än den inbyggda Arduino på Udoo -kortet eftersom alla mina sensorer och moduler är 5v kompatibla och Arduino in Udoo -kortet är 3v -kompatibelt.

Steg 2: Robotens kropp

Robotens kropp
Robotens kropp
Robotens kropp
Robotens kropp
Robotens kropp
Robotens kropp
Robotens kropp
Robotens kropp

För att förbereda robotens kropp använde jag akrylarket och skar det i angiven storlek för att göra en lådliknande struktur. Jag nämnde dimensionen på varje sida av kroppen i bilden.

  1. Skär akrylarket enligt den angivna storleken.
  2. Borra hål på specifika platser för att montera motorer, sensorer, avstånd och för att foga ihop varje platta.
  3. Borra större hål i bottenplattan och topplattan för att leda kablar.
  4. Gör ett litet hack på undersidan av fram- och bakpanelen så att ledningarna från ultraljudssensorn kan passera.

Det är dags att förbereda och montera motorer och spår.

  1. Löd extra ledningar till motorstiften så att tråden kan nå motorförarna.
  2. Montera motorklämmorna och dummy -hjulaxelklämmorna på robotens basplatta.
  3. Anslut motorer och dummyhjulsaxel till klämmorna och anslut sedan hjulen.
  4. Montera spåren och gör en loop.
  5. Remspår på hjulen. Tänk på att spåret inte släpar och har tillräckligt med spänning på det.

Anslut nu framsidan, baksidan och ena sidopanelen på baspanelen med små L -klämmor. Montera inte toppanelen och en sidopanel så att vi har tillräckligt med utrymme kvar för att montera elektroniken på roboten.

Steg 3: Robotens huvud och ansikte

Image
Image
Robotens huvud och ansikte
Robotens huvud och ansikte
Robotens huvud och ansikte
Robotens huvud och ansikte
Robotens huvud och ansikte
Robotens huvud och ansikte

Vi gav redan en kaross och hjul till vår robot. Nu är det dags att ge huvudet, halsen och ansiktet.

Nacke:

Den mest komplicerade delen i robotens huvud är nacken. Så vi förbereder det först. Dynamixel -servon är lite förvirrande att arbeta med, men de är pålitliga och hållbara. Det finns massor av monteringsklämmor tillgängliga för det så att du kan ansluta dem på något sätt.

Se den här videon för en bättre förklaring om hur du kopplar dynamixelservon ihop.

  1. Sätt i muttrarna i dynamixelservon för att montera dem med ramar.
  2. Placera bioloidram F8 i mitten av den övre panelen och markera borrhål och borra dem.
  3. Fäst bioloidramen F8 på en av servona och montera sedan bioloidramen F8 på den övre panelen.
  4. Anslut varje servo med olika ramar och förbered halsen.
  5. Anslut servon till varandra med hjälp av dynamixel-tre-poliga servokontakter.

Öga och öra:

Jag använder Logitech webbkamera-c270 som ögat för min robot. Det är en bra kamera som kan ta foton och spela in videor i 720p. Den har också en inbyggd mikrofon, därför blir det öra för min robot också. Efter en lång brainstorming fick jag reda på att det bästa stället att montera kameran är ovanpå skärmen. Men för att montera kameran behöver jag ett kamerafäste. Så låt oss göra en.

  1. Ta bort metallbitarna från webbkameran som tillhandahålls för att ge den en viss vikt.
  2. Skär två bitar från MDF -plattan, en kvadrat och en triangulär med måtten som visas på bilden.
  3. Borra ett hål i webbkamerans bas och på det fyrkantiga MDF -stycket. Gör ett snäpp på den fyrkantiga delen för att sätta in webbkameratråden i den.
  4. Limma ihop MDF-bitarna för att bilda en T-form. Kamerafästet är klart.
  5. Innan du monterar kamerafästet och kameran tillsammans, förbered huvudet först.

Huvud:

Robotens huvud är anslutet till servon. Det måste vara så lätt som möjligt så att huvudet inte belastar servon mycket. Därför använde jag MDF -brädan i stället för akrylark.

  1. Skär en bit MDF -bräda med mått (18 cm x 13 cm) och borra hål för att montera skärmen.
  2. Placera bioloidram F10 i mitten av MDF -brädan och markera borrhål och borra dem.
  3. Ställ in bioloidram F10 och bioloidram F2 på varje sida av MDF -kortet och fäst dem med mutter och skruv.
  4. Limma nu kamerafästet på brädans baksida.
  5. Anslut bioloidram F2 med slutet av servokonfigurationen.
  6. Montera skärmen på MDF -kortet med hjälp av avstånd.
  7. Fäst webbkameran på kamerafästet.

Nu är robotens huvud och ansikte komplett.

Steg 4: Anpassade kretskort

Anpassade kretskort
Anpassade kretskort
Anpassade kretskort
Anpassade kretskort
Anpassade kretskort
Anpassade kretskort

Nu är det dags att lösa upp lite fecl3 och etsa några PCB.

Varför gjorde jag anpassade PCB?

  • Jag har ingen dynamixel servokontroller, så jag måste göra en.
  • Jag måste ansluta många sensorer till Arduino på ett renare sätt, så jag gjorde en sköld för Arduino.

Låt oss göra.

  1. Ladda ner PCB -filerna och skriv ut dem på det kopparklädda laminatet.
  2. Etsa det kopparklädda laminatet med fecl3
  3. Borra 1 mm hål för montering av IC: er och burglist.
  4. För att få sköldstaplingshuvudena att glida ner i plaststopparna på burglisten mot slutet av tapparna.
  5. Löd IC -baserna och burg -remsan på kretskorten.
  6. Jag gav schemat för referensändamål.

Obs - Använd Express PCB -programvara för att öppna.pcb- och Express SCH -programvaran för att öppna.sch -filen.

Steg 5: Strömförsörjning

Strömförsörjning
Strömförsörjning
Strömförsörjning
Strömförsörjning

Att upprätthålla en konsekvent effekt över robotens olika elektroniska moduler och motorer är mycket nödvändigt. Om effekten sjunker under gränsvärdet i någon modul som kommer att orsaka ett fel och det är mycket svårt att identifiera orsaken bakom det.

Den primära energikällan i denna robot är ett 2200mAh 3S Lipo -batteri. Detta batteri har tre celler och spänningsutgången är 11,1 volt. Udoo -kortet behöver 12v -matning och Arduino -kortet behöver 5v -matning. Så jag väljer att använda två spänningsregulatorer, en är step-up och den andra är step-down. Den ena behåller strömförsörjningen till alla 12v -moduler, och den andra behåller strömförsörjningen till alla 5v -moduler.

Bilden innehåller handritade scheman.

  • Löd spänningsregulatorerna på de perforerade PCB -korten.
  • Löd T-pluggens hankontakt till ingången på båda spänningsregulatorerna.
  • Anslut 'regulatorns' utgång för båda regulatorerna.
  • Anslut DC -fatuttag till var och en av regulatorns utgång. Behåll kablarnas längd så att den når fram till Udoo/Raspberry Pi och Arduino -kortet.
  • Löd burg -remsa till var och en av regulatorns utgång som extra effekt om vi behöver det i framtida modifiering.
  • Innan du ansluter strömförsörjningen till någon av de elektroniska modulerna, kalibrera utsignalen från varje regulator med hjälp av trimpotentiometern som levereras till exakt 12v och 5v.

Steg 6: Slutmontering

Slutmontering
Slutmontering
Slutmontering
Slutmontering
Slutmontering
Slutmontering

Det är dags nu. Efter så många steg är det dags att montera ihop varje modul. Upphetsad? Men jag är.

  • Skär en rektangulär bit av MDF -skivan med mått (30 cm x 25 cm). Detta kort är basen för montering av elektroniska moduler. Jag vill inte borra många hål i basplattan, så jag använder MDF -skiva. Det hjälper också till att dölja ledningar under det för att få vår robot att se snygg och ren ut.
  • Placera moduler på MDF -kortet och markera monteringshålen och borra dem. Gör några extra hål för att passera trådarna under MDF -kortet.
  • Jag tilldelade nummer till några hål, så det blir lätt för mig att hänvisa dem och för dig att förstå kopplingsschemat.

Strömförsörjning:

  • Montera strömförsörjningsmodulen på kortet och för 12v och 5v uttaget genom hål nummer 1 och dra ut 12v uttaget genom hål nummer 2 och dra ut 5v uttaget genom hål nummer 3.
  • Jag höll batteriet löst för tillfället eftersom jag måste ta bort och ladda det ibland.

Motorförare:

  • Dra ut ledningarna som är anslutna till motorerna genom hål nummer 4 och anslut dem till motordrivkortet.
  • Motorer behöver 12V -strömförsörjningen för att fungera korrekt så anslut 12v- och GND -stiftet på drivrutinen med 12V -spänningsregulatorns utgång.
  • Anslut stiften på motorföraren till Arduino enligt koden.

Arduino:

  • Innan du monterar Arduino, passera trådarna på de tre ultraljudssensorerna genom bakpanelen och för ledningarna till de återstående tre ultraljudssensorerna genom frontpanelen och dra ut dem genom hålet nummer 3.
  • Montera Arduino och fäst sensorkåpan på den.
  • Jag gav siffror till alla ultraljudsgivartrådar så att det är lätt att felsöka vid eventuella fel. Anslut sensorstift till skärmen från nummer 1 till 6 i följd.
  • Anslut 5v strömuttaget till Arduino.

Dynamixel Servo Controller:

  • Montera dynamixelservokontrollen på kortet.
  • Anslut 12v- och GND -stiftet på servokontrollen med 12V -spänningsregulatorns utgång.
  • Anslut 5v- och GND -stiftet på servokontrollen med 5v -spänningsregulatorns utgång.
  • Anslut stiften på servokontrollen och Arduino enligt koden.
  • Låt servoutgångsstiften vara urkopplad för tillfället. Anslut den efter att ha monterat den övre panelen på roboten.

Udoo / Raspberry Pi:

Obs! Innan du följer stegen nedan, se till att du redan har installerat operativsystemet på MicroSD -kortet och placerat det i Udoo / Raspberry Pi -kortet. Om inte, följ länkarna för att installera Raspbian på Raspberry Pi eller Udoobuntu på Udoo -kortet.

  • Montera Udoo / Raspberry Pi på kortet och anslut strömkontakten till den.
  • Om du använder Udoo, anslut sedan USB -hubben till en av dess USB -uttag.
  • Anslut HDMI -kabeln och mikro -USB -kabeln till den. Dessa stift används för att leverera data och ström till skärmen.
  • Anslut Arduino till Udoo / Raspberry Pi med A till B USB -kabel.

Övre panel:

  • Fäst den övre panelen på robotens sida, framsida och baksida med hjälp av L -klämmor.
  • Anslut HDMI -kabeln, mikro -USB -kabeln till skärmen och webbkameran till Udoo / Raspberry Pi -kortet.
  • Anslut den trepoliga servokontakten som kommer från basdynamixelservot med servokontrollen. Ta hand om vilken stift som är DATA, GND och +12v. Se bilderna i avsnittet "Huvud och ansikte på roboten" för bättre referens. Om du ansluter ledningarna i motsatt ordning kan det skada servon.

Ultraljudsavståndssensorer:

Den sista pusselbiten. Efter detta är vår sammansättning nästan över.

  • Skär sex rektangulära bitar av MDF -skivan/akrylarket med mått (6 cm x 5 cm).
  • Borra hål i dem på erforderliga platser.
  • Fäst ultraljudssensorerna på var och en av kortet och fäst alla brädorna med robotens baspanel.
  • Anslut sensorerna med kontakter.

Äntligen är det klart. Anslut batteriet och starta Udoo/Raspberry Pi

Steg 7: Programvara

Hårdvaran är klar, men utan mjukvara är denna robot bara en låda. Listan över den programvara vi behöver är

  • TättVNC
  • Pytonorm
  • OpenCV
  • Snowboy
  • Några python -paket

    • Pyautogui
    • numpy
    • pyserial
    • pyaudio

TightVNC:

TightVNC är ett gratis fjärrkontrollsprogram. Med TightVNC kan du se skrivbordet på en fjärrmaskin och styra den med din lokala mus och tangentbord, precis som om du skulle göra det sittande framför datorn.

Om du har extra tangentbord och mus är det bra. Om inte, installera sedan TightVNC i din bärbara dator och följ dessa steg.

För första gången ansluter du tangentbord och mus till Udoo / Raspberry Pi. Anslut till ett wifi -nätverk. Öppna Terminal och skriv

$ ifconfig

  • Anteckna robotens IP -adress.
  • Öppna TightVNC i din bärbara dator. Ange IP -adressen i det fält som krävs och tryck på Enter. Voila! Du är ansluten nu. Använd din bärbara dators pekplatta och tangentbord för att komma åt roboten.

Pytonorm:

Python är ett mycket populärt och mångsidigt språk, därför använder jag det som det primära programmeringsspråket för denna robot.

Här använder jag python 2.7 men om du vill kan du också använda python 3. Som tur är kommer Python förinstallerat i både Udoobuntu och Raspbian OS. Så vi behöver inte installera det.

OpenCV:

OpenCV är ett bibliotek med öppen källkod som främst syftar till datorsyn i realtid. OpenCV med Python är mycket lätt att använda. Att installera OpenCV är lite krångligt, men det finns gott om mycket lätt att följa guider. Min personliga favorit är den här. Den här guiden är till för Raspberry Pi, men du kan också använda den för Udoo -kortet.

Snowboy:

Snowboy är ett bibliotek skrivet av Kitt.ai -killar, främst inriktat på offline talbehandling/hotword -upptäckt. Det är mycket lätt att använda. Följ den här länken för att installera snowboy på Raspberry Pi. Om du använder Udoo -kortet går du till det här projektet, skrivet av hur jag installerar snowboy i Udoo.

Python -paket:

Följ dessa lättanvända guider för att installera några python -paket.

  1. Pyautogui - Pyautogui är ett paket för att simulera tangenttryckningar på ett tangentbord eller musen i rörelse.
  2. Numpy - skriv "pip install numpy" i Linux -skalet och tryck på enter. Det är så enkelt.
  3. Pyserial - Pyserial är ett paket som syftar till seriell kommunikation via python. Vi kommer att använda den för att kommunicera med Arduino.

Steg 8: Koder

Hårdvarudelen är klar. Programvarudelen är klar. Nu är det dags att ge en själ åt denna robot.

Låt oss koda.

Koden för denna robot är något komplicerad, och jag lägger för närvarande fler funktioner till den. Därför har jag varit värd för koderna i mitt Github -arkiv. Du kan kolla upp det och klona/ladda ner koder därifrån.

Nu är det inte bara en robot; det är Tinku nu.

Steg 9: Demo

Image
Image

Demo. yeeeeee !!

Detta är några av de grundläggande demos. Det finns mycket mer intressanta som kommer.

Håll ögonen öppna för fler uppdateringar och om du har några tvivel, kommentera gärna.

Tack för att du läste mitt projekt. Du är fantastisk.

Om du gillar det här projektet, vänligen rösta det i Microcontroller and Robotics -tävlingen

Lycka till;-)

Rekommenderad: