Оглавление:

Домашний робот EWON на базе Raspberry Pi: 7 шагов (с изображениями)
Домашний робот EWON на базе Raspberry Pi: 7 шагов (с изображениями)

Видео: Домашний робот EWON на базе Raspberry Pi: 7 шагов (с изображениями)

Видео: Домашний робот EWON на базе Raspberry Pi: 7 шагов (с изображениями)
Видео: Ewon Cosy 131, диспетчеризация, VPN доступ к ПЛК, примеры внедрения 2024, Июль
Anonim
Домашний робот EWON на базе Raspberry Pi
Домашний робот EWON на базе Raspberry Pi
Домашний робот EWON на базе Raspberry Pi
Домашний робот EWON на базе Raspberry Pi
Домашний робот EWON на базе Raspberry Pi
Домашний робот EWON на базе Raspberry Pi

Читать другие статьи автора:

Визуализатор сердца | Смотрите, как бьется ваше сердце
Визуализатор сердца | Смотрите, как бьется ваше сердце
Визуализатор сердца | Смотрите, как бьется ваше сердце
Визуализатор сердца | Смотрите, как бьется ваше сердце
Сделай сам - крутой джинсовый карманный блокнот (с изображениями)
Сделай сам - крутой джинсовый карманный блокнот (с изображениями)
Сделай сам - крутой джинсовый карманный блокнот (с изображениями)
Сделай сам - крутой джинсовый карманный блокнот (с изображениями)
ПУППИ
ПУППИ
ПУППИ
ПУППИ

О проекте: Разработка и дизайн Подробнее о шаратнаике »

Недавно я обнаружил, что смотрю много сериалов Netflix из-за текущей ситуации, я надеюсь, что вы все в безопасности, и я видел, что был выпущен 5-й сезон Черного зеркала. Серия антологий, в которой рассказывается о личной жизни группы людей и о том, как технологии манипулируют их поведением.

И одним из эпизодов, которые привлекли мое внимание, были Рэйчел, Джек и Эшли Ту. Один из главных героев этого сериала - домашний робот по имени Эшли О, и у этого робота много персонажей, и я подумал для себя, что должен его построить, это хороший проект для начала программирования, если не этого, то по крайней мере Я могу запрограммировать его, чтобы он смеялся над моими шутками.!

Что / Кто такой Эвон? Что это может делать?

Итак, прежде чем я начал работать над этим проектом, я установил несколько основных правил, которым нужно следовать. Этот проект должен был быть

  • Легко для всех попробовать
  • Не только для того, чтобы быть милым, но и для того, чтобы быть полезным, чтобы он не оказался на полке
  • Модульный, чтобы вы могли добавлять новые функции.

После установки этого правила я решил использовать SDK Google Assistant. Этот SDK предоставляет множество функций, которые я искал, и если вам надоест Ewon, вы всегда можете использовать его как устройство Google Home и делать то, что делает дом Google.

Эвон будет добавлять персонажа в помощника Google. Это проявление эмоций и реакция на то, что говорит пользователь. Теперь вы слышите не только голос, но и видите, как на него реагировать.

ПРИМЕЧАНИЕ. Это руководство находится в стадии разработки. Скоро выложу все нужные файлы. Спасибо

Шаг 1: Детали, необходимые для Ewon

ЭЛЕКТРОНИКА

  • Raspberry 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)

ИНСТРУМЕНТЫ

3д принтер

Шаг 2: понимание Ewon и программирования

Понимание Эвона и программирования
Понимание Эвона и программирования
Понимание Эвона и программирования
Понимание Эвона и программирования
Понимание Эвона и программирования
Понимание Эвона и программирования

Прежде чем я начну с аспекта программирования, позвольте мне кратко объяснить блок-схему схемотехники Ewon.

RPI (Raspberry pi) - это мозг системы. Сервопривод, управляемый RPI, управляет сервоприводом. Дисплей, управляемый RPI, с последовательной связью для демонстрации эмоций и, наконец, микрофон и динамики, используемые для общения с Эвоном. Теперь, когда мы знаем, какое оборудование делает что-то, давайте приступим к программированию Ewon.

Установка SDK Google Assistant

Позвольте мне объяснить две причины, по которым я планировал использовать Google Assistant:

  • Я хотел, чтобы Эвон был не только забавным роботом, но и полезным. У Google Assistant SDK уже есть масса ресурсов, которые вы можете использовать для увеличения функциональности Ewon.
  • Вы также можете использовать действия в Google и поток диалогов, чтобы дать Эвону возможность общаться в чате с заранее определенными ответами. Пока мы сосредоточимся только на базовом SDK.

Начнем с установки SDK Google Assistant. Это не должно быть трудным, поскольку есть масса ресурсов, которые помогут вам настроить SDK Google Assistant на RPI. Вы можете следовать этому руководству вместе:

Учебник:

После завершения описанного выше процесса вы сможете нажать клавишу ВВОД на клавиатуре и поговорить с помощником. Это все об установке SDK Google Assistant.

Как мне это назвать? Эвон?

Привет, Google! Это то, что используется, чтобы начать разговор с Google Ассистентом, и, к сожалению, Google не позволяет использовать любое другое пользовательское слово для пробуждения. Итак, давайте посмотрим, как мы можем это изменить, чтобы помощник Google запускался, когда кто-то звонит Эвону.

Snowboy: настраиваемый механизм обнаружения горячих слов, встроенный в реальном времени, совместимый с Raspberry Pi, (Ubuntu) Linux и Mac OS X.

Горячее слово (также известное как слово пробуждения или триггерное слово) - это ключевое слово или фраза, которые компьютер постоянно прослушивает как сигнал для запуска других действий.

Начнем с установки Snowboy на RPI. Не забудьте активировать виртуальную среду для установки Snowboy, как вы это делали при установке Assistant SDK. Все, что мы устанавливаем отсюда, должно быть установлено в виртуальной среде. Установка 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 build $ [sudo] python setup.py install

После установки запустите демонстрационный файл [находится в папке - snowboy / examples / Python3 /], чтобы проверить, все ли работает идеально.

Примечание: вы также можете легко изменить имя своего робота на другое. Все, что вам нужно сделать, это перейти на https://snowboy.kitt.ai/ и обучить собственное горячее слово, а затем поместить это горячее слово в ту же папку, что и ewon.pmdl.

Может Эвон понимать эмоции?

Теперь, когда у Эвона есть имя, я буду использовать Эвон вместо того, чтобы называть его роботом. Итак, эмоции, короткие ответы - нет, Эвон не может понять эмоции, поэтому мы собираемся сделать так, чтобы Эвон обнаруживал эмоции в нашей речи с помощью ключевых слов, а затем воспроизводил соответствующее выражение лица, связанное с ними.

Для этого я сделал простой сценарий анализа настроений. Есть 6 различных классов эмоций.

Изображение
Изображение

Счастье, грусть, гнев, страх, отвращение и удивление. Это основные классы эмоций, и у каждого из них есть список ключевых слов, связанных с эмоцией. (например, хороший, милый, взволнованный, все подпадают под счастливые эмоции).

Поэтому всякий раз, когда мы произносим какое-либо из ключевых слов в классе эмоций, срабатывает соответствующая эмоция. Итак, когда вы говорите "Эй, Эвон!" и жду, пока Эвон заговорит, а я продолжаю говорить «Сегодня хороший день!», он берет ключевое слово «Хороший» и вызывает соответствующую эмоцию «Счастливый», которая вызывает выражение лица для счастья.

Эти уши на Эвоне?

Следующим шагом будет использование вызванной эмоции для выражения соответствующего выражения лица. У Ewon выражение лица - это просто движение его уха и шеи с помощью сервоприводов и изменение дисплея для изменения движений глаз.

Во-первых, сервоприводы, чтобы запустить это довольно просто, вы можете следовать этому руководству, чтобы настроить библиотеку сервоприводов Adafruit. Ссылка:

Изображение
Изображение

Затем мы назначаем максимальное и минимальное значение для всех сервоприводов. Это делается путем ручного перемещения каждого сервопривода и проверки его пределов. Вы можете сделать это после того, как соберете Эвона.

Глаза для Эвона

Для глаз я использую дисплей Nextion, на котором есть несколько картинок, как показано ниже.

Изображение
Изображение

Это последовательность изображений, которые я создал в фотошопе, которые при последовательном воспроизведении создают анимацию. Подобная последовательность была создана для всех эмоций. Теперь, чтобы отобразить любую эмоцию, все, что вам нужно сделать, это вызвать определенную последовательность изображений, из которой состоит анимация. Файлы находятся в папке «Показать файлы», ссылка для скачивания находится ниже.

Наконец-то

Собираем все вместе, когда счастливые эмоции запускаются сценарием, вызывается функция счастья, сервопривод перемещается к уже установленным углам, и на дисплее воспроизводится анимация счастливых глаз. Вот так мы добиваемся «понимания» человеческих эмоций. Этот метод не самый лучший, и бывают случаи, когда ключевые слова не вызывают те же эмоции, что и предопределенные, но на данный момент он работает достаточно хорошо, и вы всегда можете добавить больше ключевых слов, чтобы повысить точность обнаружения. Кроме того, ее можно заменить более подготовленной моделью анализа эмоций, такой как модель анализа эмоций Paralleldots, чтобы получить лучшие результаты. Но когда я попробовал, было много задержек, из-за которых Эвон реагировал медленнее. Может быть у Ewon версии 2.0 будет что-то подобное.

Это ССЫЛКА на все файлы, необходимые для работы EWON. Загрузите файл и выполните следующие действия:

  • Разархивируйте файл и поместите эту папку (Ewon) в домашнюю папку / pi /
  • Добавьте идентификатор устройства и идентификатор модели в файл main.py. ID получается при установке Google Assistant SDK.
  • Откройте командную строку и запустите исходный код следующих команд:

исходный env / bin / activatepython main.py models / Ewon.pmdl

Шаг 3: Печать тела

Вы можете найти 3D-файлы здесь:

Теперь, когда мы все настроены на мозг Эвона, пришло время распечатать его тело. Необходимо напечатать 18 уникальных деталей, большинство из которых довольно маленькие, а общее время печати составляет около 15-20 часов. (за исключением случаев).

Я использовал белый PLA с заполнением 50% и высотой слоя 2 мм. Вы можете изменить эти значения, если необходимо, все должно работать нормально, но для прочности убедитесь, что мелкие детали имеют 100% заполнение.

После того, как файлы были напечатаны, вы можете использовать наждачную бумагу или ручной файл и очистить отпечатанные части, особенно ссылки, где части скользят друг через друга. Разглаживание стыков сделает механизм гладким и уменьшит сопротивление сервопривода. Этот процесс может длиться сколько угодно времени, так как можно потеряться, пытаясь сделать отпечатанные детали идеальным.

Дополнительные примечания: Вы можете повторно просверлить отверстия в деталях, напечатанных на 3D-принтере, используя 3-миллиметровую коронку. Все отверстия одинакового размера. Это упростит завинчивание гаек на более поздних этапах сборки.

Шаг 4: объединение Эвона

Собираем Эвон вместе
Собираем Эвон вместе
Собираем Эвон вместе
Собираем Эвон вместе
Собираем Эвон вместе
Собираем Эвон вместе
Собираем Эвон вместе
Собираем Эвон вместе

Прежде чем мы начнем сборку, необходимо внести несколько изменений в печатные детали. Файлы с именем servo link должны быть оснащены сервоприводами, которые поставляются с сервоприводом, это позволяет печатным 3d ссылкам хорошо соединяться с сервоприводом.

Сборка Ewon должна быть простой. Я прикрепил изображения для вас.

Дополнительные примечания: Убедитесь, что вы не затягиваете слишком сильно болт или винт, так как это может сломать и привести к износу печатных деталей.

Шаг 5: Подключение Ewon

Подключение Эвон
Подключение Эвон
Подключение Эвон
Подключение Эвон
Подключение Эвон
Подключение Эвон

Мы на последнем этапе, чтобы оживить Эвона. Вот схема подключения компонентов и изображения, показывающие подключение.

  • Сервопривод подключается к контактам I2C, которые являются SDA и SCL RPI.
  • Дисплей подключен к контактам RX и TX RPI.
  • Микрофон и динамики подключены к звуковой карте USB, которая подключена к RPI через порт USB.

Предупреждение: будьте осторожны, чтобы не сократить ваш RPI. Пожалуйста, проверьте все свои связи дважды и убедитесь, что вы не сделали ошибок. Все аксессуары, включая динамик, сервопривод и дисплей, питаются от отдельной батареи 5 В и не используют линию Raspberry Pi 5 В. Raspberry Pi используется только для отправки данных на аксессуары, но не для их питания.

Шаг 6: Привет, Эвон! Вы меня слышите?

Привет, Эвон! Вы меня слышите?
Привет, Эвон! Вы меня слышите?

Итак, мы подключили все наши аксессуары и установили все необходимые библиотеки. Вы можете запустить Ewon, запустив сценарий оболочки с помощью./run Ewon.sh, но что это за сценарий.sh? Ewon использует множество разных библиотек с разными скриптами (Google Assistant SDK, Snowboy, Adafruit и т. Д.). Все сценарии помещаются в соответствующие папки. (Мы можем переместить все файлы по одному и тому же пути и организовать все сценарии, но в настоящее время некоторые библиотеки не позволяют перемещать исходные файлы, поэтому пока мы просто будем хранить их в соответствующих местах).sh - это сценарии оболочки, которые запускают все эти сценарии один за другим из каждого места, поэтому вам не нужно вручную переходить в каждое место и запускать сценарии. Это упрощает обработку всех команд.

После запуска сценария оболочки просто скажите «Эй, Эвон!» и ты должен увидеть, как Эвон начал тебя слушать. Теперь вы можете использовать Эвона в качестве помощника Google и разговаривать с ним, и вы можете видеть, как Эвон меняет выражения от того, что вы говорите. Попробуйте что-нибудь вроде «Эй, Эвон! Мне сегодня грустно », и вы можете видеть, как Эвон грустит с вами. Попросите Юона пошутить и посмотрите, как он посмеется над шуткой.

Шаг 7: Что дальше?

Эвон на этом не останавливается. У Эвона теперь есть способ обнаруживать и показывать эмоции, но мы можем сделать гораздо больше. Это только начало.

В ближайшем обновлении мы будем работать над тем, как сделать

  • Эвон обнаруживает лица, отслеживает ваше лицо и движется вместе с ним.
  • Мы добавим звуковые эффекты, чтобы придать персонажу дополнительную глубину.
  • Добавьте мобильности, чтобы Эвон мог двигаться вместе с вами.

Примечание: в связи с текущей ситуацией стало очень трудно получить детали для проекта. Это заставило меня изменить дизайн и функциональность с учетом мыслей, которые были у меня в инвентаре. Но как только я получу все части, я обновлю проект выше.

Обновления:

  • Внесены некоторые изменения в код, удален шелл-скрипт.
  • Добавлен прямоугольный корпус для EWON.

Рекомендуемые: