Олимпиада НТИ по робототехнике: как это было

Конструкторы для обучения детей робототехнике

Share Button

На этой неделе в Сочи прошел заключительный этап Олимпиады НТИ. Один из ее треков — «Интеллектуальные робототехнические системы» — был организован Университетом Иннополис. Об олимпиаде рассказывает Александр Колотов, ведущий специалист STEM-программ университета.

Олимпиада НТИ по робототехнике: как это было

Задание на финале олимпиады

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

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

Полигон для роботов на олимпиаде НТИ

Внешний вид полигона с двумя секторами для сервисного обслуживания

Для решения задачи используется конструктор ТРИК. Отличие соревнований — отсутствие направляющих линий и визуальных ориентиров, поэтому используются способы навигации роботов, основанные на определении расстояний до препятствий и пройденной дистанции.

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

Помимо командной задачи, есть еще индивидуальный этап, где школьники решают задачи по математике и информатике.

Подробное описание финального задания трека «Интеллектуальные робототехнические системы» олимпиады НТИ 2017 в регламенте.

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

Финалу олимпиады предшествовало 2 отборочных тура.

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

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

Олимпиада НТИ по робототехнике: отчет Александра Колотова

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

Олимпиада НТИ по робототехнике 2017: отчет

В итоге, после подведения результатов второго отборочного тура в финал вышел 21 человек, которые составили 8 команд. География участников финала была представлена Московской областью, Саратовской областью, Красноярским краем, Челябинской областью, Кировской область, Республиками Башкортастан и Татарстан.

Как проходил финал олимпиады

Процесс подготовки решения в треке «Интеллектуальные робототехнические системы» Олимпиады НТИ совпадал с популярным в индустрии процессом итеративной разработки: большая задача разбивается на маленькие таким образом, что после каждого дня соревнований получается какая-то готовая подсистема, объединение которых в последний день приводит к получению конечного решения. Для каждой подзадачи формируется список примемочных тестов, за прохождение которых участникам начисляются баллы. Сумма всех баллов у команды определяет ее рейтинг.

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

Как проходила олимпиада НТИ по робоотехнике

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

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

Всего было 4 соревновательных дня: 2 дня по 5,5 часов, работы, третий день — 2 часа работы, четвертый день — 5 часов работы. Итого 18 часов. Задание школьникам не было известно заранее. Все команды работали полностью самостоятельно — ни тренера, ни сопровождающие в зону состязаний не допускались.

Участники — молодцы! Хотя финальную задачу никто полностью не решил, тем не менее старались решить по максимуму из того, сколько успевали. Мотивацию никто не растерял. К четвертому дню (после 13 часов работы — 2 рабочих смены взрослого человека) практически все адаптировались к платформе, понимая в условиях каких ограничений платформы нужно решать задачу. Успешные команды ездить стали стабильно используя только энкодеры и IMU.

Робототехнические конструкторы ТРИК на олимпиаде НТИ

Сложности с решением задачи

Участникам было сложно:

  1. Платформа ТРИК — это не рафинированный ЛЕГО. Моторы ведут себя менее предсказуемо, гироскоп — с серьезным дрейфом.
  2. Ленятся использовать симулятор для отладки основной части алгоритма. Поэтому не могут оценить успешность основного алгоритма управления, «погибая» под проблемами с навигацией. К приемочным тестам выходят с мало отлаженной программой.
  3. Торопятся или ленятся. Поэтому практически не пишут никакой защиты от застреваний или возникновения внештатной ситуации.
  4. Абсолютно не набита рука в создании регуляторов. Максимум пропорциональный от одного сенсора. Поэтому одновременное регулирование, как по энкодеру, так и по гироскопу для уверенной навигации, никто не использовал.
  5. Также не набита рука в быстрой реализации алгоритмов плавного разгона или остановки, использования одометрии для решения задач навигации, фильтрации и работы с набором показаний, вместо одного конкретного показания в конкретный момент времени.

В целом, горизонт работы на будущий сезон ясно виден. Мы уже начинаем готовить задачник по теме «вычислительные основы робототехники». Это должно помочь не только будущим участникам, но и их наставникам. Теоретические материалы будут основываться на том, что уже разработано в рамках Дистанционной Робототехнической Школы.

Участники олимпиады НТИ 2017 по робототехнике

Победители трека «Интеллектуальные робототехнические системы»

В командном зачете заслуженно победила команда из Кирова — Максим Курейкин и Вячеслав Романов.

В индивидуальном зачете победил Айдар Гариханов из Лицея Иннополис, уверенно набрав высокие баллы по математике и информатике. При этом его команда тоже все 4 дня держалась в топе лидеров.

Фото Александра Колотова и оргкомитета Олимпиады НТИ.

Share Button

8 комментариев к статье “Олимпиада НТИ по робототехнике: как это было”

  1. олег голдырев

    31.03.2017

    Почему именно конструктор ТРИК?

    Ответить на этот комментарий
  2. Александр

    31.03.2017

    Какие будут альтернативы из отечественных конструкторов?

    Положительные моменты ТРИКа:
    1. Относительное мощная универсальная вычислительная платформа (решаются как простые задачи, так и достаточно сложные)
    2. Более-менее слаженная работа софта и железа (базовая линеаризация силовых моторов, единый интерфейс поддержки из софта стандартных датчиков, простой их крепёж)
    3. Комплексная среда разработки включает эмулятор и поддержку создания тестов для stepik.org
    4. Поддержка со стороны команды-разработчиков

    Но минусы тоже есть :)

    Ответить на этот комментарий
    • Андрей

      31.03.2017

      Какие на Ваш взгляд минусы у ТРИКа?

      Ответить на этот комментарий
      • Александр

        31.03.2017

        Андрей, частично ответ есть в статье. ТРИК сильно отличается от LEGO, хотя может сложится впечатление, что он позиционируется как нечто похожее, но железное (например, как VEX).
        По факту, с точки зрения работы с моторами, например, придется столкнуться со всеми теми проблемами, с которыми сталкиваются разработчики на платформах типа raspberry или ардуино — моторы нелинейны. И так во всем — очень много особенностей работы с железом вынесены на уровень программиста, т.е. вместо решения задач алгоритмизации приходится в условиях сжатого времени (на олимпиаде, например) приходится бороться с железными «проблемами». Не многие справляются.

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

        Ответить на этот комментарий
        • Андрей

          03.04.2017

          Александр, благодарю Вас за ответ. ТРИК появился у нас недавно, только начинаем осваивать. Удивляет отсутствие нормальной методической поддержки, инструкций, методических материалов по этой платформе, сырое программное обеспечение.

          Ответить на этот комментарий
          • Александр

            19.04.2017

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

  3. Денис

    31.03.2017

    Баннер с кнопками соцсетей на правой границе глючит. носится вверх и вниз как бешеный

    Ответить на этот комментарий

Оставить комментарий

© 2014-2017 Занимательная робототехника, Гагарина Д.А., Гагарин А.С., Гагарин А.А. All rights reserved / Все права защищены. Копирование и воспроизведение в любой форме запрещено. Политика кофиденциальности. Соглашение об обработке персональных данных.
Наверх