加载预定义的控制系统环境

强化学习工具箱™软件提供了几个预定义的控制系统环境,其中的动作、观察、奖励和动态已经定义。你可以使用这些环境:

  • 学习强化学习概念。

  • 熟悉强化学习工具箱软件功能。

  • 测试您自己的强化学习代理。

您可以加载以下预定义的MATLAB®控制系统环境使用rlPredefinedEnv函数。

环境 代理任务
Cart-pole 利用离散或连续的动作空间对移动的手推车施加力,使一根柱子保持平衡。
双积分器 利用离散或连续的动作空间控制二阶动态系统。
单摆与图像观察 用离散或连续的动作空间向上摆动并平衡一个简单的钟摆。

您还可以加载预定义的MATLAB网格世界环境。有关更多信息,请参见加载预定义的网格世界环境

Cart-Pole环境

在预定义的车杆环境中,代理的目标是通过对车施加水平力来平衡移动中的车杆。当满足以下两个条件时,认为极点平衡成功:

  • 极角保持在垂直位置的给定阈值内,其中垂直位置为零弧度。

  • 小车位置的大小仍然低于给定的阈值。

有两种车杆环境变体,它们因代理操作空间的不同而不同。

  • 离散Agent可以施加任意一种力F马克斯或-F马克斯到马车那儿去F马克斯MaxForce环境的性质。

  • 连续-剂可以施加范围内的任何力[-F马克斯F马克斯].

要创造一个车杆的环境,使用rlPredefinedEnv函数。

  • 离散行动空间

    env = rlPredefinedEnv (“CartPole-Discrete”);
  • 持续的行动空间

    env = rlPredefinedEnv (“CartPole-Continuous”);

您可以可视化的车杆环境使用情节函数。该情节将购物车显示为蓝色方形,杆显示为红色矩形。

情节(env)

要想在训练过程中看到环境,打电话情节训练前,保持可视化图形打开。

有关如何在电线杆环境中培训代理的示例,请参见以下示例:

环境属性

财产 描述 默认的
重力 重力加速度,单位为米/秒 9.8
MassCart 推车的质量,以公斤为单位 1
MassPole 磁极的质量,单位是千克 0.1
长度 杆子长度的一半,单位是米 0.5
MaxForce 最大水平力的大小牛顿 10
Ts 以秒采样时间 0.02
ThetaThresholdRadians 极角阈值,以弧度表示 0.2094
XThreshold 在米车位置阈值 2.4
RewardForNotFalling 每一步杆子都是平衡的奖励 1
PenaltyForFalling 不能平衡柱子的奖励惩罚

离散 --5

连续的,-50年

状态

环境状态,指定为带有以下状态变量的列向量:

  • 车的位置

  • 车位导数

  • 极角

  • 极角导数

[0 0 0]'

行动

在车杆环境中,代理使用单个动作信号与环境交互,即作用于车的水平力。环境包含此动作信号的规范对象。对于环境有一个:

有关从环境获取操作规范的更多信息,请参见getActionInfo

观察

在车杆系统中,agent可以观察到系统中所有的环境状态变量env。状态.对于每个状态变量,环境包含一个rlNumericSpec观测规范。所有状态是连续的,无界的。

有关从环境获取观察规范的更多信息,请参见getObservationInfo

奖励

这种环境的奖励信号由两部分组成。

  • 在杆平衡的每一个时间步骤中都有积极的奖励,也就是说,车和杆都保持在指定的阈值范围内。这种奖励会在整个训练过程中累积。为了控制奖励的大小,使用RewardForNotFalling环境的性质。

  • 如果杆或车移动到其阈值范围之外,则一次性负惩罚。此时,训练停止。为了控制这个惩罚的大小,使用PenaltyForFalling环境的性质。

双积分器的环境

在预先设定的双积分器环境中,智能体的目标是通过施加一个力输入来控制二阶系统中质量的位置。具体地说,二阶系统是一个具有增益的双积分器。

当下列事件发生时,这些环境的培训就结束了:

  • 大众移动超出从原点规定的阈值。

  • 状态向量的范数小于给定阈值。

有两种双集成商环境变体,它们根据代理的作用空间而不同。

  • 离散Agent可以施加任意一种力F马克斯或-F马克斯到马车那儿去F马克斯MaxForce环境的性质。

  • 连续-剂可以施加范围内的任何力[-F马克斯F马克斯].

要创建双积分器环境,请使用rlPredefinedEnv函数。

  • 离散行动空间

    env = rlPredefinedEnv (“DoubleIntegrator-Discrete”);
  • 持续的行动空间

    env = rlPredefinedEnv (“DoubleIntegrator-Continuous”);

可以使用情节函数。该图显示的质量为红色矩形。

情节(env)

要想在训练过程中看到环境,打电话情节训练前,保持可视化图形打开。

有关如何在双集成商环境中培训代理的示例,请参见下面的示例:

环境属性

财产 描述 默认的
gain 双积分器的增益 1
Ts 以秒采样时间 0.1
MaxDistance 距离震级阈值,单位为米 5
GoalThreshold 国家标准阈值 0.01
奖励信号的观察分量的权重矩阵 [10 0;0 1]
R 奖励信号的动作分量的权重矩阵 0.01
MaxForce 最大输入力,单位为牛顿

离散:2

连续:INF.

状态

环境状态,指定为带有以下状态变量的列向量:

  • 质量的位置

  • 衍生群众立场

[0 0]”

行动

在双积分器环境中,智能体与环境交互使用一个单一的动作信号,即作用于质量的力。环境包含此动作信号的规范对象。对于环境有一个:

有关从环境获取操作规范的更多信息,请参见getActionInfo

观察

在双积分器系统中,智能体可以同时观察系统中的环境状态变量env。状态.对于每个状态变量,环境包含一个rlNumericSpec观测规范。这两种状态都是连续的和无界的。

有关从环境获取观察规范的更多信息,请参见getObservationInfo

奖励

这个环境的奖励信号是连续时间奖励的离散等价,类似于LQR控制器的代价函数。

r e w 一个 r d x x + u R u d t

在这里:

  • R环境属性。

  • x为环境状态向量。

  • u为输入力。

这种奖励是情景性奖励,也就是说,在整个训练过程中累积的奖励。

与图像观察单摆环境

这个环境是一个简单的无摩擦摆,最初挂在一个向下的位置。训练目标是用最小的控制力使钟摆直立而不倾倒。

有两个单摆的环境变量,它通过代理操作空间不同。

  • 离散Agent可以施加扭矩为-2-101,或2钟摆。

  • 连续-药剂可施加范围内的任何扭矩[-22].

要创建一个简单的钟摆环境,使用rlPredefinedEnv函数。

  • 离散行动空间

    env = rlPredefinedEnv (“SimplePendulumWithImage-Discrete”);
  • 持续的行动空间

    env = rlPredefinedEnv (“SimplePendulumWithImage-Continuous”);

有关如何在此环境中培训代理的示例,请参见以下示例:

环境属性

财产 描述 默认的
质量 钟摆质量 1
RodLength 摆的长度 1
RodInertia 摆惯性矩 0
重力 重力加速度,单位为米/秒 9.81
DampingRatio 摆运动阻尼 0
MaximumTorque 最大输入扭矩,单位为牛顿 2
Ts 以秒采样时间 0.05
状态

环境状态,指定为带有以下状态变量的列向量:

  • 摆角

  • 摆角速度

[0 0) '
奖励信号的观察分量的权重矩阵 (1 0; 0 0.1)
R 奖励信号的动作分量的权重矩阵 1 e - 3

行动

在单摆环境中,代理与环境交互使用一个单一的动作信号,即施加在摆底部的力矩。环境包含此动作信号的规范对象。对于环境有一个:

有关从环境获取操作规范的更多信息,请参见getActionInfo

观察

在单摆环境中,agent接收到如下观测信号:

  • 摆锤位置的50逐50灰度图像

  • 摆角的导数

对于每个观测信号,环境包含一个rlNumericSpec观测规范。所有的观测都是连续的、无界的。

有关从环境获取观察规范的更多信息,请参见getObservationInfo

奖励

此环境的奖赏信号

r t θ. t 2 + 0.1 θ. ˙ t 2 + 0.001 u t 1 2

在这里:

  • θ.t是从直立位置位移的摆角。

  • θ. ˙ t 是摆角的导数。

  • ut - 1是上一个时间步骤的控制工作。

另请参阅

|

相关主题