Съдържание:
- Стъпка 1: Необходими части за Ewon
- Стъпка 2: Разбиране на Ewon и програмиране
- Стъпка 3: Отпечатване на тялото
- Стъпка 4: Събиране на Ewon заедно
- Стъпка 5: Окабеляване на Ewon
- Стъпка 6: Здравей, Ewon! Чуваш ли ме?
- Стъпка 7: Какво следва?
Видео: EWON Raspberry Pi Powered Home Robot: 7 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
От sharathnaikSharathnaik.com Следвайте още от автора:
За: Инженеринг и дизайн Повече за sharathnaik »
Наскоро се озовах да гледам много сериали на Netflix поради настоящата ситуация, надявам се, че всички сте в безопасност, и видях, че 5 сезон на Black Mirror излезе. Антологична поредица, която се върти около група от личен живот на хората и как технологиите манипулират поведението им.
И един от епизодите, който привлече вниманието ми, беше Рейчъл, Джак и Ашли Тоо. Един от главните герои на тази поредица е домашен робот на име Ашли О и този робот има много характер около себе си и аз си помислих, че трябва да създам такъв, това е добър проект за започване на програмиране, ако не това, то поне Мога да го програмирам да се смее на шегите ми.!
Какво / Кой е Ewon? Какво може да направи?
Така че преди да започна да работя по този проект, зададох някои основни правила, които трябва да се спазват. Този проект трябваше да бъде
- Лесно за всеки да изпробва
- Не само да бъдеш сладък, но и да бъдеш полезен, за да не свърши на рафт
- Модулна, така че можете да продължите да добавяте нови функции.
След като зададох това правило, реших да използвам SDK на Google Assistant. Този SDK предоставя много функции, които търсех и ако ви омръзне Ewon, вие винаги го използвате като устройство на Google Home и правите това, което прави домът на Google.
Това, което Ewon ще прави, е да добави герой към асистента на Google. Това показва емоции и реагиране на това, което потребителят казва. Сега не само гласът чувате, но също така можете да видите как да реагирате.
ЗАБЕЛЕЖКА: Тази инструкция е в процес на разработка. Скоро ще кача всички съответни файлове. Благодаря ти
Стъпка 1: Необходими части за Ewon
ЕЛЕКТРОНИКА
- Малина PI
- Серво SG90 (x4)
- Серво MG995 - стандартно (x2)
- PCA9685 16-канален серво драйвер
- USB звукова карта
- Микрофон
- Високоговорители (всеки малък говорител ще направи нещо подобно)
- Съединители за мъжки и женски щифтове
- Платка
- Nextion дисплей
КРЪПКИ И ЛАГЕРИ
- M3*10 мм (x10)
- M3*8 мм (x10)
- M3 гайки (x20)
-
Лагер
- OD: 15 мм ID: 6 мм Ширина: 5 мм (x2)
- OD: 22 мм ID: 8 мм Ширина: 7 мм (x2)
ДРУГИ МАТЕРИАЛИ
-
Стойност
- 40 мм (x4)
- 30 мм (x4)
ИНСТРУМЕНТИ
3D принтер
Стъпка 2: Разбиране на Ewon и програмиране
Преди да започна с аспекта на програмирането, позволете ми накратко да обясня блок -схемата на схемите на Ewon.
RPI (Raspberry pi) е мозъкът на системата. Серво драйверът, управляван от RPI, задвижва серво. Дисплей, контролиран от RPI със серийна комуникация за показване на емоции и накрая, микрофон и високоговорители, използвани за комуникация с Ewon. Сега, когато знаем какъв хардуер прави това, нека започнем да програмираме Ewon.
Инсталиране на SDK на Google Assistant
Позволете ми да обясня двете причини, поради които планирах да използвам Google Assistant:
- Исках Ewon да бъде не само забавен робот, но и полезен. SDK на Google Assistant вече има много ресурси, които можете да използвате, за да увеличите функционалността на Ewon.
- Можете също да използвате действия в google и диалогов поток, за да дадете на Ewon възможността да разговаря с предварително определени отговори. Засега ще се концентрираме само върху основния SDK.
Нека започнем, като инсталираме SDK на Google Assistant. Това не би трябвало да е трудно, тъй като има много ресурси, които да ви помогнат да настроите SDK на Google Assistant на RPI. Можете да следвате този урок заедно:
Урок:
След края на горния процес трябва да можете да щракнете върху enter на клавиатурата и да говорите с асистента. Това е всичко за инсталирането на SDK на Google Assistant.
Как да го кръстя? Ewon?
Здравей Google! Това е, което се използва, за да започнете да говорите с Google помощник и за съжаление Google не позволява да се използва друга персонализирана дума за събуждане. Нека да видим как можем да променим това, така че асистентът на Google да се задейства, когато някой се обади на Ewon.
Snowboy: силно персонализиран механизъм за откриване на горещи думи, който е вграден в реално време, съвместим с Raspberry Pi, (Ubuntu) Linux и Mac OS X.
Гореща дума (известна още като будна дума или задействаща дума) е ключова дума или фраза, която компютърът постоянно слуша като сигнал за задействане на други действия.
Нека започнем с инсталирането на Snowboy на RPI. Не забравяйте да активирате виртуалната среда, за да инсталирате Snowboy, както направихте, за да инсталирате SDK на Assistant. Всичко, което инсталираме от тук нататък, трябва да бъде инсталирано във виртуалната среда. Инсталирането на Snowboy може да бъде малко сложно, но тази връзка трябва да ви помогне да го инсталирате без никакви проблеми. Връзка:
Ето обобщен процес на инсталиране, ако горната връзка стане объркваща или инсталацията се провали.
$ [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 изграждане на $ [sudo] python setup.py инсталиране
След като бъде инсталиран, стартирайте демонстрационния файл [намерен в папката - snowboy/examples/Python3/], за да видите дали всичко работи перфектно.
Забележка: можете лесно да промените името на вашия робот на нещо друго. Всичко, което трябва да направите, е да отидете на https://snowboy.kitt.ai/ и да обучите персонализирана гореща дума и след това да я поставите в същата папка като ewon.pmdl.
Може ли Ewon да разбере емоциите?
Сега, когато Ewon има име, ще използвам Ewon, вместо да го наричам робот. Добре, така че емоциите, кратките отговори не, Ewon не може да разбере емоциите, така че това, което ще направим тук, е да накараме Ewon да открие емоция в речта ни с помощта на ключови думи и след това да възпроизведе съответното изражение на лицето, свързано с нея.
За да постигна това, направих един прост скрипт за анализ на настроенията. Има 6 различни класа емоции.
Щастлив, тъжен, гняв, страх, отвращение и изненада. Това са основните класове емоции и всеки от тях има списък с ключови думи, свързани с емоцията. (например добри, приятни, развълнувани, всички попадат под щастлива емоция).
Така че, когато кажем някоя от ключовите думи в класа на емоциите, съответната емоция се задейства. Така че, когато кажете „Хей, Еуон!“и изчаквам Ewon да говори и аз продължавам да казвам „Днес е хубав ден!“, той улавя ключовата дума „Nice“и задейства съответната емоция „Happy“, която задейства изражението на лицето за Happy.
Тези уши на Ewon ли са?
Следващата стъпка би била използването на задействаната емоция, за да се изпълни съответното изражение на лицето. С Ewon изражението на лицето е забележимо, но движи ухото и шията си със сервомотори и променя дисплея, за да промени движенията на очите.
Първо, сервомоторите, за да стартирате това е доста лесно, можете да следвате този урок, за да настроите серво библиотеката Adafruit. Връзка:
След това задаваме максималната и минималната стойност за всички сервоустройства. Това става чрез ръчно преместване на всяко серво и проверка на неговите граници. Можете да направите това, след като сте сглобили Ewon.
Очи за Ewon
За очите използвам дисплей Nextion, който има куп снимки, както е показано по -долу.
Това е поредица от изображения, които проектирах във Photoshop, които при последователно възпроизвеждане правят анимация. Подобна последователност е създадена за всички емоции. Сега, за да покажете всяка емоция, всичко, което трябва да направите, е да извикате конкретната поредица от изображения, която съставлява анимацията. Файловете са в папката „Показване на файлове“, връзката за изтегляне по -долу.
Най -после
Събирайки всичко, когато щастливата емоция се задейства от скрипта, се извиква щастливата функция и сервопридвижването се движи към вече зададените ъгли и дисплеят възпроизвежда анимацията на щастливото око. Така че по този начин постигаме „разбиране“на човешките емоции. Този метод не е най -добрият и има моменти, когато ключовите думи не попадат в същата емоция като предварително дефинираната, но засега това работи достатъчно добре и винаги можете да добавите още ключови думи, за да увеличите точността на откриване. Освен това, това може да бъде заменено с много по -обучен модел за анализ на емоции като модела за анализ на Paralleldots Emotion, за да се получат по -добри резултати. Но когато го опитах, имаше много забавяния, които биха накарали Ewon да реагира по -бавно. Може би Ewon версия 2.0 ще има нещо подобно.
Това е ВРЪЗКА към всички файлове, необходими за стартиране на EWON. Изтеглете файла и следвайте стъпките по -долу:
- Разархивирайте файла, поставете тази папка (Ewon) у дома/pi/
- Добавете идентификатора на устройството и идентификатора на модела във файла main.py. Идентификаторът се получава при инсталиране на SDK на Google Assistant.
- Отворете командния ред и стартирайте източника на следните команди:
източник env/bin/enablepython main.py модели/Ewon.pmdl
Стъпка 3: Отпечатване на тялото
Можете да намерите 3D файловете тук:
Сега, когато всички сме настроени с мозъка на Ewon, е време да отпечатаме тялото му. Има 18 уникални части, които да бъдат отпечатани, повечето от тях са доста малки, с общо време за печат от около 15-20 часа. (с изключение на случаите).
Използвах бял PLA с 50% пълнеж и височина на слоя 2 мм. Можете да промените тези стойности, ако е необходимо, тя трябва да работи добре, но се уверете, че малките части имат 100% пълнеж, за здравина.
След като файловете са отпечатани, можете да използвате шкурка или ръчна пила и да почистите отпечатаните части, особено връзките, където частите се плъзгат една през друга. Изглаждането на фугите ще направи механизма гладък и ще осигури по -малко съпротивление на серво. Този процес може да отнеме толкова дълго, колкото искате, колкото човек може да се загуби, опитвайки се да накара отпечатаните части да изглеждат перфектно.
Допълнителни бележки: Можете да пробиете отново дупките в 3D отпечатаните части, като използвате 3 мм бита. Всички отвори са с еднакви размери. Това ще улесни, докато завинтвате гайките по -късно в монтажа.
Стъпка 4: Събиране на Ewon заедно
Преди да започнем с монтажа, са необходими няколко модификации на отпечатаните части. Файловете, наречени servo link, трябва да бъдат снабдени със servo връзки, които се доставят със servo, това прави 3D отпечатаните връзки да се свързват добре със servo.
Сглобяването на Ewon трябва да е направо напред. Прикачих изображения, които да проследите.
Допълнителни бележки: Внимавайте да не затягате прекалено болтовете или винтовете, тъй като това може да се счупи и да износва отпечатаните части.
Стъпка 5: Окабеляване на Ewon
Ние сме на последната стъпка да накараме Ewon да оживее. Ето схемата на свързване на компонентите заедно с изображения, показващи връзката.
- Серво драйверът е свързан към I2C щифтовете, които са SDA и SCL на RPI.
- Дисплеят е свързан към RX и TX пиновете на RPI
- Микрофонът и високоговорителите са свързани към USB звуковата карта, която е свързана към RPI през USB порта.
Предупреждение: Внимавайте да скъсите RPI. Моля, проверете всичките си връзки два пъти и се уверете, че не сте допуснали грешки. Всички аксесоари, които са високоговорител, серво драйвер и дисплей, се захранват от отделна 5v батерия и не използват линията Raspberry Pi 5v. Raspberry pi се използва само за изпращане на данни към аксесоарите, но не и за захранване.
Стъпка 6: Здравей, Ewon! Чуваш ли ме?
Затова прикачихме всички наши аксесоари и инсталирахме всички необходими библиотеки. Можете да стартирате Ewon, като стартирате скрипта на обвивката, използвайки./run Ewon.shНо какъв е този.sh скрипт? Ewon използва много различни библиотеки с различни скриптове (SDK на Google асистент, Snowboy, Adafruit и др.). Всички скриптове се поставят в съответните им папки. (Можем да преместваме всички файлове по същия път и да организираме всички скриптове, но в момента някои от библиотеките не позволяват преместването на изходните файлове, така че засега просто ще ги държим на съответните им места).sh е shell скриптове, които изпълняват всички тези скриптове един по един от всяко място, така че не е нужно да отивате ръчно до всяко място и да стартирате скриптовете. Това улеснява обработката на всички команди.
След като стартирате скрипта на обвивката, просто кажете „Hey Ewon!“и трябва да видите как Ewon започва да ви слуша. Сега можете да използвате Ewon като помощник на Google и да говорите с него и можете да видите Ewon да променя изразите от това, което казвате. Опитайте нещо като „Хей Еуон! Днес съм тъжен “и можете да видите Еуон да е тъжен с вас. Помолете Еуон за шега и вижте как се смее на шегата.
Стъпка 7: Какво следва?
Ewon не спира дотук. Сега Ewon има начин да открива и показва емоции, но можем да го накараме да направи много повече. Това е само началото.
В предстоящата актуализация ще работим как да направим
- Ewon открива лица и проследява лицето ви и се движи заедно с лицето ви.
- Ще добавим звукови ефекти, за да придадем допълнителна дълбочина на героя.
- Добавете мобилност, така че Ewon да може да се движи заедно с вас.
Забележка: Поради настоящата ситуация стана много трудно да се намерят части за проекта. Това ме накара да променя дизайна и функционалността предвид мислите, които имах в инвентара си. Но веднага щом се сдобия с всички части, трябва да актуализирам горния проект.
Актуализации:
- Направени са някои промени в кода, премахнат скрипта на обвивката.
- Добавено е правоъгълно тяло за EWON.
Препоръчано:
Управлявайте вашата автоматична плъзгаща се врата с Home Assistant и ESP Home: 5 стъпки (със снимки)
Управлявайте вашата автоматична плъзгаща се врата с Home Assistant и ESPHome: Следващата статия е някаква обратна връзка за моя личен опит с управлението на автоматичната плъзгаща се врата, която бях инсталирал в къщата си. Тази порта, марка "V2 Alfariss", беше снабдена с няколко дистанционни управления Phox V2, които да я контролират. Имам също
Водоустойчива Raspberry Pi Powered Wifi DSLR уеб камера за времеви интервали: 3 стъпки (със снимки)
Водоустойчива Raspberry Pi захранвана Wi -Fi DSLR уеб камера за времеви интервали: Аз съм гадно за гледане на залези от вкъщи. Толкова много, че получавам малко FOMO, когато има добър залез и не съм вкъщи, за да го видя. IP уеб камерите дадоха разочароващо качество на изображението. Започнах да търся начини да пренастроя първия си DSLR: Cano от 2007 г
Joy Robot (Robô Da Alegria) - 3D отпечатан с отворен код, Arduino Powered Robot!: 18 стъпки (със снимки)
Joy Robot (Robô Da Alegria) - 3D отпечатан с отворен код, Arduino Powered Robot !: Първа награда в конкурса за колела Instructables, Втора награда в състезанието Arduino на Instructables и Подгласничка в предизвикателството Design for Kids. Благодаря на всички, които гласуваха за нас !!! Роботите се появяват навсякъде. От промишлени приложения до вас
Movie Tracker - Raspberry Pi Powered Theatrical Release Tracker: 15 стъпки (със снимки)
Movie Tracker - Raspberry Pi Powered Theatrical Release Tracker: Movie Tracker е тракер с форма на Raspberry Pi, задвижван от клавиатура. Той използва TMDb API за отпечатване на афиша, заглавието, датата на издаване и прегледа на предстоящите филми във вашия регион в определен интервал от време (напр. Филмови издания тази седмица) на
Контрол на LED матричен масив с Arduino Uno (Arduino Powered Robot Face): 4 стъпки (със снимки)
Контрол на LED матричен масив с Arduino Uno (Arduino Powered Robot Face): Тази инструкция показва как да управлявате масив от 8x8 LED матрици, използвайки Arduino Uno. Това ръководство може да се използва за създаване на прост (и сравнително евтин дисплей) за вашите собствени проекти. По този начин може да показвате букви, цифри или персонализирани анимации