我正在尝试使用PID来稳定由以下差分方程描述的系统:

$$ y_ {k + 1} = y_k \ sqrt {(1-y_k)} ~~~ + b y_ {k-1}〜+ c u_k $$

在这种情况下,我可以使用Ziegler-Nichols规则查找PID参数吗?

更精确。我的系统是一个Apache Http Server,尤其是我正在尝试对CPU负载如何改变KeepAlive参数的功能进行建模。当KeepAlive增长时,cpu负载应减少。

因此:

$$ cpu_ {k + 1} = \ cdot cpu_k \ sqrt {(1-cpu_k)}〜 ~~ + b \ cdot cpu_ {k-1}〜+ c \ cdot keepAlive_k $$

显然,Cpu负载是标量$ \ in [0,1] $,$ keepAlive $只是时间和$ a,b,c $参数通过实验数据和它们的多元回归对我而言是已知的。

评论

有了额外的信息,我开始怀疑这实际上与机器人技术有什么关系。实际上,您可能在其他地方有更好的运气。

我真的只看到如果$ a $和$ b $都比一个小得多,就可以由PID控制器进行控制-否则,CPU负载的动态将因$ cpu $的值而变化很大,并且甚至变得不稳定。您尚未选择解决此问题的简便方法。

#1 楼

首先,您没有提供足够的信息。您的方程是非线性的,这意味着所描述的系统的行为不仅取决于差分方程的系数,还取决于$ y $可以取值的范围。从事物的外观来看,$ y $限制为0越近,您越可以将整个事物视为线性系统,并对其应用PID控制。只是没有在这里指出。 Z-N的发明是一种针对特性未知的工业工厂的临时调整方法。它既不能保证结果的稳定性,也不能保证结果的性能-并假设您知道$ a $,$ b $和$ c $的值,那么您拥有具有已知特征的工厂!即使知道设备的特性,ZN确实也只是达到调整起点的好方法。 Z-N往往会导致系统阻尼不足,而且正如我提到的那样,它既不能保证稳定性也不能保证性能。如果您不喜欢嗡嗡声和尖叫声,并且不喜欢在实验室设备后面进行掩护,则可以使用基于阶跃响应的某种系统标识,但是根据我在伺服系统方面的经验,可以发现频率响应基于设计的设计在您需要使用测量值时更为出色。

无论做什么,您都需要考虑$ y $的值变化对系统的影响。如果导数
$$ \ frac {d} {dy} y \,\ sqrt {1-y} $$相差超过百分之几,那么您需要进行设计以适应不同的系统特性。如果该导数变化两倍或更多,那么您需要考虑某种非线性控制器的可能性,无论您最终可能会遇到困难和变态的设计,还是只需要拉一下喇叭并接受您将在$ y $的大多数范围内拥有严重失调的系统。

有关更多信息,请参见嵌入式系统的应用控制理论。

评论


$ \ begingroup $
您好,我刚刚更新了问题,添加了更多详细信息
$ \ endgroup $
– Edge7
13年5月31日在21:01