A motor nonlinear compensation method and related device
By acquiring the nonlinear model of the motor and calculating the compensation signal, the problem of the difference between the motor vibration effect and the expected effect was solved, and a tactile experience that better meets the needs of users was achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-09-17
- Publication Date
- 2026-03-20
AI Technical Summary
Due to the influence of nonlinear parameters, the actual vibration effect of existing motors differs significantly from the expected effect during vibration, affecting the tactile experience.
By obtaining the nonlinear model of the motor, calculating the compensation signal, and loading it onto the motor to excite vibration, the original signal is compensated using the nonlinear model to obtain vibration that is closer to the expected effect.
It improves the accuracy of motor vibration effects and enhances the tactile experience.
Smart Images

Figure CN113824386B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the motor detection technical field, especially to a motor nonlinear compensation method and related equipment thereof.
BACKGROUND
[0002] With the development of science and technology, people's requirements for the intelligence and diversification of electronic products are getting higher and higher, and more rich human perception and human-computer interaction experience are needed. Haptic is an important part of human perception, and linear resonance actuator (LRA, commonly known as motor) is the key part of haptic. Therefore, in electronic devices such as smart phones, smart watches and tablet computers, the application of linear motor is more and more.
[0003] During the vibration of the motor, some characteristic parameters will change with the change of displacement, which can be called nonlinear parameters, and such changes will cause the actual vibration effect of the motor to be different from the expected effect when the signal is designed, thereby affecting the haptic experience.
[0004] At present, the functional device for realizing haptic feedback is mainly motor, and the difference between the actual vibration effect of the motor and the expected effect is large due to the influence of nonlinear parameters, resulting in poor user experience.
SUMMARY
[0005] The purpose of the application is to provide a motor nonlinear compensation method, which aims to solve the problem that the existing motor will produce large distortion due to the influence of nonlinear parameters. The motor nonlinear compensation method provided by the application comprises:
[0006] Obtaining an original signal and a motor nonlinear model;
[0007] Calculating a compensation signal corresponding to the original signal based on the motor nonlinear model;
[0008] Loading the compensation signal to the motor to excite the motor to vibrate.
[0009] The motor nonlinear compensation method provided by the first aspect of the application can be selected, and the expression of the motor nonlinear model comprises:
[0010] u=R e i+Bl(x)v;
[0011] Bl(x)i=ma+R m (x)v+K m (x)x;
[0012] Wherein: u is the voltage of the motor; i is the motor current, x is the motor vibrator displacement; v is the motor vibrator speed; a is the motor vibrator acceleration; R is the motor resistance; Bl is the motor electromagnetic force coefficient; m is the motor vibrator mass; K is the motor spring stiffness coefficient; R is the motor damping; e m m
[0013] The nonlinear parameters included in the motor nonlinear model include: motor electromagnetic force coefficient Bl, spring stiffness coefficient K m and motor damping R m The function of the nonlinear parameters with respect to vibrator displacement x is represented as follows:
[0014] Bl(x)=Bl0+Bl1x+Bl2x 2 +…+Bl n x n ;
[0015] K m (x)=K m0 +K m1 x+K m2 x 2 +…+K mn x n ;
[0016] R m (x)=R m0 +R m1 x+R m2 x 2 +…R mn x n ;
[0017] Wherein, n is any positive integer, Bl0~Bl n , Km0~Km n , Rm0~Rm n are nonlinear parameter coefficients.
[0018] Based on the motor nonlinear compensation method provided in the first aspect of the embodiment of the application, optionally, the compensation signal corresponding to the original signal is calculated based on the motor nonlinear model, comprising:
[0019] According to the motor nonlinear model and the compensation formula, the compensation signal corresponding to the original signal is calculated, and the compensation formula comprises:
[0020]
[0021]
[0022]
[0023]
[0024]
[0025] wherein, w is the original signal, u is the compensation signal, x1 is the displacement value of the vibrator at the current time, x2 is the speed value of the vibrator at the current time, Bl(x) = Bl0+ Bl1x + Bl2x 2 +…+ Bl n x n ; K m (x) = K m0 + K m1 x + K m2 x 2 +…+ K mn x n ; R m (x) = R m0 + R m1 x + R m2 x 2 +…R mn x n ; Re is resistance, Le is inductance, and m is the mass of the vibrator.
[0026] The motor nonlinear compensation method provided in the first aspect of the embodiment of the present application can be selected, and the calculation method of X(n+1) comprises:
[0027] The nonlinear model is converted into a state space to obtain a nonlinear state space model;
[0028] The value of X(n+1) is calculated based on the nonlinear state space model.
[0029] The motor nonlinear compensation method provided in the first aspect of the embodiment of the present application can be selected, and the nonlinear state space model comprises:
[0030]
[0031] y = h(X);
[0032] wherein:
[0033]
[0034]
[0035]
[0036] h(X) = x1.
[0037] Based on the motor nonlinear compensation method provided in the first aspect of the embodiment of the present application, optionally, the X(n+1) is calculated based on the nonlinear state space model, and the calculation of the X(n+1) includes:
[0038] The nonlinear state space model is linear multi-step method discretization processing, and the X(n+1) is calculated based on the obtained discretization equation;
[0039] The calculation formula obtained by the linear multi-step method discretization includes:
[0040] When n<=2, X(n+1) = 1 / fs*f(X) + 1 / fs*g(X)*u(n) + X(n);
[0041] When n>2, X(n+1) = X(n) + 1 / fs / 12*(23*ff(n)-16*ff(n-1)+5*ff(n-2));
[0042] ff(n) = f(X) + g(X)*u(n);
[0043] Wherein, fs is a sampling rate, and n represents a signal sampling point number.
[0044] The second aspect of the embodiment of the present application provides a motor nonlinear compensation device, which includes:
[0045] An acquisition unit is configured to acquire an original signal and a motor nonlinear model;
[0046] A calculation unit is configured to calculate a compensation signal corresponding to the original signal based on the motor nonlinear model;
[0047] An excitation unit is configured to load the compensation signal to a motor to excite the motor to vibrate.
[0048] Based on the motor nonlinear compensation device provided in the second aspect of the embodiment of the present application, optionally, the expression of the motor nonlinear model includes:
[0049] u = R e i + Bl(x)v;
[0050] Bl(x)i = ma + R m (x)v + K m (x)x;
[0051] Wherein, the u is a voltage across the motor; the i is a motor current; the x is a motor vibrator displacement; the v is a motor vibrator speed; the a is a motor vibrator acceleration; the R e is a motor resistance; the Bl is a motor electromagnetic force coefficient; the m is a motor vibrator mass; the K m is a motor spring stiffness coefficient; and the Rm for the motor damping;
[0052] The nonlinear parameters included in the motor nonlinear model include: motor electromagnetic force coefficient Bl, spring stiffness coefficient K m and motor damping R m The function of the nonlinear parameters with respect to the vibrator displacement x is represented as follows:
[0053] Bl(x) = Bl0 + Bl1x + Bl2x 2 +…+Bl n x n ;
[0054] K m (x) = K m0 +K m1 +K m2 x 2 +…+K mn x n ;
[0055] R m (x) = R m0 +R m1 x+R m2 x 2 +…R mn x n ;
[0056] wherein n is any positive integer, Bl0~Bl n , Km0~Km n , Rm0~Rm n are nonlinear parameter coefficients. Based on the motor nonlinear compensation device provided by the second aspect of the embodiment of the present application, the calculation unit is specifically used for:
[0057] calculating the compensation signal corresponding to the original signal according to the motor nonlinear model and a compensation formula, wherein the compensation formula includes:
[0058]
[0059]
[0060]
[0061]
[0062]
[0063] wherein w is the original signal, u is the compensation signal, x1 is the displacement value of the vibrator at the current time, x2 is the speed value of the vibrator at the current time, Bl(x) = Bl0 + Bl1x + Bl2x2 +…+Bl n x n ;K m (x)=K m0 +K m1 x+K m2 x 2 +…+K mn x n ;R m (x)=R m0 +R m1 x+R m2 x 2 +…R mn x n Re is the resistance, Le is the inductance, and m is the mass of the oscillator.
[0064] Based on the motor nonlinear compensation device provided in the second aspect of the present invention, optionally, the calculation method of X(n+1) includes:
[0065] The nonlinear model is transformed into a state space model to obtain a nonlinear state space model.
[0066] The value of X(n+1) is calculated based on the nonlinear state-space model.
[0067] Based on the motor nonlinear compensation device provided in the second aspect of the present invention, optionally, the nonlinear state-space model includes...
[0068]
[0069] y = h(X);
[0070] in:
[0071]
[0072]
[0073]
[0074] h(X) = x1.
[0075] Based on the motor nonlinear compensation device provided in the second aspect of the present invention, optionally,
[0076] The calculation of X(n+1) based on the nonlinear state-space model includes:
[0077] The nonlinear state-space model is discretized using a linear multi-step method, and X(n+1) is calculated based on the obtained discretized equations.
[0078] The linear multi-step method discretizes the obtained calculation formula, which comprises:
[0079] When n<=2, X(n+1)=1 / fs*f(X)+1 / fs*g(X)*u(n)+X(n);
[0080] When n>2, X(n+1)=X(n)+1 / fs / 12*(23*ff(n)-16*ff(n-1)+5*ff(n-2));
[0081] ff(n)=f(X)+g(X)*u(n);
[0082] Wherein, fs is a sampling rate, and n represents a signal sampling point number.
[0083] Based on the third aspect of the embodiment of the application, a motor nonlinear compensation device is provided, which comprises:
[0084] A central processing unit, a memory, an input / output interface, a wired or wireless network interface, and a power supply;
[0085] The memory is a transient storage memory or a persistent storage memory.
[0086] The central processing unit is configured to communicate with the memory, execute instruction operations in the memory on the device, and perform the method in any one of the first aspect of the embodiment of the application.
[0087] The fourth aspect of the embodiment of the application provides a computer readable storage medium comprising instructions, which, when executed on a computer, cause the computer to perform the method in any one of the first aspect of the embodiment of the application.
[0088] The fifth aspect of the embodiment of the application provides a computer program product comprising instructions, which, when executed on a computer, cause the computer to perform the method in any one of the first aspect of the embodiment of the application.
[0089] As can be seen from the above technical solutions, the embodiment of the application has the following advantages: the motor nonlinear compensation method provided by the application comprises: obtaining an original signal and a motor nonlinear model; calculating a compensation signal corresponding to the original signal based on the motor nonlinear model; and loading the compensation signal to a motor to excite the motor to vibrate. The original signal is compensated by a nonlinear model followed by the motor, the compensation signal corresponding to the original signal is obtained, and the compensation signal is used to excite the motor, so that the vibration effect of the motor is closer to the expected effect and more suitable for the actual application needs of users. BRIEF DESCRIPTION OF DRAWINGS
[0090] In order to make the technical solution of the embodiments of the present application or the prior art clearer, the accompanying drawings needed in the embodiments or prior art description will be briefly introduced. Obviously, the accompanying drawings in the following description only represent some embodiments of the present application, and for those skilled in the art, other drawings can be obtained without creative effort based on the provided drawings.
[0091] Figure 1 A flowchart of an embodiment of the motor nonlinear compensation method provided by the present application;
[0092] Figure 2 Another flowchart of an embodiment of the motor nonlinear compensation method provided by the present application;
[0093] Figure 3 A structural diagram of an embodiment of the motor nonlinear compensation device provided by the present application;
[0094] Figure 4 Another structural diagram of an embodiment of the motor nonlinear compensation device provided by the present application.
DETAILED DESCRIPTION
[0095] In order to make the technical solution of the embodiments of the present application or the prior art clearer, the accompanying drawings needed in the embodiments or prior art description will be briefly introduced. Obviously, the accompanying drawings in the following description only represent some embodiments of the present application, and for those skilled in the art, other drawings can be obtained without creative effort based on the provided drawings.
[0096] The terms "first", "second", "third", "fourth" and the like in the description of the present application and the claims, and the above-described accompanying drawings (if any) are used to distinguish similar objects, and do not necessarily indicate a specific order or sequence. It should be understood that the data thus used can be interchanged under appropriate circumstances, so that the embodiments described herein can be implemented in an order other than that illustrated or described herein. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion, for example, a process, method, product or device including a series of steps or units does not necessarily have to include only those steps or units clearly listed, but can include other steps or units not clearly listed or inherent to the process, method, product or device.
[0097] The linear motor changes some characteristic parameters with the change of displacement in the vibration process, which can be called nonlinear parameters, and the change causes the actual vibration effect of the linear motor to be different from the expected effect in the signal design, thereby affecting the haptic experience. At present, the functional device for realizing the haptic feedback is mainly the linear motor, and the linear motor will generate greater distortion due to the influence of the nonlinear parameters, thereby causing the lack of low-frequency experience or disorder.
[0098] To solve the above problems, the motor nonlinear compensation method provided by the present application is provided, please refer to Figure 1 An embodiment of the motor nonlinear compensation method provided by the present application includes steps 101-103.
[0099] 101, obtain the original signal and the motor nonlinear model.
[0100] Specifically, the original signal and the motor nonlinear model are obtained, the motor nonlinear model can be based on the classical second-order model of the motor, and some parameters in the model are expressed as nonlinear parameters, that is, the nonlinear model of the motor is obtained, the classical second-order model of the motor includes:
[0101]
[0102] Bli=ma+R m v+K m x;
[0103] Wherein: u is the voltage across the motor; i is the motor current, x is the motor vibrator displacement; v is the motor vibrator speed; a is the motor vibrator acceleration; R e is the motor resistance; Bl is the motor electromagnetic force coefficient; m is the motor vibrator mass; K m is the motor spring stiffness coefficient; R m is the motor damping;
[0104] Among them, the parameters that can be considered as nonlinear parameters generally include the motor electromagnetic force coefficient Bl, the spring stiffness coefficient K m and the motor damping R m . The nonlinear form of these parameters can have various representation methods, such as being approximately expressed as a quantity varying with displacement or a quantity varying with speed. Even in engineering applications, the influence of some parameters is small and can be ignored. In view of the various forms and combinations of nonlinear parameters, only a typical nonlinear model is listed in this paper to introduce the present application technology.
[0105] The following formula is a nonlinear model used for nonlinear parameter estimation in this paper:
[0106] u=R e i+Bl(x)v;
[0107] Bl(x)i = ma + R m (x)v + K m (x)x;
[0108] wherein the nonlinear parameters include:
[0109] Bl(x) = Bl0+ Bl1x + Bl2x 2 +... + Bl n x n ;
[0110] K m (x) = K m0 + K m1 x + K m2 x 2 +... + K mn x n ;
[0111] R m (x) = R m0 + R m1 + R m2 x 2 +... R mn x n ;
[0112] wherein n is any positive integer, Bl0~Bl n , K m0 ~K mn , R m0 ~R mn are nonlinear parameter coefficients.
[0113] 102. calculating a compensation signal corresponding to the original signal based on the nonlinear model of the motor;
[0114] Specifically, calculating a compensation signal corresponding to the original signal based on the nonlinear model of the motor includes calculating a compensation signal corresponding to the original signal based on a compensation formula. It can be understood that the compensation formula used in the compensation process can be adjusted or equivalently transformed according to the actual situation, and the specific compensation formula can be determined according to the actual situation, which is not limited here. Only one possible compensation formula is given as an example, including:
[0115]
[0116] wherein:
[0117]
[0118]
[0119]
[0120]
[0121] wherein w is the original signal, u is the compensation signal, x1 is the displacement value of the vibrator at the current time, x2 is the speed value of the vibrator at the current time, Bl(x) = Bl0+ Bl1x + Bl2x 2 +…+ Bl n x n ; K m (x) = K m0 + K m1 x + K m2 x 2 +…+ K mn x n ; R m (x) = R m0 + R m1 x + R m2 x 2 +…R mn x n ; Re is the resistance, Le is the inductance, and m is the mass of the vibrator.
[0122] It can be understood that the motor nonlinear model can be converted into a state space form for calculation during the calculation process, and the main purpose of using the state space form for calculation is to facilitate the analysis of the motor system which is a multi-input system.
[0123] It is worth noting that in the process of using the state space form for calculation, the state space is updated at the next
[0124] Since the computer system has a discrete calculation characteristic, a continuous-to-discrete conversion process is required when updating the state variable at the next sampling point, and the specific conversion method can be to approximate the state vector X by the first-order derivative of the state vector X, which can be determined according to the actual situation and is not limited here.
[0125] 103. Loading the compensation signal to the motor to excite the motor to vibrate.
[0126] The calculated compensation signal is transmitted to the motor to excite the motor. The u calculated based on the above formula is the compensation signal, and the use of the compensation signal to excite the motor to vibrate can make the vibration effect output by the motor more consistent with the situation. Preferably, the motor nonlinear compensation method process is applied to the frequency band below the resonance frequency of the motor.
[0127] From the above technical solutions can be seen, the embodiment of the present application has the following advantages: the motor nonlinear compensation method provided by the present application comprises: obtaining an original signal and a motor nonlinear model; calculating a compensation signal corresponding to the original signal based on the motor nonlinear model; and loading the compensation signal to the motor to excite the motor to vibrate. The original signal is compensated by a nonlinear model followed by the motor, the compensation signal corresponding to the original signal is obtained, and the compensation signal is used to excite the motor, so that the vibration effect of the motor is more close to the expected effect and more meets the actual application requirements of users.
[0128] Based on the above Figure 1 The provided embodiment can be optionally executed in actual implementation process, and a more detailed embodiment can be optionally executed, and details can be referred to Figure 2 An embodiment of the motor nonlinear compensation method provided by the present application comprises steps 201 to 205.
[0129] 201, obtaining an original signal and a motor nonlinear model.
[0130] Specifically, the original signal and the motor nonlinear model are obtained. The motor nonlinear model can be based on a classical second-order model of the motor, and part of parameters in the model are expressed as nonlinear parameters, that is, the nonlinear model of the motor is obtained. The classical second-order model of the motor comprises:
[0131]
[0132] Bli=ma+R m v+K m x;
[0133] Wherein, u is the voltage across the motor; i is the motor current, x is the motor oscillator displacement; v is the motor oscillator speed; a is the motor oscillator acceleration; R e is the motor resistance; Bl is the motor electromagnetic force coefficient; m is the motor oscillator mass; K m is the motor spring stiffness coefficient; R m is the motor damping.
[0134] The parameters that can be considered as nonlinear parameters generally include the motor electromagnetic force coefficient Bl, the spring stiffness coefficient K m and the motor damping R m . The nonlinear form of these parameters can have various expression methods, such as being expressed as a quantity varying with displacement or a quantity varying with speed. Even in engineering applications, the influence of some parameters is small, and they can be ignored. In view of various forms and combinations of nonlinear parameters, only a typical nonlinear model is listed in this paper to introduce the present application technology.
[0135] The nonlinear model used for the nonlinear parameter estimation herein is as follows:
[0136] u = R e i + Bl(x)v;
[0137] Bl(x)i = ma + R m (x)v + K m (x)x;
[0138] where the nonlinear parameters include:
[0139] Bl(x) = Bl0+ Bl1x + Bl2x 2 +... + Bl n x n ;
[0140] K m (x) = K m0 + K m1 x + K m2 x 2 +... + K mn x n ;
[0141] R m (x) = R m0 + R m1 x + R m2 x 2 +... R mn x n ;
[0142] where n is any positive integer, Bl0~ Bl n , Km0~ Km n , Rm0~ Rm n are nonlinear parameter coefficients.
[0143] It can be understood that, in order to ensure the calculation speed, the number of nonlinear parameter coefficients selected in actual work can be selected according to actual conditions, and a specific form of the selected nonlinear parameter coefficient is as follows:
[0144] Bl(x) = Bl0+ Bl1+ Bl2x 2 + Bl3x 3 + Bl4x 4 ;
[0145] K m (x) = k m0 + K m1 x + K m2 x 2 + K m3 x 3 + K m4 x 4;
[0146] R m (x)=R m0 +R m1 x+R m2 x 2 ;
[0147] The number of nonlinear parameter coefficients selected in the actual implementation process can be determined according to actual conditions, and is not limited here.
[0148] 202. Perform state space conversion on the nonlinear model to obtain a nonlinear state space model.
[0149] Specifically, the nonlinear model is converted into a state space to obtain a nonlinear state space model, and the nonlinear state space model includes
[0150]
[0151] y=h(X);
[0152] Wherein:
[0153]
[0154]
[0155]
[0156] h(X)=x1.
[0157] It is worth noting that in the process of calculation using the state space form, the update of the state variable of the state space at the next sampling point needs to be converted from continuous to discrete due to the discrete characteristics of computer system calculation, and the specific conversion method is represented by the first-order derivative approximation expression of the state vector X in the above formula. The specific conversion method can be determined according to actual conditions, and is not limited here.
[0158] 203. Linear multi-step method discretization processing is performed on the nonlinear state space model, and X(n+1) is calculated based on the discretization equation.
[0159] Specifically, the nonlinear state space model is discretized by the linear multi-step method, and X(n+1) is calculated based on the discretization equation, that is, the parameters corresponding to the next signal sampling point are updated, and the calculation formula obtained by the linear multi-step method discretization includes:
[0160] When n<=2, X(n+1)=1 / fs*f(X)+1 / fs*g(X)*u(n)+X(n);
[0161] When n>2, X(n+1)=X(n)+1 / fs / 12*(23*ff(n)-16*ff(n-1)+5*ff(n-2));
[0162] ff(n)=f(X)+g(X)*u(n);
[0163] Wherein fs is the sampling rate, n represents the signal sampling point number, starting from 1. The calculation by means of linear multi-step method discretization can improve the operation speed as much as possible while ensuring the calculation precision, reduce the required calculation resources, and improve the implementability of the scheme. It can be understood that other discrete methods can be used to update the state vector or to make equivalent transformation on the formula provided by the scheme in the actual implementation process, which can be determined according to the actual situation, and is not limited here.
[0164] 204、According to the motor nonlinear model and the compensation formula, the compensation signal corresponding to the original signal is calculated.
[0165] Specifically, the compensation signal corresponding to the original signal is calculated based on the motor nonlinear model, including calculating the compensation signal corresponding to the original signal based on the compensation formula. It can be understood that the compensation formula used in the compensation process can be adjusted or made equivalent transformation according to the actual situation, which can be determined according to the actual situation, and is not limited here. Only one possible compensation formula is taken as an example here, including:
[0166]
[0167] Wherein:
[0168]
[0169]
[0170]
[0171]
[0172] Wherein, w is the original signal, u is the compensation signal, x1 is the displacement value of the vibrator at the current time, x2 is the speed value of the vibrator at the current time, Bl(x)=Bl0+Bl1x+Bl2x 2 +…+Bl n x n ;K m (x)=K m0 +K m1 x+K m2 x 2 +…+K mn x n ;R m(x)=R m0 +R m1 x+R m2 x 2 +…R mn x n Re represents resistance, Le represents inductance, and m represents the mass of the oscillator. The value of the compensation signal u can be calculated by substituting the results obtained in steps 202 and 203 into the compensation formula. The calculation formula described above demonstrates good compensation performance in the motor's frequency range below the resonant frequency.
[0173] 205. Apply the compensation signal to the motor to excite the motor to vibrate.
[0174] The calculated compensation signal is transmitted to the motor to excite it. The u calculated based on the above formula is the compensation signal. Using this compensation signal to excite the motor to vibrate will make the vibration output of the motor more consistent with its actual condition.
[0175] As can be seen from the above technical solutions, the embodiments of the present invention have the following advantages: The motor nonlinear compensation method provided by the present invention includes: acquiring the original signal and the motor nonlinear model; calculating the compensation signal of the original signal based on the motor nonlinear model; and loading the compensation signal onto the motor to excite motor vibration. By compensating the original signal through the nonlinear model followed by the motor operation, the compensation signal corresponding to the original signal is obtained, and the compensation signal is used to excite the motor. In the calculation process of the compensation signal, the state space is used for expression, and the linear multi-step discretization method is adopted, which makes the acquisition process of the compensation signal fast, simple and accurate. This provides a motor nonlinear compensation method that can be implemented in an engineering manner, making the vibration effect of the motor closer to the expected effect and more in line with the actual application needs of users.
[0176] The above embodiments describe the motor nonlinearity compensation method provided by the present invention. The following describes the motor nonlinearity compensation device provided by the present invention. Please refer to [link / reference]. Figure 3 The motor nonlinear compensation device provided by the present invention includes:
[0177] Acquisition unit 301 is used to acquire the original signal and the nonlinear model of the motor;
[0178] The calculation unit 302 is used to calculate the compensation signal corresponding to the original signal based on the nonlinear model of the motor;
[0179] The excitation unit 303 is used to apply the compensation signal to the motor to excite the motor to vibrate.
[0180] Optionally, the expression for the nonlinear model of the motor includes:
[0181] u=Re i+Bl(x)v;
[0182] Bl(x)i=ma+R m (x)v+K m (x)x;
[0183] wherein: u is the voltage across the motor; i is the motor current, x is the motor vibrator displacement; v is the motor vibrator velocity; a is the motor vibrator acceleration; R e is the motor resistance; Bl is the motor electromagnetic force coefficient; m is the motor vibrator mass; K m is the motor spring stiffness coefficient; R m is the motor damping; the nonlinear parameters included in the motor nonlinear model include: the motor electromagnetic force coefficient Bl, the spring stiffness coefficient Km and the motor damping Rm, and the nonlinear parameters are expressed as functions of the vibrator displacement x as follows:
[0184] Bl(x)=Bl0+Bl1x+Bl2x 2 +…+Bl n x n ;
[0185] K m (x)=K m0 +K m1 x+K m2 x 2 +…+K mn x n ;
[0186] R m (x)=R m0 +R m1 x+R m2 x 2 +…R mn x n ;
[0187] wherein n is any positive integer, Bl0~Bl n , K m0 ~K mn , R m0 ~R mn are nonlinear parameter coefficients.
[0188] Optionally, the computing unit 302 is specifically configured to:
[0189] calculate the compensation signal corresponding to the original signal according to the motor nonlinear model and a compensation formula, wherein the compensation formula includes:
[0190]
[0191]
[0192]
[0193]
[0194]
[0195] wherein, w is the original signal, u is the compensation signal, x1 is the displacement value of the vibrator at the current time, x2 is the speed value of the vibrator at the current time, Bl(x) = Bl0+ Bl1x + Bl2x 2 +…+Bl n x n ;K m (x)=K m0 +K m1 x+K m2 x 2 +…+K mn x n ;R m (x)=R m0 +R m1 x+R m2 x 2 +…R mn x n ; Re is resistance, Le is inductance, and m is the mass of the vibrator.
[0196] Optionally, the calculation method of the X(n+1) comprises:
[0197] state space conversion is performed on the nonlinear model to obtain a nonlinear state space model;
[0198] The value of the X(n+1) is calculated based on the nonlinear state space model.
[0199] Optionally, the nonlinear state space model comprises
[0200]
[0201] y = h(X);
[0202] wherein:
[0203]
[0204]
[0205]
[0206] h(X) = x1.
[0207] Optionally, the calculation of the X(n+1) based on the nonlinear state space model comprises:
[0208] linear multi-step method discretization processing is performed on the nonlinear state space model, and the X(n+1) is calculated based on the obtained discretization equation;
[0209] The calculation formula obtained by the linear multi-step method discretization comprises:
[0210] When n<=2, X(n+1) = 1 / fs*f(X) + 1 / fs*g(X)*u(n) + X(n);
[0211] When n>2, X(n+1) = X(n) + 1 / fs / 12*(23*ff(n)-16*ff(n-1)+5*ff(n-2));
[0212] ff(n) = f(X) + g(X)*u(n);
[0213] Wherein, fs is the sampling rate, and n represents the signal sampling point number.
[0214] In the embodiment, the processes performed by each unit in the motor nonlinear compensation device are similar to the processes described in the foregoing Figure 1 and Figure 2 The method processes are similar to those described in the corresponding embodiments, which will not be described here.
[0215] Figure 4 is a structural schematic diagram of a motor nonlinear compensation device provided by an embodiment of the application. The motor nonlinear compensation device 400 can include one or more central processing units (CPUs) 401 and a memory 405, and the memory 405 stores one or more application programs or data.
[0216] In the embodiment, the specific function module division in the central processing unit 401 can be similar to the function module division of each unit described in the foregoing Figure 3 , which will not be described here.
[0217] The memory 405 can be volatile storage or persistent storage. The program stored in the memory 405 can include one or more modules, and each module can include a series of instruction operations in the server. Further, the central processing unit 401 can be configured to communicate with the memory 405 and execute the series of instruction operations in the memory 405 on the server 400.
[0218] The motor nonlinear compensation device 400 can also include one or more power supplies 402, one or more wired or wireless network interfaces 403, one or more input / output interfaces 404, and / or one or more operating systems, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, etc.
[0219] The central processing unit 401 can execute the operations performed in the embodiments described above, which will not be repeated here. Figure 1 The central processing unit 401 can execute the operations performed in the embodiments described above, which will not be repeated here.
[0220] The embodiments of the present application also provide a computer storage medium for storing computer software instructions for the motor nonlinear compensation method described above, which includes a program designed for the motor nonlinear compensation method.
[0221] The motor nonlinear compensation method can be the motor nonlinear compensation method described above in Figure 1 or Figure 2 .
[0222] The embodiments of the present application also provide a computer program product including computer software instructions, which can be loaded by a processor to implement the flow of the motor nonlinear compensation method of any one of the embodiments described above in Figure 1 or Figure 2 .
[0223] In the several embodiments of the present application, it should be understood that the disclosed system, device, and method can be implemented in other ways. For example, the device embodiments described above are merely illustrative, and the equivalent variations of the circuit, the division of the units, and the logical function division are merely logical function divisions, and other division manners can be used in actual implementation, for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the units shown or discussed can be indirect coupling or communication connection through some interfaces, devices, or units, and can be electrical, mechanical, or other forms.
[0224] The units described as separate components can or can not be physically separated, and the components shown as units can or can not be physical units, i.e., can be located in one place or can be distributed on a plurality of units. Part or all of the units can be selected according to actual needs to achieve the purpose of the embodiments.
[0225] In addition, each function unit in each embodiment of the present application can be integrated in one processing unit, or each unit can exist physically separately, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware or in the form of a software function unit.
[0226] The above merely describes the preferred embodiments of the present application and is not used to limit the present application. Any modification, equivalent replacement or improvement made within the spirit and principle of the present application shall be included in the protection scope of the present application.
Claims
1. A method for nonlinear compensation of a motor, characterized in that, include: Obtain the original signal and the nonlinear model of the motor; The compensation signal corresponding to the original signal is calculated based on the motor nonlinear model. The compensation signal is applied to the motor to excite the motor to vibrate; The expression for the nonlinear model of the motor includes: u=R e i+Bl(x)v; Bl(x)i=ma+R m (x)v+K m (x)x; Wherein: u is the voltage across the motor terminals; i is the motor current; x is the displacement of the motor oscillator; v is the velocity of the motor oscillator; a is the acceleration of the motor oscillator; R e The value of is the motor resistance; is the motor electromagnetic force coefficient; is the mass of the motor oscillator; is the value of K. m R is the spring constant of the motor; m For motor damping; The nonlinear parameters included in the motor nonlinear model are: motor electromagnetic force coefficient B1 and spring stiffness coefficient K. m and motor damping R m The nonlinear parameter is expressed as a function of the oscillator displacement x as follows: Bl(x)=Bl0+Bl1x+B2x 2 +…+Bl n x n ; K m (x)=K m0 +K m1 x+K m2 x 2 +…+K mn x n ; R m (x)=R m0 +R m1 x+R m2 x 2 +…R mn x n ; Where n is any positive integer, Bl0~Bl n ,Km0~Km n , Rm0~Rm n These are the coefficients of the nonlinear parameter; The calculation of the compensation signal corresponding to the original signal based on the motor nonlinear model includes: The compensated signal corresponding to the original signal is calculated based on the motor nonlinear model and the compensation formula, wherein the compensation formula includes: Where w is the original signal, u is the compensation signal, x1 is the displacement value of the oscillator at the current moment, x2 is the velocity value of the oscillator at the current moment, and Bl(x) = Bl0 + Bl1x + Bl2x 2 +…+Bl n x n K m (x)=K m0 +K m1 x+K m2 x 2 +…+K mn x n R m (x)=R m0 +R m1 x+R m2 x 2 +…+R mn x n Re is the resistance, and m is the mass of the oscillator.
2. The motor nonlinearity compensation method according to claim 1, characterized in that, The nonlinear model is transformed into a state space model to obtain a nonlinear state space model. The nonlinear state-space model includes: y = h(X); in: h(X) = x1; The value of the state vector X(n+1) at the next sampling point is calculated based on the nonlinear state-space model.
3. The motor nonlinearity compensation method according to claim 2, characterized in that, The calculation of the value of X(n+1) based on the nonlinear state-space model includes: The nonlinear state-space model is discretized using a linear multi-step method, and X(n+1) is calculated based on the obtained discretized equations. The computational formulas obtained by the linear multi-step discretization method include: When n <= 2, X(n+1) = 1 / fs*f(X) + 1 / fs*g(X)*u(n) + X(n); When n > 2 X(n+1)=X(n)+1 / fs / 12*(23*ff(n)-16*ff(n-1)+5*ff(n-2)); ff(n) = f(X) + g(X) * u(n); Where fs is the sampling rate and n represents the signal sampling point number.
4. A motor nonlinear compensation device, characterized in that, include: The acquisition unit is used to acquire the original signal and the nonlinear model of the motor. The calculation unit is used to calculate the compensation signal corresponding to the original signal based on the nonlinear model of the motor; An excitation unit is used to apply the compensation signal to the motor to excite the motor to vibrate; The expression for the nonlinear model of the motor includes: u=R e i+Bl(x)v; Bl(x)i=ma+R m (x)v+K m (x)x; Wherein: u is the voltage across the motor terminals; i is the motor current; x is the displacement of the motor oscillator; v is the velocity of the motor oscillator; a is the acceleration of the motor oscillator; R e The value of is the motor resistance; is the motor electromagnetic force coefficient; is the mass of the motor oscillator; is the value of K. m R is the spring constant of the motor; m For motor damping; The nonlinear parameters included in the motor nonlinear model are: motor electromagnetic force coefficient B1 and spring stiffness coefficient K. m and motor damping R m The nonlinear parameter is expressed as a function of the oscillator displacement x as follows: Bl(x)=Bl0+Bl1x+Bl2x 2 +…Bl n x n ; K m (x)=K m0 +K m1 x+K m2 x 2 +…+K mn x n ; R m (x)=R m0 +R m1 x+R m2 x 2 +…R mn x n ; Where n is any positive integer, Bl0~Bl n ,Km0~Km n , Rm0~Rm n These are the coefficients of the nonlinear parameter; The computing unit is specifically used for: The compensated signal corresponding to the original signal is calculated based on the motor nonlinear model and the compensation formula, wherein the compensation formula includes: Where w is the original signal, u is the compensation signal, x1 is the displacement value of the oscillator at the current moment, x2 is the velocity value of the oscillator at the current moment, and Bl(x) = Bl0 + Bl1x + Bl2x 2 +…+Bl n x n K m (x)=K m0 +K m1 x+K m2 x 2 +…+K mn x n R m (x)=R m0 +R m1 x+R m2 x 2 +…R mn x n Re is the resistance, and m is the mass of the oscillator.
5. A motor nonlinear compensation device, characterized in that, include: Central processing unit, memory, input / output interfaces, wired or wireless network interfaces, and power supply; The memory is either a short-term storage memory or a persistent storage memory; The central processing unit is configured to communicate with the memory and execute instructions in the memory on the central processing unit to perform the method as described in any one of claims 1 to 3.
6. A computer-readable storage medium, characterized in that, Includes instructions that, when executed on a computer, cause the computer to perform the method as described in any one of claims 1 to 3.
7. A computer program product containing instructions, characterized in that, When it is run on a computer, it causes the computer to perform the method as described in any one of claims 1 to 3.
Citation Information
Patent Citations
Motor signal compensation method, electronic equipment and storage medium
CN110502111A