Backlash compensation in motion control systems
By generating a backlash lookup table in the motion control system or training backlash correction using a machine learning model, the positioning and motion tracking errors caused by backlash are solved, improving the system's accuracy and stability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SIEMENS HEALTHCARE DIAGNOSTICS INC
- Filing Date
- 2021-01-15
- Publication Date
- 2026-07-31
AI Technical Summary
In motion control systems, positioning and motion tracking errors and instabilities caused by backlash are difficult to compensate for effectively, and existing solutions increase system complexity and cost.
By performing backlash lookup table or machine learning model training in the motion control system, the non-uniformity patterns of backlash and tooth spacing are learned, and a backlash lookup table or training model is generated for backlash correction during normal system operation.
This technology effectively compensates for positioning errors caused by backlash without increasing system complexity or cost, thereby improving the accuracy and stability of the motion control system.
Smart Images

Figure CN114902550B_ABST
Abstract
Description
[0001] Cross-reference to related applications This application claims the benefit of U.S. Provisional Patent Application No. 62 / 962,854, filed January 17, 2020, entitled “BACKLASH COMPENSATION IN MOTIONCONTROL SYSTEMS”, the disclosure of which is incorporated herein by reference in its entirety for all purposes. Technical Field
[0002] This invention generally relates to systems, methods, and apparatus related to backlash compensation methods in motion control systems. The techniques described herein can be applied, for example, to timing belt-based drive systems. Background Technology
[0003] In motion control systems, the term "backlash" refers to the clearance or free play in a mechanism caused by the gaps between mating components such as gears. For precision motion control systems requiring bidirectional movement along one or more spatial axes, backlash can lead to significant positioning and motion tracking errors. Furthermore, in some cases, backlash can introduce instability during motion. The primary source of positioning errors is the mechanical "play" in the transmission. Factors involved include the nominal clearance between mating teeth, timing belt-pulley (one or more) components, non-uniformity of tooth spacing in chain or gear drives, and elastic (or viscoelastic) deformation of transmission components. Mitigating these errors is crucial in most precision motion control systems.
[0004] Timing belt-based drive systems may exhibit backlash, primarily due to the nominal clearance (if any) between mating teeth / grooves, non-uniformity of tooth spacing on pulleys and belts, and mechanical play in bearings and other drive system components. Tooth deformation due to the frictional and viscoelastic properties of materials, as well as belt tension and slack effects, can also contribute to backlash. Backlash in these systems can be reduced by selecting higher-precision pulleys, belts, bearings, and other transmission components that maintain tighter tolerances in their geometry and are made of materials that minimize tooth deformation. Backlash compensation can also be achieved by sensing incremental motion of the payload or by absolute positioning. However, these solutions typically introduce higher overall cost and drive system complexity and may still result in backlash-induced motion errors exceeding the limits set for performance requirements. Alternatively, feedback control of the payload motion can be implemented, which again leads to additional cost and drive system complexity. Similar considerations apply to transmissions such as gear drives, chains, and lead screws. Summary of the Invention
[0005] Embodiments of the present invention address and overcome one or more of the aforementioned defects and disadvantages by providing methods, systems, and apparatus related to backlash compensation in motion control systems.
[0006] According to some embodiments, a method for backlash compensation in a motion control system includes: homing the load of the motion control system; and performing a pitch non-uniformity process on the motion control system to identify non-uniformity correction. A backlash lookup table is generated for use during backlash correction in normal operation of the motion control system. The backlash lookup table is generated using a training process that includes selecting a movement sequence for operating the motion control system and performing the movement sequence using non-uniformity correction. The training process further includes calculating backlash measurements describing the backlash of one or more components of the motion control system during the movement sequence and storing the backlash measurements in the backlash lookup table.
[0007] According to other embodiments, a method for backlash compensation in a motion control system includes: homing the load of the motion control system; and performing a pitch non-uniformity process on the motion control system to identify non-uniformity correction. Backlash measurements corresponding to a plurality of movement sequences are calculated. Each backlash measurement is calculated using a process including selecting a movement sequence for operating the motion control system and performing the movement sequence using non-uniformity correction. The process further includes calculating backlash measurements describing the backlash of one or more components of the motion control system during the movement sequences, and storing the backlash measurements and the movement sequences. A machine learning model is trained using the plurality of backlash measurements and the plurality of movement sequences for use in backlash correction.
[0008] According to other embodiments, a method for backlash compensation in a motion control system includes performing a correction process during normal operation of the motion control system. The correction process includes receiving a request to execute a new movement sequence. If the new movement sequence involves a direction reversal of the motion control system, a new backlash correction is estimated using a backlash lookup table, and the new backlash is applied to correct the new movement sequence. The new movement sequence is then executed.
[0009] According to other embodiments, a method for backlash compensation in a motion control system includes performing a correction process during normal operation of the motion control system. The correction process includes receiving a request to execute a new movement sequence. If the new movement sequence involves a reversal of direction of the motion control system, a machine learning model is used to estimate a new backlash correction, and the new backlash correction is applied to the new movement sequence. The new movement sequence is then executed. The machine learning model is trained by measuring the backlash of the motion control system while executing a training movement sequence.
[0010] Additional features and advantages of the invention will become apparent from the following detailed description of illustrative embodiments with reference to the accompanying drawings. Attached Figure Description
[0011] The foregoing and other aspects of the invention will be best understood from the following detailed description when read in conjunction with the accompanying drawings. For the purpose of illustrating the invention, the drawings show presently preferred embodiments; however, it is to be understood that the invention is not limited to the specific means disclosed. The drawings include the following figures: Figure 1 A belt drive system driven by a rotary motor, as may be used in some embodiments, is shown; Figure 2 A plot showing the position of the end effector is displayed; Figure 3 A plot of the backlash contrast shift length is shown; Figure 4A It is a table representing the average backlash variation under different motion profiles; Figure 4B yes Figure 4A A scatter plot of the average tooth gap presented in the data; Figure 5A The autocorrelation of backlash values and their comparison with sample scenarios are shown; Figure 5B It shows the relationship with Figure 5A The data presented in the paper show the sample correlations between prior movement and tooth gap; Figure 6 The high-level illustration shows how backlash correction is performed according to some embodiments of the present invention; Figure 7A A system for performing a first type of backlash calibration (referred to as "Type 1 calibration") is illustrated according to some embodiments of the ring. Figure 7B Exemplary belt pitch nonuniformity and ring index repositioning calibration schemes that can be applied in some embodiments are described; Figure 8 A first example implementation of type 1 calibration according to some embodiments is shown; Figure 9 Examples of how backlash calculations can be performed in some embodiments of the present invention are provided; Figure 10 Alternative methods for performing backlash calculations in some embodiments of the invention are shown; Figure 11 A first alternative method for performing type 1 calibration is shown; Figure 12 A second alternative method for performing type 1 calibration is shown; Figure 13 A third alternative method for performing type 1 calibration is shown; and Figure 14 An exemplary computing environment in which embodiments of the present invention can be implemented is illustrated. Detailed Implementation
[0012] This invention generally relates to methods, systems, and apparatuses related to learning-based approaches for backlash compensation in motion control systems. Backlash in transmissions is primarily caused by deterministic factors (such as those mentioned above) and mostly exhibits time invariance or very small changes over time. This invention generally relates to various methods for “learning” patterns of positioning errors caused by backlash as a function of various factors contributing to backlash. More specifically, a set of learning-based solutions is employed to mitigate positioning errors caused by the effects of backlash and non-uniformity in tooth spacing. Although the methods described herein focus primarily on backlash reduction in timing belt drive systems, these methods can be generalized with appropriate customization and adaptation for other transmission systems (such as those using gear trains, chains, lead screws, etc.). The set of solutions described herein can be implemented in software in the form of learning the backlash characteristics of the drive system during a training or calibration phase and then applying appropriate error compensation during normal operation. The schemes described herein do not require feedback control and can be viewed as feedforward corrections based on a reference (target position) for pre-compensation. It should be noted that the feedforward compensation for backlash-induced position errors described in this paper is fully compatible with feedback control, which can be additionally deployed to compensate for other time-varying parameter variations and any external disturbances.
[0013] The backlash reduction technique described herein can be understood as comprising two distinct phases: a learning / calibration phase and a compensation phase. In the learning / calibration phase, a suitable number of movements are performed in a predetermined sequence, such that the motion instances span the full range of motion that the drive system is designed to perform. Errors caused by tooth pitch non-uniformity and backlash are measured in situ with the aid of sensors built into the drive system. The backlash error is “learned” as a function of parameters (e.g., tooth addresses on the belt and pulley, and travel length) using appropriate regression functions and methods; in some embodiments, this includes the use of suitable machine learning algorithms.
[0014] The compensation phase is performed during normal operation of the motion control system. Positioning errors caused by backlash and pitch non-uniformity (e.g., belts and pulleys) are calculated using the "learned" model from the learning / calibration phase and then compensated for by applying the estimated correction to the target position at the end of the commanded movement. The correction is applied as follows: First, for each movement, a correction is applied to the target position based on the estimated positioning error caused by pitch non-uniformity. Second, for each instance of reversed movement direction, a correction for the target position of the currently commanded (reversed) movement is applied to compensate for the backlash-induced error.
[0015] Figure 1 A belt drive system driven by a rotating electric motor, as may be used in some embodiments, is illustrated. This system is presented herein for the purpose of explaining certain aspects of the invention, and it should be understood that the techniques described herein are not limited to this particular system. The applicability of the invention spans a wide variety of timing belt drive systems, which may include, for example: (a) the execution of linear, rotary, or other complex motions of a load; (b) a large transmission system with multiple stages and idler pulleys; (c) linear or rotary drive actuators, etc.
[0016] exist Figure 1 In this configuration, an annular pulley 105 is positioned on the payload (ring) 110. The annular pulley 105 is connected via a timing belt 115 to a drive pulley 120 driven by a stepper motor 125. The technique described herein eliminates the need for feedback control for payload positioning or motion tracking to compensate for positioning errors caused by backlash. In some embodiments, sensors are used to measure the position of the payload during its motion or at the end of the motion. Alternatively, as... Figure 1 As illustrated, a reference point 135 on the payload 110 can be detected using a homing sensor 130. The reference point 135 may include, for example, a dent, protrusion, or mark on the surface of the payload 110. Additionally, an encoder on the drive-side stepper motor 125 records the actuation range (e.g., motor rotation).
[0017] For the purpose of tracking the addresses of the teeth on the timing belt 115 that engage with the drive pulley 120 and the annular pulley 105, the timing belt 115 and pulleys 105, 120 can be selected such that the least common multiple of the teeth on the timing belt 115 and pulleys 105, 120 corresponds to an integer number of rotations of the annular pulley 105 (e.g., 5 rotations) and an integer number of rotations of the drive pulley 120 (e.g., 20 rotations). For example, the number of teeth on the drive pulley 120, the annular pulley 105, and the timing belt 115 can be 30, 120, and 150, respectively. For every 5 ring rotations, the indexing teeth on the timing belt 115 and the indexing teeth on the pulleys 105, 120 return to the same relative configuration with respect to each other. This results in a periodicity of 5 ring rotations (1 belt cycle). It should be noted that while this arrangement simplifies the tracking of the interacting teeth on the timing belt and pulleys, it is not a requirement for the implementation of the backlash compensation scheme described in this invention.
[0018] It should be noted that, Figure 1 This is merely one example of a system that can utilize the calibration scheme described herein. The calibration scheme can be extended to a wide range of linear and rotary drive systems, belt drive systems with multiple stages and including idlers, a broad range of actuators (stepper motors, DC servo motors, linear actuators with linear-to-rotary conversion, etc.), and various timing belts. These schemes can also be extended to other types of transmissions, such as those using gear trains, lead screws, and chains.
[0019] As is generally understood in the art, the tooth pitch varies along the length of the timing belt. Similarly, the tooth pitch on pulleys may also exhibit variations. These variations result in repeatable positioning errors of the load. By tracking the addresses of the belt teeth engaging with the corresponding grooves on the pulleys in the drivetrain during operation of the drive system, the resulting positional errors due to the non-uniformity of the tooth pitch can be calculated. These errors can then be pre-compensated by appropriately modifying the target travel length, as follows: + 𝑚𝑜𝑣𝑒 l𝑒𝑛𝑔𝑡ℎ − 𝑒𝑟𝑟𝑜𝑟(1) Figure 2 A plot showing the position of the end effector is displayed. Each set of movements defined by dashed boxes 205 and 210 represents a complete cycle at the end of which the set of teeth on the belt engaging the pulley is the same as the tooth address at the start of the test.
[0020] Studies have shown a strong dependence of backlash on the length of movement in both the forward and reverse directions for belt-driven systems driving torsion loads. For example, Figure 3 The diagram illustrates the case for equal-sized forward and reverse movement pairs, with backlash increasing monotonically with the movement length. In this example, each forward / reverse movement pair is executed from the same index position on the annular pulley, motor pulley, and belt. In this example, the first backlash represents the backlash during the clockwise to counterclockwise reverse movement, the second backlash represents the backlash during the counterclockwise to clockwise reverse movement, and the center trajectory is the cumulative or absolute position error. In this case, the cumulative / absolute position error varies from zero to its maximum magnitude, depending on the magnitude of the belt pitch non-uniformity.
[0021] Figure 4A and Figure 4B An example study is presented on how backlash-induced positioning errors propagate in a belt drive involving a stepper motor drive, comprising a timing belt made of neoprene and reinforced with glass fiber reinforced tensile members. For this example, the following test scheme was used: (1) rotating the ring 360°; (2) performing a 180° clockwise rotation; (3) performing a 180° counterclockwise rotation (backlash 1); (4) performing a 180° counterclockwise rotation; (5) performing a 180° clockwise rotation (backlash 2). This study was conducted using a 180° movement length, thus making the study independent of the movement length. The 180° movement length was chosen because maximum backlash was observed for symmetrical movement at 180°. Consistent with earlier studies, this study shows a monotonic increase in backlash with the length of counterclockwise movement. The study of the dependence of backlash on motion parameters with a fixed movement length (180°) shows that the backlash has little or no dependence on acceleration, deceleration, associated jerk parameters, and maximum velocity.
[0022] Figure 4A The average backlash variation across different motion profiles is shown. The first highlighted row (labeled set number 3) shows a travel time of approximately 2 seconds, while the second highlighted row (labeled set number 8) shows a travel time of approximately 4 seconds. The motion profiles considered here include very slow acceleration and deceleration cases (2-second / 4-second travel times) to include a broad range of these parameters when examining their potential impact on backlash. Figure 4B It is a plot of the average tooth gap comparison set number. Figure 4AThe set of motion profiles highlighted in the paper exhibits extremely low velocities and low acceleration, deceleration, and jerk limits. However, the effect on mean backlash is negligible. It should be noted that the backlash compensation method disclosed in this paper is not predicted under the condition that backlash is independent of motion profile parameters. In general, if backlash exhibits a dependence on motion profile parameters, these parameters can be additionally included as variables.
[0023] Figure 5A and 5B Additional results from the study were provided. Figure 5A The left-hand plot shown illustrates the autocorrelation of backlash values, demonstrating some dependence of the backlash on prior directional reversal movements. The correlation with the backlash history prior to the previous directional reversal (e.g.) Figure 5A (As shown in the diagram on the right) is insignificant. Figure 5B The sample correlation between backlash and prior movements is shown. The plot illustrates the primary dependence on the length of the reverse movement and the length of the last movement before the direction reversal. The observation of movement histories of more than five prior (forward) movements is statistically negligible. When “learning” the backlash variation pattern of this example application, the backlash length for the five movements prior to the previous and current direction reversals can be used as a “feature variable.” It should be noted that the specific dependence on the history of prior forward directional movements can generally vary from one drive system to another. However, the learning-based solution presented here is general in scope and can be applied to any specific drive system design.
[0024] Figure 6 The high-level illustration shows how backlash correction is performed according to some embodiments of the invention. Starting at step 605, the load (ring) is brought into position. This establishment of the load into position creates a reference point on the load (ring). Load into position can be performed using a variety of sensing methods, including but not limited to capacitive, magnetic, and optical methods with appropriate into position markings on the load. Next, at 610, the belt is "repositioned" by performing a pitch non-uniformity process. This process is described in further detail below with reference to FIG7. The final result of steps 605 and 610 is the establishment of a belt non-uniformity error for a belt / pulley relative configuration that minimizes it. Subsequently, each instance of backlash calibration can be performed based on this configuration. Backlash calibration is performed during steps 615-620. At step 615, a movement sequence is performed using the applied pitch non-uniformity correction, and the backlash is measured. Then, at 620, a lookup table or training model is generated based on the results.
[0025] Figure 6The bottom portion illustrates the normal drive operation phase where a lookup table or model is applied. During step 625, the system operates as normal, and the drive system needs to move the payload to the target position. Then, at step 630, a backlash nonuniformity correction is applied in the form of a correction for the target position of the payload. If the direction of movement is reversed, a backlash correction is estimated at step 635, and a movement is performed at step 640 based on the corrected movement length. If the direction of movement is not reversed, step 640 can be performed directly without backlash correction.
[0026] In the types of belt drive systems discussed in this paper, key features affecting backlash include a measure representing the length of the reverse-direction movement (the current movement) and the subsequence preceding the reverse-direction movement (five movements in this example). Additional key features affecting backlash include the tooth addresses (of the belt and pulleys), or alternatively, the ring segment index, which tracks the relative configuration of the belt teeth engaging with the teeth on the pulleys.
[0027] This paper discusses two schemes for backlash error compensation. The first scheme, referred to in this paper as "Type 1 calibration," utilizes a lookup table with simple interpolation for the required backlash error compensation. The following section discusses... Figure 8-13 Type 1 calibration has been described. The second approach, referred to in this paper as "Type 2 calibration," uses machine learning (ML)-based algorithms to model and predict backlash pre-compensation for the target movement length. Type 2 calibration will also be described in further detail below. The creation of the lookup table or the calculation of the ML-based backlash calibration can be performed on the host instrument or, depending on available resources, offline.
[0028] Type 1 calibration routines consist of a sufficiently long sequence of systematic movements. Backlash error is measured using a suitable sensor and recorded as a function of characteristic variables. Sensing for backlash error measurement can include indirect methods, such as sensing actuator stroke (motor rotation) or belt movement (e.g., features on the outer surface of the belt). Alternatively, direct methods (e.g., magnetic encoders, optical encoders) can be used to sense the motion of the payload. Where backlash variations on multiple drive units are found to exhibit similar patterns (distributions), calibration can be performed offline based on a sufficiently large sample of calibration data from the drive units. The correction can then be encoded in the form of a common lookup table used by all units.
[0029] During normal movement, a non-uniformity correction for tooth pitch is first applied. In the case of movement in reverse direction, a tooth gap map, as a function of the characteristic variable, is used to estimate the correction for tooth gap using a simple lookup table or a simple form of interpolation. The characteristic space grid is uniformly sampled with a sufficiently fine grid spacing to accommodate a simple lookup table or nearest-neighbor interpolation scheme, or alternatively, a slightly coarser and more robust (e.g., polynomial) interpolation method can be chosen to estimate the required correction. Example interpolation methods that can be used include linear interpolation, nearest-neighbor interpolation, polynomial interpolation, Gaussian mixture models, radial basis functions, etc.
[0030] Figure 7A An example ring is shown according to some embodiments, calibrated in a Type 1 manner. The Type 1 calibration scheme assumes that the ring is calibrated around... A fixed number of N positioning positions, spaced apart by degrees. Figure 7A In the example, N =8. For each belt cycle, a predetermined number of rings rotate. Backlash data is stored in a lookup table. For fine calibration, a nearest neighbor interpolation algorithm is used. Alternatively, coarse calibration can be performed using methods such as scatter interpolation algorithms (e.g., linear, cubic, etc.), sparse interpolation methods, or robust curve fitting using Bayesian methods.
[0031] Figure 7B An exemplary belt pitch nonuniformity and loop index homing position calibration scheme that can be applied in some embodiments is described. Starting at step 705, the loop is homed to HomeLoc=1. Then, the loop is executed in steps 710-735. At step 710, an index value is set, and at step 715, the loop is moved to the position specified by that index + 1. The “target” movement length based on the motor encoder count is calculated. Then, at step 720, the “actual” motor encoder step is recorded, and at step 725, the belt nonlinearity error is calculated as the difference between the “target” and “actual” motor encoder counts. At steps 730 and 735, HomeLoc and the loop are advanced, respectively. This loop is repeated for each loop rotation in the belt cycle.
[0032] Figure 8-13 Various methods for performing Type 1 calibration according to different embodiments of the present invention are illustrated. For each of these methods, a series of forward movements are stored in a forward movement dataset. This forward movement dataset is defined as follows: ,in n =[1, N max ]and N ≤ N maxA series of reverse moves are stored in a space defined as The reverse-movement dataset. It should be noted that in some embodiments, the sign of the dataset can be reversed. That is, the forward-movement dataset can be defined as... The reverse movement dataset is defined as .
[0033] Figure 8 A first example implementation of Type 1 calibration according to some embodiments is shown. Starting at step 805, the ring is repositioned to one of its repositioning positions around the ring. At step 810, a belt pitch non-uniformity calibration process is performed (see, for example...). Figure 7B The calculated belt pitch nonuniformity error is recorded as a function of "ring rotation number" and "HomeLoc" in a variable referred to herein as "nonlin_mtr_encoder_cts". After belt pitch nonuniformity calibration, at step 815, the ring is returned to its original position #1. In some embodiments, ring return can be replaced by return away from the belt (e.g., using a notch on the top or bottom edge of the belt; using a reflector with optical sensing; using a magnetic square with Hall sensing; a metal square with capacitive sensing; a beam-based sensing having a reference hole around the middle portion of the belt; etc.).
[0034] exist Figure 8 During steps 817-865, a loop is executed for each rotation of the loop in the belt cycle. This loop begins at 817 by initializing the index variable (referred to herein as "home_index") to 1. Next, during steps 820-860, an inner loop is executed at all return positions around the loop. In step 820, the loop is returned to the position specified by home_index. Then, at step 855, a forward movement loop is executed to calculate backlash. This forward movement loop is executed once for each reverse movement length in the reverse movement dataset. See below for reference. Figure 9 and 10 As described, backlash calculation can be performed in several ways. After the backlash results have been recorded, at step 860, the home_index is advanced, and the loop is repeated for each possible home position. Once the backlash has been calculated for all home positions, at step 865, the number of ring rotations is advanced, and the outer loop from 817-865 is repeated until the loop has been performed for each ring rotation in the belt cycle.
[0035] Figure 9Examples of how backlash calculation can be performed in some embodiments of the invention are provided. Starting at step 930, a forward movement is performed. Then, at step 935, an index variable (referred to herein as the “start_home_index” variable) is used to record the home position number at the end of the forward movement. Next, at step 940, a reverse (i.e., backlash) movement is performed. At step 945, an index variable (referred to herein as the “final_home_index” variable) is used to record the home position number at the end of the reverse movement. The payload is then homed to the “home_index” position. Then, at step 955, the final motor encoder step is recorded in a variable, referred to herein as the “mtr_encoder_cts” variable. Finally, at step 960, the backlash is calculated as the difference between the target motor encoder step (i.e., nonlin_mtr_encoder_cts) and the actual motor encoder step (i.e., mtr_encoder_cts). The backlash value is then stored in a table or other data structure for later retrieval and use during normal operation. To facilitate retrieval, one or more index values can be associated with the stored tooth gap values. Figure 9 In the example, these index values are the number of ring rotations, the starting and final return positions, the number of forward movements, and the number of backward movements. Figure 9 In the example, steps 930-960 are executed as a loop that is repeated for each specified movement length.
[0036] Figure 10 Alternative methods for performing backlash calculations in some embodiments of the invention are shown. Steps 1030-1045 are similar to... Figure 9 Steps 930-945 are executed in the same manner. Similarly, steps 1050-1060 are performed in a similar way. Figure 9 Steps 950-960 are performed in the same manner. However, at 1050, before recording the final motion encoder step, the homing flag closest to the homing sensor is moved into the homing sensor (in the same direction as the reverse movement).
[0037] Figure 11-13 Alternative methods for performing Type 1 calibration are shown. These methods can be referenced above. Figure 9 and 10 The described backlash calculation process can be executed at any of these stages.
[0038] exist Figure 11 In the Type 1 calibration method shown, steps 1105-1125 are similar to those in the reference above. Figure 8The steps 805-825 are described as follows. However, after step 1125, a reset move is performed at step 1127 to eliminate the effect of the repositioning move. These reset moves are performed as +∆ θ or −∆ θ The increment (depending on the orientation used to define forward and reverse movement). The method then proceeds in a manner similar to the reference above. Figure 8 The method under discussion continues with steps 1155-1165.
[0039] exist Figure 12 In the Type 1 calibration method shown, steps 1205-1225 are similar to those in the reference above. Figure 8 The steps 805-825 described are executed in the manner described. However, the forward move loop is executed only for randomly selected move lengths, rather than looping over the entire reverse and forward move dataset. Therefore, at steps 1230 and 1235, random reverse and forward move lengths are selected. Randomization can be performed using any technique known in the art. The forward loop is then executed once, and the processing is similar to that described above. Figure 8 The method discussed continues with steps 1255-1265.
[0040] Figure 13 An alternative method for performing type 1 calibration, according to some embodiments, is shown. This example combines... Figure 13 and 12 The method shown. Steps 1305-1325 are similar to those in the reference above. Figure 8 The steps described in steps 805-825 are executed in the manner described. (Compared to...) Figure 13 Similarly, after step 1325, a reset move is performed at step 1327 to eliminate the effects of the return move. Then, with Figure 12 Similar to steps 1230 and 1235, random reverse and forward shift lengths are selected at steps 1330 and 1335, respectively. Then, the forward loop is executed once, and the processing is similar to that described above. Figure 8 The method under discussion continues with steps 1360 and 1365.
[0041] As noted above, this second type of calibration is referred to as Type 2 calibration in this paper. In short, the backlash model is learned using one or more machine learning (ML) algorithms well-known in the art. The hyperparameters of the chosen machine learning scheme can be appropriately selected through optimization or cross-validation methods. The learned model is then used to estimate the corrections required to compensate for the backlash. Type 2 calibration inherently performs sparse sampling of the feature space grid and is therefore potentially more cost-effective (requiring less training time) than Type 1 calibration.
[0042] During model training, the Type 2 calibration scheme performs a sufficiently large number of randomized bidirectional movements, which vary in length from minimum to maximum according to the number of movement segments (1:N). In some embodiments, backlash measurement is performed using (a) direct measurement of the payload position (e.g., using a magnetic or optical encoder, laser micrometer, potentiometer, etc.). In other embodiments, backlash is calculated by locating at multiple equally spaced (for simplicity) positions on the payload and using an encoder on the drive side to record the positions. The latter sensing method requires locating at multiple positions on the ring (for simplicity, assume that corresponding to " N "a moving segment" N At each point, the " N "Each moving segment is assumed to span the range of the effective load's moving length." The third set of methods will include the repositioning of a reference point on the drive mechanism (e.g., timing belt or lead screw).
[0043] Feature variables used in Type 2 calibration ML algorithms can include, for example, the length of forward and reverse movement, and variables representing the addresses of the belt and(one or more) pulley teeth (or, alternatively, payload segment indices). For example, a fraction of the belt cycle or tooth address on the belt (and(one or more) pulleys, if desired) can also be tracked. The length of movement measures used as feature variables can include the length of the current (reverse direction) movement and the length of the preceding (forward) movement. Another example of a movement metric can be calculated as follows: Previous_backlash_value abs_rev_move Abs_Rev_minus_LastFwd Abs_Rev_minus_SumFwd (abs_rev_move + abs_sum_fwdMove_set) (abs_rev_move + abs_last_fwd_move)Abs_Rev_minus_SumFwd.*abs_rev_move Abs_Rev_minus_MeanFwd.*abs_rev_move Total_AllPrecedingMovesLastFwdMoveLength]. Alternatively, the following movement metric can be used: Previous_backlash_valuePrevious_5_Fwd_MoveLengths. The meanings of the various variables in this metric are as follows: variable definition Previous_backlash_value Backlash error recorded for instances of prior directional reverse movement abs_rev_move The length of the movement in the current reverse direction Abs_Rev_minus_LastFwd The magnitude of the difference between the current reverse movement and the length of the previous ("forward" movement). Abs_Rev_minus_SumFwd The magnitude of the difference between the current (reversed direction) movement length and the sum of the "forward" movement lengths between the current and previous reversed direction instances. (abs_rev_move + abs_sum_fwdMove_set) The sum of the current (reversed direction) movement length and the sum of the "forward" movement lengths between the current and previous reversed direction instances. (abs_rev_move + abs_last_fwd_move) The sum of the lengths of the current (reversed) movement and the previous "forward" movement. Abs_Rev_minus_MeanFwd The absolute difference between the length of the current (reversed) movement and the average length of the "forward" movement between the current and previous reversed instances. Total_AllPrecedingMoves The algebraic sum of all moves prior to the current (reversed) move. LastFwdMoveLength The length of the movement ("forward") before the current (reversed) movement. .
[0044] As an additional characteristic variable, the payload (ring) can actually be divided into " N"Equal parts. The loop segment can then be used as a proxy for the address of the teeth on the belt and pulley. The number of loop segments then ranges from 1 to..." N *and cross over, N * indicates the number of rotations of the loop in each belt cycle.
[0045] If additional factors such as maximum or average acceleration / deceleration during the movement are found to affect backlash, depending on the timing belt selection, drive system design, end application type, etc., the calibration scheme discussed in this paper can still be applied by appropriately extending the feature space to include the additional factors along with a clear generalization and appropriate selection of the calibration scheme.
[0046] Feature selection can be performed by using methods such as “predictor importance” estimation using decision trees, for example, to appropriately select the feature variables of interest for each application.
[0047] The ML algorithm used in the Type 2 calibration scheme can be selected based on characteristics such as the algorithm's predictive performance, associated computational complexity, and ease of implementation. Example ML algorithms include linear regression (with regularization, if necessary), neural networks, decision tree-based regression, multinomial logistic regression, autoregressive-moving average ("ARMAX") models with exogenous inputs, random forest regression trees, linear support vector machines, deep learning models, and so on. The techniques used to implement these algorithms are generally well-known in the art and therefore will not be described in detail herein.
[0048] Recalibration using a Type 1 or Type 2 calibration scheme can be performed at regular service intervals to measure changes in drive unit performance. Any statistically significant changes can then be used for fault prediction and / or scheduling preventative maintenance. In the event of an instrument power failure and the calibration data no longer being available in random access memory, recalibration can be avoided by always performing backlash calibration after belt return to position, ensuring that, for example, the initial configuration of the belt drive system at the start of backlash calibration corresponds to a minimum of pitch non-uniformity error. This will require storing backlash calibration data (based on prior belt return) in non-volatile memory.
[0049] Figure 14 An exemplary computing environment 1400 is illustrated within which embodiments of the present invention can be implemented. For example, in some embodiments, the computing environment 1400 can be used to support... Figure 1The calibration is driven by the belt drive system shown. The computing environment 1400 may include a computer system 1410, which is an example of a computing system on which embodiments of the present invention may be implemented. Computers and computing environments (such as computer system 1410 and computing environment 1400) are known to those skilled in the art and are therefore briefly described herein.
[0050] like Figure 14 As shown, computer system 1410 may include a communication mechanism (such as bus 1421) or other communication mechanisms for transmitting information within computer system 1410. Computer system 1410 further includes one or more processors 1420 coupled to bus 1421 for processing information. Processor 1420 may include one or more central processing units (CPU), graphics processing units (GPUs), or any other processor known in the art.
[0051] Computer system 1410 also includes system memory 1430 coupled to bus 1421 for storing information and instructions to be executed by processor 1420. System memory 1430 may include computer-readable storage media in the form of volatile and / or non-volatile memory, such as read-only memory (ROM) 1431 and / or random access memory (RAM) 1432. System memory RAM 1432 may include one or more other dynamic storage devices (e.g., dynamic RAM, static RAM, and synchronous DRAM). System memory ROM 1431 may include one or more other static storage devices (e.g., programmable ROM, erasable PROM, and electrically erasable PROM). Furthermore, system memory 1430 may be used to store temporary variables or other intermediate information during instruction execution by processor 1420. A basic input / output system (BIOS) 1433 containing basic routines such as those that help pass information between components within computer system 1410 during startup may be stored in ROM 1431. RAM 1432 may contain data and / or program modules that are readily accessible to and / or currently being operated on by processor 1420. System memory 1430 may additionally include, for example, an operating system 1434, application programs 1435, other program modules 1436, and program data 1437.
[0052] Computer system 1410 also includes a disk controller 1440 coupled to bus 1421 to control one or more storage devices, such as hard disks 1441 and removable media drives 1442 (e.g., floppy disk drives, compact disk drives, tape drives, and / or solid-state drives), for storing information and instructions. Storage devices can be added to computer system 1410 using appropriate device interfaces, such as Small Computer System Interface (SCSI), Integrated Device Electronics (IDE), Universal Serial Bus (USB), or FireWire.
[0053] Computer system 1410 may also include a display controller 1465 coupled to bus 1421 to control a display 1466, such as a cathode ray tube (CRT) or liquid crystal display (LCD), for displaying information to a computer user. The computer system includes an input interface 1460 and one or more input devices, such as a keyboard 1462 and a pointing device 1461, for interacting with the computer user and providing information to processor 1420. Pointing device 1461 may be, for example, a mouse, trackball, or pointing stick, for transmitting directional information and command selections to processor 1420 and for controlling cursor movement on display 1466. Display 1466 may provide a touchscreen interface that allows input to supplement or replace the transmission of directional information and command selections by pointing device 1461.
[0054] Computer system 1410 may perform some or all of the processing steps of embodiments of the present invention in response to processor 1420 executing one or more sequences of one or more instructions contained in memory such as system memory 1430. Such instructions may be read into system memory 1430 from another computer-readable medium, such as hard disk 1441 or removable media drive 1442. Hard disk 1441 may contain one or more data repositories and data files used by embodiments of the present invention. The contents of the data repositories and data files may be encrypted to enhance security. Processor 1420 may also be employed in a multiprocessing arrangement to execute one or more sequences of instructions contained in system memory 1430. In alternative embodiments, hardwired circuitry may be used instead of software instructions, or hardwired circuitry may be used in conjunction with software instructions. Therefore, embodiments are not limited to any particular combination of hardware circuitry and software.
[0055] As stated above, computer system 1410 may include at least one computer-readable medium or memory for storing instructions programmed according to embodiments of the present invention and for containing data structures, tables, records, or other data described herein. The term "computer-readable medium" as used herein refers to any medium involved in providing instructions to processor 1420 for execution. Computer-readable media may take many forms, including but not limited to non-volatile media, volatile media, and transmission media. Non-limiting examples of non-volatile media include optical discs, solid-state drives, magnetic disks, and magneto-optical disks, such as hard disk 1441 or removable media drive 1442. Non-limiting examples of volatile media include dynamic memory, such as system memory 1430. Non-limiting examples of transmission media include coaxial cables, copper wires, and optical fibers, including conductors constituting bus 1421. Transmission media may also take the form of sound waves or light waves, such as those generated during radio wave and infrared data communication.
[0056] The computing environment 1400 may further include a computer system 1410 operating in a networked environment using logical connections to one or more remote computers (such as remote computer 1480). The remote computer 1480 may be a personal computer (laptop or desktop), mobile device, server, router, network PC, peer-to-peer device, or other public network node, and typically includes many or all of the elements described above with respect to computer system 1410. When used in a networked environment, computer system 1410 may include a modem 1472 for establishing communication over a network 1471 such as the Internet. The modem 1472 may be connected to bus 1421 via user network interface 1470 or via another suitable mechanism.
[0057] Network 1471 can be any network or system generally known in the art, including the Internet, intranet, local area network (LAN), wide area network (WAN), metropolitan area network (MAN), direct connection or a series of connections, cellular telephone network, or any other network or medium that facilitates communication between computer system 1410 and other computers (e.g., remote computer 1480). Network 1471 can be wired, wireless, or a combination thereof. Wired connections can be implemented using Ethernet, Universal Serial Bus (USB), RJ-11, or any other wired connection generally known in the art. Wireless connections can be implemented using Wi-Fi, WiMAX and Bluetooth, infrared, cellular networks, satellite, or any other wireless connection method generally known in the art. Additionally, several networks can operate independently or communicate with each other to facilitate communication within network 1471.
[0058] The embodiments of this disclosure can be implemented using any combination of hardware and software. Furthermore, the embodiments of this disclosure can be included in an article of manufacture having, for example, a computer-readable non-transitory medium (e.g., one or more computer program products). This medium embodies, for example, computer-readable program code for providing and facilitating the embodiments of this disclosure. This article of manufacture can be included as part of a computer system or sold separately.
[0059] While various aspects and embodiments have been disclosed herein, other aspects and embodiments will be apparent to those skilled in the art. The various aspects and embodiments disclosed herein are for illustrative purposes and are not intended to be limiting, wherein the true scope and spirit are indicated by the following claims.
[0060] Executable applications, as used herein, include code or machine-readable instructions for regulating a processor to perform predetermined functions, such as those of an operating system, context data acquisition system, or other information processing system, for example, predetermined functions in response to user commands or input. An executable process is a piece of code or machine-readable instructions, a subroutine, or other distinct code portion or part of an executable application for performing one or more specific procedures. These procedures may include receiving input data and / or parameters, performing operations on the received input data, and / or performing functions in response to received input parameters, and providing the obtained output data and / or parameters.
[0061] The functions and procedures described herein may be executed automatically, or in whole or in part in response to user commands. Automatically executed activities (including steps) are performed in response to one or more executable instructions or device operations without direct user initiation of the activity.
[0062] The systems and processes shown in the figures are not exclusive. Other systems, processes, and menus can be derived from the principles of the invention to achieve the same purpose. Although the invention has been described with reference to specific embodiments, it is to be understood that the embodiments and variations shown and described herein are for illustrative purposes only. Modifications to the present design can be made by those skilled in the art without departing from the scope of the invention. As described herein, various systems, subsystems, agents, managers, and processes can be implemented using hardware components, software components, and / or combinations thereof. The elements of the claims herein should not be construed in accordance with 35 U.S.SC 112(f) unless the element is expressly stated using the phrase “means for…”.
Claims
1. A method for backlash compensation in a motion control system, the method comprising: Return the effective load of the motion control system to its original position; A tooth pitch nonuniformity process is performed on the motion control system to identify nonuniformity correction, wherein the errors caused by tooth pitch nonuniformity and tooth backlash are measured by sensors, wherein the error caused by tooth backlash as a function of parameters is calculated using a machine learning model, wherein the parameters are the tooth address and the travel length on the belt and pulley; A backlash lookup table is generated for use in backlash correction during normal operation of the motion control system, wherein the backlash lookup table is generated using a training process that includes: Select the movement sequence used to operate the motion control system. The movement sequence is performed using non-uniformity correction. Calculate backlash measurements describing the backlash of one or more components of the motion control system during the movement sequence, and The tooth gap measurement results are stored in the tooth gap lookup table.
2. The method according to claim 1, wherein the motion control system is a linear drive system.
3. The method according to claim 1, wherein: The payload is a ring, the ring including a plurality of equally spaced homing positions around the ring, and The motion control system includes a homing sensor for tracking the plurality of homing positions during movement of the motion control system.
4. The method of claim 1, wherein the motion control system further comprises an annular pulley connected to a timing belt, the timing belt being connected to a drive pulley driven by a stepper motor.
5. The method of claim 3, wherein the backlash measurement is calculated using a calibration process performed once for each loop rotation within a belt cycle corresponding to the movement of the loop, wherein the calibration process includes: Move the ring to its original position; Execute a reverse movement loop for each of one or more reverse movement lengths; A forward movement loop is executed within the reverse movement loop, wherein the forward movement loop is executed for each of one or more forward movement lengths, and the forward movement loop includes: Perform a forward shift based on the current forward shift length; Perform a reverse shift based on the current reverse shift length; Record the actual motor encoder step counts obtained from the forward and reverse movements; The backlash measurement result is calculated as the difference between the target motor encoder step count corresponding to non-uniformity correction and the actual motor encoder step count.
6. The method of claim 5, wherein each iteration of the calibration process comprises: Record the return position at the end of the forward movement as the starting return position; Record the final return position at the end of the reverse movement as the final return position. The tooth gap measurement results are stored in the tooth gap lookup table, which is indexed by the current ring rotation number, the initial return position, the final return position, the current forward movement length, and the current reverse movement length.
7. The method of claim 5, wherein the reverse movement loop within the calibration process is executed once for each homing position on the loop, and the method comprises: Before recording the motor encoder step count, the current homing position is moved into the homing sensor in the same direction as the reverse movement.
8. The method of claim 5, wherein the reverse movement loop within the calibration process is executed once for each homing position on the loop, and the method comprises: Before recording the motor encoder step count, the homing position closest to the sensor is moved into the homing sensor in the same direction as the reverse movement.
9. The method of claim 5, further comprising: Before performing the calibration process, the ring is returned to its initial position.
10. The method of claim 9, further comprising: Perform one or more reset moves to eliminate the effect of returning the ring to the initial return position, wherein each reset move has a length of 360 divided by the number of return positions on the ring.
11. The method of claim 5, wherein the reverse movement length and the forward movement length used to perform the calibration process are both randomly selected.
12. The method of claim 1, further comprising: During normal operation of the motion control system, a calibration process is performed, including: Apply non-uniformity correction; Receive a request to execute a new move sequence; If the new movement sequence includes a direction reversal, the backlash lookup table is used to estimate a new backlash correction, and the new backlash correction is applied to the new movement sequence; and Execute the new movement sequence.
13. The method of claim 12, wherein the new backlash correction is estimated by interpolation among a plurality of backlash measurements in the backlash lookup table.
14. The method of claim 5, wherein the calibration process is performed during startup of the motion control system.
15. The method of claim 5, wherein the calibration process is performed at predetermined scheduling intervals.
16. The method of claim 1, wherein the backlash measurement result is calculated based on one or more features detected on the outer surface of the transmission element driving the load or based on one or more features on the load that can be sensed.
17. The method of claim 1, wherein the backlash measurement result is calculated based on the stroke of the actuator driving the payload.
18. A method for backlash compensation in a motion control system, the method comprising: Return the effective load of the motion control system to its original position; A tooth pitch nonuniformity process is performed on the motion control system to identify nonuniformity correction, wherein the errors caused by tooth pitch nonuniformity and tooth backlash are measured by sensors, wherein the error caused by tooth backlash as a function of parameters is calculated using a machine learning model, wherein the parameters are the tooth address and the travel length on the belt and pulley; Generate multiple backlash measurements corresponding to multiple movement sequences, wherein each backlash measurement is calculated using a process comprising: Select the movement sequence used to operate the motion control system. The movement sequence is performed using non-uniformity correction. Calculate backlash measurements describing the backlash of one or more components of the motion control system during the movement sequence, and Store the backlash measurement results and the movement sequence; as well as The multiple backlash measurements and the multiple movement sequences are used to train a machine learning model for use in backlash correction.
19. The method of claim 18, wherein: The payload is a ring, the ring including a plurality of equally spaced homing positions around the ring, and The backlash of one or more components of the motion control system is tracked using the homing position.
20. The method of claim 18, further comprising: During normal operation of the motion control system, a calibration process is performed, including: Apply non-uniformity correction; Receive a request to execute a new move sequence; If the new movement sequence includes a direction reversal, the machine learning model is used to estimate backlash correction, and the backlash correction is applied to the new movement sequence. Execute the new movement sequence.
21. A method for backlash compensation in a motion control system, the method comprising: During normal operation of the motion control system, a calibration process is performed, including: Receive a request to execute a new move sequence; If the new movement sequence includes a direction reversal for the motion control system, a backlash lookup table is used to estimate a new backlash correction, and the new backlash correction is applied to the new movement sequence; and Execute the new movement sequence.
22. A method for backlash compensation in a motion control system, the method comprising: During normal operation of the motion control system, a calibration process is performed, including: Receive a request to execute a new move sequence; If the new movement sequence includes a direction reversal for the motion control system, a machine learning model is used to estimate a new backlash correction, and the new backlash correction is applied to the new movement sequence; and Execute the new movement sequence. The machine learning model is trained by measuring the backlash of the motion control system while executing training movement sequences.