Регулятор: от правила к прогнозу
Когда достаточно правила, а когда нужна модель?
Для Koobique понимание физического процесса выражается в проверяемой модели с указанной областью применимости. Прогноз за её пределами требует дополнительных оснований и ограничений.
Для одной лампы конечный автомат часто оказывается лучшей первой системой. Он понятен и легко проверяется. Модель становится полезной, когда нужно учитывать собственный вклад лампы, предсказывать медленный процесс или выбирать действие с отложенным результатом.
В этой главе постепенно перейдём от порогов к обратной связи и прогнозному управлению. Каждый следующий метод должен решать конкретную проблему предыдущего, а не просто выглядеть более современным.
Koobique должен уметь связывать измерения и действия. Для этого не нужна сразу цифровая копия всего здания. Нужны небольшие модели: вклад светильника в lux, тепловая инерция комнаты, оценка присутствия, ограничение длительности включения и проверка обратной связи.
Четыре уровня интеллекта#
Первый уровень — пороговые правила с гистерезисом и выдержкой. Второй — явные автоматы состояний. Третий — оценивание параметров простых физических моделей. Четвёртый — планирование с несколькими целями и ограничениями. Языковая модель может помогать объяснению и формированию предложения, но не заменяет ни единицы, ни ограничения выхода.
Для первого кабинета достаточно первых двух уровней и нескольких исследовательских моделей третьего. Это не тупиковая архитектура: данные и версии моделей уже подготовлены к усложнению.
Свет как сумма вкладов#
Простая модель: E = Eday + k₁·u₁ + k₂·u₂ + ε, где E — lux в точке датчика, Eday — дневной вклад, u — состояние или уровень светильника, k — его измеренный вклад, ε — ошибка. Коэффициент зависит от позиции, отражений и настройки источника.
Для реле u равно 0 или 1. Для диммируемой нагрузки зависимость часто нелинейна, поэтому k·u является лишь приближением в проверенном диапазоне. Перестановка монитора или сенсора меняет модель. Если оценка дневного света ненадёжна, автоматизация должна сохранять безопасное понятное поведение, а не слепо вычитать старый коэффициент.
Температура как система с инерцией#
Уравнение C·dT/dt = P − H·(T − Tb) связывает эффективную теплоёмкость C, тепловую связь H, граничную температуру Tb и суммарный тепловой вход P. Tb может описывать коридор, соседние зоны и наружную среду через выбранную модель, а не обязательно уличный датчик. По пассивной записи при неизвестном P нельзя раздельно определить все C, H и P: это ограничение наблюдаемого эксперимента, а не недостаток оптимизатора. C представляет эффективную теплоёмкость всей выбранной зоны, включая вовлечённые в процесс массы, а не только находящийся в ней воздух. Открытое окно меняет воздухообмен и параметры модели; прежняя идентификация должна пройти проверку применимости в новых условиях.
Для постоянных параметров характерное время равно τ = C/H. Если условно C = 300 кДж/К и H = 100 Вт/К, τ = 3000 с, то есть 50 минут. Это вычислительный пример, не измеренные свойства кабинета. Он объясняет, почему опрос 100 раз в секунду не делает тепловое управление быстрее.
Дискретизация должна учитывать шаг. Грубый шаг может исказить динамику; чрезмерно малый добавит вычисления без новой информации. Для модели первого порядка при постоянных входах удобен точный экспоненциальный переход, а не только явный Euler.
Фильтр и задержка#
Экспоненциальное сглаживание yₙ = αxₙ + (1−α)yₙ₋₁ уменьшает разброс, но создаёт запаздывание. При нерегулярных данных α лучше связывать с реальным Δt и выбранной постоянной времени, а не считать одинаковым для любого интервала. Слишком медленный фильтр может скрыть быстрый отказ.
Фильтрация и safety-проверка разделяются. Невозможная температура или пропавший сенсор должны вызывать диагностическое состояние независимо от гладкой линии на графике. Raw остаётся доступным для исследования.
Гистерезис, выдержка и ручной режим#
Для релейного управления задаются два порога и минимальное время включения/выключения. Это уменьшает частое переключение при шуме. Но для освещения гистерезис не заменяет модель собственного влияния лампы, а для температуры не заменяет независимое ограничение нагревателя. Помимо гистерезиса отдельного правила нужен общий предел переходов выбранного реле и нагрузки, действующий для всех новых команд. Числа и место последнего guard у владельца GPIO фиксируются в аппаратном профиле по данным деталей и испытанию. Для лабораторного ограничения в Core явно указывается эта доверительная граница. Ручной OFF учебной лампы не задерживается симметричным cooldown; ограничение следующего ON сохраняет исходный deadline и ручные ревизии. Пока профиль не выбран и guard не проверен, предел физических переключений остаётся открытым условием постоянной эксплуатации.
ManualOverride блокирует обычную автоматику до явного освобождения в E0; временный lease — отдельное расширение E1. Освобождение ведёт к пересчёту по свежим данным, а не к исполнению очереди старых действий. Арбитр выбирает одно намерение, но локальные ограничения MCU сохраняют силу.
PID и более сложное управление#
PID имеет смысл для непрерывного регулируемого исполнительного механизма и измеряемой динамики. Для механического реле потребуются ограничения частоты, а для нагревателя — отдельная безопасность. Антиwindup нужен, когда интегральная часть продолжает расти при насыщенном выходе. Производную обычно фильтруют из-за чувствительности к шуму.
Первый световой сценарий проверяется конечным автоматом. PID можно отдельно исследовать с безопасной низковольтной нагрузкой и симулятором, если задача требует регулирования. Материалы MIT по обратной связи объясняют устойчивость, переходный процесс и цену задержки. [69]
Контроль и предложение — разные режимы#
Новая модель сначала работает в shadow mode: рассчитывает действия, но не отправляет их. Результаты сравниваются с действующей политикой и размеченными событиями. Затем включается ограниченный автоматический режим. Любое изменение цели или ограничений имеет версию и возможность отката.
Эксперимент физической модели#
Измерить освещённость до и после включения одной лампы при нескольких положениях датчика. Оценить её вклад и разброс. Переместить монитор, повторить опыт и увидеть, почему коэффициент модели должен быть связан с размещением, а не считаться постоянным свойством лампы.
Для простого реле нужен хороший автомат. Для динамики — оценщик и модель. Нейросеть добавляется, когда её преимущество можно измерить.
Лестница сложности#
Автомат состояний хранит текущий режим и разрешённые переходы. Он подходит для ручного приоритета, тайм-аутов, восстановления и простого света. Легко проверяется перебором событий, но сам не оценивает неизвестную физическую динамику.
Оценщик состояния объединяет модель изменения и измерения. Фильтр Калмана полезен при соответствующих линейных предпосылках; нелинейные варианты требуют большего внимания к модели и распределениям. Для присутствия часто удобнее дискретная скрытая модель или конечный автомат, чем формально сложный непрерывный фильтр.
Регулятор с прогнозом, MPC, сравнивает несколько будущих последовательностей действий на горизонте, выполняет только первый шаг и пересчитывает план после нового наблюдения. Приближённая модель и ограничения важнее названия алгоритма. Практические материалы по идентификации и робастному управлению дают основу для такого подхода. [110] [111]
Пример целевой функции#
Для диммируемого низковольтного светильника можно предложить:
Здесь первое слагаемое штрафует недостаток света, второе — энергию, третье — резкие изменения. Единицы и масштабы нормируем явно: нельзя складывать люксы и ватты с произвольными коэффициентами и затем называть результат объективным комфортом. Жёсткие ограничения на диапазон, перегрев и права не заменяем штрафами.
Для бинарного реле задача меняется. На коротком горизонте можно перебрать небольшой набор допустимых последовательностей с минимальным временем включения/выключения. При большом горизонте нужны другие методы, включая смешанно-целочисленную оптимизацию. OSQP решает выпуклые квадратичные задачи с вещественными переменными; бинарное реле нельзя просто выдать за поддерживаемую целочисленную переменную. [113]
Когда MPC избыточен#
Если лампа имеет одно состояние ON и стабильный вклад в свет, автомат с моделью фона, гистерезисом и паузой между переключениями может быть проще и не хуже. Мы обязаны сравнивать AI не с заведомо сломанным правилом, а с таким разумным эталоном.
Для медленной температуры прогноз может принести больше пользы: он учитывает инерцию и ожидаемое изменение условий. Но первый релейный стенд не подключается к нагревателю ради обучения. Температурный процесс сначала изучаем пассивно и в симуляции.
Робастность и ограничения#
Робастный подход рассматривает диапазон возможной ошибки модели; вероятностный — допускает описанную вероятность нарушения при определённых предпосылках. Эти предпосылки требуют проверки. Слишком широкая неопределённость может сделать задачу неразрешимой; правильный ответ тогда — отказ от плана, а не скрытое ослабление ограничений.
Control Barrier Functions позволяют формулировать условия сохранения безопасного множества в рамках заданной динамики и доступного управления. Это серьёзный математический инструмент, но не универсальная защита от неправильной модели, задержки сети или залипшего контакта. [114] Для первого кабинета независимые ограничения и локальная безопасная логика важнее формальной терминологии.
Практическая траектория#
Сначала реализуем читаемый эталон в симуляторе. Затем идентифицируем небольшую модель по разрешённому эксперименту. Проверяем прогноз на отложенных эпизодах. Только после этого сравниваем MPC, гибридную модель и более сложную политику. Для исследования доступны do-mpc и OSQP; их наличие не означает, что Python становится обязательной средой на станции. [112] [113]
Какие параметры температуры действительно можно узнать#
Если одновременно умножить C, H и неизвестный P на одно положительное число, уравнение даст ту же температурную траекторию. Поэтому из пассивной записи можно исследовать τ=C/H и равновесный сдвиг P/H, но не приписывать каждому параметру единственное физическое значение. Известный тепловой вход или дополнительные измерения меняют постановку; ради этого первый стенд не подключается к опасному нагревателю.
T_next = Tb + P/H + (T_now − Tb − P/H) · exp(−Δt/τ)
τ = C/H (постоянные P, H и Tb на шаге)Это точная дискретизация выбранной однозонной модели, не точная модель любой комнаты. Пример C=300 кДж/К и H=100 Вт/К сохраняет учебный смысл, но не выдаётся за идентифицированную теплоёмкость кабинета. Если наблюдаются быстрый воздушный и медленный строительный режимы, сравниваем 2R2C или другую модель на независимых эпизодах и штрафуем лишнюю сложность.
Прогноз и исполнитель должны совпадать по возможностям#
Для реле с двумя состояниями непрерывное решение 0,37 не исполняется как «37%». Варианты — дискретное планирование или временное пропорционирование с минимальным временем ON/OFF и проверенным ресурсом контактов; для света часто лучше хороший автомат. PID и MPC не снимают необходимость аппаратного ограничения опасной нагрузки.
В целевой функции освещения учитываем присутствие, допустимый верхний световой предел и стоимость переключений. Квадрат положительной части дефицита для QP-солвера записывается через дополнительную неотрицательную переменную с ограничением, а не передаётся как произвольная нелинейная функция. Терминальная стоимость/ограничения выбираются под задачу; учебная сумма на горизонте сама не доказывает устойчивость.
Теневой режим не измеряет неслучившийся свет#
Без вмешательства можно честно измерить время вычисления, расхождение с действующей политикой, нарушение правил допуска и совпадение с разметкой намерения. Время ON, комфорт и энергия альтернативной политики — контрфактические величины. Для них требуется модель среды с оговорённой ошибкой либо разрешённый эксперимент/A/B. Replay не создаёт настоящих последствий другой команды.