Spisu treści:

EWON Zasilany robot domowy Raspberry Pi: 7 kroków (ze zdjęciami)
EWON Zasilany robot domowy Raspberry Pi: 7 kroków (ze zdjęciami)

Wideo: EWON Zasilany robot domowy Raspberry Pi: 7 kroków (ze zdjęciami)

Wideo: EWON Zasilany robot domowy Raspberry Pi: 7 kroków (ze zdjęciami)
Wideo: BOHATEROWIE, KTÓRZY POTRAFIĄ OKIEŁZNAĆ ENERGIĘ ELEKTRYCZNĄ 2024, Listopad
Anonim
EWON Zasilany robot domowy Raspberry Pi
EWON Zasilany robot domowy Raspberry Pi
EWON Zasilany robot domowy Raspberry Pi
EWON Zasilany robot domowy Raspberry Pi
EWON Zasilany robot domowy Raspberry Pi
EWON Zasilany robot domowy Raspberry Pi

By sharathnaikSharathnaik.comObserwuj Więcej autora:

Wizualizator serca | Zobacz bicie swojego serca
Wizualizator serca | Zobacz bicie swojego serca
Wizualizator serca | Zobacz bicie swojego serca
Wizualizator serca | Zobacz bicie swojego serca
DIY-fajny denim kieszonkowy notatnik (ze zdjęciami)
DIY-fajny denim kieszonkowy notatnik (ze zdjęciami)
DIY-fajny denim kieszonkowy notatnik (ze zdjęciami)
DIY-fajny denim kieszonkowy notatnik (ze zdjęciami)
PUPPI
PUPPI
PUPPI
PUPPI

O: Inżynieria i projektowanie Więcej o sharathnaik »

Ostatnio ze względu na obecną sytuację oglądałem wiele seriali Netflixa. Mam nadzieję, że wszyscy jesteście bezpieczni, i widziałem, że wyszedł 5 sezon Black Mirror. Seria antologii, która koncentruje się na życiu osobistym grupy ludzi i tym, jak technologia manipuluje ich zachowaniem.

A jednym z odcinków, które przykuły moją uwagę, była Rachel, Jack i Ashley Too. Jedną z głównych postaci tej serii jest robot domowy o imieniu Ashley O i ten robot ma wokół siebie wiele charakteru i pomyślałem, że powinienem taki zbudować, to dobry projekt na rozpoczęcie programowania, jeśli nie to, to przynajmniej Mogę to zaprogramować, żeby śmiać się z moich żartów.!

Co/Kim jest Ewon? Co może zrobić?

Więc zanim zacząłem pracować nad tym projektem, ustaliłem kilka podstawowych zasad, których należy przestrzegać. Ten projekt musiał być

  • Łatwy do wypróbowania dla wszystkich
  • Nie tylko po to, by być słodkim, ale także przydatnym, aby nie wylądował na półce
  • Modułowy, dzięki czemu możesz dodawać nowe funkcje.

Po ustaleniu tej reguły postanowiłem skorzystać z pakietu SDK Asystenta Google. Ten pakiet SDK zapewnia wiele funkcji, których szukałem, a jeśli znudzi Ci się Ewon, zawsze używaj go jako urządzenia Google Home i rób to, co robi Google Home.

To, co będzie robił Ewon, to dodanie postaci do asystenta Google. To pokazywanie emocji i reagowanie na to, co mówi użytkownik. Teraz nie tylko słyszysz głos, ale także widzisz, jak zareagujesz.

UWAGA: Ta instrukcja jest w trakcie opracowywania. Wkrótce prześlę wszystkie odpowiednie pliki. Dziękuję Ci

Krok 1: Części wymagane dla Ewon

ELEKTRONIKA

  • Malina PI
  • Serwo SG90 (x4)
  • Serwo MG995 – standardowe (x2)
  • PCA9685 16-kanałowy sterownik serwo
  • Karta dźwiękowa USB
  • Mikrofon
  • Głośniki (zrobi każdy mały głośnik, coś takiego)
  • Złącza męskie i żeńskie szpilkowe
  • Deska do krojenia chleba
  • Wyświetlacz Nextion

ŁĄCZNIKI I ŁOŻYSKA

  • M3*10mm (x10)
  • M3*8mm (x10)
  • Nakrętki M3 (x20)
  • Łożysko

    • OD: 15mm ID: 6mm Szerokość: 5mm (x2)
    • OD: 22mm ID: 8mm Szerokość: 7mm (x2)

INNE MATERIAŁY

  • Odsunięcie

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

NARZĘDZIA

drukarka 3d

Krok 2: Zrozumienie Ewona i programowania

Zrozumienie Ewona i programowania
Zrozumienie Ewona i programowania
Zrozumienie Ewona i programowania
Zrozumienie Ewona i programowania
Zrozumienie Ewona i programowania
Zrozumienie Ewona i programowania

Zanim zacznę od aspektu programowania pokrótce wyjaśnię schemat blokowy obwodu Ewona.

RPI (Raspberry pi) to mózg systemu. Serwonapęd sterowany przez RPI napędza serwo. Wyświetlacz sterowany przez RPI z komunikacją szeregową do pokazywania emocji i wreszcie mikrofon i głośniki służące do komunikacji z Ewonem. Teraz, gdy wiemy, co robi sprzęt, zacznijmy programować Ewona.

Instalowanie pakietu SDK Asystenta Google

Pozwolę sobie wyjaśnić dwa powody, dla których planowałem skorzystać z Asystenta Google:

  • Chciałem, aby Ewon był nie tylko zabawnym robotem, ale także użytecznym. Google Assistant SDK ma już mnóstwo zasobów, których możesz użyć, aby zwiększyć funkcjonalność Ewon.
  • Możesz także użyć akcji w Google i przepływie dialogu, aby dać Ewonowi możliwość czatowania z predefiniowanymi odpowiedziami. Na razie skoncentrujemy się tylko na podstawowym SDK.

Zacznijmy od zainstalowania pakietu SDK asystenta Google. Nie powinno to być trudne, ponieważ istnieje mnóstwo zasobów, które pomogą Ci skonfigurować Google Assistant SDK na RPI. Możesz śledzić ten samouczek wzdłuż:

Samouczek:

Po zakończeniu powyższego procesu powinieneś być w stanie kliknąć Enter na klawiaturze i porozmawiać z asystentem. To wszystko o instalacji pakietu SDK Asystenta Google.

Jak mam to nazwać? Ewona?

Hej Google! To jest to, co jest używane, aby zacząć rozmawiać z asystentem Google i niestety Google nie pozwala na użycie żadnego innego niestandardowego słowa budzenia. Zobaczmy więc, jak możemy to zmienić, aby asystent Google był uruchamiany, gdy ktoś dzwoni do Ewona.

Snowboy: wysoce konfigurowalny silnik wykrywania gorących słów, który jest osadzony w czasie rzeczywistym, kompatybilny z Raspberry Pi, (Ubuntu) Linux i Mac OS X.

Gorące słowo (znane również jako słowo budzące lub słowo wyzwalające) to słowo kluczowe lub fraza, których komputer nieustannie nasłuchuje, jako sygnał uruchamiający inne działania.

Zacznijmy od zainstalowania Snowboya na RPI. Pamiętaj, aby aktywować środowisko wirtualne, aby zainstalować Snowboy, tak jak w przypadku instalacji Assistant SDK. Wszystko, co odtąd zainstalujemy, musi być zainstalowane w środowisku wirtualnym. Instalacja Snowboya może być trochę trudna, ale ten link powinien pomóc ci zainstalować go bez żadnych problemów. Link:

Oto podsumowanie procesu instalacji, jeśli powyższy link stanie się mylący lub instalacja się nie powiedzie.

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

Po zainstalowaniu uruchom plik demo [znajdujący się w folderze - snowboy/examples/Python3/], aby sprawdzić, czy wszystko działa idealnie.

Uwaga: możesz łatwo zmienić nazwę swojego robota na inną. Wszystko, co musisz zrobić, to wejść na https://snowboy.kitt.ai/ i wytrenować niestandardowe słowo-klucz, a następnie umieścić je w tym samym folderze co ewon.pmdl.

Czy Ewon potrafi zrozumieć emocje?

Teraz, gdy Ewon ma imię, będę używał Ewona, zamiast nazywać go robotem. Okej, więc emocje, krótkie odpowiedzi nie, Ewon nie może zrozumieć emocji, więc zrobimy tutaj, aby Ewon wykrywał emocje w naszej mowie za pomocą słów kluczowych, a następnie odtwarzał odpowiadający im wyraz twarzy.

Aby to osiągnąć, zrobiłem prosty skrypt analizy sentymentu. Istnieje 6 różnych klas emocji.

Obraz
Obraz

Radość, smutek, gniew, strach, wstręt i niespodzianka. Są to główne klasy emocji, a każda z nich posiada listę słów kluczowych powiązanych z emocją. (na przykład dobry, miły, podekscytowany, wszyscy wchodzą w radosne emocje).

Tak więc za każdym razem, gdy mówimy którekolwiek ze słów kluczowych w klasie emocji, wyzwalana jest odpowiednia emocja. Więc kiedy mówisz „Hej Ewon!” i czekam, aż Ewon się odezwie, a ja nadal mówię „Dzisiaj jest miły dzień!”, chwyta słowo kluczowe „Nice” i wywołuje odpowiednią emocję „Happy”, która wyzwala mimikę Happy.

Czy te uszy są na Ewonie?

Następnym krokiem byłoby użycie wywołanej emocji do uruchomienia odpowiedniego wyrazu twarzy. W przypadku Ewona wyraz twarzy zwraca uwagę, ale porusza się uchem i szyją za pomocą serwomechanizmów i zmienia wyświetlacz, aby zmienić ruchy oczu.

Po pierwsze, serwa, uruchomienie tego jest dość łatwe, możesz skorzystać z tego samouczka, aby skonfigurować bibliotekę serwo Adafruit. Link:

Obraz
Obraz

Następnie przypisujemy maksymalną i minimalną wartość wszystkim serwom. Odbywa się to poprzez ręczne przesuwanie każdego serwa i sprawdzanie jego limitów. Możesz to zrobić po zebraniu Ewona.

Oczy dla Ewona

Dla oczu używam wyświetlacza Nextion, który ma kilka zdjęć jak poniżej.

Obraz
Obraz

To sekwencja obrazów, które zaprojektowałem w Photoshopie, które odtwarzane w sekwencji tworzą animację. Podobna sekwencja została stworzona dla wszystkich emocji. Teraz, aby wyświetlić jakąkolwiek emocję, wystarczy wywołać określoną sekwencję obrazów, która tworzy animację. Pliki znajdują się w folderze „Wyświetl pliki”, link do pobrania poniżej.

Wreszcie

Łącząc to wszystko w całość, gdy skrypt wywołuje emocję happy, wywoływana jest funkcja happy, serwo przesuwa się do już ustawionych kątów, a wyświetlacz odtwarza animację happy eye. W ten sposób osiągamy „zrozumienie” ludzkich emocji. Ta metoda nie jest najlepsza i zdarza się, że słowa kluczowe nie pasują do tej samej emocji, co predefiniowane, ale na razie działa to wystarczająco dobrze i zawsze możesz dodać więcej słów kluczowych, aby zwiększyć dokładność wykrywania. Co więcej, można to zastąpić znacznie bardziej wyszkolonym modelem analizy emocji, takim jak model analizy emocji Paralleldots, aby uzyskać lepsze wyniki. Ale kiedy próbowałem, było dużo opóźnień, które powodowały, że Ewon reagował wolniej. Może Ewon w wersji 2.0 będzie miał coś takiego.

To jest LINK do wszystkich plików potrzebnych do uruchomienia EWON. Pobierz plik i wykonaj poniższe czynności:

  • Rozpakuj plik umieść ten folder (Ewon) w home/pi/
  • Dodaj identyfikator urządzenia i identyfikator modelu w pliku main.py. Identyfikator jest uzyskiwany podczas instalacji pakietu SDK asystenta Google.
  • Otwórz wiersz polecenia i uruchom źródło następujących poleceń:

źródło env/bin/activatepython main.py models/Ewon.pmdl

Krok 3: Drukowanie ciała

Pliki 3d można znaleźć tutaj:

Teraz, gdy wszyscy mamy już mózg Ewona, nadszedł czas, aby wydrukować jego ciało. Do wydrukowania jest 18 unikalnych części, większość z nich jest dość mała, a łączny czas drukowania wynosi około 15-20 godzin. (z wyłączeniem przypadków).

Użyłem białego PLA z wypełnieniem 50% i wysokością warstwy 2mm. Możesz zmienić te wartości, jeśli to konieczne, powinno działać dobrze, ale upewnij się, że małe części mają wypełnienie w 100%, aby zapewnić wytrzymałość.

Po wydrukowaniu plików możesz użyć papieru ściernego lub pilnika ręcznego i wyczyścić drukowane części, zwłaszcza łącza, w których części prześlizgują się przez siebie. Wygładzenie stawów sprawi, że mechanizm będzie płynny i zapewni mniejszy opór serwo. Ten proces może potrwać tak długo, jak chcesz, ponieważ można się zgubić, próbując sprawić, by drukowane części wyglądały idealnie.

Dodatkowe uwagi: Możesz ponownie wywiercić otwory w wydrukowanych częściach 3D za pomocą wiertła 3 mm. Wszystkie otwory mają te same wymiary. Ułatwi to późniejsze wkręcanie nakrętek podczas montażu.

Krok 4: Łączenie Ewona

Łączenie Ewona
Łączenie Ewona
Łączenie Ewona
Łączenie Ewona
Łączenie Ewona
Łączenie Ewona
Łączenie Ewona
Łączenie Ewona

Zanim przystąpimy do montażu, należy dokonać kilku modyfikacji części drukowanych. Pliki o nazwie link serwo muszą być wyposażone w łącza serwo, które są dostarczane z serwomechanizmem, dzięki czemu drukowane łącza 3D dobrze łączą się z serwomechanizmem.

Montaż Ewona powinien być prosty. Załączam zdjęcia, które możesz śledzić.

Dodatkowe uwagi: Upewnij się, że nie dokręcasz zbyt mocno żadnej śruby ani śruby, ponieważ może to spowodować pęknięcie i zużycie części drukowanych.

Krok 5: Podłączanie Ewona

Podłączanie Ewona
Podłączanie Ewona
Podłączanie Ewona
Podłączanie Ewona
Podłączanie Ewona
Podłączanie Ewona

Jesteśmy na ostatnim etapie, aby Ewon ożył. Oto schemat okablowania komponentów wraz z obrazami przedstawiającymi połączenie.

  • Serwonapęd jest podłączony do pinów I2C, które są SDA i SCL RPI.
  • Wyświetlacz jest podłączony do pinów RX i TX RPI
  • Mikrofon i głośniki są podłączone do karty dźwiękowej USB, która jest podłączona do RPI przez port USB.

Ostrzeżenie: Uważaj na zwarcie RPI. Sprawdź dwukrotnie wszystkie połączenia i upewnij się, że nie popełniłeś żadnych błędów. Wszystkie akcesoria, które są głośnikiem, sterownikiem serwomechanizmu i wyświetlaczem, są zasilane osobną baterią 5V i nie korzystają z linii Raspberry Pi 5v. Raspberry pi służy tylko do wysyłania danych do akcesoriów, ale nie do ich zasilania.

Krok 6: Hej Ewon! Czy mnie słyszysz?

Hej Ewonie! Czy mnie słyszysz?
Hej Ewonie! Czy mnie słyszysz?

Dołączyliśmy więc wszystkie nasze akcesoria i zainstalowaliśmy wszystkie niezbędne biblioteki. Możesz uruchomić Ewon, uruchamiając skrypt powłoki za pomocą./run Ewon.shAle co to za skrypt.sh? Ewon korzysta z wielu różnych bibliotek z różnymi skryptami (SDK asystenta Google, Snowboy, Adafruit itp.). Wszystkie skrypty są umieszczane w odpowiednich folderach. (Możemy przenieść wszystkie pliki w tej samej ścieżce i uporządkować wszystkie skrypty, ale obecnie niektóre biblioteki nie pozwalają na przenoszenie plików źródłowych, więc na razie zachowamy je w odpowiednich lokalizacjach).sh to skrypty powłoki, które uruchamiają wszystkie te skrypty jeden po drugim z każdej lokalizacji, więc nie musisz ręcznie przechodzić do każdej lokalizacji i uruchamiać skryptów. Ułatwia to obsługę wszystkich poleceń.

Po uruchomieniu skryptu powłoki po prostu powiedz „Hej Ewon!” i powinieneś zobaczyć, jak Ewon zaczyna cię słuchać. Teraz możesz używać Ewona jako asystenta Google i mówić do niego, a zobaczysz, jak Ewon zmienia wyrażenia z tego, co mówisz. Spróbuj czegoś w stylu „Hej Ewon! Jestem dzisiaj smutny” i widać, że Ewon jest z tobą smutny. Poproś Ewona o żart i zobacz, jak śmieje się z żartu.

Krok 7: Co dalej?

Ewon nie poprzestaje na tym. Ewon ma teraz sposób na wykrywanie i pokazywanie emocji, ale możemy zrobić o wiele więcej. To dopiero początek.

W nadchodzącej aktualizacji będziemy pracować nad tym, jak zrobić

  • Ewon wykrywa twarze, śledzi twoją twarz i porusza się wraz z twoją twarzą.
  • Dodamy efekty dźwiękowe, aby nadać postaci dodatkowej głębi.
  • Dodaj mobilność, aby Ewon mógł poruszać się razem z tobą.

Uwaga: Ze względu na obecną sytuację bardzo trudno jest pozyskać części do projektu. To sprawiło, że zmieniłem projekt i funkcjonalność, biorąc pod uwagę myśli, które miałem w swoim ekwipunku. Ale jak tylko dostanę w swoje ręce wszystkie części, zaktualizuję powyższy projekt.

Aktualizacje:

  • Wprowadzono kilka zmian w kodzie, usunięto skrypt powłoki.
  • Dodano prostokątny korpus dla EWON.

Zalecana: