Выступление на соревнованиях Robótica 2024 в Бразилии

в 10:16, , рубрики: robocup, robocup ssl, робототехника, роботы, роботы-футболисты, соревнования, соревнования роботов

Мы - команда SPbUnited, активно участвующая в соревнованиях RoboCup в категории робототехнического футбола Soccer SSL (Small Size League).

Краткое описание сути соревнований RoboCup SSL
Выступление на соревнованиях Robótica 2024 в Бразилии - 1

Соревнования RoboCup SSL представляют собой соревнования автономных роботов-футболистов. Отличительной особенностью данного вида является централизованное управление командой роботов: над полем установлена камера, изображение с неё обрабатывается сервером организаторов, каждая из команд получает информацию о положении всех роботов и мяча на поле (роботы определяются по регламентированным цветным паттернам на верхней крышке). Задача каждой команды - собрать наиболее конкурентных роботов и разработать алгоритм управления ими, чтобы забить наибольшее количество голов сопернику.

С 11 по 17 ноября 2024 года мы принимали участие в соревнованиях Robótica 2024 в Гоянии, Бразилия, представляя Президентский физико-математический лицей №239, ИПМаш РАН, НПО “СтарЛайн” и ПАО "Газпром нефть". Эти соревнования проводятся по стандартам RoboCup и представляют собой значимое мероприятие для всех команд из Бразилии и Латинской Америки.

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

Наш прогресс за 2024 год

За прошедший год наша команда совершила наибольший прогресс за всё время своего существования. Во-первых, большие изменения претерпела наша стратегия. Если раньше мы руководствовались четкой логикой и имели два состояния: атака и защита (переключение между которыми происходило резко, перенаправляя всех роботов), то сейчас каждый робот имеет свою роль, а стратегия не определяет строгое состояние игры, а раздает роли на основе ситуации на поле. Это позволяет избежать резких переходов между состояниями и делает стратегию более гибкой - теперь тактику можно подстраивать под ход игры как в реальном футболе. Например мы можем «уйти в защиту» после удаления робота с поля, или «сконцентрироваться на нападении» если до конца матча осталось мало времени нам срочно нужно забить гол.

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

Отображение отладочных данных

Отображение отладочных данных

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

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

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

Мощный резистор для разрядки конденсаторов ударного механизма

Мощный резистор для разрядки конденсаторов ударного механизма

Третий дивизион в SSL

Кроме непосредственной работы над кодом и роботами, в прошедшем году наша команда начала активно работать над созданием третьего дивизиона в виде RoboCup SSL.

Одна из основных проблем при отладке наших роботов - отсутствие конкурентов в СНГ в силу неразвитости этого вида соревнований в из-за высокого порога вхождения. Официально соревнования проводятся в двух дивизионах: A и B. В первом случае каждая команда должна состоять из 11 роботов, а для матчей необходимо поле 12 на 9 метров, во втором - 6 роботов и поле 9 на 6 метров соответственно. Оба варианта требуют огромных затрат на сборку роботов, поддержание их в рабочем состоянии, а также большую площадь для отладки и проведения соревнований. Мы вдохновились идеями бразильских организаторов создать упрощенный дивизион для входа в лигу и разработали соответствующий регламент. По правилам дивизиона C команда состоит из 3 роботов, а само поле уменьшено до размеров 4.5 на 3 метра. Такие соревнования можно проводить на любой площадке, так как они требуют гораздо меньше места и не нуждаются в долгой подготовке. Помимо этого в Центре робототехники лицея 239, где существует группа, посвященная футболу в лиге малого размера, уже давно гуляла идея создания упрощенных роботов для SSL. Создать конкурентоспособных роботов в условиях более ограниченных ресурсов - задача интересная, соответственно было принято решение объединить две идеи, создав упрощенных роботов для нового дивизиона, апробировав все получившееся на кружке в лицее.

Федор Орлов - конструктор из Центра робототехники 239, начал разработку упрощенной версии роботов для нового дивизиона лиги RoboCup SSL в конце 2023 года, и, уже через полгода, под управлением программы, написанной учениками кружка, роботы приняли участие в Открытых весенних соревнованиях по робототехнике города Санкт-Петербурга. Соревнования прошли успешно, хоть игра и выглядела максимально примитивно.

Открытые весенние соревнования Санкт-Петербурга по робототехнике 2024
Открытые весенние соревнования Санкт-Петербурга по робототехнике 2024

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

XI Минский роботурнир

XI Минский роботурнир

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

РобоКап Россия 2024 в Томске

РобоКап Россия 2024 в Томске

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

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

Летом мы проводили интенсив в лагере Центра робототехники, куда приезжают ребята со всей России, чтобы за 3 недели освоить программу за пол года обучения. Наш курс по SSL оказался популярен среди учеников. Получив первый опыт в лагере, заинтересовавшиеся, ребята продолжили обучение в учебном году, а Медведев Семен, показавший наибольший результат присоединился к команде Eagles и в дальнейшем выступал с ними на соревнованиях.

Robótica 2024

Главным событием для нашей команды в 2024 году стала ежегодная поездка на соревнования Robótica в Бразилию. 

Предыдущий опыт участия

Ещё в  2022 году команда из России, будучи под названием UroboRus, впервые посетила далекую страну для проверки реальных роботов под управлением своего кода в матче против осязаемых соперников на поле. В 2023 году расширение и переосмысление команды привело к смене названия на SPbUnited, тот опыт участия описан в ранее опубликованной статье . А осенью 2024 года бразильские коллеги встречали нас уже в 3 раз, о чем и пойдет речь далее. 

В отличии от прошлого года, на этот раз в поездке приняли участие еще две команды Центра робототехники Президентского физико-математического лицея №239: уже упоминавшаяся команда Eagles (выступала в лиге SSL-EL (Small Size League - Entry League) - полный аналог нашего Div. C), а также Comma (выступала в лиге RoboCup Junior Soccer Open - юниорская лига роботов-футболистов).

Сборная Центра робототехники Президентского ФМЛ №239

Сборная Центра робототехники Президентского ФМЛ №239

Всего в основной лиге SSL в этом году участвовало 9 команд (в прошлом году было 8). В том числе две традиционно сильнейшие местные команды - RobôCin и Warthog. По результатам случайного распределения мы попали в группу с Warthog. Из обеих групп во второй этап выходило по 4 команды, поэтому выйти из группы было легко. Однако, чтобы обеспечить себе наиболее выгодные встречи в плей-офф, нам нужно было подняться в группе как можно выше.

Расписание игр в группах

Расписание игр в группах

Важным изменением этого года стало появление «начинающих» команд RobôCin B и Warthog B. Эти команды использовали новых роботов под управлением алгоритмов начинающих участников. Таким образом опытные команды обеспечивают себе качественную сменяемость состава (до того как попасть в основную команду участник проходит весь соревновательный путь и получает опыт, набивая собственные шишки). 

Роботы команды RobôCin B практически не отличались от роботов основной команды. Программное обеспечение они также унаследовали от старшей команды, а про алгоритмы судить сложно - робота было всего 3, поэтому были реализованы только простейшие роли, однако у этой команды были отдельные программисты, поэтому, вероятно, стратегия верхнего уровня была создана с чистого листа.

В отличие от зеленых чемпионов (RobôCin), команда Warthog B представила свежих роботов, созданных новобранцами. Мотивация к этому лежит в существенном устаревании роботов основного состава. Для соревновательных роботов такое редкость, но Warthog А используют своих роботов уже более десятка лет! Мы предполагаем, что Warthog А в дальнейшем сменит не только состав основной команды, но также станет использовать роботов обкатанных новобранцами. Однако роботы показанные ими на этих соревнованиях были лишь прототипами. Например у них не был реализован верхний удар, что сильно ограничивало их возможности. Наблюдая за играми Warthog B, мы решили, что основные программы были заимствованы у Warthog A, но тактика была разработана с нуля.

В этом году у наших бразильских коллег-организаторов возникло много проблем технического характера. Одна из основных - проблемы с SSL Vision: два дня не удавалось удачно подобрать оттенки цветных меток роботов, и настроить камеры, чтобы номера роботов и мячи определялись корректно. Из-за этого время на тестирование и отладку ПО было сильно урезано для всех команд. Для самых нуждающихся тренировки были организованы на полях SSL-EL, где технических проблем было меньше. 

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

Обклейка роботов

Обклейка роботов

Игры в группах

Нашими первым соперником стала команда “Neon”. Ребята, как и мы, не так давно участвуют в SSL, поэтому, к сожалению, они не были готовы к игре. Техническая победа со счетом 10:0 сильно продвинула нас в группе, но этот матч оставил ощущение подвешенности и непредсказуемости. Дело в том, что на протяжении всего года мы разрабатывали новые алгоритмы и тактики, но в лучшем случае могли протестировать их только в матчах с самими собой. То есть все нововведения всё ещё ни разу не тестировались в игре с реальным соперником…

Матч SPbUnited-Neon

Матч SPbUnited-Neon

Второй командой с которой мы играли, стали ITAndroids. В прошлом году они играли всего одним роботом, а в этом году уже тремя. Несмотря на малочисленность, их роботы были самыми быстрыми на этих соревнованиях (максимальная скорость чуть более 5 м/с). Отсутствие пасов навесом с нашей стороны сильно упростило задачу шустрым противникам, которые могли свободно перехватывать любой наш пас. 

ITAndroids-Warthog

До матча с нами, ITAndroids уже обыграли команду Warthog. У многолетних призеров явно были проблемы технического характера в первой половине матча, но во второй игра всё равно шла на равных, что показало насколько быстро развивается ITAndroids.

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

Матч SPbUnited-ITAndroids

Матч SPbUnited-ITAndroids
Матч SPbUnited-ITAndroids

Матч SPbUnited-ITAndroids
Команды: SPbUnited - слева, ITAndroids - справа

Команды: SPbUnited - слева, ITAndroids - справа

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

Замена аккумулятора в роботе

Замена аккумулятора в роботе

 

Третья и последняя игра группового этапа состоялась против Warthog A. Долгий час напряженного матча с одной из сильнейших Бразильских команд в SSL оказался очередным испытанием как для роботов, так и для нас. Большую часть времени преимущество оставалось на нашей стороне. Возникало несколько острых моментов у ворот Warthog, но мяч, захваченный дрибблером и продолжительными перепасовками доведенный до атаки, в последний момент все же катился мимо ворот. Итог матча 0:0 оставил нас в состоянии облегчения, но со звенящим недовольством об отсутствии результата. Ведь без голов победителями не становятся. Это был последний матч группового этапа, а значит, мы вышли в плей-офф с первого места в группе!

 

Матч SPbUnited-Warthog

Матч SPbUnited-Warthog

Плей-офф

Следующий день начался для нас с четвертьфинала с командой RoboFEI. Для нас этот матч играл знаковую роль, и воспринимался как ранее непреодолимый рубеж. Именно эта команда в прошлом году выбила нас из турнира. Первая половина матча прошла насыщено, с активными взаимными нападениями. Однако, ни одной из команд так и не удалось забить ни одного мяча. Внимательное наблюдение за поведением мечущихся RoboFei позволило выявить их слабые стороны и во время перерыва между таймами  мы скорректировали нашу тактику под стиль соперника, что дало свои плоды. Всю вторую половину игра была под нашим контролем. Матч закончился со счётом 4:0 в нашу пользу, что стало реваншем за прошлогоднее поражение.

Итоговый счёт матча SPbUnited-RoboFEI на status-board

Итоговый счёт матча SPbUnited-RoboFEI на status-board

Следующим нашим соперником снова стала команда Warthog A. После ничьи в групповом этапе, мы ожидали, что игра может закончиться серией пенальти, к чему и готовились. Первая половина завершилась со счётом 0-0, а также появлением 2 жёлтых карточек для нас (временное удаление роботов с поля). В этот момент мы решили усилить оборону. За время в меньшинстве нам не забили ни одного гола, а команда противника получила свою жёлтую карточку. Как только наши роботы вернулись на поле, распределение сил заметно изменилось. Обладание количественным преимуществом предоставило нам шанс и в последние минуты матча роботы SPbUnited отдали голевой пас и забили долгожданный гол! Со счетом 1:0 мы прошли в финал!

Итоговый счёт полуфинала на status-board

Итоговый счёт полуфинала на status-board
Команды: Warthog - слева, SPbUnited - справа

Команды: Warthog - слева, SPbUnited - справа

Подготовка к финалу

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

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

Результат тестирования силы слабого удара

Результат тестирования силы слабого удара

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

Результат повторного тестирования силы слабого удара

Результат повторного тестирования силы слабого удара

Финал

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

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

Розыгрыш стороны поля

Розыгрыш стороны поля

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

Финальный матч

Финальный матч

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

Команды: RobôCin- слева, SPbUnited - справа

Команды: RobôCin- слева, SPbUnited - справа

По итогу соревнований мы заняли второе место! Это первое результативное участие в SSL на международном уровне для нас в частности и вообще для России за последнее время!

Eagles и SSL-EL

А как же прошли соревнования у команды школьников, выступавшей в упрощённой лиге SSL-EL? Об этом в следующих абзацах ребята расскажут сами:

Процесс отладки

Процесс отладки

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

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

Ударный механизм Eagles

Ударный механизм Eagles

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

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

Следующий матч был против двух роботов, которые двигались рывками и против них наша стратегия отработала гораздо лучше: роботы давали друг другу пасы и, мы снова закончили матч со счетом 10:0. 

Команды: Eagles - слева, Red Dragons - справа

Команды: Eagles - слева, Red Dragons - справа

В финале мы встретились с командой “Red Dragons”, у которой было три работающих робота, но они испытывали трудности с получением сигналов от компьютера. У них не оказалось кикеров, поэтому роботы пинали мяч корпусом, из-за чего он двигался очень медленно. В результате наша программа не смогла распознать движение мяча, и вратарь один раз пропустил его.  Это был единственный гол, который мы пропустили в рейтинговых играх. Матч завершился со счетом 11:1 в нашу пользу.

Кроме того, нам удалось провести дружеский матч с командой "Warthog B” (работы с желтыми маркерами), выступающей в основном дивизионе. Игра прошла по правилам нашей лиги, и, к сожалению, мы проиграли, так как их роботы были значительно быстрее, а их кикер обладал гораздо большей мощностью, чем наш. Тем не менее, этот матч продемонстрировал нашу конкурентоспособность даже с роботами из лиги старше.

Матч Eagles-Warthog B

Матч Eagles-Warthog B

Стоит отметить, что судейство в данной категории выдалось очень интересным. Из-за того, что поле у нас меньше, чем в DIV. B, количество судей уменьшили с 4 до 2 - объединили судью с помощником судьи, оператора камеры сверху поля с оператором, переключающим состояния игры. И если в первом случае это было оправдано - поле было меньше, из-за чего скорости перемещения одного судьи хватало для того, чтобы полностью контролировать ситуацию, то совмещать вторую роль было очень сложно, потому что необходимо контролировать очень много процессов. Из-за этого во время судейства могли возникать некоторые казусы, но почти всегда нам помогал кто-то из оргкомитета или участников старшей лиги.

Настройка системы компьютерного зрения

Настройка системы компьютерного зрения

Comma и RoboCup Junior Soccer Open

Также про свой опыт участия в RoboCup Junior Soccer Open  хотят рассказать участники команды Comma:

Команда, Comma, приняла участие в соревнованиях Robόtica 2024 в категории Robocup Junior Soccer Open. Мы занимаемся робофутболом уже 4 года и это первый сезон в лиге Open. За этот год к нам присоединился новый участник – Мухачёв Денис, он отвечает за электронику в роботах. За этот год мы полностью переработали конструкцию робота: добавили дриблер – механизм захвата мяча, систему для направленного удара мяча и улучшили качество оптической системы, так как в нашей лиге роботы должны сами обнаруживать маленький мяч на поле. Дриблер показал себя очень хорошо, на всех соревнованиях у нашей команды был лучший контроль мяча.

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

  Общение с командами было продуктивным. В Бразилии у команд абсолютно другой подход к созданию роботов и было очень интересно узнать особенности процесса их создания. 

  В итоге наша команда выиграла все матчи и заняла первое место! Всем участникам соревнования и поездка очень понравились. Мы получили много нового опыта и успели посмотреть местные достопримечательности.

Интересные решения других команд в SSL

Отдельно хочется отметить некоторые технические решениях других команд: Например команда "RoboCin" в качестве верхней поверхности для шапок своих роботов использовала материал, напоминающий расцарапанную резину. Такое решение значительно повысило контрастность цветовых меток робота, что, в свою очередь, улучшило их распознавание камерой.

Разница в отражательной способности верхней поверхности роботов SPbUnited и RobôCin

Разница в отражательной способности верхней поверхности роботов SPbUnited и RobôCin

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

Цельная рама робота

Цельная рама робота

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

Прямой привод

Прямой привод

Результаты и планы на будущее

В прошлые SPbUnited не поднимались выше пятой строчки, а в этот раз - второе место!

Команда SPbUnited

Команда SPbUnited

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

Хочется отметить наши сильные стороны:

  • Наши роботы крепкие и надежные, нареканий к их работе во время игры практически не возникало. У всех остальных команд (даже у RobôCin) происходили поломки роботов во время матча. Также количественный запас роботов является определенным преимуществом.

  • Управление роботами по их ролям позволяет согласовать действия всех “игроков” вместе, но и по отдельности все роботы отлично справляются со своими задачами. Это решение отличается своей модульностью и масштабируемостью.

  • Пасы помогали нам забивать голы всем командам, за исключением RobôCin. Зато с ними в матче нам удавалось не только предотвращать большинство пасов противника, но и отбивать удары рикошетом (вид ударов, широко используемый в див А: робот получает пас и сразу ударяет его в ворота противника, это не дает времени подстроится под мяч или заранее просчитать траекторию удара). По скромному мнению программистов, наш расчет точки для паса также работает значительно лучше, чем у RobôCin.

При этом игра с реальными противниками показала наши недоработки:

  • Между роботами роли распределяются не наилучшим образом.

  • Роботы строят недостаточно безопасные и быстрые маршруты, что пусть и не приводит к столкновениям, но роботы мешают друг другу в процессе игры.

  • По сравнению с другими командами лиги - наши “игроки” медленные и не маневренные

  • Управление на скорости, близкой к максимальной, очень нестабильное. Резкое ускорение сильно меняет траекторию робота.

  • Роботы пинают с разной силой. Также, из-за особенностей конструкции, роботы могут автоматически пнуть мяч только если он будет строго по центру дрибблера. За счёт этого робот бьёт точнее, но всегда ждет пока мяч выровняется в механизме захвата.

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

Проанализировав результаты, мы выявили основные моменты, которые требуют доработки к следующему сезону. Так мы планируем усовершенствовать прошивку роботов, добавив одометрию, что должно повысить точность движений и позволить поднять порог максимальной скорости. Также мы планируем работать над модификацией конструкции роботов, в частности ее облегчения для улучшения ходовых характеристик. Помимо этого в списке задач стоит обновление ПО для связи компьютера в локальной сети и для запуска параллельных процессов стратегии. Актуальное ПО работает достаточно хорошо, но мы планируем полностью переписать его, добавив логирование, обновив визуальный интерфейс и перераспределив задачи между разными процессами. Это должно повысить модульность кода, а также упростить задачу отладки программы на любом этапе. Значительные изменения планируются и в коде стратегии. Необходимо модернизировать алгоритм маршрутизации, чтобы роботы могли быстрее доезжать до финальной цели, не мешая друг другу по пути. Также, по опыту проведенных игр, мы можем улучшить действия ролей и их распределение.

Процесс судейства матча за пультом управления игрой

Процесс судейства матча за пультом управления игрой

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

Также мы конечно поздравляем наших коллег, победивших в своих лигах: команды Eagles и Comma!

Над проектами работали (слева направо на фото): Устинов Илья Дмитриевич, Глазов Юрий Сергеевич, Ежелев Георгий, Веселов Федор, Малышев Савелий, Викторов Борис Викторович, Орлов Федор Кириллович, Медведев Семен, Иванов Василий Леонидович, Мерзлякова Юлия Игоревна. Также еще трое участников команды, не принимавших участие в поездке, но внесших большой вклад в результат команды SPbUnited: Мещеряков Александр Дмитриевич, Ярмолинский Арсений Маркович и Липкович Михаил

Сборная Центра робототехники Президентского ФМЛ №239

Сборная Центра робототехники Президентского ФМЛ №239

Возвращаясь к начинающим командам мы не можем не вспомнить об успешном создании дивизиона C в России и странах СНГ. Отдельную благодарность за содействие в развитии, а также за популяризацию и продвижение робототехники, наша команда выражает Голику Алексею Валерьевичу, главному организатору Минского Роботурнира и Шандарову Евгению Станиславовичу, главному организатору РобоКапа в России. Проведение первых соревнований по новому регламенту вдохновило заинтересованных робототехников на участие в SSL. Так, например, сформировалась команда MinSideSSL, присутствовавшая на Минских соревнованиях. На момент написания статьи ребята уже даже разработали собственных роботов! 

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

До встречи на следующих соревнованиях!

Наш Telegram канал, где мы публикуем свежие новости

Наш YouTube канал, где можно найти записи всех матчей

Автор: SPbUnited

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js