System and method for controlling the operation of a machine according to a task
By reformulating constraints into a higher-dimensional space to ensure intersection, the method addresses the challenge of infeasibility detection in quadratic programming problems, enabling efficient solution determination and control command generation for machines.
Patent Information
- Application Number
- JP2025516316
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-09-23
- Filing Date
- 2022-12-09
- Publication Date
- 2025-06-12
- Estimated Expiration
- 2042-12-09
AI Technical Summary
Quadratic programming problems often face challenges due to potential non-convexity and constraints, and a significant issue is the detection of infeasibility, where constraints defining different feasible sets do not intersect.
The proposed solution involves reformulating the constraints into a higher-dimensional space to ensure intersection of all possible sets defined by the constraints, allowing for the detection of infeasibility based on convergence rather than divergence, and using a lifting operation to introduce additional non-negative variables that facilitate this intersection.
This approach efficiently detects infeasibility and determines the solution of the original quadratic programming problem, enabling effective control commands for machines based on the solution obtained.
Smart Images

Figure 2025518404000001_ABST
Abstract
Description
Technical Field
[0001] The present disclosure generally relates to the control of machines, and more specifically to systems and methods for controlling the operation of a machine according to tasks.
Background Art
[0002] A quadratic programming problem is a process of solving a specific mathematical optimization problem that includes a quadratic function. Specifically, a quadratic programming problem involves optimizing (minimizing or maximizing) a multivariable quadratic function subject to constraints on variables. Quadratic programming problems arise as subproblems when solving non-linear programming problems.
[0003] Quadratic programming problems are widely used in optimization-based control and estimation methods such as model predictive control (MPC) and moving horizon estimation (MHE). One of the main advantages of these methods is that the way of incorporating the dynamic model of the system, the limitations in the form of inequality constraints, and the performance metrics in the form of cost functions is systematic. At each sampling time, the model-based predictive controller or estimator solves a multi-step dynamic optimization problem that minimizes a discrete-time description of the system dynamics and a specific cost function subject to inequality constraints. The block-sparse quadratic programming problem structure occurs in the linear formulation of prediction control and estimation or in the linear formulation that changes over time. QPs with a similar structure form subproblems in the sequential quadratic programming (SQP) method for non-linear optimal control.
[0004] For this purpose, several methods for solving quadratic programming problems have been developed. Examples of methods for solving quadratic programming problems include interior point methods, active constraint methods, extended Lagrangian methods, and conjugate gradient or gradient projection methods. However, quadratic programming problems are difficult to solve due to their potential non-convexity and constraints. To address such problems, some methods reformulate the quadratic programming problem into a different space and solve the reformulated quadratic programming problem. For example, the extended Lagrangian method solves the Lagrangian dual of the quadratic programming problem.
[0005] However, the reformulation of quadratic programming problems can address some problems, but another troublesome problem still exists. That is, the problem that the quadratic programming problem may have no feasible solution at all. Infeasibility can be caused by a situation where the constraints defining different feasible sets do not intersect. For example, a quadratic programming problem may be subject to equality constraints and inequality constraints that define two feasible sets. If these two feasible sets do not intersect, the quadratic programming problem is infeasible. Therefore, an important feature required to solve quadratic programming problems is the detection of infeasibility of quadratic programming problems. SUMMARY OF THE INVENTION
[0006] The object of some embodiments is to provide a system and method for detecting the infeasibility of an original quadratic programming (QP) problem. The original QP optimizes an objective function subject to constraints. These constraints can include equality constraints and inequality constraints. Additionally or alternatively, the object of some embodiments is to provide a system and method that can determine the solution of the original QP when the original QP is feasible. In addition, the object of some embodiments is to determine control commands for a machine based on the solution of the original QP and control the machine based on the control commands determined based on the solution of the original QP.
[0007] Some embodiments are based on the recognition that, in addition to or instead of reformulating the original QP into a different space, the constraints can be reformulated into a different space of higher dimension to ensure that all possible sets defined by the different constraints intersect at least at one point. The basic principle here is that if the optimal solution of the QP is found to be at that point, then the solution of the original QP is infeasible. Infeasibility is detected based on the convergence of iterations rather than divergence as before. Detection of feasibility based on convergence is more efficient and computationally inexpensive.
[0008] For example, some embodiments lift inequality and equality constraints by a lifting operation into a lifted space having a dimension higher than the dimension of the original space of the original QP. The lifting operation introduces additional non - negative variables such that the subspace defined by the equality constraints in the lifted space intersects the subspace defined by the inequality constraints in the lifted space, at least at the origin of the lifted space. Thus, the infeasibility of the original QP can be detected when the solution of the QP in the lifted space has a value of the additional non - negative variable equal to zero.
[0009] Various lifting operations can be used to transform the constraints from the original space to a lifted space of higher dimension. Examples of these lifting operations include multiplying the constraints by one or more additional variables that define new dimensions, affine or non - affine transformations of the constraints, and the like.
[0010] Some embodiments select a lifting operation that has a corresponding projection operation to reverse the effect of the lifting operation. For example, if the lifting operation involves multiplying a value in the original space by an additional non - negative variable, the projection operation involves dividing the value in the lifted space by the additional non - negative variable. Similarly, if the lifting operation involves adding an additional non - negative variable to a value in the original space, the projection operation involves subtracting the additional non - negative variable from the value in the lifted space.
[0011] Some embodiments are based on the recognition that in order to use the constraints in the lifted space, it is necessary to transform the original QP from the original space to the lifted space. However, the lift operation used to lift the constraints cannot be directly applied to the lifting of the objective function of the original QP. This is because the objective function has quadratic terms and linear terms. By multiplying the quadratic terms by additional non-negative variables, an objective function that is a third-degree polynomial and is no longer a quadratic programming problem is obtained. In other words, the lift operation cannot be directly applied to the original QP.
[0012] However, some embodiments are based on the recognition that regardless of the structure of the original QP lifted to the lifted space, the relationship between the optimal solution in the original space and the optimal solution in the lifted space is affected by the lift operation. Furthermore, the optimal solution, although unknown, should satisfy the first-order optimality conditions. Additionally, the lift operation for the constraints cannot be applied to the QP objective function but can be applied to the first-order optimality conditions.
[0013] Therefore, some embodiments lift the constraints to the lifted space by the lift operation and then transform the objective function of the original QP in the original space into a quadratic objective function that includes the variables of the original QP and additional non-negative variables. The quadratic objective function subject to the lifted equality and inequality constraints forms a homogeneous QP in the lifted space such that the first-order optimality conditions of the homogeneous QP correspond to the first-order optimality conditions of the original QP lifted to a higher space by the lift operation.
[0014] Furthermore, solve the homogeneous QP to generate a solution in the lifted space. If the value of the additional non - negative variables of the solution in the lifted space is equal to zero, the machine is controlled according to the infeasibility protocol. If the value of the additional non - negative variables of the solution in the lifted space is not equal to zero, use a projection operation that reverses the lift operation to project the solution in the lifted space back to the original space to generate a solution to the original QP. For example, if the equality constraints are lifted to the lifted space by scaling with additional non - negative variables, the solution in the lifted space is projected back to the original space by dividing the solution in the lifted space by the additional non - negative variables.
[0015] Furthermore, in some embodiments, control commands are determined based on the solution of the original QP. Further, the machine is controlled based on the control commands determined based on the solution of the original QP.
[0016] If the embodiments are different, the formulations of the homogeneous QP used are also different. As long as the first - order optimality conditions of the homogeneous QP correspond to the first - order optimality conditions of the original QP lifted to a higher space by the lift operation, any formulation of the homogeneous QP is valid. However, some embodiments may impose additional rules on the formulation of the homogeneous QP for various computational and optimization reasons. For example, in one embodiment, the original QP is transformed such that the solution of the homogeneous QP in the lifted space is negative when the value of the additional non - negative variables is positive. This rule ensures that the optimal value in the lifted space of the original QP problem that is executable does not have a value of the additional non - negative variables equal to zero.
[0017] Accordingly, one embodiment discloses a controller for controlling the operation of a machine according to a task. The controller includes a memory configured to store executable instructions and a processor. The processor is configured to execute the executable instructions to cause the controller to collect a feedback signal indicating a current state of the operation of the machine, formulate an original quadratic program (QP) problem for optimizing an objective function subject to equality constraints and inequality constraints on one or a combination of state variables and control variables of the machine based on the task and the current state of the operation of the machine, lift the equality constraints and the inequality constraints by a lift operation to a lifted space having a dimension higher than the dimension of the original space of the original QP, where the lift operation introduces additional non - negative variables such that a subspace defined by the equality constraints in the lifted space intersects a subspace defined by the inequality constraints in the lifted space at least at the origin of the lifted space, the processor is further configured to execute the executable instructions to cause the controller to convert the objective function of the original QP to a quadratic objective function including the variables of the original QP and the additional non - negative variables, the quadratic objective function subject to the lifted equality constraints and inequality constraints forms a homogeneous QP in the lifted space such that the first - order optimality conditions of the homogeneous QP correspond to the first - order optimality conditions of the original QP lifted to the higher space by the lift operation, the processor is further configured to execute the executable instructions to cause the controller to solve the homogeneous QP to generate a solution in the lifted space, control the machine according to an infeasibility protocol when the value of the additional non - negative variables of the solution in the lifted space is equal to zero, and otherwise project the solution in the lifted space to the original space using a projection operation that reverses the lift operation to generate a solution of the original QP and control the machine using a control command determined based on the solution of the original QP.
[0018] Accordingly, another embodiment discloses a method for controlling the operation of a machine according to a task. The method includes the steps of collecting a feedback signal indicating a current state of the operation of the machine, formulating an original quadratic programming problem (QP) for optimizing an objective function that is subject to equality constraints and inequality constraints on one or a combination of state variables and control variables of the machine based on the task and the current state of the operation of the machine, and lifting the equality constraints and the inequality constraints by a lift operation to a lifted space having a dimension higher than the dimension of the original space of the original QP, wherein the lift operation introduces additional non-negative variables such that a subspace defined by the equality constraints in the lifted space intersects a subspace defined by the inequality constraints in the lifted space, at least at the origin of the lifted space, the method further includes the step of converting the objective function of the original QP into a quadratic objective function including the variables of the original QP and the additional non-negative variables, the quadratic objective function subject to the lifted equality constraints and inequality constraints forms a homogeneous QP in the lifted space such that the first-order optimality conditions of the homogeneous QP correspond to the first-order optimality conditions of the original QP lifted to the higher space by the lift operation, the method further includes the steps of solving the homogeneous QP to generate a solution in the lifted space, controlling the machine according to an infeasibility protocol if the values of the additional non-negative variables of the solution in the lifted space are equal to zero, and otherwise, projecting the solution in the lifted space to the original space using a projection operation that reverses the lift operation to generate a solution of the original QP, and controlling the machine using a control command determined based on the solution of the original QP.
[0019] Accordingly, yet another embodiment discloses a non-transitory computer-readable storage medium having a program executable by a processor for performing a method for controlling the operation of a machine according to a task. The method includes collecting a feedback signal indicative of a current state of the operation of the machine, formulating an original quadratic programming problem (QP) for optimizing an objective function subject to equality constraints and inequality constraints on one or a combination of state variables and control variables of the machine based on the task and the current state of the operation of the machine, lifting the equality constraints and the inequality constraints by a lifting operation to a lifted space having a dimension higher than the dimension of the original space of the original QP, the lifting operation introducing additional non-negative variables such that a subspace defined by the equality constraints in the lifted space intersects a subspace defined by the inequality constraints in the lifted space at least at the origin of the lifted space, the method further including converting the objective function of the original QP to a quadratic objective function including the variables of the original QP and the additional non-negative variables, the quadratic objective function subject to the lifted equality constraints and inequality constraints forming a homogeneous QP in the lifted space such that a first-order optimality condition of the homogeneous QP corresponds to a first-order optimality condition of the original QP lifted to the higher space by the lifting operation, the method further including solving the homogeneous QP to generate a solution in the lifted space, controlling the machine according to an infeasibility protocol if a value of the additional non-negative variables of the solution in the lifted space is equal to zero, and otherwise projecting the solution in the lifted space to the original space using a projection operation that reverses the lifting operation to generate a solution of the original QP, and controlling the machine using a control command determined based on the solution of the original QP.
[0020] With reference to the accompanying drawings, the embodiments disclosed herein will be further described. The drawings shown are not necessarily drawn to scale, and instead, emphasis is placed on explaining the principles of the embodiments disclosed herein as a whole.
Brief Description of the Drawings
[0021]
Figure 1A
Figure 1B
Figure 1C
Figure 1D
Figure 1E
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10A
Figure 10B
Figure 10C
Figure 11A
Figure 11B
Figure 12A
Figure 12B
Figure 13
Figure 14
Best Mode for Carrying Out the Invention
[0022] In the following description, for the purpose of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. However, it will be apparent to those skilled in the art that the present disclosure may be practiced without these specific details. In other instances, devices and methods are shown only in block diagram form in order to avoid obscuring the present disclosure.
[0023] As used in this specification and the claims, each of the phrases “for example,” “as an example,” and “such as” and the verbs “comprising,” “having,” “including,” and other verb forms thereof, when used in conjunction with a listing of one or more components or other items, must be construed as open-ended. This means that the listing should not be considered as excluding other additional components or items. The phrase “based on” means being based at least in part on. Further, it should be understood that the terms and terminology used herein are for the purpose of explanation and should not be considered limiting. The headings used within this specification are for convenience only and have no legal or limiting effect.
[0024] FIG. 1A is a diagram showing an environment 100 for controlling the operation of a machine 103 according to some embodiments of the present disclosure. A controller 101 is operatively connected to the machine 103. The controller 101 is configured to control the operation of the machine 103 according to a task. Examples of the machine 101 can include a vehicle (e.g., an autonomous vehicle), a robotic assembly, a legged robot, a motor, an elevator door, an HVAC (heating, ventilation, and air conditioning) system, etc. For example, the vehicle may be an autonomous driving vehicle, an aircraft, a spacecraft, a dynamically positioning ship, etc. Examples of the operation of the machine 103 can include operating a vehicle according to a specific purpose, operating an HVAC system according to specific parameters, operating a robotic arm according to a specific assembly task, and opening and closing an elevator door, but are not limited thereto.
[0025] Furthermore, the machine 103 is connected to the controller 101 via a state estimator 105. In some implementations, the controller 101 is programmed according to a model 107 of the machine 103. The machine model 107 can include a set of mathematical formulas that describe how the state of the machine 103 changes over time in relation to the current and previous inputs and previous outputs of the machine 103. According to one embodiment, the state of the machine 103 is any information that generally changes over time, such as an appropriate subset of the current and previous inputs and outputs, and this information, together with the model 107 of the machine 103 and future inputs, can uniquely define the future movement of the machine 103. The machine model 107 can include constraints 109 that represent the physical and operational limitations of the machine 103.
[0026] During operation, the controller 101 receives a command 115 that indicates a desired behavior of the machine 103. This command may be, for example, a motion command. In response to receiving the command 115, the controller 101 generates a control command 111 that serves as an input to the machine 103. In response to this input, the machine 103 generates an output 113. Based on the measurement of the output 113 of the machine 103, the state estimator 105 estimates the state 117 of the operation of the machine 103. The estimated state 117 is sent to the controller 101 as a feedback signal. The estimated state 117 may correspond to the current state of the operation of the machine 103.
[0027] The machine 103 referred to in this specification can be any system or device that is controlled by an input signal (e.g., input 111) and returns some controlled output signals (e.g., output 113). The input signal may, in some cases, be associated with physical quantities such as voltage, pressure, force, torque, etc., and the output signal may, in some cases, be associated with physical quantities such as current, flow, speed, position, etc., that indicate the state transition of the machine 103 from a previous state to the current state.
[0028] The state estimator 105 may be implemented in hardware or as a software program executed on the same processor or a different processor as the processor of the controller 101. It receives the output of the machine 103 at a fixed or variable control period sampling interval and determines the estimated state 117 of the machine 101 using the new and previous output measurements. The controller 101 may be implemented in hardware or as a software program executed on a processor such as, for example, a microprocessor. An exemplary implementation of the controller 101 will be described later with reference to FIG. 1B.
[0029] FIG. 1B is a block diagram of a controller 101 according to an embodiment of the present disclosure. The controller 101 includes a processor 119 and a memory 121. The processor 119 can be a single-core processor, a multi-core processor, a computing cluster, or any number of other configurations. The memory 121 can include a random access memory (RAM), a read only memory (ROM), a flash memory, or any other suitable memory system. Additionally, in some embodiments, the memory 121 may be implemented using a hard drive, an optical drive, a thumb drive, an array of drives, or any combination thereof.
[0030] The processor 119 can collect a feedback signal indicating the current state of operation of the machine 103. Further, the processor 119 formulates an original quadratic programming problem (QP) for optimizing an objective function subject to constraints. These constraints can include equality and inequality constraints on one or a combination of state variables and control variables of the machine 103 based on the tasks and the current state of operation of the machine 103. The general form of the original QP is represented as follows.
Number
[0031]
Number
[0032] The original QP can be solved using methods such as the interior point method, the active set method, the augmented Lagrangian method, and the conjugate gradient or gradient projection method, but is not limited thereto. However, the original QP is difficult to solve due to its potential non-convexity and constraints. To address such problems, the original QP is reformulated into a different space and the reformulated QP is solved. For example, the augmented Lagrangian method solves the Lagrangian dual of the quadratic programming problem.
[0033] However, while the reformulation of the original QP can address some problems, another troublesome problem still exists. That is, there is a problem that the original QP may not have any feasible solutions at all. Infeasibility can be caused by a situation where the constraints defining different feasible sets do not intersect. For example, the original QP may be subject to equality constraints and inequality constraints that define two feasible sets. If these two feasible sets do not intersect, the original QP is infeasible.
[0034] FIG. 1C is a diagram showing an exemplary infeasible original QP according to an embodiment of the present disclosure. The original QP may include two dimensions, namely x 1 123 and x 2 125. In other words, the original QP is two-dimensional. In this case, for example, the inequality constraint x 1 , x 2 ≧0 and the equality constraint x 1 + x 2 = -1 and other constraints do not intersect, so there are no feasible points.
[0035] Some embodiments are based on the recognition that in addition to or instead of reformulating the original QP into a different space, the constraints can be reformulated into a different space of a higher dimension to ensure that all possible sets defined by different constraints intersect at least at one point. The basic principle here is that if it is recognized that the optimal solution of the original QP is at that point, then the solution of the original QP is infeasible.
[0036] For example, in one embodiment, the processor 119 lifts the inequality constraint (e.g., x 1 , x 2 ≧0) and the equality constraint (e.g., x 1 + x 2 = -1) by the lifting operation 127 into a lifted space 129 having a dimension higher than the dimension of the original space of the original QP. For example, the lifted space 129 has three dimensions, namely x 1 123, x 2while having 125 and τ131, the original space of the original QP is two-dimensional, i.e., x 1 123 and x 2 125. The lift operation 127 introduces an additional non-negative variable τ such that the subspace defined by the equality constraints in the lifted space 129 intersects, at least at the origin 129 of the lifted space 129, the subspace defined by the inequality constraints in the lifted space. In this way, the infeasibility of the original QP can be detected when the solution of the QP in the lifted space 129 has a value of the additional non-negative variable τ equal to zero.
[0037] Various lift operations can be used to transform the constraints from the original space to a higher-dimensional lifted space 129. Examples of lift operations include multiplying one or more additional variables that define new dimensions to the constraints, affine or non-affine transformations of the constraints, and the like.
[0038] Some embodiments select a lift operation such that it has a corresponding projection operation that reverses the effect of the lift operation. For example, if the lift operation 127 involves multiplying the values in the original space by an additional non-negative variable, the projection operation involves dividing the values in the lifted space 129 by the additional non-negative variable. Similarly, if the lift operation 127 involves adding an additional non-negative variable to the values in the original space, the projection operation involves subtracting the additional non-negative variable from the values in the lifted space 129.
[0039] Some embodiments are based on the recognition that it is necessary to transform the original QP from the original space to the lifted space 129 in order to use the constraints in the lifted space 129. However, the lift operation 127 used to lift the constraints cannot be directly applied to the lifting of the objective function of the original QP. This is because the objective function has quadratic and linear terms. By multiplying the quadratic term by an additional non-negative variable τ, an objective function that is a third-degree polynomial and is no longer a quadratic programming problem is obtained. In other words, the lift operation 127 cannot be directly applied to the original QP.
[0040] However, some embodiments are based on the recognition that, regardless of the structure of the original QP lifted to the space 129 after lifting, the relationship between the optimal solution in the original space and the optimal solution in the lifted space 129 is determined by the lifting operation 127. Further, the optimal solution, although unknown, should satisfy the first-order optimality conditions. Further, the lifting operation 127 for the constraints cannot be applied to the QP objective function but can be applied to the first-order optimality conditions. Based on such recognition, the objective function of the original QP is converted into the quadratic objective function described later with reference to FIG. 1D.
[0041] FIG. 1D is a diagram showing the conversion of the objective function of the original QP into a quadratic objective function according to an embodiment of the present disclosure. After lifting the constraints to the lifted space 129, the processor 119 converts the objective function 135 of the original QP into a quadratic objective function 137 including the variables of the original QP and an additional non-negative variable τ (133). The quadratic objective function 137 that receives the lifted equality constraints and inequality constraints 139 forms a homogeneous QP 141 in the lifted space 129 such that the first-order optimality condition 143 of the homogeneous QP 141 corresponds to the first-order optimality condition 145 of the original QP lifted to a higher space by the lifting operation 127.
[0042] Further, as will be described later with reference to FIG. 1E, the processor 119 solves the homogeneous QP 141 to generate a solution in the lifted space, and then controls the machine 103 based on the solution in the lifted space.
[0043] FIG. 1E is a block diagram for solving the homogeneous QP 141 to generate a solution in the lifted space and controlling the machine 103 based on the solution in the lifted space according to an embodiment of the present disclosure. In block 147, the processor 147 solves the homogeneous QP to generate a solution in the lifted space.
[0044] In block 149, the processor determines whether the value of the additional non - negative variable of the solution in the space after lifting is equal to zero. If the value of the additional non - negative variable of the solution in the space after lifting is equal to zero, in block 151, the processor 119 controls the machine 103 according to the infeasibility protocol. This infeasibility protocol may be to ignore some of the inequality constraints or to use an alternative machine control method that relaxes the inequality constraints. One type of relaxing the inequality constraints can be to remove the non - negativity bounds.
[0045] If the value of the additional non - negative variable of the solution in the space after lifting is not equal to zero, in block 153, the processor 119 projects the solution in the space 129 after lifting to the original space using a projection operation that reverses the lifting operation to generate the solution of the original QP. For example, if the equality constraints are lifted to the space 129 after lifting by scaling with the additional non - negative variable, the solution in the space 129 after lifting is projected to the original space by dividing the solution in the space after lifting by the additional non - negative variable.
[0046] In block 155, the processor 119 determines a control command based on the solution of the original QP. Further, in block 157, the processor 119 controls the machine 103 based on the control command determined based on the solution of the original QP.
[0047] The formulations of the original QP and the homogeneous QP 141 are mathematically described below. Original QP The general form of the original QP can be expressed as follows.
Equation
[0048] The formulation in Equation (1) is general and can be obtained from the more general formulation in Equation (2) by introducing additional variables as described in, for example, Equation (3) and Equation (4). The formulation in Equation (2) is transformed by adding additional variables for the constraints, and as a result, the inequality constraints in Equation (2) are transformed into equality constraints as follows.
Number
[0049]
Number
[0050] If the embodiments are different, the formulations of the homogeneous QP used are also different. As long as the first-order optimality conditions of the homogeneous QP correspond to the first-order optimality conditions of the original QP lifted to a higher space by the lifting operation, all formulations of the homogeneous QP are valid.
[0051] However, some embodiments may impose additional rules on the formulation of the homogeneous QP for various computational and optimization reasons. For example, in one embodiment, the original QP is transformed such that when the value of the additional non-negative variable is positive, the solution of the homogeneous QP in the lifted space is negative. This rule ensures that the optimal value in the lifted space of the original QP problem that can be executed does not have a value of the additional variable equal to zero.
[0052] Additionally or alternatively, some embodiments impose further requirements on the values of the constants in the homogeneous QP. For example, in one embodiment, the homogeneous QP includes a quadratic term of an additional non-negative variable scaled by a scalar. The quadratic term of the additional non-negative variable is added to the original QP to ensure that when the original QP is executable, the additional non-negative variable can take a positive value in the optimal solution of the homogeneous QP.
[0053] FIG. 2 is a block diagram 200 for determining the scalar of the quadratic term of an additional non - negative variable according to an embodiment of the present disclosure. In block 201, the processor 119 determines the lower bound of the objective value in the solution of the original QP to ensure that if the original QP is feasible, the additional non - negative variable can take a positive value in the optimal solution of the homogeneous QP. Further, in block 203, the processor 119 determines a scalar based on this lower bound. For example, in one embodiment, the scalar is a positive value greater than twice the negative of the lower bound. This is advantageous because it is sufficient to ensure that the additional non - negative variable becomes positive in the optimal solution of the homogeneous QP.
[0054] For example, in one embodiment, the homogeneous QP includes the quadratic term of the original QP, the linear term of the original QP scaled by the additional non - negative variable, the quadratic term of the additional non - negative variable scaled by a scalar selected to be greater than twice the negative of the lower bound of the original QP, and the negative linear term of the additional positive variable. This formulation of the homogeneous QP is advantageous because it is still quadratic, so the conventional methods for solving the original QP are applicable to solving the homogeneous QP. Also, this formulation guarantees the correlation of the optimality conditions after lifting and has an optimal value if the additional variable is positive when the original QP is feasible. For example, the homogeneous QP can be expressed as follows.
Equation
[0055] In Equation (5), multiplying the right - hand side of the equality constraint is called the lifting of the equality constraint in the original QP to obtain the equality constraint in the lifted space with x and the additional non - negative variable τ. An important property of the lifted equality constraint Ax = bτ is that x = 0, τ = 0 is feasible with the lifted equality constraint and the non - negativity constraints x≥0, τ≥0 in the homogeneous QP. This guarantees that the homogeneous QP is always feasible. Thus, the optimal solution of the homogeneous QP can be easily obtained.
[0056]
Equation
[0057]
Number
[0058]
Number
[0059]
Number
[0060]
Number
[0061]
Number
[0062]
Number
[0063]
Number
[0064] In one embodiment, the lower limit for the target value of the original QP is obtained by solving an equality constraint problem.
Number
[0065] The optimization problem in Equation (9) is obtained from the original QP by ignoring the boundary constraints. Therefore, the optimal solution for Equation (9) is the lower limit for the more strongly constrained original QP.
[0066]
Mathematics
[0067] In one embodiment, an interior point method (IPM) is utilized to determine a solution for a homogeneous QP. The IPM used to solve the homogeneous QP is the same as the IPM that can be used in the original QP. The IPM aims to obtain a solution for the first-order stationarity condition in Equation (7). The quantity is defined as follows.
Mathematics
[0068]
Mathematics
[0069]
Mathematics
[0070]
Mathematics
[0071]
Mathematics
[0072] In addition, in one embodiment, an active set method (ASM) is utilized to determine a solution for a homogeneous QP. The ASM proceeds by selecting a subset of the boundaries that are satisfied as equalities. The selected subset is used to solve the QP with equality constraints. If all the multipliers of the selected boundary constraints satisfied as equalities are non-negative and the remaining boundary constraints are also satisfied, the obtained solution is optimal. Otherwise, the constraints with negative multipliers are discarded and infeasible constraints are added. Hereinafter, the active set at the point (x, τ) is defined as follows.
Mathematics
[0073] [Number]
[0074] [Number]
[0075] [Number]
[0076] Additionally or alternatively, in one embodiment, the alternating direction method of multipliers (ADMM) is utilized to determine a solution to the uniform QP. ADMM divides the solution to the uniform QP into two parts that are clearly easier to solve, and then alternately focuses on these two parts while updating the multipliers that connect them. There are several approaches for dividing the solution to the uniform QP. For example, in one embodiment, the first of the two parts includes a constrained planning problem with equality constraints, and the second of the two parts is a projection onto the non-negative orthant. The first part is as follows. [Number] The second part is as follows. [Number]
[0077] [Number]
[0078] Some embodiments are based on the recognition that, in addition to the original QP, a linear complementarity problem (LCP) can also be solved when solving the original QP (described in FIGS. 1C-1E). The LCP is an optimization problem having a linear objective, linear equality constraints, and cone constraints. In one embodiment, the LCP is formulated as follows.
Number
[0079]
Number
[0080] The LCP can be solved by the algorithm described later with reference to FIG. 8.
[0081]
Number
[0082] In some implementations, the controller 101 is implemented as a model predictive controller (MPC). The MPC solves a constrained optimal control structured quadratic programming problem (OCP-QP) (e.g., Equation (5)) to determine the control command at each control time step.
[0083]
Number
[0084] In some embodiments, to solve the OCP-QP, exact or approximate state values and / or control values over a prediction time range from previous control time steps are used as solution guesses, the purpose of which is to reduce the computational effort of solving the OCP-QP at the current control time step. The concept of calculating solution guesses from the solution information at such previous control time step 310 is called warm start or hot start. For that purpose, at block 903, the optimal control solution information of the previous control time step is read from a memory (e.g., memory 121), and at block 905, the OCP-QP is solved to determine a solution vector 907 including a sequence of control commands. At block 909, the solution vector 907 can be used to update and / or store the sequence of control commands for the next control time step.
[0085] FIG. 10A is a diagram showing an overview of a vehicle 1001 including a controller 101 according to some embodiments of the present disclosure. The vehicle 1001 used herein can be any type of wheeled vehicle such as a passenger car, a bus, or a rover. Also, the vehicle 1001 can be an autonomous vehicle or a semi-autonomous vehicle. For example, some embodiments control the movement of the vehicle 1001. Examples of movement include the lateral movement of the vehicle 1001 controlled by the steering system 1003 of the vehicle 1001. In one embodiment, the steering system 1003 is controlled by the controller 101. Additionally or alternatively, the steering system 1003 may be controlled by a driver of the vehicle 1001.
[0086] Vehicle 1001 may also include an engine 1006 that can be controlled by controller 101 or by other components of vehicle 1001. The vehicle may also include one or more sensors 1004 for detecting the surrounding environment. Examples of sensors 1004 include range finders, radars, lidars, and cameras. Vehicle 1001 may also include one or more sensors 1005 for detecting the amount of its current movement and internal state. Examples of sensors 1005 include a Global Positioning System (GPS), accelerometers, inertial measurement units, gyroscopes, shaft rotation sensors, torque sensors, deflection sensors, pressure sensors, and flow sensors. These sensors provide information to controller 101. The vehicle may include a transceiver 1007 that enables the communication function of controller 101 via a wired or wireless communication channel.
[0087] FIG. 10B is a diagram showing an overview of the interaction between controller 101 and controller 1020 of vehicle 1001 according to some embodiments. For example, in some embodiments, controller 1020 of vehicle 1001 is a steering controller 1025 and a brake / throttle controller 1030 that control the rotation and acceleration of vehicle 1001. In such a case, controller 101 outputs control commands for controlling the state of vehicle 1001, such as acceleration and orientation, to controllers 1025 and 1030 in order to control the movement of vehicle 1001. Controller 1020 may also include a high-level controller, such as a lane departure prevention support controller 1035, that further processes the control commands of controller 101. In any case, controller 1020 uses the control commands of controller 101 to control at least one actuator of vehicle 1001, such as the steering wheel and / or brakes of vehicle 1001, in order to control the movement of vehicle 1001.
[0088] FIG. 10C is a diagram showing an overview of an autonomous or semi-autonomous vehicle 1050 controlled by a controller 101, which can calculate a dynamically realizable and often optimal trajectory 1055 using the principles of some embodiments. The generated trajectory 1055 aims to keep the vehicle 1050 within a specific road boundary 1052 and avoid obstacles 1051 for other uncontrollable vehicles, i.e., obstacles for the controlled vehicle 1050. In some embodiments, each of the obstacles 1051 can be represented by one or more inequality constraints in the original time or space formulation of the QP. The controlled vehicle 1050 can make decisions in real time, such as passing on the left or right to overtake another vehicle or instead following behind another vehicle in the current lane of the road 1052.
[0089] FIGS. 11A and 11B are diagrams showing a spacecraft 1102 equipped with a plurality of actuators such as a thruster 1150 and a momentum exchange device 1151 according to some embodiments of the present disclosure. Examples of the momentum exchange device 1151 include a reaction wheel (RW) and a gyroscope. The spacecraft 1102 is a vehicle, ship, or machine designed to fly in space, and its operation changes quantities such as the position of the spacecraft, its velocity, and its attitude or orientation in response to commands sent to the actuators. When commanded, the actuators transmit to the spacecraft 1102 a force that translates the position of the spacecraft 1102 by increasing or decreasing its velocity, and when commanded, the actuators also transmit to the spacecraft 1102 a torque that changes its attitude or orientation by rotating the spacecraft 1102. As used herein, the operation of the spacecraft 1102 is determined by the operation of the actuators that determine the movement of the spacecraft 1102 that changes such quantities.
[0090] The spacecraft 1102 flies in space along open or closed orbital paths 1160 around, between, or near one or more massive bodies such as the Earth 1161, the Moon, and / or other celestial planets, stars, asteroids, comets, etc. Usually, a desired position or target position 1165 along the orbital path is given. A reference coordinate system 1170 is attached to the desired position 1165, and the origin of the reference coordinate system, i.e., the coordinates all being zero in the said reference coordinate system, is always the coordinates of the desired position 1165.
[0091] The spacecraft 1102 is exposed to various disturbing forces 1114. The disturbing forces 1114 may include forces not taken into account when determining the orbital path 1160 of the spacecraft 1102. The disturbing forces act on the spacecraft 1102 and move the spacecraft 1102 away from the desired position 1165 on the orbital path 1160. These forces may include, but are not limited to, gravitational attraction, radiation pressure, atmospheric resistance, non-spherical central bodies, and leaking propellants. Therefore, the spacecraft 1102 may be located at a certain distance (1167) away from the desired position 1165.
[0092] Due to the disturbing forces, it is not always possible to keep the spacecraft 1102 at the desired position 1165 along its orbit. Therefore, instead, it is desired that the spacecraft 1102 stays within a window 1166 having a specified dimension 1164 around the desired position 1165. For this purpose, the spacecraft 1102 is controlled to move along any path 1180 included within the said window. In this example, the window 1166 has a rectangular shape, but in different embodiments, the shape of the window may be various.
[0093] In addition, the spacecraft 1102 is often required to maintain a desired orientation. For example, a reference coordinate system 1174 fixed to the spacecraft needs to be aligned with a desired reference coordinate system, such as an inertial reference coordinate system 1171 fixed to a distant star 1172 or a reference coordinate system 1173 that always points towards the Earth 1161. However, depending on the shape of the spacecraft 1102, various disturbing forces 1114 may act non-uniformly on the spacecraft 1102, thereby generating a disturbing torque that rotates the spacecraft 1102 away from its desired orientation. To compensate for these disturbing torques, a momentum exchange device 1151, such as a reaction wheel, is used to absorb the disturbing torque, enabling the spacecraft 1102 to maintain its desired orientation. To ensure that the momentum exchange device 1151 does not lose its ability to compensate for the disturbing torque due to saturation, their stored momentum must be unloaded, for example, by reducing the spin amount of the reaction wheel. Unloading the momentum exchange device 1151 transmits an unwanted torque to the spacecraft 1102. Such unwanted torque is also compensated for by thrusters.
[0094] In some embodiments, the controller 101 is configured to determine control commands for the spacecraft 1102 based on the solution of the original QP that keeps the spacecraft 1102 outside a specific zone 1185 having a specified dimension near a desired position 1165 along the orbit 1160. The latter zone may be fixed in time or may change over time and is often referred to as a no-go zone 1185, where the corresponding inequality constraints can be modeled in the original QP formulation. In this example, the no-go zone 1185 has a rectangular shape and is positioned at the corners of the desired window 1166, but in different embodiments, the shape and position of the no-go zone within the desired target window may vary.
[0095] FIG. 12A is a diagram showing an overview of a vapor compression system 1200 controlled by a controller 101 according to some embodiments of the present disclosure. According to one embodiment, the controller 101 includes a predictive controller such as a controller that implements model predictive control (MPC). The controller 101 is communicatively coupled to the vapor compression system 1200. The vapor compression system (VCS) 1200 may include an indoor heat exchanger 1220 located in an indoor space or zone 1250, an outdoor unit heat exchanger 1230 located in the ambient environment, a compressor 1210, and an expansion valve 1240. A heat load 1215 acts on the indoor space or zone 1250.
[0096] In addition, the VCS 1200 may include a flow reversal valve 1255 used to direct the high-pressure refrigerant exiting the compressor towards the outdoor unit heat exchanger 1230 or the indoor unit heat exchanger 1220, and to direct the low-pressure refrigerant returning from the indoor unit heat exchanger 1220 or the outdoor unit heat exchanger 1230 towards the inlet of the compressor. When the high-pressure refrigerant is directed towards the outdoor unit heat exchanger 1230, the outdoor unit heat exchanger 1230 serves as a condenser, the indoor unit serves as an evaporator, and the VCS 1200 rejects heat from the zone 1250 to the ambient environment. This is operationally referred to as the "cooling mode". Conversely, when the high-pressure refrigerant is directed towards the indoor unit heat exchanger 1220, the indoor unit heat exchanger 1220 serves as a condenser, the outdoor unit heat exchanger 1230 serves as an evaporator, extracts heat from the ambient environment, and injects this heat into the zone 1250. This is operationally referred to as the "heating mode".
[0097] FIG. 12B is a diagram showing an example of the configuration of signals, sensors, and controller 101 used in VCS1200 according to some embodiments of the present disclosure. The controller 101 reads information from a sensor 1270 configured to measure other information about the operation of VCS1200, including various measurable disturbances such as temperature, pressure, flow rate, or ambient air temperature. The controller 101 may be provided with a setpoint 1266 representing a desired value of a measured signal of a process, such as a desired zone temperature. The setpoint 1266 may be obtained from a thermostat, a wireless remote control, or an internal memory or storage medium. The controller 101 then calculates a control command such that some measured outputs are driven to the setpoint. The calculated control command may include an indoor unit fan speed 1280, an outdoor unit fan speed 1281, a compressor rotation speed 1282, an expansion valve position 1283, and a flow reversal valve position 1284. In this way, the controller 101 controls the operation of VCS1200 such that the setpoint value is achieved in the presence of a disturbance 1268, such as a heat load acting on VCS1200.
[0098] Some embodiments are based on the recognition that the controller 101 can also be used for the control of the power system. For example, the original QP solved by the controller 101 may be derived for power grid control. Optimal Power Flow (OPF) is extremely important in the operation and planning of power systems. OPF is widely used in planning problems or to determine the optimal generation schedule in active and reactive power at the operation level to minimize the operating system cost subject to grid constraints. In both the planning and operation areas, it is extremely important to determine an easy-to-handle formulation of the OPF problem. This is because they are often between different time points and are combined in the form of a multi-period OPF problem. A linear OPF approximation that functions in the complete decision variable space and incorporates power losses is utilized in power grid operation.
[0099] According to one embodiment, the linear approximation problem for a power grid having i∈N buses connected to a generator and a load in the power grid can be represented as follows.
Number
[0100] The controller 101 determines the solution of the linear approximation problem. The solution of the linear approximation problem may include the value of the active power at bus i.
[0101] FIGS. 13 and 14 are block diagrams of an entire method 1300 for controlling the operation of a machine according to an embodiment of the present disclosure. In block 1301, the method 1300 includes the step of collecting a feedback signal indicating the current state of the operation of the machine. In block 1303, the method 1300 includes the step of formulating an original quadratic programming problem (QP) for optimizing an objective function subject to constraints. These constraints may include equality constraints and inequality constraints on one or a combination of the state variables and control variables of the machine based on the task and the current state of the operation of the machine.
[0102] In block 1305, the method 1300 includes the step of lifting the equality constraints and inequality constraints by a lifting operation to a lifted space having a dimension higher than the dimension of the original space of the original QP. The lifting operation introduces additional non-negative variables such that the subspace defined by the equality constraints in the lifted space intersects the subspace defined by the inequality constraints in the lifted space at least at the origin of the lifted space.
[0103] In block 1307, the method 1300 includes the step of converting the objective function of the original QP into a quadratic objective function including the variables of the original QP and the additional non-negative variables. The quadratic objective function subject to the lifted equality constraints and inequality constraints forms a homogeneous QP in the lifted space such that the first-order optimality condition of the homogeneous QP corresponds to the first-order optimality condition of the original QP lifted to a higher space by the lifting operation.
[0104] In block 1309, method 1300 includes the step of solving a uniform QP to generate a solution in the lifted space.
[0105] In block 1311, method 1300 includes the step of determining whether the value of an additional non - negative variable of the solution in the lifted space is equal to zero. If the value of the additional non - negative variable of the solution in the lifted space is equal to zero, in block 1313, method 1300 includes the step of controlling machine 103 according to an infeasibility protocol.
[0106] If the value of the additional non - negative variable of the solution in the lifted space is not equal to zero, in block 1315, method 1300 includes the step of projecting the solution in the lifted space back to the original space using a projection operation that reverses the lifting operation to generate a solution to the original QP. For example, if the equality constraints are lifted to the lifted space by scaling with the additional non - negative variable, the solution in the lifted space is projected back to the original space by dividing the solution in the lifted space by the additional non - negative variable.
[0107] In block 1317, method 1300 includes the step of determining a control command based on the solution to the original QP. Further, in block 1319, method 1300 includes the step of controlling a machine based on the control command determined based on the solution to the original QP.
[0108] The description provides exemplary embodiments only and is not intended to limit the scope, utility, or configuration of the present disclosure. Rather, the following description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing one or more exemplary embodiments. Various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the subject matter disclosed as set forth in the appended claims.
[0109] To enable a complete understanding of the embodiments, specific details are provided in the following description. However, it can be understood by those skilled in the art that the embodiments can be implemented without these specific details. For example, to avoid unnecessarily detailing the embodiments and making them unclear, the systems, processes, and other elements in the disclosed subject matter may be shown as components in the form of block diagrams. In other examples, to avoid obscuring the embodiments, well-known processes, structures, and techniques may be shown without unnecessary details. Further, the same reference numbers and names in the various drawings indicate the same elements.
[0110] Also, individual embodiments may be described as processes represented as flowcharts, flow diagrams, data flow diagrams, structure diagrams, or block diagrams. A flowchart may describe operations as sequential processes, but many of the operations may be performed in parallel or simultaneously. Additionally, the order of the operations may be rearranged. A process may end when its operations are completed, but may have additional steps not described or included in the drawings. Further, not all operations in any particular process described occur in all embodiments. A process may correspond to a method, function, procedure, subroutine, subprogram, etc. When a process corresponds to a function, the end of that function may correspond to the function returning to the calling function or the main function.
[0111] Furthermore, embodiments of the disclosed subject matter may be realized, at least in part, manually or automatically. Manual or automatic realization may be performed or at least assisted through the use of a machine, hardware, software, firmware, middleware, microcode, a hardware description language, or any combination thereof. When realized in software, firmware, middleware, or microcode, the program code or code segments for performing the necessary tasks may be stored on a machine-readable medium. A processor may perform the necessary tasks.
[0112] The various methods or processes outlined herein may be encoded as software executable on one or more processors employing any one of a variety of operating systems or platforms. Additionally, such software may be written using any of a number of suitable programming languages and / or programming tools or scripting tools, and may also be compiled as executable machine code or intermediate code to be executed on a framework or virtual machine. Typically, the functionality of program modules may be combined or distributed as desired in various embodiments.
[0113] Embodiments of the present disclosure may be embodied as a method for which examples are provided. The operations performed as part of the method may be ordered in any suitable manner. Accordingly, even though shown as sequential operations in exemplary embodiments, embodiments may be constructed in which the operations are performed in an order different from the example, including performing some operations simultaneously.
[0114] Furthermore, embodiments of the present disclosure and the functional operations described in this specification can be implemented in digital electronic circuitry, in tangibly embodied computer software or firmware, in computer hardware including the structures disclosed in this specification and those structurally equivalent to them, or in combinations of one or more of them. Further, some embodiments of the present disclosure can be implemented as one or more computer programs, i.e., as one or more modules of computer program instructions encoded on a tangible non-transitory program carrier for execution by, or to control the operation of, a data processing apparatus. Further, the program instructions can be encoded on an artificially generated propagated signal, such as an electrical, optical, or electromagnetic signal generated, for example, mechanically, to encode information for transmission to a suitable receiver apparatus for execution by a data processing apparatus. The computer storage medium can be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of one or more of them.
[0115] According to embodiments of the present disclosure, the term "data processing apparatus" can include any kind of apparatus, device, and machine for processing data, including, by way of example, a programmable processor, a computer, or multiple processors or computers. The apparatus can include dedicated logic circuitry, such as, for example, an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit). The apparatus can also include, in addition to hardware, code for creating an execution environment for the computer program in question, such as code constituting processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.
[0116] A computer program (also referred to as or described as a program, software, software application, module, software module, script, or code) can be written in any form of programming language, including a compiler-type or interpreter-type language, or a declarative or procedural language, and it can be deployed in any form, including as a stand-alone program or in the form of a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program may or may not correspond to a file in a file system. The program can be stored in a part of a file that holds other programs or data, such as one or more scripts stored in a markup language document, in a single file dedicated to the program in question, or in multiple integrated files, such as files that store one or more modules, subprograms, or portions of code.
[0117] A computer program can be deployed to execute on one computer or on multiple computers located at one location or distributed across multiple locations and interconnected by a communication network. Computers suitable for the execution of a computer program can include, by way of example, general-purpose microprocessors or dedicated microprocessors or both, and those based on any other kind of central processing unit. Generally, the central processing unit will receive instructions and data from read-only memory or random access memory or both. The essential elements of a computer are a central processing unit for performing or executing instructions and one or more memory devices for storing instructions and data.
[0118] In general, a computer will also include one or more mass storage devices for storing data, such as magnetic disks, magneto-optical disks, or optical disks, or will be operatively coupled to such mass storage devices to receive or transfer data or both. However, a computer need not have such devices. Further, a computer may be incorporated into another device, such as, by way of example only, a cellular phone, a personal digital assistant (PDA), a portable audio or video player, a game console, a global positioning system (GPS) receiver, or a portable storage device, such as a universal serial bus (USB) flash drive.
[0119] To provide for interaction with a user, embodiments of the subject matter described in this specification may be implemented on a computer having a display device, such as a cathode ray tube (CRT) or liquid crystal display (LCD) monitor, for displaying information to the user, and a keyboard and a pointing device, such as a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices may be used to provide for interaction with a user as well. For example, feedback provided to the user may be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback. Also, input received from the user may be in any form, including acoustic input, voice input, or tactile input. Additionally, a computer can interact with a user by sending documents to and receiving documents from the device used by the user, such as by sending a web page to a web browser on a user's client device in response to a request received from the web browser.
[0120] Embodiments of the subject matter described in this specification can be implemented in a computing system that includes, for example, backend components as a data server, or a computing system that includes middleware components such as, for example, an application server, or a computing system that includes frontend components such as, for example, a client computer having a graphical user interface or a web browser that enables a user to interact with an implementation of the subject matter described in this specification, or in any combination of one or more such backend components, middleware components, or frontend components. The components of the system can be interconnected by any form or medium of digital data communication, such as, for example, a communication network. Examples of communication networks include a local area network (LAN) and a wide area network (WAN), including, for example, the Internet.
[0121] A computing system can include a client and a server. The client and server are generally remote from each other and typically interact over a communication network. The relationship between the client and server arises by virtue of computer programs running on respective computers and having a client-server relationship to each other.
[0122] Although the present disclosure has been described with reference to certain preferred embodiments, it should be understood that various other adaptations and modifications within the spirit and scope of the present disclosure are possible. Accordingly, the claims appended hereto are intended to cover all such modifications and variations that fall within the true spirit and scope of the present disclosure.
Claims
1. A controller for controlling the operation of a machine according to a task, the controller comprising a memory configured to store executable instructions and a processor, the processor executing the executable instructions to cause the controller to collect a feedback signal indicating the current state of the operation of the machine, formulate an original quadratic program (QP) for optimizing an objective function subject to equality constraints and inequality constraints on one or a combination of state variables and control variables of the machine based on the task and the current state of the operation of the machine, lift the equality constraints and the inequality constraints by a lifting operation to a lifted space having a dimension higher than the dimension of the original space of the original QP, the lifting operation introducing additional non-negative variables such that the subspace defined by the equality constraints in the lifted space intersects the subspace defined by the inequality constraints in the lifted space at least at the origin of the lifted space, and the processor further executing the executable instructions to cause the controller to convert the objective function of the original QP into a quadratic objective function including the variables of the original QP and the additional non-negative variables, the quadratic objective function subject to the lifted equality constraints and inequality constraints forming a homogeneous QP in the lifted space such that the first-order optimality conditions of the homogeneous QP correspond to the first-order optimality conditions of the original QP lifted to the higher space by the lifting operation, and the processor further executing the executable instructions to cause the controller to solve the homogeneous QP to generate a solution in the lifted space, control the machine according to an infeasibility protocol when the values of the additional non-negative variables of the solution in the lifted space are equal to zero, otherwise, project the solution in the lifted space to the original space using a projection operation that reverses the lifting operation to generate a solution to the original QP, and control the machine using a control command determined based on the solution to the original QP. A controller configured as such.
2. The controller according to claim 1, wherein the lifting operation includes multiplying the value in the original space by the additional non - negative variable.
3. The controller according to claim 2, wherein the equality constraint is lifted to the space after lifting by scaling the equality constraint with the additional non - negative variable, and the solution in the space after lifting is projected to the original space by dividing the solution in the space after lifting by the additional non - negative variable.
4. The controller according to claim 2, wherein the additional non - negative variable in the lifting operation is a single additional variable.
5. The controller according to claim 1, wherein the original QP is converted such that when the value of the additional non - negative variable is positive, the solution of the uniform QP in the space after lifting is negative.
6. The uniform QP includes a quadratic term of the additional non - negative variable scaled by a scalar, and the processor further determines a lower limit of the objective value in the solution of the original QP, and is configured to determine the scalar based on the lower limit. The controller according to claim 1.
7. The controller according to claim 6, wherein the scalar is determined as a positive value greater than the negative of the lower limit.
8. The uniform QP includes the quadratic term of the original QP, the linear term of the original QP scaled by the additional non - negative variable, the quadratic term of the additional non - negative variable scaled by a scalar selected to be greater than twice the negative of the lower limit of the original QP, and the negative linear term of the additional non - negative variable. The controller according to claim 1.
9. The first - order optimality condition of the uniform QP corresponds to the first - order optimality condition of the original QP lifted to the higher space by the lifting operation, and the projection operation converts the solution of the first - order condition of the uniform QP whenever the additional non - negative variable is positive to satisfy the first - order condition of the original QP. The controller according to claim 1.
10. The controller according to claim 1, wherein the uniform QP is solved based on an interior point method (IPM) to determine the solution of the uniform QP.
11. The controller according to claim 1, wherein the uniform QP is solved based on an active-set method (ASM) to determine a solution of the uniform QP.
12. The controller according to claim 1, wherein the uniform QP is solved based on an alternating direction method of multipliers (ADMM) to determine a solution of the uniform QP.
13. The ADMM is configured to divide the uniform QP into a first part and a second part, the first part being a programming problem with equality constraints, the second part being a projection onto the non-negative orthant, and the ADMM is further configured to solve the first part, and solve the second part, the controller according to claim 12.
14. The machine is a vehicle, and the processor is further configured to control the movement of the vehicle based on the control command determined based on the solution of the original QP, the controller according to claim 1.
15. The machine is a spacecraft, the inequality constraint of the original QP models a prohibited entry area of the spacecraft, and the processor is further configured to determine, based on the solution of the original QP, a control command to keep the spacecraft outside the prohibited entry area, and to control the spacecraft based on the control command, the controller according to claim 1.
16. A method for controlling the operation of a machine according to a task, comprising: collecting a feedback signal indicating a current state of the operation of the machine; formulating an original quadratic programming problem (QP) for optimizing an objective function that receives equality and inequality constraints for one or a combination of state variables and control variables of the machine based on the task and the current state of the operation of the machine. lifting the equality constraints and the inequality constraints by a lifting operation to a lifted space having a dimension higher than the dimension of the original space of the original QP, wherein the lifting operation introduces additional non - negative variables such that the subspace defined by the equality constraints in the lifted space intersects the subspace defined by the inequality constraints in the lifted space at least at the origin of the lifted space, and the method further including converting the objective function of the original QP to a quadratic objective function including the variables of the original QP and the additional non - negative variables, the quadratic objective function subject to the lifted equality constraints and inequality constraints forms a homogeneous QP in the lifted space such that the first - order optimality conditions of the homogeneous QP correspond to the first - order optimality conditions of the original QP lifted to the higher space by the lifting operation, and the method further solving the homogeneous QP to generate a solution in the lifted space; when the values of the additional non - negative variables of the solution in the lifted space are equal to zero, controlling the machine according to an infeasibility protocol; otherwise, projecting the solution in the lifted space to the original space using a projection operation that reverses the lifting operation to generate a solution of the original QP; and controlling the machine using control commands determined based on the solution of the original QP. **Claim 17** The method according to claim 16, wherein the lifting operation includes multiplying the additional non - negative variables by values in the original space. **Claim 18** The equality constraints are lifted to the lifted space by scaling the equality constraints by the additional non - negative variables, and the solution in the lifted space is projected to the original space by dividing the solution in the lifted space by the additional non - negative variables. The method according to claim 17. **Claim 19** The method according to claim 17, wherein the additional non - negative variables in the lifting operation are a single additional variable. **Claim 20** The method according to claim 16, wherein the original QP is transformed such that when the values of the additional non - negative variables are positive, the solution of the homogeneous QP in the lifted space is negative. **Claim 21** The homogeneous QP includes quadratic terms of the additional non - negative variables scaled by a scalar, and the method further includes determining a lower bound of an objective value in the solution of the original QP; and determining the scalar based on the lower bound. The method according to claim 16. **Claim 22** The homogeneous QP includes the quadratic terms of the original QP, the linear terms of the original QP scaled by the additional non - negative variables, quadratic terms of the additional non - negative variables scaled by a scalar selected to be greater than twice the negative of the lower bound of the original QP, and negative linear terms of the additional non - negative variables. The method according to claim 16. **Claim 23** A non - transitory computer - readable storage medium embodying a program executable by a processor for executing a method for controlling the operation of a machine according to a task, the method including: collecting a feedback signal indicating a current state of the operation of the machine; formulating an original quadratic programming problem (QP) for optimizing an objective function subject to equality and inequality constraints on one or a combination of state variables and control variables of the machine based on the task and the current state of the operation of the machine; lifting the equality and inequality constraints by a lifting operation to a lifted space having a dimension higher than the dimension of the original space of the original QP, the lifting operation introducing additional non - negative variables such that a subspace defined by the equality constraints in the lifted space intersects a subspace defined by the inequality constraints in the lifted space at least at the origin of the lifted space, and the method further includes converting the objective function of the original QP into a quadratic objective function including the variables of the original QP and the additional non - negative variables, the quadratic objective function subject to the lifted equality and inequality constraints forms a homogeneous QP in the lifted space such that the first - order optimality conditions of the homogeneous QP correspond to the first - order optimality conditions of the original QP lifted to the higher space by the lifting operation, and the method further includes solving the homogeneous QP to generate a solution in the lifted space. If the value of the additional non - negative variable of the solution in the space after the lift is equal to zero, controlling the machine according to an infeasibility protocol; Otherwise, using a projection operation that reverses the lift operation to project the solution in the space after the lift into the original space to generate a solution to the original QP; Controlling the machine using a control command determined based on the solution to the original QP, a non - transitory computer - readable storage medium.
Citation Information
Patent Citations
System and method of search for accelerated active set with respect to second programming for predictive control of real time model
JP2004280792A
Real time quadratic programming for control of dynamical system
JP2004288161A
Method of selecting frequency features
JP2012216191A
Method for optimizing radiation dose for radiation therapy treatment and radiation therapy system
JP2015136625A
Method for Solving Quadratic Programs for Convex Sets with Linear Equalities by an Alternating Direction Method of Multipliers with Optimized Step Sizes
US20150234779A1