Information processing device, information processing method, and program

WO2025047438A1PCT designated stage expired Publication Date: 2025-03-06SONY GROUP CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/029032
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-01
Filing Date
2024-08-15
Publication Date
2025-03-06

Smart Images

  • Figure JP2024029032_06032025_PF_FP_ABST
    Figure JP2024029032_06032025_PF_FP_ABST
Patent Text Reader

Abstract

The present disclosure relates to an information processing device, an information processing method, and a program that make it possible to more reliably control the operation of a robot. When executing an optimization computation process using a mathematical optimization problem including inequality constraints, a solution update unit determines a correction amount for the solution in accordance with a system of simultaneous equations for solving the mathematical optimization problem with hard constraints or soft constraints, and updates the solution. In a switching unit, constraint relaxation is represented by a parameter through introduction of variable reduction for slack variables that relax the inequality constraints in the optimization computation process. The switching unit switches between the hard and soft constraints by adjusting the parameter. The present technology is, for example, applicable to a robot control system.
Need to check novelty before this filing date? Find Prior Art

Description

Information processing device, information processing method, and program

[0001] The present disclosure relates to an information processing device, an information processing method, and a program, and more particularly to an information processing device, an information processing method, and a program that enable more reliable control of robot operations.

[0002] Conventionally, quadratic programming has been used as a technique for controlling the motion of a robot as a convex optimization method that can take inequality constraints into account.

[0003] For example, US Pat. No. 6,299,649 proposes a system and method for utilizing good starting estimates of constraints in force in quadratic programming where starting estimates for the solution are infeasible and inconsistent.

[0004] Japanese Patent Application Laid-Open No. 2007-226772

[0005] However, if the inequality constraints set in the quadratic programming are infeasible, the optimization calculation will fail. Such a failure of the optimization calculation can be particularly fatal to the control of the robot's motion, which performs online numerical calculations. Even with the system and method proposed in the aforementioned Patent Document 1, there is a concern that the robot's motion will become uncontrollable if the inequality constraints set in the quadratic programming are infeasible. Therefore, there is a demand for more reliable control of the robot's motion.

[0006] The present disclosure has been made in view of such circumstances, and aims to enable more reliable control of the operation of a robot.

[0007] An information processing device according to one aspect of the present disclosure includes: a solution update unit that, when executing an optimization calculation process using a mathematical optimization problem including an inequality constraint, calculates a modification amount of a solution according to a system of equations for solving the mathematical optimization problem with hard constraints or soft constraints, and updates the solution; and a switching unit that switches between the hard constraints and the soft constraints by changing a parameter that represents the relaxation of constraints by introducing a variable reduction of slack variables that relaxes the inequality constraints within the optimization calculation process.

[0008] An information processing method or program according to one aspect of the present disclosure includes, when performing an optimization calculation process using a mathematical optimization problem including inequality constraints, determining a modification amount of a solution according to a system of equations for solving the mathematical optimization problem with hard constraints or soft constraints, and updating the solution; and introducing a variable reduction of slack variables that relaxes the inequality constraints within the optimization calculation process, whereby the relaxation of the constraints is represented by a parameter, and switching between the hard constraints and the soft constraints by changing the parameter.

[0009] In one aspect of the present disclosure, when performing an optimization calculation process using a mathematical optimization problem including inequality constraints, a correction amount for the solution is calculated according to a system of equations for solving the mathematical optimization problem with hard or soft constraints, and the solution is updated. The relaxation of the constraint is represented by a parameter by introducing a variable reduction of slack variables that relaxes the inequality constraints within the optimization calculation process, and the hard constraints and soft constraints can be switched by changing the parameter.

[0010] Fig. 1 is a block diagram showing an example of the configuration of an embodiment of a robot control system to which the present technology is applied; Fig. 2 is a block diagram showing an example of the configuration of a target command correction unit; Fig. 3 is a flowchart illustrating optimization calculation processing; and Fig. 4 is a block diagram showing an example of the configuration of an embodiment of a computer to which the present technology is applied.

[0011] Hereinafter, specific embodiments to which the present technology is applied will be described in detail with reference to the drawings.

[0012] <Configuration Example of Robot Control System> FIG. 1 is a block diagram showing a configuration example of an embodiment of a robot control system to which the present technology is applied.

[0013] As shown in FIG. 1, the robot control system 11 comprises a robot 21, a problem setting calculation unit 22, and a target command correction unit 23, and a target command that indicates the target of the operation of the robot 21 is input from a higher level.

[0014] The robot 21 operates in accordance with a modified command obtained by modifying a target command input from a higher level in the target command modifying unit 23. The robot 21 then measures its own state and the surrounding environment as a result of the operation and supplies the information obtained as feedback information to the problem setting calculation unit 22.

[0015] The problem setting calculation unit 22 converts the feedback information supplied from the robot 21 into problem settings such as an evaluation function and constraint conditions of the quadratic program, and supplies the results to the target command correction unit 23 .

[0016] The target command modification unit 23 modifies the target command input from the upper level by solving a quadratic program (for example, equation (1) described later) that takes into consideration the evaluation function and constraint conditions supplied from the problem setting calculation unit 22, and supplies the modified command obtained as a result of the modification (optimal solution or approximate solution described later) to the robot 21. For example, the target command modification unit 23 executes optimization calculation processing using a mathematical optimization problem such as inverse dynamics, inverse kinematics, model predictive control, or control barrier function. Note that, in addition to using quadratic programming (QP) as the mathematical optimization problem, sequential quadratic programming (SQP) that uses quadratic programming as the optimization of subproblems may also be used.

[0017] Here, the quadratic program that the target command correcting unit 23 solves when correcting the target command to a corrected command will be described.

[0018] For example, to stably find a solution even when the inequality constraints set in the quadratic programming are infeasible, it is desirable to set the original problem so that it is always feasible. In particular, to avoid infeasibility of inequalities, the slack variables v∈R^(m_ub) and weights w∈R^(m_ub) can be added, and a cost function of the L2 norm or L1 norm can be set to relax the constraints to soft constraints. Here, when considering relaxation using the L2 norm, the quadratic programming is modified to the problem expressed by the following equation (1).

[0019]

[0020] In equation (1), x∈R^n, P∈R^(n×n), q∈R^n, A∈R^(m_eq×n), b∈R^m, C∈R^(m_ub×n), d∈R^(m_ub). In this case, the Lagrangian function is expressed by the following equation (2) using Lagrange multipliers y∈R^(m_eq) and z∈R^(m_ub).

[0021]

[0022] However, if slack variables such as those in Equation (1) are added when setting up a problem for the QP solver, the number of optimization variables increases, and the dimension of the simultaneous equations for solving Equation (1) increases by the number of soft constraints, resulting in increased computational costs. Therefore, in this embodiment, the computational costs can be reduced by reducing the slack variables within the QP solver algorithm.

[0023] The KKT (Karush-Kuhn-Tucker) condition can be obtained from the above equation (1) using the non-negative slack variable s∈R^(m_ub) related to the inequality constraint in the Lagrangian function of equation (2), as shown in the following equation (3).

[0024]

[0025] Here, diag(w)vz=0 in equation (3) can be expressed as v=diag(w)^(-1)z, and therefore v can be eliminated from Cx-d+sv=0 in equation (3).

[0026] Therefore, the simultaneous equations for solving the equation (1) are as shown in the following equation (4).

[0027]

[0028] The calculation cost does not increase in solving the simultaneous equations of equation (4), and by reducing the slack variables, for example, diag(z / s) becomes diag(z / (s+εz)), which is suppressed to 1 / ε when s → 0, resulting in numerical stability. For example, by reducing the variables at the time of the KKT condition for the slack variables of the L2 norm, it is possible to avoid the simultaneous equations of equation (4) becoming ill-conditioned when the constraint approaches zero, thereby achieving numerical stability.

[0029] Furthermore, in the simultaneous equations of Equation (4), setting the relaxation parameter ε to zero restores the original hard constraints, allowing for seamless switching between soft and hard constraints. The relaxation parameter ε can be dynamically changed within the solver's iterations, and if it is determined that the solution is feasible during the iterations, setting the relaxation parameter ε to zero can eliminate errors in unnecessary soft constraints in a feasible problem. Note that when adding slack variables, the weight must be increased to ∞ to make it a hard constraint, so expression using the relaxation parameter ε is numerically safer.

[0030] As described above, solving the relaxed problem will output an approximate solution with an error relative to the optimal solution when it is feasible. Therefore, when the relaxed problem converges, for example, if Ax = b, Cx ≦ d is infeasible, feasibility is determined according to the infeasibility condition that there exists a z ≧ that satisfies the condition of the following equation (5). If it is feasible, the relaxation parameter ε is set to zero, and the iteration of the optimization calculation can be continued to converge to the optimal solution.

[0031]

[0032] In this way, the target command modification unit 23 can solve the problem of increased calculation time for a relaxation problem (soft constraints) by eliminating slack variables through variable reduction within the optimization calculation for a quadratic programming problem having slack variables with an L2 norm penalty. Furthermore, by introducing variable reduction of slack variables that relaxes inequality constraints within the optimization calculation process, the relaxation of constraints is expressed by the relaxation parameter ε. Therefore, the target command modification unit 23 can easily switch between soft constraints and hard constraints in accordance with the relaxation parameter ε during the iterative process of the optimization calculation.

[0033] Furthermore, by dynamically switching between soft and hard constraints in the iterative process of the optimization calculation process, the target command correction unit 23 can output an optimal solution when it is feasible even if it is unknown in advance whether it is feasible, and can calculate and output an approximate solution when it is not feasible.

[0034] FIG. 2 is a block diagram showing an example of the configuration of the target command corrector 23. As shown in FIG.

[0035] As shown in FIG. 2, the target command correction unit 23 is configured to include an initialization unit 31, a solution update unit 32, a determination unit 33, a switching unit 34, and a calculation unit 35, and performs optimization calculation processing using a mathematical optimization problem including inequality constraints, for example, by calculating a quadratic program using the primal-dual interior point method.

[0036] The initialization unit 31 performs initialization when starting the optimization calculation process. That is, the initialization unit 31 calculates an initial value of the solution and supplies it to the solution update unit 32. The initialization unit 31 also sets the initial value of a relaxation parameter ε for the soft constraint of the quadratic programming to a small value and supplies it to the solution update unit 32.

[0037] The solution update unit 32 updates the solution by determining the amount of correction to the solution using hard constraints or soft constraints according to the relaxation parameter ε, in accordance with the above-mentioned equation (4). For example, if the relaxation parameter ε is not zero, the solution update unit 32 updates the solution using soft constraints, and if the relaxation parameter ε is zero, the solution update unit 32 updates the solution using hard constraints.

[0038] The determination unit 33 performs various determinations required in the optimization calculation process. For example, the determination unit 33 determines whether the solution updated by the solution update unit 32 has converged to satisfy the optimality condition, whether the solution updated by the solution update unit 32 was a hard constraint, and whether the inequality constraint can be strictly or approximately implemented from the solution currently being updated by the solution update unit 32. For example, the determination unit 33 can determine whether the inequality constraint can be strictly or approximately implemented from the solution currently being updated by the solution update unit 32 in accordance with the infeasibility condition of the above-mentioned equation (5).

[0039] Then, when the judgment unit 33 judges that the solution updated by the solution update unit 32 has converged to satisfy the optimality condition and judges that the solution updated by the solution update unit 32 was due to a hard constraint, the solution becomes the optimal solution, and the judgment unit 33 causes the solution update unit 32 to output the optimal solution.

[0040] Alternatively, the determination unit 33 instructs the switching unit 34 to switch from soft constraints to hard constraints when it determines that the solution updated by the solution updating unit 32 has not converged to satisfy the optimality condition and that the inequality constraints can be strictly or approximately implemented from the solution in the middle of the update by the solution updating unit 32. The determination unit 33 also instructs the switching unit 34 to switch from soft constraints to hard constraints when it determines that the solution updated by the solution updating unit 32 has converged to satisfy the optimality condition and that the solution updating unit 32 updated the solution not with hard constraints (but with soft constraints) and that the inequality constraints can be strictly or approximately implemented from the solution in the middle of the update by the solution updating unit 32.

[0041] Alternatively, if the determination unit 33 determines that the solution updated by the solution update unit 32 has converged to satisfy the optimality condition, determines that the solution updated by the solution update unit 32 was not a hard constraint (it was a soft constraint), and determines that the inequality constraint is not feasible (imfeasible) either strictly or approximately from the solution during the update by the solution update unit 32, it instructs the calculation unit 35 to calculate an approximate solution.

[0042] The switching unit 34 changes the relaxation parameter ε, which is used when the solution updating unit 32 updates the solution, to zero in accordance with the instruction of the determination unit 33. That is, in the target command modifying unit 23, the optimization calculation process is started under soft constraints by setting the initial value of the relaxation parameter ε to a small value, and the switching unit 34 changes the relaxation parameter ε to zero, thereby switching from soft constraints to hard constraints.

[0043] The calculation unit 35 calculates and outputs an approximate solution by relaxing the inequality constraints set in the quadratic programming in accordance with the instructions of the determination unit 33.

[0044] The target command modification unit 23 configured as described above can dynamically switch between hard constraints and soft constraints within the iterative process in the optimization calculation process, thereby outputting an optimal solution when it is feasible, and calculating and outputting an approximate solution when it is infeasible. In other words, the target command modification unit 23 can avoid the problem of the optimization calculation failing when the inequality constraints set in the quadratic programming are infeasible.

[0045] Therefore, the robot control system 11 can more reliably control the operation of the robot 21 by supplying the corrected command (optimal solution or approximate solution) output by the target command correcting unit 23 to the robot 21 .

[0046] <Processing Example of Optimization Calculation Processing> The optimization calculation processing executed in the target command correction unit 23 will be described with reference to the flowchart shown in FIG.

[0047] In step S11, the initialization unit 31 performs initialization when starting the optimization calculation process, calculates the initial value of the solution, and supplies it to the solution update unit 32. At the same time, the initialization unit 31 sets the initial value of the relaxation parameter ε for the soft constraint of the quadratic program to a small value and supplies it to the solution update unit 32.

[0048] In step S12, the solution update unit 32 updates the solution by determining the amount of correction to the solution using hard constraints or soft constraints according to the relaxation parameter ε, in accordance with the above-mentioned equation (4). At this time, since the initial value of the relaxation parameter ε is set to a small value at the start of the optimization calculation process, the solution update unit 32 updates the solution using soft constraints. When the relaxation parameter ε is changed to zero in step S17 (described later), the solution update unit 32 updates the solution using hard constraints.

[0049] In step S13, the determination unit 33 determines whether the solution updated by the solution update unit 32 in step S12 has converged to satisfy the optimality condition.

[0050] In step S13, if the determination unit 33 determines that the solution updated by the solution update unit 32 in the most recent step S12 has converged to satisfy the optimality condition, the process proceeds to step S14.

[0051] In step S14, the determination unit 33 determines whether the solution updated by the solution update unit 32 in the most recent step S12 was a hard constraint.

[0052] In step S14, if the determination unit 33 determines that the solution updated by the solution update unit 32 in the most recent step S12 was a hard constraint, the process proceeds to step S15.

[0053] In step S15, the determination unit 33 can determine that the solution is the optimal solution based on the determination results of steps S13 and S14, i.e., based on the determination result that the solution updated by the solution update unit 32 has converged to satisfy the optimality condition and that the solution was updated by a hard constraint. Therefore, the determination unit 33 causes the solution update unit 32 to output the optimal solution, which is the solution updated by the solution update unit 32 in the most recent step S12, and the process ends.

[0054] On the other hand, if the determination unit 33 determines in step S13 that the solution updated by the solution update unit 32 in the most recent step S12 did not converge to satisfy the optimality condition, the process proceeds to step S16.

[0055] In step S16, the judgment unit 33 judges whether the inequality constraints can be strictly or approximately implemented from the solution updated by the solution update unit 32 in the most recent step S12, i.e., from the solution currently being updated by the solution update unit 32.

[0056] In step S16, if the determination unit 33 determines that the inequality constraints can be strictly or approximately implemented from the solution currently being updated by the solution update unit 32, the process proceeds to step S17.

[0057] In step S17, the determination unit 33 instructs the switching unit 34 to switch from soft constraints to hard constraints according to the determination results of steps S13 and S16, i.e., according to the determination result that the solution updated by the solution update unit 32 did not converge to satisfy the optimality condition but the inequality constraints are feasible. In accordance with the instruction of the determination unit 33, the switching unit 34 changes the relaxation parameter ε used when the solution update unit 32 updates the solution to zero, and switches from soft constraints to hard constraints. Thereafter, the process returns to step S12, and processing is performed under the hard constraints.

[0058] On the other hand, in step S16, if the judgment unit 33 determines that the inequality constraint is not feasible (impossible) strictly or approximately from the solution being updated by the solution update unit 32, the processing returns to step S12, and processing continues with the soft constraint.

[0059] On the other hand, if the determination unit 33 determines in step S14 that the solution update unit 32 updated the solution in the most recent step S12 based on a soft constraint rather than a hard constraint, the process proceeds to step S18.

[0060] In step S18, the judgment unit 33 judges whether the inequality constraints can be strictly or approximately implemented from the solution updated by the solution update unit 32 in the most recent step S12, i.e., from the solution in the middle of being updated by the solution update unit 32.

[0061] In step S18, if the determination unit 33 determines that the inequality constraints can be strictly or approximately implemented from the solution currently being updated by the solution update unit 32, the process proceeds to step S17.

[0062] In this case, in step S17, the determination unit 33 instructs the switching unit 34 to switch from soft constraints to hard constraints in accordance with the determination results of steps S13, S14, and S18, i.e., in accordance with the determination results that the solution updated by the solution update unit 32 has converged to satisfy the optimality condition, that the solution was not updated by a hard constraint, and that the inequality constraint is feasible. In accordance with the instruction of the determination unit 33, the switching unit 34 changes the relaxation parameter ε used by the solution update unit 32 when updating the solution to zero, and switches from soft constraints to hard constraints. Thereafter, the processing returns to step S12, and processing is performed using the hard constraints.

[0063] On the other hand, in step S18, if the determination unit 33 determines that the inequality constraint is not feasible (impossible) strictly or approximately from the solution being updated by the solution update unit 32, the process proceeds to step S19.

[0064] In step S19, the determination unit 33 instructs the calculation unit 35 to calculate an approximate solution according to the determination results of steps S13, S14, and S18, i.e., according to the determination results that the solution updated by the solution update unit 32 has converged to satisfy the optimality condition, that the solution has not been updated by a hard constraint, and that the inequality constraint is not feasible. In accordance with the instruction of the determination unit 33, the calculation unit 35 calculates and outputs an approximate solution by relaxing the inequality constraints set in the quadratic programming, and the process then ends.

[0065] By performing the optimization calculation process described above, the target command correction unit 23 can output a corrected command (optimal solution or approximate solution) that corrects the target command, thereby more reliably controlling the operation of the robot 21.

[0066] In the above-described embodiment, the target command correction unit 23 performs optimization calculation processing by updating the solution on the premise of soft constraints and switching to hard constraints if the solution does not converge. However, for example, the optimization calculation processing may be performed by updating the solution on the premise of hard constraints and switching to soft constraints if the solution does not converge.

[0067] The target command modifying unit 23 may dynamically change the relaxation parameter ε in accordance with a merit function that indicates a measure of the feasibility of the inequality constraints, for example, the relaxation parameter ε may be dynamically changed so that the larger the merit function, the larger the value of the relaxation parameter ε. Alternatively, the target command modifying unit 23 may dynamically change the relaxation parameter ε in accordance with the numerical stability of the optimization calculation process.

[0068] Furthermore, the target command modification unit 23 simultaneously updates the solution using the soft constraints and the hard constraints, and if the solution updated using the hard constraints has converged at the maximum number of iterations, it can output that solution. On the other hand, if the solution updated using the hard constraints has not converged at the maximum number of iterations, the target command modification unit 23 can output the solution after the solution updated using the soft constraints has converged.

[0069] Furthermore, the target command modification unit 23 may be applied to other optimization problems using the interior point method, such as linear programming problems and more general nonlinear programming problems (quadratically constrained quadratic programming problems).

[0070] <Example of Computer Configuration> Next, the above-described series of processes (information processing method) can be performed by hardware or software. When the series of processes is performed by software, a program constituting the software is installed in a general-purpose computer or the like.

[0071] FIG. 4 is a block diagram showing an example of the configuration of an embodiment of a computer in which a program for executing the above-described series of processes is installed.

[0072] The program can be recorded in advance on the hard disk 105 or ROM 103 as a recording medium built into the computer.

[0073] Alternatively, the program can be stored (recorded) on a removable recording medium 111 driven by the drive 109. Such a removable recording medium 111 can be provided as a so-called package software. Here, examples of the removable recording medium 111 include a flexible disk, a CD-ROM (Compact Disc Read Only Memory), an MO (Magneto Optical) disk, a DVD (Digital Versatile Disc), a magnetic disk, and a semiconductor memory.

[0074] The program can be installed into the computer from the removable recording medium 111 as described above, or can be downloaded to the computer via a communication network or a broadcasting network and installed on the built-in hard disk 105. That is, the program can be transferred to the computer wirelessly from a download site via an artificial satellite for digital satellite broadcasting, or transferred to the computer by wire via a network such as a LAN (Local Area Network) or the Internet.

[0075] The computer includes a CPU (Central Processing Unit) 102 , to which an input / output interface 110 is connected via a bus 101 .

[0076] When a user inputs a command via the input / output interface 110 by operating the input unit 107, the CPU 102 executes a program stored in a read-only memory (ROM) 103 in accordance with the command. Alternatively, the CPU 102 loads a program stored on a hard disk 105 into a random access memory (RAM) 104 and executes the program.

[0077] As a result, the CPU 102 performs processing according to the flowchart described above or processing performed by the configuration of the block diagram described above. Then, the CPU 102 outputs the processing results from the output unit 106 via the input / output interface 110, transmits them from the communication unit 108, or records them on the hard disk 105, as necessary.

[0078] The input unit 107 is made up of a keyboard, a mouse, a microphone, etc. The output unit 106 is made up of an LCD (Liquid Crystal Display), a speaker, etc.

[0079] In this specification, the processing performed by a computer according to a program does not necessarily have to be performed in chronological order according to the order described in the flowchart. In other words, the processing performed by a computer according to a program also includes processing that is executed in parallel or individually (for example, parallel processing or object-based processing).

[0080] The program may be processed by a single computer (processor), or may be distributed among multiple computers. Furthermore, the program may be transferred to and executed on a remote computer.

[0081] Furthermore, in this specification, a system refers to a collection of multiple components (devices, modules (components), etc.), regardless of whether all of the components are contained in the same housing. Therefore, multiple devices housed in separate housings and connected via a network, and a single device housed in a single housing with multiple modules, are both systems.

[0082] Also, for example, a configuration described as one device (or processing unit) may be divided and configured as multiple devices (or processing units). Conversely, configurations described above as multiple devices (or processing units) may be combined and configured as one device (or processing unit). Of course, configurations other than those described above may be added to the configuration of each device (or each processing unit). Furthermore, as long as the configuration and operation of the entire system are substantially the same, part of the configuration of one device (or processing unit) may be included in the configuration of another device (or other processing unit).

[0083] Furthermore, for example, the present technology can be configured as a cloud computing system in which a single function is shared and processed collaboratively by a plurality of devices via a network.

[0084] Furthermore, for example, the above-described program can be executed in any device, as long as the device has the necessary functions (functional blocks, etc.) and can obtain the necessary information.

[0085] Also, for example, each step described in the above flowchart can be executed by one device or can be shared and executed by multiple devices. Furthermore, if one step includes multiple processes, the multiple processes included in that one step can be executed by one device or can be shared and executed by multiple devices. In other words, multiple processes included in one step can be executed as multiple step processes. Conversely, processes described as multiple steps can be executed collectively as a single step.

[0086] In addition, the processing of the steps of a program executed by a computer may be executed in chronological order according to the order described in this specification, or may be executed in parallel or individually at the required timing, such as when a call is made. In other words, as long as no contradiction occurs, the processing of each step may be executed in an order different from the order described above. Furthermore, the processing of the steps of this program may be executed in parallel with the processing of another program, or may be executed in combination with the processing of another program.

[0087] It should be noted that the present technologies described in this specification can be implemented independently and singly, unless a contradiction arises. Of course, any two or more of the present technologies can also be implemented in combination. For example, part or all of the present technologies described in any embodiment can be implemented in combination with part or all of the present technologies described in other embodiments. Furthermore, part or all of any of the present technologies described above can also be implemented in combination with other technologies not described above.

[0088] <Examples of Combinations of Configurations> The present technology can also be configured as follows: (1) An information processing device comprising: a solution update unit that, when executing an optimization calculation process using a mathematical optimization problem including an inequality constraint, determines a correction amount of a solution according to a system of equations for solving the mathematical optimization problem with hard constraints or soft constraints and updates the solution; and a switching unit that introduces variable reduction of slack variables that relax the inequality constraints in the optimization calculation process, thereby representing the relaxation of constraints by a parameter, and switches between the hard constraints and the soft constraints by changing the parameter. (2) The information processing device according to (1), wherein variable reduction is performed on the slack variables of the L2 norm at the point of a Karush-Kuhn-Tucker condition (KKT). (3) The information processing device according to (1) or (2), further comprising: a determination unit for determining whether the solution updated by the solution update unit has converged to satisfy an optimality condition, wherein the determination unit, when determining that the solution updated by the solution update unit has converged to satisfy the optimality condition, outputs the solution as an optimal solution if the solution updated by the solution update unit is the hard constraint. (4) The information processing device according to (3), wherein, when the determination unit determines that the solution updated by the solution update unit has not converged to satisfy the optimality condition and the inequality constraint is feasible, the switching unit switches from the soft constraint to the hard constraint. (5) The information processing device according to (3) or (4), wherein, when the determination unit determines that the solution updated by the solution update unit has converged to satisfy the optimality condition, and the solution updated by the solution update unit is the soft constraint and the inequality constraint is feasible, the switching unit switches from the soft constraint to the hard constraint. (6) The information processing device according to any one of (3) to (5) above, further comprising: a calculation unit that calculates and outputs an approximate solution by relaxing the inequality constraint when the determination unit determines that the solution updated by the solution update unit has converged to satisfy an optimality condition, and when the solution updated by the solution update unit is the soft constraint and the inequality constraint is infeasible.(7) The information processing device according to (3), wherein the solution update unit updates a solution assuming the hard constraints, and if the solution does not converge, the switching unit switches from the hard constraints to the soft constraints. (8) The information processing device according to (3), wherein the parameters are dynamically changed according to a merit function indicating a measure of feasibility of the inequality constraints. (9) The information processing device according to (3), wherein the parameters are dynamically changed according to the numerical stability of the optimization calculation process. (10) The information processing device according to (1), wherein the solution update unit updates the solution using the soft constraints and the hard constraints simultaneously, and if the solution updated using the hard constraints has converged, outputs the solution as an optimal solution, and if the solution updated using the hard constraints has not converged, outputs the solution updated using the soft constraints after it has converged. (11) An information processing method, comprising: when executing an optimization calculation process using a mathematical optimization problem including inequality constraints, an information processing device determining a correction amount of a solution according to simultaneous equations for solving the mathematical optimization problem with hard constraints or soft constraints and updating the solution, and introducing variable reduction of slack variables that relax the inequality constraints in the optimization calculation process, thereby representing the relaxation of the constraints by parameters, and changing the parameters to switch between the hard constraints and the soft constraints. (12) A program for causing a computer of an information processing device to execute processing, comprising: when executing an optimization calculation process using a mathematical optimization problem including inequality constraints, determining a correction amount of a solution according to simultaneous equations for solving the mathematical optimization problem with hard constraints or soft constraints and updating the solution, and introducing variable reduction of slack variables that relax the inequality constraints in the optimization calculation process, thereby representing the relaxation of the constraints by parameters, and changing the parameters to switch between the hard constraints and the soft constraints.

[0089] It should be noted that the present embodiment is not limited to the above-described embodiment, and various modifications are possible within the scope of the gist of the present disclosure. Furthermore, the effects described in this specification are merely examples and are not intended to be limiting, and other effects may also be obtained.

[0090] REFERENCE SIGNS LIST 11 Robot control system, 21 Robot, 22 Problem setting calculation unit, 23 Target command correction unit, 31 Initialization unit, 32 Solution update unit, 33 Determination unit, 34 Switching unit, 35 Calculation unit

Claims

1. An information processing device comprising: a solution update unit that, when executing an optimization calculation process using a mathematical optimization problem including an inequality constraint, calculates a correction amount for a solution according to a simultaneous equation for solving the mathematical optimization problem with hard constraints or soft constraints, and updates the solution; and a switching unit that switches between the hard constraints and the soft constraints by changing the parameter by introducing a variable reduction of a slack variable that relaxes the inequality constraint within the optimization calculation process, thereby representing the relaxation of the constraint.

2. The information processing device according to claim 1, wherein the slack variables of the L2 norm are reduced at the point of time of the Karush-Kuhn-Tucker condition (KKT).

3. The information processing device according to claim 1, further comprising a judgment unit that judges whether the solution updated by the solution update unit has converged to satisfy an optimality condition, and when the judgment unit judges that the solution updated by the solution update unit has converged to satisfy the optimality condition, if the solution updated by the solution update unit is the hard constraint, the judgment unit outputs the solution as an optimal solution.

4. The information processing device according to claim 3, wherein when the determination unit determines that the solution updated by the solution update unit has not converged to satisfy an optimality condition and the inequality constraint is feasible, the switching unit switches from the soft constraint to the hard constraint.

5. The information processing device of claim 3, wherein when the determination unit determines that the solution updated by the solution update unit has converged to satisfy an optimality condition, and the solution updated by the solution update unit is the soft constraint and the inequality constraint is feasible, the switching unit switches from the soft constraint to the hard constraint.

6. The information processing device according to claim 3, further comprising a calculation unit that calculates and outputs an approximate solution by relaxing the inequality constraint when the determination unit determines that the solution updated by the solution update unit has converged to satisfy an optimality condition, and when the solution updated by the solution update unit is the soft constraint and the inequality constraint is infeasible.

7. The information processing device according to claim 3, wherein the solution update unit updates the solution on the premise of the hard constraints, and when the solution does not converge, the switching unit switches from the hard constraints to the soft constraints.

8. The information processing device according to claim 3, wherein the parameters are dynamically changed according to a merit function that indicates a measure of feasibility of the inequality constraints.

9. The information processing device according to claim 3, wherein the parameters are dynamically changed depending on the numerical stability of the optimization calculation process.

10. The information processing device according to claim 1, wherein the solution update unit updates the solution using the soft constraints and the hard constraints simultaneously, and if the solution updated using the hard constraints converges, outputs the solution as an optimal solution, and if the solution updated using the hard constraints does not converge, outputs the solution updated using the soft constraints after it has converged.

11. An information processing method comprising: when an information processing device executes an optimization calculation process using a mathematical optimization problem including an inequality constraint, determining a correction amount of a solution according to a system of equations for solving the mathematical optimization problem with hard constraints or soft constraints, and updating the solution; and introducing a variable reduction of a slack variable that relaxes the inequality constraint within the optimization calculation process, thereby representing the relaxation of the constraint by a parameter, and switching between the hard constraint and the soft constraint by changing the parameter.

12. A program for causing a computer of an information processing device to execute a process including: when executing an optimization calculation process using a mathematical optimization problem including an inequality constraint, determining a correction amount of a solution according to a simultaneous equation for solving the mathematical optimization problem with hard constraints or soft constraints, and updating the solution; and introducing a variable reduction of a slack variable that relaxes the inequality constraint within the optimization calculation process, thereby representing the relaxation of the constraint by a parameter, and switching between the hard constraint and the soft constraint by changing the parameter.

Citation Information

Patent Citations

  • Optimization problem solving apparatus, method, and program

    JP2017219979A