球杆系统-位置控制

在此基础上设计位移控制器, 代码如下:

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;
}

 

至此所有的控制器 观测器设计完毕, 完整代码如下:

beam_ball

在完整代码中可以看到如何将观测器、控制器集成在一起的。

运行效果如下动图:

可以看到, 稳态时并没有高频抖动产生, 这都得益于观测器的设计。 单点稳定抗扰的效果还是可以, 但是追踪的结果很一般, 因此没有放上追踪波形图。

说点什么

avatar
  Subscribe  
提醒
error: Content is protected !!