本发明涉及电机转速控制领域,具体地涉及一种基于改进型spsa的电机转速控制参数优化方法及系统。
背景技术:
控制系统的性能是控制系统设计的关键。而控制系统性能受到多种因素影响,一是控制器的结构,二是过程噪声或扰动,三是控制系统的参数。而一旦控制器的结构确定,则控制系统性能只能通过对控制系统参数的调整来进行改善。因此,控制系统的参数整定是一项重要的工作。
目前最主要的控制参数整定与优化方法可分为四类。第一类是试凑法,该方法是由工程师根据操作经验不断调整控制参数设置并进行试验,直至找到一组可以接受的控制参数组合。该方法严重依赖于工程师个人经验,整定过程耗时费力且整定值的最优性不能得到保证。第二类方法是经验公式法,该方法主要用于pid控制参数整定。例如,ziegler-nichols整定方法和
技术实现要素:
本发明针对电机转速控制系统控制参数整定存在的寻优成本高、依赖专家经验、难以保证最优性等主要问题,提出了一种改进型spsa的电机转速控制参数优化系统及方法,其目的在于实现在尽可能减少质量优化成本的条件下,通过少量在线实验,快速找到控制系统的最优控制参数组合,以提高电机转速控制系统的控制性能。
并行摄动随机逼近方法(spsa)是j.c.spall于1987年在有限差分随机逼近算法的基础上加以改进而提出的。该方法梯度估计只需要两次目标函数评价值而不考虑问题的维度。在适当的前提条件下,给定同样的迭代次数,spsa可以获得与有限差分法梯度逼近同样的统计精度而只需要1/n的函数评价,n为变量维度。因此,本方法具有很高的优化效率。在本发明中,对该方法进行了改进,利用历史迭代过程信息,对该优化过程的效率进行了进一步提升。
为此,本发明采用的具体技术方案如下:
一种基于改进型spsa的电机转速控制参数优化方法,其中,所述方法包括以下步骤:
s1,初始化,人为给定初始控制参数组合并对初始控制参数组合进行标度化,设定优化过程和评估过程所需的相关参数的初始值;
s2,优化过程,根据改进型spsa方法给出新的、待实验的、标度化后的迭代控制参数组合;
s3,预处理过程,将标度化后的迭代控制参数组合预处理成实际可行迭代控制参数组合;
s4,实验测试过程,将实际可行迭代控制参数组合传送给电机的控制系统,并使电机在该控制参数组合下运行,控制系统采集从起始时刻t0开始至测试终止时刻tf之间内的实际转速,构成转速序列,其中在时刻t0,转速为零,在时刻tf,转速为目标设定值vsp;
s5,后处理过程,根据实际转速按公式
s6,评估过程,根据实际可行迭代控制参数组合及其对应的itae值,并根据历史信息计算得相对最优性序列,并根据该序列的轨迹特征,对实际可行迭代控制参数组合是否符合最优性进行实时评估,若符合最优性,则输出最优控制参数组合,否则转至s2进行迭代。
进一步地,s1中的标度化通过公式
进行,其中,
进一步地,在s1中对改进型spsa方法的参数{a,a,c,α,γ}进行赋值,并设定改进型spsa迭代算子v=1;并对评估过程的相关参数进行设定,设置终止状态系数初值κ=0,下限阈值κf,终止因子下限阈值ξγ,滑动平滑系数λ,滑动终止系数η。
更进一步地,在一个优选实施例中,参数{a,a,c,α,γ}为{α=0.602,γ=0.101,a=50,a=30,c=8},下限阈值κf=3,终止因子下限阈值ξγ=0.05,滑动平滑系数λ=1,滑动终止系数η=1。
更进一步地,s2的具体步骤为:
s21,算法增益更新:as=a/(a+s)α,cs=c/sγ;
s22,摄动向量产生:通过蒙特卡洛方式产生一个n维随机向量(摄动向量)δs,其中该向量的每一维都是由伯努利±1分布随机产生,其中产生+1、-1的概率均为0.5;
s23,正向摄动点产生:
s24,逆向摄动点产生:
s25,梯度逼近:根据摄动点估计在
s26,迭代控制参数组合点搜索:利用近似梯度和迭代最优解的差值逼近下一迭代点,迭代控制参数组合点按照公式
更进一步地,s3的具体步骤为:
s31,根据
s32,如果
更进一步地,s6的具体步骤如下:
s61,产生或更新相对最优性序列:设前一批次的迭代控制参数组合序列为mk-1={(x1,y1),(x2,y2),…(xk-1,yk-1)},其中xi为实际可行迭代控制参数组合,yi为该控制参数组合下的itae计算值,(xi,yi)构成一个迭代控制参数组合信息集。新迭代控制参数组合信息集为(xk,yk),将其更新入迭代点序列后,形成当前迭代组合序列mk;再将各控制参数组合信息集基于迭代控制参数组合itae的大小进行重新排序,形成一组按itae值递增的序列
s62,产生或更新平滑轨迹:以n+1作为滑动轨迹的计算基数,λ为滑动平滑系数(取整数1,2…),滑动窗口大小则为λ(n+1),滑动轨迹形成的计算规则如下:
采用该计算规则对相对最优性序列进行平滑,产生滑动轨迹
s63,产生或更新终止轨迹:在滑动轨迹
其中,η为滑动终止系数;
s64,产生或更新差值序列及终止因子:根据终止轨迹
基于差值序列和终止轨迹可计算得到优化进程的终止因子
s65,优化进程终止判断:当ξ<ξγ条件满足时,κ由0置1,然后,在后续迭代批次中,当迭代控制参数组合再次满足ξ<ξγ,κ递增1;而当κ≠0时,如果发生ξ>ξγ,标志优化进程跳出停滞状态,重新将κ置0,仅当κ等于其下限阈值κf时,认为优化进程满足终止条件,迭代终止准则条件为(ξ<ξγ)∩(κ=κf);
s66,当优化进程终止时,输出优化进程控制状态标志ψ=1,系统输出最优控制参数组合(x*,y*);如尚未满足终止条件,则跳转至s2继续迭代执行。
更进一步地,控制参数包括比例系数p,积分系数i和微分系数d。
一种基于改进型spsa的电机转速控制参数优化系统,其中,所述电机转速控制参数优化系统包括包括初始化模块、优化模块、预处理模块、实验测试模块、后处理模块和评估模块,其中,初始化模块用于接收来自于工程师或操作人员所提供的初始控制参数组合及各控制参数的上下限,并对初始控制参数组合进行标度化,对优化模块和评估模块的相关参数进行设定;优化模块用于接收经标度化后的控制参数组合,根据改进型spsa方法搜索给出新的、待实验的、标度化后的迭代控制参数组合;预处理模块用于将标度化后的迭代控制参数组合预处理成实际可行迭代控制参数组合;实验测试模块用于将实际可行迭代控制参数组合传送给电机的控制系统,并使电机在该控制参数组合下运行,控制系统采集从起始时刻t0开始至测试终止时刻tf之间内的实际转速,构成转速序列并将其发送至后处理模块,其中在时刻t0,转速为零,在时刻tf,转速为目标设定值vsp;后处理模块用于根据实际转速按公式
本发明采用上述技术方案,具有的有益效果是:
1、实施成本小,节省优化时间和实验耗费;
2、不依赖专家经验,易于实施;
3、可以在最低优化成本下,高效给出优化控制参数组合。
附图说明
图1是本发明的系统结构示意图;
图2是本发明的方法的总体流程步骤示意图;
图3是本发明的方法中的改进型spsa方法的步骤示意图;
图4是评估过程的步骤示意图。
具体实施方式
为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。
现结合附图和具体实施方式对本发明进一步说明。
图1为本发明所提出的基于改进型spsa的电机转速控制参数优化系统的结构图,图2是本发明所提出的基于改进型spsa的电机转速控制参数优化方法的总体步骤图。所述电机转速控制参数优化系统包括包括初始化模块1、优化模块2、预处理模块3、实验测试模块4、后处理模块5和评估模块6,其中,初始化模块1用于接收来自于工程师或操作人员所提供的初始控制参数组合及各控制参数的上下限,并对初始控制参数组合进行标度化,对优化模块和评估模块的相关参数进行设定。优化模块2用于接收经标度化后的控制参数组合,根据改进型spsa方法搜索给出新的、待实验的、标度化后的迭代控制参数组合。预处理模块3用于将标度化后的迭代控制参数组合预处理成实际可行迭代控制参数组合。实验测试模块4用于将实际可行迭代控制参数组合传送给电机的控制系统,并使电机在该控制参数组合下运行,控制系统采集从起始时刻t0开始至测试终止时刻tf之间内的实际转速,构成转速序列并将其发送至后处理模块,其中在时刻t0,转速为零,在时刻tf,转速为目标设定值vsp。后处理模块5用于根据实际转速按公式
下面参照图1至4并结合一个具体实例来描述基于改进型spsa的电机转速控制参数优化方法,该优化方法包括以下步骤:
s1:操作人员根据控制系统设计方案确定控制系统参数,选取比例系数kp、积分系数ti、微分系数td等参数作为优化控制参数。设x1表示比例系数kp、x2表示积分系数ti、x3表示微分系数td。由操作人员给定初始控制参数组合设定值
标度化后,每个维度的控制参数变量都有统一的标度,每个控制参数都被标度化在[0,100]区间。对改进型spsa方法的参数{a,a,c,α,γ}进行赋值,取{α=0.602,γ=0.101,a=50,a=30,c=8},并设定改进型spsa迭代算子s=1。同时对优化进程评估模块参数进行设定,设置终止状态系数初值κ=0,其下限阈值κf=3,终止因子下限阈值ξγ=0.05,滑动平滑系数λ=1,滑动终止系数η=1。
s2:优化模块2接收经标度化后的控制参数组合
s21:算法增益更新:as=a/(a+s)α,cs=c/sγ。
s22:摄动向量产生:通过蒙特卡洛方式产生一个n维随机向量(摄动向量)δs,其中该向量的每一维都是由伯努利±1分布随机产生,其中产生+1、-1的概率均为0.5。
s23:正向摄动点产生:
s24:逆向摄动点产生:
s25:梯度逼近:根据摄动点估计在
s26:迭代控制参数组合点搜索:利用近似梯度和迭代最优解的差值逼近下一迭代点。迭代控制参数组合点按照公式
s3:将由改进型spsa优化模块给出的标度化后的迭代控制参数组合
其中,
如果
其中,
实际可行迭代控制参数组合xi传输给控制系统模块。
s4:实验测试模块4将实际可行迭代控制参数组合xi传送给电机的控制系统,并使电机在该控制参数组合下运行。该模块采集电机实际转速,并按增量式pid控制算法实现对电机转速的控制。其控制量的计算公式如下式(4)所示。
其中,u(n)为n时刻控制系统输出的控制量,e(n)表征n时刻转速偏差值。其中,kp,ti,td由控制参数组合xi确定。
起始t0时刻置电机实际转速为0,控制系统从t0时刻开始按上述控制方式调节电机转速至目标设定值vsp,测试时长为tf,本实施例中取tf为10秒。当tf时刻到重置电机转速为0。模块同时记录从起始时刻t0开始至测试终止时刻tf之间内的实际转速,构成转速序列并发送给后处理模块5。
s5:由后处理模块5从实验测试模块4获得电机实际转速序列,根据实际转速按公式(5)计算其itae指标以评估电机的控制性能,itae数值越小,控制性能越好。
其中,ti为采样时刻,e(i)为该采样时刻下实际转速与设定转速的偏差。
对实际迭代控制参数组合进行标度化,每个控制参数都被标度化到[0,100]区间。标度化规则按下式(6)。
其中,优化区间为d={x|(xt)l≤xt≤(xt)h,t=1,…,n},(xt)l=inf(xt),(xt)h=sup(xt)。
s6:优化进程评估模块采集优化过程中的控制参数组合及其对应的itae值,并根据历史信息计算得相对最优性序列,并根据该序列的轨迹特征,对优化进程进行实时评估,根据评估结果及时识别停滞段状态,控制优化进程适时终止,输出最优控制参数组合。如图4所示,其主要步骤如下:
s61:产生或更新相对最优性序列。设前一批次的迭代控制参数组合序列为mk-1={(x1,y1),(x2,y2),…(xk-1,yk-1)},其中xi为实际可行迭代控制参数组合,yi为该控制参数组合下的itae值,(xi,yi)构成一个迭代控制参数组合信息集。新迭代控制参数组合信息集为(xk,yk),将其更新入迭代点序列后,形成当前迭代组合序列mk。再将各控制参数组合信息集基于迭代控制参数组合itae值的大小进行重新排序,形成一组按itae值递增的序列
s62:产生或更新平滑轨迹。以n+1作为滑动轨迹的计算基数,λ为滑动平滑系数(取整数1,2…),滑动窗口大小则为λ(n+1)。滑动轨迹形成的计算规则如下式(7)。
采用该计算规则对相对最优性序列进行平滑,产生滑动轨迹
s63:产生或更新终止轨迹。在滑动轨迹
其中,η为滑动终止系数。
s64:产生或更新差值序列及终止因子。根据终止轨迹
基于差值序列和终止轨迹可计算得到优化进程的终止因子
s65:优化进程终止判断。当ξ<ξγ条件满足时,κ由0置1。然后,在后续迭代批次中,当迭代控制参数组合再次满足ξ<ξγ,κ递增1;而当κ≠0时,如果发生ξ>ξγ,标志优化进程跳出停滞状态,重新将κ置0。仅当κ等于其下限阈值κf时,可以认为优化进程满足终止条件。迭代终止准则条件如下式(10)。
(ξ<ξγ)∩(κ=κf)(10)
s66:当优化进程评估模块判定优化进程终止时,即(ξ<0.1)∩(κ=3)时,输出优化进程控制状态标志ψ=1,系统输出最优控制参数组合(x*,y*),优化系统停止运行;如尚未满足终止条件,则优化系统跳转至步骤s2继续迭代执行。
本实施例中,经过32次迭代实验后,本发明所提出的优化系统找到最优工艺参数组合如下:x0=[0.523,0.032,0.158]t。即比例系数为0.523,积分系数为0.032,微分系数为0.158。
尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。