WO2024034338A1 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
WO2024034338A1
WO2024034338A1 PCT/JP2023/026367 JP2023026367W WO2024034338A1 WO 2024034338 A1 WO2024034338 A1 WO 2024034338A1 JP 2023026367 W JP2023026367 W JP 2023026367W WO 2024034338 A1 WO2024034338 A1 WO 2024034338A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
parameter
unit
learning
model
Prior art date
Application number
PCT/JP2023/026367
Other languages
English (en)
French (fr)
Inventor
武史 成田
直樹 丸井
Original Assignee
Ntn株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2023003909A external-priority patent/JP2024023119A/ja
Application filed by Ntn株式会社 filed Critical Ntn株式会社
Publication of WO2024034338A1 publication Critical patent/WO2024034338A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • the present disclosure relates to an information processing device that automatically adjusts operating parameters used to control the operation of a drive device of an industrial machine or the like used for positioning production equipment.
  • Patent Document 1 discloses a parameter adjustment device that applies appropriate control parameters in response to operation commands for industrial machines.
  • the parameter adjustment device described in Patent Document 1 is based on state data including at least one command of speed, acceleration, and jerk in the operation of an industrial machine, and optimal parameters for the operation obtained from a controller that controls the industrial machine.
  • a model for estimating optimal control parameters from state data is generated by machine learning, and appropriate operating parameters are acquired from the model and applied according to the operating command.
  • control parameters such as gain parameters in order to correct vibrations and trajectory deviations during the operation of the industrial machine.
  • control parameters such as gain parameters
  • knowledge about controls and sensors is required, and since there are individual differences in industrial machinery, it is necessary to have sufficient experience to deal with these differences. At present, adjustments are still made manually through trial and error.
  • Patent Document 1 proposes a parameter adjustment device that sets more suitable control parameters according to commands such as speed, acceleration, jerk, etc. of industrial machines such as machine tools and robots.
  • commands such as speed, acceleration, jerk, etc.
  • the speed, acceleration, and jerk should also be set to appropriate values. Adjustment time is required.
  • the present disclosure has been made in order to solve the above-mentioned problems, and its purpose is to provide a method suitable for operating a drive device without performing manual trial-and-error adjustments as in the past. It is to estimate operating parameters (control parameters).
  • An information processing device is an information processing device for a drive device controlled by a controller, and includes a coordinate data acquisition unit that acquires coordinate data indicating operating coordinates of the drive device from the outside; a parameter generation unit that generates operation parameters used for control; a parameter storage unit that stores the operation parameters; a status data acquisition unit that acquires status data indicating the status of the drive device during operation according to the operation parameters; an index data calculation unit that calculates index data that is an index for determining suitability based on the status data; a sample storage unit that stores sample data that links operational parameters and index data; A parameter search unit uses sample data to search for motion parameters that are estimated to be appropriate, and learning data that links coordinate data with motion parameters that are estimated to be appropriate by the parameter search unit are used to determine the motion of the coordinate data. and a model learning unit that generates a learning model for estimating appropriate parameters, which are operational parameters suitable for performing the following, from coordinate data.
  • motion parameters are generated by inputting coordinate data to the coordinate data acquisition unit, index data is calculated from state data based on the motion parameters, and motion parameters are estimated to be appropriate based on the index data. is explored. Then, a learning model for estimating appropriate parameters from the coordinate data is generated using learning data in which the operating parameters estimated to be appropriate are linked to the coordinate data. That is, by simply inputting coordinate data to the information processing device, a learning model for estimating appropriate parameters from the coordinate data can be generated. Therefore, by simply inputting coordinate data to this learning model, it is possible to estimate motion parameters suitable for performing the motion of the coordinate data, without manually adjusting parameters through trial and error as in the past. .
  • FIG. 1 is a diagram schematically showing an example of the overall configuration of a control system including a parameter adjustment device (information processing device).
  • FIG. 3 is a diagram showing an example of parameter generation.
  • FIG. 3 is a diagram showing an example of sample data.
  • FIG. 2 is a diagram (part 1) schematically showing an example of learning by a model learning unit. It is a flowchart which shows an example of the processing procedure which generates a learning model.
  • 3 is a flowchart illustrating an example of a detailed flow of processing for generating sample data.
  • 2 is a flowchart illustrating an example of a detailed flow of processing for generating learning data.
  • FIG. 3 is a diagram (part 1) showing an example of output of appropriate parameters. An example of a processing procedure for outputting appropriate parameters is shown.
  • FIG. 1 is a diagram schematically showing an example of the overall configuration of a control system including a parameter adjustment device (information processing device).
  • FIG. 3 is a diagram showing an example of parameter generation.
  • FIG. 1 is a diagram (part 1) schematically showing an example of the configuration of a parameter adjustment device.
  • FIG. 2 is a diagram (part 2) schematically showing an example of the configuration of the parameter adjustment device.
  • FIG. 2 is a diagram (part 2) schematically showing an example of learning by the model learning unit.
  • FIG. 2 is a diagram (part 2) showing an example of output of appropriate parameters.
  • FIG. 1 is a diagram showing an example of the configuration of an industrial machine. It is a figure showing an example of composition of an angle adjustment device.
  • FIG. 2 is a perspective view showing an example of the configuration of a parallel link mechanism.
  • FIG. 3 is a diagram depicting a set of link mechanisms using straight lines.
  • FIG. 1 is a diagram schematically showing an example of the overall configuration of a control system 1 including a parameter adjustment device 5 (information processing device) according to the present embodiment.
  • This control system 1 includes an industrial machine 2, a controller 3, a sensor 4, and a parameter adjustment device 5.
  • the industrial machine 2 includes a drive device (actuator such as a motor or a pneumatic cylinder) that is controlled by the controller 3 .
  • the industrial machine 2 is, for example, a multi-axis robot, a machine tool, etc. used in production equipment.
  • the controller 3 controls the operation (positioning operation, etc.) of the industrial machine 2 according to preset operation parameters.
  • the operating parameters are speed-related parameters such as speed and acceleration during operation of the industrial machine 2, and control parameters used to control the industrial machine 2.
  • the control parameters are, for example, gain parameters in PID control, state feedback coefficients, and robust control parameters.
  • the controller 3 can acquire status data of the industrial machine 2.
  • the state data is data indicating the state of the industrial machine 2 during operation, and includes, for example, a signal generated by a program installed in the controller 3, a current value flowing through a motor to be controlled, a tracking error, etc. feedback signals, etc.
  • the parameter adjustment device 5 can acquire state data of the industrial machine 2 from the controller 3.
  • the coordinate data is data that is a set of starting point coordinates and ending point coordinates that are set when operating the industrial machine 2.
  • the coordinate data can be data that is a set of a starting point angle and an ending point angle of the output shaft of the motor.
  • the sensor 4 detects status data of the industrial machine 2.
  • the sensor 4 is, for example, an acceleration pickup.
  • the parameter adjustment device 5 can acquire state data of the industrial machine 2 not only from the controller 3 but also from the sensor 4 as necessary. Note that the sensor 4 may be omitted.
  • the parameter adjustment device 5 is an information processing device that receives coordinate data of the industrial machine 2 as input and outputs appropriate parameters of the industrial machine 2.
  • the appropriate parameters are operation parameters suitable for the industrial machine 2 to perform an operation based on certain coordinate data.
  • the suitability of the operating parameters is determined based on index data calculated by the index data calculation unit 50, which will be described later. That is, the index data is data that serves as an index for evaluating whether or not the operating parameters are appropriate.
  • the index data may include the duration of the positioning operation, the maximum amplitude of vibration after the end of the positioning operation, the vibration time, the cumulative value of positional deviation, or a combination thereof. can do.
  • the index data is the duration of a positioning operation, it is determined that among the operation parameters, those whose duration of the positioning operation falls within a preset threshold are appropriate.
  • the parameter adjustment device 5 includes a coordinate data acquisition section 10, a parameter generation section 20, a parameter storage section 30, a state data acquisition section 40, an index data calculation section 50, a sample storage section 60, and a parameter search section 70. , a model learning section 80, a model storage section 90, and a parameter output section 100.
  • the coordinate data acquisition unit 10 Upon receiving the coordinate acquisition command from the sample storage unit 60, the coordinate data acquisition unit 10 acquires coordinate data that is not stored in the sample storage unit 60 from the controller 3. For example, the coordinate data acquisition unit 10 collates the coordinate data stored in the sample storage unit 60 and the coordinate data stored in the controller 3, and selects the coordinate data stored in the controller 3. , if there is coordinate data that is not stored in the sample storage section 60, the coordinate data that is not stored in the sample storage section 60 is acquired from the controller 3.
  • the coordinate data acquisition unit 10 determines whether the coordinate data is to be used in the learning phase or the utilization phase.
  • the learning phase is a phase in which a learning model for estimating appropriate parameters from coordinate data is generated.
  • the utilization phase is a phase in which appropriate parameters are output by inputting coordinate data to the learning model generated in the learning phase. For example, if the coordinate acquisition command received from the sample storage unit 60 includes information indicating the purpose of use of the coordinate data, the coordinate data acquisition unit 10 performs control according to the purpose of use included in the coordinate acquisition command. It is determined whether the coordinate data acquired from the device 3 is to be used in the learning phase or the utilization phase.
  • [Learning phase] When using the coordinate data acquired from the controller 3 in the "learning phase", the parameter adjustment device 5 generates a learning model in two stages, using the coordinate data as input and appropriate parameters as output.
  • a parameter search unit 70 which will be described later, searches for appropriate parameters for each of a plurality of coordinate data (movements) set in the controller 3.
  • a model learning unit 80 (described later) performs machine learning to create a learning model that uses coordinate data as input and appropriate parameters as output, from multiple combinations (learning data) of coordinate data and appropriate parameters for the coordinate data. Generate using.
  • generation of a learning model will be explained in detail.
  • the coordinate data acquisition unit 10 determines that the coordinate data acquired from the controller 3 is to be used in the “learning phase,” it outputs a parameter generation command to the parameter generation unit 20 along with the coordinate data.
  • the parameter generation unit 20 Each time the parameter generation unit 20 receives coordinate data and a parameter generation command from the coordinate data acquisition unit 10, the parameter generation unit 20 generates a first predetermined number of motion parameters for the received coordinate data, and generates a first predetermined number of motion parameters.
  • the parameters are stored in the parameter storage section 30 together with their coordinate data.
  • the parameter generation unit 20 generates sampled operational parameters using a probability distribution such as a uniform distribution from a preset operational parameter search range before generating the learning model.
  • a probability distribution such as a uniform distribution from a preset operational parameter search range before generating the learning model.
  • the search range for the operating parameters can be, for example, a range between the lower and upper limits of the operating parameters that are set in advance before the learning model is generated.
  • the number of operation parameters generated for each coordinate data (ie, the above-mentioned "first predetermined number") is set according to the parameter search method of the parameter search unit 70, which will be described later. Specifically, the first predetermined number is set to a value greater than or equal to the number necessary for the parameter search unit 70, which will be described later, to search for appropriate candidate parameters for each coordinate data.
  • the first predetermined number may be set to an appropriate value from the outside, for example.
  • Bayesian optimization is used as a search method for appropriate candidate parameters by the parameter search unit 70, considering that Bayesian optimization can search for appropriate values even from one point of data, the operation generated for each coordinate data.
  • the number of parameters (first predetermined number) can be set to "1". Therefore, compared to the case where a regression model other than Bayesian optimization is used as a search method for appropriate parameters, the number of generated operating parameters can be kept small.
  • the parameter generation unit 20 assigns an order label to each of the two or more generated motion parameters. .
  • the order label indicates the order in which the controller 3 operates the industrial machine 2.
  • FIG. 2 shows a case where the first predetermined number is n (n is an integer of 2 or more), that is, n operation parameters are generated for certain coordinate data, and n orders are assigned to each of the n operation parameters.
  • FIG. 6 is a diagram illustrating an example of parameter generation when a label is assigned.
  • the n order labels are represented by consecutive integer values from 1 to n, for example.
  • the parameter generation unit 20 stores n (first predetermined number) operation parameters with order labels in the parameter storage unit 30 together with coordinate data. Note that the value of the first predetermined number may be a fixed value or a variable value that is changed according to the coordinate data.
  • the controller 3 When the controller 3 receives the operation command from the parameter storage unit 30, the controller 3 performs the operation of the coordinate data included in the operation command in the order indicated by the order label using the first predetermined number of operation parameters included in the operation command.
  • the industrial machine 2 is controlled to perform the operations sequentially. As a result, the motion of one piece of coordinate data included in the motion command is executed the same number of times as the first predetermined number while changing the motion parameters.
  • the parameter storage unit 30 when the parameter storage unit 30 outputs an operation command to the controller 3, it also outputs the operation command to the index data calculation unit 50. At this time, the parameter storage unit 30 adds a label to the operation command indicating that the output source of the operation command is the parameter storage unit 30.
  • the status data acquisition unit 40 acquires the status data of the industrial machine 2 from the controller 3 or the sensor 4 while the industrial machine 2 is being operated by the controller 3, and sends a calculation command along with the acquired status data to the index data calculation unit 50. Output to.
  • the index data calculation section 50 When the index data calculation section 50 receives the state data and calculation command from the state data acquisition section 40, it calculates index data using the acquired state data, and performs the operation when the state data acquisition section 40 acquires the state data.
  • the parameters are acquired from the parameter storage section 30 or the parameter search section 70, which will be described later.
  • the index data is data that serves as an index for evaluating whether or not the operating parameters are appropriate, and is, for example, the duration of the positioning operation of the industrial machine 2. For example, when the controller 3 continuously transmits a signal as one of the status data while the industrial machine 2 is operating, the time period during which the signal continues to be continuously transmitted is determined as index data (positioning operation duration time). It can be done.
  • index data there may be two or more types of index data.
  • the duration time mentioned above is an index related to the operating time of industrial machine 2, but in addition to this, an index that takes into account residual vibration during positioning is also calculated, and the two data of operating time and residual vibration are combined. It may be one piece of index data.
  • the combination method for example, the values of two or more indexes may be linearly combined, or the values of each index may be held.
  • an index expressing residual vibration for example, data obtained by processing data obtained from an acceleration pickup installed at the tip of the industrial machine 2 can be considered.
  • torque data may be acquired from a drive device that controls the industrial machine 2, and a value obtained by linearly combining the vibration amplitude of the torque data and the attenuation rate of the torque waveform may be used as an index expressing residual vibration.
  • the index data calculation unit 50 also determines whether the acquired operational parameters are the operational parameters acquired from the parameter storage unit 30 or the operational parameters (appropriate candidate parameters described below) acquired from the parameter search unit 70. Determine whether For example, if a label indicating the output source is attached to the acquired motion parameter, the index data calculation unit 50 can determine whether the acquired motion parameter corresponds to the motion acquired from the parameter storage unit 30 by referring to the label. It is determined whether it is a parameter or an operation parameter acquired from the parameter search unit 70.
  • the index data calculation unit 50 When the acquired operational parameter is the operational parameter acquired from the parameter storage unit 30, the index data calculation unit 50 generates sample data in which the acquired operational parameter and index data are linked, and stores the parameter in the sample data. A label indicating that the motion parameters are obtained from the section 30 and the motion (coordinate data) of each sample data are added and stored in the sample storage section 60 .
  • the series of sample data generation processes described above are performed for each of the plurality of coordinate data that the parameter generation unit 20 receives from the coordinate data acquisition unit 10. Therefore, a plurality of (first predetermined number) pieces of sample data are stored in the sample storage unit 60 for each coordinate data.
  • the sample storage unit 60 transmits the stored sample data to the parameter search unit 70. At this time, the sample storage section 60 transmits all stored sample data (a first predetermined number or more) for each coordinate data to the parameter search section 70.
  • the parameter search unit 70 has a function of estimating (searching for) appropriate parameters for each of the plurality of coordinate data based on the received sample data, upon receiving the sample data from the sample storage unit 60.
  • the parameter search unit 70 includes a search model construction unit 71, a search model storage unit 72, and a parameter estimation unit 73.
  • the search model construction unit 71 acquires sample data from the sample storage unit 60, it generates a search model using the sample data acquired from the sample storage unit 60.
  • the search model is a regression model that infers a black box function that inputs operating parameters and outputs index data. Note that the search model is generated for each piece of coordinate data.
  • the search model construction unit 71 outputs the generated search model to the search model storage unit 72 as a search model, together with the coordinate data that was attached to the sample data.
  • the search model storage section 72 stores a plurality of search models that respectively correspond to the plurality of coordinate data.
  • the search model storage unit 72 stores the search model generated by the search model construction unit 71, it outputs a parameter estimation command to the parameter estimation unit 73.
  • the parameter estimation unit 73 When the parameter estimation unit 73 receives the parameter estimation command from the search model storage unit 72, the parameter estimation unit 73 generates operating parameters estimated to be appropriate (appropriate parameter candidates) based on the search model stored in the search model storage unit 72.
  • the operating parameters (hereinafter also referred to as "appropriate candidate parameters") are estimated.
  • the parameter estimation unit 73 outputs an operation command to the controller 3 that causes the industrial machine 2 to execute the operation of the coordinate data used for estimating the appropriate candidate parameters, and also sends the estimated appropriate candidate parameters to the index data calculation unit 50. Output.
  • Estimation of appropriate candidate parameters by the parameter search unit 70 can be performed using Bayesian optimization, for example.
  • a Gaussian process regression model is generated in the search model construction unit 71, and the generated Gaussian process regression model is stored as a search model in the search model storage unit 72.
  • the parameter estimation unit 73 estimates (searches for) appropriate candidate parameters by performing Bayesian optimization using the search model. Since the search method itself using Bayesian optimization is already known in papers and the like, detailed explanation will be omitted here.
  • a multi-objective optimization algorithm may be used to estimate appropriate candidate parameters. Since multi-objective optimization is well known in papers and the like, detailed explanation will be omitted here. For example, if Bayesian optimization is used to estimate appropriate candidate parameters, by using EHVI (Expected Hypervolume Improvement) as an acquisition function, a Pareto solution based on two or more indicators can be estimated as appropriate candidate parameters.
  • EHVI Extended Hypervolume Improvement
  • the method for estimating appropriate candidate parameters is not limited to Bayesian optimization.
  • a neural network may be used as the regression model and a gradient method may be used as the optimization method.
  • a method may be used in which a function that takes operating parameters as input and index data as output is drawn as a spline curve, and a parameter corresponding to one of the peak values is estimated as the appropriate parameter.
  • the index data calculation unit 50 Upon receiving the operating parameters (appropriate candidate parameters) from the parameter search unit 70, the index data calculation unit 50 calculates index data using the state data acquired from the state data acquisition unit 40, and also uses the calculated index data to , it is determined whether the operating parameters acquired from the parameter search unit 70 are appropriate parameters. For example, the index data calculation unit 50 compares the calculated index data with preset comparison index data, and can determine that the calculated index data is significantly improved over the comparison index data. In this case, the operating parameter (appropriate candidate parameter) received from the parameter search unit 70 is determined to be an appropriate parameter.
  • the index data calculation unit 50 quantifies the difference d between the calculated index data y and the comparison index data ys using the following formula (1).
  • the index data calculation unit 50 determines that the received operation parameter (appropriate candidate parameter) is an appropriate parameter. On the other hand, if the difference d calculated by equation (1) does not fall within the preset threshold, the index data calculation unit 50 determines that the received operation parameter (appropriate candidate parameter) is not an appropriate parameter.
  • index data holds a set of two or more types of index values, for example, calculate the difference d for each index by calculating the above formula (1) for each index that makes up the index data, If the sum of the differences d calculated for each index falls within a preset threshold, it is determined that the parameters are appropriate.
  • the index data calculation unit 50 adds the operation parameter in the sample data to the sample data in which the operation parameter and index data are linked, and the parameter search unit 70 A label indicating that the sample data has been obtained from the sample data, an operation (coordinate data) of the sample data, and a label indicating that the operation parameters in the sample data are appropriate parameters are added and stored in the sample storage unit 60. .
  • the index data calculation unit 50 adds the operation parameter in the sample data to the sample data in which the operation parameter and the index data are linked, and the parameter search unit 70
  • the sample data is stored in the sample storage unit 60 with a label indicating that the sample data was acquired from the sample data, an operation (coordinate data) of the sample data, and a label indicating that the operation parameter in the sample data is not an appropriate parameter.
  • each label given to sample data can be composed of a binary integer of "0" or "1", for example.
  • a plurality of labels given to sample data may be combined into one label. For example, if the operating parameter in the sample data is an operating parameter acquired from the parameter storage unit 30, it is “0”, and if the operating parameter in the sample data is an operating parameter searched by the parameter searching unit 70, and is appropriate.
  • a three-value integer is assigned, such as "1" if the parameter is not a parameter, and "2" if the operating parameter in the sample data is the operating parameter searched by the parameter search unit 70 and is an appropriate parameter. It's okay. By doing so, the number of labels given to sample data can be reduced.
  • FIG. 3 is a diagram showing an example of sample data stored in the sample storage section 60.
  • FIG. 3 shows an example in which a plurality of sample data are generated for each of a plurality of operations 1, 2, . . . (a plurality of coordinate data 1, 2, . . . ).
  • the sample data of operation 1 (coordinate data 1) includes n sample data obtained by performing operation 1 n times based on n operation parameters generated by the parameter generation unit 20, and parameters.
  • a total of (n+m) sample data including m sample data obtained by performing the operation 1 m times based on the m operation parameters estimated by the search unit 70 is included.
  • the n sample data including the motion parameters generated by the parameter generation unit 20 are given a label indicating that they were generated by the parameter generation unit 20 and a label indicating coordinate data 1.
  • the m sample data including the motion parameters estimated by the parameter search unit 70 are provided with a label indicating that the motion parameters have been estimated by the parameter search unit 70 and a label indicating coordinate data 1.
  • a label is attached to indicate whether it is present or not.
  • the sample data of operation 2 corresponding to coordinate data 2 is also the same as the sample data of operation 1.
  • the sample data of motion 2 includes p sample data including p motion parameters generated by the parameter generation unit 20 and q motion parameters estimated by the parameter search unit 70.
  • a total of (p+q) sample data including q sample data are included.
  • the p sample data including the motion parameters generated by the parameter generation unit 20 are given a label indicating that they were generated by the parameter generation unit 20 and a label indicating coordinate data 2.
  • the q sample data including the motion parameters estimated by the parameter search unit 70 include a label indicating that the parameters have been estimated by the parameter search unit 70 and a label indicating coordinate data 2, as well as a label indicating whether the parameters are appropriate.
  • a label is attached to indicate whether or not the
  • the motion parameters included in the (n+m)th sample data are determined to be appropriate parameters.
  • the motion parameters included in the (p+q)th sample data are determined to be appropriate parameters.
  • a combination of such coordinate data and appropriate parameters for the coordinate data is used as learning data to generate a learning model by the model learning section 80, which will be described later.
  • the “second predetermined number”, which is the number of learning data stored in the sample storage unit 60, is set to a value greater than or equal to the number required for generation of a learning model by the model learning unit 80, which will be described later.
  • the sample storage section 60 transmits a model learning command to the model learning section 80.
  • the model learning unit 80 Upon receiving the model learning command from the sample storage unit 60, the model learning unit 80 uses the second predetermined number of learning data stored in the sample storage unit 60, inputs the coordinate data, and outputs appropriate parameters. Generate a learning model.
  • the model learning unit 80 generates a learning model by deep learning using a neural network, for example.
  • the model learning unit 80 stores the generated learning model in the model storage unit 90.
  • FIG. 4 is a diagram schematically showing an example of learning by the model learning section 80.
  • the learning model shown in FIG. 4 is a regression model obtained by machine learning (for example, deep learning using a neural network).
  • the model learning unit 80 inputs coordinate data by performing machine learning using r pieces (second predetermined number) of learning data (combinations of coordinate data and appropriate parameters). A learning model with appropriate parameters as output is generated.
  • FIG. 5 is a flowchart illustrating an example of a processing procedure in which the parameter adjustment device 5 generates a learning model in the learning phase. This flowchart is started when the coordinate data acquisition unit 10 determines that the coordinate data acquired from the controller 3 is to be used in the "learning phase.”
  • the coordinate data acquisition unit 10 outputs a parameter generation command to the parameter generation unit 20 together with the coordinate data acquired from the controller 3 (step S10).
  • the parameter generation unit 20 generates a first predetermined number of operation parameters for the coordinate data received from the coordinate data acquisition unit 10, and stores the generated first predetermined number of operation parameters together with the coordinate data in the parameter storage unit. 30 (step S20).
  • the parameter storage unit 30 performs processing to generate sample data (step S30).
  • FIG. 6 is a flowchart showing an example of a detailed flow of the process of generating sample data (step S30 in FIG. 5).
  • the parameter storage unit 30 specifies the motion parameter to be processed this time from among the first predetermined number of motion parameters stored, with reference to the above-mentioned order label, and combines the specified motion parameter and coordinate data.
  • An operation command including the following is generated (step S31).
  • the parameter storage unit 30 outputs the generated operation command to the controller 3 (step S32). Thereby, the controller 3 operates the industrial machine 2 according to the operation command.
  • the status data acquisition unit 40 acquires status data of the industrial machine 2 from the controller 3 or the sensor 4 while the industrial machine 2 is being operated by the controller 3 (step S33).
  • the state data acquisition unit 40 outputs the calculation command together with the acquired state data to the index data calculation unit 50 (step S34).
  • index data is calculated in the index data calculation section 50.
  • the index data calculation section 50 adds a label indicating that the motion parameter is a motion parameter generated by the parameter generation section 20 to the sample data in which the motion parameter and index data are linked, and stores the sample data in the sample storage section. 60 (step S35).
  • the index data calculation unit 50 determines whether the number of sample data stored in the sample storage unit 60 has reached a first predetermined number (step S40). If the number of sample data has not reached the first predetermined number (NO in step S40), the index data calculation unit 50 sequentially changes the operation parameters to be processed according to the order labels until the sample data reaches the first predetermined number. The process of step S30 is repeatedly executed until the target value is reached.
  • step S50 If the sample data reaches the first predetermined number (YES in step S40), a process of generating learning data is performed (step S50).
  • FIG. 7 is a flowchart illustrating an example of a detailed flow of the process of generating learning data (step S50 in FIG. 5).
  • the parameter search unit 70 uses all stored sample data (a first predetermined number or more) to generate a search model that receives operating parameters as input and outputs index data. It is stored in the search model storage section 72 (step S51).
  • the parameter search unit 70 uses the search model stored in the search model storage unit 72 to estimate appropriate candidate parameters for the coordinate data received from the coordinate data acquisition unit 10 (step S52).
  • the parameter search unit 70 generates an operation command including the estimated appropriate candidate parameter and coordinate data, and outputs the generated operation command to the controller 3 (step S53). Thereby, the controller 3 operates the industrial machine 2 according to the operation command.
  • the status data acquisition unit 40 acquires status data of the industrial machine 2 from the controller 3 or the sensor 4 while the industrial machine 2 is being operated by the controller 3 (step S54).
  • the state data acquisition unit 40 outputs the calculation command together with the acquired state data to the index data calculation unit 50 (step S55).
  • index data is calculated in the index data calculation section 50.
  • the index data calculation unit 50 uses the calculated index data to determine whether or not the current appropriate candidate parameter is an appropriate parameter (step S56).
  • the index data calculation unit 50 uses the parameter search unit 70 to A label indicating that the obtained parameter is an appropriate candidate parameter and a label indicating that it is not an appropriate parameter are assigned and stored in the sample storage unit 60 (step S57). Thereafter, the process returns to step S51, and the processes of steps S51 to S56 are repeated until an appropriate candidate parameter that is determined to be an appropriate parameter is estimated.
  • the index data calculation unit 50 applies parameter search to the sample data in which the appropriate candidate parameter and index data are linked.
  • a label indicating that the parameter is an operating parameter generated by the unit 70 and a label indicating that the parameter is an appropriate parameter are added to the sample storage unit 60 and stored as learning data (step S58).
  • the index data calculation unit 50 determines that the number of learning data stored in the sample storage unit 60 has reached a second predetermined number (a value greater than or equal to the number necessary for the model learning unit 80 to generate a learning model). It is determined whether it has been reached (step S60). If the number of learning data stored in the sample storage unit 60 has not reached the second predetermined number (NO in step S60), the coordinate data acquisition unit 10 determines the coordinate data stored in the sample storage unit 60. New and different coordinate data is acquired from the controller 3 (step S70). Thereafter, the process returns to step S20, and the processes of steps S20 to S60 are repeated until the number of learning data stored in the sample storage section 60 reaches a second predetermined number.
  • a second predetermined number a value greater than or equal to the number necessary for the model learning unit 80 to generate a learning model.
  • the model learning unit 80 stores the second predetermined number of learning data stored in the sample storage unit 60.
  • a learning model with coordinate data as input and operational parameters as output is generated (step S80), and the generated learning model is stored in the model storage unit 90 (step S90).
  • FIG. 8 is a diagram showing an example of output of appropriate parameters by the parameter output unit 100.
  • the parameter output unit 100 receives a parameter output command from the coordinate data acquisition unit 10, the parameter output unit 100 inputs the coordinate data acquired from the coordinate data acquisition unit 10 into the learning model stored in the model storage unit 90, thereby inputting the coordinate data. Output appropriate parameters for.
  • FIG. 9 shows an example of a processing procedure in which the parameter adjustment device 5 outputs appropriate parameters in the utilization phase. This flowchart is started when the coordinate data acquisition unit 10 determines that the coordinate data acquired from the controller 3 is to be used in the "utilization phase.”
  • the coordinate data acquisition unit 10 outputs the coordinate data acquired from the controller 3 to the parameter output unit 100 (step S100).
  • the parameter output unit 100 inputs the coordinate data acquired by the coordinate data acquisition unit 10 into the learning model stored in the model storage unit 90, thereby acquiring appropriate parameters corresponding to the input coordinate data ( Step S110).
  • the parameter adjustment device 5 described above has the following features.
  • the parameter adjustment device 5 includes a coordinate data acquisition unit 10 that acquires coordinate data indicating the operating coordinates of the industrial machine 2, and a coordinate data acquisition unit 10 that generates operating parameters used for controlling the industrial machine 2 by the controller 3.
  • a parameter generation unit 20 that stores operating parameters and outputs operating commands including the operating parameters to the controller 3; and a status data acquisition unit that acquires status data of the industrial machine 2 during operation based on the operating parameters.
  • an index data calculation section 50 that calculates index data serving as an index for determining the appropriateness of the operating parameters based on the state data, and a sample memory that stores sample data linking the operating parameters and the index data.
  • a parameter search unit 70 that uses sample data to search for motion parameters estimated to be appropriate based on the index data; and a parameter search unit 70 that links the motion parameters estimated to be proper by the parameter search unit 70 with coordinate data It includes a model learning unit 80 that uses learning data to generate a learning model for estimating appropriate parameters from coordinate data.
  • motion parameters are generated by inputting coordinate data to the coordinate data acquisition unit 10, index data is calculated from state data based on the motion parameters, and motion parameters are estimated to be appropriate based on the index data. is explored. Then, a learning model for estimating appropriate parameters from the coordinate data is generated using learning data in which the operating parameters estimated to be appropriate are linked to the coordinate data. That is, by simply inputting coordinate data to the parameter adjustment device 5, a learning model for estimating appropriate parameters from the coordinate data can be generated. Therefore, appropriate parameters can be estimated simply by inputting coordinate data to this learning model, without manually adjusting parameters by trial and error as in the past.
  • the parameter adjustment device 5 has a model storage unit 90 that stores the learning model generated by the model learning unit 80, and a model storage unit 90 that stores the coordinate data acquired by the coordinate data acquisition unit 10.
  • the apparatus further includes a parameter output unit 100 that outputs appropriate parameters by inputting them to a learning model stored in the learning model.
  • the parameter search unit 70 instructs the controller 3 to control the industrial machine 2 using the operating parameters estimated to be appropriate by the parameter search unit 70.
  • the state data acquisition unit 40 acquires state data (search state data) indicating the state of the industrial machine 2 when the industrial machine 2 is operated with operating parameters estimated to be appropriate by the parameter search unit 70.
  • the index data calculation unit 50 calculates index data based on the search state data.
  • the sample storage unit 60 stores, as learning data, data in which movement parameters determined to be appropriate based on the search state data are associated with coordinate data.
  • the model learning section 80 generates a learning model using the learning data stored in the sample storage section 60.
  • the operating parameters estimated to be appropriate by the parameter searching unit 70 are not used as learning data as they are, but the industrial machine 2 is actually operated using the operating parameters estimated to be appropriate by the parameter searching unit 70.
  • Index data is calculated based on the state data (search state data) of the case, and operation parameters determined to be appropriate based on the index data are used as learning data. Therefore, a learning model can be generated more appropriately than when operating parameters estimated to be appropriate by the parameter search unit 70 are used as learning data as they are.
  • the index data calculation section 50 calculates two or more types of indexes based on the search state data, and sets the combination of the two or more calculated indexes as the index data, and the parameter search section 70 calculates the index data. Based on each index that makes up the data, a multi-objective optimization method is used to estimate operating parameters that are determined to be appropriate.
  • index data is a value obtained by linearly combining multiple indicators.
  • the parameter generation unit 20 generates a first predetermined number of operating parameters set according to the parameter search method of the parameter search unit 70.
  • the model learning section 80 Generate a learning model using training data.
  • 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 index data from the operational parameters; It includes a search model storage unit 72 that stores a search model, and a parameter estimation unit 73 that searches for operating parameters that are estimated to be appropriate based on index data estimated using the search model.
  • the state data acquisition unit 40 acquires torque data from the drive device that operates the industrial machine 2, and the index data calculation unit 50 calculates the vibration amplitude value of the torque and the damping rate of the torque waveform calculated from the torque data.
  • the linear combination of is used as an index of residual vibration after positioning of the industrial machine 2.
  • the residual vibration index can be calculated.
  • the parameter adjustment device 5 has the configurations (1) to (8) above, the parameter adjustment device according to the present disclosure may have at least the configuration (1) above; The present invention is not limited to having all of the configurations (2) to (8) above.
  • the parameter adjustment device according to the present disclosure may be a combination of the configuration (1) above and at least one of the configurations (2) to (8) above.
  • the parameter adjustment device 5 includes both a configuration that generates a learning model in the learning phase and a configuration that outputs appropriate parameters in the utilization phase.
  • the configuration for generating a learning model in the learning phase and the configuration for outputting appropriate parameters in the utilization phase may be provided in separate devices.
  • FIG. 10 is a diagram schematically showing an example of the configuration of a parameter adjustment device 5A according to Modification 1.
  • the parameter adjustment device 5A according to the present modification 1 is obtained by removing the "parameter output unit 100" which is not used in the learning phase but is used in the utilization phase from the parameter adjustment device 5 according to the above-described embodiment.
  • FIG. 11 is a diagram schematically showing an example of the configuration of a parameter adjustment device 5B according to Modification 1.
  • the parameter adjustment device 5B according to the present modification 1 is different from the parameter adjustment device 5 according to the above-described embodiment except for the coordinate data acquisition unit 10, model storage unit 90, and parameter output unit 100 used in the utilization phase, and other components. This is a part removed.
  • the configuration for generating a learning model in the learning phase and the configuration for outputting appropriate parameters in the utilization phase may be provided in separate devices. By doing so, it is possible to lower the performance required of the hardware (parameter adjustment device 5B shown in FIG. 11) having a configuration for outputting appropriate parameters especially in the utilization phase, and it is possible to reduce costs.
  • FIG. 12 is a diagram schematically showing an example of learning by the model learning section 80A according to the second modification.
  • the model learning unit 80A according to Modification 2 generates a classification model and a plurality of regression models as learning models.
  • the classification model is, for example, a model for performing clustering, which is a classification method of unsupervised machine learning.
  • Each of the plurality of regression models is a general machine learning regression model such as a multiple regression model.
  • the model learning unit 80A uses r coordinate data in the learning data to learn a classification model for classifying the r learning data into a plurality of groups.
  • the criterion by which the classification model groups coordinate data is, for example, the distance between the starting point coordinates and the ending point coordinates.
  • the classification model is generated to classify the coordinate data into two groups, a long distance group and a short distance group, for example.
  • the generated classification model outputs a plurality of groups consisting of at least one or more learning data. Therefore, a regression model that inputs coordinate data and outputs appropriate parameters is generated for each of the plurality of groups.
  • the amount of learning for each regression model can be reduced, and the time required to generate a learning model can be shortened.
  • the amount of calculation for the inverse matrix of the covariance matrix required when learning the hyperparameters of the kernel function and estimating the appropriate parameters for unknown coordinate data is , the larger the number of divisions by the classification model, the more the number of divisions is reduced, so the time required for learning each regression model can be shortened.
  • the coordinate data to be learned as input to the model may be converted to a feature vector as necessary.
  • the industrial machine 2 is a robot with three degrees of freedom consisting of an orthogonal coordinate system of the X, Y, and Z axes, and the coordinate data includes starting point coordinates (Xs, Ys, Zs) and ending point coordinates (Xg, Yg , Zg), the coordinate data may be converted into the difference ( ⁇ X, ⁇ Y, ⁇ Z) between the coordinates of each axis.
  • FIG. 13 is a diagram showing an example of output of appropriate parameters by the parameter output unit 100A according to the second modification.
  • the parameter output unit 100A outputs appropriate parameters using the learning model illustrated in FIG. 12. Specifically, as shown in FIG. 13, the parameter output unit 100A specifies the group to which the coordinate data belongs by inputting the coordinate data into a classification model, and inputs the coordinate data into the regression model corresponding to the identified group. By inputting , the appropriate parameters for that coordinate are output.
  • the learning model generated by the model learning unit 80 is not limited to a single regression model, and may be, for example, a classification model and multiple regression models.
  • FIG. 14 is a diagram showing an example of the configuration of the industrial machine 2.
  • industrial machine 2 is a pickup device that picks up workpiece 220 from a mounting location.
  • the industrial machine 2 can pick up a workpiece 220 placed in an arbitrary posture on the workpiece installation stand 214 or inside the container 213.
  • the industrial machine 2 includes an imaging device 209 that can change the direction in which the workpiece 220 is photographed, and a pickup section 210 that can change the direction in which the workpiece 220 is approached.
  • the imaging device 209 and the pickup section 210 are controlled by the controller 3.
  • the imaging device 209 photographs at least one workpiece 220.
  • the pickup section 210 approaches the workpiece 220 from the approach direction and picks up the workpiece 220.
  • the workpieces 220 to be picked up are often piled up randomly in the workpiece container 213 on the workpiece installation table 214.
  • the industrial machine 2 further includes a positioning mechanism 247 and an angle adjustment device 208.
  • the positioning mechanism 247 is composed of the rotation mechanism 207 and the linear motion unit 204.
  • An imaging device 209 and a pickup section 210 are attached to the angle adjustment device 208 .
  • the positioning mechanism 247 is configured to be able to adjust the relative position of the angle adjustment device 208 with respect to the workpiece 220.
  • the spatial position of the rotation mechanism 207 can be changed by the linear motion unit 204 having three orthogonal axes.
  • the linear motion unit 204 includes a first electric actuator 204X, a second electric actuator 204Y, and a third electric actuator 204Z that respectively correspond to the X-axis, Y-axis, and Z-axis that are orthogonal to each other.
  • the rotation mechanism 207 is attached to the output section 206 of the third electric actuator 204Z.
  • the angle adjustment device 208 is attached to the rotation mechanism 207.
  • the angle adjustment device 208 can be rotated by the rotation mechanism 207.
  • an imaging device 209 and a pickup section 210 are attached to a link hub on the tip side of the angle adjustment device 208.
  • the angle adjustment device 208 is configured to be able to arbitrarily adjust the optical axis direction of the imaging device 209 and the approach direction of the pickup section 210.
  • FIG. 15 is a diagram showing an example of the configuration of the angle adjustment device 208.
  • the angle adjustment device 208 shown in FIG. 15 includes a parallel link mechanism 230 and an actuator 231.
  • FIG. 16 is a perspective view showing an example of the configuration of the parallel link mechanism 230. Note that, in FIG. 15, one set is extracted and shown as a representative of the three sets of link mechanisms 234 shown in FIG. 16.
  • the industrial machine 2 further includes a first link hub 232 and a second link hub 233 to which an imaging device 209 and a pickup section 210 are attached.
  • the positioning mechanism 247 is configured to be able to change the position of the first link hub 232.
  • the angle adjustment device 208 connects the first link hub 232 and the second link hub 233.
  • the angle adjustment device 208 includes a parallel link mechanism 230 that supports the imaging device 209 and the pickup section 210 so that their postures can be changed, and an actuator 231 for posture control that operates the parallel link mechanism 230.
  • the actuator 231 can change the angle ⁇ in FIG.
  • the parallel link mechanism 230 is a structure in which a first link hub 232 on the proximal side and a second link hub 233 on the distal side are connected by three sets of link mechanisms 234 so that the posture can be changed. It is.
  • the imaging device 209 and pickup section 210 shown in FIG. 14 are attached to the second link hub 233 on the distal end side.
  • the parallel link mechanism 230 having three sets of link mechanisms 234 is shown here, the number of link mechanisms 234 may be four or more.
  • Each link mechanism 234 includes an end link member 235 on the proximal side, an end link member 236 on the distal side, and a central link member 237.
  • the link mechanism 234 is a four-bar chain link mechanism consisting of four rotating pairs.
  • the end link members 235 and 236 on the proximal side and the distal side have an L-shape.
  • proximal end link member 235 is rotatably connected to the proximal first link hub 232.
  • One end of the end link member 236 on the distal side is rotatably connected to the second link hub 233 on the distal side.
  • the center link member 237 has both ends rotatably connected to the other ends of the end link members 235 and 236, respectively.
  • the parallel link mechanism 230 has a structure that combines two spherical link mechanisms.
  • the central axes of each rotational pair of end link members 235, 236 and central link member 237 may have an intersection angle ⁇ (FIG. 15) or may be parallel.
  • FIG. 17 is a diagram depicting a set of link mechanisms 234 as straight lines.
  • the three sets of link mechanisms 234 can be represented by models having the same geometric shape.
  • the first link hub 232 on the proximal end side, the second link hub 233 on the distal end side, and the three sets of link mechanisms 234 constitute a two-degree-of-freedom mechanism.
  • the first link hub 232 on the proximal end side and the second link hub 233 on the distal side have two degrees of freedom that are rotatable around two orthogonal axes. These two orthogonal axes are the rotation axis of the turning angle ⁇ (central axis QA) and the rotation axis of the bending angle ⁇ (the axis passing through point O and perpendicular to the central axis QA and central axis QB) shown in FIG. .
  • the turning angle ⁇ is an angle formed by a reference straight line passing through the intersection of the central axes QA and a straight line projecting the central axis QB of the second link hub 233 in a plane perpendicular to the central axis QA of the first link hub 232.
  • the bending angle ⁇ is an angle between the central axis QA of the first link hub 232 and the central axis QB of the second link hub 233.
  • the bending angle ⁇ can be adjusted only by the operation of the link mechanism 234, and does not involve the operation of multiple joints like a multi-joint robot. Therefore, the parallel link mechanism 230 can operate more quickly than an articulated robot. Therefore, if the parallel link mechanism 230 of FIG. 16 is used to collect image data necessary for machine learning, a large amount of image data can be collected in a short time compared to an articulated robot.
  • the attitude control actuator 231 of the angle adjustment device 208 shown in FIG. 15 is a rotary actuator equipped with a deceleration mechanism.
  • the actuator 231 is installed on the surface of the base end member 240 of the first link hub 232 coaxially with the rotating shaft 242 .
  • the actuator 231 and the speed reduction mechanism are provided integrally, and the speed reduction mechanism is fixed to the base end member 240.
  • Three sets of link mechanisms 234 may be provided with three attitude control actuators 231 for changing the angles ⁇ 1 to ⁇ 3 in FIG. 16, but it is not necessary to provide three actuators 231. If at least two of the three sets of link mechanisms 234 are provided with actuators 231 for posture control, the posture of the second link hub 233 on the distal side with respect to the first link hub 232 on the proximal side can be determined.
  • the above-described parameter adjustment device 5 (information processing device) is suitably applied to positioning control of a multi-axis robot such as the industrial machine 2 shown in FIGS. 14 to 17.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Automation & Control Theory (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Numerical Control (AREA)

Abstract

パラメータ調整装置(5)は、産業機械の座標データを取得する座標データ取得部(10)と、動作パラメータを生成するパラメータ生成部(20)と、動作パラメータを記憶するパラメータ記憶部(30)と、産業機械の状態データを取得する状態データ取得部(40)と、状態データに基づいて指標データを計算する指標データ計算部(50)と、動作パラメータと指標データとを紐付けたサンプルデータを記憶するサンプル記憶部(60)と、サンプルデータを用いて適正と推定される動作パラメータを探索するパラメータ探索部(70)と、適正と推定される動作パラメータと座標データとを紐付けた学習用データを用いて座標データから適正パラメータを推定するための学習モデルを生成するモデル学習部(80)とを備える。

Description

情報処理装置
 本開示は、生産設備の位置決めに用いられる産業機械などの駆動装置の動作の制御に用いられる動作パラメータを、自動で調整する情報処理装置に関する。
 特許文献1は、産業機械に対する動作指令に応じて、適切な制御パラメータを適用するパラメータ調整装置を開示する。特許文献1に記載のパラメータ調整装置は、産業機械の動作における速度、加速度、ジャークの少なくとも1つの指令を含む状態データ、および産業機械を制御する制御器から取得した該動作の最適パラメータに基づいて、状態データから最適な制御パラメータを推定するためのモデルを機械学習によって生成し、動作指令に応じて適した動作パラメータをモデルから取得し、適用する。
特開2020-35159号公報
 多軸ロボット等の産業機械の動作を制御する上で、産業機械の動作時の振動、および軌道のズレを修正するためには、ゲインパラメータを始めとした制御パラメータの調整を行なうことが求められる。一方、制御パラメータを適切に調整するには、制御およびセンサに関する知識が必要となる上に、産業機械には個体差があるため、それらに対応できるだけの経験も必要となることから、制御パラメータの調整は未だに手作業での試行錯誤によって行なわれているのが現状である。
 特許文献1は、工作機械、ロボット等の産業機械の速度、加速度、ジャーク等の指令に応じて、より適した制御パラメータを設定するパラメータ調整装置を提案している。しかし、たとえば、予め設定した座標間の位置決め等の動作において、動作時間の短縮を目的に、産業機械に可能な限り早く動作することを望む場合、速度、加速度、ジャークについても、適切な値に調整する手間が必要となる。
 特に、制御対象である位置決め装置の剛性や振動特性が、位置決め装置の現在の位置や姿勢によって大きく変わる場合、位置決め可能な全領域に対して固定された1組の制御パラメータを用いると、条件の悪い姿勢を考慮しなくてはならないため、全体として動作時間の短縮が困難である。
 本開示は、上記の課題を解決するためになされたものであって、その目的は、従来のような手作業での試行錯誤による調整を行なうことなく、駆動装置の動作を行なうのに適した動作パラメータ(制御パラメータ)を推定することである。
 本開示による情報処理装置は、制御器によって制御される駆動装置の情報処理装置であって、駆動装置の動作座標を示す座標データを外部から取得する座標データ取得部と、制御器による駆動装置の制御に用いられる動作パラメータを生成するパラメータ生成部と、動作パラメータを記憶するパラメータ記憶部と、動作パラメータによる動作中の駆動装置の状態を示す状態データを取得する状態データ取得部と、動作パラメータの適否を判定するための指標となる指標データを状態データに基づいて計算する指標データ計算部と、動作パラメータと指標データとを紐付けたサンプルデータを記憶するサンプル記憶部と、指標データに基づいて適正と推定される動作パラメータをサンプルデータを用いて探索するパラメータ探索部と、パラメータ探索部によって適正と推定される動作パラメータと座標データとを紐付けた学習用データを用いて、座標データの動作を行なうのに適した動作パラメータである適正パラメータを座標データから推定するための学習モデルを生成するモデル学習部とを備える。
 本開示によれば、座標データ取得部に座標データを入力することによって、動作パラメータが生成され、その動作パラメータによる状態データから指標データが計算され、指標データに基づいて適正と推定される動作パラメータが探索される。そして、適正と推定される動作パラメータと座標データとを紐付けた学習用データを用いて、座標データから適正パラメータを推定するための学習モデルが生成される。すなわち、情報処理装置に座標データを入力するだけで、座標データから適正パラメータを推定するための学習モデルを生成することができる。そのため、従来のような手作業での試行錯誤によるパラメータ調整を行なうことなく、この学習モデルに座標データを入力するだけで、座標データの動作を行なうのに適した動作パラメータを推定することができる。
パラメータ調整装置(情報処理装置)を備える制御システムの全体構成の一例を模式的に示す図である。 パラメータ生成の一例を示す図である。 サンプルデータの一例を示す図である。 モデル学習部の学習の一例を模式的に示す図(その1)である。 学習モデルを生成する処理手順の一例を示すフローチャートである。 サンプルデータを生成する処理の詳細な流れの一例を示すフローチャートである。 学習用データを生成する処理の詳細な流れの一例を示すフローチャートである。 適正パラメータの出力の一例を示す図(その1)である。 適正パラメータを出力する処理手順の一例を示す。 パラメータ調整装置の構成の一例を模式的に示す図(その1)である。 パラメータ調整装置の構成の一例を模式的に示す図(その2)である。 モデル学習部の学習の一例を模式的に示す図(その2)である。 適正パラメータの出力の一例を示す図(その2)である。 産業機械の構成の一例を示す図である。 角度調整装置の構成の一例を示す図である。 パラレルリンク機構の構成の一例を示す斜視図である。 一組のリンク機構を直線で表現した図である。
 以下、本開示の実施の形態について図面を参照しつつ説明する。なお、以下の図面において同一または相当する部分には同一の参照番号を付し、その説明は繰り返さない。
 図1は、本実施の形態によるパラメータ調整装置5(情報処理装置)を備える制御システム1の全体構成の一例を模式的に示す図である。
 この制御システム1は、産業機械2と、制御器3と、センサ4と、パラメータ調整装置5とを備える。産業機械2は、制御器3の制御対象となる駆動装置(モータあるいは空圧シリンダなどアクチュエータ)を含んで構成される。産業機械2は、たとえば、生産設備等に用いられる、多軸ロボット、工作機械などである。
 制御器3は、予め設定された動作パラメータに従って産業機械2の動作(位置決め動作など)の制御を行なう。動作パラメータとは、産業機械2の動作時の速度、加速度等の速度に関連するパラメータ、および産業機械2の制御に用いられる制御パラメータである。制御パラメータは、たとえば、PID制御におけるゲインパラメータ、状態フィードバックの係数、ロバスト制御のパラメータである。
 制御器3は、産業機械2の状態データを取得することができる。状態データとは、産業機械2の動作中における状態を示すデータであって、たとえば、制御器3に予め組み込まれたプログラムによって生成される信号、制御対象となるモータを流れる電流値、追従誤差等のフィードバック信号などである。パラメータ調整装置5は、産業機械2の状態データを制御器3から取得することができる。
 制御器3には、複数の座標データが設定されている。座標データとは、産業機械2を動作させる上で設定される始点座標と終点座標とを一組にしたデータである。たとえば、制御器3の制御対象が産業機械2のモータである場合、座標データは、モータの出力軸の始点角度と終点角度とを一組にしたデータとすることができる。
 センサ4は、産業機械2の状態データを検出する。センサ4は、たとえば、加速度ピックアップである。パラメータ調整装置5は、産業機械2の状態データを、制御器3からだけでなく、必要に応じてセンサ4からも取得することができる。なお、センサ4は省略されてもよい。
 パラメータ調整装置5は、産業機械2の座標データを入力として産業機械2の適正パラメータを出力する情報処理装置である。適正パラメータは、産業機械2がある座標データの動作を行なうのに適した動作パラメータである。本実施の形態においては、後述する指標データ計算部50によって計算される指標データに基づいて、動作パラメータの適否が判定される。すなわち、指標データは、動作パラメータが適正であるか否かを評価するための指標となるデータである。たとえば、産業機械2が位置決め動作を行なう場合には、指標データは、位置決め動作の継続時間、位置決め動作終了後の振動の最大振幅、振動時間、位置偏差の累計値、あるいは、それらの組み合わせ等とすることができる。たとえば、指標データが位置決め動作の継続時間である場合、動作パラメータのうち、位置決め動作の継続時間が予め設定された閾値内に収まる動作パラメータが適正であると判定される。
 パラメータ調整装置5は、座標データ取得部10と、パラメータ生成部20と、パラメータ記憶部30と、状態データ取得部40と、指標データ計算部50と、サンプル記憶部60と、パラメータ探索部70と、モデル学習部80と、モデル記憶部90と、パラメータ出力部100とを備える。
 座標データ取得部10は、サンプル記憶部60から座標取得指令を受信すると、サンプル記憶部60に記憶されていない座標データを制御器3から取得する。たとえば、座標データ取得部10は、サンプル記憶部60に記憶されている座標データと、制御器3に記憶されている座標データとを照合し、制御器3に記憶されている座標データのなかに、サンプル記憶部60に記憶されていない座標データが存在する場合、サンプル記憶部60に記憶されていない座標データを制御器3から取得する。
 座標データ取得部10は、制御器3から座標データを取得すると、その座標データを学習フェーズで使用するのか、それとも活用フェーズで使用するのかを判定する。学習フェーズとは、座標データから適正パラメータを推定するための学習モデルを生成するフェーズである。活用フェーズとは、学習フェーズで生成された学習モデルに座標データを入力することによって、適正パラメータを出力するフェーズである。たとえば、座標データ取得部10は、サンプル記憶部60から受信する座標取得指令に座標データの使用目的を示す情報が含まれている場合には、座標取得指令に含まれる使用目的に応じて、制御器3から取得した座標データを学習フェーズで使用するのか、それとも活用フェーズで使用するのかを判定する。
 [学習フェーズ]
 制御器3から取得された座標データを「学習フェーズ」で使用する場合、パラメータ調整装置5は、座標データを入力とし適正パラメータを出力とする学習モデルを、2段階で生成する。1段階目では、後述のパラメータ探索部70が、制御器3に設定されている複数の座標データ(動作)の各々について、適正パラメータを探索する。2段階目では、後述するモデル学習部80が、座標データとその座標データにおける適正パラメータとの複数の組合せ(学習用データ)から、座標データを入力とし適正パラメータを出力とする学習モデルを機械学習を用いて生成する。以下、学習モデルの生成について詳細に説明する。
 座標データ取得部10は、制御器3から取得された座標データを「学習フェーズ」で使用すると判定した場合、その座標データとともにパラメータ生成指令をパラメータ生成部20に出力する。
 パラメータ生成部20は、座標データ取得部10から座標データおよびパラメータ生成指令を受信する毎に、受信した座標データに対して第1所定数の動作パラメータを生成し、生成した第1所定数の動作パラメータをその座標データとともにパラメータ記憶部30に記憶する。
 たとえば、パラメータ生成部20は、学習モデルの生成前に予め設定しておいた動作パラメータの探索範囲から、一様分布のような確率分布を用いてサンプリングされた動作パラメータを生成する。なお、動作パラメータの探索範囲は、たとえば、学習モデルの生成前に予め設定しておいた動作パラメータの下限値と上限値との間の範囲とすることができる。
 各座標データに対して生成される動作パラメータの数(すなわち上述の「第1所定数」)は、後述するパラメータ探索部70のパラメータ探索方法に応じて設定される。具体的には、第1所定数は、後述するパラメータ探索部70が各座標データに対する適正候補パラメータを探索するのに必要な数以上の値に設定される。第1所定数は、たとえば、外部から適切な値が設定されてもよい。パラメータ探索部70による適正候補パラメータの探索方法としてベイズ最適化が用いられる場合には、ベイズ最適化が1点のデータからでも適正値を探索できることに鑑み、各座標データに対して生成される動作パラメータの数(第1所定数)を「1」に設定するができる。そのため、適正パラメータの探索方法としてベイズ最適化以外の回帰モデルが用いられる場合と比較して、動作パラメータの生成数を少なく抑えることができる。
 各座標データに対して生成される動作パラメータの数(第1所定数)が2以上である場合、パラメータ生成部20は、生成された2以上の動作パラメータの各々に対して順番ラベルを付与する。順番ラベルは、制御器3が産業機械2を動作させる順番を示すものである。
 図2は、第1所定数がn(nは2以上の整数)である場合、すなわち、ある座標データに対してn個の動作パラメータが生成され、n個の動作パラメータにそれぞれn個の順番ラベルが付与される場合の、パラメータ生成の一例を示す図である。n個の順番ラベルは、たとえば、1からnまでの連続した整数値で表される。パラメータ生成部20は、n個(第1所定数)の順番ラベル付きの動作パラメータを、座標データともにパラメータ記憶部30に記憶する。なお、第1所定数の値は、固定値であってもよいし、座標データに応じて変更される変動値であってもよい。
 図1に戻って、パラメータ記憶部30は、ある座標データに対して図2に示すような順番ラベルが付与された第1所定数の動作パラメータが記憶されると、それらのデータを含む動作指令を制御器3に出力する。
 制御器3は、パラメータ記憶部30からの動作指令を受信すると、動作指令に含まれる座標データの動作を、動作指令に含まれる第1所定数の動作パラメータを用いて、順番ラベルが示す順番で順次実行するように産業機械2を制御する。これにより、動作指令に含まれる1つの座標データの動作が、動作パラメータを変えながら第1所定数と同じ回数だけ実行されることになる。
 また、パラメータ記憶部30は、制御器3に動作指令を出力する際に、その動作指令を指標データ計算部50にも出力する。この際、パラメータ記憶部30は、動作指令の出力元がパラメータ記憶部30であることを示すラベルを動作指令に付与する。
 状態データ取得部40は、制御器3による産業機械2の動作中に、制御器3あるいはセンサ4から産業機械2の状態データを取得し、取得された状態データとともに計算指令を指標データ計算部50に出力する。
 指標データ計算部50は、状態データ取得部40から状態データおよび計算指令を受信すると、取得した状態データを用いて指標データを計算するとともに、状態データ取得部40が状態データを取得した時の動作パラメータをパラメータ記憶部30もしくは後述するパラメータ探索部70から取得する。
 指標データは、上述のように、動作パラメータが適正であるか否かを評価するための指標となるデータであって、たとえば、産業機械2の位置決め動作の継続時間である。たとえば、産業機械2の動作中に制御器3が状態データの1つとして連続的に信号を発信する場合、その信号が連続的に発信され続けた時間を、指標データ(位置決め動作の継続時間)とすることができる。
 また、指標データは2種類以上でもよい。例えば、上記の継続時間は産業機械2の動作時間に関する指標だが、これに加えて位置決め時の残留振動を考慮した指標も併せて計算し、動作時間と残留振動の2つのデータを組み合わせたものを1つの指標データとしてもよい。組み合わせ方については、例えば、2つ以上の指標の値を線形結合してもよいし、それぞれの指標の値を保持する形でもよい。
 また、残留振動を表現する指標としては、例えば産業機械2の先端に設置した加速度ピックアップから取得したデータを加工したものが考えられる。もしくは、産業機械2を制御する駆動装置からトルクデータを取得し、トルクデータの振動振幅とトルク波形の減衰率を線形結合した値を残留振動を表現する指標としてもよい。
 また、指標データ計算部50は、取得した動作パラメータが、パラメータ記憶部30から取得された動作パラメータであるのか、それとも、パラメータ探索部70から取得された動作パラメータ(後述の適正候補パラメータ)であるのかを判定する。たとえば、取得した動作パラメータに出力元を示すラベルが付与されている場合には、指標データ計算部50は、そのラベルを参照することによって、取得した動作パラメータがパラメータ記憶部30から取得された動作パラメータであるのか、それとも、パラメータ探索部70から取得された動作パラメータであるのかを判定する。
 取得した動作パラメータがパラメータ記憶部30から取得された動作パラメータである場合、指標データ計算部50は、取得した動作パラメータと指標データとを紐付けたサンプルデータを生成し、そのサンプルデータにパラメータ記憶部30から取得した動作パラメータであることを示すラベルと各サンプルデータの動作(座標データ)とを付与して、サンプル記憶部60に記憶する。
 なお、指標データ計算部50が取得した動作パラメータがパラメータ探索部70で探索された動作パラメータ(後述の適正候補パラメータ)である場合の処理については、後に詳述する。
 上述した一連のサンプルデータの生成処理は、パラメータ生成部20が座標データ取得部10から受信する複数の座標データの各々に対して行なわれる。したがって、各座標データに対して、複数(第1所定数)のサンプルデータがサンプル記憶部60に記憶される。
 サンプル記憶部60は、記憶されているサンプルデータをパラメータ探索部70に送信する。この際、サンプル記憶部60は、各座標データについて、記憶している全て(第1所定数以上)のサンプルデータをパラメータ探索部70に送信する。
 パラメータ探索部70は、サンプル記憶部60からサンプルデータを受信すると、受信したサンプルデータに基づいて、複数の座標データの各々について、適正パラメータを推定(探索)する機能を有する。具体的には、パラメータ探索部70は、探索用モデル構築部71と、探索用モデル記憶部72と、パラメータ推定部73とを含む。
 探索用モデル構築部71は、サンプル記憶部60からサンプルデータを取得した場合、サンプル記憶部60から取得したサンプルデータを用いて探索用モデルを生成する。探索用モデルは、動作パラメータを入力として指標データを出力するブラックボックス関数を推論する回帰モデルである。なお、探索用モデルは、複数の座標データに対して、それぞれ生成される。
 そして、探索用モデル構築部71は、生成した探索用モデルを、サンプルデータに付与されていた座標データとともに、探索用モデルとして探索用モデル記憶部72に出力する。これにより、探索用モデル記憶部72には、複数の座標データにそれぞれ対応する複数の探索用モデルが記憶される。
 探索用モデル記憶部72は、探索用モデル構築部71が生成した探索用モデルを記憶すると、パラメータ推定部73にパラメータ推定指令を出力する。
 パラメータ推定部73は、探索用モデル記憶部72からパラメータ推定指令を受信すると、探索用モデル記憶部72に記憶されている探索用モデルに基づいて、適正と推定される動作パラメータ(適正パラメータの候補となる動作パラメータ、以下「適正候補パラメータ」ともいう)を推定する。そして、パラメータ推定部73は、適正候補パラメータの推定に用いた座標データの動作を産業機械2に実行させる動作指令を制御器3に出力するとともに、推定した適正候補パラメータを指標データ計算部50に出力する。
 パラメータ探索部70による適正候補パラメータの推定は、たとえば、ベイズ最適化を用いて実施することができる。この場合、まず、探索用モデル構築部71においてガウス過程回帰モデルが生成され、生成されたガウス過程回帰モデルが探索用モデルとして探索用モデル記憶部72に記憶される。その後、パラメータ推定部73において、探索用モデルを用いてベイズ最適化を実施することによって、適正候補パラメータが推定(探索)される。ベイズ最適化による探索方法そのものは、論文等で既に公知であるため、ここでは詳細の説明を省略する。
 また、指標データが2種類以上の指標の値をセットで保持している場合、適正候補パラメータの推定に多目的最適化アルゴリズムを用いてもよい。多目的最適化については論文等で公知のため、ここでは詳細な説明は省略する。例えば適正候補パラメータの推定にベイズ最適化を用いるならば、獲得関数にEHVI(Expected Hypervolume Improvement)を用いることで、2つ以上の指標に基づくパレート解を、適正候補パラメータとして推定することができる。
 なお、適正候補パラメータの推定方法はベイズ最適化に限られない。たとえば、回帰モデルにニューラルネットワークを採用し、最適化方法に勾配法を用いた方法でもよい。もしくは、動作パラメータを入力とし指標データを出力とする関数をスプライン曲線で描画し、ピーク値の一つに対応するパラメータを適正パラメータとして推定する方法でもよい。
 指標データ計算部50は、パラメータ探索部70から動作パラメータ(適正候補パラメータ)を受信すると、状態データ取得部40から取得した状態データを用いて指標データを計算するとともに、計算した指標データを用いて、パラメータ探索部70から取得した動作パラメータが適正パラメータであるか否かを判定する。たとえば、指標データ計算部50は、計算した指標データと予め設定されている比較用の指標データとを比較し、計算した指標データが比較用の指標データに対して有意に改善されているとみなせる場合に、パラメータ探索部70から受信した動作パラメータ(適正候補パラメータ)を適正パラメータであると判定する。
 指標データが1種類の指標のみの場合、たとえば、指標データ計算部50は、計算した指標データyと比較用の指標データysとの差異dを下記の式(1)を用いて定量化する。
   d=1-y/ys ・・・(1)
 そして、式(1)で算出された差異dが予め設定された閾値内に収まる場合には、指標データ計算部50は、受信した動作パラメータ(適正候補パラメータ)を適正パラメータであると判定する。一方、式(1)で算出された差異dが予め設定された閾値内に収まらない場合には、指標データ計算部50は、受信した動作パラメータ(適正候補パラメータ)を適正パラメータでないと判定する。
 指標データが2種類以上の指標の値をセットで保持している場合、例えば、指標データを構成する指標それぞれについて上記の式(1)の計算を行うことで指標毎に差異dを計算し、指標毎に計算した差異dを足し合わせた値が予め設定した閾値内に収まれば適正パラメータと判定する。
 受信した動作パラメータ(適正候補パラメータ)が適正パラメータである場合、指標データ計算部50は、その動作パラメータと指標データとを紐付けたサンプルデータに、そのサンプルデータ中の動作パラメータがパラメータ探索部70から取得されたことを示すラベルと、そのサンプルデータの動作(座標データ)と、そのサンプルデータ中の動作パラメータが適正パラメータであることを示すラベルとを付与して、サンプル記憶部60に記憶する。
 一方、受信した動作パラメータ(適正候補パラメータ)が適正パラメータでない場合、指標データ計算部50は、動作パラメータと指標データとを紐付けたサンプルデータに、そのサンプルデータ中の動作パラメータがパラメータ探索部70から取得されたことを示すラベルと、そのサンプルデータの動作(座標データ)と、そのサンプルデータ中の動作パラメータが適正パラメータでないことを示すラベルとを付与して、サンプル記憶部60に記憶する。
 なお、サンプルデータに付与される各ラベルは、たとえば「0」または「1」の2値の整数によって構成することができる。なお、サンプルデータに付与する複数のラベルを1つのラベルに統合してもよい。たとえば、サンプルデータ中の動作パラメータがパラメータ記憶部30から取得された動作パラメータである場合には「0」、サンプルデータ中の動作パラメータがパラメータ探索部70で探索された動作パラメータであり、かつ適正パラメータでない場合には「1」、サンプルデータ中の動作パラメータがパラメータ探索部70で探索された動作パラメータであり、かつ適正パラメータである場合には「2」とする、3値の整数を付与してもよい。こうすることで、サンプルデータに付与するラベルの数を削減することができる。
 図3は、サンプル記憶部60が記憶しているサンプルデータの一例を示す図である。図3には、複数の動作1,2,…(複数の座標データ1,2,…)の各々について、複数のサンプルデータが生成される例が示されている。
 動作1(座標データ1)のサンプルデータには、パラメータ生成部20で生成されたn個の動作パラメータに基づいてn回の動作1を行なうことでそれぞれ得られたn個のサンプルデータと、パラメータ探索部70で推定されたm個の動作パラメータに基づいてm回の動作1を行なうことでそれぞれ得られたm個のサンプルデータとの、合計(n+m)個のサンプルデータが含まれている。
 さらに、パラメータ生成部20で生成された動作パラメータを含むn個のサンプルデータには、パラメータ生成部20で生成されたことを示すラベルと、座標データ1を示すラベルとが付与されている。一方、パラメータ探索部70で推定された動作パラメータを含むm個のサンプルデータには、パラメータ探索部70で推定されたことを示すラベルと、座標データ1を示すラベルとに加えて、適正パラメータであるか否かを示すラベルが付与されている。
 座標データ2に対応する動作2のサンプルデータも、動作1のサンプルデータと同様である。具体的には、動作2のサンプルデータには、パラメータ生成部20で生成されたp個の動作パラメータを含むp個のサンプルデータと、パラメータ探索部70で推定されたq個の動作パラメータを含むq個のサンプルデータとの、合計(p+q)個のサンプルデータが含まれている。
 また、パラメータ生成部20で生成された動作パラメータを含むp個のサンプルデータには、パラメータ生成部20で生成されたことを示すラベルと、座標データ2を示すラベルとが付与されている。パラメータ探索部70で推定された動作パラメータを含むq個のサンプルデータには、パラメータ探索部70で推定されたことを示すラベルと、座標データ2を示すラベルとに加えて、適正パラメータであるか否かを示すラベルが付与されている。
 図3に示す例では、動作1(座標データ1)に対しては、(n+m)番目のサンプルデータに含まれる動作パラメータが適正パラメータであると判定されている。また、動作2(座標データ2)に対しては、(p+q)番目のサンプルデータに含まれる動作パラメータが適正パラメータであると判定されている。このような座標データとその座標データに対する適正パラメータとの組合せが、学習用データとして、後述するモデル学習部80による学習モデルの生成に用いられる。
 なお、図3に示す例では、(座標データ1、動作パラメータn+m)、(座標データ2、動作パラメータp+q)の2組が学習用データとして示されているが、実際には、サンプル記憶部60には、後述するモデル学習部80のモデル学習方法に応じて設定された第2所定数の学習用データが記憶される。サンプル記憶部60に記憶されている学習用データの数である「第2所定数」は、後述するモデル学習部80による学習モデルの生成に必要な数以上の値に設定される。
 図1に戻って、サンプル記憶部60に第2所定数の学習用データが記憶されると、サンプル記憶部60は、モデル学習指令をモデル学習部80に送信する。
 モデル学習部80は、サンプル記憶部60からモデル学習指令を受信すると、サンプル記憶部60に記憶されている第2所定数の学習用データを用いて、座標データを入力として適正パラメータを出力とする学習モデルを生成する。モデル学習部80は、たとえば、ニューラルネットワークを用いた深層学習によって学習モデルを生成する。モデル学習部80は、生成した学習モデルをモデル記憶部90に記憶する。
 図4は、モデル学習部80の学習の一例を模式的に示す図である。図4に示される学習モデルは、機械学習(たとえば、ニューラルネットワークを用いた深層学習)によって得られた回帰モデルである。図4に示されるように、モデル学習部80は、r個(第2所定数)の学習用データ(座標データと適正パラメータとの組合せ)を用いて機械学習を行なうことによって、座標データを入力として適正パラメータを出力とする学習モデルを生成する。
 図5は、パラメータ調整装置5が学習フェーズにおいて学習モデルを生成する処理手順の一例を示すフローチャートである。このフローチャートは、座標データ取得部10が制御器3から取得した座標データを「学習フェーズ」で使用すると判定した場合に開始される。
 まず、座標データ取得部10が、制御器3から取得した座標データとともにパラメータ生成指令をパラメータ生成部20に出力する(ステップS10)。
 次いで、パラメータ生成部20が、座標データ取得部10から受信した座標データに対して、第1所定数の動作パラメータを生成し、生成した第1所定数の動作パラメータをその座標データとともにパラメータ記憶部30に記憶する(ステップS20)。
 次いで、パラメータ記憶部30が、サンプルデータを生成する処理を行なう(ステップS30)。
 図6は、サンプルデータを生成する処理(図5のステップS30)の詳細な流れの一例を示すフローチャートである。
 パラメータ記憶部30は、記憶されている第1所定数の動作パラメータのうちから、今回の処理対象となる動作パラメータを上述の順番ラベルを参照して特定し、特定された動作パラメータと座標データとを含む動作指令を生成する(ステップS31)。
 次いで、パラメータ記憶部30は、生成された動作指令を制御器3に出力する(ステップS32)。これにより、制御器3は、動作指令に応じて産業機械2を動作させる。
 次いで、状態データ取得部40が、制御器3による産業機械2の動作中に、制御器3あるいはセンサ4から産業機械2の状態データを取得する(ステップS33)。
 次いで、状態データ取得部40が、取得された状態データとともに計算指令を指標データ計算部50に出力する(ステップS34)。これにより、指標データ計算部50において指標データが計算される。
 次いで、指標データ計算部50が、動作パラメータと指標データとを紐付けたサンプルデータに、動作パラメータがパラメータ生成部20で生成された動作パラメータであることを示すラベルを付与して、サンプル記憶部60に記憶する(ステップS35)。
 図5に戻って、指標データ計算部50は、サンプル記憶部60に記憶されたサンプルデータの数が第1所定数に達したか否かを判定する(ステップS40)。サンプルデータの数が第1所定数に達していない場合(ステップS40においてNO)、指標データ計算部50は、処理対象となる動作パラメータを順番ラベルに従って順次変えながら、サンプルデータが第1所定数に達するまでステップS30の処理を繰り返し実行する。
 サンプルデータが第1所定数に達した場合(ステップS40においてYES)、学習用データを生成する処理が行なわれる(ステップS50)。
 図7は、学習用データを生成する処理(図5のステップS50)の詳細な流れの一例を示すフローチャートである。
 まず、パラメータ探索部70が、記憶している全て(第1所定数以上)のサンプルデータを用いて、動作パラメータを入力として指標データを出力する探索用モデルを生成し、生成した探索用モデルを探索用モデル記憶部72に記憶する(ステップS51)。
 次いで、パラメータ探索部70が、探索用モデル記憶部72に記憶されている探索用モデルを用いて、座標データ取得部10から受信した座標データに対する適正候補パラメータを推定する(ステップS52)。
 次いで、パラメータ探索部70が、推定された適正候補パラメータと座標データとを含む動作指令を生成し、生成した動作指令を制御器3に出力する(ステップS53)。これにより、制御器3は、動作指令に応じて産業機械2を動作させる。
 次いで、状態データ取得部40が、制御器3による産業機械2の動作中に、制御器3あるいはセンサ4から産業機械2の状態データを取得する(ステップS54)。
 次いで、状態データ取得部40が、取得された状態データとともに計算指令を指標データ計算部50に出力する(ステップS55)。これにより、指標データ計算部50において指標データが計算される。
 次いで、指標データ計算部50は、計算した指標データを用いて、今回の適正候補パラメータが適正パラメータであるか否かを判定する(ステップS56)。
 今回の適正候補パラメータが適正パラメータでないと判定された場合(ステップS56においてNO)、指標データ計算部50は、今回の適正候補パラメータと指標データとを紐付けたサンプルデータに、パラメータ探索部70から取得した適正候補パラメータであることを示すラベルと、適正パラメータではないことを示すラベルとを付与して、サンプル記憶部60に記憶する(ステップS57)。その後、処理はステップS51に戻され、適正パラメータと判定される適正候補パラメータが推定されるまで、ステップS51~S56の処理が繰り返される。
 そして、適正パラメータであると判定される適正候補パラメータが推定された場合(ステップS56においてYES)、指標データ計算部50は、その適正候補パラメータと指標データとを紐付けたサンプルデータに、パラメータ探索部70で生成された動作パラメータであることを示すラベルと、適正パラメータであることを示すラベルとを付与して、サンプル記憶部60に学習用データとして記憶する(ステップS58)。
 図5に戻って、指標データ計算部50は、サンプル記憶部60に記憶された学習用データの数が第2所定数(モデル学習部80による学習モデルの生成に必要な数以上の値)に達したか否かを判定する(ステップS60)。サンプル記憶部60に記憶された学習用データの数が第2所定数に達していない場合(ステップS60においてNO)、座標データ取得部10が、サンプル記憶部60に記憶されている座標データとは異なる新たな座標データを制御器3から取得する(ステップS70)。その後、処理はステップS20に戻され、サンプル記憶部60に記憶された学習用データの数が第2所定数に達するまで、ステップS20~S60の処理が繰り返される。
 サンプル記憶部60に記憶された学習用データの数が第2所定数に達した場合(ステップS60においてYES)、モデル学習部80が、サンプル記憶部60に記憶された第2所定数の学習用データを用いて、座標データを入力とし動作パラメータを出力とする学習モデルを生成し(ステップS80)、生成した学習モデルをモデル記憶部90に記憶する(ステップS90)。
 [活用フェーズ]
 次に、活用フェーズの処理について説明する。座標データ取得部10は、制御器3から取得された座標データを「活用フェーズ」で使用すると判定した場合、パラメータ出力部100に対してパラメータ出力指令を出力する。
 図8は、パラメータ出力部100による適正パラメータの出力の一例を示す図である。パラメータ出力部100は、座標データ取得部10からパラメータ出力指令を受信すると、座標データ取得部10から取得した座標データをモデル記憶部90に記憶されている学習モデルに入力することによって、その座標データに対する適正パラメータを出力する。
 図9は、パラメータ調整装置5が活用フェーズにおいて適正パラメータを出力する処理手順の一例を示す。このフローチャートは、座標データ取得部10が、制御器3から取得した座標データを「活用フェーズ」で使用すると判定した場合に開始される。
 まず、座標データ取得部10が、制御器3から取得した座標データをパラメータ出力部100に出力する(ステップS100)。
 次いで、パラメータ出力部100が、座標データ取得部10が取得した座標データを、モデル記憶部90に記憶されている学習モデルに入力することで、入力した座標データに対応する適正パラメータを取得する(ステップS110)。
 以上に説明したパラメータ調整装置5は、以下のような特徴を有する。
 (1) 本実施の形態によるパラメータ調整装置5は、産業機械2の動作座標を示す座標データを取得する座標データ取得部10と、制御器3による産業機械2の制御に用いられる動作パラメータを生成するパラメータ生成部20と、動作パラメータを記憶し、動作パラメータを含む動作指令を制御器3に出力するパラメータ記憶部30と、動作パラメータによる動作中の産業機械2の状態データを取得する状態データ取得部40と、動作パラメータの適否を判定するための指標となる指標データを状態データに基づいて計算する指標データ計算部50と、動作パラメータと指標データとを紐付けたサンプルデータを記憶するサンプル記憶部60と、指標データに基づいて適正と推定される動作パラメータをサンプルデータを用いて探索するパラメータ探索部70と、パラメータ探索部70によって適正と推定される動作パラメータと座標データとを紐付けた学習用データを用いて、座標データから適正パラメータを推定するための学習モデルを生成するモデル学習部80とを備える。
 上記構成においては、座標データ取得部10に座標データを入力することによって、動作パラメータが生成され、その動作パラメータによる状態データから指標データが計算され、指標データに基づいて適正と推定される動作パラメータが探索される。そして、適正と推定される動作パラメータと座標データとを紐付けた学習用データを用いて、座標データから適正パラメータを推定するための学習モデルが生成される。すなわち、パラメータ調整装置5に座標データを入力するだけで、座標データから適正パラメータを推定するための学習モデルを生成することができる。そのため、従来のような手作業での試行錯誤によるパラメータ調整を行なうことなく、この学習モデルに座標データを入力するだけで適正パラメータを推定することができる。
 (2) さらに、本実施の形態によるパラメータ調整装置5は、モデル学習部80が生成した学習モデルを記憶するモデル記憶部90と、座標データ取得部10が取得した座標データを、モデル記憶部90が記憶している学習モデルに入力することで、適正パラメータを出力するパラメータ出力部100とをさらに備える。
 そのため、パラメータ調整装置5に座標データに入力するだけで、適正パラメータを出力することができる。
 (3) さらに、パラメータ探索部70は、パラメータ探索部70によって適正と推定される動作パラメータで産業機械2を制御するように制御器3に指令する。状態データ取得部40は、パラメータ探索部70によって適正と推定される動作パラメータで産業機械2を動作させた場合の産業機械2の状態を示す状態データ(探索状態データ)を取得する。指標データ計算部50は、探索状態データに基づいて指標データを計算する。サンプル記憶部60は、探索状態データに基づいて適正と判定される動作パラメータと座標データとを紐付けたデータを学習用データとして記憶する。モデル学習部80は、サンプル記憶部60に記憶された学習用データを用いて学習モデルを生成する。
 上記構成においては、パラメータ探索部70によって適正と推定される動作パラメータをそのまま学習用データとして用いるのではなく、パラメータ探索部70によって適正と推定される動作パラメータで産業機械2の実際に動作させた場合の状態データ(探索状態データ)に基づいて指標データを計算し、その指標データに基づいて適正と判定される動作パラメータを学習データとして用いる。そのため、パラメータ探索部70によって適正と推定される動作パラメータをそのまま学習用データとして用いる場合に比べて、学習モデルをより適切に生成することができる。
 (4)さらに、指標データ計算部50は探索状態データに基づいて2種類以上の指標を計算して、計算された2種類以上の指標の組合せを前記指標データとし、パラメータ探索部70は、指標データを構成するそれぞれの指標に基づいて、多目的最適化手法を用いて適正と判定される動作パラメータを推定する。
 こうすることで、複数の指標を線形結合して一つにした値を指標データとした場合よりも、さらに適正なパラメータを推定できる。
 (5) さらに、パラメータ生成部20は、パラメータ探索部70のパラメータ探索方法に応じて設定された第1所定数の動作パラメータを生成する。
 これにより、パラメータ探索部70による探索を目的とした産業機械2の動作回数が無駄に多くなることを抑制することができる。そのため、パラメータ調整装置5が探索用モデルを生成するのに要する時間を短くすることができる。
 (6) さらに、モデル学習部80は、モデル学習部80のモデル学習方法に応じて設定された第2所定数の学習用データがサンプル記憶部60に記憶された場合に、第2所定数の学習用データを用いて学習モデルを生成する。
 これにより、モデル学習部80による学習モデルの生成を目的とした産業機械2の動作回数が無駄に多くなることを抑制することができる。そのため、パラメータ調整装置5が学習モデルを生成するのに要する時間を短くすることができる。
 (7) さらに、パラメータ探索部70は、サンプル記憶部60が記憶しているサンプルデータを用いて、動作パラメータから指標データを推定するための探索用モデルを生成する探索用モデル構築部71と、探索用モデルを記憶する探索用モデル記憶部72と、探索用モデルを用いて推定される指標データに基づいて適正と推定される動作パラメータを探索するパラメータ推定部73とを備える。
 これにより、動作パラメータと指標データとの関係が探索用モデルから把握できるようになる。そのため、適正パラメータをより効率的に探索することができる。
 (8)さらに、状態データ取得部40は、産業機械2を動作する駆動装置からトルクデータを取得し、指標データ計算部50は、トルクデータから計算したトルクの振動振幅値とトルク波形の減衰率の線形結合を産業機械2の位置決め後の残留振動の指標とする。
 こうすることで、産業機械に取り付けるエンドエフェクタの制約によって加速度ピックアップを取り付けられない場合でも、残留振動の指標を計算することができる。
 また、トルクデータを用いることで、位置決め装置を構成する減速機の減速比が大きくても残留振動のデータを取得することができる。
 また、トルクの振動振幅値だけでなく、トルク波形の減衰率を考慮することで、より適切に残留振動の度合いを示す指標を計算することができる。
 なお、本実施の形態によるパラメータ調整装置5は上記(1)~(8)の構成を備えるが、本開示によるパラメータ調整装置は、少なくとも上記(1)の構成を備えるものであればよく、必ずしも上記(2)~(8)の構成を全て備えるものに限定されない。たとえば、本開示によるパラメータ調整装置は、上記(1)の構成と、上記(2)~(8)の少なくとも1つの構成との組合せであればよい。
 [変形例1]
 上述の実施の形態によるパラメータ調整装置5は、学習フェーズで学習モデルを生成する構成と、活用フェーズで適正パラメータを出力する構成との双方を備える。
 これに対し、学習フェーズで学習モデルを生成する構成と、活用フェーズで適正パラメータを出力する構成とを、別々の装置に分割して備えるようにしてもよい。
 図10は、本変形例1によるパラメータ調整装置5Aの構成の一例を模式的に示す図である。本変形例1によるパラメータ調整装置5Aは、上述の実施の形態によるパラメータ調整装置5から、学習フェーズでは用いられずに活用フェーズで用いられる「パラメータ出力部100」を取り除いたものである。
 図11は、本変形例1によるパラメータ調整装置5Bの構成の一例を模式的に示す図である。本変形例1によるパラメータ調整装置5Bは、上述の実施の形態によるパラメータ調整装置5に対して、活用フェーズで用いられる座標データ取得部10、モデル記憶部90およびパラメータ出力部100を残し、その他の部分を取り除いたものである。
 このように、学習フェーズで学習モデルを生成する構成と、活用フェーズで適正パラメータを出力する構成とを、別々の装置に分割して備えるようにしてもよい。こうすることで、特に活用フェーズで適正パラメータを出力するための構成を有するハードウェア(図11に示すパラメータ調整装置5B)に要求される性能を下げることができ、コストを低減することができる。
 [変形例2]
 上述の実施の形態においてはモデル学習部80が生成する学習モデルが単一の回帰モデルである例について説明した(図4参照)が、モデル学習部80が生成する学習モデルは単一の回帰モデルであることには限定されない。
 図12は、本変形例2によるモデル学習部80Aの学習の一例を模式的に示す図である。図12に示されるように、本変形例2によるモデル学習部80Aは、学習モデルとして、分類モデルと、複数の回帰モデルとを生成する。分類モデルは、たとえば、教師なし機械学習の分類方法であるクラスタリングを行なうためのモデルである。複数の回帰モデルは、それぞれ、たとえば重回帰モデルのような一般的な機械学習の回帰モデルである。
 図12に示されるように、モデル学習部80Aは、学習用データ中のr個の座標データを用いて、r個の学習用データを複数のグループに分類するための分類モデルを学習する。分類モデルが座標データをグループ分けする基準は、たとえば、始点座標と終点座標の距離である。この場合、分類モデルは、たとえば、距離が長いグループと短いグループとの2つのグループに座標データを分類するように生成される。
 生成された分類モデルは、少なくとの1つ以上の学習用データから構成される複数のグループを出力する。そのため、複数のグループの各々に対して、座標データを入力として適正パラメータを出力する回帰モデルが生成される。
 このような学習方法では、学習用データを複数のグループに分類するため、個々の回帰モデルの学習量を削減することができ、学習モデルの生成に要する時間を短縮することができる。たとえば、回帰モデルにガウス過程回帰モデルを採用している場合、カーネル関数のハイパーパラメータの学習、及び、未知の座標データに対する適正パラメータの推定時に必要な共分散行列の逆行列の計算量のオーダーは、分類モデルによる分割数が多いほど削減されるため、各回帰モデルの学習に要する時間を短くすることができる。
 なお、モデルの入力として学習させる座標データは、必要に応じて特徴ベクトルに変換してもよい。たとえば、産業機械2がX軸、Y軸、Z軸の直交座標系からなる3軸の自由度を有するロボットであり、座標データとして始点座標(Xs,Ys,Zs)、終点座標(Xg,Yg,Zg)を設定できる場合、座標データを各軸の座標間の差異(ΔX,ΔY,ΔZ)に変換してもよい。
 図13は、本変形例2によるパラメータ出力部100Aによる適正パラメータの出力の一例を示す図である。パラメータ出力部100Aは、図12にて例示した学習モデルを用いて適正パラメータを出力する。具体的には、図13に示すように、パラメータ出力部100Aは、座標データを分類モデルに入力することで、座標データが属するグループを特定し、特定されたグループに対応する回帰モデルに座標データを入力することで、その座標に対する適正パラメータを出力する。
 以上のように、モデル学習部80が生成する学習モデルは、単一の回帰モデルであることには限定されず、たとえば分類モデルと複数の回帰モデルとであってもよい。
 (産業機械2の構成例)
 以下に、上述のパラメータ調整装置5(情報処理装置)が好適に適用される産業機械2の構成例について説明する。
 図14は、産業機械2の構成の一例を示す図である。図14を参照して、産業機械2は、ワーク220を載置場所から取り上げるピックアップ装置である。産業機械2は、ワーク設置台214上または容器213の内部等に任意の姿勢で置かれたワーク220をピックアップすることが可能である。産業機械2は、ワーク220を撮影する撮影方向を変えることが可能な撮像装置209と、ワーク220へのアプローチ方向を変えることが可能なピックアップ部210とを備える。撮像装置209とピックアップ部210とは、制御器3によって制御される。
 撮像装置209は、少なくとも1つ以上のワーク220を撮影する。ピックアップ部210は、ワーク220にアプローチ方向から近づき、ワーク220をピックアップする。ピックアップ対象のワーク220は、ワーク設置台214上のワーク容器213内に乱雑に積みあげられる場合が多い。
 産業機械2は、位置決め機構247と角度調整装置208とをさらに備える。位置決め機構247は、回転機構207と直動ユニット204によって構成される。角度調整装置208には、撮像装置209とピックアップ部210が取り付けられる。位置決め機構247は、ワーク220に対する角度調整装置208の相対位置を調整することが可能に構成される。回転機構207の空間上の位置は、直交3軸の直動ユニット204によって変更可能である。
 直動ユニット204は、互いに直交するX軸、Y軸、Z軸にそれぞれ対応する第1電動アクチュエータ204X,第2電動アクチュエータ204Y,第3電動アクチュエータ204Zを含む。回転機構207は、第3電動アクチュエータ204Zの出力部206に取り付けられている。
 角度調整装置208は、回転機構207に取り付けられている。角度調整装置208は、回転機構207によって回転が可能である。また、角度調整装置208の先端側のリンクハブには、撮像装置209とピックアップ部210とが取り付けられている。角度調整装置208は、撮像装置209の光軸方向およびピックアップ部210のアプローチ方向を任意に調整可能に構成される。
 図15は、角度調整装置208の構成の一例を示す図である。図15に示した角度調整装置208は、パラレルリンク機構230とアクチュエータ231とを含む。図16は、パラレルリンク機構230の構成の一例を示す斜視図である。なお、図15には、図16に示された3組のリンク機構234のうち代表として1組が抽出して示されている。
 図15、図16に示すように、産業機械2は、さらに、第1リンクハブ232と、撮像装置209とピックアップ部210とが取り付けられた第2リンクハブ233とを備える。位置決め機構247は、第1リンクハブ232の位置を変更可能に構成される。角度調整装置208は、第1リンクハブ232と第2リンクハブ233とを連結する。
 角度調整装置208は、撮像装置209およびピックアップ部210を姿勢変更可能に支持するパラレルリンク機構230と、このパラレルリンク機構230を作動させる姿勢制御用のアクチュエータ231とで構成される。アクチュエータ231は、図15の角度αを変更することができる。
 図15、図16を参照して、パラレルリンク機構230は、基端側の第1リンクハブ232に対し先端側の第2リンクハブ233を3組のリンク機構234によって姿勢変更可能に連結したものである。先端側の第2リンクハブ233には、図14に示された撮像装置209およびピックアップ部210が取り付けられている。なお、ここでは3組のリンク機構234を有するパラレルリンク機構230について示したが、リンク機構234の数は、4組以上であっても良い。
 各リンク機構234は、基端側の端部リンク部材235、先端側の端部リンク部材236、および中央リンク部材237で構成される。リンク機構234は、4つの回転対偶からなる4節連鎖のリンク機構である。基端側および先端側の端部リンク部材235,236はL字状の形状を有する。
 基端側の端部リンク部材235の一端は、基端側の第1リンクハブ232に回転自在に連結されている。先端側の端部リンク部材236の一端は、先端側の第2リンクハブ233に回転自在に連結されている。中央リンク部材237は、両端に端部リンク部材235,236の各他端がそれぞれ回転自在に連結されている。
 パラレルリンク機構230は、2つの球面リンク機構を組み合わせた構造を有する。端部リンク部材235,236と中央リンク部材237との各回転対偶の中心軸は、ある交差角γ(図15)を持っていてもよいし、平行であってもよい。
 図17は、一組のリンク機構234を直線で表現した図である。3組のリンク機構234は、幾何学的に同一形状のモデルで示すことができる。
 基端側の第1リンクハブ232と先端側の第2リンクハブ233と3組のリンク機構234とは、2自由度機構を構成する。この2自由度機構では、基端側の第1リンクハブ232に対し先端側の第2リンクハブ233が直交する2軸の周りに回転自在な2自由度を有する。これらの直交する2軸は、図17に示す旋回角φの回転軸(中心軸QA)と折れ角θの回転軸(点Oを通り、中心軸QAおよび中心軸QBに直交する軸)である。旋回角φは、第1リンクハブ232の中心軸QAに垂直な平面において、中心軸QAの交点を通る基準直線と第2リンクハブ233の中心軸QBを投映した直線とが成す角度である。折れ角θは、第1リンクハブ232の中心軸QAと第2リンクハブ233の中心軸QBとが成す角度である。この2自由度機構は、コンパクトでありながら、基端側の第1リンクハブ232に対する先端側の第2リンクハブ233の可動範囲を広くとれる。
 折れ角θの調整はリンク機構234の動作のみで可能であり、多関節ロボットのようには複数の関節の動作を伴わない。このため、パラレルリンク機構230は、多関節ロボットと比べて素早い動作が可能である。したがって、図16のパラレルリンク機構230を機械学習に必要な画像データの収集に用いれば、多関節ロボットと比較して、大量の画像データを短時間で収集することができる。
 図15に示す角度調整装置208の姿勢制御用のアクチュエータ231は、減速機構を備えたロータリアクチュエータである。アクチュエータ231は、第1リンクハブ232の基端部材240の面に、回転軸242と同軸上に設置されている。アクチュエータ231と減速機構は一体に設けられ、減速機構が基端部材240に固定されている。3組のリンク機構234に図16の角α1~α3を変更するための3つの姿勢制御用のアクチュエータ231を設けても良いが必ずしもアクチュエータ231を3つ設けなくても良い。3組のリンク機構234のうち少なくとも2組に姿勢制御用のアクチュエータ231を設ければ、基端側の第1リンクハブ232に対する先端側の第2リンクハブ233の姿勢を確定することができる。
 上述のパラメータ調整装置5(情報処理装置)は、図14~図17に示す産業機械2のような多軸ロボットの位置決め制御に好適に適用される。
 今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は、上記した実施の形態の説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
 1 制御システム、2 産業機械、3 制御器、4 センサ、5,5A,5B パラメータ調整装置、10 座標データ取得部、20 パラメータ生成部、30 パラメータ記憶部、40 状態データ取得部、50 指標データ計算部、60 サンプル記憶部、70 パラメータ探索部、71 探索用モデル構築部、72 探索用モデル記憶部、73 パラメータ推定部、80,80A モデル学習部、90 モデル記憶部、100,100A パラメータ出力部、204 直動ユニット、204X 第1電動アクチュエータ、204Y 第2電動アクチュエータ、204Z 第3電動アクチュエータ、206 出力部、207 回転機構、208 角度調整装置、209 撮像装置、210 ピックアップ部、213 容器、214 ワーク設置台、220 ワーク、230 パラレルリンク機構、231 アクチュエータ、232 第1リンクハブ、233 第2リンクハブ、234 リンク機構、235,236 端部リンク部材、237 中央リンク部材、240 基端部材、242 回転軸、247 位置決め機。
 

Claims (9)

  1.  制御器によって制御される駆動装置の情報処理装置であって、
     前記駆動装置の動作座標を示す座標データを外部から取得する座標データ取得部と、
     前記制御器による前記駆動装置の制御に用いられる動作パラメータを生成するパラメータ生成部と、
     前記動作パラメータを記憶し、前記動作パラメータを含む動作指令を前記制御器に出力するパラメータ記憶部と、
     前記動作パラメータによる動作中の前記駆動装置の状態を示す状態データを取得する状態データ取得部と、
     前記動作パラメータの適否を判定するための指標となる指標データを前記状態データに基づいて計算する指標データ計算部と、
     前記動作パラメータと前記指標データとを紐付けたサンプルデータを記憶するサンプル記憶部と、
     前記指標データに基づいて適正と推定される動作パラメータを前記サンプルデータを用いて探索するパラメータ探索部と、
     前記パラメータ探索部によって適正と推定される動作パラメータと前記座標データとを紐付けた学習用データを用いて、前記座標データの動作を行なうのに適した動作パラメータである適正パラメータを前記座標データから推定するための学習モデルを生成するモデル学習部とを備える、情報処理装置。
  2.  前記モデル学習部が生成した前記学習モデルを記憶するモデル記憶部と、
     前記座標データ取得部が取得した前記座標データを、前記モデル記憶部が記憶している前記学習モデルに入力することで、前記適正パラメータを出力するパラメータ出力部とをさらに備える、請求項1に記載の情報処理装置。
  3.  前記パラメータ探索部は、前記パラメータ探索部によって適正と推定される動作パラメータで前記駆動装置を制御するように前記制御器に指令し、
     前記状態データ取得部は、前記パラメータ探索部によって適正と推定される動作パラメータで前記駆動装置を動作させた場合の前記駆動装置の状態を示す探索状態データを取得し、
     前記指標データ計算部は、前記探索状態データに基づいて前記指標データを計算し、
     前記サンプル記憶部は、前記探索状態データに基づいて適正と判定される動作パラメータと前記座標データとを紐付けたデータを前記学習用データとして記憶し、
     前記モデル学習部は、前記サンプル記憶部に記憶された前記学習用データを用いて前記学習モデルを生成する、請求項1または2に記載の情報処理装置。
  4.  前記状態データ取得部は、前記パラメータ探索部によって適正と推定される動作パラメータで前記駆動装置を動作させた場合の前記駆動装置の状態を示す探索状態データを取得し、
     前記指標データ計算部は、前記探索状態データに基づいて2種類以上の指標を計算して、計算された前記2種類以上の指標の組合せを前記指標データとし、
     前記パラメータ探索部は、前記指標データを構成するそれぞれの指標に基づいて、多目的最適化手法を用いて適正と判定される動作パラメータを推定する、請求項1または2に記載の情報処理装置。
  5.  前記パラメータ生成部は、前記パラメータ探索部のパラメータ探索方法に応じて設定された第1所定数の動作パラメータを生成する、請求項1または2に記載の情報処理装置。
  6.  前記モデル学習部は、前記モデル学習部のモデル学習方法に応じて設定された第2所定数の学習用データが前記サンプル記憶部に記憶された場合に、前記第2所定数の前記学習用データを用いて前記学習モデルを生成する、請求項1または2に記載の情報処理装置。
  7.  前記パラメータ探索部は、
      前記サンプル記憶部が記憶している前記サンプルデータを用いて、前記動作パラメータから前記指標データを推定するための探索用モデルを生成する探索用モデル構築部と、
      前記探索用モデルを記憶する探索用モデル記憶部と、
      前記探索用モデルを用いて推定される前記指標データに基づいて適正と推定される動作パラメータを探索するパラメータ推定部とを備える、請求項1または2に記載の情報処理装置。
  8.  前記状態データ取得部は、駆動装置からトルクデータを取得し、
     前記指標データ計算部は、前記トルクデータから計算したトルクの振動振幅値とトルク波形の減衰率の線形結合を駆動装置の位置決め後の残留振動を示す指標とする、請求項1または2に記載の情報処理装置。
  9.  前記モデル学習部は、前記サンプル記憶部が記憶している学習用データを複数のグループに分割する分類モデルと、前記複数のグループに対応してそれぞれ設けられる複数の回帰モデルとを生成する、請求項1または2に記載の情報処理装置。
PCT/JP2023/026367 2022-08-08 2023-07-19 情報処理装置 WO2024034338A1 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2022-126508 2022-08-08
JP2022126508 2022-08-08
JP2023-003909 2023-01-13
JP2023003909A JP2024023119A (ja) 2022-08-08 2023-01-13 情報処理装置

Publications (1)

Publication Number Publication Date
WO2024034338A1 true WO2024034338A1 (ja) 2024-02-15

Family

ID=89851479

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/026367 WO2024034338A1 (ja) 2022-08-08 2023-07-19 情報処理装置

Country Status (1)

Country Link
WO (1) WO2024034338A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016156193A (ja) * 2015-02-25 2016-09-01 株式会社日立製作所 操作支援システムおよび操作支援システムを備えた作業機械
JP2021107970A (ja) * 2019-12-27 2021-07-29 川崎重工業株式会社 訓練データ選別装置、ロボットシステム及び訓練データ選別方法
WO2022013933A1 (ja) * 2020-07-14 2022-01-20 日本電気株式会社 制御装置、制御方法及び記憶媒体

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016156193A (ja) * 2015-02-25 2016-09-01 株式会社日立製作所 操作支援システムおよび操作支援システムを備えた作業機械
JP2021107970A (ja) * 2019-12-27 2021-07-29 川崎重工業株式会社 訓練データ選別装置、ロボットシステム及び訓練データ選別方法
WO2022013933A1 (ja) * 2020-07-14 2022-01-20 日本電気株式会社 制御装置、制御方法及び記憶媒体

Similar Documents

Publication Publication Date Title
US20180222057A1 (en) Control device, robot, and robot system
US20180222048A1 (en) Control device, robot, and robot system
EP3357649A2 (en) Control device, robot, and robot system
CN109782601B (zh) 一种协调机械臂自适应神经网络同步鲁棒控制器设计方法
US8825209B2 (en) Method and apparatus to plan motion path of robot
Kabir et al. Generation of synchronized configuration space trajectories of multi-robot systems
WO2006117022A1 (en) A method for control of an industrial robot
Kamali et al. Real-time motion planning for robotic teleoperation using dynamic-goal deep reinforcement learning
Jamone et al. Incremental learning of context-dependent dynamic internal models for robot control
WO2022208983A1 (en) Simulation-in-the-loop tuning of robot parameters for system modeling and control
De Farias et al. Dual quaternion-based visual servoing for grasping moving objects
Nemec et al. An efficient pbd framework for fast deployment of bi-manual assembly tasks
Puheim et al. Normalization of inputs and outputs of neural network based robotic arm controller in role of inverse kinematic model
Heyn et al. Application of artificial neural networks in force-controlled automated assembly of complex shaped deformable components
Nemec et al. Learning by demonstration and adaptation of finishing operations using virtual mechanism approach
Li et al. Vibration suppression of an industrial robot with AGV in drilling applications by configuration optimization
JP2019111604A (ja) 制御装置、ロボット、およびロボットシステム
WO2024034338A1 (ja) 情報処理装置
Gäbert et al. Generation of human-like arm motions using sampling-based motion planning
Marić et al. Robot arm teleoperation via RGBD sensor palm tracking
JP2019113985A (ja) 最適化方法、制御装置、およびロボット
JP2024023119A (ja) 情報処理装置
Behera et al. A hybrid neural control scheme for visual-motor coordination
Neto et al. CAD-based robot programming: The role of Fuzzy-PI force control in unstructured environments
Larsen et al. Full automatic path planning of cooperating robots in industrial applications

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23852318

Country of ref document: EP

Kind code of ref document: A1