Загрузите предопределенные среды системы управления

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

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

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

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

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

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

Можно также загрузить, предопределил среды мира сетки MATLAB. Для получения дополнительной информации смотрите Загрузку Предопределенные Среды Мира Сетки.

Полюсные корзиной среды

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

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

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

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

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

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

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

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

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

    env = rlPredefinedEnv('CartPole-Continuous');

Можно визуализировать полюсную корзиной среду с помощью функции plot. График отображает корзину как синий квадрат и полюс как красный прямоугольник.

plot(env)

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

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

Свойства среды

СвойствоОписаниеЗначение по умолчанию
GravityУскорение из-за силы тяжести в метрах в секунду9.8
MassCartМасса корзины в килограммах1
MassPoleМасса полюса в килограммах0.1
LengthПоловина длины полюса в метрах0.5
MaxForceМаксимальная горизонталь обеспечивает значение в ньютонах10
TsШаг расчета в секундах0.02
ThetaThresholdRadiansУгловой порог полюса в радианах0.2094
XThresholdПорог положения корзины в метрах2.4
RewardForNotFallingВознаградите за каждый временной шаг, полюс сбалансирован1
PenaltyForFallingВознаградите штраф за то, чтобы не удаваться сбалансировать полюс

Дискретный: -5

Непрерывный: -50

State

Состояние среды, заданное как вектор-столбец со следующими переменными состояния:

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

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

  • Угол полюса

  • Производная угла полюса

[0 0 0 0]'

Действия

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

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

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

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

Наблюдения

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

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

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

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

  • Положительное вознаграждение за каждый временной шаг, что полюс сбалансирован; то есть, корзина и полюс оба остаются в их заданных пороговых областях значений. Это вознаграждение накапливается по целому учебному эпизоду. Чтобы управлять размером этого вознаграждения, используйте свойство RewardForNotFalling среды.

  • Однократный отрицательный штраф, если или полюс или корзина перемещаются за пределами их пороговых областей значений. На данном этапе учебные остановки эпизода. Чтобы управлять размером этого штрафа, используйте свойство PenaltyForFalling среды.

Двойные среды интегратора

Цель агента в предопределенных двойных средах интегратора состоит в том, чтобы управлять положением массы в системе второго порядка путем применения входа силы. А именно, система второго порядка является двойным интегратором с усилением.

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

  • Масса перемещается вне данного порога от источника.

  • Норма вектора состояния является меньше, чем данный порог.

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

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

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

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

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

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

    env = rlPredefinedEnv('DoubleIntegrator-Continuous');

Можно визуализировать двойную среду интегратора с помощью функции plot. График отображает массу как красный прямоугольник.

plot(env)

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

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

Свойства среды

СвойствоОписаниеЗначение по умолчанию
GainПолучите для двойного интегратора1
TsШаг расчета в секундах0.1
MaxDistanceПорог значения расстояния в метрах5
GoalThresholdПорог нормы состояния0.01
QМатрица веса для компонента наблюдения премиального сигнала[10 0; 0 1]
RМатрица веса для компонента действия премиального сигнала0.01
MaxForceМаксимальная входная сила в ньютонах

Дискретный: 2

Непрерывный: Inf

State

Состояние среды, заданное как вектор-столбец со следующими переменными состояния:

  • Массовое положение

  • Производная массового положения

[0 0]'

Действия

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

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

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

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

Наблюдения

В двойной системе интегратора агент может наблюдать обе из переменных состояния среды в env.State. Для каждой переменной состояния среда содержит спецификацию наблюдения rlNumericSpec. Оба состояния непрерывны и неограниченны.

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

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

Премиальный сигнал для этой среды является дискретным временем, эквивалентным из следующего непрерывно-разового вознаграждения, которое походит на функцию стоимости контроллера LQR.

reward=(x'Qx+u'Ru)dt

Здесь:

  • Q и R являются свойствами среды.

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

  • u является входной силой.

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

Среды математического маятника с наблюдением изображений

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

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

  • Дискретный — Агент может применить крутящий момент -2, -1, 0, 1 или 2 к маятнику.

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

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

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

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

    env = rlPredefinedEnv('SimplePendulumModelWithImage-Continuous');

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

Свойства среды

СвойствоОписаниеЗначение по умолчанию
MassМасса маятника1
RodLengthДлина маятника1
RodInertiaМомент маятника инерции0
GravityУскорение из-за силы тяжести в метрах в секунду9.81
DampingRatioЗатухание на движении маятника0
MaximumTorqueМаксимальный входной крутящий момент в Ньютонах2
TsШаг расчета в секундах0.05
State

Состояние среды, заданное как вектор-столбец со следующими переменными состояния:

  • Угол маятника

  • Маятник угловая скорость

[0 0 ]'
QМатрица веса для компонента наблюдения премиального сигнала[1 0;0 0.1]
RМатрица веса для компонента действия премиального сигнала1e-3

Действия

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

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

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

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

Наблюдения

В среде математического маятника агент получает следующие сигналы наблюдения

  • 50 50 полутоновое изображение положения маятника

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

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

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

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

Премиальный сигнал для этой среды:

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

Здесь:

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

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

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

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

|

Похожие темы

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