1.本发明涉及微机电技术领域,特别是涉及一种确定马达非线性参数的方法、装置、计算机设备和非易失性计算机可读存储介质。
背景技术:
2.随着电子设备的迅速发展,马达作为一种触觉反馈的激励器,在例如智能手机、手表和平板电脑等电子设备上得到广泛应用。
3.在实际应用中,马达的经典二阶模型可以满足应用和触觉反馈效果的设计需求,但是在需要精确触觉反馈效果的场景下,由于马达所固有的非线性特性,往往使得基于经典二阶模型的应用无法满足需求。目前技术中提供的获取马达非线性参数的方案,主要是采用激励信号激励马达振动后采集电压、电流测量值,根据电压、电流测量值结合马达的线参数初始值和非线性参数初始值采用自适应滤波计算得到马达的非线性参数目标值,然而这种方式仍难以对非线性模型中的马达非线性参数进行精确估计。
技术实现要素:
4.基于此,有必要针对上述技术问题,提供一种确定马达非线性参数的方法、装置、计算机设备和非易失性计算机可读存储介质。
5.一种确定马达非线性参数的方法,其特征在于,所述方法包括:
6.构造包含马达非线性参数的非线性模型;
7.设计激励信号;
8.利用激励信号驱动马达振动,获取振动状态下所述马达的两端电压测量值、马达电流测量值以及马达振子加速度测量值;
9.基于所述非线性模型构建与所述非线性模型相关的目标方程;
10.根据所述电压测量值、马达电流测量值以及所述马达振子加速度测量值利用最小二乘法拟合所述目标方程,获得所述非线性参数;
11.其中,所述非线性模型表示为:
12.u=r
e
i bl(x)v
13.bl(x)i=ma r
m
(x)v k
m
(x)x
14.u为马达两端电压;i为马达电流;x为振子位移;v为振子速度;a为马达振子加速度;r
e
为马达电阻;bl(x)为马达电磁力系数;k
m
(x)为马达弹簧劲度系数;r
m
(x)为马达阻尼;m为马达振子质量;
15.所述非线性参数表示为:
16.bl(x)=bl0 bl1x bl2x2 bl3x3 bl4x417.k
m
(x)=k
m0
k
m1
x k
m2
x2 k
m3
x3 k
m4
x418.r
m
(x)=r
m0
r
m1
x r
m2
x2。
19.一种确定马达非线性参数的装置,包括:
20.模型构造模块,用于构造包含马达非线性参数的非线性模型;
21.测量值获取模块,用于利用激励信号驱动马达振动,获取振动状态下所述马达的两端电压测量值、马达电流测量值以及马达振子加速度测量值;
22.激励信号生成模块,用于生成多组激励信号,以驱动马达在不同频率下振动;
23.方程组构建模块,用于基于所述非线性模型构建与所述非线性模型关联目标方程;
24.非线性参数获得模块,用于根据所述电压测量值、马达电流测量值以及所述马达振子加速度测量值拟合所述目标方程,获得所述非线性参数;
25.其中,所述非线性模型表示为:
26.u=r
e
i bl(x)v
27.bl(x)i=ma r
m
(x)v k
m
(x)x
28.u为马达两端电压;i为马达电流;x为振子位移;v为振子速度;a为马达振子加速度;r
e
为马达电阻;bl(x)为马达电磁力系数;k
m
(x)为马达弹簧劲度系数;r
m
(x)为马达阻尼;m为马达振子质量;
29.所述非线性参数表示为:
30.bl(x)=bl0 bl1x bl2x2 bl3x3 bl4x431.k
m
(x)=k
m0
k
m1
x k
m2
x2 k
m3
x3 k
m4
x432.r
m
(x)=r
m0
r
m1
x r
m2
x2。
33.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
34.构造包含马达非线性参数的非线性模型;
35.设计激励信号;
36.利用激励信号驱动马达振动,获取振动状态下所述马达的两端电压测量值、马达电流测量值以及马达振子加速度测量值;
37.基于所述非线性模型构建与所述非线性模型相关的目标方程;
38.根据所述电压测量值、马达电流测量值以及所述马达振子加速度测量值利用最小二乘法拟合所述目标方程,获得所述非线性参数;
39.其中,所述非线性模型表示为:
40.u=r
e
i bl(x)v
41.bl(x)i=ma r
m
(x)v k
m
(x)x
42.u为马达两端电压;i为马达电流;x为振子位移;v为振子速度;a为马达振子加速度;r
e
为马达电阻;bl(x)为马达电磁力系数;k
m
(x)为马达弹簧劲度系数;r
m
(x)为马达阻尼;m为马达振子质量;
43.所述非线性参数表示为:
44.bl(x)=bl0 bl1x bl2x2 bl3x3 bl4x445.k
m
(x)=k
m0
k
m1
x k
m2
x2 k
m3
x3 k
m4
x446.r
m
(x)=r
m0
r
m1
x r
m2
x2。
47.一种非易失性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
48.构造包含马达非线性参数的非线性模型;
49.设计激励信号;
50.利用激励信号驱动马达振动,获取振动状态下所述马达的两端电压测量值、马达电流测量值以及马达振子加速度测量值;
51.基于所述非线性模型构建与所述非线性模型相关的目标方程;
52.根据所述电压测量值、马达电流测量值以及所述马达振子加速度测量值利用最小二乘法拟合所述目标方程,获得所述非线性参数;
53.其中,所述非线性模型表示为:
54.u=r
e
i bl(x)v
55.bl(x)i=ma r
m
(x)v k
m
(x)x
56.u为马达两端电压;i为马达电流;x为振子位移;v为振子速度;a为马达振子加速度;r
e
为马达电阻;bl(x)为马达电磁力系数;k
m
(x)为马达弹簧劲度系数;r
m
(x)为马达阻尼;m为马达振子质量;
57.所述非线性参数表示为:
58.bl(x)=bl0 bl1x bl2x2 bl3x3 bl4x459.k
mm
(x)=k
m0
k
m1
x k
m2
x2 k
m3
x3 k
m4
x460.r
m
(x)=r
m0
r
m1
x r
m2
x2。
61.上述确定马达非线性参数的方法、装置、计算机设备和存储介质,构造包含马达非线性参数的非线性模型;设计激励信号;利用激励信号驱动马达振动,获取振动状态下所述马达的两端电压测量值、马达电流测量值以及马达振子加速度测量值;基于所述非线性模型构建与所述非线性模型相关的目标方程;根据所述电压测量值、马达电流测量值以及所述马达振子加速度测量值利用最小二乘法拟合所述目标方程,获得所述非线性参数,提高马达测试过程中确定马达非线性参数的精度和效率。
附图说明
62.图1为一个实施例中确定马达非线性参数的方法的应用环境图;
63.图2为一个实施例中确定马达非线性参数的方法的流程示意图;
64.图3为一个实施例中确定马达非线性参数的装置的结构框图;
65.图4为一个实施例中计算机设备的内部结构图。
具体实施方式
66.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
67.本发明提供的确定马达非线性参数的方法,可以应用于如图1所示的应用环境,该应用环境可以包括计算机设备140、采集卡150、功率放大器160、信号放大器170、待测试的马达110。其中,计算机设备140可以但不限于是各种个人计算机、笔记本电脑、智能手机和平板电脑等;马达110可以包括lra(linear resonance actuator,线性马达),lra属于一种应用于智能手机的线性马达。该马达110可以放置于海绵130上以提高对马达110的测试精
度。在一些测试场景中,马达110和海绵130间可以放置工装件120,从而可以利用该工装件120支撑马达110,在马达110测试过程中采集马达振子加速度数据。
68.具体的,基于上述场景,测试人员可在计算机设备140生成马达110的激励信号,该激励信号一般是数字信号,通过采集卡150将激励信号从数字信号的形式转化为模拟信号的形式,接着通过功率放大器160将激励信号加载到马达110两端进行激励以驱动马达110振动,在振动状态下可获取马达110的两端电压测量值、马达电流测量值以及马达振子加速度测量值。在得到马达振子加速度测量值后,计算机设备140可基于该马达振子加速度测量值获得马达110的振子速度与振子位移,以及基于所构造的包含马达非线性参数的非线性模型,构建与该非线性模型关联的目标方程,根据电压测量值、马达电流测量值以及马达振子加速度测量值拟合目标方程,获得非线性参数。
69.基于如上场景可实施本发明提供的确定马达非线性参数的方法,从而能够在计算机设备140上利用激励信号驱动马达110振动后,获取振动状态下马达110两端电压、电流和加速度,并利用加速度测量值获得马达110的振子速度与振子位移,以此对与非线性模型关联的目标方程进行拟合从而获得马达非线性参数,提高马达110测试过程中确定马达110非线性参数的精度和效率,有助于缩短马达非线性参数的测试时间,使用该非线性模型进行信号设计,可提升仿真信号和实测信号的相似度,为精确触觉反馈效果设计提供了支撑。
70.下面结合实施例和附图对本发明提供的确定马达非线性参数的方法作进一步说明。
71.在一个实施例中,如图2所示,提供了一种确定马达非线性参数的方法,该方法可以由图1中的计算机设备140执行,该方法包括以下步骤:
72.步骤s201,构造包含马达非线性参数的非线性模型。
73.将马达110的经典二阶模型中的部分参数表示为非线性参数(即在马达振子运动过程中不是常数)即构成马达110的非线性模型。在对马达110的非线性模型中的非线性参数进行估计时,该非线性模型所包含的非线性参数都可作为待估计的非线性参数。可将非线性参数通过多项式进行表示,本步骤中,计算机设备140可构造包含马达非线性参数的非线性模型,并获取非线性参数所对应的多项式表示。其中,非线性参数可以采用多项式近似表示为随某个或者某些变量变化的量,而多项式具有相应的各阶系数。
74.示例性的,马达110的经典二阶模型可以采用如下(1)和(2)式进行表示:
[0075][0076]
bli=ma r
m
v k
m
x
ꢀꢀ
(2)
[0077]
其中,(1)式为电方程,(2)式为机械方程。其中,u表示马达两端电压、i表示马达电流、x表示马达振子位移、v表示马达振子速度、a表示马达振子加速度、r
e
表示马达电阻、l
e
表示马达电感、bl表示马达电磁力系数、m表示马达振子质量、k
m
表示马达弹簧劲度系数和r
m
表示马达阻尼。
[0078]
在上(1)和(2)式的基础上,一般考虑将这些参数表示为非线性参数:l
e
、bl、r
m
和k
m
。可以将这些非线性参数近似表示为随例如振子位移、振子速度和振子加速度等变量的多项式形式,在一些工程应用中,可以将部分影响较小的非线性参数进行忽略处理。为了便于描述,本发明将上式(1)中马达电感l
e
忽略的影响忽略,以位移x将马达电磁力系数bl、马
达弹簧劲度系数k
m
和马达阻尼r
m
通过多项式进行表示,具体的,马达110的非线性模型可以采用如下(3)和(4)式进行表示:
[0079]
u=r
e
i bl(x)v
ꢀꢀ
(3)
[0080]
bl(x)i=ma r
m
(x)v k
m
(x)x
ꢀꢀ
(4)
[0081]
其中,(3)式和(4)式分别为电方程、机械方程的非线性表达形式,即马达110的非线性模型可以包括电方程和机械方程;其中,非线性参数包括马达电磁力系数bl、马达弹簧劲度系数k
m
和马达阻尼r
m
,分别被表示为:
[0082]
bl(x)=bl0 bl1x bl2x2 bl3x3 bl4x4ꢀꢀ
(5)
[0083]
k
m
(x)=k
m0
k
m1
x k
m2
x2 k
m3
x3 k
m4
x4ꢀꢀ
(6)
[0084]
bl(x)i=ma r
m
(x)v k
m
(x)x
ꢀꢀ
(7)
[0085]
其中,上式(5)至(7)分别为马达电磁力系数bl、马达弹簧劲度系数k
m
和马达阻尼r
m
的多项式表示,bl0至bl4为马达电磁力系数bl的各阶系数,振子位移x为马达电磁力系数bl对应的变量,同理,k
m0
至k
m4
为马达弹簧劲度系数k
m
的各阶系数,振子位移x为马达弹簧劲度系数k
m
对应的变量,r
m0
至r
m2
为马达阻尼r
m
的各阶系数,振子位移x为马达阻尼r
m
对应的变量。
[0086]
本步骤中,计算机设备140可获取由上式(3)和(4)表示的非线性模型,而该非线性模式所包含的非线性参数由上式(5)至(7)表示。
[0087]
步骤s202,激励信号包括频率为f0/3的第一信号、频率为f0/2的第二信号以及频率为f0的第三信号,其中f0为额定电压下马达的谐振频率。
[0088]
步骤s203,利用激励信号驱动马达振动,获取振动状态下马达的两端电压测量值、马达电流测量值以及马达振子加速度测量值。
[0089]
本步骤中,计算机设备140可利用激励信号驱动马达110振动,马达110受该驱动处于振动状态,计算机设备140获取处于振动状态下马达110的两端电压测量值、马达电流测量值以及马达振子加速度测量值。在一些实施例中,激励信号可由计算机设备140生成。
[0090]
步骤s204,基于非线性模型构建与非线性模型关联的目标方程。
[0091]
设置模型输出信号y表示为马达电流与马达振子加速度的组合形式,即y=[i,k*a];
[0092]
目标方程设置为:
[0093][0094]
其中,n表示输出信号y的采样点,n为总采样点数,y[n]为各采样点采集到的马达输出信号,为拟合得到的马达输出信号;λ为正则化系数,m表示非线性参数的序号,m为非线性参数总个数,p表示在各采样点拟合得到的非线性参数的集合(即上式(5)中bl0~bl4对应于p[1]~p[5],上式(6)中k
m0
~k
m4
对应p[6]~p[10],上式(7)中r
m0
~r
m2
对应p[11]~p[13])。目标方程中的项用于平衡测试过程中产生的噪声信号等干扰因素以及防止过拟合。
[0095]
步骤s205,根据所述电压测量值、马达电流测量值以及所述马达振子加速度测量值利用最小二乘法拟合所述目标方程(8),获得所述非线性参数。
[0096]
上述最小二乘法(又称最小平方法)是一种在误差估计、不确定度、系统辨识及预
测、预报等数据处理诸多学科领域得到广泛应用的数学工具是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。
[0097]
计算机设备140经过上述求解得到马达110的非线性模型中的各个非线性参数相应的各项系数后,对马达110的非线性参数估计过程即完成,从而也精确高效地确定出非线性模型中以多项式进行表达的每个非线性参数,使用该马达110的非线性模型进行信号设计,可提升仿真信号和实测信号的相似度,为精确触觉反馈效果设计提供了支撑,使之满足精确触觉反馈效果设计需求。
[0098]
上述确定马达非线性参数的方法,计算机设备140可获取所构造的马达非线性参数的非线性模型,利用计算机设备140产生多组激励信号,利用激励信号驱动马达110振动,获取振动状态下该马达110的两端电压测量值、马达电流测量值以及马达振子加速度测量值,接着计算机设备140基于非线性模型构建与该非线性模型关联的目标方程,并根据前述电压测量值、马达电流测量值以及马达振子加速度测量值拟合该目标方程,获得前述非线性参数,计算机设备140能够利用激励信号驱动马达110振动后,获取振动状态下马达两端电压、电流和加速度,以此对与非线性模型关联的目标方程进行拟合从而获得马达非线性参数,提高马达110测试过程中确定马达非线性参数的精度和效率。
[0099]
在一些实施例中,上述步骤s202中的利用激励信号驱动马达振动,获取振动状态下马达的两端电压测量值、马达电流测量值以及马达振子加速度测量值,可以包括:
[0100]
利用工装件支撑马达,通过测量工装件的加速度测量值计算马达振子加速度测量值。
[0101]
如图1所示,本实施例中,可利用工装件120支撑马达110,由此,计算机设备140可通过测量工装件120的加速度测量值计算出马达振子加速度测量值。其中,工装件120的加速度测量值与马达振子加速度测量值满足如下关系:
[0102]
a=a
f
m
f
/m
[0103]
其中,a
f
为工装件120的加速度,m
f
为工装件120的质量,m为马达振子质量,a为马达振子加速度。通过上述加速度关系,计算机设备140可根据采集的工装件120的加速度测量值转化为马达振子加速度测量值。
[0104]
进一步的,在一些实施例中,在步骤s205的根据电压测量值、马达电流测量值以及马达振子加速度测量值拟合目标方程之前,上述方法还可以包括如下步骤:
[0105]
利用信号放大器对工装件120的加速度测量值进行放大处理。其中,该信号放大器的放大倍数一般为1
‑
10倍等,目的是为了减小采集卡处模数转换的数据量化误差。本实施例中,从工装件120所采集的加速度测量值可以经过信号放大器170、采集卡150传输至计算机设备140,该信号放大器170所接收的加速度测量值是工装件120的加速度测量值,而计算机设备140所需要的是马达振子加速度测量值。本实施例可利用信号放大器170完成从工装件120的加速度测量值到马达振子加速度测量值的转化,即利用信号放大器170对工装件120的加速度测量值进行放大处理,且该信号放大器170的放大倍数可设为1
‑
10倍,减小采集卡处模数转换的数据量化误差。
[0106]
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少
一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0107]
在一个实施例中,如图3所示,提供了一种确定马达非线性参数的装置,该装置300可以包括:
[0108]
模型构造模块301,用于构造包含马达非线性参数的非线性模型;
[0109]
激励信号生成模块302,用于生成多组激励信号,以驱动马达在不同频率下振动;
[0110]
测量值获取模块303,用于利用激励信号驱动马达振动,获取振动状态下所述马达的两端电压测量值、马达电流测量值以及马达振子加速度测量值;
[0111]
方程组构建模块304,用于基于所述非线性模型构建与所述非线性模型关联的目标方程;
[0112]
非线性参数获得模块305,用于根据所述电压测量值、马达电流测量值以及所述马达振子加速度测量值拟合所述目标方程,获得所述非线性参数;
[0113]
其中,所述非线性模型表示为:
[0114]
u=r
e
i bl(x)v
[0115]
bl(x)i=ma r
m
(x)v k
m
(x)x
[0116]
u为马达两端电压;i为马达电流;x为振子位移;v为振子速度;a为马达振子加速度;r
e
为马达电阻;bl(x)为马达电磁力系数;k
m
(x)为马达弹簧劲度系数;r
m
(x)为马达阻尼;m为马达振子质量;
[0117]
所述非线性参数表示为:
[0118]
bl(x)=bl0 bl1x bl2x2 bl3x3 bl4x4[0119]
k
m
(x)=k
m0
k
m1
x k
m2
x2 k
m3
x3 k
m4
x4[0120]
r
m
(x)=r
m0
r
m1
x r
m2
x2。
[0121]
在一个实施例中,所述激励信号包括三组,其频率分别为f0、f0/2以及f0/3的激励信号。
[0122]
在一个实施例中,非线性参数获得模块305,进一步用于利用最小二乘法拟合所述目标方程。
[0123]
在一个实施例中,测量值获取模块302,进一步用于利用工装件支撑所述马达,通过测量所述工装件的加速度测量值计算所述马达振子加速度测量值,所述工装件的加速度测量值与所述马达振子加速度测量值满足:a=a
f
m
f
/;其中,a
f
为工装加速度,m
f
为工装质量,m为马达振子质量,a为马达振子加速度。
[0124]
在一个实施例中,上述装置300还包括:放大处理模块,用于利用信号放大器对所述工装件的加速度测量值进行放大处理,所述信号放大器的放大倍数为1
‑
10倍。
[0125]
关于确定马达非线性参数的装置的具体限定可以参见上文中对于确定马达非线性参数的方法的限定,在此不再赘述。上述确定马达非线性参数的装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0126]
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图4所示。该计算
机设备400包括通过系统总线连接的处理器401、存储器、通信接口402、显示屏403和输入装置404。其中,该计算机设备的处理器401用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质405、内存储器406。该非易失性存储介质405存储有操作系统4051和计算机程序4052。该内存储器406为非易失性存储介质中的操作系统4051和计算机程序4052的运行提供环境。该计算机设备的通信接口402用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。该计算机程序4052被处理器401执行时以实现一种确定马达非线性参数的方法。该计算机设备的显示屏403可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置404可以是显示屏403上覆盖的触摸层,也可以是计算机设备400外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0127]
本领域技术人员可以理解,图4中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备400的限定,具体的计算机设备400可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0128]
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0129]
在一个实施例中,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0130]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read
‑
only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0131]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0132]
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
转载请注明原文地址:https://doc.8miu.com/read-1450258.html