Innehållsförteckning:

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

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

Video: EWON Raspberry Pi Powered Home Robot: 7 steg (med bilder)
Video: Companion Robot: Overview - Raspberry Pi | Arduino | DIY Robotics 2024, Juli
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ölj mer av författaren:

Heart Visualizer | Se ditt hjärta slå
Heart Visualizer | Se ditt hjärta slå
Heart Visualizer | Se ditt hjärta slå
Heart Visualizer | Se ditt hjärta 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 »

Jag såg nyligen att jag tittade på många Netflix-serier på grund av den nuvarande situationen, jag hoppas att ni alla är säkra och jag såg att säsong 5 av Black Mirror släpptes. En antologiserie som kretsar kring en grupp människors personliga liv och hur tekniken manipulerar deras beteende.

Och ett av de avsnitt som fångade min uppmärksamhet var Rachel, Jack och Ashley Too. En av huvudpersonerna i den här serien är en hemmarobot som heter Ashley O och den roboten har mycket karaktär runt sig och jag tänkte själv att jag borde bygga en, det är ett bra projekt att komma igång med programmering om inte det då åtminstone Jag kan programmera det till att skratta åt mina skämt.!

Vad / Vem är Ewon? Vad kan jag göra?

Så innan jag började arbeta med det här projektet satte jag upp några grundregler som ska följas. Detta projekt måste vara

  • Lätt för alla att testa
  • Inte bara om att vara söt utan också vara användbar så att den inte hamnar i en hylla
  • Modulär, så att du kan fortsätta lägga till nya funktioner.

Efter att ha ställt in denna regel bestämde jag mig för att använda Google Assistant SDK. Denna SDK har många funktioner som jag letade efter och om du blir uttråkad av Ewon använder du alltid den som en Google Home -enhet och gör vad ett Google -hem gör.

Det Ewon kommer att göra är att lägga till en karaktär i Google -assistenten. Det är att visa känslor och reagera på vad användaren säger. Nu är det inte bara rösten du hör utan du får också se hur du reagerar.

OBS: Denna instruerbara är under utveckling. Jag kommer snart att ladda upp alla relevanta filer. Tack

Steg 1: Delar som krävs för Ewon

ELEKTRONIK

  • Raspberry Pi
  • Servo SG90 (x4)
  • Servo MG995 - standard (x2)
  • PCA9685 16-kanals servodrivrutin
  • USB -ljudkort
  • Mikrofon
  • Högtalare (vilken liten högtalare som helst kommer att göra något liknande det här)
  • Manliga och kvinnliga stifthuvudkontakter
  • Bakbord
  • Nextion Display

FÄSTAR OCH LAGER

  • M3*10 mm (x10)
  • M3*8 mm (x10)
  • M3 -muttrar (x20)
  • Lager

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

ANDRA MATERIAL

  • Standoff

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

VERKTYG

3d skrivare

Steg 2: Förstå Ewon och programmering

Förstå Ewon och programmering
Förstå Ewon och programmering
Förstå Ewon och programmering
Förstå Ewon och programmering
Förstå Ewon och programmering
Förstå Ewon och programmering

Innan jag börjar med programmeringsaspekten, låt mig kort förklara blockdiagrammet för Ewons kretsar.

RPI (Raspberry pi) är systemets hjärna. Servodrivrutin som styrs av RPI driver servon. Display styrd av RPI med seriell kommunikation för att visa känslor och slutligen mikrofon och högtalare som används för att kommunicera med Ewon. Nu när vi vet vilken hårdvara som gör det, låt oss börja programmera Ewon.

Installera Google Assistant SDK

Låt mig förklara de två anledningarna till att jag planerade att använda Google Assistant:

  • Jag ville att Ewon inte bara skulle vara en rolig robot utan också en användbar. Google Assistant SDK har redan massor av resurser som du kan använda för att öka funktionaliteten hos Ewon.
  • Du kan också använda åtgärder på google och dialogflöde för att ge Ewon möjlighet att chatta med fördefinierade svar. För tillfället kommer vi bara att koncentrera oss på det grundläggande SDK.

Låt oss komma igång med att installera Google Assistant SDK. Det här borde inte vara svårt eftersom det finns massor av resurser som hjälper dig att konfigurera Google Assistant SDK på RPI. Du kan följa denna handledning längs:

Handledning:

Efter slutet av ovanstående process bör du kunna klicka på enter på tangentbordet och prata med assistenten. Det handlar om att installera Google Assistant SDK.

Vad ska jag heta det? Ewon?

Hej Google! Det är det som används för att börja prata med Google Assistant och tyvärr tillåter Google inte att andra anpassade wake -word används. Så låt oss se hur vi kan ändra detta så att Google Assistant utlöses när någon ringer Ewon.

Snowboy: en mycket anpassningsbar motor för detektering av heta ord som är inbäddad i realtid kompatibel med Raspberry Pi, (Ubuntu) Linux och Mac OS X.

Ett hett ord (även känt som wake word eller trigger word) är ett nyckelord eller en fras som datorn ständigt lyssnar efter som en signal för att utlösa andra åtgärder.

Låt oss börja med att installera Snowboy på RPI. Kom ihåg att aktivera den virtuella miljön för att installera Snowboy som du gjorde för att installera Assistant SDK. Allt vi installerar härifrån måste installeras i den virtuella miljön. Att installera Snowboy kan vara lite knepigt men den här länken ska hjälpa dig att installera det utan problem. Länk:

Här är en sammanfattad installationsprocess om ovanstående länk blir förvirrande eller installationen misslyckas.

$ [sudo] apt-get install libatlas-base-dev swig $ [sudo] pip installera 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

Efter installationen kör demofilen [som finns i mappen - snowboy/examples/Python3/] för att se om allt fungerar perfekt.

Obs! Du kan enkelt ändra namnet på din robot till något annat också. Allt du behöver göra är att gå till https://snowboy.kitt.ai/ och träna ett anpassat hotword och sedan placera det heta ordet i samma mapp som ewon.pmdl.

Kan Ewon förstå känslor?

Nu när Ewon har ett namn kommer jag att använda Ewon istället för att kalla det en robot. Okej så känslor, korta svar nej, Ewon kan inte förstå känslor så det vi ska göra här är att få Ewon att upptäcka känslor i vårt tal med hjälp av nyckelord och sedan spela motsvarande ansiktsuttryck associerat med det.

För att uppnå detta är vad jag har gjort ett enkelt sentimentanalysskript. Det finns 6 olika känsloklasser.

Bild
Bild

Glad, ledsen, ilska, rädsla, avsky och överraskning. Dessa är de viktigaste känsloklasserna och var och en av dem har en lista med nyckelord som är associerade med känslan. (till exempel bra, trevligt, upphetsat, alla kommer under glada känslor).

Så när vi säger något av sökorden i känsloklassen utlöses motsvarande känsla. Så när du säger "Hej Ewon!" och vänta på att Ewon ska tala och jag fortsätter att säga "Idag är en trevlig dag!", den tar upp sökordet "Trevligt" och utlöser motsvarande känsla "Happy" som utlöser ansiktsuttrycket för Happy.

Är dessa öron på Ewon?

Nästa steg skulle vara att använda den triggade känslan för att köra respektive ansiktsuttryck. Med Ewon noterar ansiktsuttrycket men rör örat och nacken med servon och ändrar displayen för att ändra ögonrörelser.

Först servorna, för att köra detta är det ganska enkelt att du kan följa denna handledning för att konfigurera Adafruit servobibliotek. Länk:

Bild
Bild

Sedan tilldelar vi max- och minimivärdet för alla servon. Detta görs genom att manuellt flytta varje servo och kontrollera dess gränser. Du kan göra detta när du har monterat Ewon.

Ögon för Ewon

För ögonen använder jag en Nextion -skärm som har en massa bilder som nedan.

Bild
Bild

Det är en bildsekvens jag designade i Photoshop som när den spelas i sekvens gör en animering. En liknande sekvens skapades för alla känslor. Nu är det bara att ringa till den specifika bildsekvens som utgör animationen för att visa känslor. Filerna finns i mappen "Visa filer", nedladdningslänken nedan.

Till sist

Att sätta ihop allt när den glada känslan utlöses av manuset kallas den glada funktionen och servon rör sig till de redan inställda vinklarna och displayen spelar animationen för glada ögon. Så detta är hur vi uppnår "förståelse" av mänskliga känslor. Den här metoden är inte den bästa och det finns tillfällen då sökord inte faller i samma känsla som fördefinierade, men för tillfället fungerar det tillräckligt bra och du kan alltid lägga till fler sökord för att öka upptäcktens noggrannhet. Dessutom kan detta ersättas av en mycket mer utbildad modell för känsleanalyser som Paralleldots Emotion -analysmodell för att få bättre resultat. Men när jag försökte det var det många förseningar som skulle få Ewon att reagera långsammare. Kanske kommer Ewon version 2.0 att ha något liknande.

Detta är LÄNKEN till alla filer som behövs för att köra EWON. Ladda ner filen och följ stegen nedan:

  • Packa upp filen placera den här mappen (Ewon) hemma/pi/
  • Lägg till enhets -ID och modell -ID i filen main.py. ID: t erhålls när du installerar Google Assistant SDK.
  • Öppna kommandotolken och kör källan till följande kommandon:

källa env/bin/activatepython main.py -modeller/Ewon.pmdl

Steg 3: Skriva ut kroppen

Du hittar 3d -filerna här:

Nu när vi alla är inställda med hjärnan i Ewon är det dags att skriva ut sin kropp. Det finns 18 unika delar att skriva ut, de flesta av dem är ganska små, med en total utskriftstid på cirka 15-20 timmar. (exklusive fallen).

Jag använde vit PLA med 50% fyllning och en lagerhöjd på 2 mm. Du kan ändra dessa värden om det behövs det ska fungera bra men se till att de små delarna har 100% fyllning, för styrka.

När filerna har skrivits ut kan du använda sandpapper eller en handfil och rengöra de utskrivna delarna, särskilt länkarna där delarna glider genom varandra. Utjämning av lederna gör mekanismen smidig och ger mindre motstånd mot servon. Denna process kan ta så lång tid som du vill eftersom du kan gå vilse när du försöker få de tryckta delarna att se perfekta ut.

Extra anmärkningar: Du kan borra om hålen i de 3D-tryckta delarna med en 3 mm bit. Alla hål är av samma dimensioner. Detta kommer att göra det lättare när du skruvar i muttrarna senare i aggregatet.

Steg 4: Sätta ihop Ewon

Att sätta ihop Ewon
Att sätta ihop Ewon
Att sätta ihop Ewon
Att sätta ihop Ewon
Att sätta ihop Ewon
Att sätta ihop Ewon
Att sätta ihop Ewon
Att sätta ihop Ewon

Innan vi börjar med monteringen behövs det få ändringar av de tryckta delarna. Filerna som heter servolänk måste vara utrustade med servolänkar som följer med servon, detta gör att de 3d -tryckta länkarna ansluter väl till servon.

Montering av Ewon ska vara rak framåt. Jag har bifogat bilder som du kan följa med.

Extra anmärkningar: Se till att du inte drar åt någon av bultarna eller skruvarna för mycket eftersom det kan gå sönder och slita ut de tryckta delarna.

Steg 5: Anslutning av Ewon

Anslutning av Ewon
Anslutning av Ewon
Anslutning av Ewon
Anslutning av Ewon
Anslutning av Ewon
Anslutning av Ewon

Vi är på det sista steget för att få Ewon till liv. Här är kopplingsschemat för komponenterna tillsammans med bilder som visar anslutningen.

  • Servodrivrutinen är ansluten till I2C -stiften som är SDA och SCL för RPI.
  • Displayen är ansluten till RX- och TX -stiften på RPI
  • Mikrofon och högtalare är anslutna till USB -ljudkortet som är anslutet till RPI via USB -porten.

Varning: Var försiktig med att korta din RPI. Kontrollera alla dina anslutningar två gånger och se till att du inte har gjort några misstag. Alla tillbehör som är högtalare, servodrivrutin och skärm drivs av ett separat 5v -batteri och använder inte Raspberry Pi 5v -linjen. Raspberry pi används bara för att skicka data till tillbehören men inte för att driva dem.

Steg 6: Hej Ewon! Kan du höra mig?

Hej Ewon! Kan du höra mig?
Hej Ewon! Kan du höra mig?

Så vi har bifogat alla våra tillbehör och installerat alla nödvändiga bibliotek. Du kan starta Ewon genom att köra skalskriptet med./run Ewon.sh Men vad är detta.sh -skript? Ewon använder många olika bibliotek med olika skript (Google Assistant SDK, Snowboy, Adafruit, etc). Alla skript placeras i respektive mapp. (Vi kan flytta alla filer i samma sökväg och ha alla skript organiserade men för närvarande tillåter vissa av biblioteken inte att flytta källfilerna, så för närvarande kommer vi bara att behålla dem på sina respektive platser).sh är skalskript som kör alla dessa skript ett efter ett från varje plats så att du inte behöver gå manuellt till varje plats och köra skripten. Detta gör det enklare att hantera alla kommandon.

När du har kört skalskriptet säger du bara "Hej Ewon!" och du borde se Ewon börja lyssna på dig. Nu kan du använda Ewon som google assistent och prata med det och du kan se Ewon ändra uttryck från vad du säger. Prova något som”Hej Ewon! Jag är ledsen idag”och du kan se att Ewon är ledsen med dig. Be Ewon om ett skämt och se det skratta åt skämtet.

Steg 7: Vad är nästa?

Ewon stannar inte här. Ewon har nu ett sätt att upptäcka och visa känslor men vi kan få det att göra mycket mer. Detta är bara början.

I den kommande uppdateringen kommer vi att arbeta med hur man gör

  • Ewon upptäcker ansikten och spårar ditt ansikte och rör dig med ditt ansikte.
  • Vi kommer att lägga till ljudeffekter för att ge ett extra djup till karaktären.
  • Lägg till rörlighet så att Ewon kan följa med dig.

Obs: På grund av den nuvarande situationen har det blivit mycket svårt att skaffa delar till projektet. Detta fick mig att ändra design och funktionalitet med tanke på tankarna jag hade i mitt lager. Men så snart jag får tag på alla delar kommer jag inte att uppdatera projektet ovan.

Uppdateringar:

  • Gjorde några ändringar i koden, tog bort skalskript.
  • Lade till en rektangulär kaross för EWON.

Rekommenderad: