После создания статистических моделей, соответствующих данным, можно использовать их в оптимизации. Можно использовать точную статистическую модель двигателя, чтобы заменить высокоточную симуляцию и запустить намного быстрее, что позволяет оптимизировать, чтобы сгенерировать калибровки в допустимое время.
Запустите оптимизацию, чтобы выбрать, использовать ли Pilot Injection в каждой рабочей точке.
Оптимизируйте расход топлива в течение цикла привода и удовлетворите этим ограничениям:
Ограничение общего количества NOx
Ограничение скорости турбонагнетателя
Ограничение гладкости таблиц
Заполните интерполяционные таблицы для всех входов управления.
Чтобы выполнить оптимизацию, необходимо импортировать статистические модели, созданные ранее в Model Browser.
В MATLAB®на вкладке Apps, в группе Automotive, нажмите MBC Optimization.
Чтобы увидеть, как импортировать модели, на домашней странице, нажмите Import From Project
Откроется инструмент для импорта CAGE. Здесь можно выбрать модели для импорта из файла проекта Model Browser или направить из Model Browser, если он открыт. Однако тулбокс предоставляет файл примера с уже импортированными моделями, поэтому нажатие кнопки Close закрыть Инструмент для импорта CAGE.
На домашней странице в списке Case Studies выберите пример с несколькими инъекциями или выберите File > Open Project и перейдите к файлу с примерами CI_MultiInject.cag
, найденный в matlab\toolbox\mbc\mbctraining
.
Щелкните Models на левой Data Objects панели, чтобы просмотреть модели.
Чтобы увидеть, как настроить таблицы для заполнения результатами оптимизации, выберите Tools > Create Lookup Tables from Model. Откроется мастер создания интерполяционных таблиц из модели.
Установите флажок Модель BSFC и Create operating point data set и нажмите Next.
Если вы оставили значения по умолчанию, то использовали бы рабочие точки модели для точек по оси Х таблицы. Однако необходимо создать различные таблицы для рабочих точек.
Снимите флажок Use model operating points.
Выберите SPEED
и TQ
для входов оси.
Введите 11
для строк и столбцов таблицы.
Нажмите Next.
Просмотрите последний экран, чтобы увидеть, сколько таблиц CAGE создаст для вас, если вы закончите работу мастера.
Щелкните Cancel, чтобы избежать создания новых ненужных таблиц в файле с примером. Файл примера уже содержит все таблицы, необходимые для результатов калибровки.
Выберите представление Lookup Tables, чтобы просмотреть все таблицы. Наблюдайте, что есть таблицы с именем _wPilot
и _noPilot
который будет заполнен результатами оптимизации. Цель состоит в том, чтобы заполнить отдельные таблицы для каждого режима, пилотная закачка активна и никакая пилотная закачка.
Файл примера CI_MultiInject.cag
показывает результаты многоступенчатого процесса для завершения этой калибровки.
Щелкните Optimization на левой Processes панели, чтобы просмотреть оптимизацию.
Чтобы завершить калибровку, необходимо начать с оптимизации точки, чтобы определить, использовать ли Pilot Injection в каждой рабочей точке. Вы используете результаты этой оптимизации точки, чтобы настроить суммарную оптимизацию для оптимизации расхода топлива в течение цикла привода и удовлетворить этим ограничениям:
Ограничение общего количества NOx
Ограничение скорости турбонагнетателя
Ограничение гладкости таблиц
Выберите BSFC_PointOpt
оптимизация для просмотра настройки.
Просмотрите две цели на панели Цели. Они настроены на минимизацию BSFC
и PEAKPRESS
. Дважды кликните цель, чтобы просмотреть ее настройки.
Обратите внимание, что на панели Ограничения (Constraints) отображается ограничение граничной модели.
Узнайте самый легкий способ настроить подобную оптимизацию, выбрав Tools > Create Optimization from Model.
Выберите модель BSFC
и установите флажок Create operating point data set и нажмите Next.
Заметьте, что настройки по умолчанию создадут оптимизацию точки, чтобы минимизировать BSFC
в рабочих точках модели, используя шесть свободных переменных и не SPEED
, TQ
, или Mode
, и ограничены граничным ограничением модели.
Вы хотите, чтобы оптимизация определила, какой режим управления (активная инъекция управления или отсутствие инъекции управления) лучше всего использовать в каждой рабочей точке. Для этого необходимо выбрать Modal optimization
из списка Algorithm.
Вы хотите включить Mode
как свободная переменная, поэтому оптимизация может определить, какой режим лучше использовать в каждой рабочей точке. В списке Free variables установите флажок для включения Mode
.
Щелкните Finish, чтобы создать новую оптимизацию.
Сравните вашу новую оптимизацию с примером BSFC_PointOpt
. Заметьте, что у примера есть вторая цель, чтобы минимизировать PEAKPRESS
. Чтобы увидеть, как это настроить, щелкните правой кнопкой мыши панель Цели и выберите Add Objective.
Файл примера CI_MultiInject.cag
показывает результаты многоступенчатого процесса для завершения этой калибровки.
Разверните первый узел оптимизации, BSFC_PointOpt
, и выберите выход узел под, BSFC_PointOpt_Output
.
Выберите View > Selected Solution (или кнопку на панели инструментов), чтобы просмотреть, какой режим оптимизации выбран как лучший в каждой рабочей точке. Левая панель предоставляет все результаты оптимизации. Правая панель содержит результаты текущего запуска.
Проверьте график контура результатов, чтобы увидеть, какой режим был выбран во всех рабочих точках. Используйте это представление для проверки распределения выбора режима.
Щелкните значок, чтобы выбрать точку в таблице или контуре результатов, и можно использовать элементы управления Selected solution в верхней части, чтобы изменить режим, выбранный в этой точке. Можно хотеть изменить выбранный режим, если другой режим также допустим в этой точке. Например, можно изменить режим, чтобы сделать таблицу более гладкой.
Используйте другие цели для исследования результатов. Например, вы можете захотеть вручную изменить выбранный режим на основе дополнительного целевого значения. Может быть полезно просмотреть графики других целевых значений в выбранных решениях. Чтобы отобразить другой график или изменить вид, щелкните правой кнопкой мыши графики, чтобы просмотреть опции.
Например, щелкните правой кнопкой мыши график «Контуры объекта». Выберите Current View > Objective Graphs.
Чтобы увидеть оба решения для конкретной рабочей точки, используйте представление Среза Парето. Для каждого решения можно просмотреть целевое значение (и любые дополнительные целевые значения). При необходимости можно вручную изменить выбранный режим, чтобы соответствовать другим критериям, таким как режим в смежных рабочих точках или значение дополнительной цели.
Для получения дополнительной информации об инструментах для выбора режима в каждой рабочей точке смотрите Анализ Результатов оптимизации Modal.
Результаты оптимизации точки определяют, использовать ли пилотную инъекцию в каждой рабочей точке. Когда вы удовлетворены всеми выбранными решениями для вашей модальной оптимизации, можно сделать суммарную оптимизацию по всем рабочим точкам. Режим впрыска пилот-сигнала должен быть зафиксирован в суммарной оптимизации, чтобы избежать оптимизации слишком многих комбинаций рабочих режимов.
Результаты оптимизации точки использовались для настройки суммарной оптимизации для оптимизации расхода топлива в течение цикла привода. Чтобы увидеть, как это сделать:
Из выходного узла оптимизации точек, BSFC_PointOpt_Output
выберите Solution > Create Sum Optimization.
Тулбокс автоматически создает оптимизацию суммы для вас с выбранным лучшим режимом для каждой рабочей точки. Оптимизационная функция суммы создания преобразует модальную оптимизацию в стандартную одну целевую оптимизацию (fmincon
алгоритм) и изменяет Mode Variable
к фиксированной переменной.
Сравните вашу новую оптимизацию с оптимизацией суммы в примере BSFC_SumOpt
. Пример показывает, что вам нужно настроить больше ограничений, чтобы завершить калибровку.
Дополнительные ограничения делают оптимизацию удовлетворяющей следующим требованиям:
Ограничение общего количества NOx
Ограничение максимальной скорости турбонагнетателя
Ограничение гладкости таблиц с градиентными ограничениями
Импортируйте все необходимые ограничения в новую оптимизацию, выбрав Optimization > Constraints > Import Constraints. Выберите пример оптимизации суммы и импортируйте все, кроме первого ограничения граничной модели.
Дважды кликните дополнительные ограничения, чтобы открыть диалоговое окно Править ограничение (Edit Constraint) и просмотреть настройку.
Это суммарное ограничение контролирует общее значение NOx.
Это ограничение контролирует максимальную скорость турбонагнетателя.
Обратите внимание, что это ограничение не использует VGTSPEED
модель непосредственно, но вместо этого использует модель функции VGTSPEEDNorm
. Можно изучить эту модель функции в представлении модели. Модель функции масштабирует ограничение, чтобы помочь стандартным программам оптимизации, которые имеют проблемы, если ограничения имеют очень разные размеры. VGTSPEED
имеет порядок 165000
, в то время как другие ограничения имеют порядок 1, поэтому модель функции VGTSPEEDNorm
нормализует VGTSPEED
путем деления его на 165000
.
Следующее ограничение управляет градиентом на MAINSOI
таблица.
В представлении Оптимизация на панели Ограничения обратите внимание, что:
Градиентные ограничения указаны в парах, один с пилотом и один без пилота. Для различных режимов требуются отдельные ограничения градиента таблицы, поскольку цель состоит в том, чтобы заполнить отдельные таблицы для каждого режима.
Все градиентные ограничения имеют запись в Application Point Set столбце.
Щелкните правой кнопкой мыши ограничение градиента таблицы MainSOI_wPilot
и щелкните Select Application Point Set, чтобы увидеть, как они настроены.
Наблюдайте, Interpolate for each mode выбрана опция. Этот набор точек приложения ограничивает ограничение градиента таблицы Mode
Только 1 (активная) точка. Можно создать набор точек приложения так, выбрав New subset
а затем выбор подмножества точек оптимизации щелчком мыши на графике или таблице. Прикладные точки здесь соответствуют рабочим точкам, где оптимизация точки определила, что режим пилот-сигнала должен быть активным (Mode
= 1). Для сравнения, вот контурный график результатов для результатов оптимизации точки.
Сравните контурный график результатов с точками приложения для ограничения градиента следующей таблицы, MainSOI_noPilot
. Эти точки приложения ограничивают ограничение градиента таблицы Mode
Только 2 точки, где пилот неактивен.
Ваша суммарная оптимизация теперь содержит все необходимые ограничения и готова к запуску. Затем просмотрите результаты в примере оптимизации суммы.
CAGE запоминает параметры заполнения интерполяционной таблицы. Чтобы просмотреть, как заполняются таблицы примеров:
Разверните пример узла оптимизации суммы BSFC_SumOpt
и выберите BSFC_SumOpt_Output
узел.
Выберите Solution > Fill Lookup Tables (или используйте кнопку на панели инструментов), чтобы открыть мастер заполнения интерполяционной таблицы из результатов оптимизации.
На первом экране наблюдайте за всеми таблицами в CAGE tables to be filled list. Нажмите Next.
На втором экране наблюдайте, что все таблицы сопоставлены с результатами оптимизации, чтобы заполнить их. Нажмите Next.
На третьем экране наблюдайте, как в некоторых таблицах настроена Filter Rule так, чтобы они заполнялись только результатами, где Mode
равен 1 или 2. Можно создать такое правило фильтра путем ввода Mode==1
в столбце Filter Rule.
Можно либо кликнуть Finish, чтобы заполнить все таблицы, либо Cancel, чтобы оставить таблицы нетронутыми. Примеры таблиц уже заполнены этими настройками.
Эти графики показывают результаты, аналогичные результатам калибровки.
Таблица режима управления
Необходимо заполнить таблицы калибровки для каждой переменной управления, описанной в Multi-Injection Diesel Описания задачи, в обоих пилотных режимах, активной и неактивной.
Ниже перечислены все активные таблицы управления.
Таблица времени закачки (SOI)
Общая масса впрыскиваемого топлива Таблицы
Давление дельта-давления топлива
Таблица положения клапана рециркуляции отработавших газов (EGR)
Таблица положения переменной-геометрии Turbo (VGT)
Таблица времени впрыска пилотной горелки (Delta Pilot SOI)
Таблица массовой фракции пилотного топлива
Файл примера CI_MultiInject.cag
также показывает пример мультиобъективной оптимизации. Это может быть полезно для калибровок, где вы хотите минимизировать несколько целей за раз, в этом случае BSFC
и NOX
. В мультиобъективной оптимизации используется gamultiobj
алгоритм.
Выберите BSFC_NOX
узел, чтобы увидеть, как настраивается оптимизация. Наблюдайте 2 цели и информацию об оптимизации: Мультиобъективная оптимизация с помощью генетического алгоритма.
Разверните BSFC_NOX
Узлом и выберите BSFC_NOX_Output
для просмотра результатов. Чтобы выбрать представление, которое необходимо изучить, щелкните правой кнопкой мыши на панели и выберите Current View. Выберите вид.
Исследуйте графики Парето. Может быть полезно одновременно отобразить представление Информация о решении (Solution Information), чтобы просмотреть информацию о выбранном решении. Можно хотеть выбрать доминирующее решение (оранжевый треугольник) над решением парето (зеленый квадрат), чтобы сравнить желаемые свойства.
Выберите Sum_BSFC_NOX
узел, чтобы увидеть, как настраивается оптимизация суммы. Оптимизация суммы была создана из результатов оптимизации точки. Соблюдайте 2 цели и все ограничения.
Разверните Sum_BSFC_NOX
Узлом и выберите Sum_BSFC_NOX_Output
для просмотра результатов.
Совет
Узнать, как MathWork® Консалтинг помогает клиентам разрабатывать калибровки двигателей, которые оптимально балансируют производительность двигателя, экономию топлива и требования к выбросам: см. «Оптимальная калибровка Engine».