使用Matlab中的强化学习训练代理作为电动机的控制器,但它根本不训练吗?

时间:2019-09-12 06:45:49

标签: matlab simulink reinforcement-learning

我正在尝试使用强化学习来训练代理作为电动机的控制器。

在阅读this example之后,我只做了一些小的修改:

  1. 将水箱模型替换为我的电动机传递函数69.4 /(s + 69.4),例如:screenshot
  2. 将采样时间Ts和模拟时间Tf分别设置为1/8000和10。 screenshot2

但是,结果是: Result

它根本没有进行培训:( 奖励始终为零。

有人可以给我一些如何解决这个问题的建议吗?

非常感谢。

1 个答案:

答案 0 :(得分:0)

您也许应该检查传递函数生成的输出值。

在水箱示例中,您具有“停止模拟”块,如果您的“高度”值超过20或小于0,该块将停止模拟。

这将说明您的每步步数为0,因为值不兼容而未采取任何步骤。