Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm PID控制器-错误=0时的直觉_Algorithm_Control Theory - Fatal编程技术网

Algorithm PID控制器-错误=0时的直觉

Algorithm PID控制器-错误=0时的直觉,algorithm,control-theory,Algorithm,Control Theory,我用一个影响输出的输入参数模拟了一个PID控制器,并设置了Kp=0.2、Kp=0.5、Kd=0,这似乎是我实际期望的最佳值。 然而,有一件事我无法理解,那就是当错误为0时控制器如何启动的直觉。一、 例如,我的目标是2,输出是2,输入变量是,比如说,4-控制器会将下一个输入设置为0-尽管4是一个完美的值 是否有某种理论上合理的方法使算法的第一步考虑到一些“初始猜测”,并且在过程开始时不会偏离轨道?PID控制器中唯一的状态是积分的当前值,如果你有一些关于可能的稳态误差的额外信息,将其设置为非零值会很

我用一个影响输出的输入参数模拟了一个PID控制器,并设置了Kp=0.2、Kp=0.5、Kd=0,这似乎是我实际期望的最佳值。 然而,有一件事我无法理解,那就是当错误为0时控制器如何启动的直觉。一、 例如,我的目标是2,输出是2,输入变量是,比如说,4-控制器会将下一个输入设置为0-尽管4是一个完美的值


是否有某种理论上合理的方法使算法的第一步考虑到一些“初始猜测”,并且在过程开始时不会偏离轨道?

PID控制器中唯一的状态是积分的当前值,如果你有一些关于可能的稳态误差的额外信息,将其设置为非零值会很有帮助

实际上,您可能只想使用PID控制器几次,看看积分通常取什么值,并将其用作起始值

如果您有一些附加信息,例如知道输入x的正确输出为y,那么您可以将公式反转以找到正确的积分,如下所示:

output = input * Kp + Integral * Ki
 => y = x * Kp + Integral * Ki
 => Integral = ( y - x * Kp) / Ki

你把这个标记错了,在一个完全不同的环境中看到这样一个众所周知的首字母缩略词而没有任何介绍或任何东西,感觉很奇怪。谢谢-删除了pid标记我明白了,但是如果我没有弄错的话,这个等式应该是input=errorKp+IntegralKi(其中error是输出设定点,我们仍然可以算出整数的值)对吗?是的,你说得很对,根据这个公式,我们假设误差=0,然后求解积分=input/KIT这是“无扰动”初始化或过程中调整Kp、Ki、Kd参数的关键:反向计算状态变量,为新参数集提供相同的输出。