负载预定义的控制系统环境
强化学习工具箱™软件提供了一些预定义的控制系统环境的操作,观察,奖励,和动力学已经定义。您可以使用这些环境:
学习强化学习的概念。
熟悉强化学习工具箱软件功能。
测试自己的强化学习。
可以加载以下预定义的MATLAB®控制系统使用环境rlPredefinedEnv
函数。
环境 | 代理任务 |
---|---|
Cart-pole | 平衡一个极动车运用部队购物车使用一个离散的或连续的行动空间。 |
双积分器 | 控制一个二阶动态系统使用一个离散的或连续的行动空间。 |
单摆与图像的观察 | Swing和平衡一个单摆使用一个离散的或连续的行动空间。 |
你也可以加载预定义的MATLAB网格世界环境。有关更多信息,请参见网格负载预定义的世界环境。
Cart-Pole环境
在预定义的目标代理cart-pole环境平衡是极对移动车通过应用水平部队购物车。极是成功地平衡如果满足下面两个条件:
极角仍然是在一个给定阈值的垂直位置,垂直位置在哪里零弧度。
车的大小位置仍低于给定的阈值。
有两个cart-pole环境变异,不同的代理行为空间。
离散——代理可以施加一个力F马克斯或-F马克斯购物车,F马克斯是
MaxForce
环境的性质。范围内的连续,代理可以施加任何力(-F马克斯,F马克斯]。
创建一个cart-pole环境,使用rlPredefinedEnv
函数。
离散行动空间
env = rlPredefinedEnv (“CartPole-Discrete”);
持续的行动空间
env = rlPredefinedEnv (“CartPole-Continuous”);
你可以想象cart-pole环境使用情节
函数。情节显示购物车作为一个蓝色方块和红色矩形钢管。
情节(env)
可视化环境培训期间,电话情节
前培训和敞开可视化图。
cart-pole例子显示如何训练特工的环境,见以下:
环境属性
财产 | 描述 | 默认的 |
---|---|---|
重力 |
重力加速度在米每秒的平方 | 9.8 |
MassCart |
车的质量在公斤 | 1 |
MassPole |
钢管的质量在公斤 | 0.1 |
长度 |
半米的杆的长度 | 0.5 |
MaxForce |
在牛顿最大水平力大小 | 10 |
Ts |
样品时间以秒为单位 | 0.02 |
ThetaThresholdRadians |
极角弧度的阈值 | 0.2094 |
XThreshold |
车位置阈值在米 | 2.4 |
RewardForNotFalling |
奖励对于每个时间步长杆是平衡的 | 1 |
PenaltyForFalling |
奖励惩罚未能平衡 | 离散, 连续的, |
状态 |
环境状态,指定为一个列向量与以下状态变量:
|
[0 0 0 0] |
行动
cart-pole环境,代理与环境交互使用单一动作信号,水平力应用于车。环境包含一个规范对象这个动作信号。对环境有:
是一个离散的行动空间,规范
rlFiniteSetSpec
对象。是一个持续的行动空间,规范
rlNumericSpec
对象。
更多信息获取行为规范从一个环境中,明白了getActionInfo
。
观察
cart-pole系统,代理可以观察到所有的环境状态变量env.State
。对于每一个状态变量,环境包含一个rlNumericSpec
观测规范。所有的州都是连续和无界。
更多信息获取观测规范的环境,看看getObservationInfo
。
奖励
这个环境的奖励信号是由两个部分组成的。
积极的奖励对于每一个时间步,极是平衡的,也就是说,购物车和杆都保持在其指定的阈值范围。这个奖励积累在整个训练集。控制这个奖励的大小,使用
RewardForNotFalling
环境的性质。一次性负惩罚如果杆或车外移动的阈值范围。在这一点上,训练集停止。控制这个点球的大小,使用
PenaltyForFalling
环境的性质。
双积分器的环境
在预定义的双积分器的目标代理环境是控制质量的位置在一个二阶系统通过应用一个力输入。具体来说,获得二阶系统是一个双积分器。
训练集这些环境结束时发生以下事件:
质量超过给定阈值从原点。
状态向量的标准小于给定的阈值。
有两个双积分器环境变异,不同的行动空间。
离散——代理可以施加一个力F马克斯或-F马克斯购物车,F马克斯是
MaxForce
环境的性质。范围内的连续,代理可以施加任何力(-F马克斯,F马克斯]。
创建一个双积分器的环境,使用rlPredefinedEnv
函数。
离散行动空间
env = rlPredefinedEnv (“DoubleIntegrator-Discrete”);
持续的行动空间
env = rlPredefinedEnv (“DoubleIntegrator-Continuous”);
你可以想象双积分器环境使用情节
函数。情节显示质量作为一个红色的矩形。
情节(env)
可视化环境培训期间,电话情节
前培训和敞开可视化图。
示例显示如何训练特工的双积分器环境,见以下:
环境属性
财产 | 描述 | 默认的 |
---|---|---|
获得 |
获得双积分器 | 1 |
Ts |
样品时间以秒为单位 | 0.1 |
MaxDistance |
在米距离阈值大小 | 5 |
GoalThreshold |
国家标准阈值 | 0.01 |
问 |
重量为观察组件矩阵奖励的信号 | [10 0;0 1] |
R |
权重矩阵行动奖励的信号 | 0.01 |
MaxForce |
最大输入的力在牛顿 | 离散: 连续: |
状态 |
环境状态,指定为一个列向量与以下状态变量:
|
[0 0)' |
行动
在双积分器的环境中,代理与环境交互使用单一动作信号,力应用于质量。环境包含一个规范对象这个动作信号。对环境有:
是一个离散的行动空间,规范
rlFiniteSetSpec
对象。是一个持续的行动空间,规范
rlNumericSpec
对象。
更多信息获取行为规范从一个环境中,明白了getActionInfo
。
观察
在双积分器系统,代理可以观察这两个状态变量的环境env.State
。对于每一个状态变量,环境包含一个rlNumericSpec
观测规范。这两个州是连续和无界。
更多信息获取观测规范的环境,看看getObservationInfo
。
奖励
奖励这个环境的信号是离散时间相当于以下连续时间奖励,这是类似于一个等控制器的成本函数。
在这里:
问
和R
环境属性。x是环境状态向量。
u是输入的力。
这个奖励是情景性奖励,累计奖励在整个训练集。
单摆的环境图像观察
这个环境是一个简单的无摩擦摆,最初是挂在一个向下的位置。培训的目标是使钟摆直立而不摔倒使用最少的控制工作。
有两个单摆环境变异,不同的行动空间。
离散,代理可以应用的转矩
2
,1
,0
,1
,或2
钟摆。连续,代理可以应用任何扭矩范围内(
2
,2
]。
创建一个简单的摆环境,使用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 |
行动
单摆的环境中,受托人与环境交互使用单一动作信号,扭矩应用于钟摆的基础。环境包含一个规范对象这个动作信号。对环境有:
是一个离散的行动空间,规范
rlFiniteSetSpec
对象。是一个持续的行动空间,规范
rlNumericSpec
对象。
更多信息获取行为规范从一个环境中,明白了getActionInfo
。
观察
在单摆环境中,代理接收以下观察信号:
50-by-50摆位置的灰度图像
导数的摆角
对于每个观测信号,包含一个环境rlNumericSpec
观测规范。所有的观察都是连续和无界。
更多信息获取观测规范的环境,看看getObservationInfo
。
奖励
这个环境是奖励的信号
在这里:
θt是摆角直立位置的位移。
摆角的导数。
ut - 1从前面的时间步长控制的努力。