Pull to refresh

Comments 22

Интересный кейс, в книжках по ТАУ про такое не пишут.

Почему не пишут? Первый вариант с интегратором, на сколько я его понял из текста, это базовый extremum seeking. Второй вариант это (опять же, как я его понял из текста) просто численная оптимизация, которая к ТАУ имеет косвенное отношение.

Тут дело в том, что если объект представить в виде передаточной функции для того что бы анализировать в Matlab или Simulink, то как правило пропадают те реальные физические параметры объекта, которы можно менять методами оптимизации. Например для двигателя, ранее был пример передаточной функции, где ее (передаточной функции) параметры вычисляются как:
image
Если мы будем оптимизировть К гтд Т гтд в матлабе, то это нам не даст конкретных значений физических параметров объекта, типа диаметров.
Поэтому в учебниках приводят модель объекта в виде передаточных функций (как некую физическую и не изменяемую сущность) и начинают оптимизировать регулятор.
Кейс интересный, но вы не особенно представляете возможности Simulink. В нем всегда можно было оптимизировать как контроллер, так и объект, как линейный, так и нелинейный.
Это не связано с возможностями Simulink, просто как только вы представили объект в виду передаточной функции согласно методам ТАУ, у вас конструкторские параметры которые можно оптимизировать, перестали быть явными переменными в формулах. (см. комментарии выше) Например для двигателя, в статье про регулирование газотурбинного двигателя Simulink может подобрать оптимальную величину Кгтд, но каким для этого Кгтд будут величины Мт, Мк, Gto и No Simulinк и любой другой софт использующий методы ТАУ определить не сможет. Поскольку они явно не прописаны в передаточной функции. И этому же одному оптимального значению передаточной функции Кгтд может соответствовать разный набором параметров Мт, Мк, Gto и No.
Приятно видеть, что то чему учился (8 факультет МАИ) применяется для решения практических задач.
Только я не понял — предлагается динамически менять диаметр трубопровода? Задвижками?
Нет задвижками не прокатит. Задвижками можно побирать шайбы. Ставим в модель задвижку моделируем. получаем по степени открытия задвижки диаметр шайбы, для местного сопротивления. Здесь же в модели, диаметр учитывается в месте с длинной трубопоровода для расчета гидравлического сопротивления всего трубопровода. Просто в компьютерной модели есть возможность задать диаметр друбопровода не постоянным, а переменным и менять его прямо в процессе моделирования переходного процесса. Что и было продемонстрировано.
Честно говоря, с практической точки зрения задачка бессмысленна. Вязкость керосина меняется в типичном температурном диапазоне в несколько раз, плотность тоже меняется. Рассчитывать на то, что у трубопроводов будет именно такое сопротивление как в модели — очень наивно, а наличие малейших перегрузок просто ставят крест на всех этих расчётах.
Ещё забавно, что расчёт диаметров ведётся до долей миллиметра, а потом всё равно его нужно будет округлить до стандартного условного прохода (10, 12, 15, 20). Сопротивление трубопровода зависит от диаметра в пятой степени (для турбулентного режима). Так что все доли миллиметра, за которыми вы охотитесь, сжираются стандартами.
По-хорошему, если важен расход между баками, в системе должно быть регулирующее устройство, а трубы должны быть рассчитаны таким образом, чтобы просто не мешали работе регулятора. Делается это либо на бумажке, исходя из типичных для таких систем допустимых скоростей течения жидкости, либо обычным статическим расчётом гидравлического сопротивления по справочнику. Собственно, по результатам видно, что единственный динамический компонент в этой системе — регулятор настройки диаметров. Задачка выглядит надуманной.
Конечно сам задача, не реальна, просто численный эксперимент. Но модель использованая для эксперемента воплне реальная. В реальной задачи было изменение высоты полета, а так же учет всех температур, давления за бортом и т.д. и т.п. Но если посмотреть на результат, то видно что даже в такой постановке получились два характерных диаметра 10 и 15.
В реальной задаче подбирались расходы воздуха для охлаждения отсеков с аппаратурой управления при разных режимах работы, там как раз воздуховоды могут быть разными. Но там модель секретная. Поэтому эксперемент с более солжной моделью.
А в SimulationХ можно диаметры или там массу на ходу менять?
Конечно можно. При том, если менять диаметр, жидкость будет «выдавливаться» или «засасываться» из/в трубопровод, а в случае изменения массы будет учитываться придаваемое массе ускорение.
Вот про это и эксперимент, можно ли фактически менять конструкцию «на ходу» и сработают ли методы оптимизации из ТАУ на более менее реальной модели.
В целом, это ущербный метод оптимизации, т.к. в любой ситуации он моментально скатывается в локальный минимум и там остаётся. Для этой задачи он сгодился, потому что это на самом деле не оптимизация, а поиск единственного решения простенького уравнения. Можно было протестировать его на параболе, этого было бы более чем достаточно для проверки.
Почему единственного? Если начальные условия 70 мм и идти к уменьшению то найдется другое сочетаине диаметров которое обеспечит зданное сочетание расходов. Тут даже два метода дают разные наборы значений. В локальном минимуме теоретически может остатся интегратор, но поскольу их здесь шесть и они друг друга качают из-за связей между баками на графиках 6 и 7 это видно.

Тогда с чего было решено, что именно это сочетание оптимальное?

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

Эдак любой статический проектировочный расчёт можно назвать «оптимизацией».
Так расчет здесь не статический, а динамически и методы регулирования и оптимизации из ТАУ, в результате получены необходимые конструктивные размеры. Задача была проверить саму возможность. Можно сделать все трубы одинаковые, тогда заполнение баков будет не равномерное — конструкция рабочая, но не оптимальная. Поэтому как пример пойдет.

Расчёт динамический только из-за регуляторов, которыми подбираются диаметры) Можно было просто решить численно систему алгебраических уравнений. Скорее всего и сходимость была бы быстрее.

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

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

Диаметры там считаются по сути для заданных значений уровня жидкости в баках, а это типичная задачка из сборника Куколевского. Расходы там заданы, так даже метод последовательных приближений не понадобится: всё считается на листке бумаги.
Ну получилось как получилось, это же реальная система. Там 6 связанных трубопроводов при общем заданном расходе задача имеет явно не одно решение.
Sign up to leave a comment.

Articles