一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于模拟退火算法和模糊PID的元动作单元转速控制方法与流程

2021-11-09 21:31:00 来源:中国专利 TAG:

一种基于模拟退火算法和模糊pid的元动作单元转速控制方法
技术领域
1.本发明属于机械与控制交叉领域,涉及伺服电机主轴转速的控制,具体为一种基于模拟退火算法和模糊pid的元动作单元转速控制方法。


背景技术:

2.数控机床是装备制造中的“工作母机”,具有高精度、高可靠性、高速度、高效率、高自动化、高柔性化和高复杂度等点,是实现制造技术和装备制造现代化的基石,是保障高技术产业发展的重要工具。而伺服电机的稳定性是数控机床的重要因素,将结构分解到零部件再进行可靠性分析的工作量非常巨大,而且中间过程的增多对最终结果的影响也会相应提升。由此专家提出将基于结构进行分解的方法转化为基于功能进行分解的方法,即将机械系统的总功能按照“功能—运动—动作”的分解流程,分解成不能进一步再分解的最小动作单元,称为元动作单元,将对零部件的可靠性研究转移为对元动作单元的可靠性研究。
3.由于蜗杆转动元动作转速系统难以建立精确数学模型,所以采用常规pid控制很难保证控制精度,即使结合了smith预估器,其调节时间仍然偏长、超调量大、控制精度不理想。使用模糊pid控制伺服电机转速,虽然在很大程度上改善了转速控制效果,但是研究发现,对于比例环节的参数整定,并不适合采用模糊算法来调节。于是,在试凑法的基础上结合模拟退火算法对比例环节的参数进行自整定,提升了比例环节动态特性。
4.智能优化算法又称现代启发式算法,是一种具有全局优化性能、通用性强且适用于并行处理的算法。这种算法一般具有严密的理论依据,而不是单纯凭专家经验,理论上可以在一定的时间内找到最优解或近似最优解。模拟退火算法能有效解决局部最优解的问题,在一定可能性上达到全局最优解。


技术实现要素:

5.针对现有技术存在的上述不足,本发明的目的在于提供一种基于模拟退火算法和模糊pid的元动作单元转速控制方法,增强pid算法对伺服电机转速的控制。
6.本发明公开一种基于模拟退火算法和模糊pid的元动作单元转速控制方法,首先,在进行转速控制之前,将整机分解到子系统,再从子系统分解到元动作单元进行控制;通过速度传感器对蜗杆转动元动作单元采集转速,通过控制器对电机转速进行设置,设计模糊id控制器算法的控制规则表、模糊论域、模糊语言值、隶属度函数,实现积分系数、微分系数的整定;利用模拟退火算法对转速p控制器比例因子智能寻优,结合pid的试凑法确定最优值,能够对蜗杆转动元动作单元的转速进行精确控制,具有良好的动静态特性,提高了电机转动时的稳定性。
7.为实现以上目的,本发明采用如下技术方案:
8.一种基于模拟退火算法和模糊pid的元动作单元转速控制方法,将整机按照功能进行结构化分解至子系统,再将各子系统按照“功能—运动—动作”的步骤逐步分解到元动
作单元层,以蜗杆转动元动作单元为被控对象,通过速度传感器对蜗杆转动元动作进行转速采集,并计算其平均值,作为系统反馈环节的输入,由比例环节、积分环节和微分环节构成pid控制器算法,调节转速趋向于设定值。
9.进一步地,所述蜗杆转动元动作单元包括支撑件、动力源、执行件、中间传动和连接件。
10.进一步地,所述基于模拟退火算法和模糊pid的元动作单元转速控制方法的具体计算过程如下:
11.首先给出目标转速u,模糊id控制器算法包括模糊控制规则和隶属度函数,通过模糊控制算法对pid控制器算法中的积分系数和微分系数进行整定,(利用模拟退火算法及试凑法对转速p控制器比例因子智能寻优,采用转速p控制器算法实现蜗杆转动元动作转速的控制),在线计算第n时刻积分系数的增量δki(n)和微分系数的增量δkd(n);
12.进一步地,通过速度传感器对蜗杆转动元动作单元的转速进行采集,并计算其平均值,作为目标转速u。
13.1)输入输出的模糊化:选择蜗杆转动元动作单元转速偏差e(n)与其导数ec(n)作为模糊控制器的输入变量,经量化因子作用后输入模糊控制器得到模糊化变量e(n)和ec(n);
14.2)模糊论域、模糊语言值,隶属度函数的确定:首先,给出转速偏差e(n)、转速偏差变化率ec(n)的模糊论域、模糊语言值,为了让速度切换更加细腻流畅,设置转速偏差e(n)、转速偏差导数ec(n)和控制量u的基本论域为[

6,6],并划分为13个等级,即{

6,

5,

4,

3,

2,

1,0,1,2,3,4,5,6},模糊语言值{负大,负中,负小,零,正小,正中,正大},即{nb,nm,ns,o,ps,pm,pb},所用隶属度函数为三角隶属函数;
[0015]
接着,给出积分系数增量δki的模糊论域和模糊语言值,设计隶属度函数:给出积分系数增量δki的模糊论域为{

0.3,

0.25,

0.2,

0.15,

0.1,

0.05,0,0.05,0.1,0.15,0.2,0.25,0.3},模糊语言值为{负大,负中,负小,零,正小,正中,正大},即{nb,nm,ns,o,ps,pm,pb};制定积分系数增量δki的模糊控制规则:根据转速偏差e(n)、转速偏差变化率ec(n)的模糊语言值,制定二者组合情况下δki的控制规则,所用隶属度函数为三角隶属函数;
[0016]
给出微分系数增量δkd的模糊论域和模糊语言值,设计隶属度函数:给出微分系数增量δkd的模糊论域为{

0.42,

0.35,

0.28,

0.21,

0.14,

0.07,0,0.07,0.14,0.21,0.28,0.35,0.42},模糊语言值为{负大,负中,负小,零,正小,正中,正大},即{nb,nm,ns,o,ps,pm,pb};制定微分系数增量δkd的模糊控制规则:根据转速偏差e(n)、转速偏差变化率ec(n)的模糊语言值,制定二者组合情况下δkd的控制规则;所用隶属度函数为三角隶属函数。
[0017]
进一步地,模糊推理是以转速偏差e(n)与其导数ec(n)作为模糊控制器的输入变量,pid调节器的id参数是转速偏差e(n)与其偏差变化率ec(n)的非线性函数,具体可记为:
[0018][0019]
其中,和分别表示id参数中的积分,微分的初始值,e
n
δk
i
和(e
n
ec
n
)δk
d

别表示经模糊推理和解模糊化后的到的调整pid中的积分和微分变化量,整定可以得出n时刻积分系数ki(n)和微分系数kd(n)。
[0020]
利用模拟退火算法对转速p控制器比例因子智能寻优,结合pid的试凑法确定最优值。
[0021]
进一步地,给出kp控制规则,比例环节控制规则为当模糊化后的转速偏差对应的语言值变量为负小、零或正小,模糊化后的转速偏差变化率对应的语言值变量为负大、负中、正中或正大,并且转速偏差变化加速度为零时,则增大pid控制单元微分环节益。
[0022]
进一步地,确定kp时,把ki和kd设为0,不要积分与微分,把kp值从0开始慢慢增大,观察压力的反应速度,当压力的反应速度达到要求,停止增大kp值,假设此时为状态a,对状态a时的kp结合ki和kd做模拟退火算法。
[0023]
进一步地,假设前一个状态为x(n),系统根据某一指标(梯度下降,上节的状态),状态变为x(n 1),相应的,kp的状态由v(n)变为v(n 1),定义系统由x(n)变为x(n 1)的接受概率p为:
[0024][0025]
e(n)表示n时刻的转速偏差输出,e(n 1)表示n 1时刻转速偏差输出。
[0026]
从上式我们可以看到,如果误差减小了,那么这种转移就被接受(概率为1),如果误差增大了,就说明系统偏离全局最优值位置更远了,此时算法不会立刻将其抛弃,而是进行概率操作:首先在区间[0,1]产生一个均匀分布的随机数,如果p,则此种转移接受,否则拒绝转移,进入下一步,往复循环。其中p以误差的变化量和v进行决定概率kp以及e(n)的大小,所以kp这个值是动态的。
[0027]
与现有的技术对比,本发明利用模拟退火算法对转速p控制器比例因子智能寻优,结合pid的试凑法确定最优值,能够对蜗杆转动元动作单元的转速进行精确控制,具有良好的动静态特性,提高了电机转动时的稳定性
附图说明
[0028]
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0029]
图1是本发明实例中所述元动作单元转速控制流程图;
[0030]
图2是本发明实例中所述元动作单元的组成结构示意图;
[0031]
图3是本发明实例中所述元动作单元转速偏差值的隶属度函数曲线;
[0032]
图4是本发明实例中所述元动作单元转速偏差变化率值的隶属度函数曲线;
[0033]
图5是本发明实例中所述退火算法流程图;
[0034]
图6是本发明实例中所述元动作单元转速控制曲线;
具体实施方式
[0035]
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术
人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
[0036]
实施例1
[0037]
一种基于模拟退火算法和模糊pid的元动作单元转速控制方法,具体的是一种利用模拟退火算法加快pid响应速度以此快速控制伺服电机转速的方法,如图1所示是基于模拟退火算法和模糊pid元动作单元转速控制流程图,将待实验的机电产品按照结构化分解方法直接分解成元动作装配单元;如图2所示,所述元动作装配单元包括动力源(伺服电机)、支撑件、执行件(动力执行件)、中间传动和连接件五部分。
[0038]
通过速度传感器对蜗杆转动元动作单元的转速进行采集,并计算其平均值,作为目标转速u。
[0039]
由比例环节、积分环节和微分环节共同组成pid转速控制器,调节转速趋于目标转速u。
[0040]
由于小车的目标速度时刻在变化,err值需要不断的累加,可能出现err sum溢出的情况。因此对位置式加以变换,废除增量式pid控制算法:
[0041]

u=u(n)

u(n

1)=kp(err(n)

err(n

1)) ki err(n) kd(err(n)

2err(n

1) err(n

2))
[0042]
由此可以得出:
[0043]
u(n)=u(n

1) kp(err(n)

err(n

1)) ki err(n) kd(err(n)

2err(n

1) err(n

2))
[0044]
模糊id控制器算法包括模糊控制规则和隶属度函数,通过模糊控制算法对pid控制器算法中的积分系数和微分系数进行整定,利用模拟退火算法及试凑法对转速p控制器比例因子智能寻优,采用转速p控制器算法实现蜗杆转动元动作转速的控制。
[0045]
具体的,选择蜗杆转动元动作单元转速偏差e(n)与其导数ec(n)作为模糊控制器的输入变量,经量化因子作用后输入模糊控制器得到模糊化变量e(n)和ec(n)。
[0046]
接着,给出转速偏差e(n)、转速偏差变化率ec(n)的模糊论域、模糊语言值,为了让速度切换更加细腻流畅,设置偏差e(n)、偏差变化ec(n)和控制量u的基本论域为[

6,6],并划分为13个等级,即{

6,

5,

4,

3,

2,

1,0,1,2,3,4,5,6},模糊语言值{负大,负中,负小,零,正小,正中,正大},即{nb,nm,ns,o,ps,pm,pb}。所用隶属度函数为三角隶属函数,分别为图3和图4所示。
[0047]
给出积分系数增量δki的模糊论域和模糊语言值,设计隶属度函数:给出积分系数增量δki的模糊论域为{

0.3,

0.25,

0.2,

0.15,

0.1,

0.05,0,0.05,0.1,0.15,0.2,0.25,0.3},模糊语言值为{负大,负中,负小,零,正小,正中,正大},即{nb,nm,ns,o,ps,pm,pb};制定积分系数增量δki的模糊控制规则:根据转速偏差e(n)、转速偏差变化率ec(n)的模糊语言值,制定二者组合情况下δki的控制规则;所用隶属度函数为三角隶属函数;
[0048]
制定积分系数δki的控制规则,结合转速偏差e(n)、转速偏差ec(n)的情况下δki的控制规则。比如,当e(n)为ns(负小)且ec(n)为ps(正小)时,设定δki为z0(零),在n时刻δki的控制规则如表1:
[0049]
表1δki的模糊控制规则
[0050][0051]
给出微分系数增量δkd的模糊论域和模糊语言值,设计隶属度函数:给出微分系数增量δkd的模糊论域为{

0.42,

0.35,

0.28,

0.21,

0.14,

0.07,0,0.07,0.14,0.21,0.28,0.35,0.42},模糊语言值为{负大,负中,负小,零,正小,正中,正大},即{nb,nm,ns,o,ps,pm,pb};制定微分系数增量δkd的模糊控制规则:根据转速偏差e(n)、转速偏差变化率ec(n)的模糊语言值,制定二者组合情况下δkd的控制规则;所用隶属度函数为三角隶属函数;
[0052]
制定积分系数δkd的控制规则,结合转速偏差e(n)、转速偏差ec(n)的情况下δkd的控制规则。比如,当e(n)为ns(负小)且ec(n)为ps(正小)时,设定δki为z0(零),在n时刻δki的控制规则如表2:
[0053]
表2δkd的模糊控制规则
[0054][0055]
结合e(n)以及ec(n)对δki和δkd进行反模糊化,再使用普通的pid整合出积分系数微分系数的初值,整定可以得出n时刻积分系数ki(n)和微分系数kd(n):
[0056][0057]
其中,和分别表示id参数中的积分,微分的初始值,e
n
δk
i
和(e
n
ec
n
)δk
d
表示经模糊推理和解模糊化后的到的调整pid中的积分,微分变化量。
[0058]
进一步的,利用模拟退火算法对转速p控制器比例因子智能寻优,结合pid的试凑法确定最优值。
[0059]
把ki和kd设为0,不要积分与微分,把kp值从0开始慢慢增大,观察压力的反应速度,当压力的反应速度达到要求,停止增大kp值,假设此时为状态a,对状态a时的kp结合ki,kd做模拟退火算法。
[0060]
给出kp控制规则,比例环节控制规则为当模糊化后的转速偏差对应的语言值变量为负小、零或正小,模糊化后的转速偏差变化率对应的语言值变量为负大、负中、正中或正大,并且转速偏差变化加速度为零时,则增大pid控制单元微分环节益。
[0061]
假设开始状态在a,随着迭代次数更新到b的局部最优解,这时发现更新到b时,能力比a要低,则说明接近最优解了,因此百分百转移,状态到达b后,发现下一步能量上升了,如果是梯度下降则是不允许继续向前的,而这里会以一定的概率跳出这个坑,这个概率和当前的状态、能量等都有关系,如果b最终跳出来了到达c,又会继续以一定的概率跳出来,直到到达d后,就会稳定下来。
[0062]
假设前一个状态为x(n),系统根据某一指标(梯度下降,上节的状态),状态变为x(n 1),相应的,kp的状态由v(n)变为v(n 1),定义系统由x(n)变为x(n 1)的接受概率p为:
[0063][0064]
下面给出退火算法的参数控制方法,初始的状态为v(0),此pid的反应可达到要求,转移状态均可被接受。
[0065]
规定算法的退火速率,使用下降的方法:
[0066][0067]
其中,v(0)是状态a下的转速,上式不仅可以让每一个转速进行足够的转移尝试,同时具有较快的收敛速度。
[0068]
如果在若干次迭代的情况下没有可以更新的新状态或者达到目标转速u,则退火完成。
[0069]
接下来,通过模拟退火算法对pid输出量化因子ke、pid输出变化率量化因子kec进行寻优。图5是本发明实例中所述退火算法流程图。
[0070]
首先,确定电机初始转速v(0),初始化最大迭代次数、偏差、转速最小值以及无穷大。通过模拟退火算法的迭代计算,可以分别得到pid输出量化因子ke以及pid输出变化率量化因子kec的寻优轨迹图,寻找轨迹图中的最小值,这些值即为ke和kec的值。
[0071]
本实施例选用ziegler

nichols基于时域响应曲线的整定反应曲线法确定响应曲线。
[0072]
受控对象为传递函数
[0073]
本实施例专利的参数设置如下:最大迭代次数为100、初始v(0)为3000、最小转速定义1e

8、定义初始偏差为0.98、最大值为无穷大。
[0074]
运用本发明提供的一种基于模拟退火算法和模糊pid的元动作单元转速控制方法,能够得到pid控制器的控制参数。在matlab中进行仿真可以得到伺服电机转速控制的响应曲线。如图6所示为元动作单元转速控制曲线。
[0075]
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献