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

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

Программную платформу можно разделить на две основные части:

  • Компонент конфигурации
  • Компонент аналитики

Компонент конфигурации

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

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

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

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

Компонент аналитики

А вот и самое интересное. Данные хранятся в ElasticSearch, и их можно получить с панели инструментов Grafana или с помощью простого скрипта Python.

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

Машинное обучение для масштабируемости

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

Для этого были нарисованы два сценария:

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

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

Машинное обучение для обнаружения аномалий

Если вы когда-либо работали с машинным обучением, вы уже знаете, как важно собирать правильные данные. Для классификации полученных данных была построена сложная модель, способная предсказать, являются ли поступающие данные аномальными. Цель этой задачи — лучше понять сбои, которые произошли в прошлом, чтобы предсказать будущие осечки устройств. На рисунке ниже вы можете оценить плотность данных, отправляемых с каждого отслеживаемого устройства, где в период с мая 2021 года по июль 2021 года возникла проблема со шлюзом связи, которая вообще не вызывала передачи.

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

Проблема в том, что у вас нет метки для проверки вашей модели, поэтому для оценки модели использовались следующие стратегии:

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

Заключение

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

Ссылки

[1] «Hydrocontrol IT: попытка уменьшить потери воды в городах Италии», G. Benvenuto et al.

[2] Проект Hydro Control, платформа умного города для муниципалитета Катандзаро»