Tartalomjegyzék:

EWON Raspberry Pi Powered Home Robot: 7 lépés (képekkel)
EWON Raspberry Pi Powered Home Robot: 7 lépés (képekkel)

Videó: EWON Raspberry Pi Powered Home Robot: 7 lépés (képekkel)

Videó: EWON Raspberry Pi Powered Home Robot: 7 lépés (képekkel)
Videó: 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

Kövesse a szerző további információit:

Szívmegjelenítő | Lásd a szívdobbanásodat
Szívmegjelenítő | Lásd a szívdobbanásodat
Szívmegjelenítő | Lásd a szívdobbanásodat
Szívmegjelenítő | Lásd a szívdobbanásodat
DIY- Cool Denim Pocket Notebook (képekkel)
DIY- Cool Denim Pocket Notebook (képekkel)
DIY- Cool Denim Pocket Notebook (képekkel)
DIY- Cool Denim Pocket Notebook (képekkel)
PUPPI
PUPPI
PUPPI
PUPPI

Névjegy: Mérnöki tevékenység és tervezés További információ a sharathnaikról »

Nemrég azon kaptam magam, hogy sok Netflix sorozatot nézek a jelenlegi helyzet miatt, remélem, mindannyian biztonságban vagytok, és láttam, hogy megjelent a Fekete Tükör 5. évadja. Antológia sorozat, amely az emberek személyes életének egy csoportja körül forog, és arról, hogy a technológia hogyan manipulálja a viselkedésüket.

És az egyik epizód, amely felkeltette a figyelmemet, Rachel, Jack és Ashley is. Ennek a sorozatnak az egyik főszereplője egy Ashley O nevű otthoni robot, és ez a robot rengeteg karakterrel van körülötte, és magam is úgy gondoltam, hogy építenem kell egyet, ez jó projekt a programozás megkezdéséhez, ha nem akkor legalább Beprogramozhatom, hogy nevessen a vicceimen.!

Mi / Ki az Ewon? Mit tehet?

Tehát mielőtt elkezdtem dolgozni ezen a projekten, néhány alapvető szabályt határoztam meg, amelyeket be kell tartani. Ennek a projektnek kellett lennie

  • Könnyen kipróbálható mindenki számára
  • Nem csak arról, hogy aranyos, hanem hasznos is, hogy ne kerüljön a polcra
  • Moduláris, így folyamatosan új funkciókat adhat hozzá.

A szabály beállítása után úgy döntöttem, hogy a Google Segéd SDK -t használom. Ez az SDK sok olyan funkciót kínál, amit kerestem, és ha unja az Ewont, akkor mindig használja a Google Home eszközként, és tegye azt, amit a Google otthona.

Ewon egy karaktert ad hozzá a Google asszisztenshez. Ez az érzelmek kimutatását és a felhasználó mondanivalójára való reagálást. Most nem csak a hangot hallja, hanem azt is, hogy hogyan reagáljon.

MEGJEGYZÉS: Ez az utasítás fejlesztés alatt áll. Hamarosan feltöltöm az összes releváns fájlt. Köszönöm

1. lépés: Az Ewonhoz szükséges alkatrészek

ELEKTRONIKA

  • Raspberry Pi
  • Szervo SG90 (x4)
  • Szervo MG995 - standard (x2)
  • PCA9685 16 csatornás szervo meghajtó
  • USB hangkártya
  • Mikrofon
  • Hangszórók (Bármilyen kis hangszóró megteszi, valami hasonló)
  • Férfi és női tüskés fejcsatlakozók
  • Kenyeretábla
  • Nextion kijelző

Rögzítők és csapágyak

  • M3*10 mm (x10)
  • M3*8 mm (x10)
  • M3 anyák (x20)
  • Csapágy

    • OD: 15mm ID: 6mm Szélesség: 5mm (x2)
    • OD: 22mm ID: 8mm Szélesség: 7mm (x2)

MÁS ANYAGOK

  • Tartózkodó

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

ESZKÖZÖK

3d nyomtató

2. lépés: Az Ewon és a programozás megértése

Az Ewon és a programozás megértése
Az Ewon és a programozás megértése
Az Ewon és a programozás megértése
Az Ewon és a programozás megértése
Az Ewon és a programozás megértése
Az Ewon és a programozás megértése

Mielőtt belekezdenék a programozási aspektusba, hadd röviden ismertessem az Ewon áramkörének tömbvázlatát.

Az RPI (Raspberry pi) a rendszer agya. Az RPI által vezérelt szervo meghajtó hajtja a szervót. Az RPI által vezérelt kijelző soros kommunikációval az érzelmek megjelenítésére, végül a mikrofon és a hangszórók kommunikáltak az Ewonnal. Most, hogy tudjuk, hogy mit csinál a hardver, kezdjük el az Ewon programozását.

A Google asszisztens SDK telepítése

Hadd magyarázzam el a két okot, amiért a Google Segéd használatát terveztem:

  • Azt akartam, hogy Ewon ne csak szórakoztató robot legyen, hanem hasznos is. A Google Assistant SDK rengeteg erőforrással rendelkezik, amelyekkel növelheti az Ewon funkcionalitását.
  • A Google-on és a párbeszédpanelen végzett műveletek segítségével Ewonnak lehetősége van előre meghatározott válaszokkal csevegni. Egyelőre csak az alapvető SDK -ra fogunk koncentrálni.

Kezdjük a Google asszisztens SDK telepítésével. Ennek nem lehet nehéz, mivel rengeteg erőforrás segít a Google Segéd SDK RPI -n való beállításában. Ezt az oktatóanyagot követheti:

Oktatóanyag:

A fenti folyamat befejezése után képesnek kell lennie arra, hogy az Enter billentyűre kattintva beszéljen az asszisztenssel. Mindez a Google Segéd SDK telepítéséről szól.

Minek nevezzem? Ewon?

Szia Google! Ezzel szoktak beszélni a google asszisztenshez, és sajnos a google nem engedélyezi más egyéni ébresztőszók használatát. Lássuk tehát, hogyan módosíthatjuk ezt úgy, hogy a Google asszisztens aktiválódjon, amikor valaki felhívja Ewont.

Snowboy: egy testreszabható forró szófelismerő motor, amely valós idejű beágyazva kompatibilis a Raspberry Pi, (Ubuntu) Linux és Mac OS X rendszerekkel.

A forró szó (más néven ébresztő szó vagy kiváltó szó) olyan kulcsszó vagy kifejezés, amelyet a számítógép folyamatosan hallgat, és jelzi, hogy más műveleteket indít el.

Kezdjük a Snowboy RPI -re való telepítésével. Ne felejtse el aktiválni a virtuális környezetet a Snowboy telepítéséhez, mint az Assistant SDK telepítésekor. Mindent, amit innentől kezdve telepítünk, a virtuális környezetbe kell telepíteni. A Snowboy telepítése kissé bonyolult lehet, de ez a link segít problémamentesen telepíteni. Link:

Íme egy összefoglaló telepítési folyamat, ha a fenti link zavaros vagy a telepítés sikertelen.

$ [sudo] apt-get install libatlas-base-dev swig $ [sudo] pip install pyaudio $ git klón https://github.com/Kitt-AI/snowboy $ cd snowboy/swig/Python3 $ make $ cd.. /.. $ python3 setup.py build $ [sudo] python setup.py install

A telepítés után futtassa a demo fájlt [megtalálható a mappában - snowboy/example/Python3/], hogy megnézze, minden tökéletesen működik -e.

Megjegyzés: a robot nevét könnyen megváltoztathatja másra is. Mindössze annyit kell tennie, hogy felkeresi a https://snowboy.kitt.ai/ webhelyet, és betanít egy egyéni gyorsszót, majd elhelyezi ezt a forró szót ugyanabban a mappában, mint az ewon.pmdl.

Ewon megérti az érzelmeket?

Most, hogy Ewonnak van neve, Ewont fogom használni, ahelyett, hogy robotnak nevezném. Rendben, tehát az érzelmek, rövid válaszok nem, Ewon nem tudja megérteni az érzelmeket, ezért mi itt azt fogjuk tenni, hogy Ewon kulcsszavak segítségével érzékeli az érzelmeket a beszédünkben, majd eljátssza a hozzá tartozó arckifejezést.

Ennek eléréséhez egy egyszerű érzelemelemző szkriptet tettem. 6 különböző érzelemosztály létezik.

Kép
Kép

Boldog, szomorú, harag, félelem, undor és meglepetés. Ezek a fő érzelmi osztályok, és mindegyikhez tartozik az érzelemhez kapcsolódó kulcsszavak listája. (például jó, kedves, izgatott, mind boldog érzelmeknek vannak kitéve).

Tehát amikor kimondjuk az érzelemosztály bármelyik kulcsszavát, a megfelelő érzelem aktiválódik. Tehát amikor azt mondja: "Hé Ewon!" és várja meg, amíg Ewon megszólal, és továbbra is azt mondom: "Ma szép nap!", felveszi a "Szép" kulcsszót, és elindítja a "Boldog" érzelmet, amely elindítja a Boldog arckifejezését.

Ezek a fülek Ewonon vannak?

A következő lépés a kiváltott érzelem használata a megfelelő arckifejezés futtatásához. Az Ewon esetében az arckifejezés megjegyzi, de fülét és nyakát mozgatja szervók segítségével, és megváltoztatja a kijelzőt a szemmozgások megváltoztatásához.

Először is, a szervók, ennek futtatása meglehetősen egyszerű, követheti ezt az oktatóanyagot az Adafruit szervokönyvtár beállításához. Link:

Kép
Kép

Ezután minden szervóhoz hozzárendeljük a maximális és a minimális értéket. Ez úgy történik, hogy manuálisan mozgatja az egyes szervókat, és ellenőrzi azok határait. Ezt megteheti, miután összeállította az Ewont.

Ewon szeme

A szemekhez egy Nextion kijelzőt használok, amely egy csomó képet tartalmaz, mint alább.

Kép
Kép

Ez egy Photoshopban megtervezett képsorozat, amelyet egymás után lejátszva animációt készít. Hasonló sorrendet hoztak létre minden érzelemre. Most, hogy megjelenítsen bármilyen érzelmet, mindössze annyit kell tennie, hogy felhívja az animációt alkotó képsorozatot. A fájlok a "Fájlok megjelenítése" mappában találhatók, az alábbi letöltési link.

Végül

Ha mindent összerakunk, amikor a boldog érzelmet a szkript kiváltja, a boldog függvény meghívásra kerül, és a szervó a már beállított szögekre mozog, és a kijelző lejátssza a boldog szem animációt. Így érjük el az emberi érzelmek "megértését". Ez a módszer nem a legjobb, és vannak olyan esetek, amikor a kulcsszavak nem esnek ugyanabba az érzelembe, mint az előre meghatározott, de egyelőre ez elég jól működik, és bármikor hozzáadhat további kulcsszavakat az észlelés pontosságának növelése érdekében. Továbbá, ez helyettesíthető egy sokkal képzettebb érzelemanalízis -modellel, mint például a Paralleldots -féle érzelemanalízis -modell, hogy jobb eredményeket érjünk el. De amikor kipróbáltam, sok késés történt, ami miatt Ewon lassabban reagált. Lehet, hogy az Ewon 2.0 verzióban lesz valami ilyesmi.

Ez a LINK az EWON futtatásához szükséges összes fájlhoz. Töltse le a fájlt, és kövesse az alábbi lépéseket:

  • Csomagolja ki a fájlt helyezze ezt a mappát (Ewon) otthon/pi/
  • Adja hozzá az eszköz azonosítóját és a modellazonosítót a main.py fájlhoz. Az azonosító a Google asszisztens SDK telepítésekor kerül beszerzésre.
  • Nyissa meg a parancssort, és futtassa a következő parancsok forrását:

source env/bin/enablepython main.py models/Ewon.pmdl

3. lépés: A test nyomtatása

A 3D fájlokat itt találja:

Most, hogy mindannyian készen állunk Ewon agyára, ideje nyomtatni a testét. 18 egyedi alkatrészt kell kinyomtatni, amelyek többsége meglehetősen kicsi, a teljes nyomtatási idő körülbelül 15-20 óra. (kivéve az eseteket).

Én fehér PLA -t használtam 50% -os töltettel és 2 mm rétegmagassággal. Ha szükséges, módosíthatja ezeket az értékeket, de jól kell működnie, de győződjön meg arról, hogy a kis alkatrészek 100% -ban kitöltöttek, az erősség érdekében.

A fájlok kinyomtatása után csiszolópapírral vagy kézi reszelővel tisztíthatja ki a kinyomtatott részeket, különösen azokat a hivatkozásokat, amelyeken az alkatrészek átcsúsznak. Az ízületek simítása simává teszi a mechanizmust, és kevésbé ellenáll a szervónak. Ez a folyamat addig tarthat, ameddig csak akar, mert elveszhet, amikor megpróbálja tökéletesen kinézni a nyomtatott részeket.

További megjegyzések: A 3 mm-es bit segítségével újra fúrhatja a lyukakat a 3D nyomtatott részekben. Minden lyuk azonos méretű. Ez megkönnyíti az anyák csavarását a szerelés későbbi szakaszában.

4. lépés: Az Ewon összeillesztése

Az Ewon összeillesztése
Az Ewon összeillesztése
Összerakni az Ewont
Összerakni az Ewont
Az Ewon összeillesztése
Az Ewon összeillesztése
Az Ewon összeillesztése
Az Ewon összeillesztése

Mielőtt hozzákezdenénk az összeszereléshez, a nyomtatott részeken kevés módosításra van szükség. A szervo link nevű fájlokat a szervóhoz mellékelt szervo linkekkel kell felszerelni, ezáltal a 3D nyomtatott linkek jól kapcsolódnak a szervóhoz.

Az Ewon összeszerelését egyenesen előre kell hajtani. Csatoltam képeket, hogy kövessétek.

Extra megjegyzések: Ügyeljen arra, hogy ne húzza túl a csavarokat vagy csavarokat, mert ez eltörhet és elkophat a nyomtatott részeken.

5. lépés: Az Ewon bekötése

Ewon bekötése
Ewon bekötése
Ewon bekötése
Ewon bekötése
Ewon bekötése
Ewon bekötése

Az utolsó lépésnél tartunk, hogy Ewon életre keljen. Itt található az alkatrészek kapcsolási rajza, valamint a kapcsolatot bemutató képek.

  • A szervo meghajtó csatlakozik az I2C csapokhoz, amelyek SDA és SCL RPI.
  • A kijelző az RPI RX és TX csapjaihoz van csatlakoztatva
  • A mikrofon és a hangszórók az USB -hangkártyához vannak csatlakoztatva, amely az RPI -hez van csatlakoztatva az USB -porton keresztül.

Figyelmeztetés: Ügyeljen az RPI rövidre zárására. Kérjük, kétszer ellenőrizze az összes kapcsolatot, és győződjön meg arról, hogy nem követett el hibákat. Valamennyi tartozék, amely hangszóró, szervo meghajtó és kijelző, külön 5 V -os akkumulátorról működik, és nem használja a Raspberry Pi 5V -os vonalat. A Raspberry pi csak adatokat küld a tartozékokhoz, de nem táplálja őket.

6. lépés: Szia Ewon! Hallasz?

Szia Ewon! Hallasz?
Szia Ewon! Hallasz?

Így minden tartozékunkat csatoltuk, és telepítettük az összes szükséges könyvtárat. Elindíthatja az Ewont a shell parancsfájl futtatásával a./run Ewon.sh használatával. De mi ez a.sh szkript? Az Ewon sok különböző könyvtárat használ különböző szkriptekkel (Google asszisztens SDK, Snowboy, Adafruit stb.). Minden szkript a megfelelő mappába kerül. (Az összes fájlt áthelyezhetjük ugyanazon az úton, és az összes szkriptet rendszerezhetjük, de jelenleg néhány könyvtár nem teszi lehetővé a forrásfájlok áthelyezését, ezért egyelőre csak a megfelelő helyen tároljuk őket.) shell parancsfájlok, amelyek ezeket a parancsfájlokat egyenként futtatják minden helyről, így nem kell manuálisan menni az egyes helyekre, és futtatni a szkripteket. Ez megkönnyíti az összes parancs kezelését.

Miután futtatta a shell parancsfájlt, mondja csak: „Hé, Ewon!” és látnod kell, hogy Ewon hallgatni kezd rád. Mostantól használhatja Ewont a Google asszisztenseként, és beszélhet hozzá, és láthatja, hogy Ewon megváltoztatja a kifejezéseket attól, amit mond. Próbáljon ki valamit: „Hé Ewon! Ma szomorú vagyok , és láthatod, hogy Ewon szomorú veled. Kérj Ewontól egy viccet, és nézd meg, hogy nevet a viccen.

7. lépés: Mi a következő lépés?

Ewon nem áll meg itt. Ewonnak most van módja az érzelmek észlelésére és kimutatására, de ennél sokkal többet tehetünk. Ez csak a kezdet.

A következő frissítésben dolgozunk az elkészítésen

  • Ewon felismeri az arcokat, nyomon követi az arcát, és együtt mozog az arcával.
  • Hanghatásokat adunk hozzá, hogy extra mélységet adjunk a karakternek.
  • Add hozzá a mobilitást, hogy Ewon veled együtt mozoghasson.

Megjegyzés: A jelenlegi helyzet miatt nagyon nehéz lett a projekthez alkatrészeket beszerezni. Ez arra késztetett, hogy megváltoztassam a dizájnt és a funkcionalitást, figyelembe véve a készletemben lévő gondolatokat. De amint kézbe veszem az összes alkatrészt, frissítsem a fenti projektet.

Frissítések:

  • Néhány változtatást végrehajtott a kódon, eltávolította a shell scriptet.
  • Téglalap alakú testet adott hozzá az EWON -hoz.

Ajánlott: