Pull to refresh
31
0
Андрей Хорькин @andrewkhorkin

Программист

Send message
Согласен, дети любят приводы потаскать вперёд и назад, но пока вроде не сожгли.
Видел такие на Ali для защиты, нужно будет добавить. Спасибо!

В будущем планирую сделать некий защитный кожух на механику для защиты, чтобы никто руки не повредил. Бывает шайба вылетает туда и доставать её опасно. Хоть алгоритм игры и предусматривает простой в случае отсутствия шайбы на поле, но безопаснее прикрыть механику.
Оптические датчики, я так понимаю, в таком случае считают количество пройденных «шагов» обычными моторами. В случае шаговых моторов изначально посылаю команду сколько шагов нужно пройти до нужной точки.
Тоже конечно вариант, но цены и размеры примерно, как и у шаговых моторов.
В комментариях поступают идеи использовать соленоиды и даже пневмо для удешевления и упрощения механики. Это заманчиво, механику можно на порядок удешевить, но придётся поломать голову, как это всё сделать.
Пока не знаю, сказали по времени с середины июля начнут.
Т.к. я живу в Подмосковье, с прототипом робота смогу сейчас поучаствовать только в Москве.
Если брать разность между кадров (такое тоже пробовал), в процессе игры бывает много шума на изображении, т.к. толкают хоккей, камера вибрирует.
Но, главное для меня было пройти самому путь именно в распознавании с помощью нейросети — создать датасет, всё настроить, обучить, получить результат. Одно дело читать про это, видеть, как другие настраивают и обучают, но всё сделать самому — это знания на будущее для следующих проектов.
Да, сейчас собранная механика слишком дорога и занимает много места. Для перехода на соленоиды или что-то другое нужно будет потратить немало времени и средств, но при желании всё возможно.
Из Федерации настольного хоккея России пригласили поучаствовать робота в качестве обычного участника, как начнутся игры. Со временем разберусь в терминах.
Сначала всё начиналось и развивалось, как хобби. Ближе к завершению, когда стало видно, что получается интересный «продукт», уже стали поступать от самых разных людей различные советы, как коммерциализировать продукт.
Задержку «команда-движение» не замерял, но она зрительно пока значительно меньше, чем «картинка с камеры — команда» ~750 миллисекунд из-за слабого процессора на десктопе с 2-х ядерным Pentium G3460. Это критично для реакции вратаря робота. Сейчас переношу «мозг» с десктопа на Raspberry Pi 4, установленный на борту робота. Камера будет другая, без рыбьего глаза, а не как сейчас (устранение тоже неплохо «ест» ресурсы), подключение будет через разъём Camera Raspberry Pi. Алгоритм распознавания объектов после нейросети немного переделаю, сделаю «умнее» и на порядок быстрее, есть идеи. В итоге задержка будет ~100-150 миллисекунд.
Если задаться целью, можно со временем совсем избавиться от Ардуино.
Использую почти максимум, в зависимости от мотора 1.7А или 2А, т.к. в целом моторы используются кратковременно.
У меня 3 разных типа моторов, брал по-очереди на Ali, тестировал, чтобы найти оптимальный по весу и мощности. Где-то среди продавцов позже нашёл 2.5A, если не врут, тоже Nema17 4401, надо будет их попробовать.
На платах драйверов TMC2100 в Китае не соединили ножки чипа Trinamic с пинами на плате драйвера. Сначала тестировал драйвер, переключал режимы шагов с помощью пинов ms, а результат всегда один. Где-то в интернет нашёл информацию и фотки, что нужно соединить/припаять. Припаял — заработали режимы.
Пока не планировал опенсорс для этого проекта, возможно в будущем
Согласен, я сейчас применяю случайность в 30% случаев и не всегда, не у каждого игрока.
Думал об этом в начале, перебирал варианты, как сделать привод. Для червячного привода нужно больше оборотов, на счёт шума самого привода не знаю, какой звук он бы издавал на большой скорости. Выбрал ремень.
Да, это заложено в 4-го игрока, который напротив ворот противника. Если человек зазевался и не контролирует вратаря — тычок и гол.
Да, при отключении драйвера, вал мотора не удерживается. В моём случае это не нужно, вот и воспользовался для охлаждения моторов.
Замена программы игры на reinforcement learning нейросеть ещё впереди
С этого и начал, поставил сначала шестерню на 60 зубов, шума было много с драйвером мотора A4988 (этот момент будет в следующем видео в серии выпусков, как собирал робота). С шестернёй на 20 зубов шума стало меньше — превратился в писк. Тогда это было приемлемо.
Сдвинуть привод с места на малой шестерне мотору легче, да и компактнее стало.
Торможение заложено быстрое, но плавное. Иногда торможение не нужно — при тычке по шайбе.
Параллельная работа возможна, это заложено, можно сразу передвигать всех игроков и вращать клюшкой. Правда при ударе по шайбе в программе я это не использую, подъехал, ударил. Усложнять алгоритм можно бесконечно.

Я начал делать серию видео-выпусков о том, как собирал робота, пока 2 серии: Идея & старт и Шаговые моторы (видео-версия этой статьи). В следующих выпусках буду рассказывать, как проводил распознавание и обучение.
1

Information

Rating
Does not participate
Location
Домодедово, Москва и Московская обл., Россия
Date of birth
Registered
Activity