Второй проект представляет из себя робота, стирающего с доски. В данном проекте у нас имеется маркерная доска и двухколесный робот, который может по ней перемещаться. Первый робот подъезжает и становится напротив доски. На нем расположена камера, изображение с которой транслируется через ТРИК на компьютер, где происходит обработка изображения и определение местоположения робота и его цели. На роботе расположены оранжевая и желтая метки для определения местоположения робота. Сначала мы выделяем все желтые и оранжевые пиксели на изображении, после чего определяем наибольшие сплошные области данных цветов и находим их центры, по которым можно определить координаты и угол поворота робота. Далее находим Лапласиан изображения и оставляем только красные и выделенные красным области, которые необходимо очистить. Пробегая еще раз по всему изображению, находим ближайшую от робота точку, которая становится целью.

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

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

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

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

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

Все исходные коды программ выложены на github .

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

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

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

Огромное спасибо всем участникам этой смены, её организаторам и педагогам. Надеюсь ещё не раз оказаться здесь!

В июле 2018 года в ОЦ «Сириус» (г. Сочи) пройдет новая проектная смена для школьников 8-10 классов. Каждый ученый или преподаватель Университета ИТМО может представить на конкурс свой проект для работы со школьниками по теме «Нанотехнологии». А затем, реализовать его вместе с лучшими школьниками страны, которые отбираются для участия через конкурсы и олимпиады. Заявки на конкурс принимаются до 5 февраля 2018 года включительно.

Заявка должна содержать следующие пункты:

1. ФИО участника или каждого из членов команды участников с указанием руководителя Проекта;

2. Название научно-исследовательского Проекта;

3. Актуальность;

4. Цели и задачи научно-исследовательского Проекта;

5. Основные этапы реализации Проекта подробным описанием каждого из них;

6. Требуемые материалы и оборудование для реализации Проекта;

7. Планируемые результаты;

8. Экономическое обоснование (оценочно) применимости результатов выполнения Проекта;

9. Перспективы развития и введения Проекта со школьниками после проектной смены;

10. Презентацию проекта.

Критерии отбора проектов

  • Решаемая задача является актуальной научной или технологической задачей в контексте Стратегии научно-технологического развития РФ и тематики направления.
  • Задача позволяет выделить тематику проекта, посильного для реализации за 3 недели одаренными школьниками 8-10 классов совместно с руководителем проекта, являющимся профильным специалистом в отрасли или научной области.
  • Задача проекта подразумевает вариативность решения в той степени, чтобы обеспечить необходимый уровень самостоятельности школьников, т.е. не превратиться в заранее распланированную лабораторную работу или практикум.
  • Решение, которое выработают школьники, может быть с пользой использовано в дальнейшей научной работе или разработке индустриальных, или коммерческих решений партнером, предложившим тематику, при условии качественного решения в рамках программы.
  • Требования к материально-техническому обеспечению, необходимому для реализации проекта на высоком уровне, позволяют его реализовать с использованием имеющегося оборудования в Парке науки и искусства «Сириус» и того оборудования и материалов, которое партнер готов предоставить на условиях временного использования или передачи Фонду «Талант и успех». Список имеющегося оборудования.
  • Участник, предложивший проект, проявляет готовность к постпрограммному сопровождению школьников, успешно прошедших программу. Постпрограммное сопровождение в случае проектной деятельности подразумевает не только продолжение работы в профильных образовательных программах, но и продолжение работы над проектом, реализованным в центре «Сириус»: в формате участия школьников в публикации статьи в рецензируемом журнале, участия в подготовке патентной заявки, доработки и развития решения дистанционно и очно, участия во внедрении в эксплуатацию, выводе продукта на рынок, создании стартапа при поддержке партнера или в формате выхода на новый проект совместно с партнером.

Ожидаемые характеристики руководителей проектов

  • Наличие достаточного времени для подготовки проекта перед началом программы и для участия в программе (июль 2018 года).
  • Способность обеспечить достижение целевого результата (публикация, патент, внедрение, вывод на рынок) успешно реализованного проекта по результатам программы.
  • Опыт преподавания, в частности проектной работы со старшеклассниками или студентами.
  • Для исследовательских проектов: академический уровень руководителя проекта, наличие статей в рецензируемых журналах, в том числе входящих в Scopus и Web of Science.
  • Для прикладных и инновационных проектов: опыт внедрения технологий и вывода продуктов на рынок, опыт успешного патентования разработок.
  • Готовность участвовать в постпрограммном сопровождении в роли консультанта и научного руководителя. Готовность заниматься преподаванием после окончания программы является дополнительным преимуществом.

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

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

С самого начала мы постарались разбить учащихся на группы по навыкам программирования и конструирования. Для организации работы мы воспользовались системой управления проектами Trello. Так как на работу над проектами отводилось две с половиной недели, остальное уходило на развлекательные и организационные мероприятия, и задач было ограниченное количество, Trello нас вполне устроил. Каждые три дня мы собирались с ребятами и определяли задачи на новый спринт. Нельзя сказать, что это было сделано по всем канонам разработки в серьезных компаниях, но нам удалось познакомить ребят с основами проектного менеджмента. Далее перейдем непосредственно к проектам.

Первый проект связан с взаимодействием человека и робота «human-robot interaction», как с точки зрения дизайна приятной внешности робота, так и с точки зрения общения с человеком и удержания внимания. Сначала ребята разобрались с использованием технологии распознавания речи. Для этого использовался Yandex SpeechKit, который позволяет через http запрос получать в ответ варианты распознанного текста, в порядке убывания вероятности верного распознавания. На самом контроллере ТРИК стоит unix система, и разработчики предусмотрели в системе возможность преобразования текста в речь. Для этого в системе установлен синтезатор речи eSpeak, который озвучивает желаемый текст.
Основная программа была реализована на Qt Script в системе TRIK Studio, поддерживаемой разработчиками конструктора, а часть с передачей аудио файла на сервера Yandex реализуется через bash script. Соответственно, необходимо передать информацию из рабочего пространства linux в область памяти программы на Qt Script, это было сделано через дополнительный файл. В целом, робот может записывать вашу речь, отправлять файл на распознавание и произносить фразы, которые прописаны в общей базе запросов и ответов, или выполнять определенные действия.

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

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

Второй проект представляет из себя робота, стирающего с доски. В данном проекте у нас имеется маркерная доска и двухколесный робот, который может по ней перемещаться. Первый робот подъезжает и становится напротив доски. На нем расположена камера, изображение с которой транслируется через ТРИК на компьютер, где происходит обработка изображения и определение местоположения робота и его цели. На роботе расположены оранжевая и желтая метки для определения местоположения робота. Сначала мы выделяем все желтые и оранжевые пиксели на изображении, после чего определяем наибольшие сплошные области данных цветов и находим их центры, по которым можно определить координаты и угол поворота робота. Далее находим Лапласиан изображения и оставляем только красные и выделенные красным области, которые необходимо очистить. Пробегая еще раз по всему изображению, находим ближайшую от робота точку, которая становится целью.

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

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

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

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

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

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

Все исходные коды программ выложены на github.

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

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

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

Огромное спасибо всем участникам этой смены, её организаторам и педагогам. Надеюсь ещё не раз оказаться здесь!

Извлекаем пользу из Big Data - одно из семи направлений проектной смены 1-24 июля 2016 в СочиСириус для школьников, перешедших в 9, 10, 11 классы, интересующихся математикой, комбинаторикой, программированием и анализом данных.

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

Лекционные курсы направления Big Data

Теория вероятностей

Машинное обучение

  • 5 июля 2016. Машинное обучение в эпоху больших данных .
  • 6 июля 2016. Линейные модели регрессии и классификации .
  • 8 июля 2016. Метрические методы классификации, регрессии и кластеризации .
  • 9 июля 2016. Методы понижения размерности и рекомендательные системы .

Оптимизация

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

  • 5 июля 2016. Как бороться с пробками? .

Биоинформатика

Яковлев Павел Андреевич Еричева Елена Витальевна , компания Биокад

Программирование на языке Питон

  • Павел Темирчев . Материалы лекций по Питону .
  • Эмели Драль . Лекция по научной визуализации .

Проектная деятельность

Предсказание музыкальных предпочтений

Кантор Виктор , руководитель группы в Яндексе Зухба Анастасия , преподаватель МФТИ

Задачи и алгоритмы рекомендательных систем (на примере данных Яндекс.Музыки). Проектная команда реализует несколько рекомендательных алгоритмов и оценивает их качество. Команда выполняет инфраструктурную часть проекта совместно, затем участники раздельно реализуют свои алгоритмы в рамках внутрикомандного соревнования.

Предсказание эмоциональной окраски отзывов

Драль Эмели , преподаватель НИУ ВШЭ, руководитель группы в Яндексе Бухаров Олег , преподаватель НИУ ВШЭ

Задачи и алгоритмы анализа текстов (на примере классификации отзывов на КиноПоиске). Проектная команда реализует несколько алгоритмов классификации текстов и оценивает их качество. Команда выполняет инфраструктурную часть проекта совместно, затем участники раздельно реализуют свои алгоритмы в рамках внутрикомандного соревнования.

Моделирование случайных явлений

Лемтюжникова Дарья , преподаватель МПГУ, МФТИ Зухба Анастасия , преподаватель МФТИ Темирчев Павел

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

Медицинская диагностика по электрокардиограмме

Воронцов Константин Вячеславович , доктор физ-мат наук, профессор РАН (Вычислительный центр ФИЦ ИУ РАН, МФТИ, Яндекс, Форексис) Темирчев Павел , студент магистратуры ВМК МГУ

Задачи и алгоритмы машинного обучения для диагностики заболеваний по электрокардиограмме. Идея проекта основана на технологии информационного анализа электрокардиосигналов , предложенной проф. В.М.Успенским. Участники проекта реализуют свои алгоритмы диагностики в рамках внутрикомандного соревнования на платформе Kaggle in Class , затем проектная команда выполняет ряд исследований, направленных на повышение качества диагностики.

  • 2 июля 2016. Машинное обучение: распознавание языка текста и диагностика по электрокардиограмме .
  • 6-7 июля 2016. Введение в проект .

О способах решения задач оптимизации сверхбольших размеров

Гасников Александр Владимирович , кандидат физ-мат наук (МФТИ, ИППИ РАН)

Большое количество задач анализа данных и моделирования сетей (компьютерных, транспортных) приводят к задачам оптимизации (чтобы найти оптимальные значения неизвестных параметров или найти равновесную конфигурацию). В качестве примеров конкретных приложений будут рассмотрены задачи поиска вектора PageRank, задача восстановления матрицы корреспонденций в большой компьютерной сети по замерам потоков на линках (ребрах), задача поиска равновесия в модели распределения транспортных потоков по путям крупного мегаполиса и задача «сжатия измерений».

  • 22 июля 2016. PageRank .

Модели больших сетей и классические модели случайных графов

Жуковский Максим Евгеньевич , кандидат физ-мат наук (МФТИ, Яндекс)

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

Криптография на решётках

Герман Олег Николаевич , доктор физ-мат наук, профессор (механико-математический факультет МГУ им М.В. Ломоносова)

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

Алгоритмы на больших графах

Райгородский Андрей Михайлович , главный научный сотрудник и заведующий лабораторией продвинутой комбинаторики и сетевых приложений МФТИ, федеральный профессор математики, заведующий кафедрой дискретной математики МФТИ, профессор механико-математического факультета МГУ, руководитель исследовательской группы в Яндексе

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

Задача о справедливом дележе

Мусатов Даниил Владимирович , кандидат физ-мат наук (МФТИ, Яндекс, ЛИСОМО РЭШ, КФУ)

Всем известно, как по-честному поделить пирог на две части: один делит, другой выбирает. А что делать, если делящих больше двух? При этом у них разные вкусы и, возможно, внутри пирога есть неделимые объекты. Эту задачу можно решать на трёх уровнях: математическом, алгоритмическом и теоретико-игровом. На математическом уровне вопрос только в существовании: можно ли найти делёж, удовлетворяющий определённым свойствам? Например, можно ли добиться, чтобы каждый из n участников считал, что получил хотя бы 1/n от пирога? Или можно ли сделать так, чтобы никто не завидовал чужому куску? На алгоритмическом уровне вопрос заключается в построении протокола, выявляющего подходящий делёж. Желательно, чтобы этот алгоритм работал достаточно быстро. На теоретико-игровом уровне разбирается вопрос о том, что будет, если участники начнут отклоняться от протокола: можно ли получить больше, соврав о своих предпочтениях?

Классические методы теории кодирования

Купавский Андрей Борисович , кандидат физ-мат наук (МФТИ, Гренобль)

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

Ошибки в последовательностях

Яковлев Павел Андреевич , директор департамента вычислительной биологии, компания Биокад Еричева Елена Витальевна , старший специалист по анализу данных, компания Биокад

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