您的位置:网站首页 > Proe教程

Proe运动单神经元控制仿真

时间:2011-08-14 08:10:37 来源:未知

今天帮师兄做Proe的仿真,用的Custom Load仿真,使用单神经元算法控制双层台的精确定位,发现了一些现象,小结一下吧。

 

 

首先,仿真跟采样时间有很大的关系,如果采样时间过大,那么相当于控制过慢,人家机械按你之前的控制量都动了半天了,才计算下一个控制量,必然导致控制跟不上运动;而如果采样时间过小,一点小的波动你也去控制,容易引起控制的震荡。所以一个算法的有效性是和采样时间的设置有密切关系的,这点在之前的纯算法仿真上还真没注意到,因为纯算法仿真时,只是设定要用的采样时间就不管了,它的影响不会引起注意。如下面的图,好的采样时间下,效果很好;采样时间如果过大,则如第二张图,控制不及时,在开始时震荡剧烈,也就是人家已经按你第一步算的走了半天,已经偏离很大了,你才去控制,引起初期的震荡;如果采样时间过小,如第三张图,微小的振动或者允许的小偏差,你都要控制一下,引起震荡停不下来,稍不注意就跑飞了。

image

image

image

 

其次,关于单神经元算法,他实际上是单神经元在不断调整PID的3个系数,使它达到最好的PID控制系数,这也是与简单PID最大的区别,简单PID当你设置好3个系数后,就不动了,控制不好也没办法,只有通过不断尝试,找到最好的系数,然后一开始就用它。而神经网络是不断调整PID的系数,使它不断趋近于最好的控制系数,如果初始设置的PID系数离理想的系数相差很远,就要设置大的学习速率,知道找到稳定的PID系数后,以此PID系数作为开始时的初始系数,然后就可以调小学习速率了,这样相当于可以达到对外界小干扰的抑制,即允许PID系数在小范围内波动以适应外界的干扰。对于那个K,它是整体控制逼近理想PID系数的阀门,起整体调节作用。

image

举个例子来说吧,上图的三个系数是比较理想的系数,如果开始时不知道,设成了如下,就要将D的学习速率也调大,以尽快达到理想的D值,控制结果如下图

image

image

这个图和最上面的图可以看到,开始时由于PID系数不是理想系数,所以有个调节过程,从而使稳定时间变长了,如果以稳定后的PID的值作为开始值,那就得到最上面最好的效果了。#p#分页标题#e#