System and method for controlling the operation of a machine according to a task

By reformulating quadratic programming problems in a higher-dimensional space, the method addresses the challenges of non-convexity and unfeasibility, enabling efficient detection and solution generation for machine control.

JP7829806B2Active Publication Date: 2026-03-13MITSUBISHI ELECTRIC CORP
View PDF 6 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-12-09
Publication Date
2026-03-13

AI Technical Summary

Technical Problem

Quadratic programming problems are difficult to solve due to their potential non-convexity and constraints, and the possibility of unfeasibility arising when constraints defining different feasible solutions do not intersect, making it challenging to detect unfeasibility and determine solutions.

Method used

The constraints are reformulated in a higher-dimensional lifted space to ensure intersection, transforming the original quadratic programming problem into a uniform quadratic programming problem that allows for efficient detection of unfeasibility and solution generation through lift and projection operations.

Benefits of technology

This approach enables efficient detection of unfeasibility and computation of solutions by ensuring all constraints intersect, allowing for effective control of machines based on feasible solutions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007829806000034
    Figure 0007829806000034
  • Figure 0007829806000035
    Figure 0007829806000035
  • Figure 0007829806000036
    Figure 0007829806000036
Patent Text Reader

Abstract

The present disclosure discloses a system and method for controlling the operation of a machine according to tasks. The method includes formulating an original quadratic programming problem (QP) for optimizing an objective function subject to equality constraints and inequality constraints; lifting the equality constraints and inequality constraints to a lifted space by a lifting operation that introduces additional non-negative variables; and converting the objective function of the original QP into a quadratic objective function. The quadratic objective function subject to the lifted equality constraints and inequality constraints forms a homogeneous QP in the lifted space. The method further includes solving the homogeneous QP to generate a solution in the lifted space, and controlling 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.
Need to check novelty before this filing date? Find Prior Art

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 system's dynamic model, the limitations in the form of inequality constraints, and the performance metrics in the form of cost functions is systematic. At each sampling time, a 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] To address this, several methods have been developed for solving quadratic programming problems. Examples of methods for solving quadratic programming problems include the interior-point method, the effective constraint method, the extended Lagrangian method, and the conjugate gradient or gradient projection method. However, quadratic programming problems are difficult to solve due to their potential non-convexity and constraints. To address this problem, some methods reformulate the quadratic programming problem in a different space and solve the reformulated quadratic programming problem. For example, the extended Lagrangian method solves the Lagrangian dual of a quadratic programming problem.

[0005] However, while reformulating quadratic programming problems can address some issues, another troublesome problem remains: the possibility that a quadratic programming problem may have no feasible solutions at all. Unfeasibility can arise when constraints defining different sets of feasible solutions do not intersect. For example, a quadratic programming problem may be subject to equality and inequality constraints defining two sets of feasible solutions. If these two sets of feasible solutions do not intersect, the quadratic programming problem is unfeasible. Therefore, a crucial feature necessary for solving quadratic programming problems is the detection of their unfeasibility. [Overview of the project]

[0006] The objective of some embodiments is to provide a system and method for detecting the unfeasibility of an original quadratic programming problem (QP). The original QP optimizes a constrained objective function, which may include equality and inequality constraints. Additionally or alternatively, the objective of some embodiments is to provide a system and method that can determine the solution to the original QP if the original QP is feasible. In addition, the objective of some embodiments is to determine control commands to a machine based on the solution to the original QP and to control the machine based on the control commands determined based on the solution to the original QP.

[0007] Some embodiments are based on the idea that, in addition to or instead of reformulating the original QP in a different space, the constraints can be reformulated in a different space of a higher dimension to ensure that all possible sets defined by different constraints intersect at least one point. The basic principle here is that if the optimal solution of QP is found to be at that point, then the solution to the original QP is unfeasible. Unfeasibility is detected based on convergence of iterations rather than divergence. Detecting feasibility based on convergence is more efficient and computationally less expensive.

[0008] For example, in some embodiments, inequality and equality constraints are lifted by a lift operation to a lifted space having a higher dimension than the original space of the original QP. The lift 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 impossibility of the original QP can be detected if the solution to QP in the lifted space has a value of the additional non-negative variable equal to zero.

[0009] Various lift operations can be used to transform constraints from their original space to a higher-dimensional lifted space. Examples of these lift operations include multiplying constraints by one or more additional variables that define a new dimension, and affine or non-affine transformations of constraints.

[0010] Some embodiments select a lift operation that has a corresponding projection operation that reverses the effect of the lift operation. For example, if the lift operation involves multiplying the 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 lift operation involves adding an additional non-negative variable to the 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 understanding that in order to use constraints in the lifted space, the original QP needs to be transformed from the original space to the lifted space. However, the lift operation used to lift constraints cannot be directly applied to lift the objective function of the original QP because the objective function has both quadratic and linear terms. By multiplying the quadratic term by an additional non-negative variable, an objective function is obtained that is a degree 3 polynomial and is no longer a quadratic programming problem. In other words, the lift operation cannot be directly applied to the original QP.

[0012] However, some embodiments are based on the understanding that the relationship between the optimal solution in the original space and the optimal solution in the lifted space depends on the lift operation, regardless of the structure of the original QP lifted into the lifted space. Furthermore, the optimal solution is unknown, but it should satisfy the first-order optimality condition. Moreover, the lift operation for constraints cannot be applied to the QP objective function, but it can be applied to the first-order optimality condition.

[0013] To this end, some embodiments lift the constraints to the lifted space by a 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 uniform QP in the lifted space such that the first-order optimality condition of the uniform QP corresponds to the first-order optimality condition of the original QP lifted to a higher space by the lift operation.

[0014] Furthermore, a uniform QP is solved to generate a solution in the lifted space. If the value of the additional non-negative variable in the solution in the lifted space is equal to zero, the machine is controlled according to the impracticality protocol. If the value of the additional non-negative variable in the solution in the lifted space is not equal to zero, a projection operation that reverses the lift operation is used to project the solution in the lifted space onto the original space to generate the solution of the original QP. For example, if the equality constraint is lifted into the lifted space by scaling the equality constraint with an additional non-negative variable, the solution in the lifted space is projected onto the original space by dividing the solution in the lifted space by the additional non-negative variable.

[0015] Furthermore, in some embodiments, control commands are determined based on the solution to the original QP. The machine is then controlled based on the control commands determined based on the solution to the original QP.

[0016] Different embodiments will use different formulations of the uniform QP. Any formulation of the uniform QP is valid insofar as the first-order optimality condition of the uniform QP corresponds to the first-order optimality condition of the original QP lifted to a higher space by the lift operation. However, some embodiments may impose additional rules on the formulation of the uniform QP for various computational and optimization reasons. For example, in one embodiment, the original QP is transformed such that the solution of the uniform QP in the lifted space is negative if the value of the additional non-negative variable is positive. This rule ensures that the optimal value of the lifted space for the original QP problem that is viable does not have a value of the additional non-negative variable that is equal to zero.

[0017] Accordingly, one embodiment discloses a controller for controlling the operation of a machine according to a task. The controller comprises a memory configured to store executable instructions and a processor, the processor executing the executable instructions and providing the controller with feedback signals indicating the current state of the machine's operation and the original quadratic programming problem (QP: Quadratic) for optimizing an objective function that is subject to equality and inequality constraints on one or a combination thereof of state variables and control variables of the machine based on the task and the current state of the machine's operation. The program is configured to formulate the objective function (QP) and to lift the above equality constraints and inequality constraints to a lifted space having a higher dimension than the original space of the original QP by a lift operation, wherein the lift operation introduces additional non-negative variables such that the subspace defined by the equality constraints in the lifted space intersects with the subspace defined by the inequality constraints in the lifted space at least at the origin of the lifted space, and the processor is further configured to execute the executable instructions to cause the controller to transform the objective function of the original QP into a quadratic objective function that includes the variables of the original QP and the additional non-negative variables, wherein the quadratic objective function subject to the lifted equality constraints and inequality constraints is The processor is configured to form a uniform QP in the space after the lift such that the first-order optimality condition of the uniform QP corresponds to the first-order optimality condition of the original QP lifted to a higher space by the lift operation, and to execute the executable instructions to cause the controller to solve the uniform QP and generate a solution in the space after the lift, to control the machine according to the impracticality protocol if the value of the additional non-negative variable in the solution in the space after the lift is equal to zero, or, if not, to project the solution in the space after the lift onto the original space using a projection operation that reverses the lift operation to generate a solution for the original QP, and to control the machine using control commands determined based on the solution for 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 feedback signals indicating the 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 thereof of the machine's state variables and control variables based on the task and the current state of the operation of the machine; and lifting the equality and inequality constraints by a lift operation to a lifted space having a higher dimension than the original space of the original QP, wherein the lift operation introduces additional non-negative variables such that the subspace defined by the equality constraints in the lifted space intersects with the subspace defined by the inequality constraints in the lifted space at least at the origin of the lifted space; and the method further defines the objective function of the original QP with the variables of the original QP and the additional non-negative variables. The method includes the step of transforming into a quadratic objective function that includes an additional non-negative variable, wherein the quadratic objective function subject to the lifted equality and inequality constraints is formed such that the first-order optimality condition of the uniform QP in the lifted space corresponds to the first-order optimality condition of the original QP lifted to a higher space by the lift operation, and the method further includes the steps of solving the uniform QP to generate a solution in the lifted space, controlling the machine according to an impracticality protocol if the value of the additional non-negative variable in the solution in the lifted space is equal to zero, otherwise projecting the solution in the lifted space onto 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 control commands determined based on the solution of the original QP.

[0019] Accordingly, yet another embodiment discloses a non-temporary computer-readable storage medium in which a processor-executable program is embodied for performing a method for controlling the operation of a machine according to a task. The method includes the steps of: collecting feedback signals indicating the 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 thereof 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 and inequality constraints by lift operation to a lifted space having a higher dimension than the original space of the original QP, wherein the lift operation introduces additional non-negative variables such that the subspace defined by the equality constraints in the lifted space intersects with the subspace defined by the inequality constraints in the lifted space at least at the origin of the lifted space, and the method further defines the objective function of the original QP with the variables of the original QP and the additional The method includes the step of transforming into a quadratic objective function that includes an additional non-negative variable, wherein the quadratic objective function subject to the lifted equality and inequality constraints is formed such that the first-order optimality condition of the uniform QP in the lifted space corresponds to the first-order optimality condition of the original QP lifted to a higher space by the lift operation, and the method further includes the steps of solving the uniform QP to generate a solution in the lifted space, controlling the machine according to an impracticality protocol if the value of the additional non-negative variable in the solution in the lifted space is equal to zero, otherwise projecting the solution in the lifted space onto 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 control commands determined based on the solution of the original QP.

[0020] Referring to the accompanying drawings, the embodiments disclosed herein will be further described. The drawings shown are not necessarily drawn to scale, but instead, emphasis is placed on explaining the principles of the embodiments disclosed herein as a whole.

Brief Description of the Drawings

[0021] [Figure 1A] It is a diagram showing an environment for controlling the operation of a machine according to a task, according to some embodiments of the present disclosure. [Figure 1B] It is a block diagram of a controller for controlling the operation of a machine, according to an embodiment of the present disclosure. [Figure 1C] It is a diagram showing an example of an original non-executable quadratic programming problem (QP), according to an embodiment of the present disclosure. [Figure 1D] It is a diagram showing the conversion of the objective function of the original QP to a quadratic objective function, according to an embodiment of the present disclosure. [Figure 1E] It is a block diagram for solving a homogeneous QP to generate a solution in the lifted space and controlling a machine based on the solution in the lifted space, according to an embodiment of the present disclosure. [Figure 2] It is a block diagram for determining the scalar of the quadratic term of an additional non-negative variable, according to an embodiment of the present disclosure. [Figure 3] It is a diagram showing an overview of the original QP, the first-order optimality condition of the original QP, and the non-executability condition of the original QP, according to an embodiment of the present disclosure. [Figure 4] It is a diagram showing an overview of a homogeneous QP and the first-order optimality condition of the homogeneous QP, according to an embodiment of the present disclosure. [Figure 5] It is a diagram showing the interior point method (IPM) algorithm for determining the solution of a homogeneous QP, according to an embodiment of the present disclosure. [Figure 6] It is a diagram showing an overview of the active-set method (ASM) for determining the solution of a homogeneous QP, according to an embodiment of the present disclosure. [Figure 7]A diagram showing an overview of the Alternating Direction Method of Multipliers (ADMM) for determining a solution of a uniform QP according to an embodiment of the present disclosure. [Figure 8] A diagram showing an algorithm for solving a Linear Conic Programs (LCP) according to an embodiment of the present disclosure. [Figure 9] A block diagram of a Model Predictive Controller (MPC) for determining control commands according to some embodiments of the present disclosure. [Figure 10A] A diagram showing an overview of a vehicle including a controller for controlling the vehicle according to some embodiments of the present disclosure. [Figure 10B] A diagram showing an overview of the interaction between a controller and a vehicle controller according to some embodiments of the present disclosure. [Figure 10C] A diagram showing an overview of path planning and / or motion planning for a vehicle according to some embodiments of the present disclosure. [Figure 11A] A diagram showing an overview of a spacecraft predictive control problem according to some embodiments of the present disclosure. [Figure 11B] A diagram showing an overview of a spacecraft predictive control problem according to some embodiments of the present disclosure. [Figure 12A] A diagram showing an overview of the control of a Vapor Compression System (VCS) by a controller according to some embodiments of the present disclosure. [Figure 12B] A diagram showing an overview of the control of a Vapor Compression System (VCS) by a controller according to some embodiments of the present disclosure. [Figure 13] A block diagram of an entire method for controlling the operation of a machine according to a task according to an embodiment of the present disclosure. [Figure 14] A block diagram of an entire method for controlling the operation of a machine according to a task according to an embodiment of the present disclosure. [Modes for carrying out the invention]

[0022] The following description includes numerous specific details for illustrative purposes to enable a complete understanding of this disclosure. However, it will be apparent to those skilled in the art that this disclosure can be implemented without these specific details. In other instances, to avoid ambiguity, apparatus and methods are shown only in block diagram form.

[0023] As used herein and in the claims, the phrases “for example,” “as an example,” and “etc.,” as well as the verbs “equip,” “have,” and “include,” and each of their other verbal forms, should be interpreted as open-ended when used with an enumeration of one or more components or other items. This means that the enumeration should not be considered to exclude any other additional components or items. The phrase “based on” means that it is based at least partially. Furthermore, it should be understood that the terms and technical terms used herein are for illustrative purposes only and should not be considered limiting. Any headings used herein are for convenience only and have no legal or limiting effect.

[0024] Figure 1A shows an environment 100 for controlling the operation of a machine 103 according to a task, according to some embodiments of the present disclosure. A controller 101 is operationally connected to the machine 103. The controller 101 is configured to control the operation of the machine 103 according to a task. 103Examples include vehicles (e.g., autonomous vehicles), robotic assemblies, legged robots, motors, elevator doors, and HVAC (heating, ventilation, and air conditioning) systems. For example, vehicles may include self-driving cars, aircraft, spacecraft, and dynamic positioning vessels. Examples of the operation of machine 103 include, but are not limited to, 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.

[0025] Furthermore, machine 103 is connected to controller 101 via state estimator 105. In some implementations, controller 101 is programmed according to a model 107 of machine 103. The machine model 107 may include a set of mathematical formulas that describe how the state of machine 103 changes over time in relation to the machine 103's current and previous inputs and previous outputs. According to one embodiment, the state of machine 103 is a suitable subset of any information that generally changes over time, such as current and previous inputs and outputs, and this information, together with the model 107 of machine 103 and future inputs, can uniquely define the future movement of machine 103. The machine model 107 may include constraints 109 that represent the physical and operational limitations of machine 103.

[0026] During operation, the controller 101 receives a command 115 indicating the 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 which 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 machine 103's output 113, the state estimator 105 estimates the operating state 117 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 operating state of the machine 103.

[0027] The machine 103 referred to herein may be any system or device controlled by an input signal (e.g., input 111) and returning several controlled output signals (e.g., output 113). The input signal may optionally be associated with a physical quantity such as voltage, pressure, force, or torque, and the output signals may optionally be associated with a physical quantity such as current, flow, velocity, or position that indicates a transition of the state of the machine 103 from a previous state to a current state.

[0028] The state estimator 105 may be implemented in hardware, or as a software program running on the same or a different processor as the controller 101, and receives the output of machine 103 at a fixed or variable control period sampling interval, and uses new output measurements and previous output measurements to analyze the machine 103 The estimated state 117 is determined. The controller 101 may be implemented in hardware, or it may be implemented as a software program executed on a processor such as a microprocessor. An exemplary implementation of the controller 101 will be described later in Figure 1B.

[0029] Figure 1B is a block diagram of a controller 101 according to one embodiment of the present disclosure. The controller 101 includes a processor 119 and a memory 121. The processor 119 may be a single-core processor, a multi-core processor, a computing cluster, or any number of other configurations. The memory 121 may include random access memory (RAM), read-only memory (ROM), flash memory, or any other suitable memory system. In addition, 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 may collect feedback signals indicating the current state of the operation of the machine 103. Furthermore, the processor 119 formulates the original quadratic programming problem (QP) for optimizing the constrained objective function. These constraints may include equality and inequality constraints on one or more of the state variables and control variables of the machine 103, based on the task and the current state of the machine 103's operation. The general form of the original QP is expressed as follows:

number

[0031]

number

[0032] The original QP can be solved using methods such as the interior-point method, the effective constraint method, the extended Lagrangian method, and the conjugate gradient or gradient projection method, but not limited to these. 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 in a different space, and the reformulated QP is solved. For example, the extended Lagrangian method solves the Lagrangian dual of a quadratic programming problem.

[0033] However, while reformulating the original QP can address some issues, another troublesome problem remains: the possibility that the original QP may have no feasible solutions at all. Unfeasibility can arise when constraints defining different feasible sets do not intersect. For example, the original QP may be subject to equality and inequality constraints defining two feasible sets. If these two feasible sets do not intersect, the original QP is unfeasible.

[0034] Figure 1C shows an exemplary unfeasible original QP according to one embodiment of the present disclosure. The original QP may include two dimensions, namely x1123 and x2125. In other words, the original QP is two-dimensional. In this case, there are no feasible points because constraints such as the inequality constraint x1, x2 ≥ 0 and the equality constraint x1 + x2 = -1 do not intersect.

[0035] Some embodiments are based on the idea that, in addition to or instead of reformulating the original QP in a different space, the constraints can be reformulated in a different space of a higher dimension to ensure that all possible sets defined by different constraints intersect at least one point. The basic principle here is that if the optimal solution of the original QP is found to be at that point, then the solution to the original QP is not feasible.

[0036] For example, in one embodiment, the processor 119 lifts inequality constraints (e.g., x1, x2 ≥ 0) and equality constraints (e.g., x1 + x2 = -1) to a lifted space 129 having a higher dimension than the original space of the original QP by a lift operation 127. For example, the lifted space 129 has three dimensions, namely x1123, x2125, and τ131, while the original space of the original QP is two-dimensional, namely x1123 and x2125. The lift operation 127 introduces an additional non-negative variable τ such that the subspace defined by the equality constraint in the lifted space 129 intersects with the subspace defined by the inequality constraint in the lifted space at least at the origin 129 of the lifted space 129. Thus, the impossibility of the original QP can be detected if the solution to 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 constraints from their original space to a higher-dimensional lifted space. Examples of lift operations include multiplying constraints by one or more additional variables that define a new dimension, and affine or non-affine transformations of constraints.

[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 value in the original space by an additional non-negative variable, the projection operation involves dividing the value 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 value in the original space, the projection operation involves subtracting the additional non-negative variable from the value in the lifted space 129.

[0039] Some embodiments are based on the understanding that the original QP needs to be transformed from its 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 lift the objective function of the original QP because the objective function has a quadratic term and a linear term. By multiplying the quadratic term by an additional non-negative variable τ, an objective function is obtained that is a degree 3 polynomial and is no longer a quadratic programming problem. In other words, the lift operation 127 cannot be directly applied to the original QP.

[0040] However, some embodiments are based on the understanding that, regardless of the structure of the original QP lifted into the lifted space 129, the relationship between the optimal solution in the original space and the optimal solution in the lifted space 129 is determined by the lift operation 127. Furthermore, the optimal solution is unknown, but it should satisfy the first-order optimality condition. Moreover, the lift operation 127 for constraints cannot be applied to the QP objective function, but it can be applied to the first-order optimality condition. Based on this understanding, the objective function of the original QP is transformed into a second-order objective function, which will be described later in Figure 1D.

[0041] Figure 1D shows the transformation of the objective function of the original QP into a quadratic objective function according to one embodiment of the present disclosure. After lifting the constraints to the lifted space 129, the processor 119 transforms the objective function 135 of the original QP into a quadratic objective function 137 that includes the variables of the original QP and an additional non-negative variable τ (133). The quadratic objective function 137, subject to the lifted equality and inequality constraints 139, forms a uniform QP 141 in the lifted space 129 such that the first-order optimality condition 143 of the uniform QP 141 corresponds to the first-order optimality condition 145 of the original QP lifted to a higher space by the lift operation 127.

[0042] Furthermore, as will be described later in Figure 1E, the processor 119 solves the uniform QP141 to generate a solution in the space after the lift, and then controls the machine 103 based on the solution in the space after the lift.

[0043] Figure 1E is a block diagram of an embodiment of the present disclosure for solving a uniform QP141 to generate a solution in the space after the lift, and for controlling the machine 103 based on the solution in the space after the lift. In block 147, the processor 119 This solves a uniform QP to generate a solution in the space after the lift.

[0044] In block 149, the processor determines whether the value of the additional non-negative variable in the solution in the lifted space is equal to zero. If the value of the additional non-negative variable in the solution in the lifted space is equal to zero, in block 151, the processor 119 controls the machine 103 according to an impracticality protocol. This impracticality protocol may involve ignoring some of the inequality constraints or using alternative machine control methods that relax the inequality constraints. One type of relaxing the inequality constraints may be removing the non-negativity boundary.

[0045] If the value of the additional non-negative variable in the solution in the lifted space is not equal to zero, in block 153, processor 119 projects the solution in the lifted space 129 onto the original space using a projection operation that reverses the lift operation to produce the solution to the original QP. For example, if the equality constraint is lifted to the lifted space 129 by scaling the equality constraint by an additional non-negative variable, the solution in the lifted space 129 is projected onto the original space by dividing the solution in the lifted space by the additional non-negative variable.

[0046] In block 155, the processor 119 determines a control command based on the solution to the original QP. Furthermore, in block 157, the processor 119 controls the machine 103 based on the control command determined based on the solution to the original QP.

[0047] The formulations of the original QP and the uniform QP141 are explained mathematically below. Original QP The original general form of QP can be expressed as follows:

number

[0048] The formulation in equation (1) is general and can be obtained from the more general formulation in equation (2) by introducing additional variables, for example, those shown in equations (3) and (4). The formulation in equation (2) is transformed by adding additional variables to the constraints, and as a result, the inequality constraint in equation (2) is transformed into an equality constraint as follows.

number

[0049]

number

[0050] Different embodiments require different formulations of the uniform QP. However, all formulations of the uniform QP are valid insofar as the first-order optimality condition of the uniform QP corresponds to the first-order optimality condition of the original QP lifted to a higher space by the lift operation.

[0051] However, some embodiments may impose additional rules on the formulation of a uniform QP for various computational and optimization reasons. For example, in one embodiment, the original QP is transformed such that the solution to the uniform QP in the lifted space is negative if the value of an additional non-negative variable is positive. This rule ensures that the optimal value in the lifted space of the original feasible QP problem does not have an additional variable value equal to zero.

[0052] Additionally or alternatively, some embodiments impose further requirements on the constant values ​​in the uniform QP. For example, in one embodiment, the uniform 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 the additional non-negative variable can take a positive value in the optimal solution of the uniform QP if the original QP is feasible.

[0053] Figure 2 is a block diagram 200 for determining a scalar of a quadratic term of an additional non-negative variable according to one embodiment of the present disclosure. In block 201, processor 119 determines a lower bound on the target value in the solution of the original QP to ensure that the additional non-negative variable can take a positive value in the optimal solution of the uniform QP if the original QP is feasible. Furthermore, in block 203, 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 number of the lower bound. This is advantageous because it is sufficient to ensure that the additional non-negative variable is positive in the optimal solution of the uniform QP.

[0054] For example, in one embodiment, a uniform QP includes a quadratic term of the original QP, a linear term of the original QP scaled by an additional non-negative variable, a quadratic term of the additional non-negative variable scaled by a scalar chosen to be greater than twice the negative lower bound of the original QP, and a negative linear term of an additional positive variable. This formulation of a uniform QP is advantageous because it is still quadratic, and therefore conventional methods for solving the original QP are applicable to solving the uniform QP. Furthermore, this formulation guarantees a correlation of optimality conditions after the lift, and if the original QP is feasible, then the additional variable has an optimal value if it is positive. For example, a uniform QP can be expressed as follows:

number

[0055] In equation (5), multiplying the right-hand side of the equality constraint is called lifting the equality constraint in the original QP to obtain the equality constraint in the lifted space with x and an additional non-negative variable τ. An important property of the lifted equality constraint Ax=bτ is that x=0,τ=0 is feasible in a uniform QP under the lifted equality constraint and non-negative constraints x≧0,τ≧0. This guarantees that a uniform QP is always feasible. Thus, the optimal solution for a uniform QP is easily obtained.

[0056]

number

[0057]

number

[0058]

number

[0059]

number

[0060]

number

[0061]

number

[0062]

number

[0063]

number

[0064] In one embodiment, the lower bound of the original QP with respect to the target value is obtained by solving an equality constraint problem.

number

[0065] The optimization problem in equation (9) can be obtained from the original QP by ignoring the boundary constraints. Therefore, the optimal solution for equation (9) is the lower bound for the original QP under stronger constraints.

[0066]

number

[0067] In one embodiment, an interior-point method (IPM) is used to determine a solution for a uniform QP. The IPM used to solve a uniform QP is the same IPM that can be used for the original QP. The IPM aims to obtain a solution for the first-order stationary condition in equation (7). The quantity is defined as follows:

number

[0068]

number

[0069]

number

[0070]

number

[0071]

number

[0072] In addition, in one embodiment, the Effective Constraint Method (ASM) is used to determine a uniform solution to QP. The ASM proceeds by selecting a subset of boundaries that satisfy the equation. Using the selected subset, the equation-constrained QP is solved. The solution obtained is optimal if all multipliers of the selected boundary constraints that satisfy the equation are non-negative, and the remaining boundary constraints are also satisfied. Otherwise, constraints with negative multipliers are discarded, and unfeasible constraints are added. Below, the active set at point (x,τ) is defined as follows:

number

[0073]

number

[0074]

number

[0075]

number

[0076] Additionally or alternatively, in one embodiment, the alternating direction multiplier method (ADMM) is used to determine a solution to a uniform QP. ADMM divides the solution to a uniform QP into two obviously solvable parts, and then alternately focuses on these two parts while updating the multipliers connecting them. There are several approaches to dividing a solution to a uniform QP. For example, in one embodiment, the first of the two parts involves an equality-constrained programming problem, and the second of the two parts is a projection onto a non-negative quadrant. The first part is as follows:

number

number

[0077]

number

[0078] Some embodiments are based on the understanding that, in addition to the original QP, a linear cone programming (LCP) can also be solved when solving the original QP (as explained in Figures 1C to 1E). An LCP is an optimization problem with 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 using the algorithm described later in Figure 8.

[0081]

number

[0082] In some implementations, 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 and / or control values ​​over a predicted time range from a previous control time step are used as solution inferences, the purpose of which is to reduce the computational complexity of solving the OCP-QP in the current control time step. This concept of calculating solution inferences from solution information in a previous control time step 310 is called a warm start or hot start. To this end, in block 903, the optimal control solution information from the previous control time step is read from memory (e.g., memory 121), and in block 905, the OCP-QP is solved to determine a solution vector 907 containing a sequence of control commands. In block 909, the solution vector 907 may be used to update and / or store a sequence of control commands in preparation for the next control time step.

[0085] Figure 10A is a schematic diagram of a vehicle 1001 including a controller 101 according to some embodiments of the present disclosure. The vehicle 1001 used herein may be any type of wheeled vehicle, such as a passenger car, bus, or rover. The vehicle 1001 may also be an autonomous vehicle or a semi-autonomous vehicle. For example, some embodiments control the movement of the vehicle 1001. An example of movement is the lateral movement of the vehicle 1001, which is 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 the driver of the vehicle 1001.

[0086] Vehicle 1001 may also include an engine 1006 controllable by controller 101 or by other components of vehicle 1001. Vehicle may also include one or more sensors 1004 for sensing the surrounding environment. Examples of sensors 1004 include distance measuring devices, radar, lidar, and cameras. Vehicle 1001 may also include one or more sensors 1005 for sensing the amount of its current movement and internal state. Examples of sensors 1005 include a Global Positioning System (GPS), accelerometer, inertial measuring device, gyroscope, shaft rotation sensor, torque sensor, deflection sensor, pressure sensor, and flow sensor. These sensors provide information to controller 101. Vehicle may include a transceiver 1007 that enables the communication function of controller 101 via a wired or wireless communication channel.

[0087] Figure 10B is a schematic diagram of the interaction between controller 101 and vehicle controller 1020 according to some embodiments. For example, in some embodiments, vehicle controller 1020 is a steering controller 1025 and a brake / throttle controller 1030 that control the rotation and acceleration of vehicle 1001. In such cases, controller 101 outputs control commands to controllers 1025 and 1030 to control the state of vehicle 1001, such as acceleration and orientation, in order to control the movement of vehicle 1001. Controller 1020 may also include high-level controllers that further process the control commands of controller 101, such as a lane departure prevention support controller 1035. 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, in order to control the movement of vehicle 1001.

[0088] Figure 10C shows a schematic of an autonomous or semi-autonomous vehicle 1050 controlled by a controller 101, in which a dynamically achievable and often optimal trajectory 1055 can be calculated using the principles of several embodiments. The generated trajectory 1055 aims to keep the vehicle 1050 within a specific road boundary 1052 and to avoid other uncontrollable vehicles, i.e., obstacles 1051 for the controlled vehicle 1050. In some embodiments, each of the obstacles 1051 can be represented by one or more inequality constraints in the time or space formulation of the original QP. The controlled vehicle 1050 can make decisions in real time, for example, to pass another vehicle by going left or right, or instead to follow another vehicle in the current lane of road 1052.

[0089] Figures 11A and 11B show a spacecraft 1102 equipped with a plurality of actuators, such as a thruster 1150 and a momentum exchanger 1151, according to some embodiments of the present disclosure. Examples of the momentum exchanger 1151 include a reaction wheel (RW) and a gyroscope. The spacecraft 1102 is a vehicle, ship or machine designed to fly in space, whose operation changes quantities such as the position, velocity and attitude or orientation of the spacecraft in response to commands sent to the actuators. When commanded, the actuators transmit forces to the spacecraft 1102 that translate its position by increasing or decreasing the velocity of the spacecraft 1102, and when commanded, the actuators also transmit torques to the spacecraft 1102 that change its attitude or orientation by rotating the spacecraft 1102. The operation of the spacecraft 1102 as used herein 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 through space along an open or closed orbital path 1160 around, between, or near one or more gravitational bodies such as Earth 1161, the Moon, and / or other celestial bodies, planets, stars, asteroids, comets, etc. Typically, 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 of all zeros in said reference coordinate system, is always the coordinates of the desired position 1165.

[0091] The spacecraft 1102 is subjected to various disturbance forces 1114. These disturbance forces 1114 may include forces that were not taken into account when determining the orbital path 1160 of the spacecraft 1102. The disturbance forces act on the spacecraft 1102, causing it to move away from a desired position 1165 on the orbital path 1160. These forces may include, but are not limited to, gravitational force, radiation pressure, atmospheric drag, a non-spherical core, and leaking propellant. Thus, the spacecraft 1102 may be located at a certain distance (1167) from the desired position 1165.

[0092] Due to disturbance forces, it is not always possible to maintain the spacecraft 1102 at a desired position 1165 along its orbit. Therefore, instead, it is desirable for the spacecraft 1102 to remain within a window 1166 having specified dimensions 1164 around the desired position 1165. To this end, the spacecraft 1102 is controlled to move along any path 1180 contained within the window. In this example, the window 1166 has a rectangular shape, but in different embodiments, the shape of the window may vary.

[0093] Furthermore, 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 is always oriented toward Earth 1161. However, depending on the shape of the spacecraft 1102, various disturbance forces 1114 may act non-uniformly on the spacecraft 1102, thereby generating disturbance torques that cause the spacecraft 1102 to rotate away from its desired orientation. To compensate for these disturbance torques, the spacecraft 1102 can maintain its desired orientation by absorbing the disturbance torques using momentum exchange devices 1151, such as reaction wheels. To prevent the momentum exchange devices 1151 from losing their ability to compensate for disturbance torques due to saturation, their stored momentum must be unloaded, for example, by reducing the spin rate of the reaction wheels. Unloading from momentum exchanger 1151 transmits undesirable torque to spacecraft 1102. This undesirable torque is also compensated for by the thrusters.

[0094] In some embodiments, the controller 101 is configured to determine a control command for the spacecraft 1102 based on a solution of the original QP that keeps the spacecraft 1102 outside a specific zone 1185 having specified dimensions near a desired position 1165 along the orbit 1160. The latter zone may be fixed in time or change over time and is often referred to as a no-go zone 1185, where 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 corner 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] Figure 12A is a schematic diagram 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 the 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 VCS1200 may include a flow reversal valve 1255 used to direct the high-pressure refrigerant exiting the compressor to 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 to the compressor inlet. When the high-pressure refrigerant is directed to the outdoor unit heat exchanger 1230, the outdoor unit heat exchanger 1230 acts as a condenser, and the indoor unit heat exchanger 1220 The VCS1200 acts as an evaporator, rejecting heat from zone 1250 into the surrounding 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 acts as a condenser, and the outdoor unit heat exchanger 1230 acts as an evaporator, extracting heat from the surrounding environment and injecting this heat into zone 1250. This is operationally referred to as the "heating mode."

[0097] Figure 12B shows an example of the configuration of signals, sensors, and a controller 101 used in a VCS1200 according to some embodiments of the present disclosure. The controller 101 reads information from sensors 1270 configured to measure various temperatures, pressures, flow rates, or other information about the operation of the VCS1200, including measurable disturbances such as ambient air temperature. The controller 101 may be provided with setpoints 1266 that represent desired values ​​of process measurement signals, such as desired zone temperatures. Setpoints 1266 may be obtained from a thermostat, a wireless remote control, or internal memory or storage medium. The controller 101 then calculates control commands such that several measured outputs are driven to the setpoints. The calculated control commands may include indoor unit fan speed 1280, outdoor unit fan speed 1281, compressor rotation speed 1282, expansion valve position 1283, and flow reversal valve position 1284. In this way, the controller 101 controls the operation of the VCS 1200 so that the setpoint value is achieved even when disturbances 1268, such as thermal loads, act on the VCS 1200.

[0098] Some embodiments are based on the understanding that the controller 101 can also be used for power system control. For example, the original QP solved by the controller 101 may be derived for power grid control. Optimal power flow (OPF) is crucial in the operation and planning of power systems. OPF is widely used in planning problems or at the operational level to determine the optimal generation schedule for active and reactive power that minimizes the operational system cost subject to grid constraints. In both the planning and operational domains, determining a manageable formulation of the OPF problem is crucial because they are often intertemporal and combined in the form of multi-period OPF problems. A linear OPF approximation that operates in the full space of decision variables and incorporates power losses is used in power grid operations.

[0099] According to one embodiment, a linear approximation problem for a power grid having i ∈ N buses connected to a generator and loads can be expressed as follows:

number

[0100] The controller 101 determines the solution to the linear approximation problem. The solution to the linear approximation problem may include the value of the active power in bus i.

[0101] Figures 13 and 14 are block diagrams of an overall method 1300 for controlling the operation of a machine according to a task, according to one embodiment of the present disclosure. In block 1301, the method 1300 includes the step of collecting feedback signals indicating the current state of the machine's operation. In block 1303, the method 1300 includes the step of formulating an original quadratic programming problem (QP) for optimizing a constrained objective function. These constraints may include equality and inequality constraints on one or a combination of machine state variables and control variables based on the task and the current state of the machine's operation.

[0102] In block 1305, method 1300 includes the step of lifting the equality and inequality constraints by a lift operation to a lifted space having a higher dimension than the original space of the original QP. The lift 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, method 1300 includes the step of transforming the objective function of the original QP 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 uniform QP in the lifted space such that the first-order optimality condition of the uniform QP corresponds to the first-order optimality condition of the original QP lifted to a higher space by the lift operation.

[0104] In block 1309, method 1300 includes the step of solving a uniform QP to generate a solution in space after the lift.

[0105] In block 1311, method 1300 includes the step of determining whether the value of an additional non-negative variable in the solution in the space after the lift is equal to zero. If the value of an additional non-negative variable in the solution in the space after the lift is equal to zero, in block 1313, method 1300 includes the step of controlling machine 103 according to the impracticality protocol.

[0106] If the value of the additional non-negative variable in 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 onto the original space using a projection operation that reverses the lift operation to produce the solution of the original QP. For example, if the equality constraint is lifted into the lifted space by scaling the equality constraint by an additional non-negative variable, the solution in the lifted space is projected onto 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. Furthermore, in block 1319, method 1300 includes the step of controlling the machine based on the control command determined based on the solution to the original QP.

[0108] The description merely provides exemplary embodiments and is not intended to limit the scope, availability, or configuration of the present disclosure. Rather, the following description of exemplary embodiments will provide a practicable description for realizing one or more exemplary embodiments for those skilled in the art. Various modifications may be made in the function and arrangement of the elements without departing from the spirit and scope of the subject matter disclosed as stated in the appended claims.

[0109] Certain details are given in the following description in order to allow for a full understanding of the embodiments. However, it will be understood by those skilled in the art that embodiments can be carried out without these specific details. For example, to avoid obscuring the embodiments by describing them in unnecessary detail, 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 detail. Furthermore, the same reference numerals and names in different drawings refer to the same elements.

[0110] Furthermore, individual embodiments may be described as processes represented as flowcharts, flow diagrams, data flow diagrams, structural diagrams, or block diagrams. While flowcharts can describe operations as sequential processes, many operations may occur in parallel or simultaneously. In addition, the order of operations may be rearranged. A process may terminate when its operations are complete, but it may have additional steps not described or included in the diagrams. Moreover, not all operations in any particular process described may occur in all embodiments. A process may correspond to a method, function, procedure, subroutine, subprogram, etc. If a process corresponds to a function, the termination of that function may correspond to the function returning to a calling function or main function.

[0111] Furthermore, embodiments of the disclosed subject matter may be implemented at least partially manually or automatically. Manual or automatic implementation may be performed, or at least assisted, through the use of a machine, hardware, software, firmware, middleware, microcode, hardware description language, or any combination thereof. If implemented with software, firmware, middleware, or microcode, program code or code segments for performing the required tasks may be stored on a machine-readable medium. A processor may perform the required 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. In addition, such software may be written using any of many suitable programming languages ​​and / or programming tools or scripting tools, and may be compiled as executable machine code or intermediate code that runs 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 the example provided. The operations performed as part of the method may be ordered in any preferred manner. Thus, even though they are shown as a sequence of operations in the exemplary embodiments, embodiments may be constructed in which the operations are performed in a different order than illustrated. This may include performing several operations simultaneously.

[0114] Furthermore, embodiments of the present disclosure and the functional operations described herein may be implemented in digital electronic circuits, in tangibly embodied computer software or firmware, in computer hardware including structures disclosed herein and structurally equivalents thereof, or in a combination of one or more thereof. Furthermore, some embodiments of the present disclosure may be implemented as one or more computer programs, i.e., as one or more modules of computer program instructions encoded on a tangible non-temporary program carrier for execution by a data processing device or for controlling the operation of a data processing device. Furthermore, program instructions may be encoded on artificially generated propagating signals, such as machine-generated electrical signals, optical signals, or electromagnetic signals, which are generated to encode information for transmission to a suitable receiver device for execution by a data processing device. Computer storage media may be machine-readable storage devices, machine-readable storage boards, random or serial access memory devices, or a combination of one or more thereof.

[0115] According to embodiments of this disclosure, the term “data processing device” may encompass any type of device, apparatus, and machine for processing data, including, for example, a programmable processor, a computer, or multiple processors or computers. The apparatus may include, for example, dedicated logic circuits such as FPGAs (Field Programmable Gate Arrays) or ASICs (Application Specific Integrated Circuits). In addition to hardware, the apparatus may also include code that creates an execution environment for the computer program in question, such as processor firmware, a protocol stack, a database management system, an operating system, or code comprising one or more of these.

[0116] A computer program (also called or may be written as a program, software, software application, module, software module, script, or code) can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and can be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program may, but is not required to, correspond to a file in a file system. A program may be stored in a single file dedicated to the program in question, in part of a file that holds other programs or data, such as one or more scripts stored in a markup language document, or in a group of integrated files, such as a file that holds one or more modules, subprograms, or portions of code.

[0117] Computer programs can be deployed to run on a single computer, or on multiple computers located in one place or distributed across multiple locations and interconnected by a communication network. Suitable computers for running computer programs include, for example, those based on general-purpose microprocessors or dedicated microprocessors or both, and any other type of central processing unit. Generally, the central processing unit will receive instructions and data from read-only memory or random-access memory or both. Essential elements of a computer are a central processing unit for issuing or executing instructions, and one or more memory devices for storing instructions and data.

[0118] Generally, a computer may also include one or more mass storage devices for storing data, such as magnetic disks, magneto-optical disks, or optical disks, or may be operationally coupled to such mass storage devices to receive, transfer, or both data. However, a computer is not required to have such devices. Furthermore, a computer may be integrated into another device, for example, a mobile 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 user interaction, embodiments of the subject matter described in this specification may be implemented on a computer having a display device for displaying information to the user, such as a CRT (Cathode Ray Tube) or LCD (Liquid Crystal Display) monitor, and a keyboard and pointing device, such as a mouse or trackball, that allows the user to provide input to the computer. Other types of devices may also be used to provide user interaction. For example, the feedback provided to the user may be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback. Input from the user may be received in any form, including acoustic input, voice input, or tactile input. In addition, the computer may interact with the user by sending documents to and receiving documents from a device used by the user, for example, by sending a web page to a web browser on the user's client device in response to a request received from a web browser.

[0120] Embodiments of the subject matter described in this specification may be implemented in a computing system including, for example, a backend component as a data server, or a computing system including a middleware component such as an application server, or a computing system including a frontend component such as a client computer having a graphical user interface or a web browser that allows a user to interact with the 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 may be interconnected by digital data communication of any form or medium, such as a communication network. Examples of communication networks include local area networks (LANs) and wide area networks (WANs), such as the Internet.

[0121] A computing system may include clients and servers. Clients and servers are generally remote from each other and typically interact through a communication network. The relationship between a client and a server arises from computer programs running on each computer that have a client-server relationship with each other.

[0122] While this disclosure has been described with reference to a preferred embodiment, it should be understood that various other adaptations and modifications are possible within the spirit and scope of this disclosure. Therefore, the aspects of the appended claims are intended to encompass all such variations and modifications so as to fall within the true spirit and scope of this 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 the controller, Collecting a feedback signal indicating the current state of the operation of the machine, To formulate the original quadratic programming problem (QP: Quadratic Program) for optimizing an objective function that is subject to equality and inequality constraints on one or a combination thereof of the state variables and control variables of the machine, based on the current state of the task and the operation of the machine, The system is configured to lift the aforementioned equality constraints and inequality constraints to a lifted space having a higher dimension than the original space of the original QP by a lift operation, wherein the lift operation introduces additional non-negative variables such that the subspace defined by the equality constraints in the lifted space intersects with the subspace defined by the inequality constraints in the lifted space at least at the origin of the lifted space, and the processor further executes the executable instructions to the controller, The processor is configured to perform the transformation of the objective function of the original QP into a quadratic objective function that includes the variables of the original QP and the additional non-negative variables, wherein the quadratic objective function subject to the lifted equality and inequality constraints is formed such that the uniform QP in the lifted space is such that 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 lift operation, and the processor further executes the executable instructions to the controller, Solving the aforementioned uniform QP generates a solution in the space after the lift, If the value of the additional non-negative variable in the solution in the space after the lift is equal to zero, the machine is controlled according to the impracticality protocol. Otherwise, a projection operation that reverses the lift operation is used to project the solution in the space after the lift onto the original space to generate the original solution of QP. A controller configured to control the machine using control commands determined based on the solution to the original QP.

2. The controller according to claim 1, wherein the lift calculation includes multiplying the value in the original space by the additional non-negative variable.

3. The controller according to claim 2, wherein the additional non-negative variable in the lift calculation is a single additional variable.

4. The controller according to claim 1, wherein the original QP is transformed such that the solution of the uniform QP in the space after the lift is negative when the value of the additional non-negative variable is positive.

5. The controller according to claim 1, wherein the first-order optimality condition of the uniform QP corresponds to the first-order optimality condition of the original QP lifted to a higher space by the lift operation, and the projection operation transforms the solution to the first-order optimality condition of the uniform QP whenever the additional non-negative variable is positive, in order to satisfy the first-order optimality condition of the original QP.

6. The controller according to claim 1, wherein the uniform QP is solved based on the Interior Point Method (IPM) to determine the solution of the uniform QP.

7. The controller according to claim 1, wherein the uniform QP is solved based on the Active-Set Method (ASM) to determine the solution of the uniform QP.

8. The controller according to claim 1, wherein the uniform QP is solved based on the Alternating Direction Method of Multipliers (ADMM) to determine the solution of the uniform QP.

9. The aforementioned ADMM is The aforementioned uniform QP is configured to be divided into a first part and a second part, the first part being an equation-constrained programming problem, the second part being a projection onto a non-negative quadrant, and the ADMM further, Solve the first part mentioned above, The controller according to claim 8, configured to solve the second part.

10. The controller according to claim 1, wherein the machine is a vehicle, and the processor is further configured to control the movement of the vehicle based on control commands determined based on the solution of the original QP.

11. The controller according to claim 1, wherein the machine is a spacecraft, the inequality constraint of the original QP models a restricted area for the spacecraft, and the processor is further configured to determine control commands based on the solution of the original QP that cause the spacecraft to remain outside the restricted area, and to control the spacecraft based on the control commands.

12. A method for controlling the operation of a machine according to a task, A step of collecting a feedback signal indicating the current state of the operation of the machine, The steps include formulating an original quadratic programming problem (QP) for optimizing an objective function that is subject to equality and inequality constraints on one or a combination thereof of the state variables and control variables of the machine, based on the current state of the task and the operation of the machine, The method includes the step of lifting the equality constraints and inequality constraints by a lift operation to a lifted space having a higher dimension than the original space of the original QP, wherein the lift 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 includes, The method includes the step of transforming the objective function of the original QP into a quadratic objective function that includes the variables of the original QP and the additional non-negative variables, wherein the quadratic objective function subject to the lifted equality and inequality constraints is formed such that the uniform QP in the lifted space is such that 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 lift operation, and the method further includes, The steps include solving the aforementioned uniform QP to generate a solution in the space after the lift, If the value of the additional non-negative variable in the solution in the space after the lift is equal to zero, the machine is controlled according to the impracticality protocol. Otherwise, the step of using a projection operation that reverses the lift operation to project the solution in the space after the lift onto the original space to generate the original solution of QP, A method comprising the step of controlling the machine using a control command determined based on the solution of the original QP.

13. The method according to claim 12, wherein the lift operation includes multiplying the value in the original space by the additional non-negative variable.

14. The method according to claim 13, wherein the additional non-negative variable in the lift calculation is a single additional variable.

15. The method according to claim 12, wherein the original QP is transformed such that the solution of the uniform QP in the space after the lift is negative when the value of the additional non-negative variable is positive.

16. A non-temporary computer-readable storage medium in which a processor-executable program is embodied for performing a method for controlling the operation of a machine according to a task, wherein the method is A step of collecting a feedback signal indicating the current state of the operation of the machine, The steps include formulating an original quadratic programming problem (QP) for optimizing an objective function that is subject to equality and inequality constraints on one or a combination thereof of the state variables and control variables of the machine, based on the current state of the task and the operation of the machine, The method includes the step of lifting the equality constraints and inequality constraints by a lift operation to a lifted space having a higher dimension than the original space of the original QP, wherein the lift 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 includes, The method includes the step of transforming the objective function of the original QP into a quadratic objective function that includes the variables of the original QP and the additional non-negative variables, wherein the quadratic objective function subject to the lifted equality and inequality constraints is formed such that the uniform QP in the lifted space is such that 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 lift operation, and the method further includes, The steps include solving the aforementioned uniform QP to generate a solution in the space after the lift, If the value of the additional non-negative variable in the solution in the space after the lift is equal to zero, the machine is controlled according to the impracticality protocol. Otherwise, the step of using a projection operation that reverses the lift operation to project the solution in the space after the lift onto the original space to generate the original solution of QP, A non-temporary computer-readable storage medium, comprising the steps of controlling the machine using control commands determined based on the solution of the original QP.

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