Платформа для проведения фестиваля робототехникиrobofinist.org

 

Как мы превратили сумбур в работающий механизм,

или как мы создали платформу для проведения фестиваля робототехники

 

 

Кому будет интересен этот кейс:

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

Кстати, если вам лень читать много слов, посмотрите картинки.

 

Немного предыстории:

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

Что такое робототехника?

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

Но в данном случае всѐ проще – это разные штуки с искусственным интеллектом, которые делают дети. Одно из ключевых слов – ДЕТИ! Представьте, в двух лицеях Питера (а именно там проходил фестиваль) дети посещают уроки робототехники так же, как мы с вами раньше посещали уроки математики и информатики. Приходят и делают роботов.

Чтобы понимать, что именно они делают, представьте себе роботизированный пылесос. Вот то же самое только без пылесоса.

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

Более продвинутые робототехники делают полезные штуки. Вот, например, Icebot, который очищает крыши домов от сосулек.

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

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

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

 

Проблемы:

Для начала мы определили наиболее проблемные зоны:

«Деревянная» (хоть и электронная) регистрация
Длинные очереди участников на стойке подтверждения явки
Судейство «на коленке»
Долгое ожидание награждения
Отсутствие единой электронной базы данных

 

Подробнее о том, как было:

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

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

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

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

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

    Процесс отнимал уйму времени, так как для расчета результатов разных видов соревнований используются отдельные формулы (в среднем около 10-и в рамках одних соревнований). В некоторых видах фиксируется до 5-и показателей, сочетание которых дает результат.

    Помимо скорости обработки был еще 1 минус: человеческий фактор, который мог результироваться в ошибку при расчетах.

  5. Обработанные протоколы перекочевывали к организатору, который печатал дипломы.

    Организатор набирал данные победителей в текстовом редакторе и распечатывал на заранее подготовленных шаблонах дипломов. Набор и печать дипломов занимали около 3-х часов.

    Не была исключена возможность опечатки при наборе текста.

 

Задачи:

Проанализировав проблемы, определили основные задачи проекта:

ВЛАДЕЛЬЦУ было важно получить автоматизированный процесс проведения соревнований, который бы обеспечивал:

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

Необходимо было предоставить УЧАСТНИКУ возможность:

  • своевременно получать информацию о фестивале
  • отслеживать промежуточные и финальные результаты соревнований.

 

Что мы сделали:

  1. Информационный ресурс.

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

  2. Форма регистрации.

    Внедрили пошаговую форму регистрации.

    Форма позволяет организаторам собирать большой объем информации об участниках.

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

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

  3. Система управления содержимым.

    • Система фильтрации CMS позволяет в несколько кликов находить участников и подтверждать их явку.
    • Модуль экспорта позволяет гибко выгружать необходимую информацию об участниках в xls. Таблицы используются для учета раздачи еды, футболок, для заселения участников и проведения экскурсий.
    • Модуль генерации дипломов. Позволяет в 1 клик сгенерировать дипломы победителям соревнований или участникам. Предусмотрели опцию: генерацию с фоном и без; соответственно, для печати на заранее заготовленных шаблонах и на чистой бумаге.
  4. Веб-приложение «Судейские протоколы» и Challonge.com.

    Все соревновательные дисциплины грубо разделили на 2 части: одиночные и парные.

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

    В парных участники непосредственно соревнуются между собой, например, играют в футбол или выталкивают друг друга из круга в соревнованиях «Сумо».

    • Для судейства одиночных видов соревнований мы создали веб-приложение. Приложение содержит список видов соревнований, созданных администратором в CMS. Для каждого вида отображается список участников, подтвердивших явку. Всѐ, что нужно сделать судье – выбрать участника и ввести показатели его выступления. Система сама рассчитает итоговый результат.

      Писали выше, но напомним: для разных видов соревнований используются отдельные формулы (в среднем около 10-и в рамках одних соревнований). В некоторых видах фиксируется до 5-и показателей (время прохождения, количество передач, штрафные баллы…), сочетание которых дает результат.

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

    • Соревнования в парных видах проходят по разным системам: олимпийской, групповой, круговой… Для их судейства организаторы уже использовали ресурс Challonge.com. Мы решили не создавать еще один велосипед, а аккуратно интегрировать уже имеющийся в сайт. Таким образом, админ выгружает участников на Challonge через CMS сайта фестиваля. Ввод результатов производится на стороне Challonge. Результаты, промежуточные и итоговые, отображаются на сайте фестиваля.

 

Как сейчас выглядит процесс:

Для ОРГАНИЗАТОРОВ:

 

Для УЧАСТНИКОВ:

 

Результат

Фестиваль прошел, и мы подвели итоги:

 

Фото-видео отчет о фестивале

Фотографии: https://robofinist.org/media/

Видео: https://robofinist.org/media/video/