Comments 33
Мне интересно, что они имели в виду, когда устройство «скоростным козлом» называли?
Speed goat — это упрощенное название Pronghorn или Вилорога. Я думаю создатели имели в виду быстроту устройства (Вилорог — второе по скорости животное на замле, разгоняется до 70 км/ч)
Попробуйте в гугл-переводчике перевести с немецкого wolks vagen, дусаю будете тоже удивлены предложенным вариантом)))
Именно wolks vagen или вы все-таки имели в виду Volkswagen (который по правилам немецкого не может писаться раздельно)?
Учусь на кафедре систем автоматического управления, такому нас к сожалению не учат) Спасибо, очень интересно.
Может быть, заканчиваю третий. Было и ТАУ и мат. обеспечение цифровых систем управления, и еще куча всего, но большего чем посмотреть каждое звено в симулинке не было. Хотя вру, собирали звенья на стендах годов 60-х. Это когда куча из 30 студентов отвоевывает работающие провода чтобы проверить работает ли стенд на котором теоретически можно выполнить лабу. Все грустно в общем. Все финансирование идет мимо нашей кафедры.
Пробуйте самостоятельно. Из инвентаря требуется только комп. Матлаб в помощь — очень мощный инструмент. Тут можно и систему просимулировать во времени, и графики передаточных функций построить, и корни посчитать, и даже синтезировать оптимальный регулятор с помощью очень сложных методов ТОУ, которые даются пользователю практически в виде черного ящика (Contol Systems Toolbox).
Здорово! Очень интересно. Получается, что вы идентифицировали эту систему как линейную, с добавкой «мертвой зоны», и все? А как же задержка? Она, должно быть, выступает в виде отдельного множителя передаточной функции? А то там и в сотню параметров идентификация не уложилась бы.

Было бы интересно также почитать и посмотреть, как вы впоследствии управляете данным объектом после идентификации. Насколько точное управление достигается? Применяется ли теория оптимального управления?

И еще, может из практики своей расскажете. Насколько критично при управлении такими объектами то, что их параметры не всегда точно определены или имеют дрейф во времени? Была ли когда-нибудь необходимость создавать адаптивные системы управления, отслеживающие дрейф параметров объекта и т.д.?
О, какой большой комментарий! Спасибо!

Я пока кратко, а через часиков 9 постараюсь более подробно.

1. Задержка учтена, гляньте еще на первый случай с передаточной функцией. Согласен, нужно подробней расписать — ждите апдейт.

2. Это проще показать, в следующих постах обязательно.

3. Адаптивность — капризная вещь! Более популярным методом, я думаю, является метод управления с предсказанием. Model predictive control.
Кстати, инструмент, о котором я писал кроме модели идентифицирует еще и шумы и доверительные интервалы парасетров. Эти данные можно применять в построении робастых систем, в том числе и с плывущими параметрами.
Адаптивность — капризная вещь!

Вы просто не умеете ее готовить. :) Ну или не к тем задачам прикладываете.

Более популярным методом, я думаю, является метод управления с предсказанием. Model predictive control.

Мне кажется, некорректно противопоставлять MPC и Adaptive control, эти подходы решают существенно разные задачи. Так, при MPC, на сколько я помню, базовой гипотезой является знание параметров системы, это позволяет делать предсказания и оптимизацию. При адаптивном же, как и при робастном, управлении параметры считаются неизвестными или известными неточно. Поэтому возможно, например, сочетание подходов: adaptive MPC, robust MPC.
Вы просто не умеете ее готовить. :) Ну или не к тем задачам прикладываете.

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

Предложите пожалуйста пример использования адаптивного алгоритма управления в месте, где он очень кстати.
Мне, да и другим читателям, это будет крайне интересно.

При адаптивном же, как и при робастном, управлении параметры считаются неизвестными или известными неточно.

Тогда применение адаптивности допустимо в системах, которые априори робастые. Чтобы первая же итерация адаптации не привела к аварии.
В случае же с MPC адаптация управляющих сигналов производится на модели системы, и только в случае безопасного моделирования ситуации происходит подача их на объект управления.

Жду ответ, с нетерпением!
Адаптивность должна быть подкреплена большим фундаментом знаний о возможном поведении системы и поведении самого алгоритма оптимизации.

Возможно, у нас терминологические разночтения. Что вы имеете ввиду под алгоритмом оптимизации при адаптивном управлении? Нет там такого.
Кстати, я не думаю, что объем знаний о поведении системы для адаптивного управления должен быть больше, чем для того же MPC. Наверное, даже меньше.

Тогда применение адаптивности допустимо в системах, которые априори робастые.

Опять, возможно разночтения в терминологии. Что значит «априорно робастные» системы? Вроде как, именно конкретный закон управления делает систему робастной или неробастной. О какой априорности идет речь?

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

Предложите пожалуйста пример использования адаптивного алгоритма управления в месте, где он очень кстати.

Легко. :) Очень много в акустике — компенсация шумов, подавление эха и все остальное в области Active Noise Control. Далее, родственные акустике задачи — активная виброзащита, компенсация возмущений. Управление морскими судами, компенсация качки. Управление впрыском в двигателях внутреннего сгорания. Контроль температуры в автоматизированных теплицах. Это только те задачи, которыми я занимался или которыми занимались мои коллеги, а если смотреть на литературу, то их там сотни. :)
Ах да, совсем забыл. Адаптивные системы еще используются в жестких дисках и в приводах CD. Опять же, для компенсации возмущений. Лично этой проблемой не занимался, но знаю того, кто занимался. Если не путаю, то совместно с WD.
Так-же, как представленный мною процесс не является в чистом роде «черным ящиком», так и представленные Вами примеры не являются полностью адаптивными.
Если уж есть разночтения, то в слове адаптация.

gain scheduling — по сути просто переключение между заранее определенными контроллерами для различных операционных точек.
Система управления впрыском основана на таблицах калибровок, на основе которых она выбирает уже конкретные параметры тех же ПИД регуляторов. Таблицу мы получаем в процессе калибровки двигателя, либо его статистической модели до реальной эксплуатации.

В моем понимании адаптивность — это изменение параметров либо структуры системы управления в зависимости от измеряемых параметров объекта управления либо же качества управления без предопределенности, когда инженер заранее не задает все возможные сценарии развития событий. Машинное обучение + нейронные сети — это адаптивность. В особенности, если обучение происходит во время рабочего режима системы.

Мне кажется, некорректно противопоставлять MPC и Adaptive control, эти подходы решают существенно разные задачи.

Вот я и имел ввиду, что необходимо использовать scheduled model predictive control. И знать все возможные повороты судьбы)))
К остальным примерам, кроме ДВС, вопросов нет? Хорошо. Поясню по gain scheduling и впрыску.

gain scheduling — настолько традиционный пример адаптивной системы, что с него начинаются фундаментальные учебники по адаптивному управлению. Да, это не то, что сейчас на острие научных исследований, но так я и сказал — середина прошлого века, одно из первых практических применений.
калибровочные таблицы для ДВС — это как раз пример gain scheduling. Но в разработке у производителей двигателей находятся более современные адаптивные системы управления впрыском, основанные на непрямой адаптации. Могу говорить про General Motors, где эти системы прошли испытания на Chevrolet Tahoe и еще каком-то.
Небольшой апдейт по Вашему комментарию в теле топика.
Задержка важна, благодарю за уточняющие вопросы!
Очень интересно было бы почитать про нестандартные регуляторы, не простые ПИД (о них уже есть несколько поучительных статей на хабре), а, например, с моделью, с предсказанием, адаптивные опять же.
с моделью, с предсказанием


Это как раз Model predictive control, о котором я упомянул выше.

Идея следующая:

1. Есть линейная модель объекта управления, или же линеаризованная для работы в определенной операционной точке.
2. Есть ограничения по величинам в системе, которые нельзя нарушать.
3. На каждом шаге работы системы выполняется оптимизация, во время которой определяется набор управляющий воздействий, которые не нарушают ограничений и обеспечивают оптимальный переходной процесс. Все это проверяется на модели, и, в случае удачи, подается на актуаторы.
4. Проблема с сильно нелинейными системами решается объединением множества таких регуляторов для работы на множестве операционных точек и линеаризизованных моделей системы. Главное вовремя их переключать и обеспечить гладкость управляющих величин во время переключения.

Данный подход завоевал популярность в «медленных» системах, в основном химическая промышленность и энергетика. Но с теперишними возможностями встраиваемых систем он начинает завоевывать такие обсасти, как авиация.

С помощью такого подхода легко решаются проблемы управления систем с множеством связанных каналов управления и зависимых величин внутри системы. Например, химический реактор — концентрация, объем и температура реагентов часто очень зависят друг от друга, и ПИД здесь не обойтись.
Спасибо, интересный пост.
Но, я почти уверен, что у вас таки серый ящик. Вы, на основе знания (упрощенной) физической модели объекта, задаете порядок системы и отсутствие нулей передаточной функции. В случае с черным ящиком такой информации у вас нет, вы даже порядок системы в общем случае не знаете. Как, например, вы бы провели эксперименты на упомянутом вами химическом реакторе, а потом пытались описать его чисто линейной моделью.
Я согласен с Вами, в апдейте к топику я отметил, что:
Несмотря на то, что это «черный ящик» — на практике получение адекватного результата очень зависит от колличества знаний о системе, которые Вы вложили в конфигурацию расчета.


Предположим на начальном этапе я ничего не знаю о системе.
Но первое суждение о порядке модели я могу сделать основываясь на характере переходного процесса после первого эксперимента. Да оно может быть ложным, но все же. Все последующие итерации да, являтся не чисто «черными».

Так что ящик может считаться «идеально черным» только до первого эксперимента с ним.

Я описал две итерации работы над системой. Но вполне возможно написать скрипт для автоматизации данного процесса и запустить его на ночь — пусть перебирает варианты и ищет оптимальный. Все зависит от сложности поставленной задачи.

Благодарю за хороший комментарий!
Вы совершенно правы, при идентификации чистого черного ящика часто «перебирают» модели разных порядков, выбирая некоторый подходящий порядок на основе штрафов за размерность, регуляризаций и т.п. Identification Toolbox, например, умеет это делать, все-таки Льюнг не только тулбокс написал, но еще он один из ведущих ученых в области идентификации.
Но вы же этого не делаете. Вы точно знаете, что у вас именно двигатель, так что вы ищете параметры конкретной передаточной функции. Это самый что ни на есть серый ящик.

PS: Вы по взгляду на переходный процесс отличите 5-ый порядок от 4-го? Наличие двух нулей в системе от трех? :)
О любой системе из реального мира невозможно сказать, что она имеет конкретный порядок ввиду бесконечного множества влияющих факторов и размытой границы понятия системы вцелом. Ну вот маятник, к нему прибавляем воздух, а потом еще магнитное поле Земли, и так до бесконечности.
Вопрос в необходимой, а точнее достаточной точности идентификации.

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

PS: Вы по взгляду на переходный процесс отличите 5-ый порядок от 4-го? Наличие двух нулей в системе от трех? :)

Недостаточно исходных данных))) Взаимное расположение крайне важно!
Так ведь идентификация системы по ее достаточно точной, но не избыточной физической модели, — это же и есть серый ящик. Именно это вы и делаете. Хороший ящик, только черным его называть не надо. :)
Хотелось бы увидеть статьи не только управления сложными объектами, но и опрос таких вот «сложных» объектов (датчиков). Синтез фильтров под конкретные задачи, да и в общем что нибудь про ЦОС.
ЦОС — это не совсем ТАУ. Где-то у них есть общие методы, передаточные функции, но этим все исчерпывается. Так что, если вас интересует ЦОС — то лучше читать конкретно про ЦОС!
Так мне интересны и ЦОС и ТАУ. Моя специальность связана с автоматизацией, и было очень печально разбираться в курсе ЦОС (когда это понадобилось) которого вообще не было в универе, а теорию ТАУ скручивать в голове с реальными объектами. С техническим оснащением кафедры случай похожий. Крутились как могли.
Ох, спасибо за ностальгию, как раз диплом в былые годы защищал в рамках дисциплины ИДС
Only those users with full accounts are able to leave comments. Log in, please.