Constraint Condition Acquisition Device, Control System, Constraint Condition Acquisition Method, and Program
The constraint condition acquisition device and system address the burden of setting preset constraint conditions by using time series data and templates to automatically determine and set constraint conditions, enhancing control system efficiency and adaptability.
Patent Information
- Application Number
- JP2023549226
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-09-22
- Publication Date
- 2025-06-18
- Estimated Expiration
- 2041-09-22
AI Technical Summary
Existing control systems for robots and other control targets rely on preset constraint conditions, which can be burdensome for operators to set and may not account for unclear or dynamic constraint conditions.
A constraint condition acquisition device and system that acquires time series data from successful and failed tasks, uses templates to determine parameter values for constraint conditions, and excludes templates where parameter values do not exist to satisfy success and fail conditions.
This approach reduces the operator's burden by automatically acquiring and setting constraint conditions, enabling control even with unclear conditions and improving task success rates.
Smart Images

Figure 0007694677000044 
Figure 0007694677000045 
Figure 0007694677000046
Abstract
Description
[Technical field]
[0001] The present invention relates to a constraint condition acquisition device, a control system, a constraint condition acquisition method, and Program Regarding. [Background technology]
[0002] 2. Description of the Related Art In controlling a control target such as a robot, constraint conditions may be set and the control may be performed so as to satisfy the constraint conditions. For example, in a robot control device described in Patent Document 1, the movable range of a robot arm, which is the object to be controlled, is divided in advance into four spaces. Then, for each divided movable range, a jerk (acceleration derivative) constraint value of each joint is set in advance so that the load torque generated in a transmission element such as a reducer falls within an allowable range. The robot control device solves an optimization problem using the jerk constraint value as an inequality constraint, and determines a control command value that causes the robot arm to follow a specified trajectory. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Publication No. 2014-014876 Summary of the Invention [Problem to be solved by the invention]
[0004] If it is possible to obtain constraint conditions other than those that have been preset when controlling a control object, the burden on the operator who sets the constraint conditions can be reduced, and control can be performed even when there are unclear constraint conditions.
[0005] An example of the object of the present invention is to provide a constraint condition acquisition device, a control system, a constraint condition acquisition method, and Program The purpose of this project is to provide [Means for solving the problem]
[0006] According to a first aspect of the present invention, a constraint condition acquisition device includes: a time series data acquisition unit that acquires success time series data, which is time series data regarding the control when a predetermined task performed by controlling a control target is successful, and failure time series data, which is the time series data when the task fails; a template acquisition unit that acquires a constraint condition template, which is a constraint condition including parameters; and a constraint condition calculation unit that determines a value of the parameter such that the constraint condition is satisfied in the success time series data and the constraint condition is not satisfied in the failure time series data. Among the plurality of the constraint condition templates, the template acquisition means excludes from acquisition targets the constraint condition templates in which the parameter values do not exist such that the constraint conditions are satisfied in the success time series data and the constraint conditions are not satisfied in the failure time series data.
[0008] According to a Two second aspect of the present invention, a control system includes: a time series data acquisition unit that acquires success time series data, which is time series data regarding the control when a predetermined task performed by controlling a control target is successful, and failure time series data, which is the time series data when the task fails; a template acquisition unit that acquires a constraint condition template, which is a constraint condition including parameters; a constraint condition calculation unit that determines a value of the parameter such that the constraint condition is satisfied in the success time series data and the constraint condition is not satisfied in the failure time series data; and a control unit that controls the control target according to the constraint condition indicated by setting the value of the parameter determined in the constraint condition template to execute the predetermined task. Among the plurality of the constraint condition templates, the template acquisition means excludes from acquisition targets the constraint condition templates in which the parameter values do not exist such that the constraint conditions are satisfied in the success time series data and the constraint conditions are not satisfied in the failure time series data.
[0009] According to a Three third aspect of the present invention, a constraint condition acquisition method includes: a computer acquiring success time series data, which is time series data regarding the control when a predetermined task performed by controlling a control target is successful, and failure time series data, which is the time series data when the task fails, acquiring a constraint condition template, which is a constraint condition including parameters, and determining a value of the parameter such that the constraint condition is satisfied in the success time series data and the constraint condition is not satisfied in the failure time series data. Note that acquiring the constraint condition templates includes the computer excluding from acquisition targets the constraint condition templates in which the parameter values do not exist such that the constraint conditions are satisfied in the success time series data and the constraint conditions are not satisfied in the failure time series data among the plurality of the constraint condition templates.
[0010] According to the Four aspect of the present invention, the program causes the computer to acquire success time-series data which is time-series data regarding the control when a predetermined task performed by controlling a control target is successful, and failure time-series data which is the time-series data when the task fails, and to acquire a constraint condition template which is a constraint condition including parameters, and to determine the value of the parameters such that the constraint condition is satisfied in the success time-series data and the constraint condition is not satisfied in the failure time-series data. By acquiring the constraint condition templates, the computer is made to execute excluding from acquisition targets the constraint condition templates in which the parameter values do not exist such that the constraint conditions are satisfied in the success time series data and the constraint conditions are not satisfied in the failure time series data among the plurality of the constraint condition templates. This is the program for this purpose.
Advantages of the Invention
[0011] According to the present invention, it is possible to acquire constraint conditions other than the preset constraint conditions.
Brief Description of the Drawings
[0012]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
Figure 19
Figure 20
Figure 21
Figure 22
Embodiments for Carrying Out the Invention
[0013] Hereinafter, embodiments of the present invention will be described. However, the following embodiments do not limit the invention according to the claims. Also, not all combinations of features described in the embodiments are essential for the solution means of the invention.
[0014] <First Embodiment> FIG. 1 is a diagram showing an example of the configuration of a control system according to the first embodiment. In the configuration shown in FIG. 1, the control system 1 includes a constraint condition acquisition device 10, a control device 20, and a control target 30.
[0015] The control system 1 controls the control target 30. In the control system 1, a task (Task) to be executed by controlling the control target 30 is set. The control system 1 controls the control target 30 so as to execute the set task. Hereinafter, achieving a task will also be referred to as task success or simply success. Failure to achieve a task will also be referred to as task failure or simply failure.
[0016] Hereinafter, the case where the control target 30 is a robot arm (vertical articulated robot) will be described as an example. However, the object of control by the control system 1 is not limited to a specific one. The control target 30 may be configured as one device, or may be configured as a system combining a plurality of devices such as a plant or a production line. Alternatively, the control target 30 may be a part of a device. The control target 30 may be configured as a part of the control system 1. Alternatively, the control target 30 may be an external configuration of the control system 1.
[0017] The constraint condition acquisition device 10 sets constraint conditions in the control of the control target 30. Specifically, the constraint condition acquisition device 10 acquires time-series data of the control of the control target 30 for each of the case of task success and the case of task failure. The time-series data of the control of the control target 30 is also simply referred to as time-series data. The time-series data in the case of task success is also referred to as success-time time-series data. The time-series data in the case of task failure is also referred to as failure-time time-series data.
[0018] The constraint condition acquisition device 10 sets constraint conditions such that the constraint conditions are satisfied in the time series data at the time of success and not satisfied in the time series data at the time of failure. Here, the satisfaction of the constraint conditions may mean that all of the plurality of constraint conditions are satisfied at all times in the time series data. The non-satisfaction of the constraint conditions may mean that at least one of the plurality of constraint conditions is not satisfied at any time in the time series data.
[0019] The constraint condition acquisition device 10 is configured using a computer such as a personal computer (PC). Alternatively, the constraint condition acquisition device 10 may be configured using dedicated hardware for the constraint condition acquisition device 10, such as being configured using an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
[0020] The control device 20 controls the control target 30 so as to satisfy the constraint conditions set by the constraint condition acquisition device 10. Here, satisfying the constraint conditions means that the constraint conditions are satisfied or making the constraint conditions satisfied. As a method for the control device 20 to control the control target 30, for example, the control device 20 may solve an optimization problem including the constraint conditions set by the constraint condition acquisition device 10 to determine the trajectory of the control target 30. Then, the control device 20 may control the control target 30 so as to operate the control target 30 along the determined trajectory. The control device 20 corresponds to an example of a control means.
[0021] The control device 20 is configured using a computer such as a personal computer. Alternatively, the control device 20 may be configured using dedicated hardware for the control device 20, such as being configured using an ASIC or an FPGA. The constraint condition acquisition device 10 and the control device 20 may be integrally configured. For example, the constraint condition acquisition device 10 and the control device 20 may be executed on the same computer.
[0022] Here, the time is represented by time steps and is denoted as time 0, 1, ···. The dynamics model of the control target 30 in one step of the time step can be expressed as in Equation (1).
[0023]
Equation
[0024] t is an integer representing time in time steps. u t is a vector representing the control command value for the control target 30 at time t. The control command value for the control target 30 is also referred to as the input to the control target 30 or simply as the input. u t is also referred to as input u t as well.
[0025] x t is a vector representing the state that can be observed or estimated at time t, such as the position of the control target 30 at time t. As described above, here, the case where the control target 30 is a robot arm is taken as an example for explanation, and x t is assumed to include the position information of the tip portion of the control target 30. The position of the tip portion of the control target 30 may be the position of the end effector of the control target 30. x t is also referred to as state x t as well. However, the state information acquired by the control system 1 is not limited to specific ones.
[0026] The function f represents the operation of the control target 30 with respect to the input u t at time t in the state x t . Due to the operation of the control target 30, the state changes from x t to x t+1 . The time-series data ξ of the control target 30 in one task execution j is represented as shown in Equation (2).
[0027]
Number
[0028] N s represents the number of time-series data acquired by the constraint condition acquisition device 10. The number of time-series data acquired by the constraint condition acquisition device 10 can also be said to be the number of samples acquired by the constraint condition acquisition device 10. j represents an identification number for identifying time-series data. N t indicates the final time in the time-series data. The time N for each time-series data t may be different. In this case, for ξ as a vector j the number of elements may be different for each time-series data. Alternatively, dummy data may be provided for time-series data with a small number of time steps so that the number of elements of ξ as a vector j is made the same.
[0029] The superscript "T" on a vector or matrix represents the transpose of that vector or matrix. In the example of Equation (2), by transposing the vector, the time-series data ξ j is represented as a column vector with all elements arranged in one column. Each of the time-series data ξ j is associated with information indicating whether the task is successful or failed. The time-series data ξ in the case of task success j is also denoted as ξ j s ξ is also referred to as the time-series data at success ξ j s j s The time-series data ξ in the case of task failure j is also denoted as ξ j f j f j fas failure time-series data ξ j f is also referred to as such.
[0030] The state x j included in the time-series data ξ t is also denoted as state x j,t as well. The input u j included in the time-series data ξ t is also denoted as input u j,t as well. The N s time-series data obtained by the constraint condition acquisition device 10 can be expressed as ξ in Equation (3).
[0031]
Equation
[0032] In Equation (3) as well, ξ is represented by a vertical vector in which all elements are arranged in a single column by the transposition of the vector. ξ is also referred to as training data. Here, training means that the constraint condition acquisition device 10 acquires new constraint conditions in the control of the control target 30. The constraint condition acquisition device 10 may acquire the training data obtained by using the actual machine of the control target 30. Alternatively, the constraint condition acquisition device 10 may acquire the training data by simulating the operation of the control target 30.
[0033] FIG. 2 is a diagram showing an example of the configuration of the constraint condition acquisition device 10. In the configuration shown in FIG. 2, the constraint condition acquisition device 10 includes a communication unit 110, a display unit 120, an operation input unit 130, a storage unit 170, and a control unit 180. The storage unit 170 includes a template storage unit 171, a set information storage unit 172, and a framework information storage unit 173. The control unit 180 includes a time-series data acquisition unit 181 and a constraint condition estimation unit 182. The constraint condition estimation unit 182 includes a template acquisition unit 183, a problem setting unit 184, and a constraint condition calculation unit 186. The problem setting unit 184 includes an integration unit 185. The constraint condition calculation unit 186 includes a constraint condition determination unit 187.
[0034] The communication unit 110 communicates with other devices. For example, the communication unit 110 may communicate with the control device 20 and the control target 30, or either one of them to acquire learning data. Alternatively, the communication unit 110 may communicate with a simulator that simulates the operation of the control target 30 to acquire learning data. In addition, the communication unit 110 transmits information indicating the constraint conditions set by the constraint condition acquisition device 10 to the control device 20.
[0035] The display unit 120 includes a display screen such as a liquid crystal panel or an LED (Light Emitting Diode) panel, and displays various images. For example, the display unit 120 may display information indicating the constraint conditions set by the constraint condition acquisition device 10. The display unit 120 may display information indicating the constraint conditions set by the constraint condition acquisition device 10 in the form of expressions such as inequalities and equations.
[0036] The operation input unit 130 includes input devices such as a keyboard and a mouse, and receives user operations. For example, the operation input unit 130 may receive user operations for setting constraint conditions and controlling the control target 30. Further, when the user inputs known constraint conditions in the control of the control target 30, the operation input unit 130 may receive a user operation for inputting the constraint conditions.
[0037] The storage unit 170 stores various types of data. The storage unit 170 is configured using the storage device included in the constraint condition acquisition device 10. The template storage unit 171 stores a plurality of constraint condition templates. The constraint condition template is information representing constraints on the operation of the control target 30. The constraint condition template is represented by, for example, an inequality including parameters. By setting values for the parameters of the constraint condition template, an inequality constraint condition in the control of the control target 30 can be obtained. The inequality constraint condition is a constraint condition represented by an inequality.
[0038] For example, in the control of the movement of the control target 30 in a two-dimensional coordinate space, a constraint condition template indicating an elliptical area as an area where the control target 30 cannot enter due to obstacles or the like may be provided. In this case, the coordinates of the center point of the ellipse, the diameter of the ellipse in the first coordinate axis direction, and the diameter of the ellipse in the second coordinate axis direction may be parameters. The constraint condition template does not have to be a constraint condition representing an elliptical area, and may be a rectangular area or a polygonal area. The constraint condition template is not limited to the above-described examples. Also, the constraint condition template may be configured using a neural network or a Gaussian process model or the like. The constraint condition template may be set manually, for example, by a user of the control system 1.
[0039] The constraint condition generated by the constraint condition acquisition device 10 using the constraint condition template is also referred to as an unknown constraint condition. The "unknown" here means that the constraint condition is not preset and becomes the constraint condition to be generated by the constraint condition acquisition device 10. The unknown constraint condition may be a constraint condition represented by an inequality. In this case, the unknown constraint condition is also referred to as an unknown inequality constraint condition.
[0040] The set information storage unit 172 stores the set information. The set information here is information that is predefined. The set information may include known constraint conditions, a cost function, and control parameter information. The known constraint conditions here are the constraint conditions in the control of the control target 30 other than the unknown constraint conditions. The "known" here means that the constraint conditions are set in advance.
[0041] The cost function here is a function that indicates the evaluation of the control of the control target 30 in terms of cost. The control parameter information here is information indicating the values of the parameters in various mathematical formulas provided in advance, such as known constraint conditions and cost functions. Also, the control parameter information may be used when the control device 20 generates a control input for the control target 30. The set information or a part thereof may be set manually, for example, by a user of the control system 1.
[0042] The framework information storage unit 173 stores a plurality of pieces of framework information. The framework information here is information indicating the framework of the solution search problem to be solved in order for the constraint condition acquisition device 10 to calculate the parameter values of the constraint condition template. The solution search problem here is a problem of finding a solution that satisfies the set constraint conditions. The solution search problem includes an optimization problem.
[0043] In an optimization problem, in addition to the constraint conditions, an objective function is set, and among the solutions that satisfy the constraint conditions, a solution that optimizes the objective function value is searched for. The optimization of the objective function value may be to make the objective function value as small as possible. Alternatively, the optimization of the objective function value may be to make the objective function value as large as possible. In an optimization problem, an end condition for the solution search is set, and the solution is searched until the end condition is satisfied. On the other hand, the solution search problem may be a problem of finding a solution that satisfies the set constraint conditions without an objective function being presented.
[0044] For example, the framework information may be information indicating an assignment method of assigning a plurality of constraint conditions in the control of the control target 30 to the objective function or the constraint conditions in the solution search problem according to the type of the constraint conditions.
[0045] Depending on which of the plurality of framework information is used by the constraint condition acquisition device 10, the computational complexity, ease of obtaining a solution, and accuracy of the solution of the solution search problem differ. The constraint condition acquisition device 10 may select the framework information according to an index value of the computational complexity such as the number of constraint conditions.
[0046] Further, the constraint condition acquisition device 10 may select framework information that results in a solution search problem in which it is relatively difficult to obtain a solution and, when a solution can be obtained, the accuracy of the solution is relatively high, and perform the setting and solution search of the solution search problem. When a solution cannot be obtained with the selected framework information, the constraint condition acquisition device 10 may select framework information that results in a solution search problem in which it is relatively easy to obtain a solution and, when a solution can be obtained, the accuracy of the solution is relatively low, and re-perform the setting and solution search of the solution search problem.
[0047] The control unit 180 controls each unit of the constraint condition acquisition device 10 to perform various processes. The function of the control unit 180 may be executed, for example, by a CPU (Central Processing Unit) provided in the constraint condition acquisition device 10 reading a program from the storage unit 170 and executing it.
[0048] The time series data acquisition unit 181 acquires learning data. For example, the time series data acquisition unit 181 may extract learning data from the received data of the communication unit 110. The time series data acquisition unit 181 acquires learning data including the success time series data ξ j s and the failure time series data ξ j f The time series data acquisition unit 181 corresponds to an example of the time series data acquisition means.
[0049] The constraint condition estimation unit 182 estimates unknown constraint conditions based on the learning data. The template acquisition unit 183 acquires a constraint condition template. Specifically, the template acquisition unit 183 excludes from the acquisition targets the constraint condition templates that do not conform to the learning data among the plurality of constraint condition templates stored in the template storage unit 171. Then, the template acquisition unit 183 selects any one of the remaining constraint condition templates as the acquisition target.
[0050] In the determination of compatibility with the learning data, the template acquisition unit 183 determines as incompatible and excludes from the acquisition targets the constraint condition templates for which there are no parameter values such that the constraint conditions are satisfied in the successful time-series data and the constraint conditions are not satisfied in the failed time-series data.
[0051] When a plurality of constraint condition templates remain as acquisition targets, the method by which the template acquisition unit 183 selects one of the constraint condition templates is not limited to a specific method. For example, the template acquisition unit 183 may randomly select any one of the plurality of constraint condition templates. Alternatively, a selection priority order may be preset for the constraint condition templates, and the template acquisition unit 183 may select the constraint condition templates according to the priority order.
[0052] The method for determining the priority order in this case is not limited to a specific method. For example, the constraint condition templates representing larger regions may be set with higher priority. Then, the template acquisition unit 183 may first select the constraint condition template representing a larger region according to the priority order. If the selected template does not conform to the learning data, the template acquisition unit 183 may reselect the constraint condition template representing a smaller region according to the priority order.
[0053] Alternatively, the priorities of the constraint condition templates may be preset based on the importance of the constraint conditions. For example, in a Pick and Place Task, the priority of a constraint condition template representing a safety-related constraint such that the robot does not collide with a box or the like may be set higher than the priority of a constraint condition template representing a constraint for task success such that an article is not dropped.
[0054] The template acquisition unit 183 may acquire a plurality of constraint condition templates. In that case, the template acquisition unit 183 may acquire a plurality of constraint condition templates at once. Alternatively, the template acquisition unit 183 may acquire one constraint condition template at a time and repeat the acquisition of the constraint condition templates. The template acquisition unit 183 corresponds to an example of a template acquisition means.
[0055] The problem setting unit 184 sets a solution search problem for the constraint condition acquisition device 10 to calculate parameter values of the constraint condition templates. In particular, the problem setting unit 184 selects any one of the framework information stored in the framework information storage unit 173. Thereby, the problem setting unit 184 determines an assignment method of whether to assign a plurality of constraint conditions in the control of the control target 30 to the objective function or to the constraint conditions in the solution search problem according to the types of the constraint conditions. The problem setting unit 184 sets a solution search problem according to the determined assignment method.
[0056] If the parameter values are not determined in the set solution search problem, the problem setting unit 184 may re-set the solution search problem. In this case, the problem setting unit 184 re-selects any one of the framework information stored in the framework information storage unit 173. Then, the problem setting unit 184 sets a solution search problem based on the assignment method indicated by the newly selected framework information. The problem setting unit 184 corresponds to an example of a problem setting means.
[0057] The integration unit 185 integrates a plurality of inequality constraint conditions in the solution search problem into one inequality constraint condition. The integration of the constraint conditions here means replacing a plurality of constraint conditions with one constraint condition. The integration unit 185 integrates a plurality of inequality constraint conditions in the solution search problem, which are obtained by inputting each of a plurality of time series data into the same constraint condition in the control of the controlled object 30, into one inequality constraint condition. Specifically, the integration unit 185 obtains the maximum value or the minimum value for each of the time series data and time of the function constituting the inequality constraint condition. The integration unit 185 integrates the plurality of inequality constraint conditions in the solution search problem into an inequality constraint condition using the obtained maximum value or minimum value. In this case, the process of the integration unit 185 integrating the inequality constraint conditions in the solution search problem corresponds to the process of approximately obtaining the constraint condition closest to the boundary of the inequality (the constraint condition with the most stringent establishment) among the plurality of inequality constraint conditions.
[0058] Also, the integration unit 185 integrates a plurality of inequality constraint conditions in the solution search problem, which are obtained according to a plurality of inequality constraint conditions in the control of the controlled object 30, into one inequality constraint condition. Specifically, the integration unit 185 integrates a plurality of functions constituting a plurality of inequality constraint conditions in the control of the controlled object 30 into a function that approximates the maximum value for each argument value of those plurality of function values, or a function that approximates the minimum value for each argument value of those plurality of function values. Also in this case, the process of the integration unit 185 integrating the inequality constraint conditions in the solution search problem corresponds to the process of approximately obtaining the constraint condition closest to the boundary of the inequality (the constraint condition with the most stringent establishment) among the plurality of inequality constraint conditions.
[0059] The integration of the constraint conditions by the integration unit 185 corresponds to taking the logical sum (i.e., obtaining the union of the regions) of the regions where the inequality constraint conditions do not hold. Therefore, the fact that any one or more of the constraint conditions before integration do not hold is indicated by the fact that the constraint condition after integration does not hold. The integration unit 185 uses differentiable functions as the function for approximating the maximum value and the function for approximating the minimum value, respectively. This makes it relatively easy to solve the solution search problem using the integrated constraint conditions.
[0060] The constraint condition calculation unit 186 calculates the parameter values of the constraint condition template by solving the solution search problem set by the problem setting unit 184. As a result, the constraint condition calculation unit 186 determines the values of the parameters such that the constraint conditions are satisfied for the successful time series data and not satisfied for the failed time series data. The constraint condition calculation unit 186 corresponds to an example of the constraint condition calculation means.
[0061] The constraint condition determination unit 187 determines whether the parameter values of the constraint condition template have been obtained. For example, the constraint condition determination unit 187 determines whether the condition set as the end condition of the solution search problem is satisfied. Alternatively, the constraint condition determination unit 187 may directly determine whether parameter values that satisfy the constraint conditions set in the solution search problem have been obtained.
[0062] When it is determined that the parameter values of the constraint condition template have not been obtained, the constraint condition determination unit 187 determines whether there is any selectable framework information among the framework information stored in the framework information storage unit 173. When the constraint condition determination unit 187 determines that there is selectable framework information remaining, the constraint condition estimation unit 182 restarts the process of estimating unknown constraint conditions from the selection of the framework information by the problem setting unit 184. On the other hand, when the constraint condition determination unit 187 determines that there is no selectable framework information remaining, the constraint condition estimation unit 182 restarts the process of estimating unknown constraint conditions from the selection of the constraint condition template by the template acquisition unit 183. Furthermore, when the constraint condition determination unit 187 determines that there is no selectable constraint condition template remaining among the constraint condition templates stored in the template storage unit 171, the constraint condition estimation unit 182 determines that the estimation of the unknown constraint condition has failed and ends the process.
[0063] FIG. 3 is a diagram showing an example of data input / output in the control system 1. In the example of FIG. 3, the time series data acquisition unit 181 acquires learning data ξ obtained using the actual machine of the control target 30. As described above for the constraint condition acquisition device 10, the time series data acquisition unit 181 may acquire learning data ξ by simulating the operation of the control target 30.
[0064] As described above, for each individual time series data ξ j constituting the learning data ξ, the state x t for each time series data and each time and the input u t are included. Here, as an example of the control target 30, the two-dimensional coordinate representation of the position of the tip of the robot arm is used as the state x t , and the two-dimensional coordinate representation of the movement amount command value of the tip of the robot arm between time steps is used as the input u t . A case will be described as an example.
[0065] FIG. 4 is a diagram showing an example of the operation of the control target 30. In the example of FIG. 4, a line L111 showing the trajectory of the tip of the robot arm at the time of task success and a line L121 showing the trajectory of the tip of the robot arm at the time of task failure are shown. On the line L111, the tip positions of the robot arm as the states x0 to x5 included in the success-time series data ξ j s are plotted. The state x0 indicates the operation start position of the tip of the robot arm, and the state x5 indicates the operation end position.
[0066] On the line L121, the tip positions of the robot arm as the states x0 to x5 included in the failure-time series data ξ j f are plotted. The state x0 indicates the operation start position of the tip of the robot arm, and the state x5 indicates the operation end position. In the task execution shown by the line L121, the tip of the robot arm starts operating from a position different from that in the task execution shown by the line L111 and ends operating at the same position as in the task execution shown by the line L111.
[0067] In addition, FIG. 4 shows an area A111 that the tip of the robot arm should avoid entering in order for the control system 1 to succeed in the task. Here, as an example of the task, the case where the robot arm grips and transports a load will be described. If the tip of the robot arm enters a predetermined area exemplified in the area A111, for example, the load contacts an obstacle and the robot arm drops the load, etc., it is assumed that the control system 1 fails in the task.
[0068] Time-series data ξ j When using the two-dimensional coordinates of the tip of the robot arm as the control target 30 in the state shown in, the state x at time t t can be expressed as in Equation (4).
[0069]
Equation
[0070] Here, the coordinate axes of the two-dimensional coordinates are referred to as the first axis and the second axis. x t1 and x t2 respectively indicate the coordinate value on the first axis and the coordinate value on the second axis. ";" represents column vector notation. That is, ";" indicates that the elements of the vector are arranged vertically to represent the vector.
[0071] When expressing the input (command value) to the control target 30 as the command value of the state change amount between time steps, the input at time t can be expressed as in Equation (5).
[0072]
Equation
[0073] u t1 and u t2 respectively indicate the change amount of the coordinate value on the first axis and the change amount of the coordinate value on the second axis.
[0074] Based on the training data ξ, the constraint condition estimation unit 182 estimates the constraint conditions in the control of the control target 30. Specifically, the constraint condition estimation unit 182 uses the time series data ξ at the time of success j s where the constraint conditions are satisfied, and the time series data ξ at the time of failure j f to set the constraint conditions such that the constraint conditions are not satisfied. By controlling the control target 30 so that the constraint conditions are satisfied, the control device 20 is expected to succeed in the task.
[0075] Assume that the constraint conditions in the control of the control target 30 include known equation constraint conditions, known inequality constraint conditions, and unknown inequality constraint conditions. The known equation constraint conditions can be expressed as in Equation (6).
[0076]
Equation
[0077] N k eq represents the number of known equation constraint conditions. In Equation (6), i represents the identification number for identifying the known equation constraint conditions. h i,k is a function that constitutes the equation. ξ j represents the time series data in one task execution. The equation constraint condition h i,k (ξ j ) = 0 indicates the necessary condition that should be satisfied to achieve the task in each task execution.
[0078] The "i" in "h i,k " represents the above identification number. "k" indicates that the equation constraint condition h i is known. The N k eq constraint conditions represented by Equation (6) can be expressed as in Equation (7) using a vector.
[0079]
Number
[0080] h k (ξ j ) is a vector with elements h 1,k (ξ j ), ···, h Nkeq,k (ξ j ) and is represented as a column vector as in Equation (8).
[0081]
Number
[0082] The "0" on the right side of Equation (7) is a column vector with element values of 0. Equation (7) represents the constraint condition that each element value of h k (ξ j ) is 0. The "k" in "h k " also indicates that the equality constraint condition h is known. Known inequality constraint conditions can be represented as in Equation (9).
[0083]
Number
[0084] N k ineq indicates the number of known inequality constraint conditions. In Equation (9), i indicates the identification number for identifying the known inequality constraint conditions. g i,k is a function that constitutes the inequality. ξ j indicates the time-series data in one task execution. The inequality constraint condition g i,k (ξ j ) ≤ 0 indicates the necessary condition that should be satisfied to achieve the task in each individual task execution.
[0085] "g i,kThe "i" in "" indicates the above identification number. "k" indicates that the inequality constraint condition g i is known. The N k ineq constraint conditions represented by formula (9) can be expressed as in formula (10) using vectors.
[0086]
Number
[0087] g k (ξ j ) is a vector with elements g 1,k (ξ j ), ···, g Nkineq,k (ξ j ), and is represented as a vertical vector, similar to the case of "h k (ξ j )" in formula (7). The "0" on the right side of formula (10) is a vertical vector with element values of 0. Formula (10) indicates the constraint condition that the value of each element of g k (ξ j ) is less than or equal to 0. The "k" in "g k " also indicates that the inequality constraint condition g is known. The unknown inequality constraint condition can be expressed as in formula (11).
[0088]
Number
[0089] N uk ineq indicates the number of unknown inequality constraint conditions. In formula (11), i indicates the identification number for identifying the unknown inequality constraint condition. g i,uk is a function that constitutes the inequality. ξ j indicates the time-series data in one task execution.
[0090] Also, g i,ukSince it is a function that constitutes an unknown inequality, it is expressed in the form of a template with parameter θ. The parameter θ may be represented as a vector. That is, as the value of the parameter θ, a plurality of vector element values may be set. The constraint condition acquisition device 10 stores, for example, a plurality of types of templates for unknown inequality constraint conditions. Then, the constraint condition acquisition device 10 selects one of the plurality of types of templates according to the obtained learning data ξ and sets the value of the parameter θ.
[0091] The inequality constraint condition g i,uk (ξ j , θ) ≤ 0 indicates a necessary condition that should be satisfied in order to achieve the task in task execution. The constraint condition acquisition device 10 may repeatedly perform the selection of the template and the setting of the parameter value according to the operating environment of the control target 30 and the known constraint conditions, and generate a plurality of unknown inequality constraint conditions. As described above, the number of unknown inequality constraint conditions is denoted as N uk ineq and expressed as. When the constraint condition acquisition device 10 sets different values for the parameter θ of the same type of template, each shall be treated as a separate constraint condition.
[0092] “g i,uk ”s “i” indicates the above identification number. “uk” indicates that the inequality constraint condition g i is unknown. The N uk ineq constraint conditions shown in Equation (11) can be represented as in Equation (12) using a vector.
[0093]
Equation
[0094] g uk (ξ j , θ) is g 1,k (ξ j , θ), ···, gNukineq,uk (ξ j , θ) is a vector with elements, and in the case of "h k (ξ j )" in Equation (7), it is represented as a vertical vector. The "0" on the right side of Equation (12) is a vertical vector with element values of 0. Equation (12) represents the constraint condition that each element value of g uk (ξ j , θ) is 0 or less. "uk" in "g uk " also indicates that the inequality constraint condition g is unknown.
[0095] With reference to Figure 4, an example of the constraint condition will be described. As described above, when the input u t is represented by the command value of the state change amount between time steps, the relationship between the input to the control target 30 and the state change is represented as in Equation (13).
[0096]
Equation
[0097] Equation (13) represents that the state changes from the state x t at time t according to the input u t and becomes the state x t+1 at time t + 1. Equation (13) corresponds to an example of a known equation constraint condition.
[0098] Also, depending on the specifications of the control target 30, etc., it is conceivable that upper and lower limit values are defined for the input value to the control target 30. For example, as the upper and lower limit values of u ti (i = 1, 2) in Equation (5) indicating the change amount of the coordinate value for each coordinate axis, the upper limit value u ineq and the lower limit value -u ineq shown in Equation (14) may be defined according to the dynamic characteristics of the control target 30.
[0099]
Equation
[0100] u ineq is a positive real constant. For each of the cases where i = 1 and i = 2, the inequalities "-u ineq ≦ u ti " and "u ti ≦ u ineq " shown in Equation (14) each correspond to an example of known inequality constraint conditions.
[0101] The constraint condition that the controlled object 30 does not enter the region A111 can be expressed as in Equation (15).
[0102]
Equation
[0103] x c and y c represent the center coordinates when the region A111 is an elliptical region. x c represents the coordinate value of the first axis, and y c represents the coordinate value of the second axis. a and b represent the major axis and minor axis of the ellipse. Either a or b may represent the major axis. Also, a = b may hold, and in this case, the region A111 is represented as a circular region.
[0104] In Equation (15), for example, each of "x c ", "y c ", "a 2 " and "b 2 " can be treated as a parameter. In this case, the parameter vector θ can be expressed as in Equation (16).
[0105]
Equation
[0106] Equation (15) in a state where the values of the respective parameters are not determined corresponds to an example of a template of unknown inequality constraint conditions. Equation (15) in a state where the values of the respective parameters are determined corresponds to an example of an unknown inequality constraint condition. The template acquisition unit 183 selects any one of the templates stored in the template storage unit 171, and the constraint condition calculation unit 186 sets the parameter values of the template, whereby an unknown inequality constraint condition is obtained.
[0107] In the constraint condition estimation unit 182, the template acquisition unit 183 selects any one of the constraint condition templates stored in the template storage unit 171 based on the learning data. As described above, the template acquisition unit 183 determines that a constraint condition template in which there is no value of a parameter such that the constraint condition holds in the success time series data and does not hold in the failure time series data is inappropriate and excludes it from the acquisition target. The fact that the constraint condition holds in the success time series data means that the time series data ξ of Equation (12) j is the success time series data ξ j s and is expressed as in Equation (17).
[0108]
Number
[0109] The fact that the constraint condition does not hold in the failure time series data means that the inequality sign “≦” in Equation (12) is replaced with “>”, and the time series data ξ j is the failure time series data ξ j f and is expressed as in Equation (18).
[0110]
Number
[0111] The template acquisition unit 183 uses all the success time series data ξ js For all times, Equation (17) holds, and for one or more times of one or more failure time series data ξ j f Select one or more constraint condition templates for which there exists a value of parameter θ such that Equation (18) holds for one or more times of ξ. On the other hand, for the constraint condition templates for which there does not exist a value of parameter θ such that Equation (17) holds for all times of all success time series data ξ j s and Equation (18) holds for one or more times of one or more failure time series data ξ j f exclude them from the selection targets in advance.
[0112] FIG. 5 is a diagram showing an example of the relationship between time series data and a region set as an unknown inequality constraint condition. In the example of FIG. 5, a line L211 showing the trajectory of the tip of the robot arm at the time of task success and a line L221 showing the trajectory of the tip of the robot arm at the time of task failure are shown. The line L211 and the states x0 to x5 plotted on the line L211 are the same as the line L111 in FIG. 4 and the states x0 to x5 plotted on the line L111. The line L221 and the states x0 to x5 plotted on the line L221 are the same as the line L121 in FIG. 4 and the states x0 to x5 plotted on the line L121.
[0113] Also, in FIG. 5, regions A211, A221, and A222 are shown. None of the states included in the failure time series data ξ j f are included in the region A211. On the other hand, among the states included in the failure time series data ξ j f states x0 and x1 are included in the region A221. Also, among the states included in the failure time series data ξ j f states x2 and x3 are included in the region A222.
[0114] Here, a constraint condition template showing an elliptical area as an area where the control target 30 cannot enter is provided, and it is assumed that the diameter of the ellipse in the first coordinate axis direction and the diameter of the ellipse in the second coordinate axis direction are parameters. On the other hand, it is assumed that the coordinates of the center point of the ellipse are preset in the constraint condition template. The template acquisition unit 183 selects a constraint condition template with appropriate coordinates set according to the learning data from among a plurality of constraint condition templates with different coordinates set.
[0115] As described above, among the states included in the failure time series data ξ j f states x0 and x1 are included in region A221. Therefore, by setting inequality constraint conditions such that the condition holds outside region A221 and does not hold inside region A221, the constraint condition holds for the successful time series data ξ j s and does not hold for the failure time series data ξ j f
[0116] Also, among the states included in the failure time series data ξ j f states x2 and x3 are included in region A222. Therefore, by setting inequality constraint conditions such that the condition holds outside region A222 and does not hold inside region A222, the constraint condition holds for the successful time series data ξ j s and does not hold for the failure time series data ξ j f Therefore, the template acquisition unit 183 can select either one or both of the constraint condition template showing region A221 and the constraint condition template showing region A222.
[0117] On the other hand, the failure time series data ξ j f None of the states included in [the original text] are included in region A211. Even if the parameter value of the constraint condition template indicating region A211 is changed to change the diameter of the ellipse, it is not possible to make the states included in the successful time series data be included in region A211 first and only the states included in the failed time series data be included in region A211.
[0118] Thus, for the constraint condition template indicating region A211, there is no value of the parameter such that the constraint condition holds for the successful time series data and does not hold for the failed time series data. Therefore, the template acquisition unit 183 excludes the constraint condition template indicating region A211 from the candidates for selection and does not select it.
[0119] When the template acquisition unit 183 selects a constraint condition template, it may set the range of values that the parameter can take. For example, when the template acquisition unit 183 selects the constraint condition template indicating region A221, at least one of the states x2 or x3 of the failed time series data ξ j f is included in region A221, and none of the states of the successful time series data ξ j s are included in region A221, and it may calculate the range of parameter values. When the constraint condition calculation unit 186 solves the solution search problem to calculate the parameter value, it only needs to search within the range of parameter values calculated by the template acquisition unit 183. In this regard, the load on the constraint condition calculation unit 186 can be reduced.
[0120] The template acquisition unit 183 may further select a constraint condition template based on any one of the control parameter information, cost function, or known constraint conditions stored in the set information storage unit 172, or a combination thereof. For example, the template acquisition unit 183 may exclude constraint condition templates indicating constraint conditions included in known constraint conditions from the selection target and select other constraint condition templates. Further, the template acquisition unit 183 may exclude constraint condition templates indicating constraint conditions that do not affect the optimization of the cost function from the selection target and select other constraint condition templates.
[0121] Based on the set information stored in the set information storage unit 172 and the constraint condition templates acquired by the template acquisition unit 183, the problem setting unit 184 sets a solution search problem for calculating the parameter values of the constraint condition templates. At this time, the problem setting unit 184 determines the framework of the solution search problem based on the framework information stored in the framework information storage unit 173.
[0122] The expression form of the constraint conditions in the control system 1 is not limited to a specific form, and various expression forms in which a part of the constraint conditions can be expressed by inequalities can be used. Here, the case where the constraint conditions are expressed as KKT conditions (Karush-Kuhn-Tucker conditions) will be described as an example. Time series data ξ j The main constraint conditions (executable conditions of the main problem) of the KKT conditions for can be expressed as in Equation (19).
[0123]
Equation
[0124] "h k (ξ j ) = 0" indicates known equality constraint conditions as described with reference to Equation (7). "g k (ξ j ) ≤ 0" indicates known inequality constraint conditions as described with reference to Equation (10).
[0125] "g uk (ξ js , θ) ≤ 0” and “g uk (ξ j f , θ) > 0” both represent unknown inequality constraint conditions. As described above, the time-series data ξ acquired by the constraint condition acquisition device 10 j is associated with information indicating whether the task is successful or failed. In Equation (19), the time-series data ξ in the case of task success j s and the time-series data ξ in the case of task failure j f are distinguished from each other.
[0126] “g uk (ξ j s , θ) ≤ 0” in the case of task success is the equation obtained by substituting “ξ j ” with “ξ j s ” in Equation (12). On the other hand, “g uk (ξ j f , θ) > 0” in the case of task failure represents the condition that the condition “g uk (ξ j , θ) ≤ 0” shown in Equation (12) does not hold. It can be said that “in the case of task failure, the condition g uk (ξ j , θ) ≤ 0 does not hold”. Taking the contrapositive of the proposition “if the condition g uk (ξ j , θ) ≤ 0 holds, then it is the case of task success”.
[0127] Therefore, the constraint condition acquisition device 10 may set the constraint condition based on Equation (19), and the control device 20 may control the control target 30 so as to satisfy the constraint condition including the unknown inequality constraint condition shown in Equation (12). As a result, the control device 20 can control the control target 30 so as to avoid failing the task due to “g uk (ξ j , θ) > 0”, and it is expected that the task can be achieved. The main constraint condition shown in Equation (19) is also denoted as “Condition A”.
[0128] Denote the Lagrange multipliers in the KKT conditions by the vector λ k and the vector λ uk . The Lagrange multipliers are also referred to as KKT multipliers. The condition that the Lagrange multipliers take values greater than or equal to 0 (the feasibility condition of the dual problem) is expressed as in Equation (20).
[0129]
Number
[0130] The vector λ k is expressed as in Equation (21).
[0131]
Number
[0132] λ i,k (i = 1, ···, N k ineq ) represents the Lagrange multiplier for each of the known inequality constraint conditions “g k (ξ j ) ≤ 0”. For the case of “h k (ξ j )” in Equation (7), in Equation (21), λ k is represented as a vertical vector. “λ k ≥ 0” in Equation (20) indicates the constraint condition that the value of each element of λ k is greater than or equal to 0. The vector λ uk is expressed as in Equation (22).
[0133]
Number
[0134] λ i,uk (i = 1, ···, N uk ineq ) represents the Lagrange multiplier for the unknown inequality constraint condition “guk (ξ j , θ) ≤ 0」for each Lagrange multiplier is shown. For "h" in Equation (7) k (ξ j ), in Equation (22), λ uk is represented by a vertical vector. "λ uk ≥ 0" in Equation (20) indicates the constraint condition that the value of each element of λ uk is 0 or greater. The constraint condition of the Lagrange multiplier shown in Equation (20) is also denoted as "Condition B".
[0135] The complementary slackness condition (condition regarding slack variables) in the KKT conditions is represented as in Equation (23).
[0136]
Number
[0137] The operator indicated by a circle (○) represents the Hadamard product, that is, the product of each element (component) of a matrix or vector. The upper - side equation in Equation (23), "λ k 〇g k (ξ j s ) = 0" indicates the constraint condition that the value of the product of each element of "λ k " and "g k (ξ j s )" is all 0. The lower - side equation in Equation (23), "λ uk 〇g uk (ξ j s , θ) = 0" indicates the constraint condition that the value of the product of each element of "λ uk " and "g uk (ξ j s , θ)" is all 0. The complementary slackness condition shown in Equation (23) is also denoted as "Condition C".
[0138] The stationarity condition in the KKT conditions is shown as in Equation (24).
[0139]
Mathematics
[0140] ∇ represents the Nabla operator. c represents the cost function. ν k j is the Lagrange multiplier corresponding to the equality constraint condition h k (ξ j ). The stationarity condition shown in Equation (24) is also denoted as "Condition D".
[0141] As the cost function c, for example, the one shown in Equation (25) can be used.
[0142]
Mathematics
[0143] x d represents the target position reached by the tip of the robotic arm. In the case of the example in Figure 4, the target position reached is represented by the point of state x5, and x d = x5. R and Q each represent a regular matrix. 「||x t+1 - x d || R 2 」 is expressed as in Equation (26).
[0144]
Mathematics
[0145] 「||x t+1 - x d || R 2 」, the closer the position of the controlled object 30 is to the target position reached, the smaller the cost. 「||u t || Q2 " is expressed as in Equation (27).
[0146]
Number
[0147] "||x t+1 - x d || R 2 ", the smaller the movement amount of the controlled object 30, the smaller the cost.
[0148] When expressing the above constraint conditions as KKT conditions, as the first example of the framework for constructing the solution search problem, a framework can be used in which any of Condition A, Condition B, Condition C, and Condition D are assigned to the constraint conditions in the solution search problem. The solution search problem in this case is shown as in Equation (28).
[0149]
Number
[0150] In Equation (28), parameters θ, Lagrange multiplier vector λ k , λ uk , and ν k j that satisfy all of the main constraint condition shown in Equation (19), the constraint condition of the Lagrange multiplier shown in Equation (20), the complementary slack condition shown in Equation (23), and the stationarity condition shown in Equation (24) are searched for. The solution search problem shown in Equation (28) is also denoted as "Problem 1".
[0151] As a second example of the framework for constructing a solution search problem, a framework can be used in which Condition A, Condition B, and Condition C are assigned to the constraint conditions in the solution search problem, and Condition D is assigned to the objective function. The solution search problem in this case is expressed as in Equation (29).
[0152] [Number]
[0153] In Equation (29), the main constraint condition shown in Equation (19), the constraint condition of the Lagrange multiplier shown in Equation (20), and the complementary slack condition shown in Equation (23) are used as the constraint conditions in the optimization problem, and the parameters θ, the Lagrange multiplier vector λ k , λ uk , and ν k j are combined to solve an optimization problem of minimizing the value of the left side of Equation (24). The "||Condition D(ξ j )||" in the objective function of Equation (29) represents the norm of the left side of Equation (24). The solution search problem shown in Equation (29) is also denoted as "Problem 2".
[0154] Comparing Equation (28) and Equation (29), in Equation (28), it is required that the value of the left side of Equation (24) becomes 0. In contrast, in Equation (29), it is not required that the value of the left side of Equation (24) becomes exactly 0, but the magnitude of the value of the left side of Equation (24) is minimized. In this regard, it can be said that Equation (29) has a looser condition than Equation (28). While Equation (28) can obtain the constraint conditions for achieving the task with high precision, Equation (29) is easier to obtain a solution.
[0155] Also, it is expected that the computational complexity of Equation (29) is less than that of Equation (28). For example, if we try to solve the optimization problem of Equation (28) and cannot obtain a solution within a predetermined time, it is conceivable to try to solve the optimization problem of Equation (29).
[0156] As a third example of the framework for constructing the solution search problem, a framework can be used in which Condition A, Condition B, and Condition D are assigned as constraint conditions in the solution search problem, and Condition C is assigned as the objective function. The solution search problem in this case is expressed as in Equation (30).
[0157]
Equation
[0158] In Equation (30), the main constraint condition shown in Equation (19), the constraint condition of the Lagrange multiplier shown in Equation (20), and the condition of stationarity shown in Equation (24) are used as constraint conditions in the optimization problem, and the parameters θ, the Lagrange multiplier vector λ k , λ uk , and ν k j are combined to solve the optimization problem of minimizing the magnitude of the left side value of Equation (23).
[0159] In this case, two vectors "λ k 〇g k (ξ j s )" and "λ uk 〇g uk (ξ j s , θ)" are obtained as the left side of Equation (23). "||Condition D(ξ j )||" in the objective function of Equation (30) represents the sum of the norms of these two vectors. The solution search problem shown in Equation (30) is also denoted as "Problem 3".
[0160] Comparing Equation (29) with Equation (30), in Equation (30), it is expected that the solution can be obtained more easily because the complementary slackness condition shown in Equation (23) is not used as a constraint condition in the optimization problem. Here, the constraint condition in the form of Condition C is difficult to handle as a constraint condition in the optimization problem, and it can be said that optimization is difficult (it is difficult to obtain a solution). In contrast, in Equation (30), since Condition C is converted into an objective function, it is no longer set as an optimal function. In this regard, it is expected that the solution can be obtained more easily in the case of Equation (30) than in the case of Equation (29).
[0161] Regarding the accuracy of the solution, it is expected that Equation (29) that uses the complementary slackness condition shown in Equation (23) as a constraint condition in the optimization problem has a higher solution accuracy when the solution is obtained. For example, if we try to solve the optimization problem of Equation (29) and cannot obtain a solution within a predetermined time, it is conceivable to try to solve the optimization problem of Equation (30).
[0162] As a fourth example of the framework for constructing the solution search problem, a framework can be used in which Condition A and Condition B are assigned as constraint conditions in the solution search problem, and Condition C and Condition D are assigned as objective functions. The solution search problem in this case is shown as Equation (31).
[0163]
Equation
[0164] In Equation (31), the main constraint condition shown in Equation (19) and the constraint condition of the Lagrange multiplier shown in Equation (20) are used as constraint conditions in the optimization problem, and the combination of the parameter θ, the Lagrange multiplier vector λ k , λ uk , and ν k j is obtained by solving an optimization problem of minimizing the sum of the magnitude of the left side value of Equation (23) and the magnitude of the left side value of Equation (24). The "||Condition C(ξ j )||" in the objective function of Equation (31) is the same as in the case of Equation (30). "||Condition D(ξ j )||" is the same as in the case of Equation (29). The solution search problem represented by Equation (31) is also denoted as "Problem 4".
[0165] In Equation (31), it can be said that the conditions are further relaxed compared to the cases of Equation (29) and Equation (30). While Equation (29) or Equation (30) can obtain more precise constraint conditions for achieving the task, Equation (31) makes it easier to obtain a solution.
[0166] Also, it is expected that the computational complexity of Equation (31) is less than that of Equation (29) or Equation (30). For example, if solving with Equation (29) or Equation (30) fails to obtain a solution within a predetermined time, it is conceivable to try solving with Equation (31).
[0167] Figure 6 is a diagram showing an example of the selection criteria for the framework of the solution search problem. In the example of Figure 6, the problem setting unit 184 calculates three threshold values obtained by multiplying the coefficients a1, a2, and a3 by the sum of the number N k eq of known equality constraint conditions, the number N k ineq of known inequality constraint conditions, and the number N k ineq of unknown inequality constraint conditions, respectively, and compares them with the number N s of time-series data to determine the solution search problem to be generated. The magnitudes of the coefficients are such that 0 < a1 < a2 < a3.
[0168] N s ≦ a1(N k eq + N k ineq + N uk ineq ), the problem setting unit 184 generates the solution search problem "Problem 1". a1(N keq +N k ineq +N uk ineq )<N s ≦a2(N k eq +N k ineq +N uk ineq ) In the case of, the problem setting unit 184 generates a solution search problem "Problem 2".
[0169] a2(N k eq +N k ineq +N uk ineq )<N s ≦a3(N k eq +N k ineq +N uk ineq ) In the case of, the problem setting unit 184 generates a solution search problem "Problem 3". a3(N k eq +N k ineq +N uk ineq )<N s In the case of, the problem setting unit 184 generates a solution search problem "Problem 4".
[0170] In this way, the problem setting unit 184 may generate a solution search problem using a framework with less calculation amount as the number of constraint conditions in the control is larger. If the parameter value of the constraint condition template cannot be obtained in the generated solution search problem, the problem setting unit 184 may generate a new solution search problem with less calculation amount.
[0171] When the problem setting unit 184 generates a solution search problem, the integration unit 185 may perform either one or both of data integration and constraint condition integration. The integration unit 185 performs integration of the constraint conditions used in the solution search problem using a function that outputs an approximation of the maximum value of the argument. The function that outputs an approximation of the maximum value of the argument is called the maximum value approximation function, and is denoted as max ~ and is expressed as such.
[0172] Also, the function that outputs the maximum value of the argument is called the maximum value function, and is denoted as max. For both the maximum value function max and the maximum value approximation function max ~ when the argument is a vector, the maximum value or its approximation is obtained for each element of the vector. The maximum value approximation function max ~ may be defined as in Equation (32).
[0173]
Equation
[0174] e represents the Napier's number. β is a constant where β ≥ 1, and it is desirable that β be as large as possible. In the case of the definition shown in Equation (32), max(a) > max ~ (a) holds. Alternatively, the maximum value approximation function max ~ may be defined as in Equation (33).
[0175]
Equation
[0176] e and β are the same as in the case of Equation (32). In the case of the definition shown in Equation (33), max(a) < max ~ (a) holds. In both the case of the definition shown in Equation (32) and the case of the definition shown in Equation (33), the maximum value approximation function max ~ is a smooth function. In particular, in either case, the maximum value approximation function max ~is differentiable. By using such a differentiable function, it becomes possible to search for a solution using the gradient, and the computational complexity of the solution search can be relatively small. Also, it is expected that a solution can be obtained even for a large-scale problem.
[0177] Depending on the direction of the inequality sign in the inequality constraint condition, the integration unit 185 may perform either or both of data integration and constraint condition integration using a minimum value approximation function in addition to or instead of the above maximum value approximation function. The minimum value approximation function is a function that outputs an approximate value of the minimum value of the argument, and is defined as a smooth function in the same manner as the maximum value approximation function defined by the above formula (32) or (33). The minimum value approximation function min ~ is defined, for example, as in formula (34).
[0178]
Number
[0179] The problem setting unit 184 sets a solution search problem for determining the parameter values of the constraint condition template. The constraint condition template with the parameter values set is used as a constraint condition in the control of the control target 30. As described above, the constraint condition acquisition device 10 sets the constraint condition in the control of the control target 30 such that the constraint condition is satisfied in the success time series data and not satisfied in the failure time series data. The setting of the constraint condition in the control of the control target 30 is performed by the constraint condition calculation unit 186 determining the parameter values of the constraint condition template using the solution search problem generated by the problem setting unit 184.
[0180] Therefore, the problem setting unit 184 generates a solution search problem by using the equation obtained by inputting the time series data into the constraint condition in the control of the control target 30 as a constraint condition or an objective function in the solution search problem.
[0181] For example, in the above-mentioned "Problem 1" where no objective function is provided and all the set constraints are treated as constraints in the solution search problem, consider the number of constraints in the solution search problem configured using known inequality constraints. In this case, for each of the known inequality constraints, the inequality constraint g i,k (ξ j )≦0 obtained by inputting each of the time-series data is used as a constraint in the solution search problem. Therefore, among the constraints in the solution search problem, the number of constraints based on the known inequality constraints is the number N k ineq of the known inequality constraints multiplied by the number N s of the time-series data, resulting in N k ineq ×N s constraints. Similarly, for the unknown inequality constraints and the known equality constraints, as constraints in the solution search problem, the number of constraints can be set to the product of the number of constraints and the number of time-series data, respectively.
[0182] On the other hand, the integration unit 185 may integrate the constraints in the solution search problem with respect to the time-series data. Alternatively, the integration unit 185 may integrate the constraints in the solution search problem with respect to the constraints in the control of the controlled object. Or, the integration unit 185 may perform both the integration with respect to the time-series data and the integration with respect to the functions constituting the constraints as the integration of the constraints in the solution search problem.
[0183] The integration of the known inequality constraints with respect to the time-series data is represented, for example, as in Equation (35).
[0184]
Equation
[0185] p j,irepresents the data corresponding to the constraint conditions in the time-series data. In the case of the constraint conditions for the state, the state vector x at time i of the j-th sample j,i corresponds to p j,i . In the case of the constraint conditions for the input to the control target 30, the input vector u at time i of the j-th sample j,i corresponds to p j,i .
[0186] The "g k (ξ)≈max ~ j∈{1,···,Nkineq} g k (ξ j )" on the left side of Equation (35) is the function vector g k (ξ) of the functions constituting the inequality constraint conditions. Among the functions g i,k (ξ j )(i = 1, ···, N k ineq , j = 1, ··· N s ), the functions g i,k (ξ1), ···, g i,k (ξ Ns ) are represented by the function max s among these N ~ j∈{1,···,Nkineq} g k (ξ j ) with the maximum function value, indicating that they are represented by max
[0187] The "max ~ j∈{1,···,Nkineq} g k (ξ j )≈max ~ j∈{1,···,Nkineq} {max ~ i∈{0,···,Nt} g k (p j,i )}" on the right side of Equation (35) represents that the function value g k (ξ j ) in one time-series data is represented by the maximum value max ~ i∈{0,···,Nt} g k (p j,i ) of the function values in that time-series data.
[0188] Based on Equation (35), the integration unit 185 integrates the constraints in the solution search problem with respect to the time series data by representing the value of the function g k (ξ) for the time series data and the function g k (ξ) with the maximum value max ~ j∈{1,···,Nkineq} {max ~ i∈{0,···,Nt} g k (p j,i )}.
[0189] In this case, among the constraints in the solution search problem, the number of constraints based on the known inequality constraints (the number of elements of the vector g k (ξ j )) is the number N k ineq of the known inequality constraints, and it is reduced from N k ineq ×N s when the integration unit 185 does not perform the integration of the constraints. The Lagrange multipliers corresponding to the reduced number of constraints can be reduced, and the computational cost for obtaining the solution of the solution search problem can be reduced.
[0190] Taking the maximum value max ~ j∈{1,···,Nkineq} {max ~ i∈{0,···,Nt} g k (p j,i )} in Equation (35) means representing with the time series data that is closest to the boundary value of the constraint, that is, the time series data that is most critical for the constraint. The integration unit 185 approximately performs taking the maximum value using a maximum value approximation function.
[0191] The integration of the functions constituting the known inequality constraints is expressed as in Equation (36).
[0192]
Equation
[0193] The left side of Equation (36), "gk g(ξ) = max j∈{1,···,Nkineq} g j,k (ξ j )」represents using the maximum among the N functions g k (ξ). The right side of Equation (36), "max k ineq g j,k (ξ j )", indicates using the maximum value approximation function max j∈{1,···,Nkineq} g j,k (ξ j ) ≈ max ~ j∈{1,···,Nkineq} g j,k (ξ j ) instead of the maximum value function max ~ .
[0194] As described above, among the N known inequality constraint conditions in the control of the controlled object 30, in the constraint conditions of the solution search problem, they are represented by the constraint conditions using one function that approximately represents the maximum value of those functions. As a result, among the constraint conditions in the solution search problem, the number of constraint conditions based on the known inequality constraint conditions is the number N k ineq of data series. When the integration unit 185 does not perform the integration of the constraint conditions, it decreases from N s ×N k ineq to N s . The Lagrange multipliers corresponding to the reduced number of constraint conditions can be reduced, and the computational cost when obtaining the solution of the solution search problem can be reduced.
[0195] The integration of the unknown inequality constraint conditions for the time series data is represented, for example, as in Equation (37).
[0196]
Equation
[0197] When the integration unit 185 calculates the equation (37), the value of the parameter θ of the constraint template is undetermined. Therefore, in the calculation of the equation (37), the integration unit 185 uses a function g uk Calculate (ξ, θ). The integration unit 185 integrates the function g in the unknown inequality constraint condition based on the equation (37). uk The value of (ξ,θ) is calculated by the function g uk Maximum value of (ξ,θ) ~ j∈{1,···,Nukineq} max ~ i∈{0,···,Nt} g uk (p j,i ,θ)}, the constraints in the solution search problem are integrated for time series data.
[0198] In this case, the number of constraints based on unknown inequality constraints among the constraints in the solution search problem (vector g k (ξ j ) is the number of unknown inequality constraints N uk ineq When the integration unit 185 does not integrate the constraints, N uk ineq ×N s The number of Lagrange multipliers corresponding to the reduced number of constraints can be reduced, and the computational cost for solving the solution search problem can be reduced.
[0199] The integration of the functions constituting the unknown inequality constraints is expressed as in equation (38).
[0200]
number
[0201] The value of the parameter θ of the constraint template is still undetermined when the integration unit 185 calculates the equation (38). Therefore, in the calculation of the equation (38), the integration unit 185 uses a function g uk Calculate (ξ, θ). N in controlling the controlled object 30uk ineq A number of unknown inequality constraint conditions are represented, in the constraint conditions in the solution search problem, by a constraint condition using one function that approximately represents the maximum value of those functions. As a result, among the constraint conditions in the solution search problem, the number of constraint conditions based on the unknown inequality constraint conditions is the number N s of data series, and when the integration unit 185 does not perform integration of the constraint conditions, it is N uk ineq ×N s and is decreased from that number. It is possible to reduce the Lagrange multipliers corresponding to the number of decreased constraint conditions, and it is possible to reduce the calculation cost when obtaining the solution to the solution search problem.
[0202] When the integration unit 185 integrates the constraint conditions in the solution search problem for time series data, it may integrate the constraint conditions only for a part of the plurality of time series data. For example, when the integration unit 185 integrates the known inequality constraint conditions in the solution search problem for time series data, it may integrate the constraint conditions only for a part of the plurality of time series data. Also, when the integration unit 185 integrates the unknown inequality constraint conditions in the solution search problem for time series data, it may integrate the constraint conditions only for a part of the plurality of time series data.
[0203] Further, when the integration unit 185 integrates the constraint conditions in the solution search problem for the constraint conditions in the control of the control target, it may integrate only a part of the plurality of constraint conditions in the control of the control target. For example, when the integration unit 185 integrates the known inequality constraint conditions in the solution search problem for the constraint conditions in the control of the control target, it may integrate only a part of the plurality of known inequality constraint conditions in the control of the control target. Also, when the integration unit 185 integrates the unknown inequality constraint conditions in the solution search problem for the constraint conditions in the control of the control target, it may integrate only a part of the plurality of unknown inequality constraint conditions in the control of the control target.
[0204] FIG. 7 is a diagram showing an example of data to be integrated by the integration unit 185. In FIG. 7, lines L311, L312, and L313 indicating the trajectories of the control target 30 at the time of task success are shown, and time-series data for each time is plotted on each line. Further, in FIG. 7, a region A311 indicating inequality constraint conditions is shown.
[0205] As described above, the integration unit 185 representing a plurality of data by an approximate value of the maximum value can be said to represent the value closest to the boundary of the constraint conditions. For example, in the example of FIG. 7, when the integration unit 185 integrates the success time-series data ξ1 s , ξ2 s and ξ3 s for the unknown inequality constraint conditions shown in the region A311, the integration unit 185 integrates them into the success time-series data ξ3 s closest to the region A311 based on the above formula (37).
[0206] Also, when the integration unit 185 integrates the data p s included in the success time-series data ξ3 3,0 from p 3,5 , the integration unit 185 represents the function value obtained by inputting each of these data into the function of the constraint conditions with the function value obtained by inputting the data p 3,4 plotted closest to the region A311 into the function of the constraint conditions.
[0207] The constraint condition calculation unit 186 calculates the parameter values of the constraint condition template by solving the solution search problem generated by the problem setting unit 184. Thereby, the constraint condition estimation unit 182 estimates the unknown inequality constraint conditions. The constraint condition calculation unit 186 outputs the unknown constraint conditions and the known constraint conditions to the control device 20. The control device 20 controls the control target 30 according to the unknown constraint conditions and the known constraint conditions to execute the task.
[0208] FIG. 8 is a diagram showing an example of the procedure of the process performed by the control system 1. In the process of FIG. 8, the time-series data acquisition unit 181 acquires Ns pieces of time-series data ξ1, ···, ξ Ns (step S111). As described above, information indicating either task success or task failure is associated with each of the time-series data.
[0209] Next, the template acquisition unit 183 selects, based on the time-series data, candidates for templates to be used for setting constraint conditions in the control of the control target 30 from among the templates of unknown inequality constraint conditions stored in the template storage unit 171 (step S112).
[0210] Next, the problem setting unit 184 sets a solution search problem for calculating parameter values of the constraint condition template (step S113). The problem setting unit 184 adopts one of a plurality of problem frameworks stored in the framework information storage unit 173 and sets, for example, a solution search problem according to the number of constraints. Also, the integration unit 185 may perform data integration or constraint condition integration to simplify the solution search problem.
[0211] Next, the constraint condition calculation unit 186 obtains parameter values of the constraint condition template by searching for a solution to the solution search problem set by the problem setting unit 184 (step S114). Next, the constraint condition determination unit 187 determines whether the constraint condition calculation unit 186 has successfully calculated the parameter values of the constraint condition template and obtained the constraint conditions (step S115).
[0212] When the constraint condition determination unit 187 determines that the acquisition of the constraint conditions has been successful (step S115: YES), the control device 20 calculates a control input to the control target 30 according to the constraint conditions and controls the control target 30 to execute a task (step S121). After step S121, the control system 1 ends the process of FIG. 8.
[0213] On the other hand, in step S115, when the constraint condition determination unit 187 determines that the acquisition of the constraint conditions has failed (step S115: NO), the constraint condition determination unit 187 determines whether there are any remaining candidate frameworks that can be selected among the problem frameworks stored in the framework information storage unit 173 (step S131).
[0214] When the constraint condition determination unit 187 determines that there are remaining candidate frameworks (step S131: YES), the process returns to step S113. On the other hand, in step S131, when it is determined that there are no remaining candidate frameworks, the constraint condition determination unit 187 determines whether there are any remaining candidate constraint condition templates that can be selected among the constraint condition templates stored in the template storage unit 171 (step S141).
[0215] When the constraint condition determination unit 187 determines that there are remaining candidate constraint condition templates (step S141: YES), the process returns to step S112. On the other hand, in step S141, when the constraint condition determination unit 187 determines that there are no remaining candidate constraint condition templates (step S141: NO), the control system 1 ends the process of FIG. 8. In this case, the control system 1 fails to generate the constraint conditions.
[0216] As described above, the time series data acquisition unit 181 acquires the successful time series data, which is the time series data regarding the control when the predetermined task performed by controlling the control target 30 is successful, and the failed time series data, which is the time series data when the task fails. The template acquisition unit 183 acquires the constraint condition template, which is the constraint condition including the parameters. The constraint condition calculation unit 186 determines the value of the parameter so that the constraint condition is satisfied in the successful time series data and the constraint condition is not satisfied in the failed time series data. According to the constraint condition acquisition device 10, it is possible to acquire constraint conditions other than the preset constraint conditions.
[0217] In addition, the template acquisition unit 183 excludes from the acquisition targets a constraint condition template in which, among a plurality of constraint condition templates, the constraint condition is satisfied in the success time series data and the parameter value for which the constraint condition is not satisfied in the failure time series data does not exist. According to the constraint condition acquisition device 10, it is possible to avoid selecting a constraint condition template that does not conform to the time series data, and in this respect, the constraint conditions can be acquired efficiently.
[0218] In addition, the problem setting unit 184 determines an assignment method of whether to assign a plurality of constraint conditions in the control of the control target to the objective function in the solution search problem or to the constraint conditions in the solution search problem according to the type of the constraint conditions, sets the solution search problem, and if the parameter value is not determined in the set solution search problem, changes the assignment method and re-sets the solution search problem. The constraint condition calculation unit 186 solves the solution search problem set by the problem setting unit 184 and determines the parameter values of the constraint condition template. According to the constraint condition acquisition device 10, when the parameter value cannot be obtained, the framework of the solution search problem can be changed and the solution search problem can be re-set, and in this respect, the possibility of obtaining the parameter value is high.
[0219] In addition, the problem setting unit 184 inputs each of the plurality of time series data into the same inequality constraint condition in the control of the control target 30, and for the plurality of inequality constraint conditions in the solution search problem obtained thereby, the maximum value or the minimum value of the function constituting the inequality constraint conditions for each of the time series data and the time is used to integrate the plurality of inequality constraint conditions in the solution search problem into one inequality constraint condition. According to the constraint condition acquisition device 10, the number of constraint conditions in the solution search problem can be reduced to simplify the problem. According to the constraint condition acquisition device 10, in this respect, the calculation time can be shortened, and the possibility of obtaining the parameter value is high.
[0220] Further, the problem setting unit 184 integrates a plurality of functions constituting the inequality constraint conditions for a plurality of inequality constraint conditions in the solution search problem according to a plurality of inequality constraint conditions in the control of the control target 30 into a function that approximates the maximum value for each argument value of these plurality of function values, or a function that approximates the minimum value for each argument value of these plurality of function values, thereby integrating the plurality of inequality constraint conditions in the solution search problem into one inequality constraint condition. According to the constraint condition acquisition device 10, the number of constraint conditions in the solution search problem can be reduced. According to the constraint condition acquisition device 10, the calculation time can be shortened in this regard, and the possibility of obtaining parameter values is high.
[0221] FIG. 9 is a diagram showing an example of the configuration of the constraint condition acquisition device 11 according to a modification of the first embodiment. The constraint condition acquisition device 11 shown in FIG. 9 is used, for example, in place of the control system 1 with the configuration of the control system 1 shown in FIG. 1. In the configuration shown in FIG. 9, the constraint condition acquisition device 11 includes a communication unit 110, a display unit 120, an operation input unit 130, a storage unit 170, and a control unit 180. The storage unit 170 includes a template storage unit 171, a set information storage unit 172, and a framework information storage unit 173. The control unit 180 includes a time series data acquisition unit 181 and a constraint condition estimation unit 182. The constraint condition estimation unit 182 includes a template acquisition unit 183, a problem setting unit 184, a constraint condition calculation unit 186, and a determination information calculation unit 188. The problem setting unit 184 includes an integration unit 185. The constraint condition calculation unit 186 includes a constraint condition determination unit 187.
[0222] Among the parts in FIG. 9, parts having the same functions corresponding to the parts in FIG. 2 are denoted by the same reference numerals (110, 120, 130, 170-173, 180-187), and detailed description thereof is omitted here. The constraint condition acquisition device 11 is different from the constraint condition acquisition device 10 in that the constraint condition estimation unit 182 further includes a determination information calculation unit 188. In other respects, the constraint condition acquisition device 11 is the same as the constraint condition acquisition device 10.
[0223] The determination information calculation unit 188 calculates control command information for the control target 30 for executing a task under the value of a parameter whose constraint condition is relaxed compared to the value of the parameter determined by the constraint condition calculation unit 186. The determination information calculation unit 188 corresponds to an example of the determination information calculation means.
[0224] FIG. 10 is a diagram showing an example of updating the constraint condition. In the example of FIG. 10, it is assumed that the area A411 is an area where the task cannot be achieved when the control target 30 enters. The area A411 is referred to as an actual entry prohibited area. On the other hand, it is assumed that the area A421 is an area where the constraint condition acquisition device 10 sets an unknown constraint condition to suppress the entry of the control target 30.
[0225] The actual entry prohibited area A411 is smaller than the entry prohibited area A421 set by the constraint condition acquisition device 10, and there is room for the control target 30 to move within the entry prohibited area A421 set by the constraint condition acquisition device 10. In this case, the determination information calculation unit 188 may set a temporary entry prohibited area A431 smaller than the entry prohibited area A421 set by the constraint condition acquisition device 10. Then, the determination information calculation unit 188 may instruct the control device 20 to allow the control target 30 to pass through the area that is the difference between the entry prohibited area A421 set by the constraint condition acquisition device 10 and the temporary entry prohibited area. Then, when the task is successful, the constraint condition acquisition device 10 may re-set an unknown constraint condition so that the path through which the control target 30 has passed is not included in the entry prohibited area. In this case, the control device 20 determines the path of the control target 30 by solving, for example, the optimization problem shown in Equation (39).
[0226]
Equation
[0227] In Equation (39), the unknown constraint condition is "g uk (ξ,θ) < ε", and "g ukWhen the constraint is relaxed and the entry prohibited region becomes smaller than the case of "(ξ, θ) < 0". By the control device 20 solving the optimization problem of Equation (39) to determine the path of the control target 30, the control target 30 can be made to pass through the region that is the entry prohibited region in the case of " uk g(ξ, θ) < 0" and the passability can be tested.
[0228] FIG. 11 is a diagram showing an example of data input / output in a modification of the control system 1. The constraint condition acquisition device 11 in FIG. 11 includes a determination information calculation unit 188 in addition to the configuration of the constraint condition acquisition device 10 in FIG. 3. The determination information calculation unit 188 generates determination constraint conditions based on the set constraint conditions and notifies the control device 20. The determination information calculation unit 188 generates, for example, constraint conditions as shown in Equation (39) as the determination constraint conditions.
[0229] By the control device 20 controlling the control target 30 based on the determination constraint conditions, the constraint condition acquisition device 11 can obtain time series data when the control target 30 performs an operation prohibited by an unknown constraint condition setting. The constraint condition acquisition device 11 can determine whether the unknown constraint condition can be relaxed based on the success or failure of the task at this time. Determining whether the unknown constraint condition can be relaxed is also referred to as determining the accuracy of the unknown constraint condition or confirming the unknown constraint condition.
[0230] In particular, when time series data is obtained where the set unknown constraint condition is not satisfied and the task is successful, the constraint condition acquisition device 11 can determine that the unknown constraint condition can be relaxed. When it is determined that the unknown constraint condition can be relaxed, the constraint condition acquisition device 11 may include the newly obtained time series data in the learning data and recalculate the unknown constraint condition. Recalculating the unknown constraint condition is also referred to as updating the unknown constraint condition.
[0231] FIG. 12 is a diagram showing an example of a processing procedure in a modification of the control system 1. Steps S211 to S215 in FIG. 12 are the same as steps S111 to S115 in FIG. 8. Also, steps S231 and S241 in FIG. 12 are the same as steps S131 and S141 in FIG. 8.
[0232] In the process of FIG. 12, in step S215, when the constraint condition determination unit 187 determines that the acquisition of the constraint condition is successful (step S215: YES), the determination information calculation unit 188 calculates the determination constraint condition (step S221). The control device 20 controls the control target 30 based on the determination constraint condition to execute a task (step S222). Thereby, the constraint condition acquisition device 11 can acquire the time series data when the control target 30 performs an operation prohibited by the setting of an unknown constraint condition, and can determine the accuracy of the unknown constraint condition. After step S222, the control system 1 ends the process of FIG. 12. In other respects, the process of FIG. 12 is the same as the process of FIG. 8.
[0233] As described above, the determination information calculation unit 188 calculates control command information for the control target 30 for executing a task under the value of the parameter with a relaxed constraint condition compared to the value of the parameter determined by the constraint condition calculation unit 186. Thereby, the constraint condition acquisition device 11 can acquire the time series data when the control target 30 performs an operation prohibited by the setting of an unknown constraint condition. The constraint condition acquisition device 11 can determine the accuracy of the unknown constraint condition based on this time series data and the success or failure of the task, and can update the unknown constraint condition as necessary.
[0234] The constraint condition acquisition device 11 may set the constraint condition in the control of the control target 30 using a temporal logic formula in addition to the constraint condition formula. FIG. 13 is a diagram showing an example of data input and output when the constraint condition acquisition device 11 uses a temporal logic formula in addition to the constraint condition formula.
[0235] In the example of FIG. 13, the template storage unit 171 stores temporal logic formula information in addition to the constraint condition template. The temporal logic formula information is information related to the learning of temporal logic, such as the type and number of temporal logics. The template storage unit 171 may store temporal logic formula information including a template of a temporal logic formula.
[0236] In addition to the information acquired in the case of FIG. 11, the problem setting unit 184 acquires temporal logic formula information from the template storage unit 171. The problem setting unit 184 performs learning of temporal logic and generates a part of the constraint conditions in the control of the control target 30 as a temporal logic formula. A known method can be used as a method for the problem setting unit 184 to perform learning of temporal logic. The problem setting unit 184 generates a solution search problem in which a part of the constraint conditions is represented by temporal logic. For example, the problem setting unit 184 may represent the constraint conditions that change over time as a temporal logic formula and represent the constraint conditions that do not change regardless of the passage of time as a constraint condition formula.
[0237] The constraint condition calculation unit 186 solves the solution search problem set by the problem setting unit 184. When the constraint condition determination unit 187 determines that the parameter value of the constraint condition template can be acquired, the constraint condition calculation unit 186 sets the parameter value in the constraint condition template to generate an unknown constraint condition. Then, the constraint condition calculation unit 186 outputs the unknown constraint condition and the unknown constraint condition to the determination information calculation unit 188. A part of the constraint conditions may be represented by a temporal logic formula.
[0238] Regarding the determination constraint condition transmitted by the determination information calculation unit 188 to the control device 20, a part of the constraint conditions may be represented by a temporal logic formula. In other respects, FIG. 13 is the same as in the case of FIG. 11.
[0239] The temporal logic used by the constraint condition acquisition device 11 can be various temporal logics such as Linear Temporal Logic (LTL), Metric Interval Temporal Logic (MITL), Signal Temporal Logic (STL), Parametric Signal Temporal Logic (PSTL), or Computational Tree Logic (CTL). Hereinafter, the case where the constraint condition acquisition device 11 uses signal temporal logic will be described as an example.
[0240] The constraint condition acquisition device 11 uses, for example, templates such as "and" (φ1 ∧ φ2), "or" (φ1 ∨ φ2), "Finally" (F [a,b] φ), "Global" (G [a,b] φ), or combinations thereof to set constraint conditions based on temporal logic. "F [a,b] φ" represents the proposition that the proposition φ is true at least once between time a and time b. "G [a,b] φ" represents the proposition that the proposition φ is true all the time between time a and time b.
[0241] FIG. 14 is a diagram showing an example of the region indicated by the constraint condition expressed using temporal logic. In the example of FIG. 14, it is assumed that the region A511 is represented by the unknown inequality constraint condition of Equation (40), and the inequality constraint condition is satisfied when the control target 30 is located within the region A511.
[0242]
Number
[0243] p represents the position of the control target 30. θ g is a parameter for setting the region, such as the position and size of the region of the constraint condition. Here, consider the case where the problem setting unit 184 sets a constraint condition that "the control target 30 is located within the area A511 at least once between time a and b".
[0244] g in formula (40) g,uk is used to obtain a function ρφ(ξ,t which is the Robustness Degree function of the proposition that the control target 30 is located within the area A511 k ) can be expressed as in formula (41).
[0245]
Number
[0246] t k represents time, and p tk represents the position of the control target 30 at time t k . ε represents a positive and infinitesimal constant. The Robustness Degree function is a function that approximately indicates whether a proposition in signal temporal logic holds or not by the positive or negative of the function value. The function ρ φ (ξ,t k ) outputs a positive function value when the control target 30 is located within the area 411.
[0247] ε represents the margin between the position of the control target 30 and the area 411 when the control target 30 is located outside the area 511. When the value of the function ρ φ (ξ,t k ) is negative, the control target 30 is at a position separated from the area 511 by an interval equivalent to ε or more. The function ρ which is the Robustness Degree function of the proposition that "the control target 30 is located within the area A511 at least once between time a and b" F[a,b]φ (ξ,t k ) can be approximated as in formula (42).
[0248]
Number
[0249] t k indicates the reference time, and times a and b are the times when time t k is set as time 0, respectively. "ρ F[a,b]φ (ξ,t k )≥0" being satisfied approximately represents that the proposition "the controlled object 30 is located within the region A511 at least once between time a and time b" holds. The proposition "the controlled object 30 is located within the region A511 at least once between time a and time b" is approximately represented by the unknown inequality constraint condition shown in Equation (43).
[0250]
Equation
[0251] Equation (43) can be configured as a constraint condition template with θ g , a, and b as parameters. By setting the values of the parameters θ g , a, and b, an unknown inequality constraint condition can be obtained. In this way, for a proposition represented by a logical formula of signal temporal logic, by approximating the robustness degree function of the proposition with a maximum value approximation function, the proposition in signal temporal logic can be expressed in the form of an inequality constraint condition.
[0252] The constraint condition template stored in the template storage unit 171 may include a constraint condition template that represents a proposition in signal temporal logic in the form of an inequality constraint condition. And the constraint condition template selected by the template acquisition unit 183 may include a constraint condition template that represents a proposition in signal temporal logic in the form of an inequality constraint condition. By solving the solution search problem by the constraint condition calculation unit 186, the parameter values are also obtained for the constraint condition template that represents a proposition in signal temporal logic in the form of an inequality constraint condition, and an unknown inequality constraint condition is set.
[0253] As described above, the problem setting unit 184 generates a solution search problem in which some of the constraint conditions are represented by temporal logic formulas. Thereby, the constraint conditions in the control of the controlled object 30 can be shown in more detail, and the control device 20 can control the controlled object 30 with higher precision.
[0254] <Second Embodiment> FIG. 15 is a diagram showing an example of the configuration of the control system 2 according to the second embodiment. In the configuration shown in FIG. 15, the control system 2 includes a constraint condition acquisition device 11, an indicator 40, and a controlled object 30. The constraint condition acquisition device 11 is the same as that described with reference to FIGS. 9 to 13, and a detailed description thereof is omitted here. The controlled object 30 is the same as that described with reference to FIG. 1 and the like, and a detailed description thereof is omitted here.
[0255] The control system 2 receives a user operation on the controlled object 30 in order to confirm unknown constraint conditions. In other respects, the control system 2 is the same as in the case of the control system 1.
[0256] The indicator 40 controls the controlled object 30 in the same manner as the control device 20. In addition, the indicator 40 receives a user operation on the controlled object 30 and controls the controlled object 30 according to the user operation. The indicator 40 is configured using a computer such as a personal computer, for example. Alternatively, the indicator 40 may be configured using dedicated hardware for the indicator 40, such as being configured using an ASIC or an FPGA. The constraint condition acquisition device 10 and the indicator 40 may be integrally configured. For example, the constraint condition acquisition device 10 and the indicator 40 may be executed on the same computer.
[0257] FIG. 16 is a diagram showing an example of data input / output in the control system 2. Comparing FIG. 16 with FIG. 11, in FIG. 16, an indicator 40 is provided instead of the control device 20. The indicator 40 includes an operation instruction unit 410, an operation reception unit 420, and a control unit 430. In other respects, the control system 2 shown in FIG. 16 is the same as the control system 1 shown in FIG. 11.
[0258] The operation instruction unit 410 instructs the user to perform a user operation for checking unknown constraint conditions. In particular, the operation instruction unit 410 instructs a user operation on the control target 30 for executing a task under a constraint condition that is relaxed compared to the constraint condition set as the unknown constraint condition.
[0259] For example, when an upper limit value of the operating speed of the control target 30 is set as an unknown constraint condition, the operation instruction unit 410 may display a message instructing the user to move the control target 30 faster. In this case, the operation instruction unit 410 may show the specific speed upper limit value set as the unknown constraint condition and prompt the user to move faster than that, but it is conceivable that the user cannot intuitively grasp the presented speed upper limit value. For this reason, it is conceivable that the user does not know at what speed to move the control target 30 and cannot operate the control target 30 well.
[0260] Therefore, the operation instruction unit 410 may display a message conveying a desire to move faster, such as "Please move the robotic arm a little faster", without presenting a specific speed. When the speed exceeding the speed upper limit value set as the unknown constraint condition does not appear in the user operation, the operation instruction unit 410 may display a message prompting the user to perform the user operation again to move the control target 30 faster, such as "Please move the robotic arm even faster".
[0261] In this case, the message "Please move the robotic arm even faster" corresponds to an example of information indicating an operation for causing the control target 30 to perform an operation different from the operation indicated by the operation performed by the user. The operation instruction unit 410 corresponds to an example of an operation instruction means.
[0262] The operation reception unit 420 receives user operations. In particular, the operation reception unit 420 receives user operations for operating the control target 30. For example, the operation reception unit 420 may be provided with an operation device such as a joystick and receive user operations for instructing the operation direction and speed of the control target 30. The user operations here correspond to examples of operations for operating the control target 30. The operation reception unit 420 corresponds to an example of operation reception means.
[0263] The control unit 430 controls the control target 30 in the same manner as the control device 20. Further, when the operation reception unit 420 receives a user operation for the control target 30, the control unit 430 controls the control target 30 according to the user operation. In addition, the control unit 430 determines whether it is necessary to cause the control target 30 to perform an operation different from the operation indicated by the operation performed by the user. In the case of the above example, the control unit 430 determines whether it is necessary to make the control target 30 operate faster by determining whether the speed exceeds the speed upper limit value set as an unknown constraint condition in the user operation. The control unit 430 corresponds to an example of determination means.
[0264] The items indicated by the operation instruction unit 410 regarding the user operation are not limited to the speed of the control target 30 described above and can be various items. For example, when the parameter of the constraint condition template to be confirmed is a parameter for setting the area of an obstacle (an area where entry of the control target 30 is prohibited), the operation instruction unit 410 may display a message such as "Please operate the robot arm to pass near the obstacle".
[0265] When the control unit 430 determines that the control target 30 has not entered the area of the obstacle set as an unknown constraint condition in the user operation, the operation instruction unit 410 may display a message such as "Please operate the robot arm to pass even closer to the obstacle".
[0266] FIG. 17 is a diagram showing an example of a screen display by the operation instruction unit 410. Region A611 is a region for displaying the current state of the control target 30 as an image. Region A612 is a region for displaying the target state of the control target 30 as an image. By thus displaying the current state and the target state of the control target 30 as images, it is expected that the user can imagine the change from the current state to the target state of the control target 30, and it becomes easier to perform an operation on the control target 30.
[0267] Region A621 is a region for displaying a message to the user regarding the operation of the control target 30. As described above, the operation instruction unit 410 may not present specific quantities such as a specific speed, but may present points that the user should pay attention to during the operation, such as "Please move the robot arm a little faster". Further, when time-series data for determining the accuracy of unknown constraint conditions cannot be obtained, the operation instruction unit 410 may present points that the user should pay attention to during the operation, such as "Please move the robot arm even faster", and prompt the user to perform a user operation again.
[0268] Region A631 is a display region for various information. For example, in region A631, state information indicating whether the control target 30 is normal or abnormal, setting items under unknown constraint conditions being confirmed by the determination information calculation unit, the current confirmation status regarding the setting items being confirmed, the number of time-series data required for confirmation, constraint conditions set for the control of the control target 30, etc. may be displayed.
[0269] Region A641 is an operation region when the user wants to redo the operation. When the operation instruction unit 410 receives a user operation such as a touch operation on region A641 or a mouse click, the control unit 430 may return the state of the control target 30 to the initial state, and the operation reception unit 420 may receive a user operation from the initial state of the control target 30.
[0270] Area A642 is an operation area when the user wants to cancel the process. When the operation instruction unit 410 receives a user operation such as a touch operation on area A642 or a mouse click, it cancels the instruction for the user to operate the control target 30. In this case, the control system 2 may transition to a mode of automatically checking unknown constraint conditions as in the modification example of the first embodiment. Alternatively, the control system 2 may end the check of unknown constraint conditions.
[0271] Area A651 is an operation area for transitioning to the display settings screen. When the operation instruction unit 410 receives a user operation such as a touch operation on area A651 or a mouse click, it switches the display screen to the display settings screen. The display settings screen is a screen for receiving various settings related to the display by the operation instruction unit 410.
[0272] As described above, the operation reception unit 420 acquires an operation for operating the control target 30. The control unit 430 determines whether it is necessary to cause the control target 30 to perform an operation different from the operation indicated by the operation performed by the user. When the control unit 430 determines that it is necessary to cause the control target to perform the different operation, the operation instruction unit 410 displays information indicating an operation for causing the control target to perform the different operation.
[0273] By the user operating the control target 30 according to the instruction, the constraint condition acquisition device 11 can obtain time-series data when the constraint conditions are relaxed and result information on whether the task is successful or failed. Thereby, the constraint condition acquisition device 11 can determine whether it is possible to relax unknown constraint conditions and, if necessary, reset the unknown constraint conditions.
[0274] Also, when it is not possible to determine whether it is possible to relax the constraint conditions from the time-series data obtained by the user operation, by the operation instruction unit 410 presenting an item to be changed from the previous user operation and instructing a new user operation, the constraint condition acquisition device 11 can more reliably determine whether it is possible to relax unknown constraint conditions and, if necessary, reset the unknown constraint conditions. In addition, by the user performing an operation for task execution while visually checking the state of the control target 30, the possibility of task success is relatively high, and it is expected that time-series data beneficial for confirming unknown constraint conditions can be easily obtained.
[0275] <Third Embodiment> FIG. 18 is a diagram showing an example of the configuration of a constraint condition acquisition device according to the third embodiment. In the configuration shown in FIG. 18, the constraint condition acquisition device 610 includes a time-series data acquisition unit 611, a template acquisition unit 612, and a constraint condition calculation unit 613. With such a configuration, the time-series data acquisition unit 611 acquires success-time time-series data, which is time-series data regarding control when a predetermined task performed by controlling a control target is successful, and failure-time time-series data, which is time-series data when the task fails. The template acquisition unit 612 acquires a constraint condition template, which is a constraint condition including parameters. The constraint condition calculation unit 613 determines the value of the parameter such that the constraint condition is satisfied in the success-time time-series data and the constraint condition is not satisfied in the failure-time time-series data.
[0276] The time-series data acquisition unit 611 corresponds to an example of time-series data acquisition means. The template acquisition unit 612 corresponds to an example of template acquisition means. The constraint condition calculation unit 613 corresponds to an example of constraint condition calculation means. According to the constraint condition acquisition device 610, constraint conditions other than the preset constraint conditions can be acquired.
[0277] The time-series data acquisition unit 611 can be realized, for example, by using the functions of the time-series data acquisition unit 181 in FIG. 2 or the like. The template acquisition unit 612 can be realized, for example, by using the functions of the template acquisition unit 183 in FIG. 2 or the like. The function of the constraint condition calculation unit 613 can be realized, for example, by using the function of the constraint condition calculation unit 186 in FIG. 2.
[0278] <Fourth Embodiment> FIG. 19 is a diagram showing an example of the configuration of the control system according to the fourth embodiment. In the configuration shown in FIG. 19, the control system 620 includes an operation instruction unit 621. In such a configuration, the operation instruction unit 621 instructs a user operation on the control target for executing the task under a constraint condition that is relaxed compared to the constraint condition set for the control in the execution of a predetermined task performed by controlling the control target. The operation instruction unit 621 corresponds to an example of an operation instruction means.
[0279] In the control system 620, when the user operates the control target according to the instruction, time-series data under the relaxed constraint condition and result information indicating whether the task is successful or failed can be obtained. Thereby, the accuracy of the set constraint condition can be determined, and the constraint condition can be reset as necessary. The function of the operation instruction unit 621 can be realized by using, for example, the function of the operation instruction unit 410 in FIG. 16.
[0280] <Fifth Embodiment> FIG. 20 is a diagram showing an example of the configuration of the control system according to the fifth embodiment. In the configuration shown in FIG. 20, the control system 630 includes a time-series data acquisition unit 631, a template acquisition unit 632, a constraint condition calculation unit 633, and a control unit 634.
[0281] In such a configuration, the time-series data acquisition unit 631 acquires success-time time-series data, which is time-series data regarding the control when a predetermined task performed by controlling the control target is successful, and failure-time time-series data, which is time-series data when the task fails. The template acquisition unit 632 acquires a constraint condition template, which is a constraint condition including parameters. The constraint condition calculation unit 633 determines the value of the parameter so that the constraint condition is satisfied in the success-time time-series data and the constraint condition is not satisfied in the failure-time time-series data. The control unit 634 controls the control target according to the constraint condition indicated by setting the value of the parameter determined in the constraint condition template, and executes a predetermined task.
[0282] The time-series data acquisition unit 631 corresponds to an example of time-series data acquisition means. The template acquisition unit 632 corresponds to an example of template acquisition means. The constraint condition calculation unit 633 corresponds to an example of constraint condition calculation means. The control unit 634 corresponds to an example of control means. According to the control system 630, constraint conditions other than the preset constraint conditions can be acquired.
[0283] The time-series data acquisition unit 631 can be realized by using functions such as the time-series data acquisition unit 181 in FIG. 2, for example. The template acquisition unit 632 can be realized by using functions such as the template acquisition unit 183 in FIG. 2, for example. The constraint condition calculation unit 633 can be realized by using functions such as the constraint condition calculation unit 186 in FIG. 2, for example. The control unit 634 can be realized by using functions such as the control device 20 in FIG. 1, for example.
[0284] <Sixth Embodiment> FIG. 21 is a diagram showing an example of a processing procedure in the constraint condition acquisition method according to the sixth embodiment. The constraint condition acquisition method shown in FIG. 21 includes acquiring time-series data (step S611), acquiring a constraint condition template (step S612), and calculating a constraint condition (step S613).
[0285] In acquiring time-series data (step S611), the computer acquires success-time time-series data, which is time-series data regarding the control when the computer succeeds in a predetermined task performed by controlling a control target, and failure-time time-series data, which is the time-series data when the task fails.
[0286] In acquiring a constraint condition template (step S612), the computer acquires a constraint condition template, which is a constraint condition including parameters. In calculating a constraint condition (step S613), the computer determines the value of the parameter such that the constraint condition is satisfied in the success-time time-series data and the constraint condition is not satisfied in the failure-time time-series data. According to the process shown in FIG. 21, it is possible to obtain constraint conditions other than the preset constraint conditions.
[0287] FIG. 22 is a schematic block diagram showing the configuration of a computer according to at least one embodiment. In the configuration shown in FIG. 22, the computer 700 includes a CPU 710, a main storage device 720, an auxiliary storage device 730, an interface 740, and a non-volatile recording medium 750.
[0288] Any one or more or a part of the above-described constraint condition acquisition devices 10 and 11, control device 20, and indicator 40 may be implemented in the computer 700. In that case, the operations of the respective processing units described above are stored in the auxiliary storage device 730 in the form of a program. The CPU 710 reads the program from the auxiliary storage device 730 and expands it in the main storage device 720, and executes the above processing according to the program. Further, the CPU 710 secures a storage area corresponding to each of the above-described storage units in the main storage device 720 according to the program. Communication between each device and other devices is executed by the interface 740 having a communication function and performing communication under the control of the CPU 710. Further, the interface 740 has a port for the non-volatile recording medium 750, and reads information from the non-volatile recording medium 750 and writes information to the non-volatile recording medium 750.
[0289] When the constraint condition acquisition device 10 is implemented in the computer 700, the control unit 180 and the operations of its respective parts are stored in the auxiliary storage device 730 in the form of a program. The CPU 710 reads the program from the auxiliary storage device 730 and expands it in the main storage device 720, and executes the above processing according to the program.
[0290] Further, the CPU 710 secures, in accordance with a program, a storage area corresponding to the storage unit 170 and each of its parts in the main storage device 720. Communication performed by the communication unit 110 is executed by the interface 740 having a communication function and performing communication according to the control of the CPU 710. Display of an image performed by the display unit 120 is executed by the interface 740 including a display device and displaying an image according to the control of the CPU 710. Reception of a user operation by the operation input unit 130 is executed by the interface 740 including an input device and receiving a user operation.
[0291] When the constraint condition acquisition device 11 is implemented in the computer 700, operations of the control unit 180 and each of its parts are stored in the auxiliary storage device 730 in the form of a program. The CPU 710 reads the program from the auxiliary storage device 730, expands it in the main storage device 720, and executes the above processing according to the program.
[0292] Further, the CPU 710 secures, in accordance with a program, a storage area corresponding to the storage unit 170 and each of its parts in the main storage device 720. Communication performed by the communication unit 110 is executed by the interface 740 having a communication function and performing communication according to the control of the CPU 710. Display of an image performed by the display unit 120 is executed by the interface 740 including a display device and displaying an image according to the control of the CPU 710. Reception of a user operation by the operation input unit 130 is executed by the interface 740 including an input device and receiving a user operation.
[0293] When the control device 20 is implemented in the computer 700, operations of the control device 20 are stored in the auxiliary storage device 730 in the form of a program. The CPU 710 reads the program from the auxiliary storage device 730, expands it in the main storage device 720, and executes the above processing according to the program.
[0294] Further, the CPU 710 secures, in accordance with a program, a storage area for the control device 20 to perform processing in the main storage device 720. The communication between the control device 20 and other devices is executed by the interface 740 having a communication function and operating according to the control of the CPU 710. The interaction between the control device 20 and the user is executed by the interface 740 having an input device and an output device, presenting information to the user at the output device according to the control of the CPU 710, and receiving a user operation at the input device.
[0295] When the indicator 40 is implemented in the computer 700, the operations of the indicator 40, such as the operation of the control unit 430, are stored in the auxiliary storage device 730 in the form of a program. The CPU 710 reads the program from the auxiliary storage device 730 and expands it in the main storage device 720, and executes the above processing according to the program.
[0296] Also, the CPU 710 secures a storage area in the main storage device 720 for the indicator 40 to perform processing according to the program. The communication between the indicator 40 and other devices is executed by the interface 740 having a communication function and operating according to the control of the CPU 710. The output of an instruction by the operation instruction unit 410 is executed by the interface 740 having an output device and outputting an instruction at the output device according to the control of the CPU 710. The reception of a user operation by the operation reception unit 420 is executed by the interface 740 having an input device and receiving a user operation.
[0297] One or more of the above-described programs may be recorded on the non-volatile recording medium 750. In this case, the interface 740 may read the program from the non-volatile recording medium 750. And the CPU 710 may directly execute the program read by the interface 740, or may temporarily save it in the main storage device 720 or the auxiliary storage device 730 and then execute it.
[0298] Note that a program for executing all or part of the processing performed by the constraint condition acquisition device 10, the constraint condition acquisition device 11, the control device 20, and the indicator 40 may be recorded on a computer-readable recording medium, and the program recorded on this recording medium may be read into a computer system and executed to perform the processing of each part. Here, the "computer system" is assumed to include hardware such as an OS and peripheral devices. In addition, the "computer-readable recording medium" refers to a portable medium such as a flexible disk, a magneto-optical disk, a ROM (Read Only Memory), a CD-ROM (Compact Disc Read Only Memory), or a storage device such as a hard disk incorporated in a computer system. Further, the above program may be for realizing a part of the above-described functions, or may be for realizing the above-described functions in combination with a program already recorded in the computer system.
[0299] As described above, the embodiments of the present invention have been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and designs and the like within the scope not departing from the gist of the present invention are also included.
Industrial Applicability
[0300] The present invention may be applied to a constraint condition acquisition device, a control system, a constraint condition acquisition method, and a recording medium.
Explanation of Reference Numerals
[0301] 1, 2 Control system 10, 11 Constraint condition acquisition device 20 Control device 30 Controlled object 40 Indicator 110 Communication unit 120 Display unit 130 Operation input unit 170 Storage unit 171 Template storage unit 172 Set information storage unit 173 Frame Information Storage Unit 180 Control Unit 181 Time-Series Data Acquisition Unit 182 Constraint Condition Estimation Unit 183 Template Acquisition Unit 184 Problem Setting Unit 185 Integration Unit 186 Constraint Condition Calculation Unit 187 Constraint Condition Judgment Unit 188 Judgment Information Calculation Unit 410 Operation Instruction Unit 420 Operation Reception Unit 430 Control Unit
Claims
1. A time series data acquisition means for acquiring success time series data which is time series data about the control when a predetermined task performed by controlling a control target is successful, and failure time series data which is the time series data when the task fails; A template acquisition means for acquiring a constraint condition template which is a constraint condition including parameters; A constraint condition calculation means for determining the value of the parameter such that the constraint condition is satisfied in the success time series data and the constraint condition is not satisfied in the failure time series data; comprising: The template acquisition means excludes, from acquisition targets, the constraint condition templates in which there is no value of the parameter such that the constraint condition is satisfied in the success time series data and the constraint condition is not satisfied in the failure time series data, among a plurality of the constraint condition templates. A constraint condition acquisition device.
2. A problem setting means for determining an assignment method of whether to assign a plurality of constraint conditions in the control of the control target to an objective function in a solution search problem or to a constraint condition in the solution search problem according to the type of the constraint condition, setting the solution search problem, and, when the value of the parameter is not determined in the set solution search problem, changing the assignment method and setting the solution search problem again; The constraint condition calculation means determines the value of the parameter by solving the solution search problem set by the problem setting means. The constraint condition acquisition device according to Claim 1.
3. The problem setting means integrates a plurality of inequality constraint conditions in the solution search problem into one inequality constraint condition by using, for each of functions constituting the inequality constraint conditions, the maximum value or the minimum value with respect to each of the time series data and the time of the time series data obtained by inputting each of the plurality of the time series data into the same inequality constraint condition in the control of the control target. The constraint condition acquisition device according to claim 2.
4. For the plurality of inequality constraint conditions in the solution search problem corresponding to the plurality of inequality constraint conditions in the control of the control target, the problem setting means approximates the maximum value for each argument value of the plurality of functions constituting the inequality constraint condition, or the minimum value for each argument value of the plurality of function values. By integrating the functions, the plurality of inequality constraint conditions in the solution search problem are integrated into one inequality constraint condition. The constraint condition acquisition device according to claim 2 or claim 3.
5. The control target further includes determination information calculation means for calculating control command information for the control target for executing the task under the parameter value in which the constraint condition is relaxed compared to the value of the parameter determined by the constraint condition calculation means. The constraint condition acquisition device according to any one of claims 1 to 4.
6. Operation reception means for acquiring an operation for operating the control target; Determination means for determining whether it is necessary to cause the control target to perform an operation different from the operation indicated by the operation; Operation instruction means for displaying information indicating an operation for causing the control target to perform the different operation when the determination means determines that it is necessary to cause the control target to perform the different operation; Comprising The constraint condition calculation means determines the value of the parameter based on the time series data of the control obtained by the different operations. The constraint condition acquisition device according to any one of claims 1 to 5.
7. Time series data acquisition means for acquiring success time series data, which is time series data of the control when a predetermined task performed by controlling the control target is successful, and failure time series data, which is the time series data when the task fails; Template acquisition means for acquiring a constraint condition template, which is a constraint condition including parameters. Constraint condition calculation means for determining the value of the parameter such that the constraint condition is satisfied in the success time series data and the constraint condition is not satisfied in the failure time series data; Control means for controlling the control target according to the constraint condition indicated by setting the value of the parameter determined for the constraint condition template to execute the predetermined task; comprising The template acquisition means excludes, from acquisition targets, the constraint condition templates in which there is no value of the parameter such that the constraint condition is satisfied in the success time series data and the constraint condition is not satisfied in the failure time series data among the plurality of constraint condition templates. Control system.
8. A computer obtains success time series data, which is time series data regarding the control when a predetermined task performed by controlling a control target is successful, and failure time series data, which is the time series data when the task fails, obtains a constraint condition template, which is a constraint condition including a parameter, and determines the value of the parameter such that the constraint condition is satisfied in the success time series data and the constraint condition is not satisfied in the failure time series data. including The obtaining of the constraint condition template includes the computer excluding, from acquisition targets, the constraint condition templates in which there is no value of the parameter such that the constraint condition is satisfied in the success time series data and the constraint condition is not satisfied in the failure time series data among the plurality of constraint condition templates. Constraint condition acquisition method.
9. To a computer Obtaining success time-series data, which is time-series data regarding the control when a predetermined task performed by controlling a control target is successful, and failure time-series data, which is the time-series data when the task fails. Obtaining a constraint condition template, which is a constraint condition including parameters. Determining the value of the parameter such that the constraint condition is satisfied in the success time-series data and the constraint condition is not satisfied in the failure time-series data. Causing the execution of In obtaining the constraint condition template, causing the computer to exclude from acquisition targets a constraint condition template in which there is no value of the parameter such that the constraint condition is satisfied in the success time-series data and the constraint condition is not satisfied in the failure time-series data among a plurality of the constraint condition templates. A program for this purpose.
Citation Information
Patent Citations
Robot controller, and robot control method
JP2014014876A
Robot controller, robot apparatus, robot control method, program and recording medium
JP2015051469A
Simulation device, simulation method and simulation program
JP2019152971A
System and method for controlling actuators of an articulated robot
JP2020522394A
Robot motion adjustment device, motion control system, and robot system
WO2019098044A1