Развитие технологий Интернета Вещей в применении к машинно-машинному и человеко-машинному взаимодействию


Руководитель от Университета ИТМО: Шматков Владислав Николаевич

Открытых вакансий: 5

Подать заявку в этот проект

Краткая аннотация

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

Мы развиваем технологии, позволяющие по-новому взглянуть на взаимодействие окружающих нас устройств и систем. Основной набор методик и подходов в современном Интернете Вещей – граничные вычисления. Они включают в себя коммуникацию между устройствами, распределение ресурсов, а также решение сложных задач на малопроизводительных системах. Концепция граничных вычислений требует подготовки исследователей и специалистов, обладающих определёнными знаниями и навыками, а также понимаем возможного развития Интернета Вещей в будущем. Наиболее актуальные для таких специалистов технологии: компьютерные сети различных видов – проводные: Ethernet, PPPoE, беспроводные (в том числе самоорганизующиеся): Wi-Fi, Bluetooth, BLE, ZigBee; технологии обработки данных – язык Python с библиотеками для обработки данных (numpy, pandas и т.п.) и машинного обучения (sklearn); базы данных (реляционные, графовые, NoSQL); скриптовые языки программирования – Bash; системные языки программирования (C/C++, Rust); веб-технологии – язык Java на базовом уровне; сетевое и системное администрирование; электроника и электротехника на базовом уровне.

Направления работы

  1. Разработка программного обеспечения для кластера из одноплатных компьютеров для организации вычислений в «Граничном слое» Интернета Вещей с применением экспериментальной распределенной программно-аппаратной архитектуры. Проект предполагает реализацию управляющего сервера, слоя хранения и распределения данных, слой самоорганизации кластера на основе доступных устройств.
    Примеры решаемых задач:
    • Организация распределенного кластера на основе доступных устройств (ресурсов).
    • Разработка метода конфигурирования и объединения устройств для организации кластерных вычислений.
    • Анализ статических и потоковых данных с применением Машинного Обучения.
  2. Разработка системы опроса и сбора данных с устройств на базе сети LoRaWan, ZigBee, BLE и т.д. Существует огромное количество устройств, генерирующие данные, часто, эти устройства находятся в различных сетях, и организовать взаимодействие между ними не всегда возможно. Однако, данные генерируемые этими устройствами могут качественно улучшить взаимодействие с системой или дать новые знания. В данном проекте стоит задача разработать сервер опроса и взаимодействия с устройствами в гетерогенных сетях с целью их объединения в единую информационную систему с визуализацией темпоральных данных.
    Примеры решаемых задач:
    • Получение данных с устройствов, использующие различные сети коммуникации и сетевые протоколы.
    • Анализ полученных данных с использованием машинного обучения, прогнозирование.
  3. Разработка системы жестового взаимодействия с устройствами Интернета Вещей с использованием средств носимых устройств (телефон, браслеты, “умные часы”.
    Примеры решаемых задач:
    • Отдача команд на устройств для их включения / выключения.
    • Взаимодействие с информационными системами (авторизация, получение данных).
  4. Разработка системы распознавания жестов с использованием глубинных камер для взаимодействия с устройствами Интернета Вещей. Проект направлен на развитие одного из вариантов взаимодействия с окружением посредством распознавания жестов в пространстве.
    Примеры решаемых задач:
    • Cпособ взаимодействия с активными устройствами по средствам распознавания жестов.

Стек технологий

1) User and Organizations

  • Инструменты гибкой разработки (Agile)
  • Тайм-менеджмент и планирование временем

2) System Modeling

  • Системное моделирование (UML)
  • Анализ требований

3) Software Development

  • Программирование на языке Python, Java, C. а также Apache2/PHP/JS,
  • Базы Данных MySQL, innoDB, SQlite
  • Использование библиотек и платформ: Tensorflow Lite, машинного обучения (sklearn), librealsense, Spring, ReactJS.

Кем станет студент по завершению магистратуры

В зависимости от выполняемых задач внутри проекта выпускник может стать:

  • исследователем
  • системным архитектором
  • инженером-программистом
  • проектировщиком систем Интернета Вещей
  • инженером машинного обучения

Пререквизиты (входные требования)

Для участия в проекте необходимы базовые знания по следующим направлениям:

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