我有一个问题,我需要限制PID控制器的输出,所以它需要“监视”两个值。
我有一个摆动系统,比如说摆摆,摆角度为phi。我想减少这个摆动与其他系统,这是一个陀螺仪。减小与陀螺进动角(α)的速率成正比,因此phi_reduced = phi * alpha_dot,A是某种比例增益。
在理想情况下,采用PID控制器控制陀螺角的转矩控制,作为误差监测phi和0的误差。这一切都实现如下所示的图像,工作像一个魅力,但现在有一个限制因素:最大进动(陀螺仪)角度限制在150度.目前,没有限制,这个最大的陀螺角度大概是1500度,所以这是个问题。
所以我必须限制控制陀螺仪的扭矩,这个限制是没有超过的。我如何做到这一点,而不创建两个PID控制器之间的“战斗”(一个增加,一个减少)?
如需澄清,请参阅图像

发布于 2015-07-23 16:36:46
对于一个简单的限制实现,可以使用saturation块,就像在am304s answer中一样。但你应该知道你在做什么。饱和PID控制器会导致应该考虑的integral wind-up (没有深入了解模型,它是否真的会发生)。
在保存端,使用PID控制器块的饱和选项,并在需要时包括一个anti-wind-up method。

发布于 2015-07-23 14:57:31
计算出你的最大扭矩应该是什么,给你想要的最大角度,并在你的PID控制器的输出添加一个饱和块,参数化了以前计算的最大扭矩值。
https://stackoverflow.com/questions/31589977
复制相似问题