среда, 15 ноября 2017 г.

Краткое видео о состоянии разработки. Версия с 3 моторами

Чего не хватает в том роботе, который сейчас тестируется в теннисном клубе Метеорит? Правильно - бокового вращения.
Я учел пожелания и отзывы, и последние несколько месяцев я усиленно занимался переработкой конструкции - она сатал более надежной и точной. Для создания бокового вращения теперь используется 3 мотора. На этой неделе я наконец то получил реально работающий экземпляр, и хотя тут нужно кое что еще "допилить", но он работает. И результат мне очень нравится. Пока что все висит на проводах, но это только для моих опытов. Я не удержался чтобы не показать :-)
Вот короткое видео

Главная фишка, которой (как мне кажется) нет ни в одном роботе - это система выбора параметров выстрела. Давайте сравним, к примеру, с известным роботом Amicus Butterfly. Вот его пульт управления:
Вам это не напоминает пульт управления какого то самолета? Мне напоминает. Много кнопок, какие то цифры, лампочки...
Как это сделано в моем варианте:

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


вторник, 14 ноября 2017 г.

Состояние робота после 4 месяцев испытаний. Все еще лучше чем я ожидал!

Сегодня, спустя 4 месяца испытаний робота в теннисном клубе Метеорит, ребята позвонили и пожаловались на периодические проблемы в работе робота (выстреливал мячи без паузы). Что же, "это должно было когда то произойти" - подумал я, и поехал разбираться в чем причина. Судя по описанию, я подозревал обрыв провода.

Однако на месте оказалось что все работает. Я забрал "голову" робота домой, чтобы выяснить что же произошло. А причина оказалась очень простой - элементарная пыль. Она попала на оптический датчик, и мешала его нормальной работе.


Можно было и не забирать его домой, а протереть прямо там. Но раз уже забрал, вот еще фото состояния ролика.

Меня часто спрашивают, насколько ролики долговечны. Вот, смотрите сами. После 4 месяцев эксплуатации диаметр ролика не изменился. Визуально видно небольшое углубление в ролике от контакта с мячом, но оно очень незначительное. Думаю этот ролик проработает еще не меньше года. А потом можно будет просто сдвинуть двигатели ближе друг к другу (конструкция позволяет), и продолжать его использовать. 

P.S. Несколько пугают чьи то волосы на валу двигателя. Девушка, я надеюсь с вами все в порядке, и прическа не сильно пострадала :-) ?
Я уверен что ничего страшного не произошло, потому что двигатель в такой ситуации просто остановится и не травмирует любопытного. Но все таки, ребята - будьте немного осторожнее :-)

воскресенье, 17 сентября 2017 г.

User-friendly управление параметрами вращения и скорости мяча

Как то неожиданно закончилось лето, я вернулся в Харьков, так что пора продолжать начатое (или даже заканчивать :-) ). За летние месяцы я сделал очень большой задел по функциональности робота и упрощении его производства, о чем расскажу чуть позже. Если все получится, функциональность будет примерно на уровне Amicus роботов.

Ну пока суть да дело, я озадачился упрощением пользовательского интерфейса в мобильном приложении. При тестировании робота в зале я понял (и мне об этом несколько раз сказали сами "подопытные"), что понять все эти премудрости с вращением двигателей, их реверсом и полетом мяча им довольно проблематично. К счастью, этот недостаток можно устранить программно.
По сути, все что нужно знать пользователю о мяче - это то, как сильно мяч вращается, и как быстро вылетает из ствола. Все! (ну почти все, если не учитывать наклон мяча при боковом вращении - но в этой версии робота бокового вращения пока нету). Значит убираем ненужное, и оставляем только ползунки скорости вращения мяча, и скорости выброса из ствола.

Вот что получилось. Для выбора скорости вращения мяча (как сильно он закручен вниз или вверх) используем ползунок вращения. При движении влево получаем нижнее вращение мяча (подрезка), при движении вправо - верхнее вращение (топ спин).  При нулевом значении вращения получаем плоский мяч. Картинка мяча с вращающейся стрелкой показывает тип вращения (верхнее/нижнее) и условную скорость вращения (зеленая/желтая/красная)


Затем выбираем скорость выстрела. Программа сама рассчитает все допустимые комбинации вращений моторов, чтобы обеспечить заданное вращение мяча, и дает возможность просто выбрать их ползунком. Вот так:

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



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



пятница, 7 июля 2017 г.

Первое видео реальной тренировки с роботом!

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


четверг, 6 июля 2017 г.

Улучшение ствола робота

За пару недель испытаний выявился ряд недоработок, которые нужно было исправлять:
  1. Недостаточная скорость полета мяча при сильном верхнем вращении. При имитации топ-спина нужно сильное верхнее вращение. Но при этом сама скорость полета мяча становится недостаточной для создания реальной игровой ситуации
  2. Ребята, которые играют в теннис на достаточно серьёзном уровне, жаловались, что им нужно тренироваться пластиковыми мячами 40+. Эти мячи имеют больший диаметр (около 41мм) и в предыдущий ствол не пролазили, поэтому робот мог работать только со старыми мяча из целлюлозы. Это честно говоря моя недоработка, не учел вовремя этот момент.
Поэтому была разработана и установлена новая версия ствола с увеличенным диаметром роликов (увеличилась скорость полета мяча и его вращение), а также ствол теперь работает как со старыми мячами, так и с мячами 40+. Получилась универсальная конструкция, о которой я говорил ранее.
Так что,кто еще не попробовал - смело идем в ЦНТ "Метеорит" в Харькове и тренируем свой лучший удар на роботе :-)

среда, 21 июня 2017 г.

Испытания робота в клубе "Метеорит", г. Харьков

В конце прошлой недели я отдал робот на испытания в клуб  "Метеорит" Мне важно узнать реакцию реальных игроков, их пожелания и отзывы. Вполне возможно, что поначалу будут какие то трудности или поломки, но я буду оперативно стараться их решить.
Поэтому, начиная с сегодняшнего дня (по договоренности с А. Сыпачевским), любой желающий может обратиться в клуб "Метеорит" для того чтобы потренироваться на роботе  - при наличии свободных столов (обычно в дневное время) первый ознакомительный час работы с роботом бесплатно, а следующее время оплачивается только за стол по расценкам клуба. Более полную информацию можно получить в клубе, или по их контактным телефонам


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

понедельник, 19 июня 2017 г.

Программы выстрелов: немного о зонах расположения робота и мяча

В этой статье я хочу немного рассказать о том, для чего в программе существуют настройки зон расположения робота. Стоит сказать, что большая часто того, что описывается в этой статье, не нужна человек, которому достаточно чтобы мяч попадал в одну точку. Но если ва хотите создать программу для своих тренировок (например для отработки движения ног в какой то ситуации) - эта статья для вас!

Расположение робота

В отличие от настольных роботов, этот робот устанавливается на штативе.
Например по высоте робот может быть установлен в одном из следующих положений:
Это открывает гораздо больше возможностей для тренировок, потому как мы можем создавать гораздо больше различных выстрелов - как из под стола, так и из угла, ближней или дальней зоны стола. Можно создать и сохранить несколько программ из разных зон, а затем просто загружать их в память робота. Согласитесь - это удобно!
Но как потом отличить одну сохраненную программу от другой? Не открывать же каждую программу, чтобы посмотреть настройки каждого выстрела?
Чтобы решить эту проблему, в приложении введена вот такая система расположения робота:

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

Зоны попадания мяча

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

Скорость полета мяча - от медленной до самой быстрой:



Верхнее вращение мяча - от слабого до сильного

Нижнее вращение мяча - от слабого до сильного


При сохранении программы мы обычно настраиваем выстрел, пробуя его на столе. Поэтому после окончания настройки мы точно знаем в какое место на столе попадает мяч. Для сохранения выстрела (пресета) нужно просто указать приложению, в какую точку стола попадает мяч. Например создадим пресет со следующими настройками:
  • по высоте робот находится на уровне стола - зона №1 вертикального расположения
  • робот находится в средней зоне около левого угла стола - зона №4 горизонтального расположения робота
  • медленный полет мяча - зеленая стрелка скорости полета мяча справа
  • со средним верхним вращением - желтая стрелка сверху мяча
  • мяч попадает в центр стола - зона №4 под изображением мяча
Очень большое описание, не правда ли? Делать его для каждого пресета или программы было бы очень утомительно. А в приложении это выглядит  вот так:

Мне кажется что наглядно, а вам?

Поиск пресетов в памяти приложения

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

На примере ниже используется фильтр пресетов (верхняя часть экрана). Там мы вручную указываем, что мы ищем пресеты, для которых :
  • вертикальная зона расположения робота - №1
  • горизонтальная зона расположения робота - №5
  • зона попадания мяча - любая (т.к. она не отмечена)
Как видно, поиск автоматически подобрал все пресеты в памяти приложения, которые соответствуют выбранным настройкам. В данном случае только один пресет, потому как большее число пресетов я просто поленился создавать:-)



Если у кого то есть вопросы, буду рад ответить в комментариях.

среда, 14 июня 2017 г.

Обзор рабочей версии робота 1 - конструкция и мобильное приложение

Ну что, свершилось! Сегодня я наконец то готов показать мобильное приложение вместе с прототипом своего робота для настольного тенниса.
По этому поводу я снял 15 минутный ролик с обзором - в него не влезло большое описание настроек пушки(а их там немало, как и возможностей которые они открывают). Думаю потом покажу эту часть отдельно.
Пока есть только мобильное приложение для Android, но для IOS оно в перспективе тоже может быть.
Вот видео обзора:

Думаю скоро смогу снять видео в реальном теннисном зале, по крайней мере предварительная договоренность уже достигнута.

среда, 17 мая 2017 г.

Приехал выигранный 3D принтер Renkforce RF500!

Свершилось! Спустя 2 месяца ко мне наконец то доехал выигранный в конкурсе 3D принтер Renkforce RF500. Должен сказать что столь длительный срок получился из-за таможенных платежей в Украине. За  растаможку этого принтера требовалось заплатить немного больше 200 Евро, но фирма ST любезно согласилась оплатить эту сумму сама, мне даже не пришлось общаться с таможней, за что им огромное человеческое спасибо!

Я тут по быстрому распаковал принтер, вот видео распаковки.


Скачал инструкцию (150 страниц), буду читать и собирать. Надеюсь все получится :-)

суббота, 13 мая 2017 г.

Испытана доработанная конструкция ствола

Все свободное время я сейчас занимаюсь работой на Андроид приложением для робота. Но сегодня решил немного отвлечься и собрать наконец то ствол из давно распечатанных деталей. Уменьшились габариты ствола, немного изменилась конструкция. Диметр ствола теперь немного меньше 41мм, т.е. почти равен диаметру мяча. Делалось это для того, чтобы повысить точность выстрелов. Честно говоря результат превзошел мои ожидания, получилось реально круто! Теперь робот стабильно попадает в круг диаметром около 25см различными настройками выстрела.
Пока не добрался до теннисного стола, поэтому снял пока ствол с 3 разных ракурсов.

Я уже почти закончил с доработкой приложения на Андроид, о чем скоро напишу статью и покажу как работает. Также есть предварительная договоренность с одним из харьковских теннисных клубов о испытаниях робота в реальных условиях. Так что кто живет в Харькове, скоро сможет попробовать потренироваться на роботе :-)

четверг, 4 мая 2017 г.

История разработки робота и эволюция конструкции. Часть 3

Во второй части я пришел к выводу, что двигатели от HDD недостаточно мощные для нужного выстрела, поэтому было закуплено несколько разных бесколлекторных двигателей, применяемых в квадрокоптерах и авиамоделизме вообще. Выглядят двигатели примерно вот так:
Outrunner motor
Движки классные - маленькие, очень быстрые и мощные. Во всех моих дальнейших опытах я использовал именно их. Посмотрим как в дальнейшем они себя покажут в плане долговечности, но пока я не вижу в них недостатков.

Первый "пробный шар"

Само собой, чтобы управлять всей этой мощью, нужна электроника. Вообще то самый простой и доступный способ - это купить китайские ESC регуляторы, например на HobbyKing . Но в таком случае вы получаете примитивный вариант управления без контроля оборотов двигателя и возможности реверса (вращения двигателя в обратную сторону). А для хорошей имитации подкрутки или наката/топ-спина мяч должен вращаться контролируемо и сильно, а это можно обеспечить только с реверсом двигателя. К тому же мне хотелось создать функционально законченный модуль с электронной платой, а клубок проводов с висящей на них электроникой в мои планы не входил. Учитывая полученный на предыдущих экспериментах опыт я (естественно) создал новую плату. Ну и сам механизм по прежнему создавался из всего что нашлось после ремонта в квартире (а нашлись несколько пластиковых труб, уголки и обрезки дерева). Получилась вот такая штука. Долго описывать не буду - видео полностью раскрывает всю суть той версии робота для тенниса.

И небольшое видео с демонстрацией подач:


С этой версией робота я тренировался несколько недель летом на даче. Поначалу я был очень доволен результатом: к моим услугам была предоставлена возможность создавать любое вращение и направление выстрела. Но аппетит приходит во врем еды. Управлять роботом с пульта для создания выстрела оказалось жутко неудобно - слишком много уходило времени на каждый выстрел, и нужно было иметь вагон терпения, чтобы создать какую то сложную программу. Хотя для отработки простых ударов этой конструкции вполне хватало.

Первая попытка сделать что то "настоящее"

Во время процесса работы над предыдущими версиями я натолкнулся на вот такой классный проект  http://www.instructables.com/id/Homemade-table-tennis-robot/ Идея печати узлов на 3D принтере была на тот момент (2014 год) просто потрясающая, жаль что у меня не было 3D принтера, а стоимость печати в Украине на тот момент была очень дорогая, ведь технология только начала появляться у нас. Но меня, что называется, зацепило!
Еще одним моментом, который мне очень не нравился, было управление с ИК пульта. Ведь когда ты пришел в зал, тебе совсем не хочется стоять 10 минут и создавать программы. Так родилась идея использовать смартфон для управления роботом. Чтобы подойти к решению этой задачи мне понадобилось около года. Пришлось разобраться как работает Bluetooth интерфейс, как писать программы на Android устройства, подтянуть свои навыки в программировании... и т.п.
"По традиции", я спроектировал новую "мега-универсальную" плату управления, уже с Bluetooth. Коме того, не плате еще куча других возможностей, которые я предполагал использовать или попробовать. Впоследствии половину из них я выбросил, но именно эта плата дала мне возможность полностью определиться с окончательным вариантом будущего робота.
Vedroitt PCB

Параллельно с разработкой платы я вел разработку 3D моделей для ствола пушки,  а также механизма подачи мячей (немного я писал об этом тут ). 
Ну и, пожалуй, наиболее сложная и масштабная работа была проведена по разработке программы для смартфона, хотя мне было очень интересно этим заниматься. На этом видео одно из испытаний той версия робота.

Несколько месяцев назад я выставил свой проект на одном из конкурсов, и победил.  Надеюсь скоро получить выигранный приз (3D принтер).
Буквально перед самым конкурсом я закончил с разработкой (окончательной на текущий момент) версии платы, которая и была представлена на конкурс
Также для конкурса была распечатана новая версия 3D ствола, которая вместе со шнековым механизмом подачи давала вот такой результат

Что дальше?

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


вторник, 18 апреля 2017 г.

История разработки робота и эволюция конструкции. Часть 2

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

Подготовительный этап.

Купить такой двигатель вообще не проблема - их очень много продается на разборках на радиорынке, стоят копейки. Работают очень тихо, их можно разогнать до 7000-10000 оборотов в минуту. Единственное, что мне было непонятно - смогу ли я управлять таким движком без платы от жесткого диска, и  хватит ли мощности такого двигателя для того чтобы толкнуть мяч с достаточной силой.
Итак, задача была поставлена, и нужно было искать решение. После поисков решений в интернете, я набрел в на замечательную библиотеку STM32 PMSM FOC Software Development Kit - MC library фирмы ST, которая предназначена как раз для работы с этим типом двигателей. Но для того чтобы изучить как это все работает, мне пришлось потратить много времени  (должен сказать что у меня уже был к тому времени кое какой опыт разработок в области силовой электроники и управления асинхронными двигателями, так что я начинал все таки не с чистого листа).
Результатом стала первая плата для управления сразу двумя двигателями от HDD (к сожалению реального фото не сохранилось, так что вставлю я сюда фото 3D модели самой платы). По сути это была улучшенная версия предыдущей разработки на коллекторных моторах, но только для моторов бесколлекторных.
После долгих опытов и попыток разобраться как же все таки нужно пользоваться библиотекой ST (на тот момент документация у них была довольно скудная, и много приходилось узнавать путем проб и ошибок), я наконец то запустил двигатель. Эта штука даже на высоких оборотах крутится очень тих, слышен только легкий свист - очень качественные двигатели, жаль что маломощные.

Опыты с роботом на двигателях HDD

Большая проблема двигателей HDD в их "кривой" форме. У них нет оси, на которую можно было бы прикрепить ролик. Но я нашел выход из положения, и сделал ролики из обычного поролона от губки для мытья посуды и обрезков термоизоляции для водопроводных труб.
Вот видео того, что у меня тогда получилось:

А вот немного реальных испытаний робота:

Результат 

Что я могу сказать про результат... Опять же - как то это все работало.., но! Мощности двигателей HDD хватает чтобы перебросить мяч через сетку, можно даже как то потренировать работу по плоскому мячу, но не больше. Да и поролоновый ролик довольно быстро превращается в огрызки, к тому же поролон это не резина, поэтому он слабо цепляет мяч и проскальзывает - от этого мяч летит слабее чем мог бы.
Для меня главным результатом этих испытаний стало понимание того, что же мне все таки нужно делать дальше. Я понял что мне все таки нужны более мощные двигатели - например те, которые применяются в мультикоптерах и авиамоделизме. Об этом в следующей статье.

среда, 22 марта 2017 г.

История разработки робота и эволюция конструкции. Часть 1.

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

Введение.

Итак, в самом начале, когда я только решил сделать для себя простенькую пушку, я думал что у меня это займет немного времени. В интернете встречаются различные конструкции роботов. Я увидел конструкцию одного японского изобретателя, и решил ее повторить. В этой простой конструкции робота мне категорически не нравилось то, что для изменения вращения двигателей пушки нужно подходить к роботу и крутить ручку регулировки. На это нужно потратить время, потом собрать мячи, которые попадали на пол за время настройки робота, и только потом можно начинать тренироваться.
Поскольку я достаточно хорошо разбираюсь в электронике, и примерно также в программировании, я решил, что мне просто необходимо применить свои знания в этом деле. Нужно было сделать устройство, которое бы регулировалось например с помощью инфракрасного пульта управления (от телевизора или аудиосистемы). Идея созрела, а значит можно было приступать к ее реализации.

Моя первая простая конструкция с коллекторными двигателями.

В конструкции японца используются двигателя FA-130. Я купил пару двигателей FA-130, и это стало началом долгого пути. Забегая наперед, скажу - не стоит их покупать в безнадежных попытках сделать из них робота, это не принесет ожидаемого результата. В этой части я объясню почему это так. 

Но сначала зададим себе вопрос - что нужно чтобы робот стрелял мячами примерно в одно и то же место? Ответ такой: нужно чтобы выполнялись вот такие условия:
  1. Двигатели должны быть достаточно мощные, чтобы легко зацепить роликами мяч и бросить его вперед.
  2. Скорость вращения двигателя должна быть постоянной. Она не должна менять от выстрела к выстрелу, иначе каждый новый выстрел будет непредсказуемым (иногда конечно и такое поведение полезно, но далеко не всегда). Возвращаясь к пункту 1 - если двигатель слабый, то в момент захвата роликом мяча он приостанавливается, его обороты падают, и выстрел становится слабым и непредсказуемым (если вообще произойдет).
  3. Сама конструкция ствола должна быть точной. Ну тут все и так понятно - из кривого ствола мяч ровно не полетит.
Но все таки, наиболее важными являются именно первые 2 пункта, которые относятся к качеству двигателя. И как раз FA-130 не соответствует обоим этим требованиям. Это слабый двигатель, который предназначен для  детских игрушек и поделок. И вообще - дешевые коллекторные двигатели ненадежные, у них быстро стираются щетки и они выходят из строя. Более качественные двигатели более надежные, но они тяжелые и дорогие.
Тем не менее, опыты на FA-130 проводить можно, чем я и занялся. Коллекторным двигателем постоянного тока (а FA-130 именно таким и является) можно управлять с помощью ШИМ сигнала (не буду грузить тут теорией, кому нужно - информации в интернете на эту тему просто валом).
Что использовать в качестве роликов? Чаще всего рекомендуют взять колесо от какой то детской игрушки - главное чтобы оно было резиновым, его можно было закрепить на двигателе, и оно имело нужный диаметр. По странному стечению обстоятельств, у моего сына в то время пропали колеса на одном из его грузовиков, а у меня появились ролики. Но кажется он этого тогда не заметил...

Но двигатели с роликами, это ведь еще не все. Нужно ведь еще как то подавать мячи в ствол? Для этого в ведре с роликами обычно ставят еще один двигатель, на котором находится что-то, что перемешивает мячи в ведре и в нужный момент подталкивает их в ствол. Выглядит сам механизм например вот так:

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

Итак, я хотел сделать программную регулировку вращения двигателей с помощью ИК пульта.  Немного поразмыслив, я создал вот такую плату:
 

Эта простая плата умела делать все, что требовалось: получать команды от ИК пульта, управлять шаговым двигателем с различной скоростью (а от этого зависит частота выстрелов), а также менять скорость и направление вращения двигателей с роликами (да-да, здесь есть реверс). Скорость вращения каждого двигателя с роликами показывалась на соответствующем светодиодном индикаторе.

Что из этого вышло.

А получилось следующее. Робот как бы и работал, но было несколько неприятных особенностей:
  • как я уже говорил, двигатели FA-130 очень слабые. Робот с ними стреляет, но слабо. Меня по крайней мере не устраивало.
  • Выяснилось, что для полной загрузки моего ведра также нужно более сильный шаговый двигатель (или двигатель с редуктором). Мой двигатель нормально вращал только пол-ведра мячей. В принципе это тоже неплохо, но для нормальной тренировки 20 -30 мячей маловато
  • Ролики из игрушечных колес работают, как бы это сказать... Плохо короче работают. Сильное биение на высоких скоростях, плохое качество резины, низкая надежность всей конструкции в целом... Не то.

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

среда, 15 марта 2017 г.

Мой проект победил на ST Embedded World 2017 в Германии!

Только что стало известно, что мой проект взял первое место в конкурсе видео на ST Embedded World 2017 в Германии! Кажется я выиграл 3D принтер, который мне так необходим для продолжения работы. Ура!!!

Жду с нетерпением, когда смогу опробовать 3D принтер, чтобы распечатать доработанные детали робота  :-) 

суббота, 4 марта 2017 г.

Эксперименты со шнековым механизмом подачи мячей

До сегодняшнего дня в моем роботе использовался механизм подачи мячей типа "вертушка". Выглядел он примерно вот так:

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

В ход пошла металлическая проволока, пара втулок (спасибо отцу, выточил на токарном станке), несколько кусков пластика и тонкой OSB плиты. Результатом я на текущий момент доволен. Получилось вот это:

Что нравится:
  • нужен более слабый шаговый двигатель, т.к. требования к крутящему моменту сильно уменьшились.
  • плавная подача мячей. Теоретически мячи не должны заминаться.
  • более высокая скорость подачи мячей
  • измерения показали, что скорость выстрелов увеличилась до 1 выстрела за 0,65 секунды (выстрел в одну точку без изменения скорости вращения двигателей). Думаю этого должно быть более чем достаточно для тренировки.
Еще немного поэкспериментирую, но думаю что остановлюсь на этом варианте.



пятница, 3 марта 2017 г.

Первая собранная печатная плата робота

Итак, я сегодня закончил со сборкой и настройкой первой фабричной PCB платы робота.
Не могу сказать что я сильно переживал о результате, но всегда остается место для сомнений. Тем не менее, все получилось - плата запустилась и работает правильно.

На этом этапе я буду считать, что с работами по электронике я закончил. Впереди доводка механики, а точнее работы по червячному механизму подачи мячей, опытный образец я уже на днях буду испытывать.

среда, 1 марта 2017 г.

Статья про робототехнику в Украине на DOU.UA и мой робот

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


Полный текст статьи здесь Робототехника в Украине: разработки и перспективы

понедельник, 27 февраля 2017 г.

Печатные платы последней версии робота

Пару недель назад я решил, что с электроникой я уже разобрался настолько, что можно наконец то заказать печатные платы в хорошем качестве, потому как в экспериментальном прототипе я использовал плату крайне низкого качества, но зато дешево и быстро.
Платы я заказал в одном из сервисов изготовления PCB в Китае (еще и попал на какую то скидку/акцию, так что отказаться я не смог)
И сегодня я наконец то их получил. Вообще то с момента заказа прошло всего 19 дней, так что я очень доволен.

Думаю на этой неделе попробовать собрать одну, не терпится посмотреть что получится в итоге

пятница, 24 февраля 2017 г.

Текущее состояние разработки, и что сделано в данный момент.

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

Как вы наверное видите - это ведро (в нем лежат мячи, которыми робот стреляет), и ствол с платой управления. В ведре также есть механизм подачи мячей к стволу.
Изюминкой является возможность управления роботом с помощью приложения на Android устройстве (телефон или планшет) через Bluetooth. Для работы приложения необходимо устройство, поддерживающее Bluetoth Low Energy стандарт (фактически минимальная версия Android 4.4). Само приложение написано на Xamarin Forms Фреймворке с максимально возможной поддержкой кроссплатформенности. Это значит, что в будущем, если у проекта будут какие то осязаемые перспективы, можно будет довольно быстро дописать пару модулей и получить аналогичное приложение для IOS. Что то из задуманного еще предстоит дописать , но в принципе уже можно вполне комфортно пользоваться.
Приложение позволяет быстро настроить параметры выстрела, сохранить выстрел (пресет) в памяти программ робота и создать до 5 программ, каждая из которых может содержать до 200 пресетов. Мне кажется этого вполне должно хватить для любого спортсмена. В планах есть идея написать модуль, который бы автоматически создавал программу с заданными программами, но случайным образом. Любую программу можно сохранить в приложении, и в нужный момент загрузить в память робота.
Кроме того, для того чтобы пользоваться роботом в зале, не обязательно даже иметь телефон. Можно загрузить созданные программы в память робота дома, и уже в зале запускать их с помощью ИК пульта от телевизора, аудиосистемы, кондиционера, и вообще любого пульта. Фишка в том, что робот может обучиться командам с любого пульта, запомнить их, и реагировать на них в дальнейшем. То есть покупать отдельный путь нет необходимости.
Также из приложения можно тонко настроить режимы работы двигателей, сервомашинок, звука перед выстрелом и т.п. О настройках я напишу отдельную статью позже.

Вообще, при продумывании конструкции и всего остального я старался использовать максимальное число готовых изделий, которые можно купить на рынке, aliexpress или строительном супермаркете. Так используется ведро, пластиковые канализационные трубы и фитинги, сервомашинки, двигатели. Часть деталей распечатана на 3D принтере.

Ну а теперь немного более подробно про отдельные части робота.

Ствол и электроника.


Выстрелы мячами делает ствол, как бы странно это не звучало :-) . Он изготовлен по технологии 3D печати, и может выполнять повороты:

  • вверх на 40° - этого должно хватить, чтобы имитировать мячи-парашюты, когда мяч падает с высоты на стол

  • вниз на 25° . Я думаю, что большой диапазон наклона ствола вниз не сильно нужен, поскольку роботу достаточно просто перебросить мяч через сетку, либо сымитировать подачу

  • влево и вправо на 25°. Этого должно хватить, чтобы сделать выстрел в любую точку стола за сеткой (то есть на стороне тренирующегося человека)

Я отказался от использования коллекторных (щеточных) моторов, поскольку щетки быстро стираются, эти моторы тяжелые, и крутящий момент на низких скоростях слабоват.
Выстрелы осуществляются с помощью двух бесколлекторных моторов, которые обычно используются  в квадрокоптерах. Это действительно классные и относительно недорогие моторы, которые имеют широкий диапазон скоростей (700-9000 оборотов в минуту), причем управлять скоростью их вращения можно с точностью до 20-30 оборотов в минуту. У меня в приложении в силу ряда причин шаг изменения скорости мотора установлен в 50 оборотов в минуту. Это дает очень плавно настраивать параметры выстрела. Также двигатели легко и быстро реверсируются (меняют направление вращения на противоположное), а значит можно создавать выстрелы с очень сильным вращением.
Всем хороши эти двигатели, кроме одного - ими очень непросто управлять. Здесь нельзя просто подключить батарейку, чтобы мотор начал вращаться. Для этого используется сложнейший алгоритм управления, и непростая схема управления (электроника). Тем не менее на сегодняшний день я решил большинство проблем, и получил стабильно работающую схему с программой управления. Работающий прототип платы выглядит сейчас так:
Вообще изначально плата задумывалась так, чтобы быть универсальной для любой конструкции робота - будет это установка робота на столе, как большинство недорогих роботов Buddy, на треноге (как например Фора Снайпер), или вариант робота с рециркуляцией (повтором - когда отбитые мячи снова выстреливаются роботом). Главное чтобы механизм подачи мячей успевал подталкивать их к стволу. А уже датчик в стволе сам определит, есть ли мяч для выстрела. Момент выстрела плата управления в этом случае выберет сама. Это позволяет плавно настраивать интервал между выстрелами. Приложение позволяет задать интервал в диапазоне 0,5-30 секунд. Это время для каждого выстрела свое, поэтому можно создавать программы с пресетами, в которых паузы между выстрелами меняются от выстрела к выстрелу. Так можно сымитировать какой либо стиль игры и отработать данный стиль на тренировке.

К плате можно подключить до 3 сервомашинок, которые отвечают за поворот ствола. В текущей конструкции используется только две.
Сервомашинки и электронная плата являются частью конструкции ствола, поэтому получился полностью съемный и компактный узел, который можно применять в любой конструкции робота - хоть в любительской, хоть в более менее "фабричной". Вообще, сам ствол одевается на пластиковую канализационную трубу, через которую и подталкиваются к нему мячи от механизма подачи. В общем, большой простор для творчества и роботостроения в дальнейшем :-)

Также плата может управлять двумя типами двигателей механизма подачи:

  • двигателем постоянного тока (обычно с редуктором).

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

Механизм подачи

Я ранее уже писал о том, какие бывают механизмы подачи. Сейчас я использую механизм "вертушку". Он в принципе работает, но обнаружились пара слабых мест, с которыми я сейчас разбираюсь. Механизм собран из канализационной пластиковой муфты 110мм, пары заглушек на эту муфту и  пластиковой канализационной трубы 50мм. Ну и пара деталей распечатаны на 3D принтере.
Таким образом, получился еще один независимый узел, который можно заменить, не меняя ничего в конструкции ствола. Сейчас этот узел вставлен в ведро, но можно использовать его и отдельно, как вот в этом видео
Пример работы робота на длинные дистанции показан здесь

Мне очень хочется сделать конструкцию, которую можно было бы использовать для непрерывной подачи мячей, как настольных роботах более высокого класса. Поэтому конструкция с ведром подходит для этих целей как нельзя лучше. Можно просто ствол разместить сделать вот так:
Думаю, что тот кто видел хоть раз работу робота с непрерывной подачей мячей, поймет о чем тут речь: ствол находится над столом, а ведро с мячами под сеткой, которая улавливает мячи.
Но это пока еще дело будущего...

Мобильное приложение
Позже я напишу отдельную статью о приложении, а пока вот несколько скриншотов: