Этот пример показывает вам, как использовать метод системы управления обучения с подкреплением, чтобы реализовать ориентированное на поле управление (FOC) постоянного магнита синхронного двигателя (PMSM). Пример использует принципы FOC. Однако это использует агента обучения с подкреплением (RL) вместо ПИ-контроллеров. Для получения дополнительной информации о FOC, смотрите Ориентированное на поле управление (FOC).
Этот рисунок показывает архитектуру FOC с агентом обучения с подкреплением. Для получения дополнительной информации об агентах обучения с подкреплением, смотрите Агентов Обучения с подкреплением (Reinforcement Learning Toolbox).
Агент обучения с подкреплением регулирует d
- ось и q
- токи оси и генерируют соответствующие напряжения статора, которые управляют двигателем на необходимой скорости.
Отслеживающая скорость эффективность алгоритма FOC, который использует агента обучения с подкреплением, похожа на тот из FOC на основе контроллеров PI.
Пример включает mcb_pmsm_foc_sim_RL модель.
Примечание: можно использовать эту модель только для симуляции.
Эта модель включает FOC architetcure, который использует агента обучения с подкреплением. Можно использовать open_system команду, чтобы открыть модель Simulink®.
mdl = 'mcb_pmsm_foc_sim_RL';
open_system(mdl);
Когда вы открываете модель, она загружает сконфигурированные параметры включая параметры двигателя к рабочей области для симуляции. Чтобы просмотреть и обновить эти параметры, откройте mcb_pmsm_foc_sim_RL_data.m
файл скрипта инициализации модели. Для получения дополнительной информации о параметрах управления и переменных, доступных в этом скрипте, смотрите Оценочные Усиления Управления от Параметров двигателя.
Можно получить доступ к настройке обучения с подкреплением, доступной в Системной подсистеме Токового контроллера путем выполнения этой команды.
open_system('mcb_pmsm_foc_sim_RL/Current Control/Control_System/Closed Loop Control/Current Controller Systems');
Для получения дополнительной информации о подготовке и обучении агент обучения с подкреплением, чтобы управлять PMSM, смотрите, Обучают Агента TD3 Управлению PMSM (Reinforcement Learning Toolbox).
Примечание:
Обучение агент обучения с подкреплением является в вычислительном отношении интенсивным процессом, который может занять несколько часов, чтобы завершиться.
Агент в этом примере был обучен с помощью частоты PWM 5 кГц. Поэтому модель использует эту частоту по умолчанию. Чтобы изменить это значение, обучите агента обучения с подкреплением снова при помощи различной частоты PWM и обновите PWM_frequency
переменная в mcb_pmsm_foc_sim_RL_data.m
скрипт инициализации модели. Можно использовать следующую команду, чтобы открыть скрипт инициализации модели.
edit mcb_pmsm_foc_sim_RL_data;
Motor Control Blockset™
Reinforcement Learning Toolbox™
Выполните эти шаги, чтобы симулировать модель.
1. Откройте модель, включенную с этим примером.
2. Запустите эту команду, чтобы выбрать вариант Reinforcement Learning Системной подсистемы Токового контроллера, доступной в архитектуре FOC.
ControllerVariant='RL';
Можно перейти к Системной подсистеме Токового контроллера, чтобы проверить, активен ли вариант подсистемы Обучения с подкреплением.
open_system('mcb_pmsm_foc_sim_RL/Current Control/Control_System/Closed Loop Control/Current Controller Systems');
Примечание: модель выбирает вариант подсистемы Обучения с подкреплением по умолчанию.
3. Запустите эту команду, чтобы загрузить предварительно обученного агента обучения с подкреплением.
load('agent.mat');
Примечание: агент обучения с подкреплением в этом примере был обучен использовать ссылки скорости 0,2, 0.4, 0.6, и 0.8 PU (на модуль). Для получения информации связанный с системой на модуль, смотрите систему в относительных единицах.
4. Нажмите работает на вкладке Simulation, чтобы симулировать модель. Можно также запустить эту команду, чтобы симулировать модель.
sim(mdl);
5. Нажмите Data Inspector на вкладке Simulation, чтобы открыть Инспектора Данных моделирования. Выберите один или несколько из этих сигналов наблюдать и анализировать результаты simlation, связанные с отслеживанием скорости и эффективностью контроллера.
Speed_ref
Speed_fb
iq_ref
iq
id_ref
id
В предыдущем примере:
Комбинация PI и контроллеров обучения с подкреплением достигает необходимой скорости путем отслеживания изменений к опорному сигналу скорости.
Вторые и третьи графики инспектора данных показывают, что обученный агент обучения с подкреплением действует как токовый контроллер и успешно отслеживает обоих Id
и Iq
ссылочные токи. Однако небольшая установившаяся ошибка существует между ссылкой и acutal значениями Id
и Iq
токи.
Используйте эти шаги, чтобы анализировать отслеживание скорости и эффективность контроллера ПИ-контроллеров и сравнить их с тем из агента обучения с подкреплением:
1. Откройте модель, включенную с этим примером.
2. Запустите эту команду, чтобы выбрать вариант PI Controllers Системной подсистемы Токового контроллера, доступной в архитектуре FOC.
ControllerVariant='PI';
Можно перейти к Системной подсистеме Токового контроллера, чтобы проверить, активен ли вариант подсистемы ПИ-контроллеров.
open_system('mcb_pmsm_foc_sim_RL/Current Control/Control_System/Closed Loop Control/Current Controller Systems');
ПРИМЕЧАНИЕ: модель выбирает вариант подсистемы Обучения с подкреплением по умолчанию.
3. Нажмите работает на вкладке Simulation, чтобы симулировать модель. Можно также запустить эту команду, чтобы симулировать модель.
sim(mdl);
4. Нажмите Data Inspector на вкладке Simulation, чтобы открыть Инспектора Данных моделирования. Выберите один или несколько из этих сигналов наблюдать и анализировать результаты simlation, связанные с отслеживанием скорости и эффективностью контроллера.
Speed_ref
Speed_fb
iq_ref
iq
id_ref
id
5. Сравните эти результаты с предыдущими результатами запуска симуляции, полученными при помощи RLAgent (Обучение с подкреплением) вариант подсистемы.
В предыдущем примере:
Красные сигналы показывают результаты симуляции, что вы получаете использование RLAgent (Обучение с подкреплением) вариант подсистемы.
Синие сигналы показывают результаты симуляции, что вы получаете использование PIControllers (ПИ-контроллеры) вариант подсистемы.
Графики показывают что (за исключением Id
ссылочное текущее отслеживание), эффективность агента обучения с подкреплением похожа на ПИ-контроллеры. Можно улучшать текущую производительность отслеживания агента обучения с подкреплением по дальнейшему образованию агент и настройка гиперпараметров.
ПРИМЕЧАНИЕ: можно также обновить задающую скорость до более высоких значений и так же сравнить эффективность между агентом обучения с подкреплением и ПИ-контроллерами.