A planar motor decoupling distribution method and system with current constraint capability
By constructing a dynamic safety boundary and using an iterative optimization method, the problems of large decoupling error and insufficient real-time performance caused by neglecting current constraints in the traditional pseudo-inverse allocation method are solved, and high-precision, real-time control of the planar motor is realized.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HARBIN INST OF TECH
- Filing Date
- 2026-06-24
- Publication Date
- 2026-07-21
AI Technical Summary
Traditional pseudo-inverse allocation methods ignore the dual physical constraints of current amplitude and rate of change, resulting in large decoupling errors, easy trapping in local suboptimal solutions, and difficulty in meeting real-time requirements.
By constructing a dynamic safety boundary and using the optimal solution of the previous control cycle as the initial feasible point, an unconstrained pseudo-inverse solution is calculated. During the iterative optimization process, Lagrange multipliers and safety scaling factors are used to ensure that the current distribution is within the hardware tolerance range. An objective function containing force and torque tracking error and coil copper loss is constructed, and the dimension reduction subproblem is solved to obtain the global optimal solution.
The optimal allocation of coil current within the global feasible domain was achieved, improving the decoupling accuracy of six-degree-of-freedom forces and torques, ensuring that the algorithm's calculation path is determined and the number of iterations is controllable, and meeting the requirements of high-frequency real-time calculation.
Smart Images

Figure CN122437458A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of magnetic levitation motor motion control technology, specifically relating to a planar motor decoupling and allocation method and system with current constraint capability. Background Technology
[0002] With the continuous development of high-end manufacturing equipment, the demand for long-stroke, high-precision, six-degree-of-freedom tracking and positioning platforms is increasing. Planar motors, with their direct-drive characteristics and simplified mechanical structure, avoid the backlash and friction introduced by traditional transmission chains, and have become a key actuator for improving system control accuracy and bandwidth. However, a planar motor is essentially a nonlinear multi-input multi-output system: the current in the coil array serves as the system input, interacting with the magnetic field generated by the permanent magnet array, thereby outputting six degrees of freedom electromagnetic force and torque to drive the motion of the mover. In practical applications, the number of controllable coils often exceeds the six degrees of freedom of a rigid body, making the planar motor a typical overdrive system.
[0003] To achieve high-precision motion control, the control system needs to accurately decouple the generalized force and torque commands of the six degrees of freedom and rationally distribute them to each underlying coil. The pseudo-inverse matrix allocation method is currently the most commonly used decoupling allocation scheme due to its simple analytical form and high computational efficiency. However, this method is entirely based on mathematical solutions of kinematic or electromagnetic force linear mapping relationships and cannot handle the objective physical constraints inherent in the coil and driver hardware. Specifically, the power amplifier has a maximum output current amplitude limit (determined by hardware ratings), and the current change rate also has a clear upper limit due to the constraints of coil inductance and bus voltage. When the theoretical current command output by the decoupling algorithm exceeds these physical limits, the actual output will be forcibly truncated by the hardware, causing the electromagnetic force and torque outputs to deviate from the expected values, resulting in decoupling errors. In extreme cases, this error may accumulate and eventually lead to system malfunction.
[0004] To address the aforementioned physical constraints, some existing technologies employ heuristic redistributed pseudo-inverse (RPI) current commutation algorithms. These algorithms, upon detecting an overcurrent, adopt a greedy, one-way truncation strategy: directly setting the excess portion as the boundary value and attempting to redistribute the excess to other unsaturated coils. However, this strategy is inherently short-sighted, easily leading to erroneous coil currents prematurely entering saturation. Once saturated, these currents cannot escape in subsequent control cycles, thus falling into local suboptimal solutions. This not only significantly amplifies the force and torque decoupling error of the system, severely reducing the levitation and propulsion accuracy of the maglev motor, but also, due to the lack of theoretical guidance in its search process and the uncertainty of the computational path, makes it difficult to guarantee real-time convergence within the strict time constraints of industrial controllers.
[0005] Therefore, there is an urgent need for a coil current distribution method that can simultaneously take into account the dual physical constraints of current amplitude and rate of change, possess global optimality, and meet the requirements of high-frequency real-time calculation. Summary of the Invention
[0006] To address the problems of traditional pseudo-inverse allocation methods, which suffer from large decoupling errors, are prone to getting trapped in local suboptimal solutions, and are difficult to meet real-time requirements due to ignoring the dual physical constraints of current amplitude and rate of change and adopting a greedy truncation strategy, this invention provides a planar motor decoupling allocation method with current constraint capability.
[0007] In a first aspect, the planar motor decoupling allocation method with current constraint capability according to the present invention includes the following steps:
[0008] Step 1: Based on the preset upper limit of current amplitude and upper limit of change rate, and combined with the current value of the previous control cycle, calculate the dynamic safety boundary of each coil in the current cycle, and use the optimal solution of the previous cycle as the initial feasible point to form the dynamic safety boundary that has been reached into the initial effective working set.
[0009] Step 2: Calculate the unconstrained pseudo-inverse solution. If the pseudo-inverse solution is within the dynamic safety boundary, output it as the optimal solution; otherwise, use the initial valid working set established in Step 1 as the current valid working set, and perform iterative optimization by executing Steps 3 to 5 in sequence.
[0010] Step 3: Construct an objective function containing force and torque tracking error and coil copper loss, solve the dimension-reduced subproblem based on the current effective working set, and obtain the current search step size;
[0011] Step 4: If the search step size norm is less than the preset minimum tolerance threshold, calculate the Lagrange multipliers corresponding to the current valid working set; if all multipliers are non-negative, the current solution is the global optimal solution and is output; otherwise, determine that the current solution is a suboptimal boundary solution, remove the constraints corresponding to the negative multipliers, update the valid working set, and return to Step 3.
[0012] Step 5: If the search step size norm is not less than the preset minimum tolerance threshold, calculate the safety scaling factor to update the current vector. If the update touches a new boundary, include the boundary in the valid working set and return to Step 3.
[0013] Preferably, the specific calculation process of the dynamic safety boundary in step one is as follows: based on the upper limit of the current amplitude, the limit of the negative current amplitude, the upper limit of the current change rate, and the discrete sampling time interval of each coil at the current moment, determine the maximum and minimum current values allowed for each coil at the current moment; wherein the maximum current value is the smaller of the preset upper limit of current amplitude and the sum of the products of the current value of the previous cycle and the upper limit of the change rate and the sampling interval, and the minimum current value is the larger of the negative preset upper limit of current amplitude and the difference between the products of the current value of the previous cycle and the upper limit of the change rate and the sampling interval.
[0014] Preferably, in step three, the current iteration is denoted as the nth iteration. In the next iteration, the current coil current vector is denoted as... And the specific process of step three is as follows:
[0015] First, the system optimization objective function is constructed as follows:
[0016] ;
[0017] In the formula, To optimize the objective function of the system, The coil current vector, This is the matrix of electromagnetic force and torque coefficients. This is a six-degree-of-freedom reference force and torque command vector. The positive weighting coefficients are... This represents the operation of squaring the second norm of a vector;
[0018] Then, the objective function is calculated at the 1st... The gradient at the coil current vector in the next iteration:
[0019] ;
[0020] In the formula, For the first The gradient vector of the objective function in the next iteration. This is the transpose of the electromagnetic force and torque coefficient matrix. It is the identity matrix;
[0021] Next, the Hessian matrix of the objective function is constructed. :
[0022] ;
[0023] Finally, based on the first For the effective working set of the next iteration, solve the following reduced-dimensional equality-constrained subproblems to obtain the optimal current search step size under this effective working set. :
[0024] ;
[0025] In the formula, For the first The effective working set for the next iteration; For the first One effective constraint condition for the current search step size The normal vector, The constraint index number in the effective working set; This indicates that the constraint condition is met. It is a universal quantifier, meaning that it applies to all objects in the set.
[0026] Preferably, the current valid working set in the dimension reduction equation constraint subproblem includes the constraints that have reached the dynamic safety boundary in the i-th iteration, and the constraints include the upper limit constraint of the coil current amplitude, the lower limit constraint of the coil current amplitude, and the rate of change constraint.
[0027] Preferably, the specific method for calculating the Lagrange multipliers corresponding to the current effective working set in step four is as follows: based on the constraint normal vector and the gradient vector of the objective function in the current effective working set, calculate the Lagrange multiplier corresponding to each activation constraint to determine whether the constraint is necessary to be released at the current solution; if there is a negative Lagrange multiplier, it indicates that the corresponding constraint needs to be released; if all Lagrange multipliers are greater than or equal to zero, it is determined that the current solution satisfies the KKT (Karush-Kuhn-Tucker) optimality condition, the iteration is terminated, and the solution is output as the global optimal coil current command.
[0028] Preferably, the specific method for removing the constraints corresponding to the negative multipliers in step four is as follows: select the negative Lagrange multiplier with the smallest value, remove the boundary constraint corresponding to the multiplier from the current effective working set, thereby allowing the coil current state to slip away from the constraint boundary corresponding to the suboptimal boundary solution and into the feasible region.
[0029] Preferably, the specific process of calculating the safety scaling factor in step five is as follows: calculate the ratio of the allowable movement step size corresponding to the constraints that will touch the boundary along the search direction among all inactive constraints, select the minimum value among them and compare it with 1, and take the smaller one as the safety scaling factor, which has a value range of (0,1).
[0030] Preferably, the specific way to include the new boundary in the working set if the update touches a new boundary in step five is as follows: when the safety scaling factor is less than 1, it indicates that the current update just touches a current amplitude or rate of change boundary that has not been activated, and the newly triggered boundary constraint is included as an equality constraint in the effective working set of the next iteration.
[0031] Secondly, the planar motor decoupling distribution system with current constraint capability according to the present invention includes:
[0032] The boundary calculation and initialization module is used to calculate the dynamic safety boundary of each coil in the current cycle based on the preset upper limit of current amplitude and upper limit of change rate, combined with the current value of the previous control cycle, and use the optimal solution of the previous cycle as the initial feasible point to form the dynamic safety boundary that has been reached into an initial effective working set.
[0033] The pseudo-inverse prediction module is used to calculate the unconstrained pseudo-inverse solution. If the pseudo-inverse solution is within the dynamic safety boundary, it is output as the optimal solution; otherwise, the iterative optimization module is triggered.
[0034] The iterative optimization module is used to construct an objective function containing force and torque tracking errors and coil copper losses. Based on the current effective working set, it solves the dimension reduction subproblem to obtain the current search step size, and iteratively updates the current vector and the effective working set according to the step size norm, Lagrange multiplier sign and safety scaling factor until the global optimal solution is obtained.
[0035] The instruction output module is used to output the globally optimal coil current instruction that satisfies the dynamic safety boundary and minimizes the objective function value.
[0036] Preferably, the iterative optimization module includes:
[0037] The step size calculation unit is used to solve the dimension-reduced equality constraint subproblem to obtain the current search step size;
[0038] The optimality determination unit is used to calculate the Lagrange multipliers and determine whether the condition that all multipliers are nonnegative is satisfied.
[0039] The constraint release unit is used to remove the boundary constraints corresponding to the negative multipliers in order to update the effective working set;
[0040] The safety update unit is used to calculate the safety scaling factor and update the current vector, as well as to determine whether to trigger the activation of the new boundary constraint.
[0041] The beneficial effects of this invention are as follows: By constructing a dynamic safety boundary that includes dual constraints of current amplitude and rate of change, and using the optimal solution of the previous control cycle as the current initial feasible point, this invention overcomes the problems of traditional pseudo-inverse allocation methods ignoring physical limits and easily outputting invalid current commands, ensuring that each iteration starts within the hardware's allowable range. By introducing an effective set algorithm, when the unconstrained pseudo-inverse solution exceeds the boundary, it actively activates the contact constraint, iteratively solves the equation constraint subproblem, and releases the constraints corresponding to the negative multipliers based on the Lagrange multipliers. This solves the defects of the heuristic redistribution pseudo-inverse method, which gets trapped in local suboptimal solutions due to unidirectional greedy truncation and has large decoupling errors. It achieves the optimal allocation of coil current in the global feasible domain, significantly improving the decoupling accuracy of six-degree-of-freedom forces and torques. By calculating the current safety scaling factor, it ensures that each iteration update does not exceed the dynamic boundary and maintains the feasibility of each solution, making the algorithm's calculation path determined and the number of iterations controllable. This solves the problems of uncertain calculation time and difficulty in meeting the hard real-time constraints of industrial controllers in existing methods, thus taking into account both high-precision control and high-frequency real-time calculation while ensuring the safety of the underlying driver. Attached Figure Description
[0042] Figure 1 This is a block diagram of the overall architecture of the planar motor closed-loop control system in an embodiment of the present invention.
[0043] Figure 2 This is an overall flowchart of the planar motor decoupling allocation method with current constraint capability in an embodiment of the present invention.
[0044] Figure 3 This is a diagram showing the force and torque decoupling error distribution of the unconstrained pseudo-inverse distribution method under current over-limit conditions.
[0045] Figure 4 The diagram shows the local suboptimal solution and saturation effect caused by greedy truncation in the redistribution pseudo-inverse method.
[0046] Figure 5 The diagram shows the global optimal allocation result and error suppression effect of the method proposed in this invention under the same working conditions. Detailed Implementation
[0047] To make the above-mentioned objects, features, and advantages of the present invention more apparent and understandable, specific embodiments of the present invention will be described in detail below with reference to the accompanying drawings. Although some embodiments of the present invention are shown in the drawings, it should be understood that the present invention can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of the present invention. It should be understood that the accompanying drawings and embodiments of the present invention are for illustrative purposes only and are not intended to limit the scope of protection of the present invention.
[0048] It should be understood that the various steps described in the method embodiments of the present invention may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present invention is not limited in this respect.
[0049] The term "comprising" and its variations as used herein are open-ended, meaning "including but not limited to"; the term "based on" means "at least partially based on"; and the term "one embodiment" means "at least one embodiment". Definitions of other terms will be given in the following description. It should be noted that the concepts of "first," "second," etc., mentioned in this invention are used only to distinguish different devices, modules, or units, and are not intended to limit the order of functions performed by these devices, modules, or units or their interdependencies.
[0050] It should be noted that the terms "a" and "a plurality of" used in this invention are illustrative rather than restrictive. Those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".
[0051] The names of the messages or information exchanged between the multiple devices in the embodiments of the present invention are for illustrative purposes only and are not intended to limit the scope of these messages or information.
[0052] In related technologies, planar motors, as a high-precision, long-stroke six-degree-of-freedom motion platform, have the core advantage of generating thrust through the direct interaction between coil current and permanent magnet magnetic field, avoiding the backlash, friction, and backlash errors introduced by traditional mechanical transmission chains. However, planar motors are essentially nonlinear multi-input multi-output systems, and the number of controllable coils typically exceeds six degrees of freedom, making them typical overdrive systems. To achieve high-precision motion control, the control system needs to precisely decouple and distribute the generalized force and torque commands of the six degrees of freedom to each underlying coil. Traditional pseudo-inverse matrix allocation methods are widely used due to their simple analytical form and high computational efficiency.
[0053] However, traditional pseudo-inverse allocation methods have a fundamental flaw: they rely entirely on mathematical solutions based on kinematic or electromagnetic linear mapping relationships, completely ignoring the objective physical constraints inherent in the coil and driver hardware. Specifically, power amplifiers have a maximum output current amplitude limit, determined by hardware ratings. Once the theoretical current command exceeds this amplitude, the actual output will be forcibly truncated by the hardware. Simultaneously, constrained by both coil inductance and bus voltage, the rate of current change also has a clear upper limit; the current cannot change abruptly, and the current change within each control cycle must be controlled within physically permissible limits. When the theoretical current command output by the decoupling algorithm exceeds these physical limits, the actual output will be forcibly truncated by the hardware, causing the electromagnetic force and torque outputs to deviate from their expected values, resulting in decoupling errors. Even more seriously, some existing technologies employ heuristic redistribution pseudo-inverse commutation algorithms. After detecting an overcurrent, they adopt a greedy strategy of unidirectional truncation—directly setting the excess portion as the boundary value and attempting to redistribute the excess to other unsaturated coils. This strategy is inherently short-sighted, easily leading to premature saturation of the coil current. Once saturated, it cannot escape in subsequent control cycles, thus falling into a local suboptimal solution. This not only significantly amplifies the force and torque decoupling error of the system, severely reducing the levitation and propulsion accuracy of the maglev motor, but also, due to the lack of theoretical guidance in its search process and the uncertainty of the calculation path, makes it difficult to guarantee real-time convergence within the strict time constraints of industrial controllers. Therefore, there is an urgent need for a coil current allocation method that can simultaneously consider the dual physical constraints of current amplitude and rate of change, possess global optimality, and meet the requirements of high-frequency real-time calculation.
[0054] To address the problems existing in the aforementioned related technologies, this embodiment provides a planar motor decoupling and allocation method and system with current constraint capability.
[0055] The present invention provides a planar motor decoupling allocation method with current constraint capability, comprising the following steps:
[0056] Step 1: Based on the preset upper limit of current amplitude and upper limit of change rate, and combined with the current value of the previous control cycle, calculate the dynamic safety boundary of each coil in the current cycle, and use the optimal solution of the previous cycle as the initial feasible point to form the dynamic safety boundary that has been reached into the initial effective working set.
[0057] Specifically, this step first obtains the six-degree-of-freedom reference force and torque commands for the current control cycle from the control system, and simultaneously reads the system's preset upper limits for coil current amplitude and current change rate. The upper limit for current amplitude is determined by the rated output capability of the power amplifier and represents the absolute safety boundary of the hardware; the upper limit for current change rate is determined by the coil inductance and the bus voltage, reflecting the physical response limit of the electromagnetic drive. Simply setting static current amplitude boundaries is insufficient, because even if the current command for the current cycle does not exceed the amplitude limit, if its change relative to the previous cycle exceeds the product of the upper limit for change rate and the sampling interval, the actual output will still be truncated by hardware limitations. Therefore, this step unifies the upper limits for current amplitude and change rate into dynamic safety boundaries that vary over time: the maximum allowable current for each coil in the current cycle is the smaller of the preset upper limit for current amplitude, the current value of the previous cycle, and the product of the upper limit for change rate and the sampling interval; the minimum current is the larger of the negative preset upper limit for current amplitude and the current value of the previous cycle minus the product of the upper limit for change rate and the sampling interval. In this way, the dynamic safety boundary reflects both the absolute amplitude limit of the hardware and the physically variable range of the current within each control cycle, achieving a unified mathematical representation of dual physical constraints. Furthermore, this step extracts the optimal coil current solution from the previous control cycle as the initial feasible point for the current cycle. This "hot start" strategy leverages the continuity of coil current commands between adjacent control cycles, avoiding starting from zero in each iteration and laying the foundation for accelerated algorithm convergence. Finally, this step checks whether the initial feasible point touches the dynamic safety boundary, extracts the boundary constraints that have been touched, and forms an initial valid working set, providing a starting point for subsequent iterative optimization. Through this step, the current allocation problem of the planar motor is rigorously transformed into a quadratic programming problem with dynamic boundary constraints, laying the mathematical model foundation for subsequent global optimal solutions.
[0058] Step 2: Calculate the unconstrained pseudo-inverse solution. If the pseudo-inverse solution is within the dynamic safety boundary, output it as the optimal solution; otherwise, use the initial valid working set established in Step 1 as the current valid working set, and perform iterative optimization by executing Steps 3 to 5 in sequence.
[0059] Specifically, this step first calculates the pseudo-inverse coil current allocation solution under unconstrained conditions based on the electromagnetic force and torque coefficient matrix and the reference force and torque command. The pseudo-inverse solution is the least squares solution that minimizes the force and torque tracking error while ignoring all physical constraints; its calculation process is simple and efficient. This step then determines whether the unconstrained pseudo-inverse solution is completely within the dynamic safety boundary calculated in step one. Since the pseudo-inverse solution is the ideal solution that minimizes the tracking error, if it already satisfies all physical constraints, then it is the globally optimal solution, requiring no iterative optimization. In this case, this step directly outputs the pseudo-inverse solution as the optimal solution, achieving a "fast track" with low computational overhead. Conversely, if the pseudo-inverse solution exceeds the dynamic safety boundary, it indicates that the current command has triggered the physical limit, and the iterative optimization process must be initiated. In this case, this step uses the initial valid working set established in step one as the current valid working set, preparing to execute the iterative optimization steps three through five sequentially. This dual-path design of unconstrained prediction and constraint triggering ensures computational efficiency under normal conditions (when instructions do not exceed limits) and activates a global optimization mechanism when necessary, avoiding the inefficiency of traditional methods that perform complex calculations regardless of whether instructions exceed limits.
[0060] Step 3: Construct an objective function containing force and torque tracking error and coil copper loss, solve the dimension-reduced subproblem based on the current effective working set, and obtain the current search step size;
[0061] Specifically, this step models the current allocation problem as a quadratic programming subproblem with equality constraints. The objective function contains two terms: the first is the square of the force and torque tracking deviation, used to minimize the decoupling error of the six-degree-of-freedom force and torque, ensuring the accuracy of the mover's motion; the second is the square of the coil current penalty term, used to suppress coil copper losses and improve system energy efficiency. The two terms are balanced by positive weighting coefficients. Under the constraints of the current effective working set, this step treats the boundary constraints contained in the effective working set as strict equality constraints, i.e., forcing these constraints to remain active in the current iteration. Based on this, this step solves a dimensionality-reduced equality-constrained least squares subproblem to obtain the current search step size that minimizes the objective function under the constraints of the current effective working set. This search step size not only indicates the update direction of the current vector but also gives the optimal distance to move along that direction, making the objective function decrease the fastest while satisfying all equality constraints of the current effective working set. Through this step, the complex optimization problem originally with inequality constraints is transformed into a series of subproblems with equality constraints. Each subproblem has an analytical solution or an efficient numerical solution, thus ensuring the real-time performance of the algorithm.
[0062] Step 4: If the search step size norm is less than the preset minimum tolerance threshold, calculate the Lagrange multipliers corresponding to the current valid working set; if all multipliers are non-negative, the current solution is the global optimal solution and is output; otherwise, determine that the current solution is a suboptimal boundary solution, remove the constraints corresponding to the negative multipliers, update the valid working set, and return to Step 3.
[0063] Specifically, this step first determines whether the search step norm obtained in step three is less than the preset minimum tolerance threshold. If the search step approaches zero, it indicates that under the equality constraints of the current effective working set, the objective function can no longer decrease further, meaning the current solution is a local minimum under the constraints of the effective working set. At this point, this step calculates the Lagrange multiplier corresponding to each activation constraint in the current effective working set. The Lagrange multiplier is a dual variable, and its sign reflects the hindering property of the constraint on the optimal solution: if the Lagrange multiplier is positive or zero, it indicates that the constraint is an effective blocking boundary, and the current solution is reasonably blocked by the constraint; if the Lagrange multiplier is negative, it indicates that the constraint is actually pulling the optimal solution outward, meaning the constraint should not be activated, and the current solution is a suboptimal boundary solution. Therefore, if all Lagrange multipliers are greater than or equal to zero, the current solution is determined to satisfy the KKT optimality condition, that is, it simultaneously satisfies the original feasibility, dual feasibility, and stationarity, and is therefore a globally optimal solution. The iteration is terminated and the solution is output. If a negative Lagrange multiplier exists, it indicates that the current solution is suboptimal, and the constraint needs to be released to allow the solution to slide into the feasible region. This step selects the smallest negative Lagrange multiplier, removes the corresponding boundary constraint from the current valid working set, updates the valid working set, and returns to step three to iterate again. Through this constraint release method, the algorithm can adaptively adjust the valid working set, avoid getting trapped in local suboptimal boundary solutions, and ensure that it eventually converges to the global optimum.
[0064] The decision to terminate the iteration is made by determining whether the current solution satisfies the KKT optimality conditions. The KKT conditions are a set of necessary conditions for determining whether a feasible solution is the global optimum when solving constrained nonlinear programming problems. Specifically, for the current allocation problem in this invention, the KKT conditions include the following three core elements:
[0065] 1. Stationarity condition: This refers to the gradient of the system's objective function at the current coil current solution being expressible as a linear combination of the normal vectors of all active constraints (i.e., constraints currently touching the dynamic safety boundary). At the algorithmic level, this means that the current search step size obtained by solving the dimension-reduced subproblem is zero, indicating that the objective function cannot be further reduced under the constraints of the current effective working set.
[0066] 2. Initial Feasibility Conditions: This refers to the requirement that the obtained coil current solution must strictly satisfy or just touch the dynamic safety boundary calculated in step S1, meaning that the current commands of all coils do not exceed the hardware-allowed amplitude and rate of change limits. This is a prerequisite that is forcibly guaranteed by the safety scaling factor (step S5) in all iterative steps of this method.
[0067] 3. Dual Feasibility Condition: This refers to the condition that the Lagrange multipliers corresponding to all activation constraints in the current effective working set are greater than or equal to zero. The physical meaning of this condition is that all effective boundary constraints should act as obstacles preventing the optimal solution from moving outward, rather than as pulls causing the optimal solution to move away. When negative Lagrange multipliers exist, it indicates that the constraint actually hinders the descent of the objective function. In this case, the constraint should be removed from the effective working set to seek a better solution (corresponding to step S6).
[0068] Only when all three conditions mentioned above are met simultaneously—that is, when the search step size is zero and all Lagrange multipliers are non-negative in step S4—can the current coil current solution be determined to be the globally optimal allocation result that satisfies all hardware physical constraints. At this point, the iteration is terminated and the instruction is output. Using the KKT condition as the iteration termination criterion ensures that the allocation method proposed in this invention has strict global optimality in theory.
[0069] Step 5: If the search step size norm is not less than the preset minimum tolerance threshold, calculate the safety scaling factor to update the current vector. If the update touches a new boundary, include the boundary in the valid working set and return to Step 3.
[0070] Specifically, if step four determines that the search step size norm is not less than a preset threshold, it means that the current solution has not yet reached a local minimum, and the current vector needs to be updated along the search step size direction. However, moving directly along the optimal search step size may cause the current vector to exceed the dynamic safety boundary. To solve this problem, this step calculates a safety scaling factor. The calculation method is as follows: traverse all unactivated boundary constraints that will touch the boundary along the search direction, calculate the ratio of the maximum allowed step size for each constraint, take the minimum of these ratios and compare it with 1, and take the smaller one as the safety scaling factor. The safety scaling factor ranges from (0,1), ensuring that the updated current vector is strictly within the dynamic safety boundary or just touches the boundary. Subsequently, this step scales the search step size according to the safety scaling factor and updates the current vector. After the update, this step determines whether the update has just touched a new boundary: if the safety scaling factor is less than 1, it means that a boundary that has not yet been activated was encountered during the update process. In this case, the newly triggered boundary constraint is included as an equality constraint in the effective working set to reflect the change in the current effective working set; if the safety scaling factor is equal to 1, it means that no new boundary was touched, and the current effective working set remains unchanged. Finally, this step returns to step three and continues iterating under the new current vector and effective working set. Through this safety scaling and boundary activation method, the algorithm can maintain a feasible current solution in each iteration, and the iteration process always moves within or on the constraint boundary, avoiding the premature saturation and uncorrectable defects of traditional greedy truncation methods. At the same time, since each iteration produces a feasible solution, engineers can set the maximum number of iterations based on the actual computing power of the controller, enhancing the real-time robustness of engineering applications.
[0071] Furthermore, the specific calculation process of the dynamic safety boundary mentioned in step one is as follows: based on the upper limit of the current amplitude, the limit of the negative current amplitude, the upper limit of the current change rate, and the discrete sampling time interval of each coil at the current moment, determine the maximum and minimum current values allowed for each coil at the current moment; wherein the maximum current value is the smaller of the preset upper limit of current amplitude and the sum of the products of the current value of the previous cycle and the upper limit of the change rate and the sampling interval, and the minimum current value is the larger of the negative preset upper limit of current amplitude and the difference between the products of the current value of the previous cycle and the upper limit of the change rate and the sampling interval.
[0072] Specifically, this step provides a precise mathematical definition of the dynamic safety boundary. Let the preset upper limit of the current amplitude be... The preset upper limit of the coil current change rate is The discrete sampling time interval of the digital control system is The previous cycle The current value of each coil is Then the maximum allowable current for the current cycle. and the minimum allowable current for the current cycle They are defined as follows:
[0073] ;
[0074] in, The coil number. , This represents the total number of coils.
[0075] Constructed dynamic security boundary set for:
[0076] ;
[0077] In the formula, For the current moment The coil current vector below.
[0078] The physical meaning of this definition is that the maximum allowable current in the current cycle cannot exceed the rated preset current amplitude limit of the power amplifier. It also cannot exceed the current value of the previous cycle plus the maximum allowable change in a single step. The minimum allowable current in the current cycle must not be lower than the negative amplitude limit. It cannot be lower than the current value of the previous cycle minus the maximum allowable change per step. Through this mechanism of taking the smaller and taking the larger, the dynamic safety boundary unifies the amplitude constraint and the rate of change constraint into an interval constraint within each control cycle, providing a mathematical basis for subsequent constraint optimization.
[0079] Simultaneously, the optimal coil current solution from the previous control cycle is extracted as the initial feasible point for the current control cycle, and it is checked whether this initial feasible point touches the dynamic safety boundary. Extract the boundary constraints that have been reached and form an initial effective working set.
[0080] Furthermore, the specific process of calculating the unconstrained pseudo-inverse solution in step two is as follows:
[0081] Based on six-degree-of-freedom reference force and torque command vector and the electromagnetic force and torque coefficient matrix Calculate the pseudo-inverse coil current distribution solution under unconstrained conditions. ; Determine the unconstrained pseudo-inverse solution Whether it is completely within the dynamic security boundary Inside:
[0082] If so, it means that the current instruction has not triggered any physical limits, and the unconstrained pseudo-inverse solution is directly applied. As the optimal solution, output this solution as the global optimal coil current command;
[0083] If not, it indicates that the instruction exceeds the physical limit, and the effective set iterative optimization is initiated, proceeding to steps three through five.
[0084] Furthermore, in step three, the current iteration is denoted as the [number]th iteration. In the next iteration, the current coil current vector is denoted as... And the specific process of step three is as follows:
[0085] First, the system optimization objective function is constructed as follows:
[0086] ;
[0087] In the formula, To optimize the objective function of the system, The coil current vector, This is the matrix of electromagnetic force and torque coefficients. For the pose, the electromagnetic force and torque coefficient matrix Describes the current mover pose The electromagnetic force and torque contribution generated by the unit current in each coil are shown below. This is a six-degree-of-freedom reference force and torque command vector. The positive weighting coefficients are... This represents the operation of squaring the second norm of a vector;
[0088] Then, the objective function is calculated at the 1st... The gradient at the coil current vector in the next iteration:
[0089] ;
[0090] In the formula, For the first The gradient vector of the objective function in the next iteration. This is the transpose of the electromagnetic force and torque coefficient matrix. It is the identity matrix;
[0091] Next, the Hessian matrix of the objective function is constructed. :
[0092] ;
[0093] Finally, based on the first For the effective working set of the next iteration, solve the following reduced-dimensional equality-constrained subproblems to obtain the optimal current search step size under this effective working set. :
[0094] ;
[0095] In the formula, For the first The effective working set for the next iteration; For the first One effective constraint condition for the current search step size The normal vector, The constraint index number in the effective working set; This indicates that the constraint condition is met. It is a universal quantifier, meaning that it applies to all objects in the set.
[0096] Specifically, this step formalizes the current distribution problem of a planar motor into a strictly convex quadratic programming problem. The first term in the objective function... This is the sum of squares of the force and torque tracking deviations, reflecting the error between the actual electromagnetic force and torque generated by the current command and the desired command. By minimizing this term, the algorithm can accurately track the six-degree-of-freedom force and torque commands. This is the second term in the objective function. It is the sum of the squares of the coil currents multiplied by a positive weighting factor. This is then used as a penalty term to suppress excessive current, reduce coil copper losses, and improve system efficiency. The balance between the two terms is determined by a weighting coefficient. adjust: The larger the value, the heavier the copper loss penalty, but the tracking error may increase. The smaller the value, the higher the tracking accuracy, but the current may be too high. In practical applications, Usually, a small positive number is chosen (e.g.) To ensure tracking accuracy is prioritized, the Hessian matrix is used. It is the second derivative of the objective function, since It is a positive semi-definite matrix, plus ( After the value >0, the Hessian matrix becomes a positive definite matrix, ensuring that the objective function is a strictly convex function, thus guaranteeing the existence of a unique global optimum. The dimensionality reduction equality constraint subproblem treats the boundary constraints in the current effective working set as strict equality constraints, forcing these constraints to remain active in the current iteration. This subproblem is an equality-constrained convex quadratic programming problem with a closed-form solution, which can be efficiently obtained by solving a system of linear equations. In this way, this step transforms the original inequality-constrained optimization problem into a series of equality-constrained subproblems, each with a definite analytical solution, avoiding the inefficiency of blind search in traditional methods and providing an algorithmic foundation for high-frequency real-time control.
[0097] Furthermore, the current valid working set in the dimensionality reduction equality constraint subproblem includes the first... The constraints that have been reached in this iteration include the upper limit constraint of the coil current amplitude, the lower limit constraint of the coil current amplitude, and the rate of change constraint.
[0098] Specifically, the current effective work set This is the set of all activated constraints in the current iteration. In the effective set algorithm, the current effective working set plays a proactive role in constraint management: constraints in the current effective working set are treated as equality constraints and are enforced in the current subproblem solution; constraints outside the current effective working set are temporarily ignored and checked for violations after the solution is completed. This step further limits the types of constraints in the effective working set, including the upper limit constraint on coil current amplitude (i.e., ... ), lower limit constraint of coil current amplitude (i.e. And the rate of change constraint. The rate of change constraint is implicitly included in the amplitude upper and lower limits through the definition of the dynamic safety boundary. Therefore, in actual implementation, the effective working set directly records the coil index that reaches the maximum or minimum allowable current value for the current cycle. For example, if the... The current current value of each coil is exactly equal to the maximum allowable current value for the current cycle. Then the corresponding upper bound constraint is activated, and its normal vector... In the corresponding number One component is +1 (for upper bound constraints) or -1 (for lower bound constraints), and the rest are zero. By managing the current effective working set, the algorithm can systematically explore combinations of constraint boundaries, avoid local suboptimal solutions caused by greedy truncation, and ensure that the final solution satisfies the KKT optimality conditions.
[0099] Furthermore, the specific method for calculating the Lagrange multipliers corresponding to the current effective working set in step four is as follows: based on the constraint normal vector and the gradient vector of the objective function in the current effective working set, calculate the Lagrange multiplier corresponding to each activation constraint to determine whether the constraint is necessary to be released at the current solution; if there is a negative Lagrange multiplier, it indicates that the corresponding constraint needs to be released; if all Lagrange multipliers are greater than or equal to zero, it is determined that the current solution satisfies the KKT optimality condition, the iteration is terminated, and the solution is output as the global optimal coil current command.
[0100] Specifically, Lagrange multipliers are dual variables introduced when solving constrained optimization problems, and their magnitudes reflect the "impedance" of the constraint on the optimal solution. In the current solution... If the current active work set The Lagrange multiplier corresponding to a certain activation constraint in A positive value indicates that the constraint actively prevents the solution from moving towards a better direction, and the current solution is reasonably trapped by the constraint; a negative value indicates that although the constraint is activated, it does not actually prevent the solution from moving towards a better direction; if the value is zero, it indicates that the constraint is activated but does not actually prevent the solution from moving towards a better direction. A negative sign indicates that the current solution is incorrectly trapped by the constraint—releasing the constraint allows the solution to move further into the feasible region and further reduce the objective function value. Therefore, the sign of the Lagrange multiplier is the core criterion for the dual feasibility of KKT: all multipliers being non-negative is a necessary condition for the solution to be globally optimal. This step, by calculating the multipliers and checking their signs, can accurately determine whether the current boundary solution is globally optimal or requires constraint release, thus avoiding the defect of greedy algorithms where saturation is never addressed.
[0101] Furthermore, the specific method for removing the constraints corresponding to the negative multipliers in step four is as follows: select the negative Lagrange multiplier with the smallest value, remove the boundary constraint corresponding to the multiplier from the current effective working set, thereby allowing the coil current state to slip away from the constraint boundary corresponding to the suboptimal boundary solution and into the feasible region.
[0102] Specifically, when a negative Lagrange multiplier is detected, this step selects the constraint corresponding to the smallest negative multiplier (i.e., the most negative multiplier) for release. The reason for choosing the most negative multiplier is that this constraint most severely hinders the descent of the objective function, and releasing it yields the fastest descent. Geometrically, the constraint normal vector corresponding to the negative multiplier forms an obtuse angle with the gradient direction of the objective function, meaning the boundary normal direction of this constraint is opposite to the gradient direction, indicating that the constraint is pushing the solution outward from the feasible region. After releasing this constraint, the solution can slide along the gradient descent direction and enter the feasible region, thereby obtaining a better objective function value. Through this constraint release method, the algorithm can adaptively adjust the effective working set, gradually approaching the active boundary combination where the global optimum is located, avoiding the local suboptimal problem caused by the fixed boundary combination in traditional truncation methods.
[0103] Furthermore, the specific process of calculating the safety scaling factor in step five is as follows: calculate the ratio of the allowable movement step size corresponding to the constraints that will touch the boundary along the search direction among all inactive constraints, select the minimum value among them and compare it with 1, and take the smaller one as the safety scaling factor. The value range of this factor is (0,1).
[0104] Specifically, in obtaining the search step size Subsequently, if the current vector is updated directly at this step size, some currently inactive constraints may be violated, meaning the current may cross its dynamic safety boundary. To prevent this, a safety scaling factor is introduced in this step. For each inactive constraint (i.e., a constraint that has not yet reached its boundary), if along the search direction... Moving the constraint will bring it closer to the boundary (i.e., If the value is greater than 0, then the ratio of the distance from the current current value to the constraint boundary to the projection of the search step size onto the constraint normal is calculated to obtain the maximum allowable step size coefficient under that constraint. The minimum of this ratio among all inactive constraints is taken, and then compared with 1; the smaller value is taken as the safety scaling factor. In this way, the safety scaling factor ensures that regardless of the search step size, the updated current vector will not cross any dynamic safety boundaries. If =1 indicates that the search step size itself is safe, and no new boundaries have been touched; if A value less than 1 indicates that the algorithm will encounter a new boundary before reaching the end of the search step, and the update will stop at that boundary. This mechanism ensures that the algorithm maintains the feasibility of the solution throughout the iteration process, avoiding the accuracy loss caused by forced truncation due to boundary overflow in traditional methods.
[0105] Calculate the coil current safety scaling factor using the following formula:
[0106] ;
[0107] In the formula, This is the safety scaling factor for the coil current in the k-th iteration. For the first The physical boundary value of the coil current corresponding to each non-activated constraint;
[0108] Simultaneously, ensure that the updated coil current does not exceed the dynamic safety boundary as it moves along the search step size, and update the coil current vector accordingly. Determine whether this update operation happens to trigger a new current amplitude or rate of change boundary: The current state in the k-th iteration and the state in the k-th iteration are respectively The coil current vector after the next iteration.
[0109] Furthermore, the specific method for including a new boundary in the effective working set if the update touches a new boundary in step five is as follows: when the safety scaling factor is less than 1, it indicates that the current update just touches a current amplitude or rate of change boundary that has not been activated, and the newly triggered boundary constraint is included as an equality constraint in the effective working set of the next iteration.
[0110] Specifically, when the safety scaling factor When the value is less than 1, it means that the current update will encounter a new constraint boundary before reaching the end of the search step, and the updated current vector will be located exactly on that boundary. In this case, the newly triggered boundary constraint should be activated, i.e., included in the effective working set of the next iteration. This is because the constraint has become an equality constraint at the current solution and may continue to affect the position of the optimal solution in subsequent iterations. Through this "boundary activation" mechanism, the algorithm can dynamically expand the effective working set, incorporating newly encountered constraints, complementing the aforementioned "constraint release" mechanism, and jointly driving the effective working set to converge towards the active boundary combination corresponding to the global optimal solution.
[0111] Combination Figure 2 As shown, the complete process of the planar motor decoupling allocation method with current constraint capability in this embodiment is as follows:
[0112] S1: Input force and torque commands and current position and attitude, calculate dynamic constraint boundaries;
[0113] The system acquires the six-degree-of-freedom reference force and torque commands for the current control cycle, as well as the real-time position and attitude of the planar motor's mover. Based on the preset upper limits of coil current amplitude and rate of change, combined with the coil current values and discrete sampling time intervals from the previous control cycle, the system calculates the dynamic safety boundaries for each coil in the current cycle, i.e., the maximum and minimum allowable current values for each coil at the current moment. Simultaneously, the optimal coil current solution from the previous cycle is used as the initial feasible point for the current cycle, providing initial values for hot-start optimization in subsequent iterations.
[0114] S2: Calculate the unconstrained pseudo-reverse current distribution solution;
[0115] Based on the electromagnetic force and torque coefficient matrix and the reference force and torque commands, the pseudo-inverse coil current distribution solution under unconstrained conditions is calculated. This solution is a least-squares solution that minimizes the force and torque tracking error while neglecting all physical constraints.
[0116] S3: Determine whether the constraints are met;
[0117] Determine whether the unconstrained pseudo-inverse solution calculated by S2 is completely within the dynamic safety boundary calculated by S1:
[0118] If so, it means that the current force and torque commands have not triggered any physical limits. At this time, the unconstrained pseudo-inverse solution is itself the global optimal solution, and we directly jump to the output of S11.
[0119] If not, it means that the current instruction exceeds the physical constraints of the hardware, and an iterative optimization process needs to be initiated, entering S4.
[0120] S4: Initialize the valid working set;
[0121] The initial valid working set established in S1 is used as the current valid working set. This valid working set contains the constraints that have reached the dynamic safety boundary at the current solution, and these constraints will be treated as equality constraints in subsequent iterations.
[0122] S5: Calculate the gradient of the objective function for constrained current distribution;
[0123] A system optimization objective function incorporating force and torque tracking errors and coil copper losses is constructed, and the gradient vector of this objective function at the current coil current vector is calculated. The direction of the gradient vector indicates the direction of the fastest descent of the objective function, providing a basis for calculating the subsequent search step size.
[0124] S6: Solve the equality constraint subproblem and calculate the optimal search step size;
[0125] Based on the current effective working set, the boundary constraints contained in the effective working set are regarded as strict equality constraints. The dimensionality-reduced equality constraint least squares subproblem is solved to obtain the optimal current search step size that makes the objective function decrease the fastest under the constraints of the current effective working set.
[0126] S7: Determine if the search step size is zero;
[0127] Determine whether the norm of the optimal search step size calculated by S6 is less than the preset minimum tolerance threshold:
[0128] If the search step norm approaches zero, it means that under the equality constraints of the current effective working set, the objective function can no longer decrease further. That is, the current solution is a local minimum under the constraints of the effective working set. At this time, we enter S8 to determine the optimality.
[0129] If the search step norm is not zero, it means that the current solution has not yet reached a local minimum. The current vector needs to be updated along the search direction, and the process jumps to S10 for safe scaling update.
[0130] S8: Calculate the Lagrange multipliers;
[0131] Calculate the Lagrange multiplier for each activation constraint in the current effective working set. The Lagrange multiplier is a dual variable, and its sign reflects the hindering property of the constraint on the optimal solution: a positive multiplier indicates that the constraint is an effective hindrance boundary, and a negative multiplier indicates that the constraint should not be activated and the current solution is a suboptimal boundary solution.
[0132] S9: Determine whether all multipliers are non-negative;
[0133] Determine whether all Lagrange multipliers calculated by S8 are greater than or equal to zero:
[0134] If so, the current solution is determined to satisfy the KKT optimality condition, which is the global optimal solution, and the process jumps to S11 for output;
[0135] If a negative Lagrange multiplier exists, the current solution is determined to be a local suboptimal boundary solution, and the corresponding constraints need to be released to proceed to S10.
[0136] S10: Constraint release or security update;
[0137] This step performs different operations depending on the entry conditions:
[0138] If entering from S9 (where a negative multiplier exists): Eliminate the boundary constraint corresponding to the smallest negative Lagrange multiplier, remove this constraint from the current valid working set, thereby allowing the coil current state to slip out of this suboptimal boundary and into the feasible region. Then return to S5 to continue iteration.
[0139] If entering from S7 (search step size not zero): Calculate the current safety scaling factor. This factor is obtained by iterating through all inactive constraints that will touch the boundary along the search direction, taking the smaller of the minimum allowable step size ratio and 1, with a value range of (0,1). Update the coil current vector after scaling the search step size according to the safety scaling factor. If the safety scaling factor is less than 1, it means that a new boundary has been touched during the update process; in this case, the newly triggered boundary constraint is included in the valid working set. Then return to S5 to continue iteration.
[0140] S11: Output global optimal current command;
[0141] The system outputs the globally optimal coil current command that satisfies the dynamic safety boundary and minimizes the overall system cost, and sends it to the underlying power driver for execution.
[0142] Combination Figure 1 As shown, this embodiment of the invention also provides a planar motor decoupling distribution system with current constraint capability. The system includes: a position closed-loop controller, a current distribution module, a low-level power driver, a planar motor, a laser displacement sensor, and a pose calculation module.
[0143] Among them, the planar motor includes a coil array, which is a component of the planar motor.
[0144] The position closed-loop controller calculates the six-degree-of-freedom reference force and torque commands based on the real-time pose feedback of the mover, and outputs them to the current distribution module.
[0145] The current distribution module is the specific implementation carrier of the method described in this invention. It is used to receive the six-degree-of-freedom force and torque commands output by the position closed-loop controller, execute the decoupled distribution algorithm with current constraint capability, calculate the optimal coil current command that satisfies the dynamic safety boundary, and output it to the underlying power driver.
[0146] The underlying power driver receives the current command output by the current distribution module, amplifies it, and drives the coil array in the planar motor to generate electromagnetic force and torque, thereby driving the mover to achieve six degrees of freedom motion.
[0147] The laser displacement sensor detects the real-time pose of the planar motor actuator and outputs the raw detection signal.
[0148] The pose calculation module receives the detection signal from the laser displacement sensor, calculates the six-degree-of-freedom pose data of the mover, and feeds it back to the position closed-loop controller to form a complete closed-loop control system.
[0149] Through the aforementioned system architecture, the position closed-loop controller, current distribution module, underlying power driver, coil array, planar motor actuator, laser displacement sensor, and pose calculation module form a closed-loop control loop. The current distribution module, through dynamic safety boundary calculation, unconstrained pseudo-inverse prediction, and effective set iterative optimization, ensures that the output current command is always within the hardware physical constraints. Simultaneously, it achieves globally optimal decoupling distribution of six-degree-of-freedom forces and torques, ultimately guaranteeing high-precision, high-real-time motion control of the planar motor system.
[0150] The current distribution module includes:
[0151] The boundary calculation and initialization module is used to calculate the dynamic safety boundary of each coil in the current cycle based on the preset upper limit of current amplitude and upper limit of change rate, combined with the current value of the previous control cycle, and use the optimal solution of the previous cycle as the initial feasible point to form the dynamic safety boundary that has been reached into an initial effective working set.
[0152] The pseudo-inverse prediction module is used to calculate the unconstrained pseudo-inverse solution. If the pseudo-inverse solution is within the dynamic safety boundary, it is output as the optimal solution; otherwise, the iterative optimization module is triggered.
[0153] The iterative optimization module is used to construct an objective function containing force and torque tracking errors and coil copper losses. Based on the current effective working set, it solves the dimension reduction subproblem to obtain the current search step size, and iteratively updates the current vector and the effective working set according to the step size norm, Lagrange multiplier sign and safety scaling factor until the global optimal solution is obtained.
[0154] The instruction output module is used to output the globally optimal coil current instruction that satisfies the dynamic safety boundary and minimizes the objective function value.
[0155] Specifically, the four modules mentioned above correspond to steps one through five and the output stage of the method, respectively. The boundary calculation and initialization module is responsible for converting the current amplitude constraint and rate of change constraint into a dynamic safety boundary and performing a hot start using the optimal solution from the previous cycle; the pseudo-inverse prediction module implements a "fast path" mechanism, directly outputting the pseudo-inverse solution when it satisfies the constraints, avoiding unnecessary iterative calculations; the iterative optimization module is the core computing unit, responsible for executing the iterative process of the effective set algorithm, including subproblem solving, optimality determination, constraint release and activation, and other operations; the instruction output module sends the final optimal current instruction to the underlying power driver. Through this modular design, the system can be flexibly deployed on different planar motor control platforms to achieve high-precision and high-real-time current distribution.
[0156] Furthermore, the iterative optimization module includes:
[0157] The step size calculation unit is used to solve the dimension-reduced equality constraint subproblem to obtain the current search step size;
[0158] The optimality determination unit is used to calculate the Lagrange multipliers and determine whether the condition that all multipliers are nonnegative is satisfied.
[0159] The constraint release unit is used to remove the boundary constraints corresponding to the negative multipliers in order to update the effective working set;
[0160] The safety update unit is used to calculate the safety scaling factor and update the current vector, as well as to determine whether to trigger the activation of the new boundary constraint.
[0161] Specifically, the iterative optimization module is further divided into four functional units, each working collaboratively to complete a full iteration. The step size calculation unit solves the equation-constrained quadratic programming subproblem based on the current effective working set and gradient information to obtain the optimal search step size. The optimality determination unit checks if the step size is zero; if it is non-zero, it proceeds to a safe update; if it is zero, it calculates the Lagrange multipliers and checks duality feasibility. The constraint release unit releases the corresponding constraints and updates the effective working set when a negative multiplier is found. The safe update unit calculates the safe scaling factor when the step size is non-zero to ensure the update does not exceed the boundary and handles the activation of new boundaries. Through this fine-grained unit division, the iterative optimization module has clear logic, strong maintainability, and is easy to implement in an embedded controller.
[0162] The present invention provides a planar motor decoupling allocation method and system with current constraint capability. By constructing a dynamic safety boundary that includes dual constraints of current amplitude and rate of change, and using the optimal solution of the previous control cycle as the current initial feasible point, it overcomes the problems of traditional pseudo-inverse allocation methods that ignore physical limits and are prone to outputting invalid current commands, ensuring that each iteration starts within the hardware's allowable range. By introducing an effective set algorithm, it actively activates contact constraints and iteratively solves the equation constraint subproblem when the unconstrained pseudo-inverse solution exceeds the boundary, and releases the constraints corresponding to the negative multipliers based on the Lagrange multipliers, it solves the problem of heuristic reallocation. The pseudo-inverse method suffers from the drawbacks of getting trapped in local suboptimal solutions and having large decoupling errors due to unidirectional greedy truncation. This method achieves the optimal allocation of coil current within the global feasible domain, significantly improving the decoupling accuracy of six-degree-of-freedom forces and torques. By calculating the current safety scaling factor, it ensures that each iteration update does not exceed the dynamic boundary and maintains the feasibility of each solution. This makes the algorithm's calculation path definite and the number of iterations controllable, solving the problems of uncertain calculation time and difficulty in meeting the hard real-time constraints of industrial controllers in existing methods. Thus, it meets the dual requirements of high-precision control and high-frequency real-time calculation while ensuring the safety of the underlying driver.
[0163] While the invention has been described herein with reference to specific embodiments, it should be understood that these embodiments are merely examples of the principles and applications of the invention. Therefore, it should be understood that many modifications can be made to the exemplary embodiments, and other arrangements can be designed without departing from the spirit and scope of the invention as defined by the appended claims. It should be understood that different dependent claims and features described herein can be combined in ways different from those described in the original claims. It is also understood that features described in conjunction with individual embodiments can be used in other described embodiments.
Claims
1. A decoupling and allocation method for a planar motor with current constraint capability, characterized in that, Includes the following steps: Step 1: Based on the preset upper limit of current amplitude and upper limit of change rate, and combined with the current value of the previous control cycle, calculate the dynamic safety boundary of each coil in the current cycle, and use the optimal solution of the previous cycle as the initial feasible point to form the dynamic safety boundary that has been reached into the initial effective working set. Step 2: Calculate the unconstrained pseudo-inverse solution. If the pseudo-inverse solution is within the dynamic safety boundary, output it as the optimal solution; otherwise, use the initial valid working set established in Step 1 as the current valid working set, and perform iterative optimization by executing Steps 3 to 5 in sequence. Step 3: Construct an objective function containing force and torque tracking error and coil copper loss, solve the dimension-reduced subproblem based on the current effective working set, and obtain the current search step size; Step 4: If the search step size norm is less than the preset minimum tolerance threshold, calculate the Lagrange multipliers corresponding to the current valid working set; if all multipliers are non-negative, the current solution is the global optimal solution and is output; otherwise, determine that the current solution is a suboptimal boundary solution, remove the constraints corresponding to the negative multipliers, update the valid working set, and return to Step 3. Step 5: If the search step size norm is not less than the preset minimum tolerance threshold, calculate the safety scaling factor to update the current vector. If the update touches a new boundary, include the boundary in the valid working set and return to Step 3.
2. The planar motor decoupling and allocation method with current constraint capability according to claim 1, characterized in that, The specific calculation process of the dynamic safety boundary mentioned in step one is as follows: Based on the upper limit of the current amplitude, the limit of the negative current amplitude, the upper limit of the current change rate, and the discrete sampling time interval of each coil at the current moment, determine the maximum and minimum current values allowed for each coil at the current moment. The maximum current value is the smaller of the product of the preset current amplitude limit, the sum of the product of the previous cycle current value and the rate of change limit, and the sampling interval. The minimum current value is the larger of the negative preset current amplitude limit, the difference between the product of the previous cycle current value and the rate of change limit, and the sampling interval.
3. The planar motor decoupling and allocation method with current constraint capability according to claim 2, characterized in that, In step three, the current iteration is denoted as the nth iteration. In the next iteration, the current coil current vector is denoted as... And the specific process of step three is as follows: First, the system optimization objective function is constructed as follows: In the formula, To optimize the objective function of the system, The coil current vector, This is the matrix of electromagnetic force and torque coefficients. This is a six-degree-of-freedom reference force and torque command vector. The positive weighting coefficients are... This represents the operation of squaring the second norm of a vector; Then, the objective function is calculated at the 1st... The gradient at the coil current vector in the next iteration: In the formula, For the first The gradient vector of the objective function in the next iteration. This is the transpose of the electromagnetic force and torque coefficient matrix. It is the identity matrix; Next, the Hessian matrix of the objective function is constructed. : Finally, based on the first For the effective working set of the next iteration, solve the following reduced-dimensional equality-constrained subproblems to obtain the optimal current search step size under this effective working set. : In the formula, For the first The effective working set for the next iteration; For the first One effective constraint condition for the current search step size The normal vector, The constraint index number in the effective working set; This indicates that the constraint condition is met. It is a universal quantifier, meaning that it applies to all objects in the set.
4. The planar motor decoupling and allocation method with current constraint capability according to claim 3, characterized in that, The current valid working set in the dimensionality reduction equality constraint subproblem includes the first... The constraints that have been reached in this iteration include the upper limit constraint of the coil current amplitude, the lower limit constraint of the coil current amplitude, and the rate of change constraint.
5. The planar motor decoupling and allocation method with current constraint capability according to claim 3, characterized in that, The specific method for calculating the Lagrange multipliers corresponding to the current effective working set in step four is as follows: Based on the constraint normal vector and the gradient vector of the objective function in the current effective working set, calculate the Lagrange multiplier corresponding to each activation constraint to determine whether the constraint is necessary to be released at the current solution; if there is a negative Lagrange multiplier, it indicates that the corresponding constraint needs to be released; if all Lagrange multipliers are greater than or equal to zero, it is determined that the current solution satisfies the KKT optimality condition, the iteration is terminated, and the solution is output as the global optimal coil current command.
6. The planar motor decoupling and allocation method with current constraint capability according to claim 3, characterized in that, The specific method for removing the constraints corresponding to the negative multipliers in step four is as follows: select the negative Lagrange multiplier with the smallest value, remove the boundary constraint corresponding to the multiplier from the current effective working set, thereby allowing the coil current state to slip away from the constraint boundary corresponding to the suboptimal boundary solution and into the feasible region.
7. The planar motor decoupling and allocation method with current constraint capability according to claim 3, characterized in that, The specific process for calculating the safety scaling factor in step five is as follows: Calculate the ratio of the allowable movement step size corresponding to the constraints that will touch the boundary along the search direction among all inactive constraints, select the minimum value among them and compare it with 1, and take the smaller one as the safety scaling factor. The value range of this factor is (0,1).
8. The planar motor decoupling and allocation method with current constraint capability according to claim 7, characterized in that, The specific method for including a new boundary in the effective working set if the update touches a new boundary as described in step five is as follows: when the safety scaling factor is less than 1, it indicates that the current update just touches a current amplitude or rate of change boundary that has not been activated, and the newly triggered boundary constraint is included as an equality constraint in the effective working set of the next iteration.
9. A planar motor decoupling distribution system with current constraint capability, characterized in that, include: The boundary calculation and initialization module is used to calculate the dynamic safety boundary of each coil in the current cycle based on the preset upper limit of current amplitude and upper limit of change rate, combined with the current value of the previous control cycle, and use the optimal solution of the previous cycle as the initial feasible point to form the dynamic safety boundary that has been reached into an initial effective working set. The pseudo-inverse prediction module is used to calculate the unconstrained pseudo-inverse solution. If the pseudo-inverse solution is within the dynamic safety boundary, it is output as the optimal solution. Otherwise, trigger the iterative optimization module; The iterative optimization module is used to construct an objective function containing force and torque tracking errors and coil copper losses. Based on the current effective working set, it solves the dimension reduction subproblem to obtain the current search step size, and iteratively updates the current vector and the effective working set according to the step size norm, Lagrange multiplier sign and safety scaling factor until the global optimal solution is obtained. The instruction output module is used to output the globally optimal coil current instruction that satisfies the dynamic safety boundary and minimizes the objective function value.
10. A planar motor decoupling distribution system with current constraint capability according to claim 9, characterized in that, The iterative optimization module includes: The step size calculation unit is used to solve the dimension-reduced equality constraint subproblem to obtain the current search step size; The optimality determination unit is used to calculate the Lagrange multipliers and determine whether the condition that all multipliers are nonnegative is satisfied. The constraint release unit is used to remove the boundary constraints corresponding to the negative multipliers in order to update the effective working set; The safety update unit is used to calculate the safety scaling factor and update the current vector, as well as to determine whether to trigger the activation of the new boundary constraint.