球杆系统-位置控制
在此基础上设计位移控制器, 代码如下:
float moving_loop(float set_point, float state, float velocity, float p, float i, float d) {
float e, de;
static float sum_e;
float u;
sum_e += set_point – state;
u = (p * (set_point – state) + i * sum_e – d * velocity);
return u;
}
至此所有的控制器 观测器设计完毕, 完整代码如下:
在完整代码中可以看到如何将观测器、控制器集成在一起的。
运行效果如下动图:
可以看到, 稳态时并没有高频抖动产生, 这都得益于观测器的设计。 单点稳定抗扰的效果还是可以, 但是追踪的结果很一般, 因此没有放上追踪波形图。
说点什么