文档帮助中心文档
创建万博1manbetx基于参考模型的强化学习模型
env = createIntegratedEnv (refModel newModel)
[env,agentBlock,obsInfo,actInfo]=createIntegratedEnv(___)
[___]=createIntegratedEnv(___、名称、值)
env= createIntegratedEnv (refModel,新模型)创建一个Simuli万博1manbetxnk®具有由指定的名称的模型新模型并返回一个强化学习环境对象,env,用于这个模型。新型号包含一个RL代理块并使用参考模型refModel作为强化学习环境,用于培训本模块指定的代理。
env= createIntegratedEnv (refModel,新模型)
env
refModel
新模型
实例
[env,agentBlock,obsInfo,actInfo]=createIntegratedEnv(___)的块路径RL代理块在新模型和观察和动作数据规范的参考模型,obsInfo和actInfo分别地
[env,agentBlock,obsInfo,actInfo]=createIntegratedEnv(___)
agentBlock
obsInfo
actInfo
[___]=createIntegratedEnv(___,名称,值)使用使用一个或多个指定的端口、观察和操作信息创建模型和环境接口名称,值对参数。
[___]=createIntegratedEnv(___,名称,值)
名称,值
全部折叠
这个示例使用:
这个例子展示了如何使用createIntegratedEnv从Simulink模型开始创建环境对象,该模型实现代理使用的系统。此类系统通常称为万博1manbetx植物开环系统,或参考系统,而包括代理在内的整个(集成)系统通常被称为闭环系统。
createIntegratedEnv
对于本例,使用中描述的飞行机器人模型训练DDPG Agent控制飞行机器人作为参考(开环)系统。
打开飞行机器人模型。
open_system (“rlflyingrobotev”)
初始化状态变量和采样时间。
%初始模型状态变量theta0 = 0;x0 = -15;y0 = 0;%样品时间t = 0.4;
创建Simulink模万博1manbetx型IntegratedEnv包含以闭环方式连接到智能体块的飞行机器人模型。该函数还返回强化学习环境对象env用于训练。
IntegratedEnv
env = createIntegratedEnv (“rlflyingrobotev”,“集成环境”)
env=Si万博1manbetxmulinkEnvWithAgent,具有以下属性:模型:IntegratedEnv代理程序块:IntegratedEnv/RL代理程序重置FCN:[]使用FastRestart:打开
该函数还可以将块路径返回到新集成模型中的RL Agent块,以及参考模型的观察和操作规范。
[~, agentBlk observationInfo actionInfo] = createIntegratedEnv (“rlflyingrobotev”,“集成环境”)
agentBlk = 'IntegratedEnv/RL Agent'
observationInfo=rlNumericSpec,属性:LowerLimit:-Inf上限:Inf名称:“观测”说明:[0x0字符串]维度:[7 1]数据类型:“双”
actionInfo = rlNumericSpec with properties: LowerLimit: -Inf UpperLimit: Inf Name: "action" Description: [0x0 string] Dimension: [2 1] DataType: "double"
在需要修改中的描述、限制或名称的情况下,返回块路径和规范非常有用观测信息和行动信息。修改规范后,可以从集成模型创建环境IntegratedEnv使用rl万博1manbetxSimulinkEnv函数。
观测信息
行动信息
rl万博1manbetxSimulinkEnv
这个例子展示了如何调用createIntegratedEnv使用名称-值对指定端口名称。
第一个论点createIntegratedEnv是什么名字参考万博1manbetx包含代理必须与之交互的系统的Simulink模型。此类系统通常称为植物或开环系统。在这个例子中,参考系统是一个水箱的模型。
打开开环式水箱模型。
open_system (“rlWatertankOpenloop”)
设置用于生成观测的离散积分器块的采样时间,以便模拟运行。
Ts=1;
输入端口被调用U(而不是行动),并调用第一和第三个输出端口Y和停止(而不是观察和伊斯通).使用名称-值对指定端口名称。
U
行动
Y
停止
观察
伊斯通
env = createIntegratedEnv (“rlWatertankOpenloop”,“IntegratedWatertank”,...“ActionPortName”,“你”,“ObservationPortName”,“y”,“IsDonePortName”,“停止”)
env = 万博1manbetxSimulinkEnvWithAgent with properties: Model: IntegratedWatertank AgentBlock: IntegratedWatertank/RL Agent ResetFcn: [] UseFastRestart: on . env = SimulinkEnvWithAgent with properties: Model: IntegratedWatertank AgentBlock: IntegratedWatertank/RL Agent ResetFcn: [
新模式IntegratedWatertank包含与代理块在一个闭环中连接的参考模型。该函数还返回用于训练的强化学习环境对象。
IntegratedWatertank
引用模型名称,指定为字符串或字符向量。这是实现代理需要与之交互的系统的Simulink模型。此类系统通常称为万博1manbetx植物,开环系统或参考系统,而包括代理在内的整个(集成)系统通常被称为闭环系统。新的Simuli万博1manbetxnk模型将此参考模型作为强化学习环境的动态模型。
新模型名称,指定为字符串或字符向量。createIntegratedEnv使用此名称创建一个S万博1manbetximulink模型,但不保存该模型。
指定可选的逗号分隔的对名称,值参数。名称参数名和价值为对应值。名称必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家.
名称
价值
Name1, Value1,…,的家
'IsDonePortName','stopSim'
stopSim
ObservationPortName
“观察”
参考模型观测输出端口名称,指定为逗号分隔对,由“ObservationPortName”和字符串或字符向量。指定ObservationPortName当参考模型的观测输出端口的名称不是“观察”.
“ObservationPortName”
ActionPortName
“行动”
引用模型动作输入端口名,指定为逗号分隔对组成“ActionPortName”和字符串或字符向量。指定ActionPortName当引用模型的操作输入端口的名称不是时“行动”.
“ActionPortName”
奖品名称
“奖励”
参考模型奖励输出端口名,指定为逗号分隔对组成“RewardPortName”和字符串或字符向量。指定奖品名称当参考模型的奖励输出端口的名称不是“奖励”.
“RewardPortName”
IsDonePortName
“结束”
参考模型完成标志输出端口名,指定为逗号分隔对组成“IsDonePortName”和字符串或字符向量。指定IsDonePortName当参考模型的完成标志输出端口的名称不是“结束”.
“IsDonePortName”
ObservationBusElementNames
要为其创建规范的观察总线叶元素的名称,指定为字符串数组。要为Simulink总线对象中的元素子集创建观察规范,请指定万博1manbetx总线元件名称.如果没有指定总线元件名称,则为总线中的每个叶元素创建一个数据规范。
总线元件名称
ObservationBusElementNames仅当观测输出端口为总线信号时适用。
例子:“ObservationBusElementNames”,(“罪”“因为”)使用名称为观测总线元素创建规范“罪”和“cos”.
“ObservationBusElementNames”,(“罪”“因为”)
“罪”
“cos”
观测离散元
离散观测规范元素的有限值,指定为逗号分隔对,由“ObservationDiscreteElements”以及名称-值对的单元格数组。每个名称-值对由一个元素名称和一个离散值数组组成。
“ObservationDiscreteElements”
如果参考模型的观测输出端口为:
一个总线信号,指定总线中指定的叶元素之一的名称ObservationBusElementNames
非总线信号,指定观察端口的名称,如ObservationPortName
指定的离散值必须能够转换为指定的观测信号的数据类型。
如果未为观测规范元素指定离散值,则该元素是连续的。
例子:ObservationDiscretElements,{“观察”,[1 0 1]}指定带有默认端口名的非总线观测信号的离散值观察.
ObservationDiscretElements,{“观察”,[1 0 1]}
例子:'ObservationDiscretElements',{'gear',[-1 0 1 2],'direction',[1 2 3 4]}的离散值“装备”和“方向”总线动作信号的叶元素。
'ObservationDiscretElements',{'gear',[-1 0 1 2],'direction',[1 2 3 4]}
“装备”
“方向”
谨慎行动
离散动作规范元素的有限值,指定为逗号分隔对,由“谨慎行动”以及名称-值对的单元格数组。每个名称-值对由一个元素名称和一个离散值数组组成。
“谨慎行动”
如果参考模型的操作输入端口为:
一个总线信号,指定总线的叶元素的名称
非总线信号,指定操作端口的名称,如ActionPortName
指定的离散值必须可强制转换为指定动作信号的数据类型。
如果未为动作规范元素指定离散值,则该元素是连续的。
例子:'ActionDiscreteElements',{'action',[-10-1]}为带有默认端口名的非总线动作信号指定离散值“行动”.
'ActionDiscreteElements',{'action',[-10-1]}
例子:'ActionDiscretElements',{'force',[-10 0 10],'torque',[-5 0 5]}的离散值“力”和“扭矩”总线动作信号的叶元素。
'ActionDiscretElements',{'force',[-10 0 10],'torque',[-5 0 5]}
“力”
“扭矩”
万博1manbetxSimulinkEnvWithAgent
强化学习环境界面,返回为万博1manbetxSimulinkEnvWithAgent对象。
新模型中代理块的块路径,作为字符向量返回。若要在新Simulink模型中训练代理,必须创建代理并在中指定代理名称万博1manbetxRL代理块所示agentBlock.
有关创建代理的详细信息,请参见强化学习代理.
rlNumericSpec
rlFiniteSetSpec
观察数据规格,返回如下:
rlNumericSpec对象为单一连续观测规范
rlFiniteSetSpec单一离散观测规范的对象
多个规范的数据规范对象数组
操作数据规范,返回如下内容之一:
rlNumericSpec对象的一个连续操作规范
rlFiniteSetSpec单个离散动作规范的对象
用于多个操作规范的数据规范对象数组
bus2RLSpec
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站以获取可用的翻译内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家/地区站点不适合您所在位置的访问。
与当地办事处联系