Information processing device
The information processing device automates the adjustment of operation parameters for industrial machines by training a model with coordinate data, addressing the inefficiencies of manual parameter adjustment and enhancing operational precision and speed.
Patent Information
- Application Number
- DE112023003383
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-01-13
- Filing Date
- 2023-07-19
- Publication Date
- 2025-05-22
AI Technical Summary
Current methods for controlling industrial machines, such as multi-axis robots, require manual adjustment of control parameters like gain parameters, which is time-consuming and prone to errors due to individual machine differences and the need for extensive experience.
An information processing device that automatically generates and adjusts operation parameters for industrial machines by using coordinate data to train a model, which estimates appropriate parameters based on state data and index calculations, eliminating the need for manual trial-and-error.
This approach allows for rapid and accurate adjustment of operation parameters, reducing operation time and improving precision by automating the parameter setting process.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to an information processing apparatus that automatically sets an operation parameter used for controlling an operation of a drive device for an industrial machine and the like used for positioning a production facility. GENERAL STATE OF THE ART
[0002] PTL 1 discloses a parameter setting device that applies an appropriate control parameter in response to an operation command for an industrial machine. The parameter setting device described in PTL 1 generates a model by machine learning for estimating an optimal control parameter from state data based on state data including at least a command for speed, acceleration, and jerk in an operation of the industrial machine and an optimal parameter for the operation acquired from a controller that controls the industrial machine. The parameter setting device acquires an appropriate operation parameter from the model according to the operation command and applies the operation parameter. CITATION LISTPATENT LITERATURE
[0003] PTL 1: Japanese Patent Laid-Open No. 2020-035159 SUMMARY OF THE INVENTIONTECHNICAL PROBLEM
[0004] When controlling the operation of an industrial machine, such as a multi-axis robot, correcting vibrations and trajectory deviations during the operation of the industrial machine requires adjusting control parameters, including a gain parameter. Appropriately adjusting control parameters requires knowledge of the controller and a sensor. Furthermore, industrial machines exhibit individual differences that require sufficient experience in handling them. Currently, control parameters are still adjusted manually using a trial-and-error approach.
[0005] PTL 1 proposes a parameter setting device that sets a more appropriate control parameter according to commands for speed, acceleration, jerk, etc. of an industrial machine, such as a machine tool and a robot. However, for example, in an operation such as positioning between preset coordinates, when an industrial machine is desired to operate as quickly as possible to shorten an operation time, a certain amount of time and effort is required to also adjust the speed, acceleration, and jerk to appropriate values.
[0006] In particular, when stiffness and vibration characteristics of a positioning device to be controlled vary considerably depending on the instantaneous position and attitude of the positioning device, the use of a set of control parameters fixed for an entire region in which positioning can be performed requires consideration of a location of poor condition, and therefore it is generally difficult to reduce an operation time.
[0007] The purpose of the present disclosure is to solve the problem described above, and an object of the present disclosure is to estimate an operation parameter (a control parameter) suitable for performing an operation of a drive device without performing adjustment by conventional manual trial and error. SOLUTION TO THE PROBLEM
[0008] According to the present disclosure, an information processing device is an information processing device for a drive device controlled by a controller, comprising: a coordinate data acquisition unit that externally acquires coordinate data representing operating coordinates of the drive device; a parameter generation unit that generates an operating parameter used to control the drive device by the controller; a parameter storage unit that stores the operating parameter; a state data acquisition unit that acquires state data representing a state of the drive device while the drive device operates according to the operating parameter; an index data calculation unit that calculates index data based on the state data and serves as an index for determining whether the operating parameter is appropriate;a sample storage unit that stores sample data in which the operating parameter is linked to the index data; a parameter search unit that uses the sample data to search for an operating parameter estimated as appropriate based on the index data; and a model training unit that uses training data in which an operating parameter estimated as appropriate by the parameter search unit is linked to the coordinate data to generate a trained model to estimate, from the coordinate data, an appropriate parameter that is an operating parameter suitable for performing an operation on the coordinate data. ADVANTAGEOUS EFFECTS OF THE INVENTION
[0009] According to the present disclosure, an operating parameter is generated by inputting coordinate data to a coordinate data acquisition unit, index data is calculated from state data based on the operating parameter, and an operating parameter estimated to be appropriate is searched based on the index data. Training data in which the operating parameter estimated to be appropriate is associated with the coordinate data is used to generate a trained model for estimating an appropriate parameter from the coordinate data. That is, simply inputting coordinate data to the information processing device allows a trained model to be generated for estimating an appropriate parameter from the coordinate data.Thus, no parameter adjustment is performed by conventional manual trial-and-error, but instead, simply inputting coordinate data into the trained model allows an estimation of an operating parameter suitable for performing an operation on the coordinate data. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 schematically shows generally an example of a device of a control system including a parameter setting device (an information processing device). Fig. 2 shows an example of generating parameters. Fig. 3 shows an example of sample data. Fig. 4 is a diagram (part 1) schematically showing an example of training by a model training unit. Fig. 5 is a flowchart of an example of a flow of a process for generating a trained model. Fig. 6 is a flowchart of an example of a detailed flow of a process for generating sample data. Fig. Figure 7 is a flowchart of an example of a detailed flow of a process for generating training data. Fig. Figure 8 is a diagram (part 1) of an example of outputting a convenient parameter. Fig. 9 shows an example of a flow of a process for outputting a convenient parameter. Fig. 10 is a diagram (part 1) schematically showing an example of a configuration of a parameter setting device. Fig. 11 is a diagram (part 2) schematically showing an example of a device of the parameter setting device. Fig. 12 is a diagram (part 2) schematically showing an example of training by the model training unit. Fig. 13 is a diagram (part 2) of an example of outputting a convenient parameter. Fig. 14 shows an example of a setup of an industrial machine. Fig. 15 shows an example of a device of an angle adjusting device. Fig. 16 is a perspective view of an example of a device of a parallel link mechanism. Fig. Figure 17 is a diagram showing a single joint mechanism by straight lines. DESCRIPTION OF EMBODIMENTS
[0010] An embodiment of the present disclosure will be described below with reference to the drawings. In the following figures, identical or equivalent components are denoted identically and will not be described repeatedly.
[0011] Fig. 1 is a diagram schematically showing generally an example of a device of a control system 1 having a parameter setting device 5 (an information processing device) according to the present embodiment.
[0012] The control system 1 includes an industrial machine 2, a controller 3, a sensor 4, and a parameter setting device 5. The industrial machine 2 has a drive device (an actuator, such as a motor or a pneumatic cylinder) to be controlled by the controller 3. The industrial machine 2 is, for example, a multi-axis robot, a machine tool, or the like used in a production facility or the like.
[0013] The controller 3 controls an operation (a positioning operation, etc.) of the industrial machine 2 according to preset operating parameters. The operating parameters include a speed parameter, such as directional velocity and acceleration, when the industrial machine 2 is operating, and a control parameter used to control the industrial machine 2. The control parameter includes, for example, a gain parameter in PID control, a state feedback coefficient, and a robust control parameter.
[0014] The controller 3 can acquire state data of the industrial machine 2. The state data is data representing a state during an operation of the industrial machine 2, and is, for example, a signal generated by a program previously integrated into the controller 3, a current value flowing through a motor to be controlled, a feedback signal such as a tracking error, and the like. The parameter setting device 5 can acquire state data of the industrial machine 2 from the controller 3.
[0015] Several pieces of coordinate data are set in the controller 3. The coordinate data is data that is a set of starting point coordinates and end point coordinates when operating the industrial machine 2. For example, when the controller 3 controls a motor of the industrial machine 2, the coordinate data may be data that is a set of a starting point angle and an end point angle of an output shaft of the motor.
[0016] Sensor 4 senses the status data of industrial machine 2. Sensor 4 is, for example, an accelerometer. The parameter setting device 5 can acquire the status data of industrial machine 2 not only from controller 3 but also from sensor 4 if necessary. Sensor 4 can be omitted.
[0017] The parameter setting device 5 is an information processing device that receives coordinate data of the industrial machine 2 as an input and outputs a suitable parameter for the industrial machine 2. The suitable parameter is an operation parameter suitable for the industrial machine 2 to perform an operation for given coordinate data. In the present embodiment, it is determined whether an operation parameter is suitable based on index data calculated by an index data calculation unit 50, as described below. That is, the index data is data serving as an index for evaluating whether an operation parameter is suitable.For example, when the industrial machine 2 performs a positioning operation, the index data may be the duration of the positioning operation, the maximum amplitude of the vibrations after the end of the positioning operation, the time of the vibrations, a cumulative value of the position deviation, or a combination thereof. For example, if the index data is the duration of the positioning operation, then among the operating parameters, an operating parameter that allows the duration of the positioning operation to be within a preset threshold is determined as appropriate.
[0018] The parameter setting device 5 includes a coordinate data acquisition unit 10, a parameter generation unit 20, a parameter storage unit 30, a state data acquisition unit 40, an index data calculation unit 50, a sample storage unit 60, a parameter search unit 70, a model training unit 80, a model storage unit 90, and a parameter output unit 100.
[0019] When the coordinate data acquisition unit 10 receives a coordinate acquisition command from the sample storage unit 60, the coordinate data acquisition unit acquires from the controller 3 coordinate data that is not stored in the sample storage unit 60. For example, the coordinate data acquisition unit 10 compares the coordinate data stored in the sample storage unit 60 with the coordinate data stored in the controller 3, and if the coordinate data stored in the controller 3 includes coordinate data that is not stored in the sample storage unit 60, the coordinate data acquisition unit acquires the coordinate data that is not stored in the sample storage unit 60 from the controller 3.
[0020] The coordinate data acquisition unit 10, which has acquired the coordinate data from the controller 3, determines whether the coordinate data is to be used in a training phase or a use phase. The training phase is a phase for generating a trained model for estimating a suitable parameter from coordinate data. The use phase is a phase in which coordinate data is input to the trained model generated in the training phase to output a suitable parameter.For example, when the coordinate data acquisition unit 10 receives from the sample storage unit 60 a coordinate acquisition command containing information indicating a purpose of using coordinate data, the coordinate data acquisition unit determines whether the coordinate data acquired by the controller 3 is to be used in the training phase or in the use phase depending on the purpose contained in the coordinate acquisition command. [Training phase]
[0021] When the coordinate data acquired by the controller 3 is used in the "training phase," the parameter setting device 5 generates a trained model in two stages, which receives the coordinate data as an input and outputs an appropriate parameter. In a first stage, the parameter search unit 70, described below, searches for an appropriate parameter for each of a plurality of coordinate data (or operations) set in the controller 3. In a second stage, the model training unit 80, described below, applies machine learning to generate a trained model, which receives coordinate data as an input and outputs an appropriate parameter, from a plurality of combinations of the individual coordinate data and an appropriate parameter for the coordinate data (i.e., training data). The following describes in detail how the trained model is generated.
[0022] When the coordinate data acquisition unit 10 determines that the coordinate data acquired by the controller 3 is to be used in the “training phase,” the coordinate data acquisition unit outputs a parameter generation command to the parameter generation unit 20 along with the coordinate data.
[0023] Whenever the parameter generation unit 20 receives coordinate data and the parameter generation command from the coordinate data acquisition unit 10, the parameter generation unit generates a first predetermined number of operating parameters for the received coordinate data and stores the generated first predetermined number of operating parameters together with the coordinate data in the parameter storage unit 30.
[0024] For example, the parameter generation unit 20 generates an operating parameter sampled using a probability distribution such as a uniform distribution from an operating parameter search range that is preset before generating a trained model. The operating parameter search range may, for example, be a range between a lower limit and an upper limit that is preset for operating parameters before generating the trained model.
[0025] The number of operating parameters generated for each coordinate data (i.e., the "first predetermined number" described above) is set depending on a parameter search method of the parameter search unit 70, as described below. Specifically, the first predetermined number is set to a value equal to or greater than a number required for the parameter search unit 70 to search for a candidate appropriate parameter for each coordinate data, as described below. For example, an appropriate value can be set externally as the first predetermined number.When Bayesian optimization is used as a method for searching for a candidate appropriate parameter by the parameter search unit 70, since Bayesian optimization can search for an appropriate value even from a single data point, the number (i.e., the first predetermined number) of operating parameters generated for each coordinate data can be set to "1." Compared with using a regression model other than Bayesian optimization as a method for searching for an appropriate parameter, the former can reduce the number of generated operating parameters.
[0026] If the number (the first predetermined number) of operating parameters generated for each coordinate data is two or more, the parameter generation unit 20 assigns a sequential identifier to each of the two or more generated operating parameters. The sequential identifiers indicate a sequence in which the controller 3 operates the industrial machine 2.
[0027] Fig. 2 is a diagram showing an example of generating parameters when the first predetermined number is n, where n is an integer of 2 or more, that is, when n operating parameters are generated for given coordinate data and n sequential identifiers are assigned to each of them. The n sequential identifiers are represented, for example, by consecutive integer values from 1 to n. The parameter generation unit 20 stores n (or the first predetermined number) sequentially designated operating parameters together with the coordinate data in the parameter storage unit 30. The value of the first predetermined number may be a fixed value or may be a variable value that varies with the coordinate data.
[0028] We return to Fig. 1. When the first predetermined number of operating parameters, which are sequentially designated for given coordinate data, as in Fig. 2, are stored in the parameter storage unit 30, the parameter storage unit outputs an operation command containing its data to the controller 3.
[0029] After receiving the operation command from the parameter storage unit 30, the controller 3 uses the first predetermined number of operation parameters included in the operation command to cause the industrial machine 2 to perform an operation on the coordinate data included in the operation command sequentially, as indicated by the sequential identifiers. Thus, an operation on each coordinate data included in an operation command is performed the same number of times as the first predetermined number while changing the operation parameters.
[0030] When the parameter storage unit 30 outputs an operation command to the controller 3, the parameter storage unit also outputs the operation command to the index data calculation unit 50. At this time, the parameter storage unit 30 assigns an identifier to the operation command indicating that the operation command was retrieved from the parameter storage unit 30.
[0031] The state data acquisition unit 40 acquires state data of the industrial machine 2 from the controller 3 or the sensor 4 while the controller 3 operates the industrial machine 2, and the state data acquisition unit outputs a calculation command to the index data calculation unit 50 along with the acquired state data.
[0032] After receiving the state data and the calculation command from the state data acquisition unit 40, the index data calculation unit 50 uses the acquired state data to calculate index data and acquires from the parameter storage unit 30 or the parameter search unit 70, as will be described later, the operation parameter that is applied when the state data acquisition unit 40 acquires the state data.
[0033] As described above, the index data is data serving as an index for evaluating whether an operation parameter is appropriate, and is, for example, a duration of a positioning operation of the industrial machine 2. For example, when the controller 3 continuously transmits a signal as one of the status data during an operation of the industrial machine 2, a period over which the signal is continuously transmitted may be index data (a duration of a positioning operation).
[0034] Two or more types of index data can be used. For example, while the duration described above is an index for the operating time of industrial machine 2, an index reflecting the residual vibration resulting from positioning can also be calculated, and a combination of the two operating time and residual vibration data can be used as a single index value. For example, the data can be combined in such a way that the values of two or more indexes can be linearly combined, or each index can retain its value.
[0035] As an index representing the residual vibration, data obtained and processed, for example, by an accelerometer arranged at one end of the industrial machine 2 is considered. Alternatively, torque data may be acquired from the drive device that controls the industrial machine 2, and a value obtained by linearly combining an amplitude of vibrations of the torque data and a damping rate of a torque waveform may be used as an index representing the residual vibration.
[0036] Furthermore, the index data calculation unit 50 determines whether a detected operating parameter is an operating parameter detected by the parameter storage unit 30 or an operating parameter detected by the parameter search unit 70 (i.e., a candidate appropriate parameter described below). For example, if an identifier indicating the source of the operating parameter is assigned to the detected operating parameter, the index data calculation unit 50 refers to the identifier to determine whether the detected operating parameter is an operating parameter detected by the parameter storage unit 30 or an operating parameter detected by the parameter search unit 70.
[0037] If the acquired operating parameter is an operating parameter acquired by the parameter storage unit 30, the index data calculation unit 50 generates sample data in which the acquired operating parameter is linked to index data, assigns to the sample data an identifier indicating that the operating parameter was acquired by the parameter storage unit 30 and the operation (or the coordinate data) for each sample data, and thus stores the sample data in the sample data storage unit 60.
[0038] Note that a process performed when the operation parameter acquired by the index data calculation unit 50 is an operation parameter retrieved by the parameter search unit 70 (that is, a candidate appropriate parameter described below) will be described in detail below.
[0039] The above-described sample data generation process is performed for each of the plurality of coordinate data that the parameter generation unit 20 receives from the coordinate data acquisition unit 10. Therefore, for each coordinate data, a plurality (or a first predetermined number) of sample data are stored in the sample storage unit 60.
[0040] The sample storage unit 60 sends the stored sample data to the parameter search unit 70. At this time, the sample storage unit 60 sends to the parameter search unit 70 all (or the first predetermined number or more) of sample data stored for each coordinate data.
[0041] The parameter search unit 70 has a function of estimating (or searching) an appropriate parameter for each of the plurality of coordinate data based on the sample data received from the sample storage unit 60. Specifically, the parameter search unit 70 includes a search model construction unit 71, a search model storage unit 72, and a parameter estimation unit 73.
[0042] When the search model construction unit 71 receives sample data from the sample storage unit 60, the search model construction unit uses the sample data acquired by the sample storage unit 60 to generate a search model. The search model is a regression model that derives a black box function that receives an operating parameter as an input and outputs index data. The search model is generated for all of the plurality of coordinate data.
[0043] Then, the search model construction unit 71 outputs the generated search model, along with the coordinate data added to the sample data, to the search model storage unit 72 as one search model. Thus, a plurality of search models, each corresponding to the plurality of coordinate data, are stored in the search model storage unit 72.
[0044] The search model storage unit 72, which has stored the search models generated by the search model construction unit 71, outputs a parameter estimation command to the parameter estimation unit 73.
[0045] After receiving the parameter estimation command from the search model storage unit 72, the parameter estimation unit 73 estimates an operation parameter estimated to be appropriate (an operation parameter used as a candidate appropriate parameter, hereinafter also referred to as a "candidate appropriate parameter") based on the search model stored in the search model storage unit 72. Then, the parameter estimation unit 73 outputs an operation command to the controller 3 to cause the industrial machine 2 to perform an operation on the coordinate data used in estimating a candidate appropriate parameter, and outputs the estimated candidate appropriate parameter to the index data calculation unit 50.
[0046] The estimation of a candidate appropriate parameter by the parameter search unit 70 can be performed, for example, through Bayesian optimization. In this case, a Gaussian process regression model is first generated in the search model construction unit 71 and stored in the search model storage unit 72 as a search model. Then, the parameter estimation unit 73 uses the search model to perform Bayesian optimization to estimate (or search) a candidate appropriate parameter. How to search based on Bayesian optimization is described in papers and the like and is thus well known, so detailed description thereof will not be provided.
[0047] If the index data contains two or more types of indices whose values are retained as a set, a multi-objective optimization algorithm can be used to estimate a candidate useful parameter. Multi-objective optimization is well-known and described in papers and the like, so it will not be discussed in detail. For example, if Bayesian optimization is used to estimate a candidate useful parameter, EHVI (Expected Hypervolume Improvement) can be used for a collection function to estimate a Pareto solution based on two or more indices as a candidate useful parameter.
[0048] A candidate appropriate parameter can also be estimated using a method other than Bayesian optimization. For example, the method may use a neural network for a regression model and a gradient descent method for an optimization method. Alternatively, the method may generate a function that receives an operating parameter as an input and outputs index data through a spline curve, and estimate a parameter corresponding to one of the peak values as an appropriate parameter.
[0049] After receiving an operating parameter (a candidate appropriate parameter) from the parameter search unit 70, the index data calculation unit 50 uses state data acquired by the state data acquisition unit 40 to calculate index data and uses the calculated index data to determine whether the operating parameter acquired by the parameter search unit 70 is an appropriate parameter. For example, the index data calculation unit 50 compares the calculated index data with preset index data for comparison, and if the calculated index data is considered to be significantly improved with respect to the index data for comparison, the index data calculation unit determines that the operating parameter (the candidate appropriate parameter) received from the parameter search unit 70 is an appropriate parameter.
[0050] For example, when the index data is only a single index type, the index data calculation unit 50 quantifies a difference d between calculated index data y and index data for comparison ys using the following equation (1). D=1−y / ys
[0051] If the difference d calculated by equation (1) is within a preset threshold, the index data calculation unit 50 determines that the received operating parameter (or the candidate appropriate parameter) is an appropriate parameter. Conversely, if the difference d calculated by equation (1) is not within the preset threshold, the index data calculation unit 50 determines that the received operating parameter (or the candidate appropriate parameter) is not an appropriate parameter.
[0052] When the index data includes two or more types of indexes whose values are retained as a set, equation (1) is calculated for each index constituting the index data to calculate the difference d for each index, and the differences d calculated for the indexes are added, and if the sum is within a preset threshold, the received operating parameter is determined as a suitable parameter.
[0053] If the received operation parameter (or the candidate appropriate parameter) is an appropriate parameter, the index data calculation unit 50 assigns to the sample data in which the operation parameter is linked to the index data an identifier indicating that the operation parameter in the sample data was acquired by the parameter search unit 70, the operation (or the coordinate data) for the sample data, and an identifier indicating that the operation parameter in the sample data is an appropriate parameter, and the index data calculation unit thus stores the sample data in the sample storage unit 60.
[0054] On the other hand, if the received operation parameter (or the candidate appropriate parameter) is not an appropriate parameter, the index data calculation unit 50 assigns to the sample data in which the operation parameter is linked to the index data an identifier indicating that the operation parameter in the sample data was acquired by the parameter search unit 70, the operation (or the coordinate data) for the sample data, and an identifier indicating that the operation parameter in the sample data is not an appropriate parameter, and the index data calculation unit thus stores the sample data in the sample storage unit 60.
[0055] Each identifier assigned to the sample data may be, for example, a two-valued integer of "0" or "1." Multiple identifiers assigned to the sample data may be combined into a single identifier. For example, if the operating parameter in the sample data is an operating parameter acquired by the parameter storage unit 30, "0" may be assigned; if the operating parameter in the sample data is an operating parameter acquired by the parameter search unit 70 and is not a convenient parameter, "1" may be assigned; and if the operating parameter in the sample data is an operating parameter acquired by the parameter search unit 70 and is a convenient parameter, "2" may be assigned, that is, a three-valued integer may be assigned. This can reduce the number of identifiers to be assigned to the sample data.
[0056] Fig. 3 shows an example of sample data stored in the sample storage unit 60. Fig. 3 shows an example where multiple sample data are generated for each of multiple operations 1, 2, ... (multiple coordinate data 1, 2, ...).
[0057] The sample data for operation 1 (or coordinate data 1) includes n sample data items obtained by performing operation 1 n times based on n operating parameters generated by the parameter generation unit 20, and m sample data items obtained by performing operation 1 m times based on m operating parameters estimated by the parameter search unit 70, resulting in a total of (n + m) sample data items.
[0058] Furthermore, the n sample data items containing the operating parameters generated by the parameter generation unit 20 are each assigned an identifier indicating that the operating parameter was generated by the parameter generation unit 20 and an identifier indicating coordinate data 1. The m sample data items containing the operating parameters estimated by the parameter search unit 70 are each assigned an identifier indicating that the operating parameter was estimated by the parameter search unit 70 and an identifier indicating coordinate data 1, in addition to an identifier indicating whether the operating parameter is a suitable parameter.
[0059] The sample data for operation 2 corresponding to the coordinate data 2 is similar to the sample data for operation 1. More specifically, the sample data items for operation 2 include p sample data items containing p operating parameters generated by the parameter generation unit 20 and q sample data items containing q operating parameters estimated by the parameter search unit 70, resulting in a total of (p + q) sample data items.
[0060] The p sample data items containing the operating parameters generated by the parameter generation unit 20 are each assigned an identifier indicating that the operating parameter was generated by the parameter generation unit 20 and an identifier indicating coordinate data 2. The q sample data items containing the operating parameters estimated by the parameter search unit 70 are each assigned an identifier indicating that the operating parameter was estimated by the parameter search unit 70 and an identifier indicating coordinate data 2, in addition to an identifier indicating whether the operating parameter is a suitable parameter.
[0061] In the Fig. 3, for operation 1 (coordinate data 1), the operation parameter contained in the (n + m)th sample data is determined as a convenient parameter. For operation 2 (coordinate data 2), the operation parameter contained in the (p + q)th sample data is determined as a convenient parameter. Such a combination of coordinate data and a convenient parameter for the coordinate data is used as training data to generate a trained model by the model training unit 80, as described below.
[0062] While the Fig. 3 shows two sets of (coordinate data 1, operating parameters n + m) and (coordinate data 2, operating parameters p + q) as training data, in practice, a second predetermined number of training data, which is set depending on the model training method of the model training unit 80, as described below, is stored in the sample storage unit 60. The "second predetermined number," that is, the number of training data items stored in the sample storage unit 60, is set to a value equal to or greater than a number required for generating a trained model by the model training unit 80, as described below.
[0063] We return to Fig. 1. When the second predetermined number of training data is stored in the sample storage unit 60, the sample storage unit 60 sends a model training command to the model training unit 80.
[0064] After receiving the model training command from the sample storage unit 60, the model training unit 80 uses the second predetermined number of training data stored in the sample storage unit 60 to generate a trained model that receives coordinate data as an input and outputs an appropriate parameter. The model training unit 80 generates the trained model through, for example, deep learning using a neural network. The model training unit 80 stores the generated trained model in the model storage unit 90.
[0065] Fig. 4 shows schematically an example of training by the model training unit 80. The Fig. The trained model illustrated in Figure 4 is a regression model obtained by machine learning (for example, deep learning using a neural network). As shown in Fig. 4, the model training unit 80 performs machine learning using r (or the second predetermined number of) training data items (each combination of coordinate data and a convenient parameter) to generate a trained model that receives coordinate data as an input and outputs a convenient parameter.
[0066] Fig. 5 is a flowchart illustrating an example of a process flow in which the parameter setting device 5 generates a trained model in the training phase. This flowchart begins when the coordinate data acquisition unit 10 determines that the coordinate data acquired by the controller 3 is to be used in the "training phase."
[0067] Initially, the coordinate data acquisition unit 10 outputs a parameter generation command to the parameter generation unit 20 together with the coordinate data acquired by the controller 3 (step S10).
[0068] Subsequently, the parameter generation unit 20 generates the first predetermined number of operating parameters for the coordinate data received from the coordinate data acquisition unit 10 and stores the generated first predetermined number of operating parameters in the parameter storage unit 30 together with the coordinate data (step S20).
[0069] Subsequently, the parameter storage unit 30 performs a process for generating sample data (step S30).
[0070] Fig. 6 is a flowchart of an example of a detailed flow of the process for generating sample data (step S30 in Fig. 5).
[0071] The parameter storage unit 30 determines an operation parameter to be currently processed from the stored first predetermined number of operation parameters with reference to the above-described sequential identifiers and generates an operation command including the determined operation parameter and the coordinate data (step S31).
[0072] Subsequently, the parameter storage unit 30 outputs the generated operation command to the controller 3 (step S32). The controller 3 operates the industrial machine 2 in response to the operation command.
[0073] Subsequently, the state data acquisition unit 40 acquires state data of the industrial machine 2 from the controller 3 or the sensor 4 while the controller 3 operates the industrial machine 2 (step S33).
[0074] Subsequently, the state data acquisition unit 40 outputs a calculation command to the index data calculation unit 50 along with the acquired state data (step S34). The index data calculation unit 50 calculates index data.
[0075] Subsequently, the index data calculation unit 50 assigns an identifier indicating that the operation parameter is an operation parameter generated by the parameter generation unit 20 to sample data in which the operation parameter is linked to the index data, and the index data calculation unit thus stores the sample data in the sample storage unit 60 (step S35).
[0076] We return to Fig. 5. The index data calculation unit 50 determines whether the number of sample data items stored in the sample storage unit 60 has reached the first predetermined number (step S40). If the number of sample data items has not reached the first predetermined number (NO in step S40), the index data calculation unit 50 repeats step S30 until the number of sample data items reaches the first predetermined number, while sequentially changing the operating parameters to be processed according to the sequential identifiers.
[0077] When the sample data reaches the first predetermined number (YES in step S40), a process for generating training data is performed (step S50).
[0078] Fig. 7 is a flowchart of an example of a detailed flow of a process for generating sample data (step S50 in Fig. 5).
[0079] First, the parameter search unit 70 uses all the stored (i.e., the first predetermined number of or more) sample data to generate a search model that receives an operation parameter and outputs index data, and the parameter search unit stores the generated search model in the search model storage unit 72 (step S51).
[0080] Subsequently, the parameter search unit 70 uses the search model stored in the search model storage unit 72 to estimate a candidate appropriate parameter for the coordinate data received from the coordinate data acquisition unit 10 (step S52).
[0081] Subsequently, the parameter search unit 70 generates an operation command including the estimated candidate appropriate parameter and the coordinate data, and outputs the generated operation command to the controller 3 (step S53). The controller 3 operates the industrial machine 2 in response to the operation command.
[0082] Subsequently, the state data acquisition unit 40 acquires state data of the industrial machine 2 from the controller 3 or the sensor 4 while the controller 3 operates the industrial machine 2 (step S54).
[0083] Subsequently, the state data acquisition unit 40 outputs a calculation command to the index data calculation unit 50 along with the acquired state data (step S55). The index data calculation unit 50 calculates index data.
[0084] Subsequently, the index data calculation unit 50 uses the calculated index data to determine whether the current candidate appropriate parameter is an appropriate parameter (step S56).
[0085] If it is determined that the current candidate appropriate parameter is not an appropriate parameter (NO in step S56), the index data calculation unit 50 assigns an identifier indicating that the current candidate appropriate parameter is a candidate appropriate parameter acquired by the parameter search unit 70 and an identifier indicating that the current candidate appropriate parameter is not an appropriate parameter to the sample data in which the current candidate appropriate parameter is linked to the index data, and the index data calculation unit thus stores the sample data in the sample storage unit 60 (step S57). Thereafter, the controller returns to step S51, and steps S51 to S56 are repeated until a candidate appropriate parameter determined as an appropriate parameter is estimated.
[0086] When a candidate appropriate parameter determined as an appropriate parameter is estimated (YES in step S56), the index data calculation unit 50 assigns an identifier indicating that the parameter is an operation parameter generated by the parameter search unit 70 and an identifier indicating that the parameter is an appropriate parameter to the sample data in which this candidate appropriate parameter is linked to the index data, and the index data calculation unit 50 thus stores the sample data in the sample storage unit 60 as training data (step S58).
[0087] We return to Fig. 5. The index data calculation unit 50 determines whether the number of training data items stored in the sample storage unit 60 has reached the second predetermined number (a value equal to or greater than a number required by the model training unit 80 to generate a trained model) (step S60). If the number of training data items stored in the sample storage unit 60 has not reached the second predetermined number (NO in step S60), the coordinate data acquisition unit 10 acquires, from the controller 3, new coordinate data that is different from the coordinate data stored in the sample storage unit 60 (step S70). Thereafter, the controller returns to step S20, and steps S20 to S60 are repeated until the number of training data items stored in the sample storage unit 60 reaches the second predetermined number.
[0088] When the number of training data items stored in the sample storage unit 60 has reached the second predetermined number (YES in step S60), the model training unit 80 uses the second predetermined number of training data items stored in the sample storage unit 60 to generate a trained model that receives coordinate data and outputs an operation parameter (step S80), and stores the generated trained model in the model storage unit 90 (step S90). [Usage phase]
[0089] The process for the use phase will now be described. When the coordinate data acquisition unit 10 determines that the coordinate data acquired by the controller 3 is to be used in the "use phase," the coordinate data acquisition unit outputs an output parameter command to the parameter output unit 100.
[0090] Fig. 8 shows an example of outputting an appropriate parameter by the parameter output unit 100. After receiving the parameter output command from the coordinate data acquisition unit 10, the parameter output unit 100 inputs the coordinate data acquired by the coordinate data acquisition unit 10 into the trained model stored in the model storage unit 90 to output an appropriate parameter for the coordinate data.
[0091] Fig. Figure 9 shows an example of a flow of a process in which the parameter setting device 5 outputs an appropriate parameter in the use phase. This flowchart begins when the coordinate data acquisition unit 10 determines that the coordinate data acquired by the controller 3 is to be used in the "use phase."
[0092] First, the coordinate data acquisition unit 10 outputs the coordinate data acquired by the controller 3 to the parameter output unit 100 (step S100).
[0093] Subsequently, the parameter output unit 100 inputs the coordinate data acquired by the coordinate data acquisition unit 10 into the trained model stored in the model storage unit 90 to acquire an appropriate parameter corresponding to the inputted coordinate data (step S110).
[0094] The parameter setting device 5 described above has the following features.
[0095] (1) According to the present embodiment, the parameter setting device 5 includes: a coordinate data acquisition unit 10 that acquires coordinate data representing operating coordinates of the industrial machine 2; a parameter generation unit 20 that generates an operating parameter used to control the industrial machine 2 by the controller 3; a parameter storage unit 30 that stores the operating parameter and outputs an operation command containing the operating parameter to the controller 3; a state data acquisition unit 40 that acquires state data of the industrial machine 2 while the industrial machine is operating according to the operating parameter; an index data calculation unit 50 that calculates index data based on the state data and serves as an index for determining whether the operating parameter is appropriate;a sample storage unit 60 that stores sample data in which the operating parameter is linked to the index data; a parameter search unit 70 that uses the sample data to search for an operating parameter estimated to be appropriate based on the index data; and a model training unit 80 that uses training data in which an operating parameter estimated to be appropriate by the parameter search unit 70 is linked to the coordinate data to generate a trained model for estimating an appropriate parameter from the coordinate data.
[0096] In the above device, an operating parameter is generated by inputting coordinate data to a coordinate data acquisition unit 10, index data is calculated from state data based on the operating parameter, and an operating parameter estimated to be appropriate is searched based on the index data. Training data in which the operating parameter estimated to be appropriate is associated with the coordinate data is used to generate a trained model for estimating an appropriate parameter from the coordinate data. That is, simply inputting coordinate data to the parameter setting device 5 allows a trained model to be generated for estimating an appropriate parameter from the coordinate data.Thus, no parameter adjustment is performed by conventional manual trial-and-error, but instead, simply entering coordinate data into the trained model allows the estimation of a suitable parameter.
[0097] (2) Furthermore, the parameter setting device 5 according to the present embodiment includes a model storage unit 90 that stores the trained model generated by the model training unit 80, and a parameter output unit 100 that outputs the appropriate parameter by inputting the coordinate data acquired by the coordinate data acquisition unit 10 into the trained model stored in the model storage unit 90.
[0098] A suitable parameter can be output simply by inputting coordinate data into the parameter setting device 5.
[0099] (3) Furthermore, the parameter search unit 70 instructs the controller 3 to control the industrial machine 2 with the operating parameter determined to be appropriate by the parameter search unit 70. The state data acquisition unit 40 acquires state data (search state data) indicating a state of the industrial machine 2 when the industrial machine 2 is operated with the operating parameter determined to be appropriate by the parameter search unit 70. The index data calculation unit 50 calculates the index data based on the search state data. The sample storage unit 60 stores data in which an operating parameter determined to be appropriate based on the search state data is associated with the coordinate data as the training data. The model training unit 80 uses the training data stored in the sample storage unit 60 to generate the trained model.
[0100] In the above configuration, the operating parameter estimated as appropriate by the parameter search unit 70 is not used as training data in its unchanged state; rather, index data is calculated based on state data (search state data) obtained when the industrial machine 2 is actually operated with the operating parameter estimated as appropriate by the parameter search unit 70, and an operating parameter estimated as appropriate based on the index data is used as training data. This allows the trained model to be generated more conveniently than using the operating parameter estimated as appropriate by the parameter search unit 70 as training data.
[0101] (4) Furthermore, the index data calculation unit 50 calculates two or more types of indexes based on the search state data and sets a combination of the calculated two or more types of indexes as the index data, and the parameter search unit 70 uses a multi-objective optimization method to estimate an operation parameter determined to be appropriate based on each index constituting the index data.
[0102] This allows a more useful parameter to be estimated than by linearly combining multiple indices into a single one and using the value as the index data.
[0103] (5) Furthermore, the parameter generation unit 20 generates a first predetermined number of operating parameters, which are set depending on a parameter search method of the parameter search unit 70.
[0104] This can prevent the industrial machine 2 from being operated unnecessarily often for the purpose of searching by the parameter search unit 70. This, in turn, can shorten the time required for the parameter setting device 5 to generate a search model.
[0105] (6) Further, when a second predetermined number of training data, which is set depending on the model training method of the model training unit 80, is stored in the sample storage unit 60, the model training unit 80 uses the second predetermined number of training data to generate the trained model.
[0106] This can prevent the industrial machine 2 from being operated unnecessarily often for the purpose of generating a trained model by the model training unit 80. This, in turn, can shorten the time required by the parameter setting device 5 to generate the trained model.
[0107] (7) Furthermore, the parameter search unit 70 includes a search model construction unit 71 that uses the sample data stored in the sample storage unit 60 to generate a search model for estimating the index data from the operating parameter, a search model storage unit 72 that stores the search model, and a parameter estimation unit 73 that searches for an operating parameter estimated to be appropriate based on the index data estimated by the search model.
[0108] This allows the relationship between the operating parameter and the index data to be understood using the search model. This, in turn, allows for a more efficient search for a suitable parameter.
[0109] (8) Furthermore, the state data acquisition unit 40 acquires torque data from a drive device that drives the industrial machine 2, and the index data calculation unit 50 sets a linear combination of a value of the amplitude of vibrations of a torque calculated from the torque data and a damping rate in the waveform of the torque as an index of residual vibrations after the industrial machine 2 is positioned.
[0110] This allows the residual vibration index to be calculated even when an accelerometer cannot be installed due to a limitation of an end effector attached to the industrial machine.
[0111] Furthermore, the use of torque data allows to obtain data on residual vibration even when a speed reducer constituting a positioning device has a large speed reduction ratio.
[0112] Furthermore, taking into account not only the value of the amplitude of torque vibrations but also the damping rate of the torque waveform allows to more appropriately calculate an index indicating the degree of residual vibrations.
[0113] Although the parameter adjustment device 5 according to the present embodiment includes the devices (1) to (8), the parameter adjustment device according to the present disclosure may include at least the device (1) and is not necessarily limited to including all of the devices (2) to (8). For example, the parameter adjustment device according to the present disclosure may be a combination of the device (1) and at least one of the devices (2) to (8). [First variation]
[0114] The parameter setting device 5 according to the embodiment described above comprises both a means for generating a trained model in a training phase and a means for outputting an appropriate parameter in a use phase.
[0115] In contrast, the means for generating a trained model in the training phase and the means for outputting a useful parameter in the utilization phase can be separated into separate devices.
[0116] Fig. 10 schematically shows an example of a configuration of a parameter setting device 5A according to a first modification. The parameter setting device 5A according to the first modification corresponds to the parameter setting device 5 according to the above-described embodiment without the "parameter output unit 100" that is not used in the training phase and is instead used in the use phase.
[0117] Fig. Fig. 11 schematically shows an example of a configuration of a parameter setting device 5A according to the first modification. The parameter setting device 5B according to the first modification corresponds to the parameter setting device 5 according to the above-described embodiment, from which all components other than the coordinate data acquisition unit 10, the model storage unit 90, and the parameter output unit 100 used in the use phase have been removed.
[0118] Thus, the means for generating a trained model in the training phase and the means for outputting a suitable parameter in the use phase can be separated into separate devices. This can, in particular, reduce the power requirements of the hardware (which Fig. 11), which has the means for outputting a suitable parameter in the use phase, and thus reduce the costs. [Second variation]
[0119] Although in the above embodiment, an example is described in which the trained model generated by the model training unit 80 is a single regression model (see Fig. 4), the trained model generated by the model training unit 80 is not limited to a single regression model.
[0120] Fig. Fig. 12 schematically shows an example of training performed by a model training unit 80A according to a second modification. As in Fig. As illustrated in FIG. 12, according to the second modification, the model training unit 80A generates a classification model and a plurality of regression models as a trained model. The classification model is, for example, a clustering model, which is a classification method of unsupervised machine learning. The plurality of regression models is each a general machine-learned regression model, such as a multiple regression model.
[0121] As in Fig. As illustrated in Figure 12, the model training unit 80A uses r coordinate data items in the training data to train a classification model for classifying the r training data items into multiple groups. For example, a criterion for the classification model to group the coordinate data is a distance between the starting point coordinates and the end point coordinates. In this case, the classification model is generated to classify the coordinate data into two groups, a long-distance group and a short-distance group.
[0122] The generated classification model outputs multiple groups, each composed of at least one or more training data. Therefore, for each of the multiple groups, a regression model is generated that receives coordinate data as an input and outputs a suitable parameter.
[0123] Such a training method that classifies training data into multiple groups can reduce the training effort for each regression model and thus the time required to generate a trained model. For example, when a Gaussian process regression model is used as the regression model, the larger the number of subdivisions by the classification model, the more the order of training effort of a hyperparameter of a kernel function and the order of computation effort of an inverse matrix of a covariance matrix required when estimating a suitable parameter for unknown coordinate data are reduced, and the time required for training each regression model can be shortened.
[0124] The coordinate data used as input for the training model can be converted into a feature vector as needed. For example, if the industrial machine 2 is a robot with three degrees of freedom composed of an orthogonal coordinate system including an X-axis, a Y-axis, and a Z-axis, and starting point coordinates (Xs, Ys, Zs) and end point coordinates (Xg, Yg, Zg) can be set as coordinate data, the coordinate data can be converted into differences (ΔX, ΔY, ΔZ) between the coordinates of the axes.
[0125] Fig. Fig. 13 shows an example of outputting a suitable parameter by a parameter output unit 100A according to the second modification. The parameter output unit 100A outputs a suitable parameter by the Fig. 12 illustrated trained model. More specifically, as in Fig. 13, the parameter output unit 100A inputs coordinate data into the classification model to determine which group the coordinate data belongs to, and the parameter output unit inputs the coordinate data into a regression model corresponding to the determined group to output an appropriate parameter for the coordinates.
[0126] As described above, the trained model generated by the model training unit 80 is not limited to a single regression model and may be, for example, a classification model and multiple regression models. (Example setup of industrial machine 2)
[0127] The following describes an exemplary device of an industrial machine 2 to which the parameter setting device 5 (or the information processing device) described above is preferably applied.
[0128] Fig. 14 shows an example of a device of the industrial machine 2. With reference to Fig. 14, the industrial machine 2 is a receiving device that receives a workpiece 220 from a location where the workpiece is arranged. The industrial machine 2 can receive the workpiece 220 arranged in any position on a workpiece support table 214 or inside a container 213 or the like. The industrial machine 2 includes an imaging device 209 capable of changing a direction in which the workpiece 220 is imaged, and a receiving unit 210 capable of changing a direction in which the receiving unit approaches the workpiece 220. The imaging device 209 and the receiving unit 210 are controlled by the controller 3.
[0129] The image pickup device 209 captures an image of at least one workpiece 220. The pickup unit 210 approaches the workpiece 220 in the direction and picks up the workpiece 220. In many cases, the workpieces 220 to be picked up are randomly stacked in the workpiece container 213 on the workpiece support table 214.
[0130] The industrial machine 2 further includes a positioning mechanism 247 and an angle adjustment device 208. The positioning mechanism 247 is composed of a rotation mechanism 207 and a linear motion unit 204. The imaging device 209 and the recording unit 210 are attached to the angle adjustment device 208. The positioning mechanism 247 is configured to be capable of adjusting the position of the angle adjustment device 208 relative to the workpiece 220. The rotation mechanism 207 has a spatial position that can be changed in three orthogonal axes by the linear motion unit 204.
[0131] The linear motion unit 204 includes a first electric actuator 204X, a second electric actuator 204Y, and a third electric actuator 204Z, which correspond to the X-axis, the Y-axis, and the Z-axis orthogonally to each other, respectively. The rotation mechanism 207 is attached to an output unit 206 of the third electric actuator 204Z.
[0132] The angle adjustment device 208 is attached to the rotation mechanism 207. The angle adjustment device 208 is rotatable by the rotation mechanism 207. The imaging device 209 and the pickup unit 210 are attached to a connecting hub on a distal side of the angle adjustment device 208. The angle adjustment device 208 is configured to be capable of adjusting the direction of the optical axis of the imaging device 209 and the direction in which the pickup unit 210 approaches the workpiece as desired.
[0133] Fig. 15 shows an example of a device of the angle adjustment device 208. The Fig. The angle adjustment device 208 shown in Fig. 15 has a parallel joint mechanism 230 and an actuator 231. Fig. 16 is a perspective view of an example of a device of the parallel link mechanism 230. Fig. 15 and shows representatively one of three in Fig. 16 shown joint mechanisms 234.
[0134] As in Fig. 15 and Fig. As shown in Figure 16, the industrial machine 2 further includes a first connecting hub 232 and a second connecting hub 233 to which the imaging device 209 and the pickup unit 210 are mounted. The positioning mechanism 247 is configured to be capable of changing the position of the first connecting hub 232. The angle adjustment device 208 couples the first connecting hub 232 and the second connecting hub 233 to each other.
[0135] The angle adjustment device 208 is composed of a parallel link mechanism 230 that supports the imaging device 209 and the recording unit 210 and allows their positional change, and an actuator 231 that actuates the parallel link mechanism 230 to control a position. The actuator 231 may be a Fig. Change the angle α specified in 15.
[0136] With reference to Fig. 15 and Fig. As shown in Figure 16, the parallel joint mechanism 230 is composed of a proximal first connecting hub 232, a distal second connecting hub 233, and three joint mechanisms 234 that couple the second connecting hub to the first connecting hub so that the second connecting hub is variable in position. The imaging device 209 and the recording unit 210 shown in Fig. 14 are attached to the distal, second connecting hub 233. Although a parallel link mechanism 230 having three link mechanisms 234 is discussed here, four or more link mechanisms 234 may also be provided.
[0137] Each linkage mechanism 234 is composed of a proximal end linkage member 235, a distal end linkage member 236, and a middle linkage member 237. The linkage mechanism 234 is a four-bar linkage mechanism composed of four rotatable pairs of members. The proximal and distal end linkage members 235 and 236 are shaped like the letter L.
[0138] The proximal end connecting member 235 is rotatably coupled at one end to the proximal first connecting hub 232. The distal end connecting member 236 is rotatably coupled at one end to the distal second connecting hub 233. The end connecting members 235 and 236 are rotatably coupled at their respective other ends to opposite ends of the middle connecting member 237.
[0139] The parallel joint mechanism 230 has a structure in which two spherical joint mechanisms are combined. The respective center axes of the rotatable pair of the end link 235 and the middle link 237 and the pair of the end link 236 and the middle link can form a crossing angle γ (see Fig. 15) or run parallel.
[0140] Fig. Figure 17 is a diagram illustrating a single joint mechanism 234 using straight lines. The three joint mechanisms 234 can be represented in a geometrically identically shaped model.
[0141] The proximal first connecting hub 232, the distal second connecting hub 233, and the three joint mechanisms 234 form a two-degree-of-freedom mechanism. In this two-degree-of-freedom mechanism, the distal second connecting hub 233 has two degrees of freedom that are rotatable about two orthogonal axes relative to the proximal first connecting hub 232. These two orthogonal axes are a rotation axis for a rotation angle φ (i.e., a central axis QA) and a rotation axis for a bending angle θ (an axis passing through a point O and orthogonal to the central axis QA and a central axis QB), as shown in Fig. 17. The rotation angle φ is an angle formed in a plane perpendicular to the central axis QA of the first connecting hub 232 by a reference line passing through an intersection point of the central axis QA and a line that is a projection of the central axis QB of the second connecting hub 233. The bending angle θ is an angle formed by the central axis QA of the first connecting hub 232 and the central axis QB of the second connecting hub 233. This two-degree-of-freedom mechanism is compact yet allows the distal second connecting hub 233 to move over a wide range relative to the proximal first connecting hub 232.
[0142] The bending angle θ can be adjusted simply by operating the joint mechanism 234 and does not involve operating multiple joints as in an articulated robot. Therefore, the parallel joint mechanism 230 can operate faster than an articulated robot. If the use of the parallel joint mechanism 230 of Fig. 16 for collecting image data required for machine learning is compared with an articulated robot, the former allows the collection of a larger amount of image data in a shorter period of time.
[0143] The Fig. The position-controlling actuator 231 of the angle adjustment device 208 shown in Figure 15 is a rotary actuator having a speed reduction mechanism. The actuator 231 is arranged on a surface of a proximal end link 240 of the first link hub 232 so as to be coaxial with a rotation axis 242. The actuator 231 and the speed reduction mechanism are integrally provided, and the speed reduction mechanism is fixed to the proximal end link 240. Although the three link mechanisms 234 are provided with three position-controlling actuators 231 for changing the angles α1 to α3, as shown in Fig. 16, the three actuators 231 do not necessarily have to be present. Providing at least two of the three joint mechanisms 234 with position-controlling actuators 231 allows the position of the distal, second connecting hub 233 relative to the proximal, first connecting hub 232 to be determined.
[0144] The parameter setting device 5 (or information processing device) described above is suitably used for controlling the positioning of a multi-axis robot, such as the one shown in Fig. 14 to 17 shown industrial machine 2.
[0145] It is to be understood that the embodiments disclosed herein are illustrative and non-restrictive in all respects. The scope of the present disclosure is defined by the terms of the claims rather than by the foregoing description of the embodiments, and is intended to include all modifications within the meaning and scope equivalent to the terms of the claims. LIST OF REFERENCE SYMBOLS
[0146] 1 Control system, 2 Industrial machine, 3 Controller, 4 Sensor, 5, 5A, 5B Parameter adjustment device, 10 Coordinate data acquisition unit, 20 Parameter generation unit, 30 Parameter storage unit, 40 State data acquisition unit, 50 Index data calculation unit, 60 Sampling storage unit, 70 Parameter search unit, 71 Search model construction unit, 72 Search model storage unit, 73 Parameter estimation unit, 80, 80A Model training unit, 90 Model storage unit, 100, 100A Parameter output unit, 204 Linear motion unit, 204X First electric actuator, 204Y Second electric actuator, 204Z Third electric actuator, 206 Output unit, 207 Rotation mechanism, 208 Angle adjustment device, 209 Imaging device, 210 Recording unit, 213 Container, 214 Workpiece support table, 220 Workpiece, 230 Parallel link mechanism, 231 Actuator, 232 First connecting hub, 233 Second connecting hub, 234 Link mechanism, 235, 236 End connecting element,237 middle connecting element, 240 proximal end connecting element, 242 rotation axis, 247 positioning mechanism., QUOTES CONTAINED IN THE DESCRIPTION
[0000] This list of documents submitted by the applicant was generated automatically and is included solely for the convenience of the reader. This list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions. Cited patent literature
[0000] JP 2020-035159
[0003]
Claims
An information processing device for a drive device controlled by a controller, comprising: a coordinate data acquisition unit that externally acquires coordinate data representing operating coordinates of the drive device; a parameter generation unit that generates an operating parameter used to control the drive device by the controller; a parameter storage unit that stores the operating parameter and outputs an operating command containing the operating parameter to the controller; a state data acquisition unit that acquires state data representing a state of the drive device while the drive device operates according to the operating parameter; an index data calculation unit that calculates index data based on the state data and serves as an index for determining whether the operating parameter is appropriate;a sample storage unit that stores sample data in which the operating parameter is linked to the index data; a parameter search unit that uses the sample data to search for an operating parameter estimated as appropriate based on the index data; and a model training unit that uses training data in which an operating parameter estimated as appropriate by the parameter search unit is linked to the coordinate data to generate a trained model to estimate, from the coordinate data, an appropriate parameter that is an operating parameter suitable for performing an operation on the coordinate data. The information processing apparatus according to claim 1, further comprising: a model storage unit that stores the trained model generated by the model training unit; and a parameter output unit that outputs the appropriate parameter by inputting the coordinate data acquired by the coordinate data acquisition unit into the trained model stored in the model storage unit. The information processing device according to claim 1 or 2, wherein the parameter search unit instructs the controller to control the drive device with the operating parameter determined to be appropriate by the parameter search unit, the state data acquisition unit acquires search state data representing a state of the drive device when the drive device is operated with the operating parameter determined to be appropriate by the parameter search unit, the index data calculation unit calculates the index data based on the search state data, the sample storage unit stores data in which an operating parameter determined to be appropriate based on the search state data is associated with the coordinate data as the training data, and the model training unit uses the training data stored in the sample storage unit to generate the trained model. The information processing apparatus according to claim 1 or 2, wherein the state data acquisition unit acquires search state data representing a state of the drive device when the drive device is operated with the operation parameter estimated as appropriate by the parameter search unit, the index data calculation unit calculates two or more types of indexes based on the search state data and sets a combination of the calculated two or more types of indexes as the index data, and the parameter search unit uses a multi-criteria optimization method to estimate an operation parameter determined as appropriate based on each index constituting the index data. The information processing apparatus according to claim 1 or 2, wherein the parameter generation unit generates a first predetermined number of operating parameters set depending on a parameter search method of the parameter search unit. The information processing apparatus according to claim 1 or 2, wherein, when a second predetermined number of training data set depending on a model training method of the model training unit is stored in the sample storage unit, the model training unit uses the second predetermined number of training data to generate the trained model. The information processing apparatus according to claim 1 or 2, wherein the parameter search unit comprises: a search model construction unit that uses the sample data stored in the sample storage unit to generate a search model for estimating the index data from the operating parameter; a search model storage unit that stores the search model; and a parameter estimation unit that searches for an operating parameter estimated as appropriate based on the index data estimated by the search model. The information processing apparatus according to claim 1 or 2, wherein the state data acquisition unit acquires torque data from the driving device, and the index data calculation unit sets a linear combination of a value of the amplitude of vibrations of a torque calculated from the torque data and a damping rate in the waveform of the torque as an index indicating residual vibrations after the driving device is positioned. The information processing apparatus according to claim 1 or 2, wherein the model training unit generates a classification model that divides the training data stored in the sample storage unit into a plurality of groups, and the model training unit generates a plurality of regression models each provided for the plurality of groups.
Citation Information
Patent Citations
2020-035159