强化学习工具箱™软件提供了几种预定义的控制系统环境,用于该环境,操作,观察,奖励和动态。您可以使用这些环境:
学习强化学习概念。
熟悉强化学习工具箱软件功能。
测试你自己的强化学习代理。
您可以加载以下预定义的MATLAB®使用该系统的控制系统环境Rlpredefinedenv.
功能。
环境 | 代理任务 |
---|---|
Cart-pole | 通过使用离散或连续的动作空间对推车施加力来使移动推车上的杆子保持平衡。 |
双积分器 | 利用离散或连续的作用空间控制二阶动态系统。 |
简单的摆锤与图像观察 | 摆动和平衡一个简单的钟摆使用离散或连续的行动空间。 |
您还可以加载预定义的MATLAB网格世界环境。有关更多信息,请参阅加载预定义网格世界环境。
预定推出的推车环境中的代理的目标是通过将水平力应用于推车来平衡移动推车上的杆。如果满足以下两个条件,则杆被认为成功平衡:
极角保持在垂直位置的给定阈值内,其中垂直位置是零弧度。
推车位置的大小保持在给定阈值以下。
有两个推车杆环境变体,由代理动作空间不同。
离散 - 代理可以施加一种力量F马克斯或-F马克斯到购物车,在那里F马克斯是个MaxForce
环境的属性。
连续代理可以在范围内应用任何力[ -F马克斯那F马克斯].
要创建购物车环境,请使用Rlpredefinedenv.
功能。
离散行动空间
Env = Rlpredefinedenv('cartpole - 离散');
持续的行动空间
Env = Rlpredefinedenv(“CartPole-Continuous”);
您可以使用情节
功能。绘图显示推车作为蓝色方形,杆作为红色矩形。
情节(env)
要想在训练过程中想象环境,呼叫情节
在训练前,保持可视化图形的开放。
有关显示如何在卡车环境中培训代理的示例,请参阅以下内容:
财产 | 描述 | 默认的 |
---|---|---|
重力 |
由于重力为单位的重力 | 9.8 |
MassCart |
手推车的重量,以千克为单位 | 1 |
马蹄菜 |
磁极的质量,单位是千克 | 0.1 |
长度 |
杆的一半长度为米 | 0.5 |
MaxForce |
Newtons中的最大水平力幅度 | 10. |
TS. |
采样时间以秒为单位 | 0.02 |
ThetaThresholdRadians |
极点角度阈值(以弧度表示) | 0.2094 |
Xthreshold. |
推车位置阈值以米为单位 | 2.4 |
RewardForNotFalling |
每次步骤奖励杆均衡 | 1 |
禁用 |
未能平衡杆的奖励罚款 | 离散的 - 连续的 - |
状态 |
环境状态,指定为具有以下状态变量的列向量:
|
[0 0 0]' |
在推车杆环境中,代理使用单个动作信号与环境相互作用,施加到推车的水平力。环境包含此动作信号的规范对象。对于环境的环境:
离散的动作空间,规范是一个rlFiniteSetSpec
目的。
连续动作空间,规范是一种rlNumericSpec
目的。
有关从环境中获取操作规范的更多信息,请参见getActionInfo
。
在小车系统中,agent可以观察到系统中所有的环境状态变量env。状态
。对于每个状态变量,环境包含一个rlNumericSpec
观测规范。所有国家都是连续的,无界的。
有关从环境中获取观察规范的更多信息,请参见getobservationInfo.
。
这种环境的奖励信号由两个部分组成。
每个时间步长的正奖励是杆的平衡,即推车和杆都仍然在其指定的阈值范围内。此奖励积累了整个培训集。要控制此奖励的大小,请使用RewardForNotFalling
环境的属性。
如果杆子或手推车移动超出其阈值范围,将受到一次性的负惩罚。至此,训练环节停止。若要控制此惩罚的大小,请使用禁用
环境的属性。
在预定义的双积分器环境中的代理的目标是通过应用力输入来控制二阶系统中的质量的位置。具体地,二阶系统是具有增益的双积分器。
当下列任一事件发生时,针对这些环境的培训就结束了:
质量移动超出原点的给定阈值。
状态矢量的常态小于给定阈值。
有两种双积分器环境变体,不同的代理行动空间。
离散 - 代理可以施加一种力量F马克斯或-F马克斯到购物车,在那里F马克斯是个MaxForce
环境的属性。
连续代理可以在范围内应用任何力[ -F马克斯那F马克斯].
要创建双积分环境,请使用Rlpredefinedenv.
功能。
离散行动空间
Env = Rlpredefinedenv(“DoubleIntegrator-Discrete”);
持续的行动空间
Env = Rlpredefinedenv(“DoubleIntegrator-Continuous”);
控件可以可视化双积分器环境情节
功能。绘图显示质量作为红色矩形。
情节(env)
要想在训练过程中想象环境,呼叫情节
在训练前,保持可视化图形的开放。
有关显示如何在Double Integrator环境中培训代理的示例,请参阅以下内容:
财产 | 描述 | 默认的 |
---|---|---|
获得 |
二重积分器的增益 | 1 |
TS. |
采样时间以秒为单位 | 0.1 |
MaxDistance |
米距离距离阈值 | 5. |
GoalThreshold |
国家范围门槛 | 0.01 |
问: |
用于奖励信号的观察组件的重量矩阵 | [10 0;0 1] |
R. |
奖励信号动作分量的权重矩阵 | 0.01 |
MaxForce |
最大输入力,单位为牛顿 | 离散的: 连续: |
状态 |
环境状态,指定为具有以下状态变量的列向量:
|
[0 0]' |
在双积分器环境中,代理使用一个单独的动作信号,即施加于质量的力与环境相互作用。环境包含此动作信号的规范对象。对于环境的环境:
离散的动作空间,规范是一个rlFiniteSetSpec
目的。
连续动作空间,规范是一种rlNumericSpec
目的。
有关从环境中获取操作规范的更多信息,请参见getActionInfo
。
在双积分器系统中,代理可以观察到环境状态变量env。状态
。对于每个状态变量,环境包含一个rlNumericSpec
观测规范。两种状态都是连续的和无界的。
有关从环境中获取观察规范的更多信息,请参见getobservationInfo.
。
这种环境的奖励信号是以下连续时间奖励的离散时间等价,类似于LQR控制器的成本函数。
这里:
问:
和R.
是环境属性。
X是环境状态矢量。
你是输入的力。
这种奖励是整个训练集中的巨大奖励,即累积奖励。
这个环境是一个简单的无摩擦摆,它最初是向下悬挂的。训练目标是用最小的控制努力使钟摆直立而不跌倒。
有两个简单的摆锤环境变体,其因代理动作空间而异。
离散代理可以施加扭矩-2
那-1
那0.
那1
, 或者2
钟摆。
连续代理可以在范围内施加任何扭矩[-2
那2
].
要创建一个简单的摆动环境,请使用Rlpredefinedenv.
功能。
离散行动空间
Env = Rlpredefinedenv('SimpleDequeLumwithimage-离散');
持续的行动空间
Env = Rlpredefinedenv(“SimplePendulumWithImage-Continuous”);
有关显示如何在此环境中培训代理的示例,请参阅以下内容:
财产 | 描述 | 默认的 |
---|---|---|
质量 |
摆锤 | 1 |
罗德长长 |
摆锤长度 | 1 |
RodInertia |
惯性的摆锤矩 | 0. |
重力 |
由于重力为单位的重力 | 9.81 |
DampingRatio |
在摆锤运动上阻尼 | 0. |
MaximeMtorque |
最大输入扭矩,单位为牛顿 | 2 |
TS. |
采样时间以秒为单位 | 0.05 |
状态 |
环境状态,指定为具有以下状态变量的列向量:
|
[0 0) ' |
问: |
用于奖励信号的观察组件的重量矩阵 | (1 0; 0 0.1) |
R. |
奖励信号动作分量的权重矩阵 | 1 e - 3 |
在简单的摆锤环境中,代理使用一个单独的动作信号,即施加在摆锤底部的扭矩与环境相互作用。环境包含此动作信号的规范对象。对于环境的环境:
离散的动作空间,规范是一个rlFiniteSetSpec
目的。
连续动作空间,规范是一种rlNumericSpec
目的。
有关从环境中获取操作规范的更多信息,请参见getActionInfo
。
在单摆环境中,agent接收到以下观测信号:
摆锤位置50×50灰度图像
摆角的衍生物
对于每个观察信号,环境包含一个rlNumericSpec
观测规范。所有观察结果都是连续和无界的。
有关从环境中获取观察规范的更多信息,请参见getobservationInfo.
。
这种环境的奖励信号是
这里:
θ.T.是从直立位置的位移的摆角。
是摆角的衍生物。
你t - 1来自前一个时间步骤的控制工作。