主要内容

createIntegratedEnv

创建金宝app为强化学习模型,利用参考模型的环境

描述

env= createIntegratedEnv (refModel,newModel)创建一个模型金宝app®模型与所指定的名称newModel对象,并返回一个强化学习环境env这个模型。包含了一个新的模型RL代理块并使用参考模型refModel作为培训的强化学习环境所指定的代理这一块。

例子

(env,agentBlock,obsInfo,actInfo)= createIntegratedEnv (___)返回路径RL代理块在新的模型和观测和行动数据参考模型的规范,obsInfoactInfo,分别。

例子

(___)= createIntegratedEnv (___,名称,值)创建一个模型和使用港口环境界面,观察和操作使用一个或多个指定的信息名称,值对参数。

例子

全部折叠

这个例子展示了如何使用createIntegratedEnv创建一个环境对象从一个仿真软件模型,实现了系统的代理。金宝app这样一个系统通常被称为植物,开环系统,或参考系统,而整个系统(集成)包括代理通常被称为闭环系统。

对于这个示例,使用飞行机器人模型中描述火车DDPG剂来控制飞行机器人(开环)系统作为参考。

打开飞行机器人模型。

open_system (“rlFlyingRobotEnv”)

初始化状态变量和样品时间。

%初始模型状态变量theta0 = 0;x0 = -15;y0 = 0;%样品时间t = 0.4;

创建模型模型金宝appIntegratedEnv包含飞行机器人模型连接在一个封闭的循环来代理。函数返回强化学习环境对象env用于培训。

env = createIntegratedEnv (“rlFlyingRobotEnv”,“IntegratedEnv”)
env = 金宝appSimulinkEnvWithAgent属性:模型:IntegratedEnv AgentBlock: IntegratedEnv / RL代理ResetFcn: [] UseFastRestart:

函数可以返回的块路径RL代理块新的集成模型,以及观察和行动规范的参考模型。

[~,agentBlk observationInfo actionInfo] = createIntegratedEnv (“rlFlyingRobotEnv”,“IntegratedEnv”)
agentBlk = ' IntegratedEnv / RL代理'
observationInfo = rlNumericSpec属性:LowerLimit:无穷UpperLimit:正的名字:“观察”描述:[0 x0字符串]维度:1[7]数据类型:“替身”
actionInfo = rlNumericSpec属性:LowerLimit:无穷UpperLimit:正的名字:“行动”描述:[0 x0字符串]维度:[2 1]数据类型:“替身”

返回块路径和规范是有用的情况下,您需要修改描述,限制,或名字observationInfoactionInfo。修改规范之后,您可以创建一个环境的集成模型IntegratedEnv使用rl金宝appSimulinkEnv函数。

这个例子显示了如何调用createIntegratedEnv使用名称-值对将指定端口名称。

的第一个参数createIntegratedEnv的名称是什么参考金宝app仿真软件模型,包含系统的代理必须交互。这样一个系统通常被称为植物,或开环系统。对于这个示例,参考系统的模型是一个水箱。

打开开环水箱模型。

open_system (“rlWatertankOpenloop”)

集的样本时间离散积分器块用于生成观察,所以模拟可以运行。

Ts = 1;

输入端口u(而不是行动),第一个和第三个输出端口y停止(而不是观察结束)。指定的端口名称使用名称-值对。

env = createIntegratedEnv (“rlWatertankOpenloop”,“IntegratedWatertank”,“ActionPortName”,“u”,“ObservationPortName”,“y”,“IsDonePortName”,“停止”)
env = 金宝appSimulinkEnvWithAgent属性:模型:IntegratedWatertank AgentBlock: IntegratedWatertank / RL代理ResetFcn: [] UseFastRestart:

新模型IntegratedWatertank包含了参考模型与代理块连接在一个闭环。强化学习环境的函数也返回对象用于培训。

输入参数

全部折叠

参考模型名称,指定为字符串或字符向量。这是实现系统的仿真软件模金宝app型需要与代理。这样一个系统通常被称为植物,开环系统或参考系统,而整个系统(集成)包括代理通常被称为闭环系统。新的仿真软件模型金宝app使用该参考模型的动态模型强化学习环境。

新模型名称,指定为字符串或字符向量。createIntegratedEnv创建一个仿真软件模型金宝app与这个名字,但不保存模型。

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:“IsDonePortName”、“stopSim”设置stopSim港的来源的参考模型结束信号。

参考模型观察输出端口名称,指定为逗号分隔组成的“ObservationPortName”和一个字符串或字符向量。指定ObservationPortName当观察输出端口的名称的参考模型“观察”

参考模型操作输入端口名称,指定为逗号分隔组成的“ActionPortName”和一个字符串或字符向量。指定ActionPortName当行动的名称输入端口的参考模型“行动”

参考模型奖励输出端口名称,指定为逗号分隔组成的“RewardPortName”和一个字符串或字符向量。指定RewardPortName当奖励输出端口的名称的参考模型“奖励”

参考模型做国旗输出端口名称,指定为逗号分隔组成的“IsDonePortName”和一个字符串或字符向量。指定IsDonePortName当完成信号输出端口的名称的参考模型“结束”

观察汽车的名字叶子元素创建规范,指定为一个字符串数组。创建观测规范的一个子集元素在仿真软件总线对象,指定金宝appBusElementNames。如果你不指定BusElementNames,创建一个数据规范在公共汽车上为每个叶子元素。

ObservationBusElementNames适用于只有当观察输出端口是一个总线信号。

例子:“ObservationBusElementNames”,(“罪”“因为”)为观察总线创建规范的元素名称“罪”“因为”

有限值离散观测规范元素,指定为逗号分隔组成的“ObservationDiscreteElements”和一个单元阵列名称-值对。每一个名称-值对由一个元素名称和离散值的数组。

如果观察参考模型的输出端口:

指定的离散值必须到指定的数据类型浆料观察信号。

如果你不指定离散值的观测规范元素,该元素是连续的。

例子:ObservationDiscretElements,{“观察”,[1 0 1]}指定nonbus观测信号的离散值与默认端口名称观察

例子:ObservationDiscretElements,{“齿轮”,[1 0 1 2],“方向”,(1 2 3 4)}指定的离散值“装备”“方向”叶元素总线操作信号。

有限值离散行动规范元素,指定为逗号分隔组成的“ActionDiscreteElements”和一个单元阵列名称-值对。每一个名称-值对由一个元素名称和离散值的数组。

如果操作输入端口的参考模型是:

  • 一个总线信号,指定总线的一片叶子元素的名称

  • Nonbus信号,指定名称的端口,指定的ActionPortName

指定的离散值必须到指定的数据类型浆料行动信号。

如果你不指定一个操作规范的离散值元素,该元素是连续的。

例子:ActionDiscretElements,{“行动”,[1 0 1]}指定nonbus行动信号离散值与默认端口名称“行动”

例子:ActionDiscretElements,{‘力’,(-10 0),“扭矩”,(5 0 5)}指定的离散值“力”“扭矩”叶元素总线操作信号。

输出参数

全部折叠

强化学习环境界面,作为一个返回金宝appSimulinkEnvWithAgent对象。

块路径代理块在新模型中,作为一个特征向量返回。训练一个代理在新的仿真软件模型,必须创建一个代理和指定的代金宝app理名称RL代理块所示agentBlock

创建代理的更多信息,见强化学习代理

观测数据规范,返回以下之一:

  • rlNumericSpec对象为单个连续观测规范

  • rlFiniteSetSpec对象为单个离散观测规范

  • 数组的数据规范对象为多个规格

规范操作数据,返回以下之一:

  • rlNumericSpec对象一个连续动作规范

  • rlFiniteSetSpec对象为一个离散的行动规范

  • 数组数据规范对象的多个操作规范

版本历史

介绍了R2019a