WO2021186574A1 - 制御システム、モータ制御装置および機械学習装置 - Google Patents

制御システム、モータ制御装置および機械学習装置 Download PDF

Info

Publication number
WO2021186574A1
WO2021186574A1 PCT/JP2020/011787 JP2020011787W WO2021186574A1 WO 2021186574 A1 WO2021186574 A1 WO 2021186574A1 JP 2020011787 W JP2020011787 W JP 2020011787W WO 2021186574 A1 WO2021186574 A1 WO 2021186574A1
Authority
WO
WIPO (PCT)
Prior art keywords
holding
information
unit
frequency
vibration frequency
Prior art date
Application number
PCT/JP2020/011787
Other languages
English (en)
French (fr)
Inventor
伸悟 川内
孝輔 辻川
Original Assignee
三菱電機株式会社
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
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to JP2020544058A priority Critical patent/JP6818954B1/ja
Priority to PCT/JP2020/011787 priority patent/WO2021186574A1/ja
Priority to DE112020006573.1T priority patent/DE112020006573B4/de
Priority to CN202080098402.3A priority patent/CN115243813B/zh
Priority to TW110108264A priority patent/TWI765597B/zh
Publication of WO2021186574A1 publication Critical patent/WO2021186574A1/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
    • 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/404Numerical 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 control arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23BTURNING; BORING
    • B23B25/00Accessories or auxiliary equipment for turning-machines
    • B23B25/06Measuring, gauging, or adjusting equipment on turning-machines for setting-on, feeding, controlling, or monitoring the cutting tools or work
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/49Nc machine tool, till multiple
    • G05B2219/49054Active damping of tool vibration

Definitions

  • This disclosure relates to a control system, a motor control device, and a machine learning device that control industrial machinery such as machine tools.
  • Control devices that control the operation of industrial machinery such as machine tools generally employ a feedback control method.
  • the control device can stably follow the target value sent from the host controller and also respond to the influence of disturbance.
  • Patent Document 1 a vibration reduction device that suppresses vibration by providing a learned neural network using the teaching point position and the natural frequency as teacher data is provided in the control loop. It is disclosed.
  • the natural frequency of the mechanical resonance generated in the controlled object is calculated by inputting the position information of the mechanical part to be controlled into the neural network, and the natural frequency obtained by the calculation is calculated. Vibration is suppressed by setting the corresponding notch filter in the control loop.
  • Some machine tools perform operations to hold objects to be held such as workpieces and tools.
  • the natural frequency is different because the size, material, and the like are different if the holding object is different.
  • the natural frequency may change as the holding state changes.
  • the method described in Patent Document 1 does not reflect the information indicating the holding object and the holding state, so that the natural frequency may not be appropriately obtained. Therefore, the frequency range to be attenuated in the notch filter cannot be set to an appropriate value, and mechanical resonance may not be suppressed.
  • the present disclosure is made in view of the above, and obtains a control system capable of suppressing mechanical resonance of a controlled object even when at least one of a held object and a holding state changes. With the goal.
  • the control system includes a notch filter that filters a command for controlling a machine tool capable of holding a holding object by feedback control, and holding. It includes a retained object information which is information about the object and a data acquisition unit for acquiring the retained state of the retained object.
  • the control system is further held by inputting the holding object information and the holding state acquired by the data acquisition unit into the trained model for estimating the vibration frequency of the holding object from the holding object information and the holding state. It includes an inference unit that estimates the vibration frequency of the object.
  • the notch filter sets the cutoff frequency to the vibration frequency estimated by the inference unit.
  • the mechanical resonance of the controlled object can be suppressed.
  • the figure which shows the configuration example of the control system which concerns on embodiment The figure which shows the structural example of the filter generation part of the embodiment concerning ⁇ learning phase>.
  • the figure which shows the configuration example of the learning apparatus of embodiment Diagram showing an example of a neural network A flowchart showing an example of a learning processing procedure in a learning device.
  • the figure which shows the structural example of the inference device of embodiment Flow chart showing an example of the processing procedure in the filter generation unit in the ⁇ utilization phase>
  • FIG. 1 is a diagram showing a configuration example of a control system according to an embodiment.
  • the control system 20 of the present embodiment includes a motor control device 1 and a host controller 2 that controls the motor control device 1.
  • the control system 20 controls the machine tool 30.
  • the machine tool 30 to be controlled by the control system 20 is a machine tool that performs cutting, but the control target of the control system 20 is not limited to the machine tool that performs cutting. Any industrial machine that can perform the operation of holding the work 6 to be machined may be used.
  • the machine tool 30 includes a motor 3, a speed reducer 8, a chuck device 5, and a cutting tool 7.
  • the machine tool 30 can hold the work 6.
  • the work 6 is an example of a holding object that can be held by the machine tool 30.
  • the machine tool 30 fixes the work 6 by the chuck device 5.
  • the chuck device 5 receives a chuck signal indicating that the work 6 is held from the host controller 2, the chuck device 5 fixes the work 6.
  • the motor 3 is controlled by the motor control device 1.
  • the rotational movement of the motor 3 is transmitted to the chuck device 5 via the speed reducer 8.
  • the work 6 rotates together with the chuck device 5.
  • the work 6 is machined by the cutting tool 7 while rotating.
  • the position of the motor 3, that is, the rotational position of the motor 3 is detected by the detector 4.
  • the position of the motor 3 detected by the detector 4 is input to the motor control device 1.
  • the host controller 2 generates commands, control signals, control information, etc. for controlling the machining of the machine tool 30. Specifically, the host controller 2 generates a position command, which is a command regarding the position of the motor 3, and outputs the position command to the motor control device 1. The host controller 2 generates commands, control signals, control information, and the like for controlling the machining of the machine tool 30 according to, for example, a machining program. The motor control device 1 generates a current for controlling the motor 3 based on the position command received from the host controller 2 and the position input from the detector 4, and outputs the current to the motor 3.
  • the host controller 2 generates a control signal indicating whether the chuck device 5 fixes or releases the work 6, and outputs the control signal to the chuck device 5.
  • the control signal indicating whether to fix or release the work 6 is a chuck signal output while the work 6 is fixed.
  • the chuck device 5 performs an operation of fixing the work 6 while receiving the chuck signal from the host controller 2, and performs an operation of releasing the work 6 when the chuck signal is not received.
  • the control signal indicating whether to fix or release the work 6 is not limited to this example, and may be a signal output at the start and end of the work 6, or the work 6 may be output depending on the voltage value of the signal or the like. It may indicate fixation and release.
  • any fixing method may be used as long as the upper controller 2 can grasp whether or not the work 6 is fixed to the machine tool 30. ..
  • the upper controller 2 grasps the holding state of the work 6.
  • the holding state is, for example, information indicating whether or not the work 6 is fixed to the machine tool 30.
  • the holding state is, for example, whether or not the work 6 is fixed to the chuck device 5.
  • This holding state is specified by, for example, a machining program.
  • the host controller 2 can determine the holding state of the work 6 based on the machining program.
  • the holding state may be input by the operator of the machine tool 30.
  • the operator inputs the holding state of the work 6 by using an input means (not shown) of the host controller 2.
  • the motor control device 1 may include input means, and the operator may input the holding state of the work 6 to the motor control device 1.
  • work information which is information about the work 6 is input as a machining condition.
  • the host controller 2 controls the machining of the machine tool 30 based on the machining conditions.
  • the work information includes, for example, at least one of the holding position, the size of the diameter, the material, and the length of the work 6.
  • the holding position is information indicating the length from the end of the work 6 to the holding position of the held work 6.
  • the host controller 2 outputs the work information, which is the holding state of the work 6 and the information about the work 6, to the motor control device 1.
  • the work information may also be determined based on the machining program, or may be input by the operator.
  • the motor control device 1 includes a position control unit 11, a speed control unit 12, a filter generation unit 13, a current control unit 14, and a speed conversion unit 15.
  • the position control unit 11 calculates a speed command based on the position command received from the host controller 2 and the position input from the detector 4, and outputs the speed command to the speed control unit 12.
  • the speed command is calculated based on the difference between the position command and the position input from the detector 4.
  • the speed conversion unit 15 calculates the speed by differentiating the position input from the detector 4, and outputs the calculated speed to the speed control unit 12.
  • the speed control unit 12 calculates a current command based on the speed command and the speed input from the speed conversion unit 15, and outputs the current command to the filter generation unit 13. Specifically, the speed control unit 12 calculates the current command based on the difference between the speed command and the speed input from the speed conversion unit 15. That is, the speed control unit 12 is a command generation unit that generates a command for controlling the machine tool 30 by feedback control. In detail, this command is a command for controlling the motor 3 of the machine tool 30 by feedback control. In the present embodiment, an example in which the filtering process is performed by the filter generation unit 13 described later with respect to the current command for controlling the motor 3 will be described.
  • the current command is a machine tool 30 capable of holding an object to be held. Is an example of a command for controlling the machine by feedback control, and the target of the filtering process of the present embodiment may be a command for controlling the machine tool 30, and is not limited to the current command.
  • the filter generation unit 13 performs a filtering process on the current command, and outputs the current command after the filtering process to the current control unit 14.
  • the filtering process in the filter generation unit 13 is a filtering process for attenuating a component of a cutoff frequency which is a specific frequency, that is, blocking a component of a cutoff frequency. Mechanical resonance can be suppressed by setting the cutoff frequency cut off by the filter generation unit 13 to the frequency at which resonance occurs in the machine tool 30.
  • the natural frequency depends on the holding state of the work 6. Therefore, if the cutoff frequency to be removed by the filter generation unit 13 is determined without reflecting the holding state of the work 6, resonance may not be suppressed depending on the holding state of the work 6.
  • the filter generation unit 13 determines the frequency component to be removed by the filtering process by using the work information and the holding state received from the host controller 2. Thereby, in the present embodiment, the cutoff frequency can be determined by reflecting the holding state of the work 6 and the like. Therefore, mechanical resonance can be suppressed even when the natural frequency changes depending on the holding state of the work 6. The details of the filter generation unit 13 will be described later.
  • the current control unit 14 controls the current output to the motor 3 based on the current command output from the filter generation unit 13.
  • the motor 3 rotates according to the current output from the current control unit 14.
  • the motor control device 1 can control the motor 3 to a position according to the position command received from the host controller 2.
  • the work 6 can be controlled to a desired position via the speed reducer 8 and the chuck device 5.
  • the filter generation unit 13 obtains the vibration frequency by machine learning using the work information and the information including the holding state, and executes the filtering process according to the vibration frequency in the current command.
  • the filter generation unit 13 has a function of generating a trained model by machine learning and a function of performing inference using the trained model.
  • the phase in which the trained model is generated is referred to as the ⁇ learning phase>
  • the phase in which the inference is performed is referred to as the ⁇ utilization phase>.
  • FIG. 2 is a diagram showing a configuration example of the filter generation unit 13 of the present embodiment regarding the ⁇ learning phase>.
  • FIG. 2 describes the components used in the ⁇ learning phase>.
  • the filter generation unit 13 includes a learning device 131, a frequency estimation unit 132, and a notch filter 133 as components used in the ⁇ learning phase>.
  • the frequency estimation unit 132 estimates the vibration frequency of the work 6 based on the current command, and outputs vibration frequency information indicating the estimated vibration frequency to the notch filter 133 and the learning device 131.
  • the frequency estimation unit 132 obtains the magnitude of the component of each frequency of the current command by, for example, Fourier transforming the input current command. Then, the frequency estimation unit 132 estimates the frequency at which the magnitude of the component is equal to or larger than a certain value as the vibration frequency. Alternatively, the frequency estimation unit 132 may estimate a number of frequencies determined in descending order of components as vibration frequencies.
  • the vibration frequency information includes at least information indicating the vibration frequency. Here, it is assumed that the vibration frequency includes the vibration frequency and the amplitude of the frequency.
  • Amplitude is an example of a value indicating the magnitude of vibration at the vibration frequency.
  • the method of estimating the vibration frequency by the frequency estimation unit 132 is not limited to the method of estimating based on the current command.
  • a vibration sensor is provided and the signal output from the vibration sensor is Fourier-transformed for estimation.
  • the notch filter 133 is a filter whose cutoff frequency can be changed. In the ⁇ learning phase>, the cutoff frequency of the notch filter 133 may not be set. That is, in the ⁇ learning phase>, it is the same as the case where the notch filter 133 is not provided.
  • the learning device 131 generates a trained model by machine learning using the work information and the holding state received from the host controller 2 and the vibration frequency information received from the frequency estimation unit 132. Although an example of performing machine learning using the work information and the holding state will be described here, one of the work information and the holding state may be used. The details of the learning device 131 will be described later.
  • FIG. 3 is a diagram showing a configuration example of the filter generation unit 13 of the present embodiment regarding the ⁇ utilization phase>.
  • FIG. 3 describes the components used in the ⁇ utilization phase>.
  • the filter generation unit 13 includes an inference device 134 and a notch filter 133 as components used in the ⁇ utilization phase>.
  • the inference device 134 estimates the vibration frequency by inputting the work information and the holding state received from the host controller 2 into the trained model generated by the learning device 131, and outputs the estimated vibration frequency to the notch filter 133. do.
  • the notch filter 133 performs a filtering process on the current command according to the vibration frequency output by the inference device 134.
  • the notch filter 133 performs filtering processing on the current command according to the vibration frequency input from the inference device 134. Specifically, for example, the notch filter 133 sets the vibration frequency input from the inference device 134 as the cutoff frequency. When an amplitude indicating the magnitude of vibration is also input from the inference device 134, the notch filter 133 determines the amount of attenuation based on the input amplitude.
  • the current control unit 14 supplies a current to the motor 3 so as to follow a current command by including a converter circuit that converts AC power into DC power or an inverter circuit that converts DC power into desired AC power.
  • the position control unit 11, the speed control unit 12, the filter generation unit 13, and the speed conversion unit 15 are realized by a processing circuit.
  • the processing circuit may be a circuit including a processor or dedicated hardware.
  • the processing circuit is a control circuit composed of a processor and a memory, for example.
  • the position control unit 11, the speed control unit 12, the filter generation unit 13, and the speed conversion unit 15 are realized by the control circuit, these are realized by the processor reading and executing the program stored in the memory. .. That is, when the position control unit 11, the speed control unit 12, the filter generation unit 13, and the speed conversion unit 15 are realized by the control circuit, these functions are realized by using a program which is software.
  • the memory is also used as the work area of the processor.
  • the processor is a CPU (Central Processing Unit) or the like.
  • the memory corresponds to, for example, a non-volatile or volatile semiconductor memory such as a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, a magnetic disk, or the like.
  • the processing circuits are, for example, FPGA (Field Programmable Gate Array) and ASIC (Application Specific Integrated Circuit). ..
  • the position control unit 11, the speed control unit 12, the filter generation unit 13, and the speed conversion unit 15 may be realized by combining a processing circuit including a processor and dedicated hardware.
  • the position control unit 11, the speed control unit 12, the filter generation unit 13, and the speed conversion unit 15 may be realized by a plurality of processing circuits.
  • FIG. 4 is a diagram showing a configuration example of the learning device 131 of the present embodiment.
  • the learning device 131 includes a data acquisition unit 1311, a model generation unit 1312, and a learned model storage unit 1313.
  • the data acquisition unit 1311 acquires the work information and the holding state from the host controller 2, and acquires the vibration frequency information from the frequency estimation unit 132.
  • the data acquisition unit 1311 outputs a data set in which the acquired work information and the holding state are input data and the acquired vibration frequency information is correct data as learning data to the model generation unit 1312.
  • the model generation unit 1312 learns the work information and the vibration frequency of the work 6 corresponding to the holding state by using the learning data input from the data acquisition unit 1311. That is, the model generation unit 1312 generates a learned model for inferring the optimum frequency to be blocked by the filtering process from the work information and the holding state.
  • the vibration frequency information includes at least the vibration frequency as described above, and may further include an amplitude indicating the magnitude of the vibration. Therefore, the trained model may be for inferring the vibration frequency from the work information and the holding state, or for estimating the vibration frequency and the magnitude of the vibration at the vibration frequency from the holding object information and the holding state. It may be a thing.
  • the learning data is a data set in which the work information, the holding state, and the vibration frequency information of the work 6 are associated with each other.
  • the learning algorithm used by the model generation unit 1312 known algorithms such as supervised learning and unsupervised learning can be used. As an example, a case where a neural network is applied will be described.
  • the model generation unit 1312 learns the vibration frequency of the work 6 by so-called supervised learning according to, for example, a neural network model.
  • supervised learning refers to a method of learning a feature in those learning data by giving a set of input and result (label) data to a learning device, and inferring the result from the input.
  • a neural network is composed of an input layer composed of a plurality of neurons, an intermediate layer (hidden layer) composed of a plurality of neurons, and an output layer composed of a plurality of neurons.
  • the intermediate layer may be one layer or two or more layers.
  • FIG. 5 is a diagram showing an example of a neural network.
  • a neural network For example, in the case of a three-layer neural network as shown in FIG. 5, when a plurality of inputs are input to the input layers X1, X2, and X3, the input layers X1, X2, and X3 are set to the input values. Multiply the corresponding weights w11 to w16, respectively, and input to the corresponding intermediate layers Y1 and Y2. The intermediate layers Y1 and Y2 multiply the input values by the corresponding weights w21 to w26, and output to the corresponding output layers Z1, Z2, Z3. The output layers Z1, Z2, and Z3 add and output the values input from the intermediate layers Y1 and Y2.
  • FIG. 5 is an example, and the number of input layers and the number of output layers are not limited to the example shown in FIG. 5, and may be set according to the number of input data and correct answer data in the training data.
  • the model generation unit 1312 uses the weight w11 so that, for example, the result output from the output layer when the work information and the holding state data are input to the input layer in the neural network becomes the correct answer data, that is, the vibration frequency. Learning is done by adjusting ⁇ w16 and w21 ⁇ w26.
  • the model generation unit 1312 generates a trained model by executing the above learning and stores it in the trained model storage unit 1313.
  • the trained model storage unit 1313 stores the trained model generated by the model generation unit 1312.
  • FIG. 6 is a flowchart showing an example of the learning processing procedure in the learning device 131.
  • This learning process may be performed, for example, before the shipment of the motor control device 1, may be performed before the start of operation of the motor control device 1, or may be performed by the machine tool 30 after the start of operation of the motor control device 1.
  • the data acquisition unit 1311 acquires data (step S1). Specifically, as described above, the data acquisition unit 1311 acquires the work information and the holding state from the host controller 2, acquires the vibration frequency information from the frequency estimation unit 132, and generates a model using the acquired data as training data. Input to unit 1312.
  • the work information, the holding state, and the vibration frequency information are acquired at the same time, but it is sufficient that the work information, the holding state, and the vibration frequency information can be associated with each other and input to the model generation unit 1312.
  • Information, holding state, and vibration frequency information data may be acquired at different timings.
  • the model generation unit 1312 performs a learning process using the learning data input from the data acquisition unit 1311 (step S2). Specifically, the model generation unit 1312 learns the vibration frequency of the work 6 by so-called supervised learning using the learning data input from the data acquisition unit 1311, and generates a trained model.
  • the trained model storage unit 1313 stores the trained model generated by the model generation unit 1312 (step S3). Specifically, the model generation unit 1312 stores the generated trained model in the trained model storage unit 1313. This trained model is read by the inference device 134 and used for inference, as will be described later.
  • FIG. 7 is a diagram showing a configuration example of the inference device 134 of the present embodiment.
  • the inference device 134 includes a data acquisition unit 1331, an inference unit 1332, and a trained model storage unit 1313.
  • the filter generation unit 13 has the functions of both the learning device 131 and the inference device 134
  • the learned model storage unit 1313 can be shared with the learning device 131, but the learned model storage of the learning device 131.
  • a trained model storage unit 1313 may be provided for the inference device 134 separately from the unit 1313.
  • the data acquisition unit 1331 of the inference device 134 does not acquire the estimated value of the vibration frequency, but acquires the work information and the holding state, which is the same as the data acquisition unit 1311 of the learning device 131. Therefore, the data acquisition unit 1331 of the inference device 134 and the data acquisition unit 1311 of the learning device 131 may share a common part.
  • the data acquisition unit 1331 of the inference device 134 acquires the work information and the holding state of the work 6 from the host controller 2 as input data in the inference, and inputs the input data to the inference unit 1332.
  • the trained model stored in the trained model storage unit 1313 of the inference device 134 stores the trained model learned by the learning device 131.
  • the inference unit 1332 estimates the vibration frequency by inputting the input data input from the data acquisition unit 1331 into the trained model stored in the trained model storage unit 1313. That is, the inference unit 1332 inputs the holding object information and the holding state acquired by the data acquisition unit 1331 into the trained model for estimating the vibration frequency of the work from the work information and the holding state, so that the work 6 Estimate the vibration frequency.
  • FIG. 8 is a flowchart showing an example of the processing procedure in the filter generation unit 13 in the ⁇ utilization phase>.
  • the data acquisition unit 1331 of the inference device 134 acquires the data (step S11). Specifically, the data acquisition unit 1331 of the inference device 134 acquires the work information and the holding state of the work 6 from the host controller 2 as input data in the inference, and inputs the input data to the inference unit 1332.
  • the inference unit 1332 inputs the input data to the trained model (step S12). Specifically, by inputting the input data input from the data acquisition unit 1331 into the trained model stored in the trained model storage unit 1313, the input work information and the vibration frequency and amplitude corresponding to the holding state are obtained. presume.
  • the inference unit 1332 outputs the data output from the trained model to the notch filter 133 (step S13).
  • the notch filter 133 is set according to the data output from the inference unit 1332 (step S14). Specifically, the notch filter 133 sets the cutoff frequency to the estimated value of the vibration frequency output from the inference unit 1332, that is, the vibration frequency estimated by the inference unit 1332, and also to the amplitude estimated by the inference unit 1332. The amount of attenuation is set based on this, and filtering processing is performed on the current command.
  • the filter generation unit 13 can suppress the vibration frequency corresponding to the holding object and the holding state by the filtering process, so that at least one of the holding object and the holding state is suppressed. Even when it changes, the mechanical resonance of the controlled object can be suppressed.
  • the learning device 131 and the inference device 134 are built in the filter generation unit 13, but the location where the learning device 131 and the inference device 134 are provided is not limited to this example. ..
  • the learning device 131 and the inference device 134 may be provided inside the motor control device 1 separately from the filter generation unit 13, or may be provided as another device connected to the motor control device 1 via a network. ..
  • the learning device 131 and the inference device 134 may be realized by a computer different from the motor control device 1, or the learning device 131 and the inference device 134 may be realized by different computers.
  • the learning device 131 When the learning device 131 is realized by a computer different from the motor control device 1, this computer acquires the work information and the holding state from the host controller 2 or the motor control device 1, and the frequency estimation unit 132 of the motor control device 1. The vibration frequency information is acquired from the above, and the operation of the learning device 131 described above is performed.
  • the learning device 131 and the inference device 134 are realized by a computer, these devices are realized by the processor included in the computer executing a program stored in the memory. Further, the learning device 131 and the inference device 134 may exist on the cloud server. Further, the learning device 131 may be provided in a device different from the motor control device 1, and the inference device 134 may be built in the filter generation unit 13. In this case, the filter generation unit 13 includes a data acquisition unit 1311, and the data acquisition unit 1311 transmits the acquired learning data to another device that performs learning processing. Further, in this case, the learned model generated by the learning device 131 may be preset in the inference device 134, or the inference device 134 may receive the learned model from the learning device 131 via the network.
  • the frequency estimation unit 132 may also be provided in another device that performs learning processing instead of being built in the filter generation unit 13.
  • the data acquisition unit 1311 transmits the current command to the other device that performs the learning process.
  • the vibration frequency is estimated based on the output signal of a sensor such as a vibration sensor
  • the output signal of the sensor may be directly transmitted to another device that performs learning processing.
  • FIG. 9 is a diagram showing a configuration example of a control system and a machine learning device when a machine learning device that performs learning processing is provided separately from the motor control device.
  • the control system 20a shown in FIG. 9 is the same as the control system 20 shown in FIG. 1 except that the motor control device 1a is provided instead of the motor control device 1.
  • the motor control device 1a includes a filter generation unit 13a instead of the filter generation unit 13.
  • the filter generation unit 13a includes components used in the ⁇ utilization phase> of the filter generation unit 13, that is, the components shown in FIG.
  • the machine learning device 200 includes a data acquisition unit 1314 that acquires commands, work information, and a holding state from a control system 20a that filters commands for controlling a machine tool 30. Specifically, the data acquisition unit 1314 acquires the work information and the holding state from the host controller 2, and acquires the current command, which is an example of the command, from the motor control device 1a. Further, the machine learning device 200 further includes a frequency estimation unit 132 that estimates the vibration frequency of the holding object based on the command acquired by the data acquisition unit 1314. The frequency estimation unit 132 is the same as the frequency estimation unit 132 of the motor control device 1. As described above, the frequency estimation unit 132 may estimate the vibration frequency from the detection result by the vibration sensor or the like instead of the current command.
  • the machine learning device 200 further includes a model generation unit 1312 and a trained model storage unit 1313 similar to the learning device 131. That is, the model generation unit 1312 of the machine learning device 200 uses the work information acquired by the data acquisition unit 1314 and the learning data including the holding state and the vibration frequency estimated by the frequency estimation unit 132 in the filtering process. A trained model used for inferring the cutoff frequency to be used is generated and stored in the trained model storage unit 1313. The trained model stored in the trained model storage unit 1313 is stored in the inference device 134 of the filter generation unit 13a of the motor control device 1a.
  • the inference device 134 of the filter generation unit 13a uses the trained model generated by the machine learning device 200, and similarly to the inference device 134 of the ⁇ utilization phase> of the filter generation unit 13, the work information and the holding state.
  • the vibration frequency and amplitude corresponding to can be estimated.
  • the motor control device 1a includes the frequency estimation unit 132, and the data acquisition unit 1314 of the machine learning device 200 is based on the frequency estimation unit 132.
  • the estimation result may be obtained.
  • the model generation unit 1312 of the learning device 131 may generate a learned model based on the data acquired from a plurality of motor control devices.
  • the model generation unit 1312 may acquire learning data from a plurality of motor control devices used in the same area, or may acquire learning data from a plurality of motor control devices operating independently in different areas.
  • the vibration frequency may be learned by using.
  • the motor control device 1 for which the learning data is to be collected can be added to or removed from the target on the way.
  • the learning device 131 that has learned the vibration frequency with respect to the first motor control device, which is a certain motor control device 1, is applied to a second motor control device, which is another motor control device 1, and a second motor control device 1 is applied.
  • the learning device 131 of the motor control device may relearn the vibration frequency of the work 6 with respect to the second motor control device to update the trained model.
  • the model generation unit 1312 of the machine learning device 200 may generate a trained model based on the data acquired from a plurality of motor control devices, or may generate a trained model on the way of the motor control device for which the learning data is to be collected. It can also be added to or removed from the target.
  • the machine learning device 200 is a second motor control which is a motor control device 1 different from the first motor control device which is a motor control device 1 which performs inference.
  • a trained model may be generated by learning based on the data acquired from the device, and this trained model may be used in the inference of the first motor control device.
  • supervised learning is applied to the learning algorithm used by the model generation unit 1312
  • the present invention is not limited to this.
  • the learning algorithm in addition to supervised learning, unsupervised learning, semi-supervised learning, and the like can also be applied.
  • model generation unit 1312 As a learning algorithm used in the model generation unit 1312, deep learning, which learns the extraction of the feature amount itself, can also be used, and other known methods such as genetic programming and functional logic programming can be used. Machine learning may be performed according to a support vector machine or the like.
  • the motor control device 1 learns and estimates the vibration frequency based on the work information and the holding state, but similarly, the vibration frequency is calculated according to the tool information related to the tool and the holding state of the tool. You may learn and estimate. For example, in a machine tool that cuts by rotating a tool, the machine tool holds the tool. In this case, the tool rotates when the motor control device 1 controls the motor 3 according to a command from the host controller 2 as in the work 6 described above. In this case, in the ⁇ learning phase>, the vibration frequency is estimated using the tool information and the holding state of the tool, and the trained model is created using the tool information and the holding state of the tool and the estimated vibration frequency as learning data. Will be generated.
  • the vibration frequency is inferred by inputting the tool information and the holding state of the tool into the trained model.
  • the tool information includes, for example, at least one of the size and type of the tool.
  • the tool is also an example of the object to be held.
  • Both the tool information and the work information are information on the object to be held, and the information on the object to be held is, for example, information related to the natural frequency of the object to be held.
  • the configuration shown in the above embodiments is an example, and can be combined with another known technique, can be combined with each other, and does not deviate from the gist. It is also possible to omit or change a part of the configuration.

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Electric Motors In General (AREA)
  • Feedback Control In General (AREA)

Abstract

保持対象物および保持状態のうち少なくとも一方が変化する場合であっても、制御対象の機械共振を抑制することができる制御システムを得ることを目的とする。制御システムは、保持対象物を保持可能な工作機械をフィードバック制御により制御するための指令にフィルタリング処理を行うノッチフィルタと、ワーク情報およびワークの保持状態を取得するデータ取得部(1331)と、ワーク情報および保持状態から保持対象物の振動周波数を推定するための学習済モデルに、データ取得部(1331)により取得されたワーク情報および保持状態を入力することにより保持対象物の振動周波数を推定する推論部(1332)と、を備え、ノッチフィルタは、遮断周波数を、推論部(1332)により推定された振動周波数に設定する。

Description

制御システム、モータ制御装置および機械学習装置
 本開示は、工作機械をはじめとした産業用機械装置を制御する制御システム、モータ制御装置および機械学習装置に関する。
 工作機械をはじめとした産業用機械装置の動作を制御する制御装置は、一般に、フィードバック制御手法を採用している。制御装置は、フィードバック制御手法を採用することにより、上位コントローラから送られてくる目標値に安定に追従するとともに外乱の影響にも対応できる。
 ところが、フィードバック制御手法を用いても、制御対象の剛性、質量等に依存する機械共振が発生する場合がある。機械共振が発生した際にフィードバックゲインが大きな値に設定されていると、機械共振が増大し制御系が発振してしまうことがある。このような現象を抑制するために、従来、特定の周波数成分だけを減衰させるフィルタであるノッチフィルタを、制御ループ内に設ける手法が用いられていた。しかし、減衰させるすなわち遮断する特定の周波数である遮断周波数を、ノッチフィルタに設定するためには、遮断すべき周波数を事前に実測により求めることになり、専用の計測器が必要になる。また、制御対象の位置が変化すると共振周波数も変化してしまうため、事前に遮断周波数を決定する方法では、上記現象を十分に抑制できない場合がある。
 上記のような問題点に対応するため、特許文献1では、制御ループ内に、教示点位置と固有振動数とを教師データとした学習済のニューラルネットワークを設けて振動を抑制する振動低減装置が開示されている。特許文献1の振動低減装置では、制御対象の機構部の位置情報をニューラルネットワークに入力することにより、制御対象に発生する機械共振の固有振動数を演算し、演算により得られた固有振動数に対応するノッチフィルタを制御ループ内に設定することにより振動を抑制する。
特開平7-261853号公報
 工作機械のなかには、ワーク、工具などの保持対象物を保持する動作を行うものがある。このような工作機械では、保持対象物の位置情報が同じであっても、保持対象物が異なれば大きさ、材質などが異なるため、固有振動数が異なる。また、保持対象物を保持しているか否か、すなわち保持状態が変化することに伴い固有振動数も変化することがある。このような場合、特許文献1に記載の方法では、保持対象物を示す情報および保持状態が反映されていないため、固有振動数を適切に求められない可能性がある。このため、ノッチフィルタにおいて減衰させる周波数域を適切な値に設定できず、機械共振を抑制できない可能性がある。
 本開示は、上記に鑑みてなされたものであって、保持対象物および保持状態のうち少なくとも一方が変化する場合であっても、制御対象の機械共振を抑制することができる制御システムを得ることを目的とする。
 上述した課題を解決し、目的を達成するために、本開示にかかる制御システムは、保持対象物を保持可能な工作機械をフィードバック制御により制御するための指令にフィルタリング処理を行うノッチフィルタと、保持対象物に関する情報である保持対象物情報および保持対象物の保持状態を取得するデータ取得部と、を備える。制御システムは、さらに、保持対象物情報および保持状態から保持対象物の振動周波数を推定するための学習済モデルに、データ取得部により取得された保持対象物情報および保持状態を入力することにより保持対象物の振動周波数を推定する推論部と、を備える。ノッチフィルタは、遮断周波数を、推論部により推定された振動周波数に設定する。
 本開示によれば、保持対象物および保持状態のうち少なくとも一方が変化する場合であっても、制御対象の機械共振を抑制することができるという効果を奏する。
実施の形態にかかる制御システムの構成例を示す図 <学習フェーズ>に関する実施の形態のフィルタ生成部の構成例を示す図 <活用フェーズ>に関する実施の形態のフィルタ生成部の構成例を示す図 実施の形態の学習装置の構成例を示す図 ニューラルネットワークの一例を示す図 学習装置における学習処理手順の一例を示すフローチャート 実施の形態の推論装置の構成例を示す図 <活用フェーズ>におけるフィルタ生成部における処理手順の一例を示すフローチャート モータ制御装置とは別に学習処理を行う機械学習装置が設けられる場合の制御システムおよび機械学習装置の構成例を示す図
 以下に、実施の形態にかかる制御システム、モータ制御装置および機械学習装置を図面に基づいて詳細に説明する。
実施の形態.
 図1は、実施の形態にかかる制御システムの構成例を示す図である。本実施の形態の制御システム20は、モータ制御装置1と、モータ制御装置1を制御する上位コントローラ2とを備える。制御システム20は、工作機械30を制御する。本実施の形態では、制御システム20の制御対象である工作機械30は、切削加工を行う工作機械であるとするが、制御システム20の制御対象は、切削加工を行う工作機械に限定されず、切削加工の加工対象であるワーク6を保持する動作を行うことが可能な産業用機械であればよい。
 図1に示した例では、工作機械30は、モータ3、減速機8、チャック装置5および切削工具7を備える。工作機械30は、ワーク6を保持可能である。ワーク6は、工作機械30が保持可能な保持対象物の一例である。具体的には、工作機械30は、チャック装置5により、ワーク6を固定する。チャック装置5は、上位コントローラ2から、ワーク6を保持することを示すチャック信号を受信した場合に、ワーク6を固定する。モータ3は、モータ制御装置1により制御される。モータ3の回転運動は減速機8を介してチャック装置5に伝達される。これにより、ワーク6はチャック装置5とともに回転する。ワーク6は回転しながら切削工具7により加工される。また、モータ3の位置、すなわちモータ3の回転位置は、検出器4により検出される。検出器4により検出されたモータ3の位置は、モータ制御装置1へ入力される。
 上位コントローラ2は、工作機械30の加工を制御するための指令、制御信号、制御情報等を生成する。詳細には、上位コントローラ2は、モータ3の位置に関する指令である位置指令を生成し、モータ制御装置1へ出力する。上位コントローラ2は、例えば、加工プログラムに従って、工作機械30の加工を制御するための指令、制御信号、制御情報等を生成する。モータ制御装置1は、上位コントローラ2から受け取った位置指令と、検出器4から入力された位置とに基づいて、モータ3を制御するための電流を生成して、モータ3へ出力する。
 また、上位コントローラ2は、チャック装置5がワーク6を固定するか解放するかを示す制御信号を生成して、チャック装置5へ出力する。ここでは、ワーク6を固定するか解放するかを示す制御信号は、ワーク6を固定している間出力されるチャック信号であるとする。チャック装置5は、チャック信号を上位コントローラ2から受け取っている間はワーク6を固定する動作を実施し、チャック信号を受け取っていないときには、ワーク6を解放する動作を実施する。なお、ワーク6を固定するか解放するかを示す制御信号は、この例に限らず、ワーク6の開始と終了時に出力される信号であってもよいし、信号の電圧値等によりワーク6の固定と解放を示すものであってもよい。また、チャック装置5によって固定される例を示したが、上位コントローラ2が、ワーク6が工作機械30に固定されているか否かを把握できるものであればどのような固定方法であっても良い。
 上位コントローラ2は、ワーク6の保持状態を把握している。保持状態は、例えば、ワーク6が工作機械30に固定されているか否かを示す情報である。図1に示した構成例では、保持状態は、例えば、ワーク6が、チャック装置5に固定されているか否かである。この保持状態は、例えば加工プログラムによって指定されている。上位コントローラ2は、加工プログラムに基づいてワーク6の保持状態を判別することができる。また、保持状態は、工作機械30の操作者により入力可能であってもよい。例えば、操作者は上位コントローラ2の図示しない入力手段を用いてワーク6の保持状態を入力する。または、モータ制御装置1が入力手段を備え、操作者がモータ制御装置1にワーク6の保持状態を入力するようにしてもよい。また、一般に、工作機械30を用いて加工が行われる際には、加工条件として、ワーク6に関する情報であるワーク情報が入力される。上位コントローラ2は、加工条件に基づいて、工作機械30の加工を制御する。ワーク情報は、例えば、ワーク6の、保持位置、径の大きさ、材質、および長さのうちの少なくとも1つを含む。保持位置は、ワーク6の端部から、保持されているワーク6の保持箇所までの長さを示す情報である。上位コントローラ2は、ワーク6の保持状態とワーク6に関する情報であるワーク情報を、モータ制御装置1に出力する。ワーク情報についても、加工プログラムに基づいて判別されてもよいし、操作者により入力可能であってもよい。
 次に、モータ制御装置1の構成を説明する。図1に示すように、モータ制御装置1は、位置制御部11、速度制御部12、フィルタ生成部13、電流制御部14および速度変換部15を備える。位置制御部11は、上位コントローラ2から受け取った位置指令と検出器4から入力された位置とに基づいて速度指令を算出し、速度指令を速度制御部12へ出力する。詳細には、位置指令と検出器4から入力された位置との差に基づいて速度指令を算出する。速度変換部15は、検出器4から入力された位置を微分することにより速度を算出し、算出した速度を速度制御部12へ出力する。
 速度制御部12は、速度指令と速度変換部15から入力された速度とに基づいて電流指令を算出し、電流指令をフィルタ生成部13へ出力する。詳細には、速度制御部12は、速度指令と速度変換部15から入力された速度との差に基づいて電流指令を算出する。すなわち、速度制御部12は、フィードバック制御により、工作機械30を制御するための指令を生成する指令生成部である。この指令は、詳細には、フィードバック制御により、工作機械30のモータ3を制御するための指令である。本実施の形態では、後述するフィルタ生成部13によりフィルタリング処理を、モータ3を制御するための電流指令に対して行う例を説明するが、電流指令は、保持対象物を保持可能な工作機械30をフィードバック制御により制御するための指令の一例であり、本実施の形態のフィルタリング処理の対象は、工作機械30を制御する指令であればよく、電流指令に限定されない。
 フィルタ生成部13は、電流指令にフィルタリング処理を行い、フィルタリング処理後の電流指令を電流制御部14へ出力する。フィルタ生成部13におけるフィルタリング処理は、特定の周波数である遮断周波数の成分を減衰させる、すなわち遮断周波数の成分を遮断するフィルタリング処理である。フィルタ生成部13が遮断する遮断周波数を、工作機械30で共振の発生する周波数とすることで、機械共振を抑制することができる。一方、固有振動数は、ワーク6の保持状態等に依存する。このため、ワーク6の保持状態を反映せずに、フィルタ生成部13が除去する遮断周波数を決定すると、ワーク6の保持状態によっては、共振が抑制できないことがある。本実施の形態では、フィルタ生成部13は、上位コントローラ2から受け取ったワーク情報および保持状態を用いて、フィルタリング処理で除去する周波数成分を決定する。これにより、本実施の形態では、ワーク6の保持状態等を反映して、遮断周波数を決定することができる。このため、ワーク6の保持状態に依存して固有振動数が変化する場合であっても、機械共振を抑制することができる。フィルタ生成部13の詳細については後述する。
 電流制御部14は、フィルタ生成部13から出力された電流指令に基づいてモータ3へ出力する電流を制御する。モータ3は、電流制御部14から出力された電流に応じて回転運動を行う。以上の動作により、モータ制御装置1は、上位コントローラ2から受け取った位置指令に従った位置にモータ3を制御することができる。モータ3が位置指令に従った位置に制御されることにより、減速機8およびチャック装置5を介してワーク6を所望の位置に制御することができる。
 次に、フィルタ生成部13の詳細について説明する。フィルタ生成部13は、ワーク情報および保持状態を含む情報を用いた機械学習によって振動周波数を求め、電流指令に、振動周波数に応じたフィルタリング処理を実施する。フィルタ生成部13は、機械学習により学習済モデルを生成する機能と学習済モデルを用いて推論を行う機能とを有する。以下では、学習済みモデルを生成するフェーズを<学習フェーズ>と呼び、推論を行うフェーズを<活用フェーズ>と呼ぶ。
 図2は、<学習フェーズ>に関する本実施の形態のフィルタ生成部13の構成例を示す図である。図2では、<学習フェーズ>で用いられる構成要素を記載している。フィルタ生成部13は、<学習フェーズ>で用いられる構成要素として、学習装置131、周波数推定部132およびノッチフィルタ133を備える。
 周波数推定部132は、電流指令に基づいてワーク6の振動周波数を推定し、推定した振動周波数を示す振動周波数情報をノッチフィルタ133および学習装置131へ出力する。周波数推定部132は、例えば、入力される電流指令をフーリエ変換するといった処理により、電流指令の周波数ごとの成分の大きさを求める。そして、周波数推定部132は、成分の大きさが一定値以上となる周波数を振動周波数と推定する。または、周波数推定部132は、成分の大きい順に定められた個数の周波数を、振動周波数として推定してもよい。振動周波数情報は、少なくとも振動周波数を示す情報を含む。ここでは、振動周波数は、振動周波数と当該周波数の振幅とを含むとする。振幅は、当該振動周波数の振動の大きさを示す値の一例である。周波数推定部132が振動周波数を推定する方法は、電流指令に基づいて推定する方法に限定されず、例えば、振動センサを設けて振動センサから出力される信号をフーリエ変換して推定するなどであってもよく、推定方法に特に制約はない。
 ノッチフィルタ133は、遮断周波数を変更可能なフィルタである。<学習フェーズ>では、ノッチフィルタ133の遮断周波数は設定されない状態でよい。すなわち、<学習フェーズ>では、ノッチフィルタ133が設けられない場合と同様となる。学習装置131は、上位コントローラ2から受け取ったワーク情報および保持状態と、周波数推定部132から受け取った振動周波数情報とを用いて機械学習により学習済モデルを生成する。なお、ここでは、ワーク情報および保持状態を用いて機械学習を行う例を説明するが、ワーク情報および保持状態のうちの一方が用いられてもよい。学習装置131の詳細については後述する。
 図3は、<活用フェーズ>に関する本実施の形態のフィルタ生成部13の構成例を示す図である。図3では、<活用フェーズ>で用いられる構成要素を記載している。フィルタ生成部13は、<活用フェーズ>で用いられる構成要素として、推論装置134およびノッチフィルタ133を備える。
 推論装置134は、学習装置131によって生成された学習済モデルに、上位コントローラ2から受け取ったワーク情報および保持状態を入力することにより、振動周波数を推定し、推定した振動周波数をノッチフィルタ133へ出力する。ノッチフィルタ133は推論装置134によって出力された振動周波数に応じて、電流指令にフィルタリング処理を実施する。
 詳細には、<活用フェーズ>では、ノッチフィルタ133は、推論装置134から入力される振動周波数に応じて、電流指令にフィルタリング処理を実施する。詳細には、例えば、ノッチフィルタ133は推論装置134から入力される振動周波数を遮断周波数として設定する。また、推論装置134から振動の大きさを示す振幅も入力される場合には、ノッチフィルタ133は入力される振幅に基づいて減衰量を決定する。
 ここで、モータ制御装置1のハードウェア構成について説明する。モータ制御装置1の各部は回路により実現される。電流制御部14は、交流電力を直流電力に変換するコンバータ回路、または直流電力を所望の交流電力に変換するインバータ回路を備えることにより電流指令に追従するようにモータ3へ電流を供給する。位置制御部11、速度制御部12、フィルタ生成部13および速度変換部15は、処理回路により実現される。処理回路は、プロセッサを備える回路であってもよいし、専用ハードウェアであってもよい。
 処理回路がプロセッサを備える回路である場合、処理回路は例えプロセッサとメモリで構成される制御回路である。位置制御部11、速度制御部12、フィルタ生成部13および速度変換部15が制御回路によって実現される場合、プロセッサが、メモリに格納されたプログラムを読み出して実行することにより、これらが実現される。すなわち、位置制御部11、速度制御部12、フィルタ生成部13および速度変換部15が制御回路によって実現される場合、これらの機能は、ソフトウェアであるプログラムを用いて実現される。メモリはプロセッサの作業領域としても使用される。プロセッサは、CPU(Central Processing Unit)等である。メモリは、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリー等の不揮発性または揮発性の半導体メモリ、磁気ディスク等が該当する。
 位置制御部11、速度制御部12、フィルタ生成部13および速度変換部15が専用ハードウェアである場合、処理回路は、例えば、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)である。なお、位置制御部11、速度制御部12、フィルタ生成部13および速度変換部15は、プロセッサを備える処理回路および専用ハードウェアを組み合わせて実現されてもよい。位置制御部11、速度制御部12、フィルタ生成部13および速度変換部15は、複数の処理回路により実現されてもよい。
 次に、図2に示した学習装置131の詳細について説明する。図4は、本実施の形態の学習装置131の構成例を示す図である。学習装置131は、データ取得部1311、モデル生成部1312および学習済モデル記憶部1313を備える。
 データ取得部1311は、上位コントローラ2からワーク情報および保持状態を取得し、周波数推定部132から振動周波数情報を取得する。データ取得部1311は、取得したワーク情報および保持状態を入力データとし取得した振動周波数情報を正解データとするデータセットを学習用データとしてモデル生成部1312へ出力する。
 モデル生成部1312は、データ取得部1311から入力された学習用データを用いて、ワーク情報および保持状態に対応するワーク6の振動周波数を学習する。すなわち、モデル生成部1312は、ワーク情報および保持状態から、フィルタリング処理で遮断すべき最適な周波数を推論するための学習済モデルを生成する。振動周波数情報は、上述したように少なくとも振動周波数を含み、さらに振動の大きさを示す振幅を含んでいてもよい。したがって、学習済モデルは、ワーク情報および保持状態から振動周波数を推論するためのものであってもよいし、保持対象物情報および保持状態から振動周波数と振動周波数における振動の大きさとを推定するためものであってもよい。ここで、学習用データは、ワーク6のワーク情報、保持状態および振動周波数情報を互いに関連付けたデータセットである。
 モデル生成部1312が用いる学習アルゴリズムは教師あり学習、教師なし学習等の公知のアルゴリズムを用いることができる。一例として、ニューラルネットワークを適用した場合について説明する。
 モデル生成部1312は、例えば、ニューラルネットワークモデルに従って、いわゆる教師あり学習により、ワーク6の振動周波数を学習する。ここで、教師あり学習とは、入力と結果(ラベル)のデータの組を学習装置に与えることで、それらの学習用データにある特徴を学習し、入力から結果を推論する手法をいう。
 ニューラルネットワークは、複数のニューロンからなる入力層、複数のニューロンからなる中間層(隠れ層)、および複数のニューロンからなる出力層で構成される。中間層は、1層でもよいし、2層以上でもよい。
 図5は、ニューラルネットワークの一例を示す図である。例えば、図5に示すような3層のニューラルネットワークであれば、複数の入力がそれぞれ入力層X1,X2,X3に入力されると、入力層X1,X2,X3は、入力された値に、対応する重みw11~w16をそれぞれ掛けて、対応する中間層Y1,Y2へ入力する。中間層Y1,Y2は、入力された値にそれぞれ対応する重みw21~w26を掛けて、対応する出力層Z1,Z2,Z3へ出力する。出力層Z1,Z2,Z3は、中間層Y1,Y2から入力された値を加算して出力する。図5は一例であり、入力層の数と、出力層の数は、図5に示した例に限定されず、学習データにおける入力データ、および正解データの数に応じて設定されればよい。
 モデル生成部1312は、例えば、ニューラルネットワークにおける入力層にワーク情報および保持状態のそれぞれのデータが入力されたときの出力層から出力される結果が、正解データすなわち振動周波数となるように、重みw11~w16およびw21~w26を調整することで学習する。
 モデル生成部1312は、以上のような学習を実行することで学習済モデルを生成し、学習済モデル記憶部1313へ格納する。学習済モデル記憶部1313は、モデル生成部1312により生成された学習済モデルを記憶する。
 図6は、学習装置131における学習処理手順の一例を示すフローチャートである。この学習処理は、例えば、モータ制御装置1の出荷前に行われてもよいし、モータ制御装置1の運用開始前に行われてもよいし、モータ制御装置1の運用開始後に工作機械30が製品の加工を行っていないときに試験用のワーク6などを用いて行われてもよい。データ取得部1311は、データを取得する(ステップS1)。詳細には、データ取得部1311は、上述したように、上位コントローラ2からワーク情報および保持状態を取得し、周波数推定部132から振動周波数情報を取得し、取得したデータを学習用データとしてモデル生成部1312へ入力する。なお、ここでは、ワーク情報、保持状態および振動周波数情報を同時に取得するとしたが、ワーク情報、保持状態および振動周波数情報を関連づけて、モデル生成部1312に入力できれば良く、データ取得部1311は、ワーク情報、保持状態および振動周波数情報のデータをそれぞれ異なるタイミングで取得しても良い。
 モデル生成部1312は、データ取得部1311から入力された学習用データを用いて学習処理を行う(ステップS2)。詳細には、モデル生成部1312は、データ取得部1311から入力された学習用データを用いて、いわゆる教師あり学習により、ワーク6の振動周波数を学習し、学習済モデルを生成する。
 次に、学習済モデル記憶部1313は、モデル生成部1312によって生成された学習済モデルを記憶する(ステップS3)。詳細には、モデル生成部1312は、生成した学習済モデルを学習済モデル記憶部1313へ格納する。この学習済モデルは、後述するように、推論装置134によって読み出されて推論に用いられる。
 次に、図3に示した推論装置134の詳細について説明する。図7は、本実施の形態の推論装置134の構成例を示す図である。推論装置134は、データ取得部1331、推論部1332および学習済モデル記憶部1313を備える。ここでは、フィルタ生成部13が学習装置131および推論装置134の両方の機能を備える場合、学習済モデル記憶部1313は、学習装置131と共用することができるが、学習装置131の学習済モデル記憶部1313とは別に、推論装置134用に学習済モデル記憶部1313を設けてもよい。また、推論装置134のデータ取得部1331は、振動周波数の推定値を取得しないが、ワーク情報および保持状態を取得する点は学習装置131のデータ取得部1311と同様である。このため、推論装置134のデータ取得部1331と学習装置131のデータ取得部1311とは、共通する部分は共用されてもよい。
 推論装置134のデータ取得部1331は、推論における入力データとして上位コントローラ2からワーク6のワーク情報および保持状態を取得し、入力データを推論部1332へ入力する。推論装置134の学習済モデル記憶部1313には、学習装置131によって学習された学習済モデルが格納される。推論部1332は、データ取得部1331から入力された入力データを学習済モデル記憶部1313に格納された学習済モデルへ入力することにより、振動周波数を推定する。すなわち、推論部1332は、ワーク情報および保持状態からワークの振動周波数を推定するための学習済モデルに、データ取得部1331により取得された保持対象物情報および保持状態を入力することによりワーク6の振動周波数を推定する。
 図8は、<活用フェーズ>におけるフィルタ生成部13における処理手順の一例を示すフローチャートである。推論装置134のデータ取得部1331は、データを取得する(ステップS11)。詳細には、推論装置134のデータ取得部1331は、推論における入力データとして上位コントローラ2からワーク6のワーク情報および保持状態を取得し、入力データを推論部1332へ入力する。
 推論部1332は、入力データを学習済モデルへ入力する(ステップS12)。詳細には、データ取得部1331から入力された入力データを学習済モデル記憶部1313に格納された学習済モデルへ入力することにより、入力されたワーク情報および保持状態に対応する振動周波数および振幅を推定する。
 次に、推論部1332は、学習済モデルから出力されるデータをノッチフィルタ133へ出力する(ステップS13)。ノッチフィルタ133は、推論部1332から出力されたデータに応じた設定を行う(ステップS14)。詳細には、ノッチフィルタ133は、遮断周波数を、推論部1332から出力された振動周波数の推定値、すなわち推論部1332により推定された振動周波数に設定するとともに、推論部1332により推定された振幅に基づいて減衰量を設定し、電流指令にフィルタリング処理を実施する。
 以上の動作により、フィルタ生成部13は、<活用フェーズ>において、保持対象物および保持状態に対応する振動周波数をフィルタリング処理によって抑制することができるため、保持対象物および保持状態のうち少なくとも一方が変化する場合であっても、制御対象の機械共振を抑制することができる。
 なお、図2および図3に示した例では、学習装置131および推論装置134は、フィルタ生成部13に内蔵されているが、学習装置131および推論装置134が設けられる箇所はこの例に限定されない。例えば、学習装置131および推論装置134は、フィルタ生成部13とは別にモータ制御装置1内部に設けられてもよいし、モータ制御装置1とネットワークで接続される別の装置として設けられてもよい。例えば、学習装置131および推論装置134がモータ制御装置1とは別のコンピュータにより実現されてもよいし、学習装置131および推論装置134のそれぞれが、異なるコンピュータにより実現されていてもよい。学習装置131がモータ制御装置1とは別のコンピュータにより実現される場合、このコンピュータは、上位コントローラ2またはモータ制御装置1からワーク情報および保持状態を取得し、モータ制御装置1の周波数推定部132から振動周波数情報を取得して、上述した学習装置131の動作を実施する。
 学習装置131および推論装置134がコンピュータで実現される場合、コンピュータが備えるプロセッサがメモリに格納されたプログラムを実行することにより、これらの装置が実現される。また、さらに、学習装置131および推論装置134は、クラウドサーバ上に存在していてもよい。また、学習装置131が、モータ制御装置1とは別の装置に設けられ、推論装置134がフィルタ生成部13に内蔵されていてもよい。この場合、フィルタ生成部13は、データ取得部1311を備え、データ取得部1311が、取得した学習用データを、学習処理を行う他の装置へ送信する。また、この場合、学習装置131により生成された学習済モデルが推論装置134にあらかじめ設定されてもよいし、ネットワークを介して推論装置134が学習済モデルを学習装置131から受信してもよい。さらに、この場合、周波数推定部132も、フィルタ生成部13に内蔵されるかわりに学習処理を行う他の装置に設けられてもよい。周波数推定部132が、学習処理を行う他の装置に設けられる場合、データ取得部1311は、電流指令を、学習処理を行う他の装置へ送信する。または、振動センサなどのセンサの出力信号に基づいて振動周波数が推定される場合には、センサの出力信号が直接、学習処理を行う他の装置へ送信されてもよい。
 図9は、モータ制御装置とは別に学習処理を行う機械学習装置が設けられる場合の制御システムおよび機械学習装置の構成例を示す図である。図9に示した制御システム20aは、モータ制御装置1の代わりにモータ制御装置1aを備える以外は、図1に示した制御システム20と同様である。モータ制御装置1aは、フィルタ生成部13の代わりにフィルタ生成部13aを備える。フィルタ生成部13aは、フィルタ生成部13の<活用フェーズ>で用いられる構成要素、すなわち図3に示した構成要素を備える。
 機械学習装置200は、工作機械30を制御するための指令にフィルタリング処理を施す制御システム20aから、指令、ワーク情報および保持状態を取得するデータ取得部1314、を備える。詳細には、データ取得部1314は、上位コントローラ2からワーク情報および保持状態を取得し、モータ制御装置1aから指令の一例である電流指令を取得する。また、機械学習装置200は、さらに、データ取得部1314が取得した指令に基づいて保持対象物の振動周波数を推定する周波数推定部132を備える。周波数推定部132は、モータ制御装置1の周波数推定部132と同様である。上述したように、周波数推定部132は、電流指令の代わりに振動センサによる検出結果などから振動の周波数を推定してもよい。機械学習装置200は、さらに、学習装置131と同様のモデル生成部1312および学習済モデル記憶部1313を備える。すなわち、機械学習装置200のモデル生成部1312は、データ取得部1314により取得されたワーク情報および保持状態と周波数推定部132により推定された振動周波数とを含む学習用データを用いて、フィルタリング処理で用いられる遮断周波数を推論するために用いられる学習済モデルを生成し、学習済モデル記憶部1313へ格納する。学習済モデル記憶部1313に格納された学習済モデルは、モータ制御装置1aのフィルタ生成部13aの推論装置134内に記憶される。これにより、フィルタ生成部13aの推論装置134は、機械学習装置200により生成された学習済モデルを用いて、フィルタ生成部13の<活用フェーズ>の推論装置134と同様に、ワーク情報および保持状態に対応する振動周波数および振幅を推定することができる。なお、ここでは、機械学習装置200が周波数推定部132を備える例を説明したが、モータ制御装置1aが周波数推定部132を備え、機械学習装置200のデータ取得部1314が、周波数推定部132による推定結果を取得するようにしてもよい。
 また、学習装置131のモデル生成部1312は、複数のモータ制御装置から取得したデータに基づいて学習済モデルを生成してもよい。モデル生成部1312は、同一のエリアで使用される複数のモータ制御装置から学習用データを取得してもよいし、異なるエリアで独立して動作する複数のモータ制御装置から収集される学習用データを利用して振動周波数を学習してもよい。また、学習用データの収集対象のモータ制御装置1を途中で対象に追加したり、対象から除去したりすることも可能である。さらに、あるモータ制御装置1である第1のモータ制御装置に関して振動周波数を学習した学習装置131を、これとは別のモータ制御装置1である第2のモータ制御装置に適用し、第2のモータ制御装置の学習装置131が、第2のモータ制御装置に関してワーク6の振動周波数を再学習して学習済モデルを更新するようにしてもよい。機械学習装置200のモデル生成部1312も、同様に、複数のモータ制御装置から取得したデータに基づいて学習済モデルを生成してもよいし、学習用データの収集対象のモータ制御装置を途中で対象に追加したり、対象から除去したりすることも可能である。
 また、学習処理が機械学習装置200で行われる場合、当該機械学習装置200は、推論を行うモータ制御装置1である第1のモータ制御装置とは異なるモータ制御装置1である第2のモータ制御装置から取得したデータに基づいて学習して学習済モデルを生成し、この学習済モデルが第1のモータ制御装置の推論で用いられてもよい。
 なお、本実施の形態では、モデル生成部1312が用いる学習アルゴリズムに教師あり学習を適用した場合について説明したが、これに限られるものではない。学習アルゴリズムについては、教師あり学習以外にも、教師なし学習、または半教師あり学習等を適用することも可能である。
 また、モデル生成部1312に用いられる学習アルゴリズムとしては、特徴量そのものの抽出を学習する、深層学習(Deep Learning)を用いることもでき、他の公知の方法、例えば遺伝的プログラミング、機能論理プログラミング、サポートベクターマシンなどに従って機械学習を実行してもよい。
 また、以上の説明では、モータ制御装置1は、ワーク情報および保持状態に基づいて、振動周波数を学習して推定したが、同様に、工具に関する工具情報と工具の保持状態に応じて振動周波数を学習して推定してもよい。例えば、工具の回転による切削を行う工作機械では、工作機械は工具を保持することになる。この場合、上述したワーク6と同様に上位コントローラ2からの指令にしたがってモータ制御装置1がモータ3を制御することにより工具が回転する。この場合、<学習フェーズ>では、工具情報および工具の保持状態を用いて振動周波数が推定され、工具情報および工具の保持状態と推定された振動周波数とを学習用データとして用いて学習済モデルが生成される。<活用フェーズ>では、学習済モデルに、工具情報と工具の保持状態とを入力することにより振動周波数の推論が行われる。工具情報は、例えば、工具の大きさおよび種類のうちの少なくとも1つを含む。以上のように、工具も保持対象物の一例である。工具情報およびワーク情報は、いずれも、保持対象物情報であり、保持対象物情報は、例えば保持対象物の固有振動数に関連する情報である。
 以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、実施の形態同士を組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
 1 モータ制御装置、2 上位コントローラ、3 モータ、4 検出器、5 チャック装置、6 ワーク、7 切削工具、8 減速機、11 位置制御部、12 速度制御部、13 フィルタ生成部、14 電流制御部、15 速度変換部、20 制御システム、30 工作機械、131 学習装置、132 周波数推定部、133 ノッチフィルタ、134 推論装置、200 機械学習装置、1311,1331,1314 データ取得部、1312 モデル生成部、1313 学習済モデル記憶部、1332 推論部。

Claims (8)

  1.  保持対象物を保持可能な工作機械をフィードバック制御により制御するための指令にフィルタリング処理を行うノッチフィルタと、
     前記保持対象物に関する情報である保持対象物情報および前記保持対象物の保持状態を取得するデータ取得部と、
     前記保持対象物情報および前記保持状態から前記保持対象物の振動周波数を推定するための学習済モデルに、前記データ取得部により取得された前記保持対象物情報および前記保持状態を入力することにより前記保持対象物の振動周波数を推定する推論部と、
     を備え、
     前記ノッチフィルタは、遮断周波数を、前記推論部により推定された振動周波数に設定することを特徴とする制御システム。
  2.  前記保持対象物はワークであり、
     前記保持対象物情報は、前記保持対象物の、保持位置、径の大きさ、材質、および長さのうちの少なくとも1つを含むことを特徴とする請求項1に記載の制御システム。
  3.  前記保持位置は、前記保持対象物の端部から保持されている前記保持対象物の保持箇所までの長さを示す情報であることを特徴とする請求項2に記載の制御システム。
  4.  前記保持状態は、前記保持対象物が前記工作機械に固定されているか否かを示す情報であることを特徴とする請求項1から3のいずれか1つに記載の制御システム。
  5.  前記学習済モデルは、前記保持対象物情報および前記保持状態からさらに前記振動周波数における振動の大きさを推定するためのモデルであり、
     前記推論部は、学習済モデルに、前記データ取得部により取得された前記保持対象物情報および前記保持状態を入力することによりさらに前記振動周波数における振動の大きさを示す値を推定し、
     前記ノッチフィルタは、前記遮断周波数における減衰量を、前記推論部により推定され前記振動の大きさを示す値に基づいて設定することを特徴とする請求項1から4のいずれか1つに記載の制御システム。
  6.  前記指令に基づいて前記保持対象物の振動周波数を推定する周波数推定部と、
     前記保持対象物情報および前記保持状態と前記周波数推定部により推定された前記振動周波数とを含む学習用データを用いて前記学習済モデルを生成するモデル生成部と、
     を備えることを特徴とする請求項1から5のいずれか1つに記載の制御システム。
  7.  保持対象物を保持可能な工作機械のモータをフィードバック制御により制御するための指令にフィルタリング処理を行うノッチフィルタと、
     前記保持対象物に関する情報である保持対象物情報および前記保持対象物の保持状態を取得するデータ取得部と、
     前記保持対象物情報および前記保持状態から前記保持対象物の振動周波数を推定するための学習済モデルに、前記データ取得部により取得された前記保持対象物情報および前記保持状態を入力することにより前記保持対象物の振動周波数を推定する推論部と、
     を備え、
     前記ノッチフィルタは、遮断周波数を、前記推論部により推定された振動周波数に設定することを特徴とするモータ制御装置。
  8.  保持対象物を保持可能な工作機械をフィードバック制御により制御し前記工作機械を制御するための指令にフィルタリング処理を施す制御システムから、前記指令、前記保持対象物に関する情報である保持対象物情報および前記保持対象物の保持状態を取得するデータ取得部と、
     前記指令に基づいて前記保持対象物の振動周波数を推定する周波数推定部と、
     前記データ取得部により取得された前記保持対象物情報および前記保持状態と前記周波数推定部により推定された前記振動周波数とを含む学習用データを用いて、前記フィルタリング処理で用いられる遮断周波数を推論するために用いられる学習済モデルを生成するモデル生成部と、
     を備えることを特徴とする機械学習装置。
PCT/JP2020/011787 2020-03-17 2020-03-17 制御システム、モータ制御装置および機械学習装置 WO2021186574A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2020544058A JP6818954B1 (ja) 2020-03-17 2020-03-17 制御システム、モータ制御装置および機械学習装置
PCT/JP2020/011787 WO2021186574A1 (ja) 2020-03-17 2020-03-17 制御システム、モータ制御装置および機械学習装置
DE112020006573.1T DE112020006573B4 (de) 2020-03-17 2020-03-17 Steuerungssystem, Motorsteuerungsvorrichtung und Vorrichtung für Maschinelles Lernen
CN202080098402.3A CN115243813B (zh) 2020-03-17 2020-03-17 控制系统、电动机控制装置及机器学习装置
TW110108264A TWI765597B (zh) 2020-03-17 2021-03-09 控制系統、馬達控制裝置及機器學習裝置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/011787 WO2021186574A1 (ja) 2020-03-17 2020-03-17 制御システム、モータ制御装置および機械学習装置

Publications (1)

Publication Number Publication Date
WO2021186574A1 true WO2021186574A1 (ja) 2021-09-23

Family

ID=74200183

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/011787 WO2021186574A1 (ja) 2020-03-17 2020-03-17 制御システム、モータ制御装置および機械学習装置

Country Status (5)

Country Link
JP (1) JP6818954B1 (ja)
CN (1) CN115243813B (ja)
DE (1) DE112020006573B4 (ja)
TW (1) TWI765597B (ja)
WO (1) WO2021186574A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023248303A1 (ja) * 2022-06-20 2023-12-28 三菱電機株式会社 制御システム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07328969A (ja) * 1994-06-07 1995-12-19 Daikin Ind Ltd ロボット制御装置
JP2001293638A (ja) * 2000-02-10 2001-10-23 Fanuc Ltd 制御装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07261853A (ja) 1994-03-23 1995-10-13 Komatsu Ltd ロボットの振動低減装置
DE112005001415T5 (de) * 2004-06-16 2007-07-19 Kabushiki Kaisha Yaskawa Denki, Kitakyushu Verfahren und Vorrichtung zum automatischen Einstellen eines Vibrationsunterdrückungsfilters
JP2008312339A (ja) * 2007-06-14 2008-12-25 Panasonic Corp 電動機の制御装置
JP2011010533A (ja) * 2009-05-25 2011-01-13 Yaskawa Electric Corp モータ制御装置及びモータ制御システム
WO2012086550A1 (ja) * 2010-12-20 2012-06-28 三菱電機株式会社 モータ制御装置
TWI527359B (zh) * 2013-11-01 2016-03-21 光寶科技股份有限公司 抑制振動的方法及控制系統
JP6106582B2 (ja) * 2013-12-09 2017-04-05 山洋電気株式会社 モータ制御装置
JP6257481B2 (ja) * 2014-09-02 2018-01-10 三菱電機株式会社 数値制御装置
JP2016092935A (ja) * 2014-10-31 2016-05-23 ファナック株式会社 ゲイン自動調整支援装置
JP5980890B2 (ja) * 2014-12-10 2016-08-31 ファナック株式会社 実験モード解析を用いたフィルタ自動調整機能を有するサーボ制御装置
KR102165991B1 (ko) * 2016-05-31 2020-10-15 미쓰비시덴키 가부시키가이샤 모터 제어 장치
JP6490131B2 (ja) * 2017-03-31 2019-03-27 ファナック株式会社 機械学習装置、サーボ制御装置、サーボ制御システム、及び機械学習方法
JP6697491B2 (ja) * 2018-01-25 2020-05-20 ファナック株式会社 機械学習装置、サーボモータ制御装置、サーボモータ制御システム、及び機械学習方法
JP2019207542A (ja) * 2018-05-29 2019-12-05 ファナック株式会社 分析装置、分析方法及び分析プログラム
JP6841801B2 (ja) 2018-08-30 2021-03-10 ファナック株式会社 機械学習装置、制御システム及び機械学習方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07328969A (ja) * 1994-06-07 1995-12-19 Daikin Ind Ltd ロボット制御装置
JP2001293638A (ja) * 2000-02-10 2001-10-23 Fanuc Ltd 制御装置

Also Published As

Publication number Publication date
TW202136946A (zh) 2021-10-01
DE112020006573T5 (de) 2022-12-15
JP6818954B1 (ja) 2021-01-27
CN115243813B (zh) 2023-09-22
JPWO2021186574A1 (ja) 2021-09-23
CN115243813A (zh) 2022-10-25
DE112020006573B4 (de) 2024-06-06
TWI765597B (zh) 2022-05-21

Similar Documents

Publication Publication Date Title
JP4813618B2 (ja) イナーシャと摩擦を同時に推定する機能を有する電動機の制御装置
WO2021192023A1 (ja) 数値制御装置
JP2018118353A (ja) 学習制御機能を備えた制御システム及び制御方法
EP3147087A1 (en) Robot apparatus, robot controlling method, program, recording medium, and assembly manufacturing method
JP2018149606A (ja) 生産ラインにおける運用を考慮した学習制御を行うロボット及びその制御方法
CN101753094A (zh) 进行惯量推定的控制装置以及控制系统
JP6841801B2 (ja) 機械学習装置、制御システム及び機械学習方法
WO2021186574A1 (ja) 制御システム、モータ制御装置および機械学習装置
JP2014018941A (ja) 制御装置、及び制御方法
US10691091B2 (en) Controller and machine learning device
Kuroda et al. Autonomous parameter design for cascade-structure feedback controller based on cooperative optimization method
JP2020035159A (ja) パラメータ調整装置
Kirchhoff et al. Velocity estimation for ultralightweight tendon-driven series elastic robots
JP5832382B2 (ja) 数値制御装置
JP7000371B2 (ja) 機械学習装置、制御システム及び機械学習方法
Jorda et al. New passivity observers for improved robot force control
Classens et al. Fault detection for precision mechatronics: Online estimation of mechanical resonances
Yashiro et al. Design of adaptive controller using object position for bilateral control system with communication delay
JP6426771B2 (ja) サーボ制御装置
Karandikar et al. Evaluation of automated stability testing in machining through closed-loop control and Bayesian machine learning
JP4664576B2 (ja) サーボ制御装置
WO2020230234A1 (ja) 制御システムおよびモータ制御装置
Chehimi et al. A predictive controller for induction motors using an unknown input observer for online rotor resistance estimation and an update technique for load torque
JP3871030B2 (ja) サーボ制御方法
JP7496095B2 (ja) 制御システム、制御方法、コンピュータ、および制御プログラム

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2020544058

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 20925092

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 20925092

Country of ref document: EP

Kind code of ref document: A1