Развитие технологий Интернета Вещей в применении к машинно-машинному и человеко-машинному взаимодействию
Руководитель от Университета ИТМО: Шматков Владислав Николаевич
Открытых вакансий: 5
Краткая аннотация
В современном мире технологии Интернета Вещей окружают нас во всех сферах деятельности, будь то поиск в Интернете, социальные сети или взаимодействие с окружающим миром. Различные устройства (виртуальные/реальные) постоянно взаимодействуют с человеком или друг другом, формируя огромные системы, генерирующие информационные потоки, анализ которых позволяет взглянуть по-новому на различные сферы.
Мы развиваем технологии, позволяющие по-новому взглянуть на взаимодействие окружающих нас устройств и систем. Основной набор методик и подходов в современном Интернете Вещей – граничные вычисления. Они включают в себя коммуникацию между устройствами, распределение ресурсов, а также решение сложных задач на малопроизводительных системах. Концепция граничных вычислений требует подготовки исследователей и специалистов, обладающих определёнными знаниями и навыками, а также понимаем возможного развития Интернета Вещей в будущем. Наиболее актуальные для таких специалистов технологии: компьютерные сети различных видов – проводные: Ethernet, PPPoE, беспроводные (в том числе самоорганизующиеся): Wi-Fi, Bluetooth, BLE, ZigBee; технологии обработки данных – язык Python с библиотеками для обработки данных (numpy, pandas и т.п.) и машинного обучения (sklearn); базы данных (реляционные, графовые, NoSQL); скриптовые языки программирования – Bash; системные языки программирования (C/C++, Rust); веб-технологии – язык Java на базовом уровне; сетевое и системное администрирование; электроника и электротехника на базовом уровне.
Направления работы
- Разработка программного обеспечения для кластера из одноплатных компьютеров для организации вычислений в «Граничном слое» Интернета Вещей с применением экспериментальной распределенной программно-аппаратной архитектуры.
Проект предполагает реализацию управляющего сервера, слоя хранения и распределения данных, слой самоорганизации кластера на основе доступных устройств.
Примеры решаемых задач:- Организация распределенного кластера на основе доступных устройств (ресурсов).
- Разработка метода конфигурирования и объединения устройств для организации кластерных вычислений.
- Анализ статических и потоковых данных с применением Машинного Обучения.
- Разработка системы опроса и сбора данных с устройств на базе сети LoRaWan, ZigBee, BLE и т.д.
Существует огромное количество устройств, генерирующие данные, часто, эти устройства находятся в различных сетях, и организовать взаимодействие между ними не всегда возможно. Однако, данные генерируемые этими устройствами могут качественно улучшить взаимодействие с системой или дать новые знания. В данном проекте стоит задача разработать сервер опроса и взаимодействия с устройствами в гетерогенных сетях с целью их объединения в единую информационную систему с визуализацией темпоральных данных.
Примеры решаемых задач:- Получение данных с устройствов, использующие различные сети коммуникации и сетевые протоколы.
- Анализ полученных данных с использованием машинного обучения, прогнозирование.
- Разработка системы жестового взаимодействия с устройствами Интернета Вещей с использованием средств носимых устройств (телефон, браслеты, “умные часы”.
Примеры решаемых задач:- Отдача команд на устройств для их включения / выключения.
- Взаимодействие с информационными системами (авторизация, получение данных).
- Разработка системы распознавания жестов с использованием глубинных камер для взаимодействия с устройствами Интернета Вещей. Проект направлен на развитие одного из вариантов взаимодействия с окружением посредством распознавания жестов в пространстве.
Примеры решаемых задач:- 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
- базовое понимание принципов работы компьютерных сетей