Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Робот Джой: Умный робот на Arduino и ESP8266 для развлечения детей в больницах

Компоненты и расходные материалы

Arduino UNO × 1
Espressif ESP8266 ESP-01 × 1
Сервопривод SG90 (микро) × 6
DC-мотор с редуктором и резиновыми колесами × 2
Драйвер L298N (H-мост) × 1
Adafruit 16-канальный 12-битный PWM/серво драйвер (PCA9685, I2C) × 1
MAX7219 8x8 LED-дисплей × 4
SparkFun Dual H-Bridge L298 × 1
Аккумулятор 18650 × 2
Корпус для 18650 × 2
Arduino Proto Shield × 1
Диод 1N4001 × 1
Резистор 10 кОм × 3

Необходимые инструменты и станки

Приложения и онлайн-сервисы

О проекте

Первое место в Instructables Wheel Contest, второе место в Arduino Contest, финалист Design for Kids Challenge. Спасибо всем, кто голосовал!

Страница проекта на Instructables

Роботы проникают везде: от промышленности до подводной и космической разведки. Но мои любимые — это роботы для развлечения! Этот DIY-робот создан для работы в детских больницах, чтобы приносить радость маленьким пациентам. Проект фокусируется на обмене знаниями и продвижении технологических инноваций для помощи НКО, работающим в детских больницах.

В этом руководстве показано, как спроектировать дистанционно управляемого гуманоидного робота, управляемого по Wi-Fi, с использованием Arduino Uno и модуля ESP8266. Используются сервоприводы для движений головы и рук, DC-моторы для перемещения на небольшие расстояния, а лицо formado из LED-матриц. Управление осуществляется из обычного браузера через HTML-интерфейс. Android-смартфон на борту транслирует видео и аудио от робота к оператору.

Руководство охватывает 3D-печать и сборку корпуса, схемы электрических цепей и подробное описание кода Arduino, чтобы любой мог повторить робота.

Некоторые техники уже публиковались в отдельных туториалах:

Команда проекта: Тиаго Фарауче, Диего Августус, Ыхан Кристиан, Элам Морейра, Пауло де Азеведо мл., Гильерме Пупо, Рикардо Каспиро, ASEBS.

Подробнее о проекте:

Как вы можете помочь?

Проект финансируется участниками и небольшими пожертвованиями. Если вам понравилось, вы можете поддержать нас:

Шаг 1: Немного истории...

Проект «Robô da Alegria» («Робот Радости») родился в 2016 году в регионе Байшада Сантиста (Бразилия) с целью развития технологий и привлечения сообщества к движению мейкеров. Вдохновленный волонтерскими проектами НКО в детских больницаха, проект стремится создать робота на открытом железе и ПО, способного принести веселье в больничную среду и помочь другим организациям.

Зародыш проекта появился в конце 2015 года после встречи, организованной Ассоциацией стартапов Байшада Сантиста (ASEBS). Идея заключалась в проекте без денежного приза, но с альтруистической целью — помочь другим.

Робот претерпел множество трансформаций: от одной головы с механическими глазами и бровями до нынешнего гуманоидного вида. Проходили итерации с разными материалами и электроникой: от акрила и лазерной резки МДФ к 3D-печати. От простого Bluetooth-интерфейса с двумя сервоприводами к телу с 6 сервоприводами и 2 DC-моторами, управляемым веб-интерфейсом по Wi-Fi.

Корпус полностью 3D-печатается в Fusion 360. Для возможности репликации в makerspace/fab lab, где время печати ограничено, модель разбита на детали по <3 часов печати каждая. Детали склеиваются или болтятся.

Лицо из LED-массивов позволяет выражать эмоции. Сервоприводы рук и шеи дают мобильность для взаимодействия. В «центре управления» Arduino Uno интерфейсируется со всеми периферийными устройствами, включая ESP8266 для Wi-Fi-управления с любого устройства в той же сети.

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

Шаг 2: Инструменты и материалы

Инструменты:

Электроника:

Механика:

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

Шаг 3: 3D-печать

Робот Джой: Умный робот на Arduino и ESP8266 для развлечения детей в больницах

Модель состоит из 36 различных деталей. Большинство печатается без поддержек, с заполнением 10%.

Сборка описана в следующих шагах.

STL-файлы можно скачать:

Это экспериментальный прототип. Известные проблемы:

Если нет 3D-принтера:

Шаг 4: Обзор схем

Робот Джой: Умный робот на Arduino и ESP8266 для развлечения детей в больницах Робот Джой: Умный робот на Arduino и ESP8266 для развлечения детей в больницах

Ядро управления — Arduino Uno. Она интерфейсирует ESP8266-01 для дистанционного управления по Wi-Fi.

16-канальный серво-контроллер (I2C) управляет 6 сервоприводами (2 шея + 2×2 руки). Массив из 4 LED-матриц 8x8 управляется Arduino. 4 цифровых выхода Arduino управляют 2 DC-моторами через H-мост.

Питание: два USB-парбанка — один для моторов, один для Arduino. Пытался питать всё от одного — ESP8266 терял связь из-за скачков тока при пуске DC-моторов.

В груди смартфон — транслирует видео/аудио к оператору, также может слать команды ESP8266, управляя телом.

Компоненты не оптимальны: NodeMCU заменил бы Arduino+ESP8266, Raspberry Pi с камерой — смартфон и контроль моторов. Но Arduino Uno выбран за доступность и простоту. На момент старта ESP и RPi были дороги в нашем регионе, а цель — недорогой робот.

Файлы схем: robot+mk0+-+rev8_Esquemático.pdf, robot+mk0+-+rev8_bb.pdf

Шаг 5: Сборка лица

Использованы 4 LED-матрицы 8x8. Корпус лица — две 3D-детали (задняя и передняя панели) из черного PLA, ~2.5 часа печати, 10% заполнение, без поддержек.

Из-за тесноты разъемы матриц пришлось перепаять: снять матрицу, отпаять входной/выходной разъемы, припаять на другую сторону платы с пинами к центру.

Матрицы крепятся к задней панели 16 болтами M2×6мм. Подключение по схеме. Первая матрица — 5-проводной шлейф «папа-мама» к Arduino. Выход каждой матрицы — вход следующей по «мама-мама» шлейфам. После подключения устанавливается передняя панеля (4 болта M2). Провода укладываются между панелями.

Шаг 6: Сборка головы

Голова — 8 деталей, белый PLA, 0.2мм слой, 10% заполнение, без поддержек. Печать ~18 часов (диаметр 130мм).

Верх и низ склеиваются суперклеем. Боковые колпачки болтятся к бокам верха/низа — голова разбираема для ремонта. Перед закрытием устанавливают модуль лица (шаг 5) и грудь (следующие шаги).

Сервопривод #5 крепится к оси шеи 1, рог сервы фиксируется винтом. Ось шеи 2 болтится к серве (2 болта M2×6). Сервопривод #6 крепится к оси шеи 2 аналогично. Ось шеи 2 соединяется с центром шеи (следующий шаг). Модуль лица устанавливается внутрь головы.

Шаг 7: Сборка груди и плеч

Печать ~12 часов. 5 деталей: грудь (право/лево), плечи (право/лево), центр шеи, ось шеи 3.

Детали груди склеиваются. Плечи болтятся M2×10 к бокам. Сервоприводы #2 и #4 устанавливаются в плечи (провода проходят через прямоугольные отверстия, сложно), фиксируются болтами M2×10 и гайками.

Центр шеи имеет прямоугольное отверстие для оси шеи 3 — 4 болта M2×6. Центр шеи крепится к плечам теми же болтами, что и плечи к груди. 4 гайки M2×1.5 фиксируют позицию.

Сервопривод #6 подключается к оси шеи 3 (2 винта). Ось шеи 3 вставляется в центр шеи, фиксируется 4 болтами M2×6.

Шаг 8: Сборка рук

~5 часов на руку. 4 детали: чашка плеча, колпачок плеча, ось руки, рука.

Ось руки центрируется и болтится к руке (3 болта M2×6). Рог сервы на другом конце оси. Сервопривод #1/#3 устанавливается в чашку плеча, рог на ось руки. В чашке есть отверстие для рога сервы #2/#4 (уже на плече). Еще одно отверстие для проводов. Колпачок закрывает плечо (2 болта M2×6).

Шаг 9: Монтаж груди

Грудь соединяет грудной клетку с основанием (колеса/база). 2 детали (право/лево), печать ~4 часа.

Плечи вставляются в верхнюю часть груди. Отверстие для болта выравнивания/фиксации (рекомендуется склеить). Внизу 6 отверстий для крепления к колесам (следующий шаг). На этом этаже наклеил стикеры на сервоприводы для облегчения проводки.

Шаг 10: Сборка колес

3 детали: колеса (лево/право), передняя панель. Печать ~10 часов.

  1. Припаять провода к контактам DC-моторов (потом к H-мосту);
  2. Моторы к конструкции: по 2 болта M3×40 + гайки на мотор (можно короче, но не нашел);
  3. Приклеить переднюю панель, связывающую части;
  4. Верх передней панели имеет отверстия для крепления к груди — 6 болтов M2×6.

Шаг 11: Держатель телефона

Одна 3D-деталь, ~1 час печати. Для Motorola Moto E 4.3" (другие похожие размеры подойдут). Телефон вставляется, прижимается держателем и 4 болтами M2×6. Важно: подключить USB-кабель к телефону ДО затягивания болтов — место очень тесное, пришлось обрезать часть USB-разъема.

Шаг 12: Монтаж основания

Одна 3D-деталь, ~4 часа. Отверстия для опорных шариковых колес, плат. Сборка:

Шаг 13: Задняя крышка и батарейный блок

Задняя крышка открывается для доступа к схеме, зарядки батарей, вкл/выкл телефона. 6 деталей: спина (лево/право), ручки (×2), замки (лево/право). Печать ~5.5 часов. Левая и правая части склеиваются — ждать полного высыхания клея.

Батарейный блок: 2×18650 в корпусе. Паяем перемычку между минусом №1 и плюсом №2. Общий минус — на GND Arduino. Выключатель между общим плюсом и Vin Arduino.

Выключатель крепится к задней части болтом M2×6 и гайкой M2×1.5. Корпус батарей — 4 болта M2×6. Цилиндрическая часть замков зашкурена для лучшего посадки. Замки проходят в отверстия крышки, ручки клеятся с другой стороны. Крышка надевается на спину робота, ручки поворачиваются для фиксации.

Шаг 14: Проводка схем

Робот Джой: Умный робот на Arduino и ESP8266 для развлечения детей в больницах

Arduino:

ESP8266-01:

L298N H-мост:

MAX7219 (первая матрица):

MAX7219 (остальные матрицы) — каскадно:

16-канальный серво-контроллер (PCA9685):

SG90 сервоприводы: питание 3.0–6.0В или 4.0–7.2В по разным данным. Поставил 2 диода 1N4001 последовательно после батарей: 2×3.7В – 2×0.7В = 6.0В для серв и DC-моторов. Не самый эффективный способ, но работает.

Файлы схем: robot+mk0+-+rev8_bb.pdf, robot+mk0+-+rev8_Esquemático.pdf

Шаг 15: Код Arduino

Робот Джой: Умный робот на Arduino и ESP8266 для развлечения детей в больницах Робот Джой: Умный робот на Arduino и ESP8266 для развлечения детей в больницах

Установите последнюю Arduino IDE. Библиотеки для ESP8266 и DC-моторов не нужны. Нужно добавить:

Код разделен на 9 файлов:

Скачайте код. Проверьте baud rate ESP8266 и установите в _80_Setup.ino. Подключите Arduino к USB и загрузите.

Архив: RoboAlegria.rar

Шаг 16: Android-приложения

Смартфон транслирует видео/аудио в интерфейс управления. Приложения из Google Play:

Также разрабатывалась Android-игра для взаимодействия с роботом — пока нестабильна, не доступна для скачивания.

Шаг 17: Интерфейс управления

Робот Джой: Умный робот на Arduino и ESP8266 для развлечения детей в больницах

HTML-интерфейс. Скачайте interface.rar, распакуйте, откройте в Firefox. Интерфейс в два блока: слева — камера и зеркалирование экрана, справа — кнопки управления.

Текстовые поля для ввода: IP адрес ESP8266 («Endereço IP Arduino»), IP Webcam («IP Webcam (IP)»), Screen Mirror («Screen Mirror (IP)»).

Вкладка «Ações predefinidas» — 9 движений тела и 13 лиц. Вкладка «Ações personalizadas» — индивидуальные углы для 6 серв, выбор из 9 вариантов глаз и 8 ртов. JS-функция по клику шлет команду на IP ESP8266.

Стрелки клавиатуры — движение вперед/назад, поворот влево/вправо.

При старте запрос на доступ к микрофону. Если разрешить — громкость микрофона триггерит анимацию «речи» на лице робота. Настройка чувствительности — кнопка настроек в правом верхнем углу. Там же — скорость движений рук/шеи.

Архив: interface.rar

Шаг 18: Веселитесь!

Робот Джой: Умный робот на Arduino и ESP8266 для развлечения детей в больницах

Включите и веселитесь! Если понравилось — делитесь с друзьями и голосуйте в конкурсах Instructables! :D

Ссылка на проект

Код

Библиотеки на GitHub:

3D-модели (CAD)

Схемы

Схемы прикреплены в разделе Schematics.

Производственный процесс

  1. Raspoulette: Прототип солнечной автономной системы двери курятника
  2. DIY робот в стиле Wall‑E на Raspberry Pi из коробки от CD
  3. Робот-будильник на колесах: умная мобильная система пробуждения на Raspberry Pi и Google Calendar
  4. Создание моторизированного робота-крипера Minecraft на Arduino
  5. Archimedes: Робот-совица с ИИ для распознавания эмоций
  6. Создание робота с компьютерным зрением и голосовым управлением на Windows 10 IoT Core
  7. ROS-робот: Управление навигацией из терминала на Raspberry Pi
  8. Simple Pi Robot — Сборка 2WD автономного ровера на Raspberry Pi
  9. Набор для создания робота с умной внутренней навигацией на базе Arduino
  10. Понимание линейных моторов: от электрической энергии к точному линейному движению