一种适用于伺服控制器的控制算法的制作方法

文档序号:11152995阅读:来源:国知局

技术特征:

1.一种适用于伺服控制器的控制算法,其特征在于:具体包括以下步骤:

步骤1,利用粒子群优化算法求PID控制器的Kp、Ki、Kd

步骤2,在模糊控制器输入端输入e、ec,按照模糊规则,得出Kp、Ki、Kd的变化值ΔKp、ΔKi、ΔKd

步骤3,将ΔKp、ΔKi、ΔKd分别与Kp、Ki、Kd相加,作为新的PID控制器的参数,输入给PID控制器,即可进行控制。

2.根据权利要求1所述的一种适用于伺服控制器的控制算法,其特征在于:

步骤1的具体步骤如下:

步骤1.1,初始化种群粒子规模、迭代次数、监测邻域粒子浓度上限δ,设置粒子速度与空间搜索范围,设置输出量和输入量之间的标准误差e0(t),并对第一代粒子进行PID参数编码;

步骤1.2,计算当前代粒子群适合度值,找到当前粒子的最佳位置Pbestij和种群最佳位置Gbestj

步骤1.3,将粒子所在的当前代数与步骤1.1初始化代数进行比较,判断粒子所在的当前代数是否达到最大代数,若达到最大代数,则转到步骤1.8步执行;反之,执行步骤1.4;

步骤1.4,根据步骤1.3找到的当前粒子的最佳位置Pbestij和种群最佳位置Gbestj,计算监测邻域中的粒子个数,判断粒子种群是否满足多样性要求:若满足,则跳转至步骤1.6;反之,则执行步骤1.5;

步骤1.5,根据步骤1.2所得的粒子群适合度值,计算粒子被选中变异的概率,根据计算的变异概率确定进行变异的粒子;

步骤1.6,将步骤1.5选取的变异粒子进行变异,更新每一个粒子的位置,代数迭代加1;

步骤1.7,将当代粒子的输出量和输入量之间的误差e(t)与步骤1.1预设的标准误差e0(t)进行比较,当e(t)≤e0(t)时,执行步骤1.8,反之,则返回执行步骤1.2;

步骤1.8,输出PID控制器中的Kp、Ki、Kd参数。

3.根据权利要求2所述的一种适用于伺服控制器的控制算法,其特征在于:所述步骤1.2的具体过程如下:

步骤1.2.1,据PID的特性以及误差的要求,选取适合度函数f(t)的公式如下:

<mrow> <mi>f</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <msubsup> <mo>&Integral;</mo> <mn>0</mn> <mi>&infin;</mi> </msubsup> <mi>t</mi> <mo>|</mo> <mi>e</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>|</mo> <mi>d</mi> <mi>t</mi> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

步骤1.2.2,根据如下公式(2)计算粒子适合度值fitnessi

fitnessi=f(t)|(b(k,i),b(k-1,i),b(k-2,i),...,b(1,i)) (2);

其中,fitnessi表示第i个粒子的适合度,b(i,j)表示第i个粒子在第j维的位置,j=1,2,3…k,k表示粒子在空间上的最大维数。

4.根据权利要求2所述的一种适用于伺服控制器的控制算法,其特征在于:

所述步骤1.4的具体过程如下:

步骤1.4.1,定义监测邻域φ为:

φ={Pbestij|||Pbestij-Gbestj||2<ε} (3);

其中,||Pbestij-Gbestj||2表示粒子个体i最优位置Pbestij与全局最优位置Gbestj的空间距离,ε为粒子个体i最优位置Pbestij与全局最优位置Gbestj之间的标准距离,ε趋于0,ε表示监测邻域大小;

<mrow> <mo>|</mo> <mo>|</mo> <msub> <mi>Pbest</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>Gbest</mi> <mi>j</mi> </msub> <mo>|</mo> <msub> <mo>|</mo> <mn>2</mn> </msub> <mo>=</mo> <msqrt> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>Q</mi> </munderover> <msup> <mrow> <mo>(</mo> <msub> <mi>Pbest</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>Gbest</mi> <mi>j</mi> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </msqrt> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

其中,Q表示寻优空间维数,Pbestij和Gbestj分别是第i个粒子和全局粒子当前所经过的第j维最佳位置;

步骤1.4.2,记Nφ为监测邻域φ中的粒子个数,Nφ开始会被初始化为0,当计算监测邻域φ的粒子数量时,每计算出一个满足公式(3)要求的粒子的时,Nφ加1;

步骤1.4.3,根据如下公式(5)计算种群预设的粒子数量:

Nδ=N×δ (5);

其中:Nδ表示在预设的粒子浓度下,监测邻域应有的粒子数量;N为种群粒子数,即种群粒子规模;

当Nφ≥Nδ成立时,表明监测邻域中粒子浓度过高,种群多样性有损失太多的危险,必须增加种群的多样性,即满足增加种群多样性的要求;

当Nφ<Nδ,则Nφ归0,此种情况不满足增加种群多样性的要求。

5.根据权利要求2所述的一种适用于伺服控制器的控制算法,其特征在于:所述步骤1.5的具体过程如下:

根据如下公式(6)计算粒子被选中进行变异的概率:

<mrow> <msub> <mi>P</mi> <mrow> <mi>s</mi> <mi>i</mi> </mrow> </msub> <mo>=</mo> <msub> <mi>fitness</mi> <mi>i</mi> </msub> <mo>/</mo> <munderover> <mo>&Sigma;</mo> <mn>1</mn> <mi>k</mi> </munderover> <msub> <mi>fitness</mi> <mi>j</mi> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

其中,Psi表示第i个粒子被选为变异的概率,其中,i=1.2….Nφ,fitnessj表示第i个粒子在第j维的适合度,粒子的适合度越大,被选为变异的概率越大;

将计算出的Ps1、Ps2、……、从大到小进行排序,并从最大值开始,选取60%Nφ~70%Nφ个粒子,作为进行变异的粒子。

6.根据权利要求2所述的一种适用于伺服控制器的控制算法,其特征在于:所述步骤1.6中进行变异的具体过程如下:

针对监测邻域φ中的每个粒子产生一个随机数randi,randi∈[0,Psi],此时,由如下公式式子(7)对被选粒子进行随机变异:

Pbestij=aj+(bj-aj)*rand(0,1) (7);

式中,Pbestij是在Nφ个粒子中被选中变异的第i个粒子当前所经过的第j维最好位置;aj,bj分别为粒子第j维寻优范围的下限和上限。

7.根据权利要求2所述的一种适用于伺服控制器的控制算法,其特征在于:所述步骤2的具体过程如下:

步骤2.1,在模糊控制器输入端输入e、ec,根据参数e、ec、Kp、Ki、Kd对控制系统的影响来制定模糊规则库;

步骤2.2,参数模糊推理器时刻监测e、ec的变化,按照步骤2.1制定的规则库确定Kp、Ki、Kd的输出变化值ΔKp、ΔKi、ΔKd

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1