基申·马哈德万,马修斯
采用强化学习和DDPG算法对永磁同步电机进行磁场定向控制。本演示在标准面向现场的控制体系结构的内环中将两个PI控制器替换为强化学习代理,并展示如何使用强化学习工作流设置和培训代理。
在这个 视频 我们展示如何 使用强化学习进行面向现场的控制 A. 永磁同步电动机。
为了展示这一点,我们从一个使用典型磁场定向控制体系结构的示例开始,其中外环控制器负责速度控制;而内环 圆周率 控制器负责控制d轴和q轴电流。
然后,我们创建并验证 强化学习代理 它取代了此体系结构的内环控制器。
当系统是非线性的时,使用RL代理尤其有益,在这种情况下,我们可以训练单个RL代理,而不是在多个操作条件下调整PI控制器。
在本例中,我们使用线性电机模型展示了使用强化学习的磁场定向控制工作流,对于复杂的非线性电机,该工作流也保持不变。
让我们看看实现面向现场控制体系结构的万博1manbetxSimulink模型。
该模型包含两个控制回路:外部速度回路和内部电流回路。
外环在“速度控制”子系统中实现,它包含一个PI控制器,负责为内环生成参考电流。
内环在“电流控制”子系统中实现,包含两个PI控制器,用于确定dq帧中的参考电压。
然后,参考电压用于生成适当的PWM信号,控制逆变器的半导体开关,然后驱动永磁同步电机以实现所需的转矩和磁通。
让我们继续运行Simulink模型。 万博1manbetx
我们可以看到,控制器的跟踪性能良好,能够跟踪期望的速度。
让我们保存此结果,以便稍后与强化学习控制器进行比较。
现在,我们更新现有模型,用强化学习代理块替换当前回路中的两个PI控制器。
在这个例子中,我们使用DDPG作为强化学习算法,它同时训练一个参与者和一个批评家来学习一个使长期回报最大化的最优策略。
一旦Simulin万博1manbetxk模型 使用强化学习块进行更新,然后我们按照强化学习工作流设置、训练和模拟控制器。
强化学习工作流程如下:
第一步是创建一个环境。在本例中,我们已经有了一个Simulink模型,其中包含使用“电厂和逆变器”子系统中的电机控制块集和Simscape Elect万博1manbetxrical建模的永磁同步电机。
然后,我们使用此Simulink模万博1manbetx型创建一个具有适当观察和操作的强化学习环境界面。
在这里,对强化学习块的观察是定子电流“id错误”和“iq错误”以及定子电流“id”和“iq”中的错误。
动作是定子电压“vd”和“vq”。
接下来,我们创建奖励信号,让强化学习代理根据其与环境的交互,知道其在训练期间选择的动作的好坏。
在这里,我们根据惩罚距离目标和控制努力的二次奖励惩罚形成奖励。
然后我们继续创建网络体系结构。
在这里,我们按照DDPG算法的要求,使用MATLAB函数以编程方式为层和表示构建参与者和批评家网络。
也可以使用Deep Network Designer应用程序构建神经网络,然后将其导入MATLAB。
本例中的批评家网络将观察值和动作作为输入,并给出估计的Q值作为输出。
另一方面,参与者网络将观察值作为输入,并将动作作为输出。
通过创建演员和评论家表示,我们可以创建DDPG代理。
DDPG代理的采样时间根据控制回路的执行要求进行配置。
一般来说,样本时间较小的代理需要更长的时间进行训练,因为它涉及到每个事件中更多的模拟步骤。
我们现在准备培训代理。
首先,我们指定培训选项。
在这里,我们指定要运行最多2000集的培训,如果平均奖励超过提供的值,则停止培训。
然后,我们使用“训练”命令开始训练过程。
通常,最佳做法是在训练过程中将参考信号随机分配给控制器,以获得更稳健的策略。这可以通过为环境编写局部重置函数来实现。
在培训过程中,可以在事件管理器中监控进度。
一旦培训完成,我们就可以模拟和验证来自经过培训的代理的控制策略。
通过用训练好的agent对模型进行仿真,我们发现增强学习agent控制定子电流时,磁场定向控制的速度跟踪性能良好。
在使用先前保存的输出查看此性能时,我们发现使用强化学习代理的场定向控制的性能与其PI控制器的性能相当。
视频到此结束。
您还可以从以下列表中选择网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家/地区网站未针对您所在地的访问进行优化。