Россия
Целью исследования является разработка методов улучшения характеристик существующих систем отопления за счет применения нового алгоритма управления, основанного на параллельном принципе работы и использующего нейросетевые технологии. Предлагаемый способ управления предусматривает анализ специальной компьютерной программой матриц признаков, состоящих как из управляющих воздействий, так и результирующих картинок. Компьютер, которому заранее известно соответствие разных картинок разным режимам, выбирает соответствующий режим на основе изображения, поступающего на вход программы. Этот режим может быть подобран таким образом, что затраты энергии при обеспечении тех условий, которые необходимы пользователю, будут минимальны. Разработано приложение, применяющее нейросетевой алгоритм, с возможностью изменения параметров настройки. Подготовлены наборы изображений с указанием принадлежности к классам по характерным признакам (датасеты), на которых проведено обучение и тестирование нейронной сети. Выполнено более 600 экспериментов с отличающимся количеством эпох обучения. Исследовано влияние количества эпох на средний процент распознавания изображений температурных режимов здания. Для демонстрации возможности реализации предложенного алгоритма были разработаны архитектура системы управления и распределенное приложение, состоящее из главной управляющей программы с человеко-машинным интерфейсом и удаленного веб-приложения, имеющего человеко-машинный интерфейс и микросервис с точкой доступа. Был изготовлен макет здания с подключенной системой управления температурным режимом помещений. Проведенные эксперименты подтвердили эффективность работы предложенного способа управления. Данная технология предусматривает возможность перехода от управления одним зданием к управлению массивом зданий без изменения настроек управления отдельных зданий. Использование этого способа повысит удобство управления, комфортность условий проживания людей и снизит потребление энергии на отопление.
отопление помещений, контроллер, алгоритм управления, нейронная сеть, распознавание изображений, человеко-машинный интерфейс
Введение
От принципа работы автономной системы управления отоплением здания может зависеть комфортность пребывания в нем людей, экономичность системы по затратам энергии, при соблюдении условий, необходимых пользователю, быстрота перенастройки исполнительных устройств на требуемый режим и время переходных процессов при смене режимов, удобство использования системы, точность регулировок и множество других характеристик. В связи с этим можно утверждать, что построение правильного алгоритма управления системой отопления является актуальной задачей.
Существует множество подходов к построению систем управления технологическим оборудованием [1, 2], нашедших свои области применения. Различным концепциям поиска алгоритмов моделей систем, основанных на компьютерном управлении, посвящена работа [3]. Анализ существующих систем управления показал, что имеются возможности совершенствования таких систем с целью повышения экономии энергии.
В основном в существующих системах управления отоплением используются термостаты (твердотельные, газовые или жидкостные), устанавливаемые непосредственно на отопительные приборы и не требующие питания, и контроллеры – приборы, поддерживающие температурный режим помещений в основном с помощью типового алгоритма регулирования (например, ПИД). Иногда применяются
и другие альтернативные алгоритмы, например, основанные на fuzzy logic (нечеткой логике) [4].
Основной целью работы является улучшение характеристик существующих систем отопления за счет применения нового алгоритма управления, основанного на параллельном принципе работы и использующего нейросетевые технологии.
Архитектура системы управления и алгоритм работы
Вся система управления состоит из трех уровней: компьютерного, удаленного и уровня взаимодействия с оборудованием (рис. 1).
Компьютерный уровень включает интеллектуальную часть, реализованную в виде блока искусственного интеллекта (БИИ), в задачу которого входит обработка картинок при помощи нейросетевой технологии. Картинка и соответствующая ей матрица чисел К могут вводиться пользователем через человеко-машинный интерфейс (ЧМИ). Картинки настраиваются с помощью движков слайдеров, отвечающих за температуры некоторых конкретных точек помещений (контрольных точек). Закрашенные квадраты можно интерпретировать как отдельные помещения здания и как зоны одного помещения, разделенные перегородками, что определяется целями управления и конкретным расположением датчиков и исполнительных механизмов. Эти квадраты будут называться областями контроля или контрольными точками.
На картинке пользователем указывается базовая (наиболее приоритетная) контрольная точка (например, точка контроля температуры воздуха помещения или температуры теплого пола).
Картинке К соответствует определенный набор положений (степеней открытия) кранов, уровень мощности котла, уровни других управляющих воздействий, например скоростей вращения циркуляционных насосов, и т. д. Совокупность всех управляющих факторов, соответствующих определенной картинке, будет называться режимом и может быть сопоставлена одномерному массиву чисел (вектору В). Значения вектора В для матрицы К определяются экспериментально. Для каждого заранее полученного режима будут измерены опытным путем различные показатели, в том числе показатели энергоэффективности отопления.
Рис. 1. Схема системы управления отоплением
Fig. 1. Diagram of the heating control system
Если строится не вся картинка, а только часть, то такой неполной картинке будет соответствовать несколько режимов, среди которых будут как более, так и менее энергоэффективные. Имея в своей памяти достаточное количество возможных режимов, компьютер сможет «достроить» картинку, выбирая более предпочтительный режим, причем с применением обученной нейронной сети компьютер сможет выбрать подходящий режим, даже если у него в памяти нет картинки с точно такими же значениями температур в конкретных точках.
Предлагаемый алгоритм применения управления в данной системе может быть описан следующим образом.
Пользователь создает картинку, где указывает желаемое распределение температур. Это небольшая цветная картинка. Компьютер, которому заранее известно соответствие разных картинок разным режимам, «видя» эту картинку, выбирает подходящий режим. Этот режим может быть подобран таким образом, что затраты энергии при обеспечении тех условий, которые необходимы пользователю, будут минимальными.
Таким образом, данный алгоритм обеспечивает, во-первых, автоматическое определение подходящего вектора В по матрице К (даже если она была ранее неизвестна компьютеру), во-вторых – автоматический переход с одного В на другой В при изменении неуправляемой части К под воздействием неуправляемых факторов (например, температуры окружающей среды).
Разработка и испытание блока искусственного интеллекта
В данной системе возможны два варианта регулирования. Первый вариант (основной) – пользователь с помощью компьютера выставляет температуры в помещениях, а контроллеры их поддерживают. Второй вариант (с применением методов искусственного интеллекта) – пользователь задает примерный режим, а программа подбирает и настраивает наиболее подходящий.
Пользователь вводит картинку с помощью движков слайдеров или непосредственно вводом цифр.
Изображение картинки не обязательно должно что-то обозначать. Но затемненные участки, имеющие более низкую температуру, могут быть похожи на какую-то фигуру. Это может быть буква или какой-нибудь символ. Если все имеющиеся картинки похожи на символы нескольких типов, то появляется возможность разбить все режимы на эти несколько типов, называемых классами. На данном этапе участвует человек. Именно он определяет, к какому классу отнести картинку из имеющегося набора. В дальнейшем, когда на вход компьютера поступит еще не известная ему картинка, он, полагаясь на полученные коэффициенты обученной нейронной сети, тоже сможет отнести новую картинку к определенному классу. А среди режимов данного класса, полученных заранее опытным путем, компьютер найдет наиболее подходящий по энергоэффективности или по другому критерию.
Таким образом, работа БИИ основана на ассоциативной логике. Если картинка на что-то похожа, то соответствующий режим и будет выбран. Такой вариант регулирования, хотя и не обладает точностью задания температуры во всех контрольных точках, обеспечиваемой непосредственным заданием температур, тем не менее, может помочь пользователю быстро, правильно и, что немаловажно, параллельно (одновременно) установить в системе весь набор управляющих воздействий (сопоставляемый с некоторым массивом чисел – вектором В). В этом случае требуется определить только базовую точку, а соотношение температур в остальных точках будет поддерживаться в автоматическом режиме в соответствии с формой символа и найденным лучшим среди других, соответствующих этой форме, режимом.
Допустим, имеется множество несколько отличающихся режимов, один из которых представлен на рис. 2.
Рис. 2. Температурные режимы, введенные в компьютер
Fig. 2. Temperature conditions entered into the computer
Представленные режимы можно отнести к режиму С, т. к картинка похожа на букву С. Из режимов С можно выбрать более предпочтительный по расходу энергии – эталонный режим.
Теперь картинка передается на вход БИИ. Если она будет отнесена к режиму С, то будет выбран эталонный С-режим. Блок искусственного интеллекта компьютерного уровня должен, используя алгоритм нейронной сети, решить задачу распознавания картинки и отнесения ее к определенному классу. В основе метода поиска класса, к которому будет отнесена поданная на вход БИИ картинка, лежит известный алгоритм обратного распространения ошибки, который еще называют методом градиентного спуска.
Работа с искусственной нейронной сетью состоит из двух этапов: обучение и тестирование. Для обучения используется набор картинок с указанием класса, к которому они принадлежат. Для проверки обучения создается набор картинок, называемых тестирующей выборкой. Эти картинки сеть самостоятельно должна отнести к одному из классов.
Приложение для обучения нейронной сети
Для испытания и отладки БИИ было реализовано приложение, реализующее однослойную нейронную сеть. Разработка велась на языке С#, в среде разработки MS Visual Studio. В качестве шаблона создаваемого проекта был принят шаблон «Приложение Windows Forms (.NET Framework)».
Приложение позволяет задать некоторые параметры, которые могут повлиять на скорость и точность вычислений: N – число нейронов промежуточного слоя; Epoch – количество эпох (обучающих прогонов программы); Lr – шаг по антиградиенту (параметр метода градиентного спуска); MaxErr – минимальное значение суммарной ошибки по эпохе, при достижении которого программа останавливается и выдает результат текущей эпохи, не переходя к оставшимся эпохам.
Также можно задать файл для обучения и файл для теста. На каждом прогоне получается определенный набор коэффициентов нейронной сети (синапсов). При каждом следующем прогоне учитываются результаты, полученные на предыдущем, и вычисляются более точные значения синапсов. Было создано и записано в файл 45 полутоновых изображений 6 × 6, по 15 каждого класса (обучающая выборка). Всего было 3 класса изображений. Кроме того, создано еще по 10 изображений для каждого класса, которые записаны в другой файл (тестовая выборка).
Изображение распределения температур в объекте регулирования в виде буквы С, создаваемое в программе Paint, представлено на рис. 3.
Рис. 3. Создание изображения распределения температур в объекте регулирования в виде буквы С в программе Paint
Fig. 3. Creating an image of the temperature distribution in the control object in the form of the letter C in the Paint program
Пользователь системы управления работает с цветной картинкой. Но перед подачей на вход нейросетевого блока изображение преобразуется с помощью специального алгоритма в полутоновое. Был получен следующий целочисленный массив, соответствующий этому изображению:
[[135 123 123 123 123 123] [123 142 175 148 192 192] [123 186 192 192 192 183] [123 190 192 192 192 192] [123 156 192 192 192 192] [123 123 123 123 123 123]].
Массив для изображения на рис. 3 (в центре):
[[135 123 123 123 123 123] [123 142 175 148 123 123] [123 186 192 192 192 183] [123 190 192 192 192 192] [123 156 192 192 192 192] [123 123 123 123 123 123]].
Таким же образом все файлы изображений преобразовывались в массивы. Затем из этих массивов собирались файлы для обучения и для теста.
В результате было создано два файла: my_LearningOLC.txt для обучающей выборки и my_Test OLC.txt для тестовой выборки, проведено обучение нейронной сети на обучающей выборке.
На рис. 4 представлен график удельных ошибок (ось ординат) в зависимости от номера эпохи (ось абсцисс) при обучении нейронной сети, при количестве эпох, равном 100.
Рис. 4. Изменение средней ошибки в зависимости от эпохи обучения
Fig. 4. The change in the average error depending on the learning period
Под удельной ошибкой понимается среднее значение среди всех квадратов отклонений элементов выходного массива нейронов от значений, установленных человеком.
В данном случае для обучения использовалось 45 изображений трех классов. Количество нейронов на выходном слое равно 3, т. к. всего 3 класса изображений, в виде буквы О, в виде буквы L и в виде буквы С. То, что это именно буквы, задано для простоты. Можно было разграничивать классы и не по принадлежности к буквам, а, например, по принадлежности к чему-то другому. Так, можно было бы сравнивать по попаданию каких-то конкретных участков, имеющих свои «координаты» в массиве картинок, в определенный диапазон температур и т. д. Но смысл предлагаемой технологии состоит в том, что задействуется ассоциативная логика. Разбиение на классы обучающей выборки производит человек на основе тех ассоциаций, которые вызывают у него картинки.
Предположим, что взята картинка 6 × 6 пикселей. Тогда количество входных нейронов – 36, количество выходных – 3. Допустим, эта картинка относится к классу 3. Тогда в идеальном случае после проведения расчетов значения выходного вектора будут [0, 0, 1].
Допустим, в реальности получилось [0,2; 0,3; 0,6]. Тогда ошибка по данной картинке будет
(0,2 – 0) · (0,2 – 0) + (0,3 – 0) · (0,3 – 0) + (0,6 – 1) · (0,6 – 1) = 0,29.
На рис. 5 (в центре) представлено изменение значения элементов массива EEE (средних ошибок по эпохам), элементы которого вычисляются по формуле
EEE[i] = EE / Z,
где i – номер эпохи (эпоха – прохождение всех Z картинок один раз); EE – суммарная ошибка по всем Z картинкам по всем трем нейронам выходного слоя; Z – количество картинок в обучающей выборке.
На рис. 5 приведен результат работы программы для 5-го изображения из тестовой выборки, состоящей из 30 изображений. Изображения, относящиеся к классу, соответствующему символу в виде буквы О, обведены рамкой.
Рис. 5. Индивидуальное исследование 5-й картинки набора из 30 картинок
Fig. 5. Individual study of the 5th picture of a set of 30 pictures
В поле «Выходной слой» показаны уровни активности выходного слоя, т. е. значения, полученные для каждого выходного нейрона. Видно, что уровень активности составил для первого нейрона более чем 0,899, что значительно превосходит уровни активности для второго и третьего нейрона. В данном случае это означает, что программа отнесла изображение к нулевому классу, т. е. к O-классу, а не к L-классу и не к C-классу (в программе классы пронумерованы от нуля). Для данной обучающей выборки было проведено более 600 экспериментов с отличающимся количеством эпох. В таблице показано влияние количества эпох обучения нейронной сети на средний процент распознанных изображений температурных режимов помещений.
Влияние числа эпох на процент распознавания температурных режимов помещений
Число эпох |
Число |
Минимальное значение |
Шаг по |
Число |
Число |
10 |
10 |
0,1 |
0,3 |
30 |
17 |
50 |
43 |
||||
100 |
75 |
||||
250 |
97 |
||||
500 |
100 |
Главная управляющая программа
Для управления данной системой была разработана программа (главная управляющая программа), содержащая пользовательский интерфейс для возможности контроля и настройки температур
в помещениях здания.
Для работы с данными применялась локальная СУБД MS SQL Server Express Compact Edition. На рис. 6 показаны вкладки «Залы» и «План музея» главной управляющей программы.
Рис. 6. Вкладки «Залы» и «План музея» главной управляющей программы
Fig. 6. Tabs Halls and Museum plan of the main control program
На вкладке «План музея» изображены залы с отображением средних по залам температур.
Приложение удаленного уровня
Для возможности удаленного управления системой отопления было создано веб-приложение, ориентированное на размещение на платформе PaaS. Разработка веб-приложения велась с применением технологии Node.js. Для backend-разработки применялась технология Node.js c фреймворком Express.
На начальном этапе разработки, для принципиального испытания технологии, был использован инструмент, предоставляемый Node.js для реализации функциональности работы одностраничного приложения. Сама страница была реализована с помощью HTML, CSS, bootstrap. Возможно также применение специализированных движков представлений (шаблонов), с которыми может работать платформа Node.js, таких как Pug, Handlebars и др.
Приложение содержит файл package.json для управления конфигурацией проекта с помощью менеджера пакетов npm.
Для хранения информации о залах на удаленном
сервере, для экспериментальных целей, подготовлен файл rooms.json, содержимое которого отображено ниже. Данные представлены в формате JSON.
[{“id”: 1, “name” : “Большой зал”, “temp”: 37},
{“id”: 2, “name” : “Естественно-научный зал”, “temp” : 20},
{“id”: 3, “name” : “Зал декоративно-прикладного искусства”, “temp” : “26”},
{“id”: 4, “name” : “Зал палеонтологии”, “temp” : “26”},
{“id”: 5, “name” : “Зал нумизматики и фалеристики”, “temp”: “26”}]
Получение информации по конкретному залу возможно через API веб-приложения. Если при испытаниях на локальном компьютере в адресной строке браузера ввести строку http://127.0.0.1:3000/
api/rooms/3, то будет получена следующая строка ответа сервера: {“id” : 3, “name” : “Зал декоративно-прикладного искусства”, “temp” : “26”}.
Фактически главная программа периодически связывается с удаленной. Если были изменения в параметрах, то новые значения считываются. Если было изменение состояния системы, то новые показатели состояния передаются удаленной программе и записываются в удаленные хранилища.
В данной схеме управления сигналы с датчиков не сразу передаются на логические элементы контроллера, а сначала поступают в цифровом виде на управляющую программу для обработки. Программа задействует свой алгоритм для подачи сигналов на логические элементы контроллеров. Контроллеры в процессе работы обмениваются данными с компьютером. Модуль контроллера источника тепла (котла) выполнен в виде блока Arduino UNO на основе микроконтроллера ATmega328P.
На рис. 7 показана экспериментальная установка, представляющая собой макет здания с установленными датчиками и нагревательными приборами, и процесс измерения температуры и влажности воздуха с помощью датчика DHT11 и платы Arduino UNO.
а б
Рис. 7. Процесс измерения и поддержания заданной температуры с помощью датчика DHT11 и платы Arduino UNO:
а – экспериментальная установка; б – электронная плата с микроконтроллером
Fig. 7. The process of measuring and maintaining a set temperature using the DHT11 sensor and the Arduino UNO board:
а – model of a building; б – electronic board with microcontroller
Программируемый отладочный комплекс Arduino хорошо себя зарекомендовал, особенно для реализации опытной версии системы. В производственных версиях могут использоваться более специализированные контроллеры. Примеры применения Arduino в системах отопления встречаются в работах многих авторов, например в [2, 5].
Заключение
Новизна работы заключается в создании способа управления отоплением, основанного на матричном регулировании. Предложен новый базовый алгоритм для построения систем управления отоплением, основанный на распознавании изображений. Разработано приложение, применяющее нейросетевой алгоритм, на котором проведено обучение нейронной сети. Было установлено, что обученный компьютер средней мощности в течение долей секунды определяет, к какому классу принадлежит полутоновое изображение, имеющее характерные признаки данного класса.
Для демонстрации возможности реализации предложенного алгоритма была разработана архитектура системы управления и распределенное приложение, состоящее из главной управляющей программы с ЧМИ и удаленного веб-приложения, имеющего ЧМИ и микросервис с точкой доступа.
Был изготовлен макет здания с подключенной системой управления температурным режимом помещений. Проведенные эксперименты подтвердили эффективность работы предложенного способа управления.
Применение разработанной технологии матричного управления позволит:
– повысить удобство управления системой отопления;
– повысить комфортность условий нахождения людей в помещении;
– снизить расход энергии на отопление;
– при использовании совместно с типовыми системами управления – расширить возможности регулирования.
1. Поляков С. И., Акимов В. И., Полуказаков А. В. Моделирование системы управления отоплением «умного» жилого дома // Моделирование систем и процессов. 2020. Т. 13. № 1. С. 68–76. DOI:https://doi.org/10.12737/2219-0767-2020-13-1-68-76.
2. Билалова Б. Б., Хусаинова Н. Т. Автоматизация коллекторной системы отопления в многоквартирном доме на базе микроконтроллера Arduino // Инструментальные методы и техника экспериментальной физики: материалы 54-й Междунар. науч. студенч. конф. МНСК-2016 (Новоси-бирск, 16–20 апреля 2016 г.). Новосибирск: Изд-во Новосиб. национ. исследоват. гос. ун-та, 2016. С. 20.
3. Балаганский А. Ю. Способ управления отоплени-ем дома c применением методов машинного обучения // Программно-техническое обеспечение автоматизированных систем: материалы Всерос. молодеж. науч.-практ. конф. (Барнаул, 09 декабря 2021 г.). Барнаул: Изд-во Алтайс. гос. техн. ун-та им. И. И. Ползунова, 2021. С. 32–37.
4. Ералинова Г. М., Оразбаев Б. Б., Бражанова Д. К. Исследование и разработка системы автоматического регулирования и кондиционирования воздуха на основе Fuzzy Logic // Вестн. Алмат. ун-та энергетики и связи. 2023. № 1 (60). С. 29–43.
5. Kabanov O. V., Panfilov S. A., Sergushina E. S., Lomshin M. I. Method for determining the thermophysical properties of a construction object // International Transac-tion Journal of Engineering, Management, & Applied Sci-ences & Technologies. 2019. V. 10. Iss. 16. P. 1–12.