Innholdsfortegnelse:

EWON Raspberry Pi Powered Home Robot: 7 trinn (med bilder)
EWON Raspberry Pi Powered Home Robot: 7 trinn (med bilder)

Video: EWON Raspberry Pi Powered Home Robot: 7 trinn (med bilder)

Video: EWON Raspberry Pi Powered Home Robot: 7 trinn (med bilder)
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

Av sharathnaikSharathnaik.com Følg mer av forfatteren:

Heart Visualizer | Se hjertet ditt slå
Heart Visualizer | Se hjertet ditt slå
Heart Visualizer | Se hjertet ditt slå
Heart Visualizer | Se hjertet ditt slå
DIY- Cool Denim Pocket Notebook (med bilder)
DIY- Cool Denim Pocket Notebook (med bilder)
DIY- Cool Denim Pocket Notebook (med bilder)
DIY- Cool Denim Pocket Notebook (med bilder)
PUPPI
PUPPI
PUPPI
PUPPI

Om: Engineering and Design Mer om sharathnaik »

Jeg fant nylig at jeg ser på mange Netflix-serier på grunn av den nåværende situasjonen, jeg håper at dere alle er trygge, og jeg så at sesong 5 av Black Mirror ble utgitt. En antologiserie som kretser rundt en gruppe menneskers personlige liv og hvordan teknologi manipulerer deres oppførsel.

Og en av episodene som fanget min oppmerksomhet var Rachel, Jack og Ashley Too. En av hovedpersonene i denne serien er en hjemmerobot ved navn Ashley O, og den roboten har mye karakter rundt seg, og jeg tenkte selv at jeg burde bygge en, det er et godt prosjekt å komme i gang med programmering om ikke det da i det minste Jeg kan programmere den til å le av vitsene mine.!

Hva / Hvem er Ewon? Hva kan den gjøre?

Så før jeg begynte å jobbe med dette prosjektet satte jeg noen grunnregler som skal følges. Dette prosjektet måtte være

  • Enkelt for alle å prøve
  • Ikke bare om å være søt, men også være nyttig, så det ikke havner i en hylle
  • Modulær, slik at du kan fortsette å legge til nye funksjoner.

Etter å ha satt denne regelen bestemte jeg meg for å bruke Google Assistant SDK. Denne SDK -en har mange funksjoner som jeg var på utkikk etter, og hvis du blir lei av Ewon, bruker du den alltid som en Google Home -enhet og gjør hva et Google -hjem gjør.

Det Ewon skal gjøre er å legge til et tegn i Google -assistenten. Det er å vise følelser og reagere på det brukeren sier. Nå er det ikke bare stemmen du hører, men du får også se hvordan du reagerer.

MERK: Denne instruerbare er under utvikling. Jeg vil snart laste opp alle relevante filer. Takk skal du ha

Trinn 1: Deler påkrevd for Ewon

ELEKTRONIKK

  • Bringebær PI
  • Servo SG90 (x4)
  • Servo MG995 - standard (x2)
  • PCA9685 16-kanals servodriver
  • USB lydkort
  • Mikrofon
  • Høyttalere (enhver liten høyttaler vil gjøre, noe sånt som dette)
  • Mannlige og kvinnelige pin header -kontakter
  • Brødbrett
  • Nextion Display

FESTER OG LAGER

  • M3*10 mm (x10)
  • M3*8 mm (x10)
  • M3 nøtter (x20)
  • Peiling

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

ANDRE MATERIALER

  • Standoff

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

VERKTØY

3D -skriver

Trinn 2: Forstå Ewon og programmering

Forstå Ewon og programmering
Forstå Ewon og programmering
Forstå Ewon og programmering
Forstå Ewon og programmering
Forstå Ewon og programmering
Forstå Ewon og programmering

Før jeg begynner med programmeringsaspektet, la meg kort forklare blokkdiagrammet til kretsene til Ewon.

RPI (Raspberry pi) er hjernen i systemet. Servodriver styrt av RPI driver servoen. Skjerm kontrollert av RPI med seriell kommunikasjon for å vise følelser, og til slutt mikrofon og høyttalere som brukes til å kommunisere med Ewon. Nå som vi vet hvilken maskinvare som gjør det, la oss begynne å programmere Ewon.

Installerer Google Assistant SDK

La meg forklare de to grunnene til at jeg planla å bruke Google Assistant:

  • Jeg ville at Ewon ikke bare skulle være en morsom robot, men også en nyttig robot. Google Assistant SDK har allerede massevis av ressurser du kan bruke til å øke funksjonaliteten til Ewon.
  • Du kan også bruke handlinger på google og dialogflyt for å gi Ewon muligheten til å chatte med forhåndsdefinerte svar. Foreløpig vil vi bare konsentrere oss om den grunnleggende SDK.

La oss komme i gang ved å installere Google Assistant SDK. Dette burde ikke være vanskelig, siden det er massevis av ressurser som hjelper deg med å sette opp Google Assistant SDK på RPI. Du kan følge denne opplæringen sammen:

Opplæring:

Etter at prosessen ovenfor er fullført, bør du kunne klikke enter på tastaturet og snakke med assistenten. Det handler om å installere Google Assistant SDK.

Hva skal jeg kalle det? Ewon?

Hei Google! Det er det som brukes til å begynne å snakke med Google Assistant, og dessverre tillater Google ikke at andre egendefinerte vekkeord brukes. Så la oss se hvordan vi kan endre dette slik at google -assistent utløses når noen ringer til Ewon.

Snowboy: en svært tilpassbar hot word-deteksjonsmotor som er innebygd i sanntid kompatibel med Raspberry Pi, (Ubuntu) Linux og Mac OS X.

Et varmt ord (også kjent som vekkeord eller utløserord) er et nøkkelord eller uttrykk som datamaskinen stadig lytter etter som et signal for å utløse andre handlinger.

La oss starte med å installere Snowboy på RPI. Husk å aktivere det virtuelle miljøet for å installere Snowboy som du gjorde for å installere Assistant SDK. Alt vi installerer herfra må installeres i det virtuelle miljøet. Det kan være litt vanskelig å installere Snowboy, men denne lenken skal hjelpe deg med å installere den uten problemer. Lenke:

Her er en oppsummert installasjonsprosess hvis koblingen ovenfor blir forvirrende eller installasjonen mislykkes.

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

Når den er installert, kjør demofilen [funnet i mappen - snowboy/eksempler/Python3/] for å se om alt fungerer perfekt.

Merk: Du kan enkelt endre navnet på roboten din til noe annet også. Alt du trenger å gjøre er å gå til https://snowboy.kitt.ai/ og trene et tilpasset hotword og deretter plassere det varme ordet i samme mappe som ewon.pmdl.

Kan Ewon forstå følelser?

Nå som Ewon har et navn, bruker jeg Ewon i stedet for å kalle det en robot. Ok, følelser, korte svar nei, Ewon kan ikke forstå følelser, så det vi skal gjøre her er å få Ewon til å oppdage følelser i talen vår ved å bruke søkeord og deretter spille det tilsvarende ansiktsuttrykket som er knyttet til det.

For å oppnå dette er det jeg har gjort et enkelt sentimentanalyseskript. Det er 6 forskjellige følelsestimer.

Bilde
Bilde

Glad, trist, sinne, frykt, avsky og overraskelse. Dette er de viktigste følelsesklassene, og hver av dem har en liste over søkeord knyttet til følelsen. (for eksempel bra, hyggelig, spent, alle kommer under glade følelser).

Så når vi sier noen av søkeordene i følelsesklassen, utløses den tilsvarende følelsen. Så når du sier "Hei Ewon!" og vent på at Ewon skal snakke, og jeg fortsetter å si "I dag er en fin dag!", den henter søkeordet "Hyggelig" og utløser den tilsvarende følelsen "Happy" som utløser ansiktsuttrykket for Happy.

Er disse ørene på Ewon?

Det neste trinnet vil være å bruke den utløste følelsen til å kjøre det respektive ansiktsuttrykket. Med Ewon bemerker ansiktsuttrykket, men beveger øret og nakken ved hjelp av servoer og endrer displayet for å endre øyebevegelsene.

Først servoer, for å kjøre dette er det ganske enkelt. Du kan følge denne opplæringen for å sette opp Adafruit servobibliotek. Lenke:

Bilde
Bilde

Deretter tildeler vi maks- og minimumsverdien for alle servoene. Dette gjøres ved å flytte hver servo manuelt og kontrollere grensene. Du kan gjøre dette når du har satt sammen Ewon.

Øyne for Ewon

For øynene bruker jeg en Nextion -skjerm som har en haug med bilder som nedenfor.

Bilde
Bilde

Det er en bildesekvens jeg designet i Photoshop, som når den spilles i rekkefølge lager en animasjon. En lignende sekvens ble opprettet for alle følelser. Nå er det bare å ringe den spesifikke bildesekvensen som utgjør animasjonen for å vise følelser. Filene er inne i mappen "Vis filer", nedlastingskoblingen nedenfor.

Endelig

Når alt settes sammen når den glade følelsen utløses av manuset, kalles den lykkelige funksjonen og servoen beveger seg til de allerede angitte vinklene og displayet spiller det lykkelige øye -animasjonen. Så dette er hvordan vi oppnår "forståelse" av menneskelige følelser. Denne metoden er ikke den beste, og det er tider når søkeord ikke faller i samme følelse som forhåndsdefinerte, men foreløpig fungerer dette bra nok, og du kan alltid legge til flere søkeord for å øke nøyaktigheten av deteksjon. Videre kan dette erstattes av en mye mer trent følelsesanalysemodell som Paralleldots Emotion analysemodell for å få bedre resultater. Men da jeg prøvde det, var det mange forsinkelser som ville få Ewon til å reagere tregere. Kanskje Ewon versjon 2.0 vil ha noe slikt.

Dette er lenken til alle filene som trengs for å kjøre EWON. Last ned filen og følg trinnene nedenfor:

  • Pakk ut filen, plasser denne mappen (Ewon) hjemme/pi/
  • Legg til enhets -ID og modell -ID i main.py -filen. ID -en oppnås ved installering av Google Assistant SDK.
  • Åpne ledeteksten og kjør kilden til følgende kommandoer:

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

Trinn 3: Skrive ut kroppen

Du finner 3d -filene her:

Nå som vi alle er klar med hjernen til Ewon, er det på tide å skrive ut kroppen. Det er 18 unike deler som skal skrives ut, de fleste av dem er ganske små, med en total utskriftstid på rundt 15-20 timer. (unntatt sakene).

Jeg brukte hvit PLA med 50% utfylling og en laghøyde på 2 mm. Du kan endre disse verdiene hvis det er nødvendig, det skal fungere fint, men sørg for at de små delene har 100% utfylling, for styrke.

Etter at filene er skrevet ut kan du bruke sandpapir eller en håndfil og rense ut de trykte delene, spesielt koblingene der delene glir gjennom hverandre. Utjevning av leddene vil gjøre mekanismen jevn og gi mindre motstand mot servoen. Denne prosessen kan ta så lang tid du vil, da du kan gå deg vill når du prøver å få de trykte delene til å se perfekte ut.

Ekstra notater: Du kan bore hullene i 3d-trykte deler på nytt med en 3 mm bit. Alle hullene er av samme dimensjon. Dette vil gjøre det lettere mens du skrur inn mutrene senere i monteringen.

Trinn 4: Å sette sammen Ewon

Å sette Ewon sammen
Å sette Ewon sammen
Å sette Ewon sammen
Å sette Ewon sammen
Å sette Ewon sammen
Å sette Ewon sammen
Å sette Ewon sammen
Å sette Ewon sammen

Før vi begynner med monteringen er det få endringer som trengs på de trykte delene. Filene som heter servolink må være utstyrt med servolink som følger med servoen, dette får de 3d -trykte koblingene til å koble godt til servoen.

Montering av Ewon skal være rett frem. Jeg har lagt ved bilder som du kan følge med på.

Ekstra merknader: Pass på at du ikke strammer for mye av bolten eller skruen, da dette kan ødelegge og slite ut de trykte delene.

Trinn 5: Tilkobling av Ewon

Kabling opp Ewon
Kabling opp Ewon
Kabling opp Ewon
Kabling opp Ewon
Kabling av Ewon
Kabling av Ewon

Vi er på det siste trinnet for å få Ewon til å leve. Her er koblingsskjemaet for komponentene sammen med bilder som viser tilkoblingen.

  • Servodriveren er koblet til I2C -pinnene som er SDA og SCL for RPI.
  • Skjermen er koblet til RX- og TX -pinnene på RPI
  • Mikrofon og høyttalere er koblet til USB -lydkortet som er koblet til RPI via USB -porten.

Advarsel: Vær forsiktig med å kortslutte RPI -en. Sjekk alle tilkoblingene to ganger, og kontroller at du ikke har gjort noen feil. Alt tilbehøret som er høyttaler, servodriver og skjerm drives av et separat 5v batteri og bruker ikke Raspberry Pi 5v -linjen. Raspberry pi brukes bare til å sende data til tilbehøret, men ikke for å drive dem.

Trinn 6: Hei Ewon! Kan du høre meg?

Hei Ewon! Kan du høre meg?
Hei Ewon! Kan du høre meg?

Så vi har festet alt vårt tilbehør og installert alle nødvendige biblioteker. Du kan starte Ewon ved å kjøre skallskriptet ved hjelp av./run Ewon.sh Men hva er dette.sh -skriptet? Ewon bruker mange forskjellige biblioteker med forskjellige skript (Google -assistent SDK, Snowboy, Adafruit, osv.). Alle skriptene er plassert i de respektive mappene. (Vi kan flytte alle filene i samme bane og ha alle skriptene organisert, men for øyeblikket tillater ikke noen av bibliotekene å flytte kildefilene, så foreløpig vil vi bare beholde dem på sine respektive steder).sh er skallskript som kjører alle disse skriptene ett etter ett fra hvert sted, slik at du ikke trenger å gå manuelt til hvert sted og kjøre skriptene. Dette gjør det lettere å håndtere alle kommandoene.

Når du kjører skallskriptet, bare si "Hei Ewon!" og du bør se Ewon begynne å lytte til deg. Nå kan du bruke Ewon som google -assistent og snakke med den, og du kan se Ewon endre uttrykk fra det du sier. Prøv noe som “Hei Ewon! Jeg er trist i dag “og du kan se Ewon være trist med deg. Be Ewon om en vits og se den le av vitsen.

Trinn 7: Hva er det neste?

Ewon stopper ikke her. Ewon har nå en måte å oppdage og vise følelser på, men vi kan få det til å gjøre mye mer. Dette er bare begynnelsen.

I den kommende oppdateringen vil vi jobbe med hvordan vi lager

  • Ewon oppdager ansikter og sporer ansiktet ditt og beveger deg med ansiktet ditt.
  • Vi vil legge til lydeffekter for å gi karakteren en ekstra dybde.
  • Legg til mobilitet slik at Ewon kan flytte sammen med deg.

Merk: På grunn av den nåværende situasjonen har det blitt svært vanskelig å skaffe deler til prosjektet. Dette fikk meg til å endre design og funksjonalitet med tanke på tankene jeg hadde i beholdningen min. Men så snart jeg får tak i alle delene, oppdaterer jeg prosjektet ovenfor.

Oppdateringer:

  • Gjort noen endringer i koden, fjernet skallskriptet.
  • Lagt til et rektangulært karosseri for EWON.

Anbefalt: