Загрузите предопределенные окружения Simulink

Программное обеспечение Reinforcement Learning Toolbox™ обеспечивает, предопределил среды Simulink®, для которых уже заданы действия, наблюдения, вознаграждения и динамика. Можно использовать эти среды для:

  • Изучите концепции изучения укрепления

  • Получите знакомство с программными функциями Reinforcement Learning Toolbox

  • Протестируйте свои собственные агенты изучения укрепления

Можно загрузить следующие предопределенные окружения Simulink с помощью функции rlPredefinedEnv.

СредаЗадача агента
Модель Simulink математического маятникаSwing и баланс математический маятник с помощью или дискретного или непрерывного пробела действия.
Полюсная корзиной модель Simscape™Сбалансируйте полюс на движущейся корзине, прикладывая силы к корзине с помощью или дискретного или непрерывного пробела действия.

Для предопределенных окружений Simulink динамика среды, наблюдения и премиальный сигнал заданы в соответствующей модели Simulink. Функция rlPredefinedEnv создает объект SimulinkEnvWithAgent, что train функционирует использование, чтобы взаимодействовать с моделью Simulink.

Математический маятник модель Simulink

Эта среда является простым лишенным трения маятником, который первоначально зависает в нисходящем положении. Учебная цель состоит в том, чтобы заставить маятник стоять вертикально, не запинаясь за использование и падая минимального усилия по управлению. Модель для этой среды задана в модели SimplePendulumModel Simulink.

open_system('SimplePendulumModel')

Существует два варианта среды математического маятника, которые отличаются пробелом действия агента.

  • Дискретный — Агент может применить крутящий момент или Tmax, 0 или-Tmax к маятнику, где Tmax является переменной max_tau в рабочем пространстве модели.

  • Непрерывный — Агент может применить любой крутящий момент в области значений [-Tmax, Tmax].

Чтобы создать среду математического маятника, используйте функцию rlPredefinedEnv.

  • Дискретный пробел действия

    env = rlPredefinedEnv('SimplePendulumModel-Discrete');
  • Непрерывный пробел действия

    env = rlPredefinedEnv('SimplePendulumModel-Continuous');

Для примеров, которые обучают агенты в среде математического маятника, см.:

Действия

В средах математического маятника агент взаимодействует со средой с помощью одного сигнала действия, крутящий момент, примененный в основе маятника. Среда содержит объект спецификации для этого сигнала действия. Для среды с a:

  • Дискретный пробел действия, спецификация является объектом rlFiniteSetSpec.

  • Непрерывный пробел действия, спецификация является объектом rlNumericSpec.

Для получения дополнительной информации о получении спецификаций действия от среды смотрите getActionInfo.

Наблюдения

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

  • Синус угла маятника

  • Косинус угла маятника

  • Производная угла маятника

Для каждого сигнала наблюдения среда содержит спецификацию наблюдения rlNumericSpec. Все наблюдения непрерывны и неограниченны.

Для получения дополнительной информации о получении спецификаций наблюдения от среды смотрите getObservationInfo.

Вознаграждение

Премиальный сигнал для этой среды, которая создается в вычислить премиальной подсистеме:

rt=(θt2+0.1θ˙t2+0.001ut1)

Здесь:

  • θt является углом маятника смещения от вертикального положения.

  • θ˙t производная угла маятника.

  • ut-1 является усилием по управлению от предыдущего временного шага.

Полюсная корзиной модель Simscape

Цель агента в предопределенных полюсных корзиной средах состоит в том, чтобы сбалансировать полюс на движущейся корзине, прикладывая горизонтальные силы к корзине. Полюс рассматривается успешно сбалансированным, если оба из следующих условий удовлетворены:

  • Угол полюса остается в данном пороге вертикального положения, где вертикальное положение является нулевыми радианами.

  • Значение положения корзины остается ниже данного порога.

Модель для этой среды задана в модели CartPoleSimscapeModel Simulink. Движущие силы этой модели заданы с помощью Simscape Multibody™.

open_system('CartPoleSimscapeModel')

В подсистеме Enviornment образцовые движущие силы заданы с помощью компонентов Simscape, и вознаграждение и наблюдение создаются с помощью блоков Simulink.

open_system('CartPoleSimscapeModel/Environment')

Существует два полюсных корзиной варианта среды, которые отличаются пробелом действия агента.

  • Дискретный — Агент может прикладывать силу 15, 0 или -15 к корзине.

  • Непрерывный — Агент может прикладывать любую силу в области значений [-15, 15].

Чтобы создать полюсную корзиной среду, используйте функцию rlPredefinecdEnv.

  • Дискретный пробел действия

    env = rlPredefinedEnv('CartPoleSimscapeModel-Discrete');
  • Непрерывный пробел действия

    env = rlPredefinedEnv('CartPoleSimscapeModel-Continuous');

Для примера, который обучает агент в этой полюсной корзиной среде, смотрите Train Агент DDPG к Swing и Балансу полюсная Корзиной Система.

Действия

В полюсных корзиной средах агент взаимодействует со средой с помощью одного сигнала действия, сила применилась к корзине. Среда содержит объект спецификации для этого сигнала действия. Для среды с a:

  • Дискретный пробел действия, спецификация является объектом rlFiniteSetSpec.

  • Непрерывный пробел действия, спецификация является объектом rlNumericSpec.

Для получения дополнительной информации о получении спецификаций действия от среды смотрите getActionInfo.

Наблюдения

В полюсной корзиной среде агент получает следующие пять сигналов наблюдения.

  • Синус угла полюса

  • Косинус угла полюса

  • Производная угла маятника

  • Положение корзины

  • Производная положения корзины

Для каждого сигнала наблюдения среда содержит спецификацию наблюдения rlNumericSpec. Все наблюдения непрерывны и неограниченны.

Для получения дополнительной информации о получении спецификаций наблюдения от среды смотрите getObservationInfo.

Вознаграждение

Премиальный сигнал для этой среды является суммой трех компонентов (r = rqr + rn + rp):

  • Квадратичный регулятор управляет вознаграждением, созданным в подсистеме Environment/qr reward.

    rqr=(0.1x2+0.5θ2+0.005ut12)

  • Дополнительное вознаграждение за то, когда полюс около вертикального положения, созданного в подсистеме Environment/near upright reward.

    rn=10(|θ|<0.175)

  • Предельный штраф корзины, созданный в подсистеме Environment/x limit penalty. Эта подсистема генерирует отрицательное вознаграждение, когда значение положения корзины превышает данный порог.

    rp=100(|x|3.5)

Здесь:

  • x является положением корзины.

  • θ является углом полюса смещения от вертикального положения.

  • ut-1 является усилием по управлению от предыдущего временного шага.

Смотрите также

Блоки

Функции

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте