Оглавление:
- Шаг 1. Вещи, которые вам понадобятся
- Шаг 2: Тело робота
- Шаг 3: голова и лицо робота
- Шаг 4: индивидуальные печатные платы
- Шаг 5: Источник питания
- Шаг 6: Окончательная сборка
- Шаг 7: Программное обеспечение
- Шаг 8: коды
- Шаг 9: демонстрация
Видео: Тинку: персональный робот: 9 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Подписаться Еще от автора:
Привет, Тинку - не просто робот; это персональный робот. Это все в одном пакете. Он может видеть (компьютерное зрение), слушать (обработка речи), говорить и реагировать на ситуацию. Он может выражать эмоции, и список вещей, которые он может делать, можно продолжить. Я дал ему имя; Я называю это Тинку.
Краткое описание того, что он умеет:
-
Компьютерное зрение
- Распознавание лиц
- Отслеживание лица
- Делайте фото и записывайте видео
- Узнавайте маркеры ArUco
-
Обработка речи
- Автономная обработка речи (обнаружение горячих слов)
- Он может понять, что вы говорите, обнаружив горячие слова.
-
Выражать эмоции
- Он двигает головой для невербального общения и выражения чувств.
- Он отображает изображения и гифки на своем экране, чтобы поддержать текущее мнение.
-
Двигаться вокруг
Он может бегать на колесах и определять места с помощью маркеров ArUco
-
Избегание препятствий
У него есть датчики сонара, поэтому он всегда знает об окружающей обстановке и может избегать препятствий
Он может делать гораздо больше. Вы также можете реализовать те новые функции, которые вам нужны.
Хватит разговоров, давайте сделаем.
РЕДАКТИРОВАТЬ: Тело Тинку начало трескаться, поэтому мне пришлось полностью его переделать. Вот новые образы, совершенно свежие и лучше Тинку. Извините, у меня нет изображений этапов редизайна Тинку.
Шаг 1. Вещи, которые вам понадобятся
Тело робота
- Акриловый лист
- Плита МДФ
- Маленькие L-образные зажимы
- Пакет с гайкой и винтом
Сервоприводы, двигатели и колеса
- Dynamixel AX-12A (3 штуки)
- Набор болтов и гаек Bioloid
- Моторы (2 шт.)
- Треки (2 упаковки)
- Колеса опорные (4 шт.)
- Хомуты L для моторов (2 шт.)
- L-образный зажим для вала фиктивного колеса (2 шт.)
- Вал фиктивного колеса (2 шт.)
- Биолоидная рамка F8
- Биолоидная рамка F3 (2 шт.)
- Биолоидная рамка F2
- Биолоидная рамка F10
Электроника
- Ардуино
- Raspberry Pi или Udoo Quad
- Драйвер мотора
- Logitech webcam-c270 (со встроенным микрофоном)
- Ультразвуковые датчики расстояния (6 шт.)
- Lipo аккумулятор (3300 мАч 3S)
- Повышающий регулятор напряжения (DC-DC)
- Понижающий регулятор напряжения (DC-DC)
- Сенсорный экран (7 дюймов)
- USB-концентратор (только если вы используете Udoo Quad, потому что у него всего 2 порта USB)
- 7404 шестнадцатеричный инвертор IC
- 74HC244 IC
- 14-контактная база IC
- 20-контактная база IC
Разъемы и кабели
- Т-образный штекер аккумулятора
- Гибкий кабель HDMI (только если на вашем экране есть разъем HDMI)
- Кабель Micro USB
- Трехконтактный кабель релимейта мама-гнездо (6 шт.)
- Штекер питания постоянного тока (2 шт.)
- Разъемы сервопривода Dynamixel (3 шт.)
- Кабель USB A - B (только если он не поставляется с Arduino)
- Провода перемычки
- Макетные провода
- Полоски Burg
Для изготовления печатных плат
- Ламинат, плакированный медью
- Устройство для травления печатных плат (Fecl3)
- Перфорированная печатная плата
- Сверло 1 мм
Разное
- Клей
- Трубки радиатора
- Противостояние
Примечание: здесь я использую плату Udoo, потому что она имеет лучшую скорость вычислений, чем мой raspberry pi 2. Я использую внешний Arduino, а не встроенный Arduino платы Udoo, потому что все мои датчики и модули совместимы с 5 В, а Arduino в Плата Udoo совместима с напряжением 3 В.
Шаг 2: Тело робота
Чтобы подготовить тело робота, я использовал акриловый лист и вырезал его по размеру, чтобы сделать конструкцию в виде коробки. Я упомянул размеры каждой стороны тела на изображении.
- Вырежьте акриловый лист по заданному размеру.
- Просверлите отверстия в определенных местах, чтобы установить двигатели, датчики, стойки и соединить каждую пластину вместе.
- Просверлите отверстие большего размера в опорной плите и верхней пластине для пропуска кабелей.
- Сделайте небольшую выемку в нижней части передней и задней панели, чтобы провода, идущие от ультразвукового датчика, могли пройти.
Пора подготовить и смонтировать моторы и гусеницы.
- Припаяйте дополнительные провода к контактам двигателя, чтобы провод мог доходить до приводов двигателя.
- Установите зажимы двигателя и зажимы вала фиктивного колеса на опорной плите робота.
- Подсоедините двигатели и вал фиктивного колеса к зажимам, затем соедините колеса.
- Соберите дорожки и сделайте петлю.
- Ремень дорожки на колеса. Имейте в виду, что гусеница не прогибается и имеет достаточное натяжение.
Теперь соедините переднюю, заднюю и одну боковую панели на базовой панели с помощью небольших L-образных зажимов. Не устанавливайте верхнюю панель и одну боковую панель, чтобы у нас осталось достаточно места для установки электроники на роботе.
Шаг 3: голова и лицо робота
Мы уже передали нашему роботу корпус и колеса. Пришло время придать ему голову, шею и лицо.
Шея:
Самая сложная часть головы робота - это шея. Так что сначала подготовим. Сервоприводы Dynamixel немного сбивают с толку, но они надежны и долговечны. Для него доступно множество монтажных зажимов, поэтому вы можете соединить их любым способом.
Посмотрите это видео, чтобы лучше понять, как соединить динамические сервоприводы вместе.
- Вставьте гайки в динамиксельные сервоприводы, чтобы закрепить их на рамах.
- Поместите раму биолоида F8 в центр верхней панели, наметьте отверстия для сверления и просверлите их.
- Присоедините раму биолоида F8 к одному из сервоприводов, затем установите раму биолоида F8 на верхнюю панель.
- Соедините каждый сервопривод, используя разные рамки, и подготовьте гриф.
- Соедините сервоприводы друг с другом, используя трехконтактные серворазъемы Dynamixel.
Глаз и ухо:
Я использую Logitech webcam-c270 как глаз для моего робота. Это хорошая камера, которая может делать фото и записывать видео в разрешении 720p. В него также встроен микрофон, поэтому он станет ухом и для моего робота. После долгого мозгового штурма я выяснил, что лучшее место для установки камеры - это верх экрана. Но для крепления камеры мне понадобится крепление камеры. Итак, давайте сделаем один.
- Удалите металлические детали с веб-камеры, чтобы придать ей некоторый вес.
- Вырежьте из плиты МДФ две части, одну квадратную и одну треугольную, с размерами, показанными на рисунке.
- Просверлите отверстие в основании веб-камеры и в квадратной детали из МДФ. Сделайте выемку на квадратном элементе, чтобы вставить в него провод веб-камеры.
- Склейте части МДФ вместе, чтобы получилась Т-образная форма. Крепление камеры готово.
- Перед тем, как соединить крепление камеры и камеру, сначала подготовьте голову.
Голова:
Голова робота связана с сервоприводами. Он должен быть как можно более легким, чтобы головка не оказывала большой нагрузки на сервоприводы. Поэтому я использовал доску МДФ вместо акрилового листа.
- Вырежьте кусок плиты МДФ размером (18 см x 13 см) и просверлите отверстия для крепления экрана.
- Поместите биолоидную раму F10 в центр плиты МДФ, наметьте отверстия для сверления и просверлите их.
- Установите биолоидную раму F10 и биолоидную раму F2 с каждой стороны плиты МДФ и соедините их вместе с помощью гайки и винта.
- Теперь приклейте крепление камеры к обратной стороне платы.
- Соедините биолоидную рамку F2 с концом сервоконфигурации.
- Закрепите экран на плите МДФ, используя стойки.
- Прикрепите веб-камеру к креплению камеры.
Теперь наша голова и лицо робота готовы.
Шаг 4: индивидуальные печатные платы
Пришло время растворить немного fecl3 и протравить печатные платы.
Почему я делал печатные платы на заказ?
- У меня нет сервоконтроллера Dynamixel, поэтому мне нужно его сделать.
- Мне нужно подключить множество датчиков к Arduino более чистым способом, поэтому я сделал щит для Arduino.
Давайте сделаем.
- Загрузите файлы печатной платы и распечатайте их на ламинате, плакированном медью.
- Протравите плакированный медью ламинат с помощью fecl3.
- Просверлите отверстия диаметром 1 мм для установки микросхем и защитной полосы.
- Для того, чтобы коллекторы для штабелирования экрана сдвинулись вниз по пластиковым стопорам полосы бурга к концам штифтов.
- Припаяйте основания микросхем и защитную полосу к печатным платам.
- Схемы я предоставил для справки.
Примечание. Используйте программу 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.
- Pyautogui - Pyautogui - это пакет для имитации нажатия клавиш на клавиатуре или движения мыши.
- Numpy - введите «pip install numpy» в оболочке Linux и нажмите ввод. Это так просто.
- Pyserial - Pyserial - это пакет, предназначенный для последовательной связи через python. Мы будем использовать его для связи с Arduino.
Шаг 8: коды
Аппаратная часть закончена. Программная часть завершена. Пришло время отдать душу этому роботу.
Давайте закодируем.
Код этого робота несколько сложен, и в настоящее время я добавляю ему дополнительные функции. Поэтому я разместил коды в моем репозитории Github. Вы можете проверить это и клонировать / скачать коды оттуда.
Теперь это не просто робот; теперь это Тинку.
Шаг 9: демонстрация
Демо. yeeeeee !!
Это некоторые из основных демонстраций. Впереди еще много интересного.
Следите за обновлениями, и если у вас есть сомнения, не стесняйтесь комментировать.
Спасибо, что прочитали мой проект. Ты обалденный.
Если вам понравился этот проект, проголосуйте за него в конкурсе «Микроконтроллеры и робототехника»
Удачи;-)
Рекомендуемые:
Как сделать из старого компьютера персональный настольный мини-вентилятор - поместится в кармане: 6 шагов
Как сделать вентилятор для персонального мини-стола из старого компьютера - поместится в вашем кармане: я покажу вам, как сделать вентилятор для персонального мини-стола из старого компьютера. Плюс в том, что он помещается даже в кармане. Это очень простой проект, поэтому не требуется много опыта или знаний. Итак, приступим
Персональный метеоролог: 5 шагов
Личный метеоролог: Вы когда-нибудь задумывались, говорит ли ваш метеоролог правду и когда? Вы хотите незаметный, дешевый и быстрый способ стать собственным метеорологом … и, может быть, небольшой проект? Не смотрите дальше! Это упрощенное устройство будет отслеживать погодные условия
Персональный детектор молний: 5 шагов (с изображениями)
Персональный детектор молний: в этом проекте мы создадим небольшое устройство, которое предупреждает вас о ближайших ударах молнии. Общая стоимость всех материалов в этом проекте будет дешевле, чем покупка коммерческого детектора молнии, и вы сможете отточить свои навыки построения схем
Персональный помощник: 9 шагов (с изображениями)
Персональный помощник: в этой инструкции я покажу вам, как вы можете использовать силу ESP8266, креативность в разработке и программировании программного обеспечения, чтобы сделать что-то интересное и обучающее. Я назвал его персональным помощником, потому что он карманный, разговаривает с ты и можешь дать
SEER - Интеллектуальный персональный помощник на основе InternetOfThings: 12 шагов (с изображениями)
SEER - Интеллектуальный персональный помощник на основе InternetOfThings: Seer - это устройство, которое будет играть роль ускорителя в области умных домов и автоматизации. По сути, это приложение для Интернета вещей. EER - это 9-дюймовый беспроводной динамик громкой связи. Raspberry Pi 3 model B со встроенной камерой