此示例显示如何在Simulink®中培训用于自适应巡航控制(ACC)的深度确定性政策梯度(DDPG)代理。金宝app有关DDPG代理商的更多信息,请参阅<一种href="//www.tatmou.com/es/help/reinforcement-learning/ug/ddpg-agents.html" class="a">深度确定性政策梯度代理 此示例的增强学习环境是自助式汽车和铅轿车的简单纵向动态。培训目标是使自助式汽车以设定的速度行驶,同时通过控制纵向加速和制动来维持沿线轿厢的安全距离。此示例使用相同的车型模型<一种href="//www.tatmou.com/es/help/mpc/ug/adaptive-cruise-control-using-model-predictive-controller.html" class="a">基于模型预测控制的自适应巡航控制系统 指定两辆车的初始位置和速度。 指定静止默认间隔(m),时间间隙和驱动器设置速度(M / s)。 为了模拟车辆动态的物理限制,约束到范围的加速度 定义采样时间 打开模型。 对于此模型: 来自代理到环境的加速动作信号来自-3到2 m / s ^ 2。 自助式汽车的参考速度 环境的观察是速度误差 当自助车的纵向速度小于0的纵向速度或引线轿厢和自助轿车之间的相对距离变得小于0时,模拟终止。 奖励
在哪里 为模型创建增强学习环境界面。 创建观察规范。 创建动作规范。 创建环境界面。 要定义引线轿厢位置的初始条件,请使用匿名功能手柄指定环境复位功能。重置功能 修复了可重复性的随机生成器种子。 DDPG代理近似于使用批评价值函数表示,给定的长期奖励和操作。要创建评论家,首先创建一个具有两个输入,状态和动作的深度神经网络,以及一个输出。有关创建神经网络值函数表示的更多信息,请参阅<一种href="//www.tatmou.com/es/help/reinforcement-learning/ug/create-policy-and-value-function-representations.html" class="a">创建策略和值函数表示 查看批评批评网络配置。 指定使用批评者的选项<一种href="//www.tatmou.com/es/help/reinforcement-learning/ref/rlrepresentationoptions.html" class="a"> 使用指定的神经网络和选项创建批读表示。您还必须指定从环境界面获取的批评者的操作和观察信息。有关更多信息,请参阅<一种href="//www.tatmou.com/es/help/reinforcement-learning/ref/rlqvaluerepresentation.html" class="a"> DDPG代理决定通过使用演员表示来考虑观察的行动。要创建演员,首先创建一个输入的深度神经网络,一个输入,观察和一个输出,动作。 与批评者同样地构建演员。有关更多信息,请参阅<一种href="//www.tatmou.com/es/help/reinforcement-learning/ref/rldeterministicactorrepresentation.html" class="a"> 要创建DDPG代理,首先使用DDPG代理选项使用<一种href="//www.tatmou.com/es/help/reinforcement-learning/ref/rlddpgagentoptions.html" class="a"> 然后,使用指定的Actor表示,批评者表示和代理选项创建DDPG代理。有关更多信息,请参阅<一种href="//www.tatmou.com/es/help/reinforcement-learning/ref/rlddpgagent.html" class="a"> 要培训代理,首先指定培训选项。对于此示例,请使用以下选项: 每一集最多运行一次 在Episode Manager对话框中显示培训进度。 当代理收到大于260的集奖励时停止培训。 有关更多信息,请参阅<一种href="//www.tatmou.com/es/help/reinforcement-learning/ref/rltrainingoptions.html" class="a"> 训练特工使用<一种href="//www.tatmou.com/es/help/reinforcement-learning/ref/rl.agent.rlqagent.train.html" class="a"> 要验证培训的代理的性能,请通过取消注释以下命令来模拟Simulink环境中的代理。金宝app有关代理模拟的更多信息,请参阅<一种href="//www.tatmou.com/es/help/reinforcement-learning/ref/rlsimulationoptions.html" class="a"> 要使用确定性初始条件展示培训的代理,请在Simulink中模拟模型。金宝app 以下情节显示了当铅轿车在自助轿厢之前70(m)时显示仿真结果。 在前28秒,相对距离大于安全距离(底部图),所以自我汽车轨迹设定速度(中间图)。为了加速并达到设定的速度,加速度是正的(上图)。 从28到60秒,相对距离小于安全距离(底部图),因此自我车辆追踪引线速度和设定速度的最小值。从28到36秒,引线速度小于设定的速度(中间图)。为了减速并跟踪铅轿厢速度,加速是负(顶部图)。从36到60秒,自助式汽车调整其加速以跟踪参考速度(中间图)。在此时间间隔内,自助式汽车将设定的速度从43到52秒追踪,并将引线速度从36到43秒跟踪到52到60秒。 关闭Simulink金宝app模型。金宝appSimulink模型
x0_lead = 50;
D_default = 10;t_gap = 1.4;v_set = 30;
amin_ego = -3;Amax_ego = 2;
t = 0.1;Tf = 60;
mdl =
创建环境界面
观察info = rlnumericspec([3 1],
actionInfo = rlNumericSpec([1 1],
env = rl金宝appSimulinkEnv (mdl agentblk、observationInfo actionInfo);
env.resetfcn = @(in)localresetfcn(in);
rng (
创建DDPG代理
l = 48;
情节(批评性)
rlrepresentationOptions.
QuandOptions = rlrepresentationOptions(
rlqvalueerepresentation
评论家= rlqvalueerepresentation(批评,观察invo,afticeinfo,
RLDETerminyActorRepresentation
ActorNetWork = [FeatureInputLayer(3,
rlddpgagentoptions.
AgentOptions = RLDDPGagentOptions(
rlddpgagent.
代理= rlDDPGAgent(演员、评论家、agentOptions);
火车代理
rltringOptions.
maxepisodes = 5000;maxsteps =装天花板(Tf / Ts);trainingOpts = rlTrainingOptions (
火车
dotraining = false;
模拟DDPG代理
rlSimulationOptions
SIM
%simoptions = rlsimulationoptions('maxsteps',maxsteps);
x0_lead = 80;SIM(MDL)
BdClose(MDL)
重置功能
功能
也可以看看
相关话题