Friction compensation methods, devices, electronic equipment and storage media
By calculating the real-time motion data of the linear motion joints and using linear and nonlinear friction compensation models for friction compensation, the problem of poor friction compensation effect in traditional methods is solved, thus improving the accuracy and stability of the linear motion joints of the surgical robot.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-28
- Publication Date
- 2026-03-10
AI Technical Summary
Existing friction compensation methods are ineffective at compensating for the periodic frictional forces that exhibit sharp changes at specific locations caused by the transmission structure, resulting in poor accuracy and stability of the linear motion joints of surgical robots.
The friction compensation method is adopted. By determining the real-time motion data of the linear motion joint, the friction compensation model, which includes linear and nonlinear friction compensation sub-models, is used to perform real-time calculations to compensate for friction torque in real time, thereby improving motion accuracy and stability.
Precise friction compensation for linear motion joints was achieved, improving the motion accuracy and positioning precision of the linear motion joints of the surgical robot, reducing jamming caused by nonlinear friction, and enhancing control stability.
Smart Images

Figure CN118897929B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer application technology, and in particular to a friction compensation method, device, electronic device, and storage medium. Background Technology
[0002] Linear motion joints play an important role in the application of surgical robots. They are usually composed of transmission structures such as gears or lead screws. During joint movement, the friction caused by the transmission structure is one of the important factors affecting the accuracy and stability of joint movement.
[0003] Traditional friction compensation methods typically construct linear models based on empirical formulas and use these models to compensate for friction in linear motion joints. However, such methods struggle to compensate for periodically varying friction caused by transmission structures, which exhibit sharp peaks at specific locations. Consequently, the friction compensation effect is often unsatisfactory. Summary of the Invention
[0004] This invention provides a friction compensation method, device, electronic device, and storage medium to solve the technical problem that the current friction compensation for linear motion joints in motion is not effective, resulting in poor accuracy and stability of the linear motion joints in surgical robots.
[0005] According to one aspect of the present invention, a friction compensation method is provided, wherein the method includes:
[0006] The linear motion joint to be compensated for friction is identified. During the target motion of the linear motion joint, the real-time motion data of the linear motion joint is determined, wherein the real-time motion data includes real-time position, real-time velocity, and real-time acceleration.
[0007] The friction compensation model is used to calculate the real-time motion data and determine the real-time compensation friction torque. The friction compensation model includes a linear friction compensation sub-model and a nonlinear friction compensation sub-model.
[0008] The linear motion joint is subjected to real-time friction compensation based on the real-time compensation friction torque until the target motion of the linear motion joint ends.
[0009] According to another aspect of the present invention, a friction compensation device is provided, wherein the device comprises:
[0010] The data acquisition module is used to identify the linear motion joint to be compensated for friction, and to determine the real-time motion data of the linear motion joint during the target motion process. The real-time motion data includes real-time motion position, real-time velocity, and real-time acceleration.
[0011] The compensation torque calculation module is used to perform real-time calculation on the input real-time motion data through the friction compensation model to determine the real-time compensation friction torque. The friction compensation model includes a linear friction compensation sub-model and a nonlinear friction compensation sub-model.
[0012] The friction compensation module is used to perform real-time friction compensation on the linear motion joint based on the real-time compensation friction torque until the target motion of the linear motion joint ends.
[0013] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising:
[0014] At least one processor; and
[0015] A memory communicatively connected to the at least one processor; wherein,
[0016] The memory stores a computer program that can be executed by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform the friction compensation method according to any embodiment of the present invention.
[0017] According to another aspect of the present invention, a computer-readable storage medium is provided, the computer-readable storage medium storing computer instructions for causing a processor to execute and implement the friction compensation method according to any embodiment of the present invention.
[0018] The technical solution of this invention involves identifying a linear motion joint to be compensated for friction. During the target motion of the linear motion joint, real-time motion data of the joint is determined, including real-time position, real-time velocity, and real-time acceleration. A friction compensation model is used to calculate the real-time compensation friction torque based on the input real-time motion data. This model includes a linear friction compensation sub-model and a nonlinear friction compensation sub-model. Real-time friction compensation is then performed on the linear motion joint based on the real-time compensation friction torque until the target motion of the joint ends. This invention can accurately compensate for friction during the motion of a linear motion joint in real time, improving the motion accuracy and positioning precision of the linear motion joints in surgical robots. Furthermore, this invention can simultaneously compensate for both linear and nonlinear friction, reducing the jamming phenomenon of linear motion joints caused by nonlinear friction and improving the accuracy and stability of controlling the linear motion joints of surgical robots.
[0019] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description
[0020] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0021] Figure 1 This is a flowchart of a friction compensation method provided in Embodiment 1 of the present invention;
[0022] Figure 2 This is a flowchart of a friction compensation method provided in Embodiment 2 of the present invention;
[0023] Figure 3 This is an overall flowchart of a friction compensation method provided according to an embodiment of the present invention;
[0024] Figure 4 This is a schematic diagram of a friction compensation device according to Embodiment 3 of the present invention;
[0025] Figure 5 This is a schematic diagram of the structure of an electronic device that implements the friction compensation method of the present invention. Detailed Implementation
[0026] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.
[0027] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0028] Before describing the embodiments, it is important to understand that the frictional forces affecting the motion accuracy and stability of linear motion joints include linear frictional forces such as gravity, Coulomb friction, and viscous friction, as well as nonlinear frictional forces that exhibit periodic variations with peaks at specific locations, caused by the transmission structure. Common linear models are insufficient to compensate for nonlinear frictional forces.
[0029] Example 1
[0030] Figure 1 The flowchart of a friction compensation method provided in Embodiment 1 of the present invention is applicable to friction compensation of linear motion joints in motion. This method can be executed by a friction compensation device, which can be implemented in hardware and / or software and can be configured in a computer. Figure 1 As shown, the method includes:
[0031] S110. Determine the linear motion joint to be compensated for friction. During the target motion of the linear motion joint, determine the real-time motion data of the linear motion joint, wherein the real-time motion data includes real-time position, real-time velocity, and real-time acceleration.
[0032] The linear motion joint can be understood as a joint in the surgical robot structure that moves linearly. The linear motion joint can be constructed from a transmission structure such as gears or lead screws.
[0033] The target motion can be understood as the motion of the linear motion joint. Optionally, the target motion can be linear motion.
[0034] In this embodiment of the invention, the process of performing target motion on the linear motion joint can be understood as the process of the linear motion joint being in motion.
[0035] The real-time motion data can be understood as real-time motion data. In this embodiment of the invention, during the target motion of the linear motion joint, the motion data of the linear motion joint can change in real time.
[0036] The real-time motion position can be understood as the position of motion in real time. Specifically, the real-time motion position of the linear motion joint can be obtained by a position encoder installed on the linear motion joint.
[0037] The real-time velocity can be understood as the real-time motion velocity. The real-time acceleration can be understood as the real-time motion acceleration.
[0038] S120. The real-time motion data input is calculated in real time using a friction compensation model to determine the real-time compensation friction torque. The friction compensation model includes a linear friction compensation sub-model and a nonlinear friction compensation sub-model.
[0039] The friction compensation model can be used to calculate the real-time compensation friction torque of the linear motion joint during its movement, thereby further compensating for friction in the linear motion joint. The input data to the friction compensation model is the real-time motion data, namely the real-time position, real-time velocity, and real-time acceleration. The output data of the friction compensation model is the calculated real-time compensation friction torque.
[0040] The real-time compensated friction torque can be understood as a friction torque that is compensated in real time. In this embodiment of the invention, the real-time compensated friction torque can change in real time based on the real-time changes in the real-time motion data of the linear motion joint.
[0041] Optionally, the real-time compensated frictional torque can be the sum of the frictional torque corresponding to the real-time compensated linear frictional force and the frictional torque corresponding to the real-time compensated nonlinear frictional force.
[0042] The linear friction compensation sub-model can be used to calculate the friction torque corresponding to the real-time compensated linear friction force of the linear motion joint during its motion. Correspondingly, the nonlinear friction compensation sub-model can be used to calculate the friction torque corresponding to the real-time compensated nonlinear friction force of the linear motion joint during its motion.
[0043] S130. Based on the real-time compensation friction torque, perform real-time friction compensation on the linear motion joint until the target motion of the linear motion joint ends.
[0044] The technical solution of this invention involves identifying a linear motion joint to be compensated for friction. During the target motion of the linear motion joint, real-time motion data of the joint is determined, including real-time position, real-time velocity, and real-time acceleration. A friction compensation model is used to calculate the real-time compensation friction torque based on the input real-time motion data. This model includes a linear friction compensation sub-model and a nonlinear friction compensation sub-model. Real-time friction compensation is then performed on the linear motion joint based on the real-time compensation friction torque until the target motion of the joint ends. This invention can accurately compensate for friction during the motion of a linear motion joint in real time, improving the motion accuracy and positioning precision of the linear motion joints in surgical robots. Furthermore, this invention can simultaneously compensate for both linear and nonlinear friction, reducing the jamming phenomenon of linear motion joints caused by nonlinear friction and improving the accuracy and stability of controlling the linear motion joints of surgical robots.
[0045] Example 2
[0046] Figure 2 This is a flowchart of a friction compensation method provided in Embodiment 2 of the present invention. This embodiment adds to the above embodiment by performing real-time calculations on the input real-time motion data through a friction compensation model. Figure 2 As shown, the method includes:
[0047] Figure 3 This is an overall flowchart of a friction compensation method provided according to an embodiment of the present invention. Figure 3 As shown below, the specific steps described are also the overall process of the friction compensation method.
[0048] S210. Control the linear motion joint to perform a simulated motion corresponding to the target motion, and record the motion timing data of the linear motion joint during the simulated motion, wherein the motion timing data includes multiple recorded time points and the recorded friction torque corresponding to each recorded time point.
[0049] The simulated motion can be understood as simulating the motion of the target. Optionally, the simulated motion can be reciprocating linear motion, or reciprocating uniform linear motion, etc.
[0050] The motion timing data can be understood as the recorded motion data of the linear motion joint during the simulated motion process.
[0051] The recorded time point can be understood as the time point in the motion time series data where motion data is recorded.
[0052] The recorded frictional torque can be understood as the recorded frictional torque. It should be understood that, under normal circumstances, it is difficult to obtain the frictional torque of the linear frictional force or the frictional torque of the nonlinear frictional force during the linear motion joint's movement. In this embodiment of the invention, the recorded frictional torque can be the total frictional torque between the frictional torque corresponding to the linear frictional force and the frictional torque corresponding to the nonlinear frictional force. This invention first obtains the recorded frictional torque, i.e., the total frictional torque, and then performs frictional force decomposition on the recorded frictional torque to obtain the frictional torque corresponding to the linear frictional force and the frictional torque corresponding to the nonlinear frictional force individually.
[0053] In this embodiment of the invention, recording the motion timing data of the linear motion joint during the simulated motion may include:
[0054] The raw motion data of the linear motion joint during the simulated motion is collected, and the raw data is preprocessed to obtain motion time sequence data. The raw motion data may include at least one of position data, velocity data, acceleration data, torque data, and current data.
[0055] The preprocessing method for the raw motion data can be preset according to the needs of the scenario and is not specifically limited here. Optionally, data quality can be improved by filtering or denoising. For example, high-frequency noise signals can be suppressed by Kalman filtering, low-pass filtering, and Gaussian process regression.
[0056] In real-world scenarios, the frictional torque corresponding to linear frictional force and the frictional torque corresponding to nonlinear frictional force are difficult to collect directly. Therefore, this invention determines the frictional torque corresponding to nonlinear frictional force, i.e., the nonlinear frictional torque, by first collecting the total frictional torque, i.e., the recorded frictional torque, and then performing frictional force decomposition on the recorded frictional torque, as detailed below.
[0057] S220. For each recorded time point, the recorded friction torque is decomposed into friction force to obtain the nonlinear friction torque corresponding to the recorded time point, and the nonlinear torque sequence is determined based on the multiple nonlinear friction torques.
[0058] The nonlinear frictional torque can be understood as the frictional torque corresponding to the nonlinear frictional force.
[0059] The nonlinear torque timing sequence may include the nonlinear friction torque corresponding to each of the recorded time points.
[0060] Optionally, the motion timing data may also include the recording position, recording velocity, and recording acceleration corresponding to each recording time point;
[0061] The step of decomposing the recorded frictional torque into frictional force to obtain the nonlinear frictional torque corresponding to the recorded time point includes:
[0062] Determine the linear friction force compensation sub-model;
[0063] For each recorded time point, the linear friction compensation sub-model is used to calculate the input recorded position, recorded velocity, and recorded acceleration to obtain the linear friction torque corresponding to the recorded time point.
[0064] The nonlinear friction torque is determined based on the linear friction torque and the recorded friction torque.
[0065] Here, the recorded position can be understood as the recorded motion position. The recorded velocity can be understood as the recorded motion velocity. The recorded acceleration can be understood as the recorded acceleration.
[0066] In this embodiment of the invention, the recording position, recording speed, and recording acceleration corresponding to different recording time points may be the same or different.
[0067] The linear friction torque can be understood as the friction torque corresponding to the linear friction force.
[0068] Optionally, determining the linear friction compensation sub-model includes: constructing the linear friction compensation sub-model based on the following first formula:
[0069]
[0070] Where, τ base θ represents the linear frictional torque, and θ represents the recording position. This indicates the recording speed. Let M(θ) represent the recorded acceleration, M(θ) represent the mass matrix of the surgical arm, G(θ) represent the gravity vector, and F represent the force vector. v F represents the viscous friction force function related to velocity. c Let represent the Coulomb friction constant. The viscous friction function can be in first-order polynomial form.
[0071] Optionally, the motion timing data may also include current data, etc. Specifically, based on the acquired motion timing data, the first formula is used for parameter identification to determine G(θ) and F, respectively. c , The parameters to be determined within each term of M(θ) are used to obtain the linear friction compensation sub-model. Further, for each recording time point, the recording position, the recording speed, and the recording acceleration are input into the constructed linear friction compensation sub-model to obtain the linear friction torque corresponding to the recording time point. Further still, the difference between the linear friction torque and the recording friction torque is taken as the nonlinear friction torque.
[0072] This invention enables the separate identification and analysis of linear and nonlinear friction forces.
[0073] This invention employs a method of first separating linear friction from motion time-series data to obtain nonlinear friction with more pronounced periodic variation characteristics, thereby enabling the further construction of a more accurate nonlinear friction compensation sub-model.
[0074] S230. The nonlinear torque time series is processed by the Fourier transform algorithm to obtain the nonlinear friction force compensation sub-model.
[0075] The Fourier transform algorithm can be understood as a fast number-theoretic transform algorithm. The Fourier transform algorithm may include the Fast Fourier Transform (FFT) algorithm.
[0076] Optionally, the step of processing the nonlinear torque time series using a Fourier transform algorithm to obtain the nonlinear friction compensation sub-model includes:
[0077] The nonlinear torque time series is processed by the Fourier transform algorithm to determine multiple target frequency points and the complex data corresponding to each target frequency point, wherein the complex data includes real values and imaginary values.
[0078] For each target frequency point, the amplitude, phase, and frequency corresponding to the target frequency point are determined based on the complex data, and the cosine signal corresponding to the target frequency point is determined based on the amplitude, the phase, and the frequency.
[0079] The nonlinear friction compensation sub-model is determined based on multiple cosine signals.
[0080] Optionally, before processing the nonlinear torque time series using the Fourier transform algorithm, the method further includes:
[0081] The Fourier transform algorithm is determined, and the algorithm parameters of the Fourier transform algorithm are set to obtain the Fourier transform algorithm with the parameters set. The algorithm parameters include sampling frequency, signal frequency, signal length, and number of sampling points.
[0082] The process of processing the nonlinear torque time series using the Fourier transform algorithm to determine multiple target frequency points includes:
[0083] The Fourier transform algorithm, which is completed by parameter settings, processes the nonlinear torque timing to determine the initial frequency points of the sampling points, and then determines the target frequency points among the initial frequency points.
[0084] In this embodiment of the invention, the sampling frequency, the signal frequency, the signal length, and the number of sampling points can be preset according to the needs of the scenario, and are not specifically limited here.
[0085] Specifically, the sampling frequency Fs, signal frequency F, signal length L, and number of sampling points N are set; the nonlinear torque time series is used as the input to the FFT; after the FFT transformation, N preliminary frequency points and the complex data a+bi corresponding to each preliminary frequency point are obtained; based on the periodicity of the frequency, the first (1, N / 2+1) frequency points in the preliminary frequency points are taken as the target frequency points; for each target frequency point, the amplitude A corresponding to the complex data of the target frequency point is determined by the second formula. n For each target frequency point, the phase P corresponding to the complex data of the target frequency point is determined by the third formula. n For each target frequency point, the frequency F corresponding to the complex data of the target frequency point is determined by the fourth formula. n For each target frequency point, the amplitude, phase, and frequency of the input are calculated using the fifth formula to determine the cosine signal corresponding to the target frequency point. Based on the above steps, the effect of decomposing the nonlinear friction torque signal in the frequency domain is achieved.
[0086] Optionally, the second formula can be as follows:
[0087]
[0088] Among them, A n Let a represent the amplitude, b represent the real value in the complex data, and y represent the imaginary value in the complex data.
[0089] Optionally, the third formula can be as follows:
[0090]
[0091] Among them, P nLet a represent the phase, b represent the real value in the complex data, and y represent the imaginary value in the complex data.
[0092] Optionally, the fourth formula can be as follows:
[0093]
[0094] Among them, F n F represents the frequency of the nth target frequency point. s The sampling frequency is represented by N, and the number of sampling points is represented by N.
[0095] Optionally, the fifth formula can be as follows:
[0096]
[0097] Among them, f n A represents the cosine signal. n P represents the amplitude. n F represents the phase. n The frequency of the nth target frequency point is represented by N, the number of sampling points is represented by N, and the time point is represented by t.
[0098] Optionally, determining the nonlinear friction compensation sub-model based on multiple cosine signals includes:
[0099] For each of the cosine signals, the cosine signal with an amplitude greater than a preset amplitude threshold is taken as the target signal;
[0100] The nonlinear friction force compensation sub-model is determined based on multiple target signals.
[0101] The preset amplitude threshold can be preset according to the needs of the scenario, and is not specifically limited here.
[0102] Specifically, k target signals with amplitudes greater than a set amplitude threshold are extracted from the cosine signal; the nonlinear friction force compensation sub-model is constructed based on the sum of the k target signals.
[0103] S240. Determine the friction compensation model based on the linear friction compensation sub-model and the nonlinear friction compensation sub-model.
[0104] Optionally, determining the friction compensation model based on the linear friction compensation sub-model and the nonlinear friction compensation sub-model includes:
[0105] The friction compensation model is obtained by aligning the time variable of the target signal of the nonlinear friction compensation sub-model with the position variable of the linear friction compensation sub-model.
[0106] Optionally, the resulting friction compensation model can be constructed as follows:
[0107]
[0108] Where τ represents the real-time compensation friction torque, and θ represents the recording position. This indicates the recording speed. Let M(θ) represent the recorded acceleration, M(θ) represent the mass matrix of the surgical arm, G(θ) represent the gravity vector, and F represent the force vector. v F represents the viscous friction force function related to velocity. c A represents the Coulomb friction constant, and k represents the number of target signals; n P represents the amplitude. n F represents the phase. n The frequency of the nth target frequency point is represented by , N represents the number of sampling points, d represents the constant term identification parameter, and t(θ) represents the alignment of the time variable and the position variable.
[0109] Among them, the constant term identification parameter can be used to correct the identification error of linear friction force and nonlinear friction force, and t(θ) represents aligning the real-time motion position of the linear motion joint to the time point.
[0110] S250. Determine the linear motion joint to be compensated for friction. During the target motion of the linear motion joint, determine the real-time motion data of the linear motion joint, wherein the real-time motion data includes real-time position, real-time velocity, and real-time acceleration.
[0111] In this embodiment of the invention, a completed friction compensation model can be introduced into the control system to read the real-time motion position, real-time velocity and real-time acceleration of the linear motion joint in real time, calculate the friction compensation amount of the current linear motion joint in the target motion state, and add the calculated friction compensation amount as part of the control command to the drive control of the linear motion joint to offset the influence of actual friction on motion accuracy.
[0112] S260. The real-time motion data input is calculated in real time using a friction compensation model to determine the real-time compensation friction torque. The friction compensation model includes a linear friction compensation sub-model and a nonlinear friction compensation sub-model.
[0113] S270. Based on the real-time compensation friction torque, perform real-time friction compensation on the linear motion joint until the target motion of the linear motion joint ends.
[0114] The technical solution of this invention involves controlling a linear motion joint to perform a simulated motion corresponding to the target motion, recording the motion timing data of the linear motion joint during the simulated motion, wherein the motion timing data includes multiple recorded time points and a recorded friction torque corresponding to each recorded time point; for each recorded time point, the recorded friction torque is decomposed into friction force to obtain the nonlinear friction torque corresponding to the recorded time point, and a nonlinear torque timing sequence is determined based on the multiple nonlinear friction torques; the nonlinear torque timing sequence is processed using a Fourier transform algorithm to obtain a nonlinear friction force compensation sub-model; and a friction force compensation model is determined based on the linear friction force compensation sub-model and the nonlinear friction force compensation sub-model. This invention achieves the effect of constructing a high-precision friction force compensation model.
[0115] Example 3
[0116] Figure 4 This is a schematic diagram of a friction compensation device provided in Embodiment 3 of the present invention. Figure 4 As shown, the device includes: a data acquisition module 310, a compensation torque calculation module 320, and a friction compensation module 330.
[0117] The data acquisition module 310 is used to determine the linear motion joint to be compensated for friction, and to determine the real-time motion data of the linear motion joint during the target motion process. The real-time motion data includes real-time position, real-time velocity, and real-time acceleration. The compensation torque calculation module 320 is used to perform real-time calculation on the input real-time motion data through a friction compensation model to determine the real-time compensation friction torque. The friction compensation model includes a linear friction compensation sub-model and a nonlinear friction compensation sub-model. The friction compensation module 330 is used to perform real-time friction compensation on the linear motion joint based on the real-time compensation friction torque until the target motion of the linear motion joint ends.
[0118] The technical solution of this invention involves identifying a linear motion joint to be compensated for friction. During the target motion of the linear motion joint, real-time motion data of the joint is determined, including real-time position, real-time velocity, and real-time acceleration. A friction compensation model is used to calculate the real-time compensation friction torque based on the input real-time motion data. This model includes a linear friction compensation sub-model and a nonlinear friction compensation sub-model. Real-time friction compensation is then performed on the linear motion joint based on the real-time compensation friction torque until the target motion of the joint ends. This invention can accurately compensate for friction during the motion of a linear motion joint in real time, improving the motion accuracy and positioning precision of the linear motion joints in surgical robots. Furthermore, this invention can simultaneously compensate for both linear and nonlinear friction, reducing the jamming phenomenon of linear motion joints caused by nonlinear friction and improving the accuracy and stability of controlling the linear motion joints of surgical robots.
[0119] Optionally, the friction compensation device further includes: a motion simulation module, a friction decomposition module, a Fourier transform module, and a compensation model construction module;
[0120] The simulated motion module is used to control the linear motion joint to perform simulated motion corresponding to the target motion before the real-time calculation of the input real-time motion data is performed through the friction compensation model, and to record the motion timing data of the linear motion joint during the simulated motion. The motion timing data includes multiple recording time points and the recording friction torque corresponding to each recording time point.
[0121] The friction decomposition module is used to decompose the recorded friction torque for each recorded time point to obtain the nonlinear friction torque corresponding to the recorded time point, and to determine the nonlinear torque sequence based on multiple nonlinear friction torques.
[0122] The Fourier transform module is used to process the nonlinear torque time series using the Fourier transform algorithm to obtain the nonlinear friction force compensation sub-model.
[0123] The compensation model construction module is used to determine the friction compensation model based on the linear friction compensation sub-model and the nonlinear friction compensation sub-model.
[0124] Optionally, the motion timing data further includes the recording position, recording velocity, and recording acceleration corresponding to each recording time point; the friction force decomposition module is specifically used for:
[0125] Determine the linear friction force compensation sub-model;
[0126] For each recorded time point, the linear friction compensation sub-model is used to calculate the input recorded position, recorded velocity, and recorded acceleration to obtain the linear friction torque corresponding to the recorded time point.
[0127] The nonlinear friction torque is determined based on the linear friction torque and the recorded friction torque.
[0128] Optionally, the Fourier transform module includes: a Fourier transform unit, a cosine signal determination unit, and a nonlinear model determination unit;
[0129] The Fourier transform unit is used to process the nonlinear torque time series using the Fourier transform algorithm to determine multiple target frequency points and complex data corresponding to each target frequency point, wherein the complex data includes real values and imaginary values.
[0130] The cosine signal determination unit is used to determine the amplitude, phase and frequency corresponding to each target frequency point based on the complex data, and to determine the cosine signal corresponding to the target frequency point based on the amplitude, the phase and the frequency.
[0131] The nonlinear model determination unit is used to determine the nonlinear friction force compensation sub-model based on multiple cosine signals.
[0132] Optionally, the nonlinear model determination unit is specifically used for:
[0133] For each of the cosine signals, the cosine signal with an amplitude greater than a preset amplitude threshold is taken as the target signal;
[0134] The nonlinear friction force compensation sub-model is determined based on multiple target signals.
[0135] Optionally, the Fourier transform module further includes: an algorithm parameter setting unit, used to determine the Fourier transform algorithm and set the algorithm parameters of the Fourier transform algorithm before processing the nonlinear torque time series through the Fourier transform algorithm, to obtain the Fourier transform algorithm with the parameters set, wherein the algorithm parameters include sampling frequency, signal frequency, signal length and number of sampling points;
[0136] The Fourier transform unit is specifically used for:
[0137] The Fourier transform algorithm, which is completed by parameter settings, processes the nonlinear torque timing to determine the initial frequency points of the sampling points, and then determines the target frequency points among the initial frequency points.
[0138] Optional, the compensation model building module, specifically used for:
[0139] The friction compensation model is obtained by aligning the time variable of the target signal of the nonlinear friction compensation sub-model with the position variable of the linear friction compensation sub-model.
[0140] The friction compensation device provided in the embodiments of the present invention can execute the friction compensation method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the method.
[0141] Example 4
[0142] Figure 5 A schematic diagram of an electronic device 10 that can be used to implement embodiments of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.
[0143] like Figure 5 As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12 or a random access memory (RAM) 13, communicatively connected to the at least one processor 11. The memory stores computer programs executable by the at least one processor. The processor 11 can perform various appropriate actions and processes based on the computer program stored in the ROM 12 or loaded from storage unit 18 into the RAM 13. The RAM 13 may also store various programs and data required for the operation of the electronic device 10. The processor 11, ROM 12, and RAM 13 are interconnected via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0144] Multiple components in electronic device 10 are connected to I / O interface 15, including: input unit 16, such as keyboard, mouse, etc.; output unit 17, such as various types of displays, speakers, etc.; storage unit 18, such as disk, optical disk, etc.; and communication unit 19, such as network card, modem, wireless transceiver, etc. Communication unit 19 allows electronic device 10 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0145] Processor 11 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. Processor 11 performs the various methods and processes described above, such as friction compensation methods.
[0146] In some embodiments, the friction compensation method may be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on electronic device 10 via ROM 12 and / or communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the friction compensation method described above may be performed. Alternatively, in other embodiments, processor 11 may be configured to perform the friction compensation method by any other suitable means (e.g., by means of firmware).
[0147] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0148] Computer programs used to implement the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be performed. The computer programs may be executed entirely on a machine, partially on a machine, or as a standalone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0149] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0150] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0151] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or computing systems that include middleware components (e.g., application servers), or computing systems that include frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.
[0152] A computing system can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a hosting product within the cloud computing service system to address the shortcomings of traditional physical hosts and VPS services, such as high management difficulty and weak business scalability.
[0153] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.
[0154] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.
Claims
1. A method of friction force compensation, characterized in that, The method comprises the following steps: determining a linear motion joint to be compensated for friction, determining real-time motion data of the linear motion joint during target motion of the linear motion joint, wherein the real-time motion data comprises real-time motion position, real-time speed and real-time acceleration; real-time calculation of the input real-time motion data by a friction compensation model to determine a real-time compensation friction torque, wherein the friction compensation model comprises a linear friction compensation sub-model and a nonlinear friction compensation sub-model; real-time friction compensation of the linear motion joint based on the real-time compensation friction torque until the target motion of the linear motion joint ends.
2. The method of claim 1, wherein, Before the real-time calculation of the input real-time motion data by the friction compensation model, the method further comprises the following steps: controlling the linear motion joint to perform simulation motion corresponding to the target motion, and recording motion time sequence data of the linear motion joint during the simulation motion, wherein the motion time sequence data comprises a plurality of recording time points and a recording friction torque corresponding to each recording time point; for each recording time point, decomposing the recording friction torque to obtain a nonlinear friction torque corresponding to the recording time point, and determining a nonlinear torque time sequence based on a plurality of nonlinear friction torques; processing the nonlinear torque time sequence by a Fourier transform algorithm to obtain the nonlinear friction compensation sub-model; determining the friction compensation model based on the linear friction compensation sub-model and the nonlinear friction compensation sub-model.
3. The method of claim 2, wherein, The motion time sequence data further comprises a recording position, a recording speed and a recording acceleration corresponding to each recording time point; The decomposition of the recording friction torque to obtain the nonlinear friction torque corresponding to the recording time point comprises: determining the linear friction compensation sub-model; for each recording time point, calculating the recording position, the recording speed and the recording acceleration by the linear friction compensation sub-model to obtain a linear friction torque corresponding to the recording time point; determining a nonlinear friction torque based on the linear friction torque and the recording friction torque.
4. The method of claim 2, wherein, The processing of the nonlinear torque time sequence by the Fourier transform algorithm to obtain the nonlinear friction compensation sub-model comprises: processing the nonlinear torque time sequence by the Fourier transform algorithm to determine a plurality of target frequency points and complex data corresponding to each target frequency point, wherein the complex data comprises a real value and an imaginary value; for each target frequency point, determining an amplitude, a phase and a frequency corresponding to the target frequency point based on the complex data, and determining a cosine signal corresponding to the target frequency point based on the amplitude, the phase and the frequency; determining the nonlinear friction compensation sub-model based on a plurality of cosine signals.
5. The method of claim 4, wherein, The determination of the nonlinear friction compensation sub-model based on a plurality of cosine signals comprises: for each cosine signal, regarding the cosine signal with an amplitude greater than a preset amplitude threshold as a target signal; Determine the nonlinear friction force compensation sub-model based on a plurality of the target signals.
6. The method of claim 4, wherein, Before processing the nonlinear torque time sequence through the Fourier transform algorithm, further comprising: Determine the Fourier transform algorithm, set the algorithm parameters of the Fourier transform algorithm, and obtain the Fourier transform algorithm with completed parameter setting, wherein the algorithm parameters include sampling frequency, signal frequency, signal length, and sampling point number; Processing the nonlinear torque time sequence through the Fourier transform algorithm to determine a plurality of target frequency points, comprising: Processing the nonlinear torque time sequence through the Fourier transform algorithm with completed parameter setting to determine the preliminary frequency points of the sampling point number, and determine the target frequency points in the preliminary frequency points.
7. The method according to claims 3 and 5, characterized in that, Determine the friction force compensation model based on the linear friction force compensation sub-model and the nonlinear friction force compensation sub-model, comprising: Align the time variable of the target signal of the nonlinear friction force compensation sub-model with the position variable of the linear friction force compensation sub-model to obtain the friction force compensation model.
8. A friction force compensating device, characterized in that Comprising: A data acquisition module for determining a linear motion joint to be subjected to friction force compensation, determining real-time motion data of the linear motion joint during target motion of the linear motion joint, wherein the real-time motion data includes real-time motion position, real-time velocity, and real-time acceleration; A compensation torque calculation module for real-time calculation of input real-time motion data through a friction force compensation model to determine real-time compensation friction torque, wherein the friction force compensation model includes a linear friction force compensation sub-model and a nonlinear friction force compensation sub-model; A friction force compensation module for real-time friction force compensation of the linear motion joint based on the real-time compensation friction torque until the target motion of the linear motion joint ends.
9. An electronic device, comprising: The electronic device comprises: At least one processor; and The memory is in communication with the at least one processor; wherein The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor to enable the at least one processor to execute the friction force compensation method of any one of claims 1-7.
10. A computer-readable storage medium, characterized in that, The computer readable storage medium stores computer instructions for enabling the processor to execute the friction force compensation method of any one of claims 1-7 when executed.
Citation Information
Patent Citations
Robot joint friction force compensation method
CN112677156A
Robot low-speed motion nonlinear dynamic characteristic analysis and modeling method
CN113276118A