音响论坛 门户 查看内容

数字化舞台布光的设计(3)

2009-8-11 09:40| 发布者: | 查看: 5030| 评论: 0

  3 闭环位置伺服控制

  在开发初期阶段,曾经使用过分段PID进行闭环位置伺服控制,通过一定的调整,可以获得较好的效果。但是分段PID控制需调整的参数较多,对于不同种类和大小的灯具,调整工作量较大,而且Ki、Kd等系数的物理意义难于向普通调试人员解释,故最终选择了模糊控制算法。它的适应性好、鲁棒性强、调整少,且"中速"、"比较接近"等参数极易为人理解,实测各参数均有较大的适应性,不用过多调整。

  典型的模糊控制器分为三个部分:输入变量模糊化、模糊推理和解模糊化。

  灯具模糊控制器的输入量为位置残差e和转角速度v,输出是发送给电机驱动模块的PWM值。如图3所示,u表示位置设定值,y表示伺服机构测量值。

  所有输入变量的模糊隶属度函数都采用角形且全交叠,如图4所示。

  e的模糊集合有五个:{大的正值,小的正值,零,小的负值,大的负值},用PB、PS、Z、NS、NB表示。

  v的模糊隶属度函数如图5所示。v的模糊集合有三个:{正,零,负},用P、Z、N表示。

  最常用的模糊推理方法有Mamdani型和Sugeno 型,两者在很多方面是相同的,不同的是Mamdani型的模糊推理后件是模糊量,而Sugeno型的模糊推理后件是线性变量或常量。比如推理规则:If Input1=x and Input2=y,then Output is z=ax+by+c中,Input1和Input2是前件,是模糊变量,z是后件,是确定的值。如果系数a=b=0,则z=c为常量,称为0阶Sugeno模型。

  每条逻辑规则的输出z的权重wi由AND算子决定,wi=AndMethod(F1(x),F2(y)),其中F1,2()是Inputs1和Inputs2的模糊隶属度函数。

  对于结论相同的逻辑规则的输出,权重wi由OR算子决定,wi=OrMetod(wi1,wi2)。

  Sugeno模型的解模糊过程较简单,最终的输出值是各结论输出zi的加权平均值:

  Output=∑wi zi/∑wi

  由于不需要像Mamdani型那样计算面积重心,Sugeno型的解模糊算法相对简单,运算量较小。

  Mamdani型和Sugeno型有各自的优势,Mamdani型的优点为:

  · 直观、符合人的习惯

  · 广泛被接受

  Sugeno型的优点为:

  · 很高的运算效率

  · 可以协同线性控制理论(如PID)

  · 可以使用优化和自适应技术

  · 可以保证输出平面的连续性

  · 可以进行数学分析

对于本项目,通过在PC机中进行的仿真和实际测试表明,二者的输出平面和控制效果相近。而Sugeno型运算量少,更适合在单片机中使用。

  模糊控制器的输出为PWM值,采用0阶Sugeno模型推理,有五个输出值:{反向高速,反向中速,停,正向中速,正向高速},由NRun、NWalk、Prone、PWalk、PRun表示,模糊逻辑推理规则见表1。

  表1 模糊逻辑揄规则   

PB,5 PS,4 Z,3 NS,2 NB,1
P,3 NRun NRun Prone Prone PRun
Z,2 NRun NWalk Prone PWalk PRun
N,1 NRun Prone Prone PRun PRun

  对于不同的灯具和自由度,NWalk和PWalk的数值是可调参数,从EEPROM中读取,因此不能使用查表方式编程,而要进行实时运算。为提高速度,在程序中所有的四则运算都是字节型和整型,避免使用浮点量,标准8051内核可以用一个指令完成,最长为4个机器周期。模糊隶属度值用0~255表示,而不是0~1,在运算最后一步再作归一化处理。

  由于在模糊控制器中缺乏积分环节,使得其无法对较小的残差作出合理的反应。例如由于电机、机构的静摩擦力的存在,当残差较小时,电机无法启动。因此在控制器的输出端叠加一个非线性的积分环节,只在残差e较小、速度v为0的时候起作用,可以再处理这种情况。

  图6是灯具伺服特性的实测曲线(俯仰自由度曲线)虚线表示设定值,实线是实际位置测量值。

作者:清华大学动化系 吕景飞 李春丈 沈宇华 (信息来源:中国电子网)

微信扫码关注公众号