С прогрессом технологий почти каждый из нас начинает всё больше интересоваться возможностями создания нечто нового, быть неким «творцом», но стоит снять розовые очки и у большинства опускаются руки, мечты откладываются в «долгий ящик». Надеюсь моя публикация поможет удержать свою цель при себе, а отчаявшимся — даст сил откопать мечту из ящика.
Хочу поделиться своим путём достижения постройки бюджетного робота. Вездесущие колесные платформы уже намозолили глаза до боли, потому было решено создать четырёхногого робота.
Одни из преград в достижении целей творческого начала — это ограниченные возможности: нет навыков программирования, 3D-принтера, достаточного времени, но навыки можно наработать, изучить языки программирования, найти немного времени, а вот 3D-принтер не «нарисуешь». Я не буду рассматривать способы сборки его на дому. Вся «материальная» часть робота может быть выполнена из картона, пластика или более крепких материалов, но «бюджет» мал, выбираем картон.
После продолжительных поисков и бесед с другими людьми я пришёл к следующему перечню необходимых вещей: мозг и сердце — микроконтроллер (в данном случае arduino), мышцы — 8 сервоприводов, вестибулярный аппарат — акселерометр, а глаза это 1 ультразвуковой датчик и 1 солнечная панель (как датчик освещённости), конечно понадобится источник питания — аккумулятор.
По скромным подсчётам без указания магазинов:
переплетённый картон — не более 200р (хватит 2-3 листов А4)
новая изолента, старой может не хватить 😀 — около 50р
arduino nano v3.0 — около 150р
плата расширения для arduino nano — меньше 150р
на цифровых пинах перерезал дорожки питания для разделения питания сервоприводов и логики.
сервопривод — меньше 100р/1шт
акселерометр — 150р
ультразвуковой сенсор — около 50р
солнечная панель (30х18мм) — около 60р
аккумулятор — около 70р/1шт
держатель для аккумуляторов — около 80р
стабилизатор напряжения 12-24В — около 100р
Итого: 200+150+150+100*8+150+50+60+4*70+80+100=2020р
Что ж, две тысячи выглядит вполне себе «бюджетно» в сравнении с проектами за 4-5 и больше.
Фотографии частей тела и этапов сборки, всё делалось вручную, эскизы делал на бумаге с помощью лекало:
1. Лапы:
Крайнюю фалангу собираем из двух частей, изолента используется для защиты картона и придаёт лучший внешний вид. Сервоприводы вставляем и закрепляем саморезами из комплекта, главное не слишком сильно затягивать, они итак сидят очень плотно.
Изначально хотел добавить обратную связь с помощью кнопки, но потом отказался от этой идеи — скользит по полу и не хватает пинов. Возможно будет в следующем поколении 🙂
Ближайшую к телу фалангу собираем из двух таких кусочков. В одном из них делаем отверстие для сервопривода и через него закрепляем насадки. Я их закреплял степлером ^__^’
Вторым кусочком закрываем это после закручивания винта в сервопривод.
Сервопривод в туловище устанавливаем так:
на противоположную сторону сервопривода прикрепляем такую конструкцию — в некой основе делаем отверстие и ставим кусочек от стержня для ручки (или чего либо подобного) и закрепляем его, я сделал иглой дырочку в стержне и зафиксировал скобой из степлера
2. Туловище
Левый кусочек — мордаха, правый — основа, две таких части составляют туловище, одна внизу, другая вверху.
В части для мордашки вырезаем два отверстия под ультразвуковой сонар. Часть для туловища можно усилить/утяжелить добавив ещё один слой из картона. Относительно меток делаем вырезы, в них будут стоять сервоприводы от лап. В верхней части туловища сквозь отверстия проходят качельки от сервоприводов с верхней (!) стороны. Картонная основа будет буквально лежать на них. Качельки также закрепил скобами от степлера и закрыл ещё одним слоем картона.
Акселометр вставил спереди бокса для аккумуляторов, проткнув спину насквозь.
Внутри на нижней части расположилась управляющая плата. Прикрутил саморезами.
Половина пути пройдена! 🙂
Также собираем остальные лапы и ставим на место.
На спину саморезами прикрутил бокс для аккумуляторов и подключил через стабилизатор на цифровые пины. Сама ардуино питается от маленького аккумулятора внутри туловища на 3600 махов, он заряжается от больших на спине.
В хвост отправил солнечную панельку и порт для microsd карточек.
В итоге получаем вот такого красавца без всяких 3Д-принтеров (:
Управление
Работа далека от завершения, но приблизительный алгоритм таков.
1. Создание алгоритма для хождения по плоскости и обхода препятствий.
2. Сохранение в файл переменных, влияющих на сервоприводы и хранящие входные данные (свет, положение, расстояние до препятствия)
3. Обучение нейронной сети на основе файла с переменными
4. Сохранение параметров обученной сети как эталона — «днк»
5. Использование генных алгоритмов для размножения и мутации полученной «днк»
6. Наблюдение за «искусственной жизнью» 🙂
Спасибо за прочтение этого текста. Надеюсь это не последний мой пост, и я смогу дальше улучшать этого жучка. Приветствуется критика и советы по проекту.