发明名称 一种基于粒子群优化算法的输入整形器参数自整定控制方法
摘要 本发明涉及一种基于粒子群优化算法的输入整形器参数自整定控制方法,属于共轴传动机械启动过程的驱动控制方法技术领域;针对共轴传动机械启动过程存在抖振问题,本发明提出的控制方法对传动机构进行前馈控制,并且经实验结果证明了这种控制方法的有效性和可行性;在离线的状态下,运用粒子群优化算法对双脉冲的输入整形器进行优化,得到其最优参数,然后运用得到的最优输入整形器对执行机构前馈控制;本发明针对共轴传动印刷机械启动过程中的扭振问题,提出了一种基于粒子群优化的输入整形器参数自整定的控制算法。此控制在大幅抑制了系统的扭振的同时,较小的牺牲了系统的动态性能,实现了系统的快速无振响应。
申请公布号 CN103885338A 申请公布日期 2014.06.25
申请号 CN201410108735.6 申请日期 2014.03.21
申请人 北京工业大学 发明人 蔡力钢;张森;刘志峰;许博
分类号 G05B13/04(2006.01)I 主分类号 G05B13/04(2006.01)I
代理机构 北京思海天达知识产权代理有限公司 11203 代理人 沈波
主权项 1.一种基于粒子群优化算法的输入整形器参数自整定控制方法,其特征在于:在离线的状态下,运用粒子群优化算法对双脉冲的输入整形器进行优化,得到其最优参数,然后运用得到的最优输入整形器对执行机构前馈控制,该方法包括如下具体步骤,S1对原始系统输入速度信号x(t),驱动机械系统运动,运用编码器从系统输出轴采集到其速度曲线v(t)和最终稳定速度u;S2根据系统输出轴的稳定速度u,采用粒子群优化算法得到双脉冲输入整形器的参数,双脉冲输入整形器的频域表达式为<img file="FDA0000480395130000011.GIF" wi="458" he="91" />其中A<sub>i</sub>和t<sub>i</sub>分别是脉冲序列的幅值及其所对应的时滞,由时间最优可令t<sub>1</sub>=0,则得公式为:<img file="FDA0000480395130000012.GIF" wi="400" he="83" />为使系统输出达到稳定速度u,添加约束方程A<sub>1</sub>+A<sub>2</sub>=1,A<sub>i</sub>>0;所述粒子群优化算法的过程如下,S2.1初始化并设置输入整形器相关参数;包括A<sub>1</sub>、A<sub>2</sub>和t<sub>2</sub>的取值范围,由于A<sub>1</sub>+A<sub>2</sub>=1,A<sub>i</sub>>0,故A<sub>2</sub>的取值范围[0~1],A<sub>1</sub>=1-A<sub>2</sub>;t<sub>2</sub>的选取比较重要,因为过大的t<sub>2</sub>的取值范围会使粒子群算法早熟,陷入局部极小值,然而过小的取值范围优化时会漏掉最优解,要首先根据系统的模型来估算信号的延时时间,多质转动平台的延时较小,故给定t<sub>2</sub>的取值范围为[0~5];设置粒子群相关参数;包括确定粒子群的规模数m=100,粒子搜索空间维数D=2(即A<sub>2</sub>、t<sub>2</sub>两个粒子),迭代次数k最大为60,搜索空间范围<img file="FDA0000480395130000013.GIF" wi="276" he="94" />(L<sub>d</sub>=[0 0]、U<sub>d</sub>=[0 0],即根据A<sub>2</sub>、t<sub>2</sub>范围确定),学习因子c<sub>1</sub>=c<sub>2</sub>=2,惯性权重范围w<sub>min</sub>=0.6,第i个粒子个体最优位置为<img file="FDA0000480395130000014.GIF" wi="545" he="101" />其中<img file="FDA0000480395130000015.GIF" wi="68" he="81" />为所有<img file="FDA0000480395130000016.GIF" wi="68" he="76" />中的最优,随机初始化每个粒子的位置和速度;S2.2将每个粒子的位置向量依次作为输入整形器参数,依次对采集回来的速度运动曲线进行仿真,得到仿真曲线;根据仿真曲线计算每个粒子的适应度值,并将其作为衡量粒子位置优劣的依据;设置适应度函数为<maths num="0001"><![CDATA[<math><mrow><mi>min</mi><mi>J</mi><mo>=</mo><munderover><mo>&Integral;</mo><mn>0</mn><mo>&infin;</mo></munderover><mo>|</mo><mi>v</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>-</mo><mi>u</mi><mo>|</mo><mi>dt</mi><mo>+</mo><mi>ftr</mi></mrow></math>]]></maths>式中,v(t)为仿真曲线的瞬时速度,u为系统输出轴最终稳定速度,ftr为一较大的惩罚函数值,具体定义为<maths num="0002"><![CDATA[<math><mrow><mi>ftr</mi><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>k</mi><mi>t</mi></msub></mtd><mtd><mi>false</mi></mtd></mtr><mtr><mtd><msub><mi>t</mi><mi>r</mi></msub></mtd><mtd><mi>true</mi></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>其中,t<sub>r</sub>为仿真曲线上升时间,当在指定仿真周期内没有达到上升时间时,ftr为一较大的惩罚函数值;当时间达到上升时间时,ftr取值为t<sub>r</sub>;S2.3根据适应度函数计算每一个粒子的适应度值,如果该粒子的适应度值小于粒子自身以前的适应度值,则用该粒子的当前位置替换<img file="FDA0000480395130000023.GIF" wi="94" he="93" />如果该粒子适应度值小于粒子群以前的适应度值,则用该粒子的位置替换<img file="FDA0000480395130000024.GIF" wi="93" he="96" />S2.4对每个粒子的速度和位置进行更新,第k次循环时,此时第i个粒子位置矢量为<img file="FDA0000480395130000025.GIF" wi="416" he="86" />飞行速度为<img file="FDA0000480395130000026.GIF" wi="386" he="104" />当前粒子个体最优位置为<maths num="0003"><![CDATA[<math><mrow><msubsup><mi>p</mi><mi>id</mi><mi>k</mi></msubsup><mo>=</mo><mrow><mo>(</mo><msubsup><mi>p</mi><mrow><mi>i</mi><mn>1</mn></mrow><mi>k</mi></msubsup><mo>,</mo><msubsup><mi>p</mi><mrow><mi>i</mi><mn>2</mn></mrow><mi>k</mi></msubsup><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msubsup><mi>p</mi><mrow><mi>id</mi><mo>,</mo></mrow><mi>k</mi></msubsup><mo>.</mo><mo>.</mo><mo>.</mo><msubsup><mi>p</mi><mi>iD</mi><mi>k</mi></msubsup><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>当前全局最优位置为<maths num="0004"><![CDATA[<math><mrow><msubsup><mi>p</mi><mi>gd</mi><mi>k</mi></msubsup><mo>=</mo><mrow><mo>(</mo><msubsup><mi>p</mi><mrow><mi>g</mi><mn>1</mn></mrow><mi>k</mi></msubsup><mo>,</mo><msubsup><mi>p</mi><mrow><mi>g</mi><mn>2</mn></mrow><mi>k</mi></msubsup><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><msubsup><mi>p</mi><mrow><mi>gd</mi><mo>,</mo></mrow><mi>k</mi></msubsup><mo>.</mo><mo>.</mo><mo>.</mo><msubsup><mi>p</mi><mi>gD</mi><mi>k</mi></msubsup><mo>)</mo></mrow></mrow></math>]]></maths>(d=1,2...,D),则第k+1次循环时,第i个粒子速度迭代方程为<maths num="0005"><![CDATA[<math><mrow><msubsup><mi>v</mi><mi>id</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>=</mo><msubsup><mi>wv</mi><mi>id</mi><mi>k</mi></msubsup><mo>+</mo><msub><mi>c</mi><mn>1</mn></msub><msub><mi>r</mi><mn>1</mn></msub><mrow><mo>(</mo><msubsup><mi>p</mi><mi>id</mi><mi>k</mi></msubsup><mo>-</mo><msubsup><mi>x</mi><mi>id</mi><mi>k</mi></msubsup><mo>)</mo></mrow><mo>+</mo><msub><mi>c</mi><mn>2</mn></msub><msub><mi>r</mi><mn>2</mn></msub><mrow><mo>(</mo><msubsup><mi>p</mi><mi>gd</mi><mi>k</mi></msubsup><mo>-</mo><msubsup><mi>x</mi><mi>id</mi><mi>k</mi></msubsup><mo>)</mo></mrow><mo>,</mo></mrow></math>]]></maths>位置矢量迭代方程<maths num="0006"><![CDATA[<math><mrow><msubsup><mi>x</mi><mi>id</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>=</mo><msubsup><mi>x</mi><mi>id</mi><mi>k</mi></msubsup><mo>+</mo><msubsup><mi>v</mi><mi>id</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>;</mo></mrow></math>]]></maths>S2.5当k达到设定的迭代次数后,结束滚动优化过程,输出参数优化值;否则,转到步骤S2.2;S3运用得到的最优整形器对执行机构进行前馈控制。
地址 100124 北京市朝阳区平乐园100号