Indholdsfortegnelse:

EWON Raspberry Pi Powered Home Robot: 7 trin (med billeder)
EWON Raspberry Pi Powered Home Robot: 7 trin (med billeder)

Video: EWON Raspberry Pi Powered Home Robot: 7 trin (med billeder)

Video: EWON Raspberry Pi Powered Home Robot: 7 trin (med billeder)
Video: Companion Robot: Overview - Raspberry Pi | Arduino | DIY Robotics 2024, November
Anonim
EWON Raspberry Pi Powered Home Robot
EWON Raspberry Pi Powered Home Robot
EWON Raspberry Pi Powered Home Robot
EWON Raspberry Pi Powered Home Robot
EWON Raspberry Pi Powered Home Robot
EWON Raspberry Pi Powered Home Robot

Af sharathnaikSharathnaik.com Følg mere af forfatteren:

Hjerte Visualizer | Se dit hjerte slå
Hjerte Visualizer | Se dit hjerte slå
Hjerte Visualizer | Se dit hjerte slå
Hjerte Visualizer | Se dit hjerte slå
DIY- Cool Denim Pocket Notebook (med billeder)
DIY- Cool Denim Pocket Notebook (med billeder)
DIY- Cool Denim Pocket Notebook (med billeder)
DIY- Cool Denim Pocket Notebook (med billeder)
HVALP
HVALP
HVALP
HVALP

Om: Teknik og design Mere om sharathnaik »

Jeg fandt for nylig, at jeg fulgte med at se mange Netflix-serier på grund af den nuværende situation, jeg håber, at I alle er i god behold, og jeg så, at sæson 5 af Black Mirror blev udgivet. En antologiserie, der kredser om en gruppe af menneskers personlige liv, og hvordan teknologien manipulerer deres adfærd.

Og en af de episoder, der fangede min opmærksomhed, var Rachel, Jack og Ashley Too. En af hovedpersonerne i denne serie er en hjemmebrobot ved navn Ashley O, og den robot har en masse karakter omkring sig, og jeg tænkte selv, at jeg skulle bygge en, det er et godt projekt at komme i gang med programmering, hvis ikke det så i det mindste Jeg kan programmere det til at grine ad mine vittigheder.!

Hvad / hvem er Ewon? Hvad kan det gøre?

Så før jeg begyndte at arbejde på dette projekt, satte jeg nogle grundregler, der skulle følges. Dette projekt skulle være

  • Let for alle at prøve
  • Ikke bare om at være sød, men også være nyttig, så det ikke ender på en hylde
  • Modulær, så du kan blive ved med at tilføje nye funktioner.

Efter at have angivet denne regel besluttede jeg at bruge Google Assistant SDK. Denne SDK giver en masse funktioner, som jeg ledte efter, og hvis du keder dig fra Ewon, bruger du altid den som en Google Home -enhed og gør, hvad et Google -hjem gør.

Hvad Ewon vil gøre, er at tilføje et tegn til Google -assistenten. Det er at vise følelser og reagere på, hvad brugeren siger. Nu er det ikke kun stemmen, du hører, men du får også at se, hvordan du reagerer.

BEMÆRK: Denne instruerbare er under udvikling. Jeg vil snart uploade alle de relevante filer. Tak skal du have

Trin 1: Dele påkrævet til Ewon

ELEKTRONIK

  • Hindbær PI
  • Servo SG90 (x4)
  • Servo MG995 - standard (x2)
  • PCA9685 16-kanals servodriver
  • USB lydkort
  • Mikrofon
  • Højttalere (Enhver lille højttaler gør sådan noget)
  • Male og female pin header stik
  • Brødbræt
  • Næste skærm

FESTER OG LEJER

  • M3*10 mm (x10)
  • M3*8 mm (x10)
  • M3 møtrikker (x20)
  • Leje

    • OD: 15mm ID: 6mm Bredde: 5mm (x2)
    • OD: 22mm ID: 8mm Bredde: 7mm (x2)

ANDRE MATERIALER

  • Standoff

    • 40 mm (x4)
    • 30 mm (x4)

VÆRKTØJ

3D printer

Trin 2: Forståelse af Ewon og programmering

Forståelse af Ewon og programmering
Forståelse af Ewon og programmering
Forståelse af Ewon og programmering
Forståelse af Ewon og programmering
Forståelse af Ewon og programmering
Forståelse af Ewon og programmering

Inden jeg starter med programmeringsaspektet, lad mig kort forklare blokdiagrammet for Ewons kredsløb.

RPI (Raspberry pi) er systemets hjerne. Servodriver styret af RPI driver servoen. Skærm styret af RPI med seriel kommunikation for at vise følelser og endelig mikrofon og højttalere, der bruges til at kommunikere med Ewon. Nu hvor vi ved, hvad hardware gør, hvad lad os begynde at programmere Ewon.

Installation af Google Assistant SDK

Lad mig forklare de to grunde til, at jeg planlagde at bruge Google Assistant:

  • Jeg ville have, at Ewon ikke bare skulle være en sjov robot, men også en nyttig robot. Google Assistant SDK har allerede masser af ressourcer, som du kan bruge til at øge funktionaliteten af Ewon.
  • Du kan også bruge handlinger på google og dialogflow til at give Ewon mulighed for at chatte med foruddefinerede svar. For nu vil vi kun koncentrere os om det grundlæggende SDK.

Lad os komme i gang ved at installere Google Assistant SDK. Dette burde ikke være svært, da der er masser af ressourcer til at hjælpe dig med at konfigurere Google Assistant SDK på RPI. Du kan følge denne vejledning sammen:

Selvstudium:

Efter afslutningen af ovenstående proces skulle du være i stand til at klikke på enter på tastaturet og tale med assistenten. Det handler om at installere Google Assistant SDK.

Hvad skal jeg kalde det? Ewon?

Hej Google! Det er det, der bruges til at begynde at tale med Google Assistant, og desværre tillader Google ikke, at der bruges noget andet tilpasset wake -ord. Så lad os se, hvordan vi kan ændre dette, så google -assistent udløses, når nogen ringer til Ewon.

Snowboy: en meget tilpasselig hot word detection-motor, der er integreret i realtid kompatibel med Raspberry Pi, (Ubuntu) Linux og Mac OS X.

Et varmt ord (også kendt som vågneord eller triggerord) er et nøgleord eller en sætning, som computeren konstant lytter efter som et signal til at udløse andre handlinger.

Lad os starte med at installere Snowboy på RPI. Husk at aktivere det virtuelle miljø for at installere Snowboy, som du gjorde for at installere Assistant SDK. Alt, hvad vi installerer herfra, skal installeres i det virtuelle miljø. Installation af Snowboy kan være lidt vanskelig, men dette link skal hjælpe dig med at installere det uden problemer. Link:

Her er en opsummeret installationsproces, hvis ovenstående link bliver forvirrende eller installationen mislykkes.

$ [sudo] apt-get install libatlas-base-dev swig $ [sudo] pip installer pyaudio $ git klon https://github.com/Kitt-AI/snowboy $ cd snowboy/swig/Python3 $ gør $ cd.. /.. $ python3 setup.py build $ [sudo] python setup.py install

Når den er installeret, skal du køre demofilen [fundet i mappen - snowboy/eksempler/Python3/] for at se, om alt fungerer perfekt.

Bemærk: Du kan også nemt ændre navnet på din robot til noget andet. Alt du skal gøre er at gå til https://snowboy.kitt.ai/ og træne et brugerdefineret hotword og derefter placere det varme ord i den samme mappe som ewon.pmdl.

Kan Ewon forstå følelser?

Nu hvor Ewon har et navn, bruger jeg Ewon i stedet for at kalde det en robot. Okay, følelser, korte svar nej, Ewon kan ikke forstå følelser, så det, vi skal gøre her, er at få Ewon til at opdage følelser i vores tale ved hjælp af søgeord og derefter afspille det tilsvarende ansigtsudtryk, der er forbundet med det.

For at opnå dette er det, jeg har gjort, et simpelt sentimentanalyseskript. Der er 6 forskellige følelsestimer.

Billede
Billede

Glad, trist, vrede, frygt, afsky og overraskelse. Disse er de vigtigste følelsesklasser, og hver af dem har en liste over søgeord, der er forbundet med følelsen. (for eksempel god, rar, spændt, alle kommer under glade følelser).

Så når vi siger et af nøgleordene i følelsesklassen, udløses den tilsvarende følelse. Så når du siger "Hey Ewon!" og vent på, at Ewon taler, og jeg fortsætter med at sige "I dag er en dejlig dag!", den samler søgeordet "Nice" og udløser den tilsvarende følelse 'Happy', der udløser ansigtsudtrykket for Happy.

Er de ører på Ewon?

Det næste trin ville være at bruge den udløste følelse til at køre det respektive ansigtsudtryk. Med Ewon bemærker ansigtsudtrykket, men bevæger øre og hals ved hjælp af servoer og ændrer displayet for at ændre øjenbevægelser.

For det første servoer, for at køre dette er det ret let, du kan følge denne vejledning for at oprette Adafruit servobibliotek. Link:

Billede
Billede

Derefter tildeler vi maksimum- og minimumsværdien for alle servoer. Dette gøres ved manuelt at flytte hver servo og kontrollere dens grænser. Du kan gøre dette, når du har samlet Ewon.

Øjne til Ewon

Til øjnene bruger jeg en Nextion -skærm, der har en masse billeder som nedenfor.

Billede
Billede

Det er en billedsekvens, jeg har designet i Photoshop, som ved afspilning i rækkefølge laver en animation. En lignende sekvens blev skabt for alle følelser. For nu at vise enhver følelse er alt hvad du skal gøre at kalde den specifikke billedsekvens, der udgør animationen. Filerne er inde i mappen 'Vis filer', downloadlink herunder.

Endelig

Ved at sætte det hele sammen, når den glade følelse udløses af scriptet, kaldes den lykkelige funktion, og servoen bevæger sig til de allerede indstillede vinkler og displayet spiller det glade øje -animation. Så det er sådan, vi opnår "forståelse" af menneskelige følelser. Denne metode er ikke den bedste, og der er tidspunkter, hvor søgeord ikke falder i den samme følelse som foruddefinerede, men i øjeblikket fungerer dette godt nok, og du kan altid tilføje flere søgeord for at øge registreringsnøjagtigheden. Ydermere kan dette erstattes af en meget mere uddannet følelsesanalysemodel som Paralleldots Emotion -analysemodel for at få bedre resultater. Men da jeg prøvede det, var der mange forsinkelser, der ville få Ewon til at reagere langsommere. Måske vil Ewon version 2.0 have sådan noget.

Dette er LINK til alle de filer, der er nødvendige for at køre EWON. Download filen og følg nedenstående trin:

  • Pak filen ud, placer denne mappe (Ewon) hjemme/pi/
  • Tilføj enheds -id og model -id i main.py -filen. ID'et opnås under installation af Google Assistant SDK.
  • Åbn kommandoprompten, og kør kilden til følgende kommandoer:

kilde env/bin/activatepython main.py -modeller/Ewon.pmdl

Trin 3: Udskrivning af kroppen

Du kan finde 3d -filerne her:

Nu hvor vi alle er klar med Ewons hjerne, er det tid til at printe sin krop. Der er 18 unikke dele, der skal udskrives, de fleste af dem er ret små med en samlet udskrivningstid på omkring 15-20 timer. (eksklusive sagerne).

Jeg brugte hvid PLA med 50% fyldning og en laghøjde på 2 mm. Du kan ændre disse værdier, hvis det er nødvendigt, det skulle fungere fint, men sørg for, at de små dele har 100% udfyldning, for styrke.

Når filerne er blevet udskrevet, kan du bruge sandpapir eller en håndfil og rense de udskrevne dele, især de links, hvor delene glider gennem hinanden. Udglatning af leddene vil gøre mekanismen glat og vil give mindre modstand mod servoen. Denne proces kan tage så lang tid som du vil, da man kan gå tabt og forsøge at få de udskrevne dele til at se perfekte ud.

Ekstra noter: Du kan bore hullerne i de 3D-trykte dele igen ved hjælp af en 3 mm bit. Alle huller er af samme størrelse. Dette vil gøre det lettere, mens møtrikkerne skrues i senere i samlingen.

Trin 4: Sæt Ewon sammen

At sætte Ewon sammen
At sætte Ewon sammen
At sætte Ewon sammen
At sætte Ewon sammen
At sætte Ewon sammen
At sætte Ewon sammen
At sætte Ewon sammen
At sætte Ewon sammen

Inden vi starter med samlingen er der kun få ændringer, der er nødvendige for de udskrevne dele. Filerne med navnet servolink skal være forsynet med servolinks, der følger med servoen, hvilket får de 3d -udskrevne links til at forbinde godt med servoen.

Montering af Ewon skal være lige frem. Jeg har vedhæftet billeder, så du kan følge med.

Ekstra bemærkninger: Sørg for ikke at stramme bolten eller skruen for meget, da dette kan ødelægge og slitage de udskrevne dele.

Trin 5: Tilslutning af Ewon

Tilslutning af Ewon
Tilslutning af Ewon
Tilslutning af Ewon
Tilslutning af Ewon
Tilslutning af Ewon
Tilslutning af Ewon

Vi er ved det sidste trin for at få Ewon til at komme til live. Her er ledningsdiagrammet for komponenterne sammen med billeder, der viser forbindelsen.

  • Servodriver er forbundet til I2C -benene, der er SDA og SCL for RPI.
  • Displayet er forbundet til RX- og TX -benene på RPI
  • Mikrofon og højttalere er tilsluttet USB -lydkortet, som er forbundet til RPI via USB -porten.

Advarsel: Vær forsigtig med at kortslutte din RPI. Kontroller alle dine forbindelser to gange, og sørg for, at du ikke har begået fejl. Alt tilbehør, der er højttaler, servodriver og display, drives af et separat 5v -batteri og bruger ikke Raspberry Pi 5v -linjen. Raspberry pi bruges kun til at sende data til tilbehøret, men ikke til at drive dem.

Trin 6: Hej Ewon! Kan du høre mig?

Hej Ewon! Kan du høre mig?
Hej Ewon! Kan du høre mig?

Så vi har vedhæftet alt vores tilbehør og installeret alle de nødvendige biblioteker. Du kan starte Ewon ved at køre shell -scriptet ved hjælp af./run Ewon.shMen hvad er dette.sh -script? Ewon bruger mange forskellige biblioteker med forskellige scripts (Google -assistent SDK, Snowboy, Adafruit osv.). Alle scripts placeres i deres respektive mapper. (Vi kan flytte alle filerne på samme sti og have alle scripts organiseret, men i øjeblikket tillader nogle af bibliotekerne ikke at flytte kildefilerne, så foreløbig vil vi bare beholde dem på deres respektive placeringer). er shell -scripts, der kører alle disse scripts et efter et fra hvert sted, så du ikke behøver manuelt at gå til hvert sted og køre scripts. Dette gør det lettere at håndtere alle kommandoerne.

Når du har kørt shell -scriptet, skal du bare sige "Hey Ewon!" og du skulle se Ewon begynde at lytte til dig. Nu kan du bruge Ewon som google assistent og tale til det, og du kan se Ewon ændre udtryk fra det, du siger. Prøv noget i stil med “Hey Ewon! Jeg er ked af det i dag “og du kan se Ewon være ked af det med dig. Spørg Ewon om en vittighed, og se det grine af vittigheden.

Trin 7: Hvad er det næste?

Ewon stopper ikke her. Ewon har nu en måde at opdage og vise følelser på, men vi kan få det til at gøre meget mere. Dette er blot begyndelsen.

I den kommende opdatering arbejder vi på, hvordan man laver

  • Ewon registrerer ansigter og sporer dit ansigt og bevæger sig sammen med dit ansigt.
  • Vi tilføjer lydeffekter for at give karakteren en ekstra dybde.
  • Tilføj mobilitet, så Ewon kan bevæge sig sammen med dig.

Bemærk: På grund af den nuværende situation er det blevet meget vanskeligt at skaffe dele til projektet. Dette fik mig til at ændre design og funktionalitet i betragtning af de tanker, jeg havde i min beholdning. Men så snart jeg får fingrene i alle delene, opdaterer jeg ovenstående projekt.

Opdateringer:

  • Lavet nogle ændringer i koden, fjernet shell script.
  • Tilføjet et rektangulært hus til EWON.

Anbefalede: