К победе через череду поражений. Советы будущим победителям WRO
В прошлом году воспитанники Школы программистов из Москвы стали чемпионами WRO 2019 в Венгрии в номинации Regular Senior. Теперь они и их тренер Максим Шепелев знают, как стать победителями состязаний. И готовы поделиться своим опытом.
В WRO есть 3 направления для школьников: основная категория «Regular», творческая категория «Open» и Футбол роботов. Первые две дополнительно разделены на разные возрастные категории: WeDo (до 10 лет), Elementary (до 12 лет), Junior (13-15 лет) и Senior (16-19 лет). В футболе роботов никакой поправки на возраст — 10-летние могут «играть» с 19-летними. Также существует продвинутая категория Advanced Robotics Challenge, где нет ограничений на использование исключительно LEGO, но и задача далеко не детская (17-25 лет).
— Наши победители привезли золото в категории Regular Senior — это самая взрослая категория в самом конкурентном направлении, поэтому золото очень дорогое! — говорит преподаватель и методист Школы программистов, тренер сборной России Максим Шепелев.
В основной категории все очень строго регламентировано. Есть конкретная трасса с конкретным реквизитом, есть очень строго сформулированная задача, что и куда должен переместить робот в зависимости от факторов, которые не известны роботу на момент старта, каждое действие прописано и оценено баллами. Есть ограничение на время выполнения задачи и габариты робота. Задача в каждом сезоне новая. К началу соревнований робот и программа должны быть уже готовы, но в день олимпиады объявляется дополнительное задание,чтобы отсеять тех, за кого робота сделал тренер или родители.
Победа после грандиозных поражений
Максиму Шепелеву 27 лет, 7 из которых он преподает. LEGO он изучал вместе со своими подопечными. Каждый год они узнавали новые тонкости работы с ним, меняли языки программирования, заменяли большие моторы на средние, широкие колеса на узкие, маленькие на большие и обратно, множили библиотеку алгоритмов и конструктивных решений.
До определенного этапа команды Школы участвовали только в тех олимпиадах, где можно было делать роботов без ограничений на материалы (в WRO только LEGO). Обычно это была платформа Arduino и олимпиады Робофест, RobotChallenge или КРОК.
В различных этапах WRO команды Школы программистов участвовали 4 года, а робототехникой занимаются значительно дольше.
Андрей Пономарев и Александр Михненко, получившие золото на мировом уровне, настоящие ветераны WRO. Но ни разу до этого года им не удавалось выйти в топы на Российском первенстве и пройти на мир.
— Это была настоящая история о людях, которые не опускают руки даже после трех лет грандиозных поражений, — уверен Максим Шепелев.
Победители в этом году закончили школу, и, не договариваясь между собой, поступили в МФТИ на направление «Прикладная математика и информатика». Андрей Пономарев говорит, что после LEGO хочется чего-то намного более серьезного. Александр Михненко признается, что из-за большой нагрузки в университете времени на робототехнику не хватает.
Чему учили победителей
В Школе программистов в первую очередь учат кодить. Максим Шепелев говорит, что робототехника — это крутая прикладная область программирования, но не единственная.
— Попробовать себя в робототехнике мы предлагаем каждому ученику. Некоторым это становится интереснее других сфер, и мы даем возможность в неё углубиться. Именно тут начинается самое интересное: механика, физика и необходимые в робототехнике алгоритмы (PID регуляторы, графы, компьютерное зрение). В робототехнике мы не ограничиваемся только LEGO, это и Arduino, и ESP32, и Raspbery Pi, — поясняет тренер.
Школа программистов учит школьников всем возможным направлениям IT: от разработки сайтов или мобильных приложений до компьютерной безопасности или анализа данных. Она дает ученикам возможность «профориентироваться» и найти себе сферу по интересам.
— Перед тем, как робота запрограммировать, его нужно собрать, поэтому на кружке робототехники мы еще изучаем и немного физики, и конструкторы, — рассказывает Андрей Пономарев, который в этом году планирует помогать преподавать в олимпиадном отделении Школы.
В рамках олимпиадных занятий проходят робо-коворкинги, на которых ученики делятся друг с другом наработками. Это обязательное условие участия.
— Порой бывает и такое, что две команды готовятся к одному и тому же соревнованию, на финале им предстоит быть противниками, а сейчас они без малейших сомнений подсказывают друг другу, как улучшить конструкцию, — рассказывает Максим Шепелев.
Как получить золото WRO
Команда победителей готова делиться опытом. По словам Максима Шепелева, преемственность поколений в этом деле очень важна, и многие олимпиадники возвращаются в школу тренерами после выпуска. Но не только ученики Школы программистов могут узнать секреты победы. Максим, Андрей и Александр рассказали «Занимательной робототехнике», как завоевать золото WRO.
- Однозначно важно – умение работать в команде и расставлять приоритеты, умение «декомпозировать» задачу и распределять время.
- Также важно научиться программировать действительно плавную езду по линии. В этом помогут PID-регуляторы и хорошо, на правильной высоте и расстоянии закрепленные датчики — экспериментируйте пока не получится. От этого зависит точность действий вашего робота. Точность — это самое главное, скорость — вторична.
- Разберитесь как работают и как надо собирать «дифференциальные» и «храповые» механизмы, это поможет справится с ограничением на количество моторов и облегчить конструкцию робота.
- Учитесь надежно определять цвет и фильтровать показания датчиков. Для цвета пригодится алгоритм перевода цветового пространства RGB в HSV. А для фильтрации алгоритмы: «скользящего среднего» и «медианный фильтр».
- От среды программирования шансы победить не зависят, тут поможет только знание алгоритмов и умение писать чистый код. Синтаксис не так важен, сила в алгоритмическом и математическом мышлении. Робот победитель программировался в среде «EV3 Small Basic», которая выбрана по причине её высокой стабильности среди всех доступных текстовых языков для LEGO.
- Меньше нервничайте. Не должно быть безразличия, но и чересчур волноваться не нужно. Старайтесь сделать все то, что от вас зависит, а дальше пусть будет, как будет.
- Будьте готовы принять любой исход соревнования: и победу, и поражение. Не нужно давать себе установку непременно победить — все не могут победить в состязании.
- Помогайте вашим соперникам, поддерживайте их в трудную минуту. Как бы ни нахваливали олимпиады и олимпиадное движение, участие в таких мероприятиях — это психологически тяжело. Конкуренция — это тяжело. Поэтому если вы видите, что вашим соперникам плохо, забудьте конкуренцию и по-товарищески помогите им.
- Будьте настойчивыми. Если вы знаете, что вам нравится то, чем вы занимаетесь, не отступайте из-за неудач на соревнованиях. Всегда помните, что ваше занятие приносит вам удовольствие (это может ускользнуть в процессе трудной подготовки). Если вы осознаете, что род вашей деятельности вам нравится, то все делаете правильно. Если вы понимаете, что это не так, попробуйте себя в чем-то новом. Поиск — это тоже очень хорошо.
- Ищите кружок робототехники, учитесь, не сдавайтесь — не все получится сразу.
WRO — не игра
Команда победителей и их тренер уверены, что WRO в первую очередь не познавательная игра, а серьезный интеллектуальный конкурс, который требует длительной подготовки.
— WRO — это спорт, — говорит Максим Шепелев. — Тут нужны не только ум и сообразительность. Тут нужны тактика и выдержка. Многие умные ребята, приезжающие на олимпиаду с хорошим роботом и отличным кодом, уезжают ни с чем, так как не смогли правильно распределить время и командную работу. Это очень похоже на своеобразную робототехническую «Формулу-1» или «Леман». Кстати, посмотрите фильм «Ford против Ferrari» — участники робототехнических олимпиад увидят кучу параллелей.
Аналогию со спортом проводит и Андрей:
Нужно планировать время тренировок, следить за тем, чтобы не переутомляться на подготовке, а еще как следует восстановить силы перед соревнованием. Нужно выбрать подход к решению, продумать конструкцию и алгоритм работы робота. Потом приходится раз за разом тестировать его, думать над результатами тестов и вносить правки. Относиться к WRO как к игре у меня не получилось — мы занимались созданием робота серьезно.
По словам Максима Шепелева, работа над задачей WRO — это практически год порой действительно круглосуточной работы. И в этом смысле ребята и тренер и являются главными спонсорами для самих себя.