CN104038128A - 基于nurbs的直线电机推力波动控制方法 - Google Patents

基于nurbs的直线电机推力波动控制方法 Download PDF

Info

Publication number
CN104038128A
CN104038128A CN201410232642.4A CN201410232642A CN104038128A CN 104038128 A CN104038128 A CN 104038128A CN 201410232642 A CN201410232642 A CN 201410232642A CN 104038128 A CN104038128 A CN 104038128A
Authority
CN
China
Prior art keywords
value
nurbs
curve
weight factor
formula
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410232642.4A
Other languages
English (en)
Other versions
CN104038128B (zh
Inventor
杨亮亮
许守金
史伟民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Xitaixin Technology Co Ltd
Original Assignee
Zhejiang Sci Tech University ZSTU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Sci Tech University ZSTU filed Critical Zhejiang Sci Tech University ZSTU
Priority to CN201410232642.4A priority Critical patent/CN104038128B/zh
Publication of CN104038128A publication Critical patent/CN104038128A/zh
Application granted granted Critical
Publication of CN104038128B publication Critical patent/CN104038128B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Feedback Control In General (AREA)

Abstract

一种基于NURBS的直线电机推力波动控制方法,利用加速度测量仪、光栅尺采集直线电机动子的加速度值以及对应的位置信息,根据加速度值波动求出推力波动F变化曲线,求出推力波动F变化曲线的极值点作为NURBS的通过点,利用通过点反算控制点,根据位移量确定节点矢量,进而根据仿真模型计算出的值与实际值之间的差值,利用迭代学习法确定NURBS曲线的权重因子,对NURBS曲线进行调整,进而建立推力波动离线仿真模型。进而根据反馈值进而实时学习,对模型参数进行更新,根据仿真模型通过前馈系统对直线电机进行推力补偿,达到有效控制推力波动的目的。

Description

基于NURBS的直线电机推力波动控制方法
技术领域
该发明属于电机控制领域,特别是直线电机伺服系统推力波动的控制领域。
背景技术
目前,高速高精的直线运动,一般会用直线电机进行驱动,例如微电子制造装备、芯片传输系统、先进机床等等。1840年英国人惠斯顿发明了世界上第一台直线电机,但由于理论与技术上的缺陷,直到20世纪中叶,直线电机才进入新的发展阶段。
直线电机伺服系统是一种直接将电能转换成直线运动的机械能的动力装置,它没有旋转电机的中间转换环节,能有效克服传统转换机构的体积大、精度低、效率低、响应慢、噪音大等诸多缺点。直线电机可以看作是旋转电机沿着径向刨开,并拉直展开。由定子演变而来的一侧称为初级,由转子演变而来的一侧称为次级。考虑到实际情况,一般将初级和次级制造成不同的长度,以保证在所需要的行程范围内初级与次级的之间能有效的进行耦合。对于直线电机,一般将运动的一级称为动子,静止的一级称为定子。
直线电机伺服系统虽然简化传动环节,但是直线电机伺服系统是一个复杂的、多耦合的非线性系统,电机直接与工作台或者其他工作部件相连,这就导致直线电机的驱动波动直接作用到工作台或者工作 部件上,对要求高速高精的伺服系统影响很大。推力波动的影响因素可分为二类,一类是内部因素,可细分为:纹波扰动、端部效应、磁钢分布、齿槽效应等;另一类是外部因素,可细分为:位置、电流、速度、负载、摩擦力等。对于已经设计好、结构已经固定的直流电机伺服系统,推力波动的大小主要取决于外部因素。
直线电机推力波动是影响直线电机发展的重要因素,采用合理的电机结构设计可以在一定程度上减弱推力波动,但是限于当前的技术和理论,很难满足控制精度的要求。由于推力波动具有周期性,抑制推力波动的主要方法是基于前馈、反馈的推力闭环控制,,对推力波动建立模型进行拟合,进而根据拟合曲线确定补偿值对推力波动补偿,其中最重要一环是建立推力波动模型通过前馈对推力波动进行补偿,有效控制推力波动,使得直线电机达到理想的运行状态。但建立的推力波动模型普遍是基于三角函数建立模型对推力波动进行控制,由于三角函数的局限性,对一些复杂波动,难以有效拟合,同时存在着计算量大,难以高频响应等不足。
发明内容
为了克服上述不足,有效抑制直线电机的推力波动,建立一个推力波动仿真模型对直线电机的波动进行有效控制。本发明的推力波动仿真模型是基于离线与实时学习,利用NURBS曲线方法对推力波动进行控制的算法模型。对于结构已经固定的直线的电机,推力波动的影响因素主要是外部因素,包括电流、速度、负载、位置、摩擦力。综 合比较可知,这几个因素对推力波动影响最大的是电流因素,所以在建立离线模型的阶段只考虑电流因素,即通过改变直线电机通入的电流量,利用加速度测量仪、光栅尺采集直线电机动子的加速度值和位置信息,根据加速度值波动求出推力波动F变化曲线,求出推力波动F变化曲线的极值点作为NURBS的通过点,利用通过点反算控制点,根据位移量确定节点矢量,进而根据仿真模型计算出的值与实际值之间的差值,利用迭代学习法确定NURBS曲线的权重因子,对NURBS曲线进行调整,进而建立推力波动离线仿真模型;进而根据反馈值进而实时学习,对模型参数进行更新,根据建立的模型利用前馈对直线电机伺服系统进行补偿,达到有效控制直线电机推力波动的目的。
所述基于NURBS的直线伺服系统推力波动控制方法包括以下过程:
第一步,分别给直线电机通入不同的电流值,利用光栅尺,加速度测量仪,以一定的采用周期对其进行采样,得到直线电机的动子位置信息和对应加速度信息,并记录下来。
第二步,在理想情况下,给直线电机通入一定的电流值,会产生不变的电磁力,使得电机的动子以恒定的加速度运行,但是由于摩擦力、负载、速度、位置等诸多因素的影响,直线电机的加速度会出现波动,进而根据加速度的波动值,利用牛顿定理,求出推力F变化信息,并与位置信息相对应,推力波动F计算公式如下:
F=ma (1)
其中m是动子以及相关负载的质量,a是动子加速度。以对应的 位置信息为横坐标,推力F变化信息为纵坐标建立推力F变化曲线。
第三步,根据推力F变化信息,采用前后判别的方法得到F变化曲线的极值点,即某个F值大于前面的值同时大于后面的值为极大值,小于前面的值同时也小于后面的值为极小值。得到推力F变化曲线的极值和对应的位置信息,并记录下来,同时推力F变化曲线的首末点最为极值点也记录下来。
第四步,构造基函数,通过第三步得到n个极值点,极值点作为NURBS曲线的通过点,简化计算,取权重因子为1,节点向量取准均匀节点向量,节点向量形式为:
其中d为节点之间的差值,p为构造基函数的次数。
根据节点向量求得基函数,NURBS基函数有很多种构造形式,一般常用的构造形式是由如下递推公式给出的,用下列递推方式确定的基函数Ni,p(u)称为相应于节点向量U的P次NURBS基函数:
N i , p ( u ) = u - u i u i + p - u i N i , p - 1 ( u ) + u i + p + 1 - u u i + p + 1 - u i + 1 N i + 1 , p - 1 ( u ) , p ≥ 2 - - - ( 3 )
其中i是基函数的序列号,u是变化参数,ui是节点,p为构造基函数的次数。
给定节点向量U,根据上面的递推公式就可以推导出所需要的基函数。根据通过点,以及通过准均匀节点向量构造的基函数,反算出 控制点。
第五步,由位移量确定节点向量。
根据每个极值点横轴坐标值,计算每个极值点间在X轴方向的距离量dj,计算公式为:
dj=xj-xj-1,j=1,2,3,...,n-1 (4)
其中xj表示控制点Pj的横轴坐标。
求节点uj+p+1的公式为:
up+1=0
u j + p + 1 = u j + p + ( n - 1 ) × d j Σ i = 1 n - 1 d i , j = 1,2 , . . . , n - 1 - - - ( 5 )
求出的节点向量形式为:
其中p为基函数的次数,n为通过点的个数即极值点的个数。
根据求出的节点向量利用公式3重新计算基函数Ni,p(u),进而可得基于权重因子wi的第i段NURBS曲线Ki(u),表达式为:
K i ( u ) = Σ n = 0 P w i + n P i + n N i + n - p , p ( u ) Σ n = 0 p w i + n N i + n - p , p ( u ) - - - ( 7 )
u∈[ui+p,ui+p+1],i=1,2,3,...,n-1
第六步,确定权重因子,采用迭代学习法,反复校正权重值。
由于权重因子对NURBS影响较为复杂,为了更好的用权重因子调节NURBS曲线对推力波动进行控制,每段曲线改变一个权重因子对 NURBS曲线进行调整,用每一段第二个控制点,作为偏移参考点,对应的参数u取值计算公式为:
u i ′ = u p + i + ( u p + 1 + i - u p + i ) p , i = 1,2,3 . . . n - 1 , p > 0 - - - ( 8 )
其中p为基函数的次数,up+i是节点值,i是样条曲线分段序列号。
把计算出的节点值分别代入NURBS曲线公式7,得到补偿值,公式如下:
k i = Σ n = 0 p w i + n P i + n N i + n - p , p ( u i ′ ) Σ n = 0 p w i + n N i + n - p , p ( u i ′ ) - - - ( 9 )
其中p为基函数的次数,由公式9计算出补偿值ki,ki值包含位移值x和推力波动F'。利用求出的x值对应得到实际推力波动F值,相减得到偏移量Li,计算公式如下;
Li=F-F′i (10)
根据得到的偏移量Li,确定出对应的权重的因子,本算法在没有求出的新的权重因子之前,需要用到的权重因子取1。需要求出距离量包括:
当u=u′i,wk=1时,代入公式9,求p1,得到计算值如下所示:
k 1 = Σ n = 0 p w i + n P i + n N i + n - p , p ( u i ′ ) Σ n = 0 p w i + n N i + n - p , p ( u i ′ ) - - - ( 11 )
包括当u=u′i+1,wk=0时,代入公式9,求p0,得到计算值如下所 示:
k 0 = Σ n = 0 p w i + n P i + n N i + n - p , p ( u i ′ ) Σ n = 0 p w i + n N i + n - p , p ( u i ′ ) - - - ( 12 )
进而可得距离量S,K,计算公式如下:
S = ( P i + 1 - k 1 ) 2 K = ( k 0 - k 1 ) 2 - - - ( 13 )
其中Pi+1是第i段样条曲线第二个控制点。
进而根据权重因子交比性质求得新的权重因子w′i,计算公式为:
w i ′ = S ( K + L ) K ( S - L ) , i = 1,2 , . . . , n - 1 - - - ( 14 )
求出新的权重因子,要对对应的控制点上的权重因子进行替换,用于后续的计算。由于一段样条曲线,有四个权重因子。但每个权重因子都可以控制样条曲线的偏移量,并且一个权重因子改变会对p+1段样条曲线产生影响,后面求出的权重因子,对前面的NURBS曲线也会产生影响,求出所有权重因子后,根据求出的值,从第一段开始再一次计算偏移量,重复本步骤,进行迭代学习,一直到偏移量达到所设定的精度ρ为止,停止迭代学习。
第七步,根据动子的速度,确定每次变化量ui+1,计算公式为:
u i + 1 = u i + V ( t ) λ x i - x i - 1 - - - ( 15 )
其中xi表示用NURBS方法把参数ui代入公式7求出的位移值,λ采样周期,V(t)动子的速度。
第八步,对第七步求出ui+1取整得到nu,进而根据nu确定NURBS求推力波动控制曲线时的控制点、权重因子和控制点,把ui+1代入公式7,计算推力波动的补偿量k,计算公式如下:
k = Σ n = 0 p w n u + n P n u + n N n u + n , p ( u i + 1 ) Σ n = 0 p w n u + n N n u + n , p ( u i + 1 ) - - - ( 16 )
其中为权重因子,为控制点,为基函数。
第九步,进行实时学习,根据不同的电流值经过上述步骤,建立不同的离线仿真模型。直线电机在实际工作时,根据不同的电流值选择不同的仿真模型,但是按照这个仿真模型很难有效的控制推力波动。直线电机的推力波动还会受到其他因素的影响,包括负载、速度、以及温度等等,因此只是根据电流变化建立的模型是不够的,还要进行实时学习,对模型进行实时修正。
利用反馈装置包括数据采集系统和数据分析系统把输出值输入到仿真模型中,依旧按照上述步骤二到步骤八确定新的控制点、节点向量、权重因子,对模型进行实时更新。求出的补偿量ki是一个二维量,包括位移量x和推力波动值F'。根据位移量x与推力波动值F',利用前馈控制器对直线电机伺服系统进行补偿。补偿后,把输出值再利用反馈装置输入到仿真模型中,对仿真模型进行实时更新,实现对推力波动的有效控制。
本发明的有益效果主要表现为:利用加速度测量仪直接对直线电 机的动子的加速度变化进行测量,进而根据加速度波动求出直线电机的推力波动,有效解决了推力波动测量不准确,难以测量的缺陷;对推力波动控制一般用三角函数进行建立模型进行拟合,但是由于三角函数的局限性,对一些复杂波动,难以准确拟合,再通过前馈系统对推力波动进行补偿,进而实现对推力波动的控制,但是这样方法存在着计算量大,难以高频响应等不足,本发明提供一种新的推力波动控制方法,并给出一种切实可行计算方案,有效的解决了推力波动控制过程复杂,不能有效控制的弊端。
附图说明
图1是本发明方法控制推力波动的流程图。
图2是本发明方法建立模型的过程图。
图3是本发明方法表示两个极值点在X轴方向上的距离。
图4是本发明方法没有进行迭代学习的模型对推力波动的拟合效果图。其中1是推力波动实际测量值,2是利用没有进行迭代学习的仿真模型计算出来的拟合值曲线。
图5是本发明方法对推力波动的拟合效果图。其中1是推力波动实际测量值曲线,2是利用没有进行迭代学习的仿真模型计算出来的拟合值曲线,3是进行迭代学习后的仿真模型计算出来的拟合值曲线。
具体实施方式
下面结合附图和实施例对本发明进一步说明。
所述基于NURBS的直线伺服系统推力波动控制方法包括以下过程:第一步,分别给直线电机通入不同的电流值,利用光栅尺,加速度测量仪,以一定的采用周期对其进行采样,得到直线电机的动子位置信息和对应加速度信息,并记录下来。
第二步,在理想情况下,给直线电机通入一定的电流值,会产生不变的电磁力,使得电机的动子以恒定的加速度运行,但是由于摩擦力、负载、速度、位置等诸多因素的影响,直线电机的加速度会出现波动,进而根据加速度的波动值,利用牛顿定理,求出推力F变化信息,并与位置信息相对应,推力波动F计算公式如下:
F=ma (1)
其中m是动子以及相关负载的质量,a是动子加速度。以对应的位置信息为横坐标,推力F变化信息为纵坐标建立推力F变化曲线。
第三步,根据推力F变化信息,采用前后判别的方法得到F变化曲线的极值点,即某个F值大于前面的值同时大于后面的值为极大值,小于前面的值同时也小于后面的值为极小值。得到推力F变化曲线的极值和对应的位置信息,并记录下来,同时推力F变化曲线的首末点最为极值点也记录下来。
第四步,构造基函数,通过第三步得到n个极值点,极值点作为NURBS曲线的通过点,简化计算,取权重因子为1,节点向量取准均匀节点向量,节点向量形式为:
其中d为节点之间的差值,p为构造基函数的次数。
根据节点向量求得基函数,NURBS基函数有很多种构造形式,一般常用的构造形式是由如下递推公式给出的,用下列递推方式确定的基函数Ni,p(u)称为相应于节点向量U的P次NURBS基函数:
N i , p ( u ) = u - u i u i + p - u i N i , p - 1 ( u ) + u i + p + 1 - u u i + p + 1 - u i + 1 N i + 1 , p - 1 ( u ) , p ≥ 2 - - - ( 3 )
其中i是基函数的序列号,u是变化参数,ui是节点,p为构造基函数的次数。
给定节点向量U,根据上面的递推公式就可以推导出所需要的基函数。根据通过点,以及通过准均匀节点向量构造的基函数,反算出控制点。
第五步,由位移量确定节点向量。
根据每个极值点横轴坐标值,计算每个极值点间在X轴方向的距离量dj,计算公式为:
dj=xj-xj-1,j=1,2,3,...,n-1 (4)
其中xj表示控制点Pj的横轴坐标。
求节点uj+p+1的公式为:
up+1=0
u j + p + 1 = u j + p + ( n - 1 ) × d j Σ i = 1 n - 1 d i , j = 1,2 , . . . , n - 1 - - - ( 5 )
求出的节点向量形式为:
其中p为基函数的次数,n为通过点的个数即极值点的个数。
根据求出的节点向量利用公式3重新计算基函数Ni,p(u),进而可得基于权重因子wi的第i段NURBS曲线Ki(u),表达式为:
K i ( u ) = Σ n = 0 P w i + n P i + n N i + n - p , p ( u ) Σ n = 0 p w i + n N i + n - p , p ( u ) - - - ( 7 )
u∈[ui+p,ui+p+1],i=1,2,3,...,n-1
第六步,确定权重因子,采用迭代学习法,反复校正权重值。
由于权重因子对NURBS影响较为复杂,为了更好的用权重因子调节NURBS曲线对推力波动进行控制,每段曲线改变一个权重因子对NURBS曲线进行调整,用每一段第二个控制点,作为偏移参考点,对应的参数u取值计算公式为:
u i ′ = u p + i + ( u p + 1 + i - u p + i ) p , i = 1,2,3 . . . n - 1 , p > 0 - - - ( 8 )
其中p为基函数的次数,up+i是节点值,i是样条曲线分段序列号。
把计算出的节点值分别代入NURBS曲线公式7,得到补偿值,公式如下:
k i = Σ n = 0 p w i + n P i + n N i + n - p , p ( u i ′ ) Σ n = 0 p w i + n N i + n - p , p ( u i ′ ) - - - ( 9 )
其中p为基函数的次数,由公式9计算出补偿值ki,ki值包含位移值x和推力波动F'。利用求出的x值对应得到实际推力波动F值,相减得到偏移量Li,计算公式如下;
Li=F-F′i (10)
根据得到的偏移量Li,确定出对应的权重的因子,本算法在没有求出的新的权重因子之前,需要用到的权重因子取1。需要求出距离量包括:
当u=u′i,wk=1时,代入公式9,求p1,得到计算值如下所示:
k 1 = Σ n = 0 p w i + n P i + n N i + n - p , p ( u i ′ ) Σ n = 0 p w i + n N i + n - p , p ( u i ′ ) - - - ( 11 )
包括当u=u′i+1,wk=0时,代入公式9,求p0,得到计算值如下所示:
k 0 = Σ n = 0 p w i + n P i + n N i + n - p , p ( u i ′ ) Σ n = 0 p w i + n N i + n - p , p ( u i ′ ) - - - ( 12 )
进而可得距离量S,K,计算公式如下:
S = ( P i + 1 - k 1 ) 2 K = ( k 0 - k 1 ) 2 - - - ( 13 )
其中Pi+1是第i段样条曲线第二个控制点。
进而根据权重因子交比性质求得新的权重因子w′i,计算公式为:
w i ′ = S ( K + L ) K ( S - L ) , i = 1,2 , . . . , n - 1 - - - ( 14 )
求出新的权重因子,要对对应的控制点上的权重因子进行替换,用于后续的计算。由于一段样条曲线,有四个权重因子。但每个权重因子都可以控制样条曲线的偏移量,并且一个权重因子改变会对p+1段样条曲线产生影响,后面求出的权重因子,对前面的NURBS曲线也会产生影响,求出所有权重因子后,根据求出的值,从第一段开始再一次计算偏移量,重复本步骤,进行迭代学习,一直到偏移量达到所设定的精度ρ为止,停止迭代学习。
第七步,根据动子的速度,确定每次变化量ui+1,计算公式为:
u i + 1 = u i + V ( t ) λ x i - x i - 1 - - - ( 15 )
其中xi表示用NURBS方法把参数ui代入公式7求出的位移值,λ采样周期,V(t)动子的速度。
第八步,对第七步求出ui+1取整得到nu,进而根据nu确定NURBS求推力波动控制曲线时的控制点、权重因子和控制点,把ui+1代入公式7,计算推力波动的补偿量k,计算公式如下:
k = Σ n = 0 p w n u + n P n u + n N n u + n , p ( u i + 1 ) Σ n = 0 p w n u + n N n u + n , p ( u i + 1 ) - - - ( 16 )
其中为权重因子,为控制点,为基函数。
第九步,进行实时学习,根据不同的电流值经过上述步骤,建立不同的离线仿真模型。直线电机在实际工作时,根据不同的电流值选择不同的仿真模型,但是按照这个仿真模型很难有效的控制推力波动。直线电机的推力波动还会受到其他因素的影响,包括负载、速度、以及温度等等,因此只是根据电流变化建立的模型是不够的,还要进行实时学习,对模型进行实时修正。
利用反馈装置包括数据采集系统和数据分析系统把输出值输入到仿真模型中,依旧按照上述步骤二到步骤八确定新的控制点、节点向量、权重因子,对模型进行实时更新。求出的补偿量ki是一个二维量,包括位移量x和推力波动值F'。根据位移量x与推力波动值F',利用前馈控制器对直线电机伺服系统进行补偿。补偿后,把输出值再利用反馈装置输入到仿真模型中,对仿真模型进行实时更新,实现对推力波动的有效控制。
如图1、2所示流程图表明,利用加速度测量仪、光栅尺采集直线电机动子的加速度值和对应的位置信息,根据加速度波动值求出推力F变化曲线,推力F变化曲线的极值点作为NURBS的通过点,利用通过点反算控制点,根据位移量确定节点矢量,根据辨识值与实际值之间的差值,对NURBS曲线进行调整,利用迭代学习法确定NURBS曲线的权重因子,进而建立推力波动离线仿真模型;根据位移量x与推力波动值F',利用前馈控制器对直线电机伺服系统进行补偿。补偿后,把输出值再利用反馈装置输入到仿真模型中,进而根据反馈值进而实时学习,对仿真模型进行实时更新,实现对推力波动有效控制,最终 达到理想的控制精度。
如图3实施例表明,根据每个极值点横轴坐标值,计算每个极值点间在X轴方向的距离量dj,计算公式为:
dj=xj-xj-1,j=1,2,3,...,n-1 (4)
其中xj表示控制点Pj的横轴坐标。
求节点uj+p+1的公式为:
up+1=0
u j + p + 1 = u j + p + ( n - 1 ) × d j Σ i = 1 n - 1 d i , j = 1,2 , . . . , n - 1 - - - ( 5 )
求出的节点向量形式为:
其中p为基函数的次数,n为通过点的个数即极值点的个数。
如图4实施例表明,根据推力F变化信息,采用前后判别的方法得到F变化曲线的极值点,即某个F值大于前面的值同时大于后面的值为极大值,小于前面的值同时也小于后面的值为极小值。得到推力F变化曲线的极值和对应的位置信息,并记录下来,同时推力F变化曲线的首末点最为极值点也记录下来。
进而构造基函数,通过上述得到n个极值点,极值点作为NURBS曲线的通过点,简化计算,取权重因子为1,节点向量取准均匀节点向量,节点向量形式为:
其中d为节点之间的差值,p为构造基函数的次数。
根据节点向量求得基函数,NURBS基函数有很多种构造形式,一般常用的构造形式是由如下递推公式给出的,用下列递推方式确定的基函数Ni,p(u)称为相应于节点向量U的P次NURBS基函数:
N i , p ( u ) = u - u i u i + p - u i N i , p - 1 ( u ) + u i + p + 1 - u u i + p + 1 - u i + 1 N i + 1 , p - 1 ( u ) , p ≥ 2 - - - ( 3 )
其中i是基函数的序列号,u是变化参数,ui是节点,p为构造基函数的次数。
给定节点向量U,根据递推公式3就可以推导出所需要的基函数。根据通过点,以及通过准均匀节点向量构造的基函数,进而根据公式7反算出控制点。给定节点向量U,根据上面的递推公式就可以推导出所需要的基函数。实施例采用三次基函数即p=3,求出的极值点即通过点,是每段曲线的边界点,参数u取节点时,由四个控制点可得一个通过点。由通过点反算控制点的计算公式为:
其中Pi为控制点,Ki为通过点。根据通过点,以及通过准均匀节点向量构造的基函数,反算出控制点,根据控制点、动子的速度,确定每次变化量ui+1,计算公式为:
u i + 1 = u i + V ( t ) λ x i - x i - 1 - - - ( 15 )
其中xi表示用NURBS方法把参数ui代入公式7求出的位移值,λ采样周期,V(t)动子的速度。
进而对上述求出ui+1取整得到nu,进而根据nu确定NURBS求推力波动控制曲线时的控制点、权重因子和控制点,把ui+1代入公式7,计算推力波动的补偿量k,计算公式如下:
k = Σ n = 0 p w n u + n P n u + n N n u + n , p ( u i + 1 ) Σ n = 0 p w n u + n N n u + n , p ( u i + 1 ) - - - ( 16 )
其中为权重因子,为控制点,为基函数。
进而得到图4中推力波动拟合曲线2,图中曲线1是推力波动实 际测量值曲线。
图5中曲线1是推力波动实际测量值曲线,根据图4实施例建立离线仿真补偿模型,如果没有进行迭代学习,直接根据极值点反算通过点建立的NURBS仿真模型对推力波动的拟合曲线如图5曲线2所示,可以看出仿真模型与实际测量会有点偏差,仿真模型进行迭代学习。每段曲线改变一个权重因子对NURBS曲线进行调整,用每一段第二个控制点,作为偏移参考点,对应的参数u取值计算公式为:
u i ′ = u p + i + ( u p + 1 + i - u p + i ) p , i = 1,2,3 . . . n - 1 , p > 0 - - - ( 8 )
其中p为基函数的次数,up+i是节点值,i是样条曲线分段序列号。
把计算出的节点值分别代入NURBS曲线公式7,得到补偿值,公式如下:
k i = Σ n = 0 p w i + n P i + n N i + n - p , p ( u i ′ ) Σ n = 0 p w i + n N i + n - p , p ( u i ′ ) - - - ( 9 )
其中p为基函数的次数,由公式9计算出补偿值ki,ki值包含位移值x和推力波动F'。利用求出的x值对应得到实际推力波动F值,相减得到偏移量Li,计算公式如下;
Li=F-F′i (10)
根据得到的偏移量Li,确定出对应的权重的因子,本算法在没有求出的新的权重因子之前,需要用到的权重因子取1。需要求出距离量包括:
当u=u′i,wk=1时,代入公式9,求p1,得到计算值如下所示:
k 1 = Σ n = 0 p w i + n P i + n N i + n - p , p ( u i ′ ) Σ n = 0 p w i + n N i + n - p , p ( u i ′ ) - - - ( 11 )
包括当u=u′i+1,wk=0时,代入公式9,求p0,得到计算值如下所示:
k 0 = Σ n = 0 p w i + n P i + n N i + n - p , p ( u i ′ ) Σ n = 0 p w i + n N i + n - p , p ( u i ′ ) - - - ( 12 )
进而可得距离量S,K,计算公式如下:
S = ( P i + 1 - k 1 ) 2 K = ( k 0 - k 1 ) 2 - - - ( 13 )
其中Pi+1是第i段样条曲线第二个控制点。
进而根据权重因子交比性质求得新的权重因子w′i,计算公式为:
w i ′ = S ( K + L ) K ( S - L ) , i = 1,2 , . . . , n - 1 - - - ( 14 )
求出新的权重因子,要对对应的控制点上的权重因子进行替换,用于后续的计算。由于一段样条曲线,有四个权重因子。但每个权重因子都可以控制样条曲线的偏移量,并且一个权重因子改变会对p+1段样条曲线产生影响,后面求出的权重因子,对前面的NURBS曲线也会产生影响,求出所有权重因子后,根据求出的值,从第一段开始再一次计算偏移量,重复本步骤,进行迭代学习,一直到偏移量达到所设定的精度ρ为止,停止迭代学习。
经过迭代学习后,仿真模型计算出来的拟合值曲线3基本与实际测量值曲线1重合,可以得出结论,基于NURBS的直线电机推力波动控制方法建立的仿真模型能准确的拟合推力波动,进行实现对推力波动的有效控制,满足直线电机伺服系统高速、高精的控制要求。
显而易见,在不偏离本发明的真实精神和范围的前提下,在此描述的本发明可以有许多变化。因此,所有对于本领域技术人员来说显而易见的改变,都应包括在本权利要求书所涵盖的范围之内。
本发明所要求保护的范围仅由所述的权利要求书进行限定。

Claims (8)

1.基于NURBS的直线伺服系统推力波动控制方法,其特征在于步骤如下:
第一步,分别给直线电机通入不同的电流值,利用光栅尺,加速度测量仪,以一定的采用周期对其进行采样,得到直线电机的动子位置信息和对应加速度信息,并记录下来。
第二步,在理想情况下,给直线电机通入一定的电流值,会产生不变的电磁力,使得电机的动子以恒定的加速度运行,但是由于摩擦力、负载、速度、位置等诸多因素的影响,直线电机的加速度会出现波动,进而根据加速度的波动值,利用牛顿定理,求出推力F变化信息,并与位置信息相对应,推力波动F计算公式如下:
F=ma (1)
其中m是动子以及相关负载的质量,a是动子加速度。以对应的位置信息为横坐标,推力F变化信息为纵坐标建立推力F变化曲线。
第三步,根据推力F变化信息,采用前后判别的方法得到F变化曲线的极值点,即某个F值大于前面的值同时大于后面的值为极大值,小于前面的值同时也小于后面的值为极小值。得到推力F变化曲线的极值和对应的位置信息,并记录下来,同时推力F变化曲线的首末点最为极值点也记录下来。
第四步,构造基函数,通过第三步得到n个极值点,极值点作为NURBS曲线的通过点,简化计算,取权重因子为1,节点向量取准均匀节点向量,节点向量形式为:
其中d为节点之间的差值,p为构造基函数的次数。
根据节点向量求得基函数,NURBS基函数有很多种构造形式,一般常用的构造形式是由如下递推公式给出的,用下列递推方式确定的基函数Ni,p(u)称为相应于节点向量U的P次NURBS基函数:
N i , p ( u ) = u - u i u i + p - u i N i , p - 1 ( u ) + u i + p + 1 - u u i + p + 1 - u i + 1 N i + 1 , p - 1 ( u ) , p ≥ 2 - - - ( 3 )
其中i是基函数的序列号,u是变化参数,ui是节点,p为构造基函数的次数。
给定节点向量U,根据上面的递推公式就可以推导出所需要的基函数。根据通过点,以及通过准均匀节点向量构造的基函数,反算出控制点。
第五步,由位移量确定节点向量。
根据每个极值点横轴坐标值,计算每个极值点间在X轴方向的距离量dj,计算公式为:
dj=xj-xj-1,j=1,2,3,...,n-1 (4)
其中xj表示控制点Pj的横轴坐标。
求节点uj+p+1的公式为:
up+1=0
u j + p + 1 = u j + p + ( n - 1 ) × d j Σ i = 1 n - 1 d i , j = 1,2 , . . . , n - 1 - - - ( 5 )
求出的节点向量形式为:
其中p为基函数的次数,n为通过点的个数即极值点的个数。
根据求出的节点向量利用公式3重新计算基函数Ni,p(u),进而可得基于权重因子wi的第i段NURBS曲线Ki(u),表达式为:
K i ( u ) = Σ n = 0 P w i + n P i + n N i + n - p , p ( u ) Σ n = 0 p w i + n N i + n - p , p ( u ) - - - ( 7 )
u∈[ui+p,ui+p+1],i=1,2,3,...,n-1
第六步,确定权重因子,采用迭代学习法,反复校正权重值。
由于权重因子对NURBS影响较为复杂,为了更好的用权重因子调节NURBS曲线对推力波动进行控制,每段曲线改变一个权重因子对NURBS曲线进行调整,用每一段第二个控制点,作为偏移参考点,对应的参数u取值计算公式为:
u i ′ = u p + i + ( u p + 1 + i - u p + i ) p , i = 1,2,3 . . . n - 1 , p > 0 - - - ( 8 )
其中p为基函数的次数,up+i是节点值,i是样条曲线分段序列号。
把计算出的节点值分别代入NURBS曲线公式7,得到补偿值,公式如下:
k i = Σ n = 0 p w i + n P i + n N i + n - p , p ( u i ′ ) Σ n = 0 p w i + n N i + n - p , p ( u i ′ ) - - - ( 9 )
其中p为基函数的次数,由公式9计算出补偿值ki,ki值包含位移值x和推力波动F'。利用求出的x值对应得到实际推力波动F值,相减得到偏移量Li,计算公式如下;
Li=F-F′i (10)
根据得到的偏移量Li,确定出对应的权重的因子,本算法在没有求出的新的权重因子之前,需要用到的权重因子取1。需要求出距离量包括:
当u=u′i,wk=1时,代入公式9,求p1,得到计算值如下所示:
k 1 = Σ n = 0 p w i + n P i + n N i + n - p , p ( u i ′ ) Σ n = 0 p w i + n N i + n - p , p ( u i ′ ) - - - ( 11 )
包括当u=u′i+1,wk=0时,代入公式9,求p0,得到计算值如下所示:
k 0 = Σ n = 0 p w i + n P i + n N i + n - p , p ( u i ′ ) Σ n = 0 p w i + n N i + n - p , p ( u i ′ ) - - - ( 12 )
进而可得距离量S,K,计算公式如下:
S = ( P i + 1 - k 1 ) 2 K = ( k 0 - k 1 ) 2 - - - ( 13 )
其中Pi+1是第i段样条曲线第二个控制点。
进而根据权重因子交比性质求得新的权重因子w′i,计算公式为:
w i ′ = S ( K + L ) K ( S - L ) , i = 1,2 , . . . , n - 1 - - - ( 14 )
求出新的权重因子,要对对应的控制点上的权重因子进行替换,用于后续的计算。由于一段样条曲线,有四个权重因子。但每个权重因子都可以控制样条曲线的偏移量,并且一个权重因子改变会对p+1段样条曲线产生影响,后面求出的权重因子,对前面的NURBS曲线也会产生影响,求出所有权重因子后,根据求出的值,从第一段开始再一次计算偏移量,重复本步骤,进行迭代学习,一直到偏移量达到所设定的精度ρ为止,停止迭代学习。
第七步,根据动子的速度,确定每次变化量ui+1,计算公式为:
u i + 1 = u i + V ( t ) λ x i - x i - 1 - - - ( 15 )
其中xi表示用NURBS方法把参数ui代入公式7求出的位移值,λ采样周期,V(t)动子的速度。
第八步,对第七步求出ui+1取整得到nu,进而根据nu确定NURBS求推力波动控制曲线时的控制点、权重因子和控制点,把ui+1代入公式7,计算推力波动的补偿量k,计算公式如下:
k = Σ n = 0 p w n u + n P n u + n N n u + n , p ( u i + 1 ) Σ n = 0 p w n u + n N n u + n , p ( u i + 1 ) - - - ( 16 )
其中为权重因子,为控制点,为基函数。
第九步,进行实时学习,根据不同的电流值经过上述步骤,建立不同的离线仿真模型。直线电机在实际工作时,根据不同的电流值选择不同的仿真模型,但是按照这个仿真模型很难有效的控制推力波动。直线电机的推力波动还会受到其他因素的影响,包括负载、速度、以及温度等等,因此只是根据电流变化建立的模型是不够的,还要进行实时学习,对模型进行实时修正。
利用反馈装置包括数据采集系统和数据分析系统把输出值输入到仿真模型中,依旧按照上述步骤二到步骤八确定新的控制点、节点向量、权重因子,对模型进行实时更新。求出的补偿量ki是一个二维量,包括位移量x和推力波动值F'。根据位移量x与推力波动值F',利用前馈控制器对直线电机伺服系统进行补偿。补偿后,把输出值再利用反馈装置输入到仿真模型中,对仿真模型进行实时更新,实现对推力波动的有效控制。
2.如权利要求1所述的基于NURBS的直线伺服系统推力波动控制方法,其特征在于:第一步有关数据的采集上,给直流电机通入不同的电流,进行加速度和对应位置信息的数据采集。
3.如权利要求1所述的基于NURBS的直线伺服系统推力波动控制方法,其特征在于:第二步中有关推力波动的计算,直接根据动子的加速度波动,计算推力波动大小。
4.如权利要求1所述的基于NURBS的直线伺服系统推力波动控制方法,其特征在于:第四步有关通过点的计算,把推力变化的极值点作为NURBS曲线的通过点,权重因子取1,节点向量取为准均匀节点向量,构造基函数,根据通过点计算出控制点。
5.如权利要求1所述的基于NURBS的直线伺服系统推力波动控制方法,其特征在于:第五步有关节点向量的计算,根据两极值点在横轴的距离占全部距离量的比例,确定节点值uj+p+1,计算公式为:
up+1=0
u j + p + 1 = u j + p + ( n - 1 ) × d j Σ i = 1 n - 1 d i , j = 1,2 , . . . , n - 1 - - - ( 5 )
6.如权利要求1所述的基于NURBS的直线伺服系统推力波动控制方法,其特征在于:第六步有关计算权重因子时,每段曲线改变一个权重因子对NURBS曲线进行调整,用每一段第二个控制点,作为偏移参考点,参数u取值计算公式为:
u i ′ = u p + i + ( u p + 1 + i - u p + i ) p , i = 1,2,3 . . . n - 1 , p > 0 - - - ( 8 )
其中p为基函数的次数,up+i是节点值,i是样条曲线分段序列号。把参数u′i代入NURBS曲线公式,计算得到补偿值,利用求出的x值对应实际推力波动F'值,相减得到偏移量Li。根据权重因子的交比性质,计算得到新的权重因子。权重因子要进行实时更新替换,进行迭代学习,达到所要求的拟合精度。
7.如权利要求1所述的基于NURBS的直线伺服系统推力波动控制方法,其特征在于:第八步关于参数u值的计算,根据动子的速度、采用周期以及位置信息确定,计算公式为:
u i + 1 = u i + V ( t ) λ x i - x i - 1 - - - ( 15 )
其中xi表示用NURBS方法,把参数ui代入公式7求出的位移值,λ采样周期,V(t)动子的速度。
8.如权利要求1所述的基于NURBS的直线伺服系统推力波动控制方法,其特征在于:第八步有关补偿值的计算,控制点、基函数与权重因子的选择都需要根据参数u的大小确定。
CN201410232642.4A 2014-05-28 2014-05-28 基于nurbs的直线电机推力波动控制方法 Active CN104038128B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410232642.4A CN104038128B (zh) 2014-05-28 2014-05-28 基于nurbs的直线电机推力波动控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410232642.4A CN104038128B (zh) 2014-05-28 2014-05-28 基于nurbs的直线电机推力波动控制方法

Publications (2)

Publication Number Publication Date
CN104038128A true CN104038128A (zh) 2014-09-10
CN104038128B CN104038128B (zh) 2017-01-04

Family

ID=51468755

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410232642.4A Active CN104038128B (zh) 2014-05-28 2014-05-28 基于nurbs的直线电机推力波动控制方法

Country Status (1)

Country Link
CN (1) CN104038128B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108693833A (zh) * 2017-03-31 2018-10-23 发那科株式会社 机器学习装置、伺服控制装置和系统以及机器学习方法
CN112234893A (zh) * 2020-09-21 2021-01-15 瑞声新能源发展(常州)有限公司科教城分公司 一种直线电机推力波动的抑制方法、相关设备和介质
CN112234892A (zh) * 2020-09-21 2021-01-15 瑞声新能源发展(常州)有限公司科教城分公司 一种直线电机推力波动的抑制方法、相关设备和介质
CN114740803A (zh) * 2022-04-06 2022-07-12 南华大学 一种nurbs曲线插补速度控制方法、装置及设备
WO2024108807A1 (zh) * 2022-11-25 2024-05-30 瑞声科技(南京)有限公司 一种直驱系统及其控制方法、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5889341A (en) * 1997-10-09 1999-03-30 Ut Automotive Dearborn, Inc. Multi-functional apparatus employing a linear wiper
JP2003171075A (ja) * 2001-09-27 2003-06-17 Toshiba Elevator Co Ltd エレベータの制振装置および制振装置システム
CN101178594A (zh) * 2007-11-30 2008-05-14 上海奈凯电子科技有限公司 数控机床系统中实现对刀路进行插补控制的方法
US20100110710A1 (en) * 2008-10-30 2010-05-06 Ichikoh Industries, Ltd. Vehicle headlamp
CN102710214A (zh) * 2012-06-11 2012-10-03 桂林电子科技大学 永磁同步直线电机非线性干扰的控制方法及控制系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5889341A (en) * 1997-10-09 1999-03-30 Ut Automotive Dearborn, Inc. Multi-functional apparatus employing a linear wiper
JP2003171075A (ja) * 2001-09-27 2003-06-17 Toshiba Elevator Co Ltd エレベータの制振装置および制振装置システム
CN101178594A (zh) * 2007-11-30 2008-05-14 上海奈凯电子科技有限公司 数控机床系统中实现对刀路进行插补控制的方法
US20100110710A1 (en) * 2008-10-30 2010-05-06 Ichikoh Industries, Ltd. Vehicle headlamp
CN102710214A (zh) * 2012-06-11 2012-10-03 桂林电子科技大学 永磁同步直线电机非线性干扰的控制方法及控制系统

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108693833A (zh) * 2017-03-31 2018-10-23 发那科株式会社 机器学习装置、伺服控制装置和系统以及机器学习方法
CN108693833B (zh) * 2017-03-31 2019-11-01 发那科株式会社 机器学习装置、伺服控制装置和系统以及机器学习方法
US10481566B2 (en) 2017-03-31 2019-11-19 Fanuc Corporation Machine learning device, servo control device, servo control system and machine learning method
CN112234893A (zh) * 2020-09-21 2021-01-15 瑞声新能源发展(常州)有限公司科教城分公司 一种直线电机推力波动的抑制方法、相关设备和介质
CN112234892A (zh) * 2020-09-21 2021-01-15 瑞声新能源发展(常州)有限公司科教城分公司 一种直线电机推力波动的抑制方法、相关设备和介质
CN114740803A (zh) * 2022-04-06 2022-07-12 南华大学 一种nurbs曲线插补速度控制方法、装置及设备
CN114740803B (zh) * 2022-04-06 2022-12-27 南华大学 一种nurbs曲线插补速度控制方法、装置及设备
WO2024108807A1 (zh) * 2022-11-25 2024-05-30 瑞声科技(南京)有限公司 一种直驱系统及其控制方法、电子设备及存储介质

Also Published As

Publication number Publication date
CN104038128B (zh) 2017-01-04

Similar Documents

Publication Publication Date Title
Li et al. A nonlinear generalized predictive control for pumped storage unit
CN102520353B (zh) 同步发电机模型参数分步辨识方法
CN104038128A (zh) 基于nurbs的直线电机推力波动控制方法
CN104111607B (zh) 一种考虑输入时滞的电机位置伺服系统的控制方法
CN104181860B (zh) 数控机床s型加减速控制方法
CN106325073A (zh) 基于分数阶的伺服系统位置ip控制器无模型自校正方法
CN102354107A (zh) 一种交流位置伺服系统模型参数在线辨识和控制方法
CN103529698B (zh) 发电机调速系统参数辨识方法
CN104035380B (zh) 基于偏移量nurbs曲线的数控裁床运动控制方法
CN106078741A (zh) 基于确定学习理论的性能受限柔性机械臂控制方法
CN103995937A (zh) 基于响应面和遗传算法的精密机床质量匹配设计方法
CN110007645A (zh) 一种基于动力学及深度神经网络的进给系统混合建模方法
CN108170101A (zh) 面向多项式样条曲线的插补方法及系统
CN105005654A (zh) 一种包含引水系统的调速系统数模混合实时仿真方法
CN106020122A (zh) 基于牛顿迭代的数控轨迹控制方法
CN106300338A (zh) 基于轨迹灵敏度的受端电网动态频率安全量化评估方法
Zhang et al. Parameter Optimization and Model Identification of Identification Model Control Based on Improved Generalized Predictive Control
CN103144109A (zh) 一种用于附加外部轴的机器人系统分站式精度补偿方法
CN113268040A (zh) 一种数控机床伺服进给系统控制参数的优选方法
CN106097157A (zh) 一种同步发电机励磁系统模型参数辨识优化方法
CN104008286A (zh) 一种基于粒子群算法的空间柔性机构动态可靠性分析方法
CN104022701B (zh) 一种永磁同步直线电机牛顿法内模速度控制方法
CN103413049B (zh) 基于机电耦合特性的并联机床结构优化参数值的获取方法
CN105140957A (zh) 基于风电场和光伏电站聚合模型的机电振荡模式估算方法
CN104238624B (zh) 一种最大功率点的跟踪方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20201117

Address after: 226300 313314, A2 / F, jianghaizhihuiyuan, 266 New Century Avenue, high tech Zone, Nantong City, Jiangsu Province

Patentee after: Jiangsu xitaixin Technology Co., Ltd

Address before: 310018 No. 2, Xiasha Higher Education Zone, Hangzhou, Zhejiang, Jianggan District

Patentee before: Zhejiang University of Technology

TR01 Transfer of patent right