A load balancing scheduling optimization method for multi-motor cooperative driving
By constructing a full-process scheduling framework and improving the Kalman filter algorithm, and combining it with a backward backtracking strategy to optimize the load distribution of multiple motors, the problems of load imbalance and response lag in traditional methods are solved, thereby improving the stability and economy of the system.
Patent Information
- Application Number
- CN202610428024.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-04-02
- Publication Date
- 2026-06-26
Smart Images

Figure CN122292946A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of multi-motor cooperative control technology, and in particular relates to a load balancing scheduling optimization method for multi-motor cooperative drive, which is applicable to multi-motor cooperative drive scenarios such as industrial robots, new energy vehicles, and mining machinery. Background Technology
[0002] Multi-motor cooperative drive systems are widely used in various industrial equipment and transportation vehicles. The balance of load scheduling directly affects the system's operational stability, energy consumption, and motor lifespan. Traditional multi-motor load balancing scheduling methods mostly use static optimization models, which only consider the upper and lower limits of motor output constraints and do not explicitly incorporate the dynamic response characteristics of motors (such as ramp rate and response delay) into the scheduling framework.
[0003] In scenarios with high-frequency load fluctuations, traditional statically optimized scheduling schemes, while satisfying theoretical balance, are prone to problems such as load distribution imbalance and response failure during actual execution due to insufficient dynamic response capabilities of motors. Existing technologies employ various methods to improve dynamic feasibility by reserving conservative margins, but this sacrifices system economy; other schemes use intelligent optimization algorithms for global optimization, but suffer from high computational complexity and poor real-time performance, making it difficult to meet online scheduling requirements.
[0004] Therefore, there is an urgent need for a multi-motor load scheduling method that takes into account load balancing, dynamic feasibility, and operational economy, in order to solve the technical pain point of the disconnect between static optimization and dynamic response. Summary of the Invention
[0005] The purpose of this invention is to provide a load balancing scheduling optimization method for multi-motor cooperative drive. By constructing a full-process scheduling framework of "forward static optimization - dynamic constraint verification - backward backtracking correction - closed-loop iterative optimization", the invention improves the Kalman filter algorithm to remove interference from real-time motor load data. At the same time, the invention uses a backward backtracking strategy to allocate dynamic margin according to motor load rate priority, which solves the problems of uneven load distribution, slow response, and high energy consumption in existing multi-motor cooperative drive.
[0006] To solve the above-mentioned technical problems, the present invention is achieved through the following technical solution:
[0007] This invention relates to a load balancing scheduling optimization method for multi-motor cooperative drive, comprising the following steps:
[0008] Step S1: Initialization of Multi-Motor Drive System Parameters and Dynamic Load Sensing: Import the rated parameters and dynamic response characteristic parameters of n motors, collect real-time operating data of the motors through multi-sensor fusion, and calculate the real-time output power. and the rate of change of load at adjacent time points ;
[0009] Step S2: Forward static load balancing allocation based on the improved equal-increment rate method: by defining the marginal increment of load balancing. The load is allocated using the equal marginal increment criterion to ensure that the impact of power changes in each motor on load balance is consistent, and an initial static scheduling sequence is generated. ;
[0010] Step S3, Multi-motor dynamic response constraint verification and infeasible period identification: Explicitly verify ramp rate constraints and load change response constraints, and identify two types of infeasible periods;
[0011] Step S4, Dynamic Margin Release and Load Redistribution via Limited-Depth Backtracking: For infeasible periods, limited-depth backtracking is triggered to release margins based on motor load rate priority. The lower the load rate of the motor, the larger the margin space that can be released. Prioritizing the allocation of margins can prevent heavy-load motors from further overloading and improve system balance.
[0012] Step S5, Multi-motor Cooperative Execution and Real-time Data Feedback: The corrected load distribution value is converted into motor control commands, the actual output of the motor is collected in real time and the deviation is calculated. If the deviation exceeds the limit, a secondary correction is triggered, forming a closed-loop control of "command-execution-feedback".
[0013] Step S6, Iterative Optimization and Adaptive Parameter Update: Execute steps S1-S5 in a rolling fashion according to a set period, and adaptively adjust the backtracking depth based on historical data. With weighting coefficients , This enables continuous optimization of the scheduling scheme.
[0014] As a preferred technical solution, in step S1, the rated parameters include rated output power. Rated torque ,efficiency Minimum output power Maximum output power Dynamic response characteristic parameters include ramp rate constraints. (Characterizing the maximum change in motor power per unit time), response delay time The real-time output torque of each motor is synchronously collected using torque sensors, speed sensors, and current sensors. Real-time rotation speed Real-time input current Calculate real-time output power ;
[0015] An improved Kalman filter algorithm is used to... Filtering is performed to obtain the real-time load after interference removal. The filtering formula is:
[0016] ;
[0017] ;
[0018] In the formula, For dynamic filtering gain, for Time-estimated error covariance To adjust the process noise covariance in real time according to load fluctuations (adjusted in real time according to load fluctuations, rather than a fixed value; traditional Kalman filters have a fixed Q, which is prone to filtering lag or over-smoothing).
[0019] Calculate the rate of change of load between adjacent time points The specific formula is as follows: In the formula, For the perception time interval.
[0020] As a preferred technical solution, in step S2, an optimization function is constructed with the minimum load balancing degree as the core objective. The specific formula is as follows:
[0021] ;
[0022] In the formula, For load balancing, To balance the load, This refers to the motor's output power. ,and , This refers to the number of motors.
[0023] Define the marginal increment of load balancing Following the equilateral and equal marginal increment criterion Distribute load while satisfying static constraints Generate a forward static load distribution sequence .
[0024] As a preferred technical solution, in step S2, the optimal allocation sequence that satisfies the constraints is solved by an iterative method. The specific iterative steps are as follows:
[0025] Step S21, Initialization: Set the iteration precision Initial allocation value Number of iterations ;
[0026] Step S22: Calculate the marginal increment: According to the formula Calculate each motor ;
[0027] Step S23: Determine the satisfaction of the criterion: If Then the iteration terminates. ;
[0028] Step S24: Adjust power allocation: If the criteria are not met, adjust the power allocation accordingly. Maximum motor power reduction Increase power for the smallest motor ;
[0029] Step S25, Constraint Verification: After adjustment, the constraint must be satisfied. If the value exceeds the upper or lower limit, fix it to the limit value and then adjust other motors.
[0030] Step S26, Iterative Update: Return to step S22 until the convergence condition is met.
[0031] As a preferred technical solution, in step S3, the forward static load allocation sequence of each motor generated in step S2 is... Prerequisite variable for calculation: Load change rate of each motor in adjacent time periods. Total system load fluctuation ;in, ;
[0032] For each time period Each motor Determine whether the ramp rate constraint is met:
[0033] ;
[0034] If there is any motor If the formula is not satisfied, then the current time period t is marked as an infeasible period for power ramp-up, denoted as . ;
[0035] when At the same time, the following two sub-constraints are checked in parallel:
[0036] Sub-constraint 1 (Response Delay Constraint): (For all motors) (Should be satisfied simultaneously)
[0037] Sub-constraint 2 (System Total Ramp Capacity Constraint): ;
[0038] If any sub-constraint is not satisfied, then the current time period t is marked as an infeasible time period for the mutation response, denoted as . .
[0039] As a preferred technical solution, the infeasible period is... , By merging the sets, we obtain the total set of infeasible time periods: It records the failure type (climbing failure / sudden change response failure) for each infeasible period, providing a targeted basis for subsequent backward correction; it also outputs the feasibility status label (feasible / climbing failure / sudden change response failure) for each period and the total set of infeasible periods. and a list of corresponding failure types;
[0040] like If the set is empty, it means that the forward static scheme satisfies the dynamic constraints, and we proceed directly to step S5. If the set is not empty, the backward backtracking correction in step S4 is triggered.
[0041] As a preferred technical solution, the specific process of dynamic margin release and load redistribution in step S4, involving finite-depth backward backtracking, is as follows:
[0042] Step S41, Correction trigger judgment: Input the set of infeasible time periods obtained in step S3. Static load distribution sequence Motor parameters ( ),like Initiate backward correction; if If not, skip this step; Initialization parameters: Set the maximum backtracking depth (Engineering Values) Convergence accuracy (Load balance fluctuation threshold)
[0043] Step S42, Determining the scope and target time period for backtracking: For each infeasible time period Determine the time frame for retrospective analysis: In the formula, For the time period sequence number; by adjusting The load allocation during the time period releases dynamic margin, ensuring that the corrected time period t meets dynamic constraints (climbing rate + load change response constraint).
[0044] The rules are as follows: Priority is given to... Begin by working backwards, gradually expanding the scope of the backtracking process. This avoids a surge in computational load caused by a one-time, full-time backtracking;
[0045] Step S43, Calculation of motor release margin during the retrospective period: For each period within the retrospective range... For each motor i, calculate the release dynamic margin. This margin characterizes the motor's performance. The maximum additional power that can be carried during a given time period is calculated using the following formula:
[0046] ;
[0047] In the formula, For the motor in The power margin for the time period ensures that the adjusted power does not exceed the rated upper limit. The motor is The ramp margin within a time period ensures that the power adjustment rate does not exceed its own ramp capacity. The minimum of the two values is taken to ensure that the margin release satisfies both static power constraints and dynamic ramp constraints.
[0048] Step S44, Prioritizing Margin Allocation: Prioritizing the backtracking period. Calculate the real-time load rate for each motor. As the basis for prioritizing margin allocation, the specific formula is as follows:
[0049] ;
[0050] Motors with low load rates have greater power adjustment margin. Prioritizing the allocation of power margin can prevent heavy-load motors from being further overloaded, balancing load balance and dynamic feasibility. The sorting rule is the actual load rate. The lower the margin, the higher the priority of margin allocation;
[0051] Step S45, Load redistribution calculation: Based on the priority ranking results, during the backtracking period... Redistribute the load and generate a corrected load sequence. Prioritize allocating margin to motors with low load rates, and gradually adjust the time period t to meet dynamic constraints;
[0052] Step S46, Dynamic Constraint Recheck: The corrected load sequence... Substitute the dynamic constraint verification algorithm from step S3;
[0053] Step S47, Correction Termination Judgment: Terminate the current time period if any of the following conditions are met. Correction:
[0054] After correction The backtracking range has reached its maximum depth. Load balancing fluctuations .
[0055] As a preferred technical solution, in step S45, a corrected load sequence is generated. It needs to satisfy the following three constraints simultaneously:
[0056] Total load balancing constraint is ;
[0057] Dynamic climbing constraints are ;
[0058] Margin usage constraint is .
[0059] As a preferred technical solution, in step S5, during multi-motor collaborative execution and real-time data feedback, This is converted into torque and speed commands for the motors, controlling the coordinated operation of multiple motors and collecting the actual output power of the motors in real time. Calculate the correction deviation ,like This triggers a secondary correction.
[0060] As a preferred technical solution, in step S6, steps S1-S5 run continuously in a real-time online loop to ensure real-time control of multi-motor coordination, with each iteration cycle... At the end, a global snapshot is taken of the running data from steps S1 to S5, the core data within this cycle is extracted and stored in the historical data cache; the corrected load value from the previous iteration cycle is then stored. As the initial reference value for the next iteration cycle, the continuity of the scheduling scheme is ensured, and load changes caused by parameter updates are avoided. After each iteration cycle, performance evaluation indicators are calculated based on historical data from the sliding statistical window.
[0061] The present invention has the following beneficial effects:
[0062] (1) This invention improves the load balance and response feasibility of multi-motor cooperative drive system under dynamic conditions by constructing a full-process scheduling framework of "forward static optimization - dynamic constraint verification - backward backtracking correction - closed-loop iterative optimization".
[0063] (2) This invention improves the accuracy of load perception and the reliability of subsequent scheduling schemes by improving the Kalman filter algorithm to remove interference from the real-time load data of the motor.
[0064] (3) The present invention improves the correction efficiency of infeasible periods and reduces the number of dynamic response failures of multiple motors by using a backward backtracking strategy that allocates dynamic margin according to motor load rate priority.
[0065] (4) This invention improves the execution accuracy of scheduling instructions and the stability of system operation by collecting the actual output power of the motor in real time and setting a deviation threshold to trigger secondary correction.
[0066] (5) This invention improves the scheduling system’s ability to adapt to changes in operating conditions by adaptively adjusting the backtracking depth and weight coefficient based on historical operating data, and achieves a dynamic balance between load balancing and operating economy.
[0067] (6) By accurately converting the power optimization value into a torque / speed command that the motor can execute and issuing it synchronously, the present invention improves the connection between the optimization scheme and the engineering execution and enhances the practicality of the technical solution.
[0068] Of course, any product implementing this invention does not necessarily need to achieve all of the advantages described above at the same time. Attached Figure Description
[0069] To more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the 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.
[0070] Figure 1 This is a flowchart of a load balancing scheduling optimization method for multi-motor cooperative drive according to the present invention.
[0071] Figure 2 This is a schematic diagram of a load balancing scheduling optimization system for multi-motor cooperative drive according to the present invention.
[0072] Figure 3 This is a flowchart of the backward correction process. Detailed Implementation
[0073] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. 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 are within the scope of protection of the present invention.
[0074] Furthermore, the technical features involved in the various embodiments of the present invention described below can be combined with each other as long as they do not conflict with each other.
[0075] To make the purpose, technical solution, and advantages of this application clearer, the following description is provided in conjunction with the appendix. Figure 1-3 The present application will be further described in detail below with reference to embodiments. It should be understood that the specific embodiments described herein are for illustrative purposes only and are not intended to limit the scope of the application.
[0076] Example 1
[0077] Please see Figure 1 As shown, this invention provides a load balancing scheduling optimization method for multi-motor cooperative drive, comprising the following steps:
[0078] Step S1: Initialization of Multi-Motor Drive System Parameters and Dynamic Load Sensing: Import the rated parameters and dynamic response characteristic parameters of n motors, collect real-time operating data of the motors through multi-sensor fusion, and calculate the real-time output power. and the rate of change of load at adjacent time points ;
[0079] Step S2: Forward static load balancing allocation based on the improved equal-increment rate method: by defining the marginal increment of load balancing. The load is allocated using the equal marginal increment criterion to ensure that the impact of power changes in each motor on load balance is consistent, and an initial static scheduling sequence is generated. ;
[0080] Step S3, Multi-motor dynamic response constraint verification and infeasible period identification: Explicitly verify ramp rate constraints and load change response constraints, and identify two types of infeasible periods;
[0081] Step S4, Dynamic Margin Release and Load Redistribution via Limited-Depth Backtracking: For infeasible periods, limited-depth backtracking is triggered to release margins based on motor load rate priority. The lower the load rate of the motor, the larger the margin space that can be released. Prioritizing the allocation of margins can prevent heavy-load motors from further overloading and improve system balance.
[0082] Step S5, Multi-motor Cooperative Execution and Real-time Data Feedback: The corrected load distribution value is converted into motor control commands, the actual output of the motor is collected in real time and the deviation is calculated. If the deviation exceeds the limit, a secondary correction is triggered, forming a closed-loop control of "command-execution-feedback".
[0083] Step S6, Iterative Optimization and Adaptive Parameter Update: Execute steps S1-S5 in a rolling fashion according to a set period, and adaptively adjust the backtracking depth based on historical data. With weighting coefficients , This enables continuous optimization of the scheduling scheme.
[0084] In step S1, the rated parameters include the rated output power. Rated torque ,efficiency Minimum output power Maximum output power Dynamic response characteristic parameters include ramp rate constraints. Response delay time The real-time output torque of each motor is synchronously collected using torque sensors, speed sensors, and current sensors. Real-time rotation speed Real-time input current Calculate real-time output power ;
[0085] An improved Kalman filter algorithm is used to... Filtering is performed to obtain the real-time load after interference removal. The filtering formula is:
[0086] ;
[0087] ;
[0088] In the formula, for The filtered value at time step for The filtered value at time step For dynamic filtering gain, for Time-estimated error covariance To adjust the process noise covariance in real time according to load fluctuations (adjusted in real time according to load fluctuations, rather than a fixed value; traditional Kalman filters have a fixed Q, which is prone to filtering lag or over-smoothing).
[0089] Calculate the rate of change of load between adjacent time points The specific formula is as follows: In the formula, For the perception time interval.
[0090] Specifically, step S1 is the data foundation and prerequisite for multi-motor collaborative load balancing scheduling. Its core function is to achieve full-dimensional parameter calibration of motors and accurate dynamic load perception with anti-interference capabilities. This involves importing the motor's rated characteristics and dynamic response core parameters, and using multi-sensor fusion and improved Kalman filtering to achieve real-time load acquisition and interference removal. Simultaneously, it calculates the load change rate required for dynamic constraint verification, providing accurate and reliable real-time data for subsequent forward optimization and dynamic verification. The specific process is as follows:
[0091] Step S11: Initialize and import all-dimensional parameters of the multi-motor system: Import two types of core parameters of n cooperative drive motors (n≥2). Rated static parameters characterize the basic output capacity of the motor, and dynamic response characteristic parameters characterize the dynamic performance of the motor load adjustment, providing boundaries for the constraints of subsequent scheduling. The parameter classification and definition are as follows.
[0092] Rated output power (Unit: kW) indicates the maximum output power of the motor during long-term stable operation. It is used to limit the maximum output of the motor and avoid overload.
[0093] Minimum output power This represents the minimum output power required for safe operation of the motor (generally taken as 0.1). This prevents the motor from burning out due to no-load operation.
[0094] Minimum output power This indicates the maximum output power of the motor during short-term overload (generally taken as...). ), the upper limit of output due to short-term load fluctuations;
[0095] Rated torque This represents the output torque of the motor at its rated speed, and is the basis for torque-power conversion.
[0096] efficiency This represents the output / input power ratio of the motor under rated operating conditions, and is the basis for energy consumption calculation.
[0097] Step S12: Multi-sensor fusion acquisition of real-time raw data of motor operation: Real-time operating physical quantities of each motor are synchronously acquired through non-contact / contact sensors to avoid the one-sidedness and interference of single sensor acquisition. The acquired physical quantities are torque, speed, and input current (multi-dimensionally correlated with motor output power for mutual verification). Specific acquisition requirements:
[0098] Data Acquisition Synchronization: The time difference in data acquisition from the sensors of all motors. This ensures the time consistency of data from multiple motors.
[0099] Data acquisition accuracy: Torque sensor accuracy Grade, speed sensor accuracy Current sensor accuracy ;
[0100] Data collected: Each motor Real-time output torque at all times ( Real-time rotation speed ( Real-time input current (A);
[0101] Step S13: Raw data conversion + improved Kalman filter for interference removal to obtain accurate real-time load. The collected physical quantities are converted into the raw value of the motor's real-time output power using the engineering conversion formula of motor torque-speed-power. The formula is a universal engineering conversion formula (compatible with mainstream motors such as three-phase AC motors and permanent magnet synchronous motors).
[0102] ;
[0103] In the formula: For motor exist The original output power value (kW) at any given time; 9550 is an engineering conversion constant (adapted to speed unit r / min, torque unit N·m, and power unit kW).
[0104] Improved Kalman Filtering: To remove interference and obtain accurate real-time load after noise reduction Traditional Kalman filtering process noise covariance When the value is fixed, filtering lag (the perceived value cannot keep up with the actual value when the load changes abruptly) or over-smoothing (the perceived value does not change when the load fluctuates slightly) is prone to occur. This invention improves upon this by adjusting the value in real time according to load fluctuations. To adapt to scenarios with dynamic changes in multi-motor loads, the core filtering formula is as follows (containing 5 key formulas that form a closed-loop filtering loop):
[0105] ;
[0106] Real-time process noise covariance Adjustment formula: Adjust in real time according to the load fluctuation amplitude at adjacent time points. The greater the fluctuation, The larger the value, the better the filter's ability to track sudden load changes; the smaller the fluctuation, the better. The smaller the value, the better the smoothing and noise reduction capabilities of the filter. The formula is:
[0107] ;
[0108] In the formula, The basic process noise covariance (determined experimentally, generally taken as...) ); The fluctuation amplification factor (taken in engineering) ); To normalize the load fluctuation range (eliminating the influence of differences in motor rated power);
[0109] Step S14: Calculate the key indicator for dynamic constraint verification—the rate of change of load between adjacent time points. ; Accurate real-time load based on filtering Calculate the motor exist The load change rate between adjacent time points is the core input for the subsequent step S3, the ramp rate constraint verification.
[0110] In step S2, an optimization function is constructed with the core objective of minimizing load balancing. The specific formula is as follows:
[0111] ;
[0112] In the formula, For load balancing, To balance the load, This refers to the motor's output power. ,and , This refers to the number of motors.
[0113] Define the marginal increment of load balancing Following the equilateral and equal marginal increment criterion Distribute load while satisfying static constraints Generate a forward static load distribution sequence .
[0114] Specifically, the optimization objective of this step is a weighted fusion of dual objectives: the core objective is to minimize load balancing, and the secondary objective is to minimize system energy consumption; at the same time, static constraints must be met to ensure that the allocation scheme is theoretically feasible.
[0115] Load balancing minimize, The smaller the value, the closer the load on each motor is to the average load, and the better the balance. The calculation formula is: In the formula, For the number of motors, The motor output in step S1 exist Precise real-time load at any given moment; for The system must consider the average load of multiple motors at all times. It also requires minimizing the total system energy consumption. The total system energy consumption is represented by the sum of the input power of each motor. The relationship with output power is ; For motor The rated efficiency.
[0116] The core of the equal-increase-rate method is that marginal quantities are equal. This invention innovatively replaces the "marginal increment of fuel cost" in thermal power dispatch with the "marginal increment of load balancing," which is defined as: the change in load balancing caused by a unit change in output power, and its mathematical expression is: .
[0117] Load balancing marginal increment The derivation of the formula is as follows:
[0118] right Find the partial derivative, from , can be obtained ;
[0119] ;
[0120] right Taking the partial derivative, we get: ;
[0121] Finally obtained Simplified calculation formula:
[0122] ;
[0123] when When it is in positive time, the motor Increased power leads to increased system equilibrium (deteriorated equilibrium); when When it is negative, the motor Increased power leads to decreased system balance (increased balance).
[0124] When distributing load according to the equal marginal increment criterion, the load balancing marginal increment of all motors is equal, that is... Under optimal load distribution, adjusting the power of any two motors cannot further reduce the system load balance.
[0125] Combining the above formula ,when At that time, it can be obtained After simplification, we get Extending this to n motors, under ideal equilibrium conditions, the output power of each motor is equal, i.e. ,at this time =0.
[0126] In step S2, the ideal equilibrium state is often unattainable, and an iterative method is needed to find the optimal allocation sequence that satisfies the constraints. The specific iterative steps are as follows:
[0127] Step S21, Initialization: Set the iteration precision Initial allocation value Number of iterations ;
[0128] Step S22: Calculate the marginal increment: According to the formula Calculate each motor ;
[0129] Step S23: Determine the satisfaction of the criterion: If Then the iteration terminates. ;
[0130] Step S24: Adjust power allocation: If the criteria are not met, adjust the power allocation accordingly. Maximum motor power reduction Increase power for the smallest motor ;
[0131] Step S25, Constraint Verification: After adjustment, the constraint must be satisfied. If the value exceeds the upper or lower limit, fix it to the limit value and then adjust other motors.
[0132] Step S26, Iterative Update: Return to step S22 until the convergence condition is met.
[0133] After iterative convergence, the optimal static power allocation for each motor is output. The sequence satisfies the following three conditions:
[0134] Equal Marginal Increment Criterion Satisfy static constraints Objective function Minimum.
[0135] In practice, the initial load balancing degree and the objective function value are calculated as follows:
[0136] Load balancing :
[0137] ;
[0138] The input power is calculated as follows:
[0139]
[0140]
[0141]
[0142] objective function value : .
[0143] Calculate the marginal increment of load balancing :Will Substitute into the formula ,get:
[0144] ;
[0145] get: ; ; .
[0146] Iterative adjustment of load distribution:
[0147] In the initial state It does not meet the criteria; because At most, the power of M3 is reduced by 0.01kW; Minimum (increasing M2 power will optimize balance), increase M2 power by 0.01kW;
[0148] After adjustment, M2 power M3 power The constraints are satisfied; after 120 iterations, The iteration terminates, resulting in the forward static load allocation sequence.
[0149] The effects of the adjustments were verified, and the total load balance was achieved. Load balancing The value decreased by 83.8% compared to the initial value; the objective function value This represents a decrease of 86.6% compared to the initial value.
[0150] In step S3, the forward static load allocation sequence for each motor generated in step S2 is... Prerequisite variable for calculation: Load change rate of each motor in adjacent time periods. This formula is used to quantify the speed of motor power adjustment and to verify ramp rate constraints; total system load fluctuation. ;in, ;
[0151] For each time period Each motor Determine whether the ramp rate constraint is met:
[0152] ;
[0153] If there is any motor If the formula is not satisfied, then mark the current time period. This period, which is considered an infeasible time for power ramping, is denoted as... ;
[0154] when When a load mutation condition is triggered, distinguish between normal load fluctuations and drastic changes, and verify the following two sub-constraints in parallel:
[0155] Sub-constraint 1 (Response Delay Constraint): (For all motors) (Should be satisfied simultaneously)
[0156] Sub-constraint 2 (System Total Ramp Capacity Constraint): This ensures that the overall response capability of the multi-motor collaboration can cover the demands of sudden load changes;
[0157] If any sub-constraint is not satisfied, then the current time period t is marked as an infeasible time period for the mutation response, denoted as . .
[0158] Infeasible period , By merging the sets, we obtain the total set of infeasible time periods: It records the failure type (climbing failure / sudden change response failure) for each infeasible period, providing a targeted basis for subsequent backward correction; it also outputs the feasibility status label (feasible / climbing failure / sudden change response failure) for each period and the total set of infeasible periods. and a list of corresponding failure types;
[0159] like If the set is empty, it means that the forward static scheme satisfies the dynamic constraints, and we proceed directly to step S5. If the set is not empty, the backward backtracking correction in step S4 is triggered.
[0160] In practice, an industrial robot joint system driven by three permanent magnet synchronous motors was used as the experimental object to verify the effectiveness of this step.
[0161] The experimental parameters are set as follows: Number of motors Overall scheduling period (time interval) Total scheduling time 10s), load mutation threshold Response latency threshold Motor 1 climbing rate Motor 2 Climbing Rate 3. Motor climbing speed Motor response delay Motor 1 takes 10ms, Motor 2 takes 8ms, and Motor 3 takes 12ms.
[0162] The design incorporates a load sequence containing normal fluctuations plus two dramatic mutations:
[0163] Period 1-30: Normal load fluctuations, Stable at 15-20kW;
[0164] Period 31: Sudden load increase (Exceeding the threshold of 5kW);
[0165] Periods 32-60: Load fluctuations recover to 20-25kW;
[0166] Period 61: Sudden load increase (Exceeding the threshold of 5kW);
[0167] Period 62-100: Load drops back to 15-20kW.
[0168] The product generated in step S2 Substituting the values into the verification process, the results are as follows:
[0169] The results of the ramp rate verification are as follows:
[0170] Time period 31: Motor 2 ,determination Time period 61: Motor 2 ,determination During other periods: all motors meet the ramp rate constraint.
[0171] The results of the load mutation response constraint verification are as follows:
[0172] Time period 31: Triggering conditions are met ( )
[0173] Sub-constraint 1: All motors Satisfying sub-constraint 2: ; ,because Sub-constraint 2 is not satisfied, therefore, the decision is made. ;
[0174] Time period 61: Triggering conditions are met ( Sub-constraint 1 is satisfied; Sub-constraint 2: If not satisfied, then judge. .
[0175] The final set of infeasible time periods is as follows:
[0176] , , (Two types of failures are triggered simultaneously in two time periods); the verification result triggers the backward correction in step S4.
[0177] Results Analysis: This step accurately identified two dynamic infeasibility periods and clarified the failure type as "climbing failure + sudden response failure", which pointed out the direction for backward correction - it is necessary to release the climbing margin for motor 2 and improve the overall climbing capability of the system, thus verifying the effectiveness and accuracy of this step.
[0178] Please see Figure 3 As shown, the specific process of dynamic margin release and load redistribution in step S4, involving finite-depth backward backtracking, is as follows:
[0179] Step S41, Correction trigger judgment: Input the set of infeasible time periods obtained in step S3. Static load distribution sequence Motor parameters ( ),like Initiate backward correction; if If not, skip this step; Initialization parameters: Set the maximum backtracking depth (Engineering Values) Convergence accuracy (Load balance fluctuation threshold)
[0180] Step S42, Determining the scope and target time period for backtracking: For each infeasible time period Determine the time frame for retrospective analysis: In the formula, For the time period sequence number; by adjusting The load allocation during the time period releases dynamic margin, ensuring that the corrected time period t meets dynamic constraints (climbing rate + load change response constraint).
[0181] The rules are as follows: Priority is given to... Begin by working backwards, gradually expanding the scope of the backtracking process. This avoids a surge in computational load caused by a one-time, full-time backtracking;
[0182] Step S43, Calculation of motor release margin during the retrospective period: For each period within the retrospective range... For each motor i, calculate the release dynamic margin. This margin characterizes the motor's performance. The maximum additional power that can be carried during a given time period is calculated using the following formula:
[0183] ;
[0184] In the formula, For the motor in The power margin for the time period ensures that the adjusted power does not exceed the rated upper limit. The motor is The ramp margin within a time period ensures that the power adjustment rate does not exceed its own ramp capacity. The minimum of the two values is taken to ensure that the margin release satisfies both static power constraints and dynamic ramp constraints.
[0185] Step S44, Prioritizing Margin Allocation: Prioritizing the backtracking period. Calculate the real-time load rate for each motor. As the basis for prioritizing margin allocation, the specific formula is as follows:
[0186] ;
[0187] Motors with low load rates have greater power adjustment margin. Prioritizing the allocation of power margin can prevent heavy-load motors from being further overloaded, balancing load balance and dynamic feasibility. The sorting rule is the actual load rate. The lower the margin, the higher the priority of margin allocation;
[0188] Step S45, Load redistribution calculation: Based on the priority ranking results, during the backtracking period... Redistribute the load and generate a corrected load sequence. Prioritize allocating margin to motors with low load rates, and gradually adjust the time period t to meet dynamic constraints;
[0189] Step S46, Dynamic Constraint Recheck: The corrected load sequence... Substitute the dynamic constraint verification algorithm from step S3;
[0190] Step S47, Correction Termination Judgment: Terminate the current time period if any of the following conditions are met. Correction:
[0191] After correction The backtracking range has reached its maximum depth. Load balancing fluctuations .
[0192] In specific implementation, the experimental object of the industrial robot joint system driven by three permanent magnet synchronous motors in step S3 is used, and correction and verification are carried out for the infeasible time period t=31:
[0193] The initial state of the infeasible period (t=31) is shown in the table below:
[0194] motor Is it beyond the limit? 1 8 10.5 25 yes 2 6 7.8 18 yes 3 12 15 30 yes
[0195] The table shows the system's total ramp-up capability. Load mutation requirements The gap is enormous.
[0196] The backward correction process is as follows:
[0197] Step 1: Determine the scope of the backtracking: Retrospective period Priority from Start calibration.
[0198] Step 2: Calculate the time margin and priority for k=30:
[0199] motor Sort 1 8 15 0.53 0.25 7 0.25 2 2 6 10 0.6 0.18 4 0.18 3 3 12 20 0.6 0.3 8 0.3 1
[0200] As can be seen from the table above, the priority is: Motor 3 (load rate 0.6, margin 0.3) > Motor 1 > Motor 2;
[0201] Step 3, Load Redistribution and Constraint Review: Prioritize allocating the margin during the k=30 time period to motor 3, gradually adjusting to... Time period, after correction The time period load sequence is as follows:
[0202] motor Does it meet the requirements? 1 8.25 8.5 2.5 yes 2 6.18 6.36 1.8 yes 3 12.3 12.6 3.0 yes
[0203] Total load balancing The constraints are satisfied;
[0204] Total system climbing capacity: Adjustments were made in different time periods (backtracking). (further releasing margin) to ultimately meet the load mutation response requirements.
[0205] Step 4, Correction Results: After correction Correction successful, load balancing The value was reduced from 0.28 to 0.06, balancing dynamic feasibility and equilibrium.
[0206] This step, through finite depth backtracking and low load margin priority allocation, solves the problem by optimizing load allocation only during the k=28-30 period without adjusting the overall load. The dynamic infeasibility issue during specific time periods was addressed. Compared to global optimization across all time periods, computation time was reduced by 60%, while load balancing improved by 78.6%, validating the efficiency and practicality of this step.
[0207] In step S5, during multi-motor collaborative execution and real-time data feedback, This is converted into torque and speed commands for the motors, controlling the coordinated operation of multiple motors and collecting the actual output power of the motors in real time. Calculate the correction deviation ,like This triggers a secondary correction.
[0208] Specifically, step 1, pre-execution parameter initialization and threshold setting: Basic parameter initialization is completed during the system's first startup to provide a basis for subsequent deviation judgment and instruction conversion. Initialization includes:
[0209] Motor body parameters: Rated power Rated speed Rated torque (Same as step S1, reuse to avoid duplicate data collection);
[0210] Execution parameters: motor controller communication protocol command format, torque / speed command mapping coefficient, sensor data acquisition frequency. ;
[0211] Deviation judgment threshold: maximum allowable load deviation (In engineering practice, the rated power of the motor is used) (Balancing fault tolerance and control accuracy) Secondary correction trigger delay (To avoid frequent corrections caused by transient interference, take...) );
[0212] Initialize variables: Actual output power buffer array Deviation cache array Secondary calibration trigger flag (Initially) ).
[0213] Step 2, Optimize Load Value: Execute the following instructions on the motor: The corrected load distribution value output in step S4... (Power dimension) is converted into torque command that can be directly recognized by the motor controller. or rotation speed indicator (The core execution dimension of motor control) The conversion must follow the physical relationship of motor power-torque-speed, while also meeting the motor's rated constraints. Torque commands are preferred (torque control has better load balancing in multi-motor collaborative drives). If the system is a speed synchronization scenario, speed commands are used. After command conversion, rated constraints need to be trimmed to ensure that the command does not exceed the motor's physical limits and to avoid hardware damage.
[0214] Step 3: Online execution of multi-motor collaborative drive: Based on industrial buses (such as CANopen, Profinet, EtherCAT, adapted to the real-time collaborative needs of multiple motors), torque / speed reference commands are sent to the servo controllers / inverters of each motor to realize synchronous collaborative execution of multiple motors.
[0215] Step 4: Real-time sensing and filtering of actual operating data of multiple motors: While the motors are executing reference commands, the actual operating data of each motor is synchronously collected through a multi-sensor fusion acquisition system (torque sensor, speed sensor, current sensor) similar to that in step S1. The process is consistent with the dynamic load sensing in step S1, but the acquisition frequency is higher (to ensure real-time feedback). Specifically:
[0216] Raw data acquisition, synchronous acquisition of motor data Real-time actual torque Real-time actual speed Real-time output current ;
[0217] Actual power calculation: Converting torque / speed into actual output power using physical formulas. ;
[0218] Real-time filtering to remove interference: The improved Kalman filter algorithm from step 1 is used to filter the raw actual power, eliminating interference such as sensor noise and power grid fluctuations, and obtaining accurate actual effective power. (Subsequent deviation calculations are all based on the filtered values to avoid spurious deviations).
[0219] Step 5, Load Execution Deviation Calculation and Multi-Dimensional Judgment: Based on the filtered actual power and the corrected reference load value, the single-motor load deviation and the system global deviation are calculated, and a delayed continuous judgment is performed (to avoid false triggering caused by instantaneous interference). This is the core judgment step of this process, specifically:
[0220] Single motor instantaneous deviation calculation: Calculate the real-time load execution deviation for each motor;
[0221] System global deviation calculation: Calculate the average deviation of all motors to characterize the overall execution accuracy of the system;
[0222] Deviation continuity determination: If the deviation of a single motor or the global deviation exceeds the threshold for multiple consecutive cycles (duration ≥ secondary correction trigger delay). If the deviation is determined to be a valid deviation, the secondary correction trigger flag is set; if the deviation is within the threshold, the flag is cleared and the current instruction is maintained.
[0223] Step 6, Secondary Correction Trigger and Unbiased Continuous Execution: Based on the deviation determination result, two branch logics are executed to achieve a closed loop of "execution-feedback-correction":
[0224] Unbiased branch: If (If the deviation is within the allowable range), continue to issue the current reference command, maintain the coordinated operation of multiple motors, return to link 4 to continue real-time sensing, and enter the next cycle;
[0225] Secondary correction branch: If (The deviation is the effective deviation; if it exceeds the threshold and remains within the acceptable range), a secondary correction trigger signal is immediately generated, which will be the actual power at the current moment. Deviation value Current system total load As input parameters, the finite-depth backward correction algorithm in step S4 is triggered to redistribute the margin and load, generate a new corrected load value, and use the new value as the new reference instruction for this step, replacing the original instruction for continued execution. The new load value generated after the second correction will go through the process of "instruction conversion → collaborative execution → perception feedback → deviation judgment" again until the deviation falls back to within the threshold, achieving accurate tracking of load distribution.
[0226] In practice, a real-world engineering scenario of variable load operation of an industrial robot joint is simulated. Slight sensor noise (±0.1kW) and instantaneous power grid interference (0.5kW power fluctuation in motor 2 at t=31.05s) are introduced to verify the instruction conversion accuracy, interference suppression capability, and deviation judgment accuracy of this step, avoid accidental triggering of secondary correction due to instantaneous interference, and verify the secondary correction triggering logic of effective deviation.
[0227] This embodiment is implemented in real-time loop cycle (0.1s / cycle), and records the execution data at three key moments t=31.0s, 31.1s, and 31.2s, corresponding to 3 loops, which fully covers the deviation judgment and secondary correction trigger logic.
[0228] Time 1: (First loop, no interference)
[0229] Instruction conversion: By formula Convert the reference load value into a torque command (rated speed). Then motor 1: ( (Satisfying constraints); Motor 2: ( (Satisfying constraints); Motor 3: ( (Constraints are met). EtherCAT synchronously sends torque commands, and each motor controller tracks the commands; actual torque and speed are collected, actual power is calculated and filtered (no interference, the filtered value is consistent with the actual value):
[0230] Motor 1: Motor 2: Motor 3: ;
[0231] According to the formula All calculated deviations are within the threshold:
[0232] Single motor deviation: ; ; Global average deviation: .
[0233] The deviation is within the threshold. , No secondary correction is triggered; the current command is maintained.
[0234] Time 2: (During the second cycle, motor 2 experienced a momentary power grid interference.)
[0235] Command transition: Maintain the torque command from the previous moment, no adjustment;
[0236] Collaborative execution: Motor 2 is affected by power grid interference, resulting in slight fluctuations in actual torque;
[0237] Actual sensing and filtering: Data acquisition and filtering (suppressing 0.1kW sensor noise, retaining 0.5kW interference):
[0238] Motor 1: Motor 2: Interference caused a power drop of 0.5kW), motor 3: ;
[0239] Deviation calculation: Motor 2 deviation exceeds the threshold, other motors are normal: Single motor deviation , ; Global average deviation: It was determined that there was an excessive deviation. (Not achieved) ), Secondary correction will not be triggered for now.
[0240] Time 3: (Third cycle, interference continues, effective bias)
[0241] Command conversion: Maintain the original torque command;
[0242] Coordinated execution: The power grid interference with motor 2 continues, and its power has not been restored;
[0243] Actual perception and filtering: Actual power after filtering: Motor 1: Motor 2: Motor 3: ;
[0244] Deviation calculation: Motor 2 deviation continues to exceed the standard:
[0245] Single motor deviation The other motors are normal;
[0246] Global average deviation: .
[0247] Deviation judgment: Deviation exceeding the standard continues (reached) This is considered a valid deviation. ;
[0248] Secondary calibration trigger: Position trigger signal The current actual power (motor 1 = 8.46kW, motor 2 = 5.80kW, motor 3 = 12.60kW), deviation value (motor 2 = 0.56kW), and total load (27.46kW) are used as inputs to trigger the secondary correction algorithm in step S4.
[0249] In step S6, steps S1-S5 run continuously in a real-time loop to ensure real-time control of multi-motor coordination. Each iteration cycle... At the end, a global snapshot is taken of the running data from steps S1 to S5, the core data within this cycle is extracted and stored in the historical data cache; the corrected load value from the previous iteration cycle is then stored. As the initial reference value for the next iteration cycle, the continuity of the scheduling scheme is ensured, and load changes caused by parameter updates are avoided. After each iteration cycle, performance evaluation indicators are calculated based on historical data from the sliding statistical window.
[0250] Specifically, based on the set rolling optimization cycle Using a time window, the entire process from step 1 (parameter initialization and dynamic load awareness) to step 5 (cooperative execution and real-time feedback) is executed non-interruptedly in a rolling manner. The core execution rule is:
[0251] Online real-time loop (cycle) of steps S1-S5 ) Continuous operation ensures real-time control of multi-motor coordination; the rolling iteration (cycle) of this step It executes in parallel in the background without interfering with real-time control in the front end; each iteration cycle At the end, a global snapshot is taken of the running data from steps S1-S5, and the core data within this cycle (number of infeasible periods, load balancing, average energy consumption, number of secondary corrections, etc.) is extracted and stored in the historical data cache; the corrected load value from the previous iteration cycle is also included. This serves as the initial reference value for the next iteration cycle, ensuring the continuity of the scheduling scheme and avoiding sudden load changes caused by parameter updates.
[0252] After each iteration cycle, based on historical data from the sliding statistical window (the most recent N iteration cycles), the three core performance evaluation indicators defined in step 1 are statistically calculated as the quantitative basis for adaptive parameter adjustment. The statistical rules are as follows:
[0253] Data update: Store the snapshot data of the current iteration cycle into the history database, and remove the earliest data that exceeds the window length N to ensure the timeliness of the data within the window;
[0254] Indicator Calculation: The proportion of infeasible periods is calculated using a unified formula. Average load balancing System average energy consumption rate Three core indicators, all of which are average values within a sliding window, to avoid the impact of single-period data fluctuations;
[0255] Indicator normalization: Convert the three indicators into normalized values in the range of [0,1] to eliminate differences in dimensions and facilitate subsequent comprehensive judgment.
[0256] Based on three core performance metrics obtained from the sliding window statistics, and matching them with preset parameter adjustment rules, the backtracking depth is dynamically optimized. and weighting coefficients The adjustment rules follow the principle of "problem-oriented and precise optimization"—adjusting the corresponding core parameters for different performance degradation issues to avoid indiscriminate global parameter changes. The specific adjustment logic is as follows:
[0257] Backtracking depth Adjustment: To address the issue of deteriorating dynamic feasibility (excessively high proportion of infeasible periods and frequent secondary corrections), adjustments were made. To improve the system's dynamic response correction capability;
[0258] Weighting coefficient Adjustments: Adjustments made to address issues of decreased load balancing or excessive energy consumption. The proportions are adjusted to achieve a dynamic balance between "equilibrium and economy";
[0259] Fine-tuning principle: The parameters are fine-tuned in steps (each adjustment step is a fixed value) to avoid system oscillation caused by large adjustments. After adjustment, the parameter boundaries set in step 1 must be met.
[0260] After completing the parameter adjustments, the updated... and The process is then deployed to the corresponding steps to achieve global iteration of the scheduling scheme, with the following execution rules:
[0261] Parameter distribution: Deploy the new backtracking depth The new weighting coefficients are then sent to step S4 (backtracking correction). Send the data to step S2 (forward static optimization) to overwrite the original parameters;
[0262] Scheme re-optimization: When the next iteration cycle starts, steps S2 and S4 will be re-executed based on the updated parameters to generate a scheduling scheme that adapts to the new operating conditions / new performance.
[0263] Closed-loop cycle: Return to step 2 and continue according to the iteration cycle. The entire process is executed in a rolling fashion, achieving a global closed-loop iteration of "execution-statistics-optimization-update-re-execution" until the system stops.
[0264] Example 2
[0265] Please see Figure 2 As shown, the present invention is a load balancing scheduling optimization system for multi-motor cooperative drive, which can be used to execute the method content of Embodiment 1 of the present invention, including: parameter initialization module, dynamic load perception module, forward static optimization module, dynamic constraint verification module, backward backtracking correction module, cooperative execution and feedback module, and iterative optimization module;
[0266] Specifically, the parameter initialization module imports the rated parameters and dynamic response characteristic parameters of n motors, providing basic data support for the entire process; parameters include rated power, rated torque, ramp rate constraint, response delay time, etc.; the dynamic load sensing module collects real-time torque and speed data of the motors through multiple sensors and calculates the real-time output power; an improved Kalman filter is used to remove interference and output accurate noise-reduced load data. The forward static optimization module aims to minimize load balancing and constructs a system with weighted coefficients. The optimization function; load allocation follows the equal marginal increment criterion, generating an initial static load allocation sequence. The dynamic constraint verification module verifies the ramp rate constraint and load change response constraint of the static scheme; it also identifies periods when power ramping is infeasible. Period when mutation response is not feasible Output the total set of infeasible time periods. The backward correction module addresses infeasible periods by applying a finite depth. Backtracking; calculate the motor release margin, allocate the margin according to load rate priority; generate the corrected load sequence. This ensures that the corrected time period meets dynamic constraints; the collaborative execution and feedback module converts the corrected load value into torque / speed commands, which are then synchronously sent to the motor controller via the industrial bus; the actual output power is collected, and the execution deviation is calculated; if the deviation exceeds the limit, the secondary correction and iterative optimization module is triggered according to the set cycle. The entire process is executed in a scrolling manner; the backtracking depth is adaptively adjusted based on historical data from the sliding window. With weighting coefficients To achieve continuous optimization of the scheduling scheme.
[0267] It is worth noting that the various units included in the above system embodiments are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be achieved; in addition, the specific names of each functional unit are only for easy differentiation and are not used to limit the scope of protection of the present invention.
[0268] Furthermore, those skilled in the art will understand that all or part of the steps in the methods of the above embodiments can be implemented by a program instructing related hardware, and the corresponding program can be stored in a computer-readable storage medium.
[0269] The preferred embodiments of the present invention disclosed above are merely illustrative of the invention. These preferred embodiments do not exhaustively describe all details, nor do they limit the invention to the specific implementations described. Clearly, many modifications and variations can be made based on the content of this specification. This specification selects and specifically describes these embodiments to better explain the principles and practical applications of the invention, thereby enabling those skilled in the art to better understand and utilize the invention. The invention is limited only by the claims and their full scope and equivalents.
Claims
1. A load balancing scheduling optimization method for multi-motor cooperative drive, characterized in that, Includes the following steps: Step S1: Initialization of Multi-Motor Drive System Parameters and Dynamic Load Sensing: Import the rated parameters and dynamic response characteristic parameters of n motors, collect real-time operating data of the motors through multi-sensor fusion, and calculate the real-time output power. and the rate of change of load at adjacent time points ; Step S2: Forward static load balancing allocation based on the improved equal-increment rate method: by defining the marginal increment of load balancing. The load is allocated using the equal marginal increment criterion to ensure that the impact of power changes in each motor on load balance is consistent, and an initial static scheduling sequence is generated. ; Step S3, Multi-motor dynamic response constraint verification and infeasible period identification: Explicitly verify ramp rate constraints and load change response constraints, and identify two types of infeasible periods; Step S4, Dynamic Margin Release and Load Redistribution via Limited-Depth Backtracking: For infeasible periods, limited-depth backtracking is triggered to release margins based on motor load rate priority. The lower the load rate of the motor, the larger the margin space that can be released. Prioritizing the allocation of margins can prevent heavy-load motors from further overloading and improve system balance. Step S5, Multi-motor Cooperative Execution and Real-time Data Feedback: The corrected load distribution value is converted into motor control commands, the actual output of the motor is collected in real time and the deviation is calculated. If the deviation exceeds the limit, a secondary correction is triggered, forming a closed-loop control of "command-execution-feedback". Step S6, Iterative Optimization and Adaptive Parameter Update: Execute steps S1-S5 in a rolling fashion according to a set period, and adaptively adjust the backtracking depth based on historical data. With weighting coefficients , This enables continuous optimization of the scheduling scheme.
2. The load balancing scheduling optimization method for multi-motor cooperative drive according to claim 1, characterized in that, In step S1, the rated parameters include the rated output power. Rated torque ,efficiency Minimum output power Maximum output power Dynamic response characteristic parameters include ramp rate constraints. Response delay time The real-time output torque of each motor is synchronously collected using torque sensors, speed sensors, and current sensors. Real-time rotation speed Real-time input current Calculate real-time output power ; An improved Kalman filter algorithm is used for... Filtering is performed to obtain the real-time load after interference removal. The filtering formula is: ; ; In the formula, for The filtered value at time step for The filtered value at time step for The filtered value at time step for The filtered value at time step For dynamic filtering gain, for Time-estimated error covariance To adjust the process noise covariance in real time according to load fluctuations; Calculate the rate of change of load between adjacent time points The specific formula is as follows: In the formula, For the perception time interval.
3. The load balancing scheduling optimization method for multi-motor cooperative drive according to claim 1, characterized in that, In step S2, an optimization function is constructed with the minimum load balancing degree as the core objective. The specific formula is as follows: ; In the formula, For load balancing, To balance the load, This refers to the motor's output power. ,and , This is the system's maximum input power. This refers to the number of motors. Define the marginal increment of load balancing Following the equilateral and equal marginal increment criterion Distribute load while satisfying static constraints Generate a forward static load distribution sequence .
4. The load balancing scheduling optimization method for multi-motor cooperative drive according to claim 1, characterized in that, In step S2, the optimal allocation sequence that satisfies the constraints is solved by an iterative method. The specific iterative steps are as follows: Step S21, Initialization: Set the iteration precision Initial allocation value Number of iterations ; Step S22: Calculate the marginal increment: According to the formula Calculate each motor ; Step S23: Determine the satisfaction of the criterion: If Then the iteration terminates. ; Step S24: Adjust power allocation: If the criteria are not met, then... Maximum motor power reduction Increase power for the smallest motor ; Step S25, Constraint Verification: After adjustment, the constraint must be satisfied. If the value exceeds the upper or lower limit, fix it to the limit value and then adjust other motors. Step S26, Iterative Update: Return to step S22 until the convergence condition is met.
5. The load balancing scheduling optimization method for multi-motor cooperative drive according to claim 1, characterized in that, In step S3, the forward static load allocation sequence for each motor generated in step S2 is... ; Prerequisite variable for calculation: Load change rate of each motor in adjacent time periods Total system load fluctuation ;in, ; For each time period Each motor Determine whether the ramp rate constraint is met: ; If there is any motor If the formula is not satisfied, then the current time period t is marked as an infeasible period for power ramp-up, denoted as . ; when At the same time, the following two sub-constraints are checked in parallel: and If any sub-constraint is not satisfied, then the current time period t is marked as an infeasible time period for the mutation response, denoted as . .
6. The load balancing scheduling optimization method for multi-motor cooperative drive according to claim 5, characterized in that, The infeasible period , By merging the sets, we obtain the total set of infeasible time periods: And record the failure type for each infeasible period; Simultaneously output the feasibility status label for each time period and the total set of infeasible time periods. and a list of corresponding failure types; like If the set is empty, it means that the forward static scheme satisfies the dynamic constraints, and we proceed directly to step S5. If the set is not empty, the backward backtracking correction in step S4 is triggered.
7. The load balancing scheduling optimization method for multi-motor cooperative drive according to claim 1, characterized in that, In step S4, the specific process of dynamic margin release and load redistribution during finite-depth backward backtracking is as follows: Step S41, Correction trigger judgment: Input the set of infeasible time periods obtained in step S3. Static load distribution sequence Motor parameters, if Initiate backward correction; if If so, skip this step; Step S42, Determining the scope and target time period for backtracking: For each infeasible time period Determine the time frame for retrospective analysis: In the formula, This refers to the sequence number of the backtracking period; by adjusting... Load allocation during time periods releases dynamic margins, ensuring that the corrected time period t meets dynamic constraints; Step S43, Calculation of motor release margin during the retrospective period: For each period within the retrospective range... For each motor i, calculate the release dynamic margin. This margin characterizes the motor's performance. The maximum additional power that can be carried during a given time period is calculated using the following formula: ; Step S44, Prioritizing Margin Allocation: Prioritizing the backtracking period. Calculate the real-time load rate for each motor. As the basis for prioritizing margin allocation, the specific formula is as follows: ; Step S45, Load redistribution calculation: Based on the priority ranking results, during the backtracking period... Redistribute the load and generate a corrected load sequence. Prioritize allocating margin to motors with low load rates, and gradually adjust the time period t to meet dynamic constraints; Step S46, Dynamic Constraint Recheck: The corrected load sequence... Substitute the dynamic constraint verification algorithm from step S3; Step S47, Correction Termination Judgment: Terminate the current time period if any of the following conditions are met. Correction: After correction The backtracking range has reached its maximum depth. Load balancing fluctuations .
8. The load balancing scheduling optimization method for multi-motor cooperative drive according to claim 7, characterized in that, In step S45, the corrected load sequence is generated. It needs to satisfy the following three constraints simultaneously: Total load balancing constraint is ; Dynamic climbing constraints are ; Margin usage constraint is .
9. A load balancing scheduling optimization method for multi-motor cooperative drive according to claim 1, characterized in that, In step S5, during multi-motor collaborative execution and real-time data feedback, This is converted into torque and speed commands for the motors, controlling the coordinated operation of multiple motors and collecting the actual output power of the motors in real time. Calculate the correction deviation ,like This triggers a secondary correction.
10. A load balancing scheduling optimization method for multi-motor cooperative drive according to claim 1, characterized in that, In step S6, steps S1-S5 run continuously in a real-time loop to ensure real-time control of multi-motor coordination. Each iteration cycle... At the end, a global snapshot is taken of the running data from steps S1 to S5, the core data within this cycle is extracted and stored in the historical data cache; the corrected load value from the previous iteration cycle is then stored. As the initial reference value for the next iteration cycle; after each iteration cycle, based on the historical data of the sliding statistical window, the performance evaluation index is calculated.