Оглавление:

Тинку: персональный робот: 9 шагов (с изображениями)
Тинку: персональный робот: 9 шагов (с изображениями)

Видео: Тинку: персональный робот: 9 шагов (с изображениями)

Видео: Тинку: персональный робот: 9 шагов (с изображениями)
Видео: Крупнейшая выставка роботов в Лондоне / Роботы и технологии будущего на ICRA 2023 2024, Ноябрь
Anonim
Тинку: персональный робот
Тинку: персональный робот

Подписаться Еще от автора:

Нематериальная поверхность
Нематериальная поверхность
Нематериальная поверхность
Нематериальная поверхность
Удалена инструкция
Удалена инструкция
Удалена инструкция
Удалена инструкция
Картонное пианино
Картонное пианино
Картонное пианино
Картонное пианино

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

Краткое описание того, что он умеет:

  1. Компьютерное зрение

    • Распознавание лиц
    • Отслеживание лица
    • Делайте фото и записывайте видео
    • Узнавайте маркеры ArUco
  2. Обработка речи

    • Автономная обработка речи (обнаружение горячих слов)
    • Он может понять, что вы говорите, обнаружив горячие слова.
  3. Выражать эмоции

    • Он двигает головой для невербального общения и выражения чувств.
    • Он отображает изображения и гифки на своем экране, чтобы поддержать текущее мнение.
  4. Двигаться вокруг

    Он может бегать на колесах и определять места с помощью маркеров ArUco

  5. Избегание препятствий

    У него есть датчики сонара, поэтому он всегда знает об окружающей обстановке и может избегать препятствий

Он может делать гораздо больше. Вы также можете реализовать те новые функции, которые вам нужны.

Хватит разговоров, давайте сделаем.

РЕДАКТИРОВАТЬ: Тело Тинку начало трескаться, поэтому мне пришлось полностью его переделать. Вот новые образы, совершенно свежие и лучше Тинку. Извините, у меня нет изображений этапов редизайна Тинку.

Шаг 1. Вещи, которые вам понадобятся

Вещи, которые вам понадобятся
Вещи, которые вам понадобятся
Вещи, которые вам понадобятся
Вещи, которые вам понадобятся
Вещи, которые вам понадобятся
Вещи, которые вам понадобятся
Вещи, которые вам понадобятся
Вещи, которые вам понадобятся

Тело робота

  1. Акриловый лист
  2. Плита МДФ
  3. Маленькие L-образные зажимы
  4. Пакет с гайкой и винтом

Сервоприводы, двигатели и колеса

  1. Dynamixel AX-12A (3 штуки)
  2. Набор болтов и гаек Bioloid
  3. Моторы (2 шт.)
  4. Треки (2 упаковки)
  5. Колеса опорные (4 шт.)
  6. Хомуты L для моторов (2 шт.)
  7. L-образный зажим для вала фиктивного колеса (2 шт.)
  8. Вал фиктивного колеса (2 шт.)
  9. Биолоидная рамка F8
  10. Биолоидная рамка F3 (2 шт.)
  11. Биолоидная рамка F2
  12. Биолоидная рамка F10

Электроника

  1. Ардуино
  2. Raspberry Pi или Udoo Quad
  3. Драйвер мотора
  4. Logitech webcam-c270 (со встроенным микрофоном)
  5. Ультразвуковые датчики расстояния (6 шт.)
  6. Lipo аккумулятор (3300 мАч 3S)
  7. Повышающий регулятор напряжения (DC-DC)
  8. Понижающий регулятор напряжения (DC-DC)
  9. Сенсорный экран (7 дюймов)
  10. USB-концентратор (только если вы используете Udoo Quad, потому что у него всего 2 порта USB)
  11. 7404 шестнадцатеричный инвертор IC
  12. 74HC244 IC
  13. 14-контактная база IC
  14. 20-контактная база IC

Разъемы и кабели

  1. Т-образный штекер аккумулятора
  2. Гибкий кабель HDMI (только если на вашем экране есть разъем HDMI)
  3. Кабель Micro USB
  4. Трехконтактный кабель релимейта мама-гнездо (6 шт.)
  5. Штекер питания постоянного тока (2 шт.)
  6. Разъемы сервопривода Dynamixel (3 шт.)
  7. Кабель USB A - B (только если он не поставляется с Arduino)
  8. Провода перемычки
  9. Макетные провода
  10. Полоски Burg

Для изготовления печатных плат

  1. Ламинат, плакированный медью
  2. Устройство для травления печатных плат (Fecl3)
  3. Перфорированная печатная плата
  4. Сверло 1 мм

Разное

  1. Клей
  2. Трубки радиатора
  3. Противостояние

Примечание: здесь я использую плату Udoo, потому что она имеет лучшую скорость вычислений, чем мой raspberry pi 2. Я использую внешний Arduino, а не встроенный Arduino платы Udoo, потому что все мои датчики и модули совместимы с 5 В, а Arduino в Плата Udoo совместима с напряжением 3 В.

Шаг 2: Тело робота

Тело робота
Тело робота
Тело робота
Тело робота
Тело робота
Тело робота
Тело робота
Тело робота

Чтобы подготовить тело робота, я использовал акриловый лист и вырезал его по размеру, чтобы сделать конструкцию в виде коробки. Я упомянул размеры каждой стороны тела на изображении.

  1. Вырежьте акриловый лист по заданному размеру.
  2. Просверлите отверстия в определенных местах, чтобы установить двигатели, датчики, стойки и соединить каждую пластину вместе.
  3. Просверлите отверстие большего размера в опорной плите и верхней пластине для пропуска кабелей.
  4. Сделайте небольшую выемку в нижней части передней и задней панели, чтобы провода, идущие от ультразвукового датчика, могли пройти.

Пора подготовить и смонтировать моторы и гусеницы.

  1. Припаяйте дополнительные провода к контактам двигателя, чтобы провод мог доходить до приводов двигателя.
  2. Установите зажимы двигателя и зажимы вала фиктивного колеса на опорной плите робота.
  3. Подсоедините двигатели и вал фиктивного колеса к зажимам, затем соедините колеса.
  4. Соберите дорожки и сделайте петлю.
  5. Ремень дорожки на колеса. Имейте в виду, что гусеница не прогибается и имеет достаточное натяжение.

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

Шаг 3: голова и лицо робота

Image
Image
Голова и лицо робота
Голова и лицо робота
Голова и лицо робота
Голова и лицо робота
Голова и лицо робота
Голова и лицо робота

Мы уже передали нашему роботу корпус и колеса. Пришло время придать ему голову, шею и лицо.

Шея:

Самая сложная часть головы робота - это шея. Так что сначала подготовим. Сервоприводы Dynamixel немного сбивают с толку, но они надежны и долговечны. Для него доступно множество монтажных зажимов, поэтому вы можете соединить их любым способом.

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

  1. Вставьте гайки в динамиксельные сервоприводы, чтобы закрепить их на рамах.
  2. Поместите раму биолоида F8 в центр верхней панели, наметьте отверстия для сверления и просверлите их.
  3. Присоедините раму биолоида F8 к одному из сервоприводов, затем установите раму биолоида F8 на верхнюю панель.
  4. Соедините каждый сервопривод, используя разные рамки, и подготовьте гриф.
  5. Соедините сервоприводы друг с другом, используя трехконтактные серворазъемы Dynamixel.

Глаз и ухо:

Я использую Logitech webcam-c270 как глаз для моего робота. Это хорошая камера, которая может делать фото и записывать видео в разрешении 720p. В него также встроен микрофон, поэтому он станет ухом и для моего робота. После долгого мозгового штурма я выяснил, что лучшее место для установки камеры - это верх экрана. Но для крепления камеры мне понадобится крепление камеры. Итак, давайте сделаем один.

  1. Удалите металлические детали с веб-камеры, чтобы придать ей некоторый вес.
  2. Вырежьте из плиты МДФ две части, одну квадратную и одну треугольную, с размерами, показанными на рисунке.
  3. Просверлите отверстие в основании веб-камеры и в квадратной детали из МДФ. Сделайте выемку на квадратном элементе, чтобы вставить в него провод веб-камеры.
  4. Склейте части МДФ вместе, чтобы получилась Т-образная форма. Крепление камеры готово.
  5. Перед тем, как соединить крепление камеры и камеру, сначала подготовьте голову.

Голова:

Голова робота связана с сервоприводами. Он должен быть как можно более легким, чтобы головка не оказывала большой нагрузки на сервоприводы. Поэтому я использовал доску МДФ вместо акрилового листа.

  1. Вырежьте кусок плиты МДФ размером (18 см x 13 см) и просверлите отверстия для крепления экрана.
  2. Поместите биолоидную раму F10 в центр плиты МДФ, наметьте отверстия для сверления и просверлите их.
  3. Установите биолоидную раму F10 и биолоидную раму F2 с каждой стороны плиты МДФ и соедините их вместе с помощью гайки и винта.
  4. Теперь приклейте крепление камеры к обратной стороне платы.
  5. Соедините биолоидную рамку F2 с концом сервоконфигурации.
  6. Закрепите экран на плите МДФ, используя стойки.
  7. Прикрепите веб-камеру к креплению камеры.

Теперь наша голова и лицо робота готовы.

Шаг 4: индивидуальные печатные платы

Пользовательские печатные платы
Пользовательские печатные платы
Пользовательские печатные платы
Пользовательские печатные платы
Пользовательские печатные платы
Пользовательские печатные платы

Пришло время растворить немного fecl3 и протравить печатные платы.

Почему я делал печатные платы на заказ?

  • У меня нет сервоконтроллера Dynamixel, поэтому мне нужно его сделать.
  • Мне нужно подключить множество датчиков к Arduino более чистым способом, поэтому я сделал щит для Arduino.

Давайте сделаем.

  1. Загрузите файлы печатной платы и распечатайте их на ламинате, плакированном медью.
  2. Протравите плакированный медью ламинат с помощью fecl3.
  3. Просверлите отверстия диаметром 1 мм для установки микросхем и защитной полосы.
  4. Для того, чтобы коллекторы для штабелирования экрана сдвинулись вниз по пластиковым стопорам полосы бурга к концам штифтов.
  5. Припаяйте основания микросхем и защитную полосу к печатным платам.
  6. Схемы я предоставил для справки.

Примечание. Используйте программу Express PCB, чтобы открыть файл.pcb, и программу Express SCH, чтобы открыть файл.sch.

Шаг 5: Источник питания

Источник питания
Источник питания
Источник питания
Источник питания

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

Основным источником энергии в этом роботе является аккумулятор 3S Lipo емкостью 2200 мАч. Эта батарея состоит из трех ячеек, а выходное напряжение составляет 11,1 вольт. Плате Udoo требуется питание 12 В, а плате Arduino - 5 В. Поэтому я решил использовать два регулятора напряжения, один повышающий, а другой понижающий. Один будет поддерживать текущее питание для всех модулей 12 В, а другой - для всех модулей 5 В.

Изображение содержит нарисованные от руки схемы.

  • Припаиваем регуляторы напряжения к перфорированным платам PCB.
  • Припаяйте Т-образный штекер аккумуляторной батареи ко входу обоих регуляторов напряжения.
  • Подключите выход «Земля» обоих регуляторов.
  • Подключите цилиндрические разъемы постоянного тока к каждому выходу регулятора. Сохраняйте достаточную длину проводов, чтобы они доходили до платы Udoo / Raspberry Pi и Arduino.
  • Припаяйте бургер к каждому выходу регулятора в качестве дополнительного выхода питания на случай, если он понадобится в будущей модификации.
  • Перед подключением источника питания к любому из электронных модулей откалибруйте выход каждого регулятора с помощью подстроечного потенциометра, установленного точно на 12 В и 5 В.

Шаг 6: Окончательная сборка

Окончательная сборка
Окончательная сборка
Окончательная сборка
Окончательная сборка
Окончательная сборка
Окончательная сборка

Пришло время. После стольких шагов пришло время собрать каждый модуль вместе. В восторге? Ну я.

  • Вырежьте из плиты МДФ прямоугольный кусок размером (30 см x 25 см). Эта плата является базой для установки электронных модулей. Я не хочу просверливать много отверстий в основной акриловой пластине, поэтому использую МДФ. Это также помогает скрыть провода под ним, чтобы наш робот выглядел аккуратно и чисто.
  • Поместите модули на плиту МДФ, разметьте монтажные отверстия и просверлите их. Сделайте несколько дополнительных отверстий, чтобы пропустить провода под доской МДФ.
  • Я присвоил номера некоторым отверстиям, так что мне стало легко сослаться на них, а вам понять схемы проводки.

Источник питания:

  • Установите модуль питания на плату и пропустите разъем 12 В и 5 В через отверстие номер 1, вытащите разъем 12 В через отверстие номер 2 и вытащите разъем 5 В через отверстие номер 3.
  • Я пока держал аккумулятор незакрепленным, потому что иногда мне нужно снимать и заряжать его.

Драйвер двигателя:

  • Вытяните провода, подключенные к двигателям, через отверстие № 4 и подключите их к плате драйвера двигателя.
  • Двигатели нуждаются в источнике питания 12 В для правильной работы, поэтому соедините контакты 12 В и GND драйвера с выходом регулятора напряжения 12 В.
  • Подключите контакты драйвера двигателя к Arduino в соответствии с кодом.

Ардуино:

  • Перед установкой Arduino пропустите провода трех ультразвуковых датчиков через заднюю панель и пропустите провода остальных трех ультразвуковых датчиков через переднюю панель и вытяните их через отверстие номер 3.
  • Установите Arduino и прикрепите к нему экран датчика.
  • Я дал номера всем проводам ультразвукового датчика, чтобы их можно было легко отладить в случае какой-либо ошибки. Подключите штыри датчика к экрану, начиная с цифр от 1 до 6 последовательно.
  • Подключите разъем питания 5 В к Arduino.

Сервоконтроллер Dynamixel:

  • Установите на плату сервоконтроллер Dynamixel.
  • Соедините выводы 12 В и GND сервоконтроллера с выходом регулятора напряжения 12 В.
  • Соедините выводы 5v и GND сервоконтроллера с выходом регулятора напряжения 5v.
  • Соедините контакты сервоконтроллера и Arduino согласно коду.
  • Оставьте пока выходной штырь сервопривода отключенным. Подключите его после установки верхней панели робота.

Уду / Raspberry Pi:

Примечание. Перед выполнением следующих шагов убедитесь, что вы уже установили ОС на карту MicroSD и поместили ее на плату Udoo / Raspberry Pi. Если нет, то перейдите по ссылкам для установки Raspbian на Raspberry Pi или Udoobuntu на плате Udoo.

  • Установите Udoo / Raspberry Pi на плату и подключите к нему разъем питания.
  • Если вы используете Udoo, подключите концентратор USB к одному из его разъемов USB.
  • Подключите к нему кабель HDMI и кабель micro USB. Эти контакты используются для подачи данных и питания на экран.
  • Подключите Arduino к Udoo / Raspberry Pi с помощью USB-кабеля от A до B.

Верхняя панель:

  • Прикрепите верхнюю панель к боковой, передней и задней панелям робота с помощью L-образных зажимов.
  • Подключите кабель HDMI, кабель micro USB к экрану, а веб-камеру - к плате Udoo / Raspberry Pi.
  • Соедините трехконтактный серворазъем, идущий от базового сервопривода динамикселя, с сервоконтроллером. Позаботьтесь о том, какой вывод - DATA, GND и +12 В. См. Изображения в разделе «Голова и лицо робота» для лучшего понимания. Если вы подключите провода в обратном порядке, это может привести к повреждению сервоприводов.

Ультразвуковые датчики расстояния:

Последний кусок головоломки. На этом наша сборка практически закончена.

  • Вырежьте шесть прямоугольных кусков из плиты МДФ / акрилового листа размером (6 см х 5 см).
  • Просверлите в них отверстия в необходимых местах.
  • Присоедините ультразвуковые датчики к каждой плате и прикрепите все доски к базовой панели робота.
  • Подключите датчики с помощью разъемов.

Наконец-то дело сделано. Подключите аккумулятор и загрузите Udoo / Raspberry Pi

Шаг 7: Программное обеспечение

Аппаратно в комплекте, но без ПО этот робот просто коробочка. Список необходимого нам программного обеспечения:

  • TightVNC
  • Python
  • OpenCV
  • Снежный мальчик
  • Некоторые пакеты python

    • Pyautogui
    • тупой
    • пизериал
    • Pyaudio

TightVNC:

TightVNC - это бесплатный пакет программного обеспечения для удаленного управления. С TightVNC вы можете видеть рабочий стол удаленной машины и управлять им с помощью локальной мыши и клавиатуры, как если бы вы это делали, сидя перед этим компьютером.

Если у вас есть дополнительная клавиатура и мышь, это хорошо. В противном случае установите TightVNC на свой ноутбук и выполните следующие действия.

Впервые подключите клавиатуру и мышь к Udoo / Raspberry Pi. Подключитесь к сети Wi-Fi. Откройте Терминал и введите

$ ifconfig

  • Запишите IP-адрес робота.
  • Откройте TightVNC на своем ноутбуке. Введите IP-адрес в обязательное поле и нажмите Enter. Вуаля! Вы подключены сейчас. Используйте тачпад и клавиатуру ноутбука, чтобы получить доступ к роботу.

Python:

Python - очень популярный и универсальный язык, поэтому я использую его в качестве основного языка программирования для этого робота.

Здесь я использую python 2.7, но при желании вы также можете использовать python 3. К счастью, Python предустановлен как в Udoobuntu, так и в Raspbian OS. Поэтому нам не нужно его устанавливать.

OpenCV:

OpenCV - это библиотека с открытым исходным кодом, в основном предназначенная для компьютерного зрения в реальном времени. OpenCV с Python очень прост в использовании. Установка OpenCV немного обременительна, но существует множество очень простых руководств. Мой личный фаворит - это. Это руководство предназначено для Raspberry Pi, но вы также можете использовать его для платы Udoo.

Снежный мальчик:

Snowboy - это библиотека, написанная ребятами из Kitt.ai, в основном предназначенная для автономной обработки речи / обнаружения горячих слов. Он очень прост в использовании. Перейдите по этой ссылке, чтобы установить Snowboy на Raspberry Pi. Если вы используете доску Udoo, то перейдите к этому проекту, написанному мной, чтобы установить Snowboy в Udoo.

Пакеты Python:

Следуйте этим простым в использовании руководствам, чтобы установить некоторые пакеты Python.

  1. Pyautogui - Pyautogui - это пакет для имитации нажатия клавиш на клавиатуре или движения мыши.
  2. Numpy - введите «pip install numpy» в оболочке Linux и нажмите ввод. Это так просто.
  3. Pyserial - Pyserial - это пакет, предназначенный для последовательной связи через python. Мы будем использовать его для связи с Arduino.

Шаг 8: коды

Аппаратная часть закончена. Программная часть завершена. Пришло время отдать душу этому роботу.

Давайте закодируем.

Код этого робота несколько сложен, и в настоящее время я добавляю ему дополнительные функции. Поэтому я разместил коды в моем репозитории Github. Вы можете проверить это и клонировать / скачать коды оттуда.

Теперь это не просто робот; теперь это Тинку.

Шаг 9: демонстрация

Image
Image

Демо. yeeeeee !!

Это некоторые из основных демонстраций. Впереди еще много интересного.

Следите за обновлениями, и если у вас есть сомнения, не стесняйтесь комментировать.

Спасибо, что прочитали мой проект. Ты обалденный.

Если вам понравился этот проект, проголосуйте за него в конкурсе «Микроконтроллеры и робототехника»

Удачи;-)

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