Робот zowi своими руками

Добавил пользователь Алексей Ф.
Обновлено: 05.10.2024

Zowi дружелюбный робот, его важнейшая задача показать детям, что обучение технологиям это доступно и весело. Это не просто игрушка, это целая система образования с пошаговым обучением. Кроме того, робот полностью Open Source проект, дизайн корпуса, программный код и все приложения находятся в свободном доступе, так что любой из Вас может изменить его по собственному усмотрению.

Когда Вы достаете его из коробки, он уже умеет делать некоторые вещи, но он очень хочет, чтобы Вы научили его чему-то большему. Он может ходить, танцевать, преодолевать препятствия, издавать звуки и строить рожицы. Нажмите на кнопки на спине и он покажет Вам, что он умеет.

1. Танец. Zowi удивит Вас оригинальными танцевальными движениями благодаря четырем моторчикам, встроенным в его ноги.
2. Он может ходить и уворачиваться от препятствий. Глаза Zowi представляют собой ультразвуковые датчики. Поместите какой-либо предмет или руку перед его глазами и он будет уклоняться от них, чтобы избежать столкновения.
3. Он реагирует на прикосновения к голове и звуки, издаваемые рядом с ним. У Zowi есть микрофон, который ему необходим, чтобы слушать, что происходит вокруг него. Попробуйте нажать на его голову или похлопать и наблюдайте за его действиями.



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



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


Скелет изготавливается из оргстекла толщиной 2 мм.

Электронная часть самоделки будет состоять из:


  • 12 сервоприводов;
  • arduino nano (можно заменить любой другой платой arduino);


  • Шилда для управления сервоприводами;
  • блока питания (в проекте использовался БП 5В 4А);


  • ультразвукового датчика;
  • hc 05 bluetooth модуля;

Для того, чтобы изготовить шилд понадобится:


  • монтажная плата (предпочтительно с общими линиями (шинами) питания и земли);
  • межплатные штыревые соединители — 30 шт;
  • гнезда на плату – 36 шт;


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

  • Лазерный резак (или умелые руки);
  • Суперклей;
  • Термоклей.


Воспользуемся графической программой, чтобы начертить составные части скелета.

После этого в любой доступный способ вырезаем 30 деталей будущего робота.

hexy_legs_all


После резки снимаем защитное бумажное покрытие с оргстекла.


Далее приступаем к сборке ног. Крепежные элементы встроенные в части скелета. Всё, что остаётся сделать — это соединить детали воедино. Соединение довольно плотное, но для большей надежности можно нанести по капле суперклея на элементы крепежа.


Затем нужно доработать сервоприводы (приклеить по винту напротив валов сервоприводов).


Этой доработкой мы сделаем робота более устойчивым. Доработку нужно выполнить только для 8 сервоприводов, остальные 4 будут крепиться непосредственно на тело.


Прикрепляем ноги к связующему элементу (изогнутая деталь), а его в свою очередь к сервоприводу на теле.


Изготовление платы довольно простое, если следовать представленным в шаге фотографиям.




Закрепим выводы сервоприводов на плате arduino. Выводы следует соединять в правильной последовательности, иначе ничего не будет работать!




Пришло время оживить Франкенштейна. Сначала загрузим программу legs_init и убедимся в том, что робот находится в таком положении, как на картинке. Далее загрузим quattro_test, чтобы проверить реагирует ли робот на базовые движения, такие как движение вперед, назад, влево и вправо.


ВАЖНО: Вам необходимо добавить дополнительную библиотеку в программную среду arduino IDE. Ссылка на библиотеку представлена ниже:

flexitimer2-master

Робот должен сделать 5 шагов вперед, 5 шагов назад, повернутся влево на 90 градусов, повернутся вправо на 90 градусов. Если Франкенштейн делает всё правильно, мы двигаемся в верном направлении.


P.S: установите робота на чашку, как на стенд, чтобы каждый раз не выставлять его на первоначальную точку. Как только тесты показали нормальную работу робота, можем продолжать испытания, поставив его на землю/пол.

init_and_test


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



На фотографии показаны тригонометрические уравнения, которые в последствии трансформировались в математическую часть программы.



quattro_ik_alg


Как только вы увидите, что робот выполняет все базовые движения, можете приступать к доработке конструкции. Ультразвуковой датчик позволит роботу избегать препятствий на своём пути. Также можете установить модуль Bluetooth или модуль голосового управления.

Для выполнения движений, вам нужно вызывать следующие функции.


  • для движения вперед — step_forward();
  • для движения назад — step_back();
  • для поворота налево — turn_left();
  • для поворота направо — turn_right();
  • стоять — stand();
  • сидеть — sit();

В скобках (входные параметры функции) необходимо указывать целые значение для задания числа шагов, которые робот будет выполнять.

spider_robot_turn_random


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


Стараюсь оставлять ссылки только на проверенные крупные магазины, из которых заказываю сам. Также по первые ссылки ведут по возможности на минимальное количество магазинов, чтобы минимально платить за доставку. Если какие-то ссылки не работают, можно поискать аналогичную железку в каталоге Ардуино модулей . Также проект можно попробовать собрать из компонентов моего набора GyverKIT .

Читайте также: