WO2020158239A1 - 作業判別装置および作業判別方法 - Google Patents
作業判別装置および作業判別方法 Download PDFInfo
- Publication number
- WO2020158239A1 WO2020158239A1 PCT/JP2019/049929 JP2019049929W WO2020158239A1 WO 2020158239 A1 WO2020158239 A1 WO 2020158239A1 JP 2019049929 W JP2019049929 W JP 2019049929W WO 2020158239 A1 WO2020158239 A1 WO 2020158239A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- work
- unit
- sensor data
- industrial machine
- robot
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0259—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
- G05B23/0286—Modifications to the monitored process, e.g. stopping operation or adapting control
- G05B23/0289—Reconfiguration to prevent failure, e.g. usually as a reaction to incipient failure detection
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1653—Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/085—Force or torque sensors
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/088—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
- B25J13/089—Determining the position of the robot with reference to its environment
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1674—Programme controls characterised by safety, monitoring, diagnostic
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1687—Assembly, peg and hole, palletising, straight line, weaving pattern movement
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0218—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
- G05B23/0224—Process history based detection method, e.g. whereby history implies the availability of large amounts of data
- G05B23/024—Quantitative history assessment, e.g. mathematical relationships between available data; Functions therefor; Principal component analysis [PCA]; Partial least square [PLS]; Statistical classifiers, e.g. Bayesian networks, linear regression or correlation analysis; Neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40033—Assembly, microassembly
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40224—If robot gets a return signal, go to initial condition position
Definitions
- the present invention relates to a work discriminating apparatus and a work discriminating method for discriminating the quality of a work performed by an industrial machine such as a robot.
- the quality of the work is determined using the time-series data acquired by the sensor installed in the industrial machine.
- the device for judging the quality of the work generally extracts the characteristic amount such as the amplitude value from the time-series data for each predetermined time width, and compares the characteristic amount with the reference to judge the quality of the work. To do. It is desirable to shorten the time width in order to suppress the time delay from the occurrence of an abnormality to the judgment, but if the time width is shortened, the judgment accuracy will decrease.
- Patent Document 1 a plurality of feature amounts are extracted with different time widths, and the quality of the work is determined by whether or not the plurality of feature amounts satisfy an evaluation criterion, thereby suppressing the time delay from the occurrence of an abnormality to the determination.
- a determination device that aims to achieve both determination accuracy.
- the characteristic amount is calculated by accumulating the data for a certain period and using the accumulated data, there is still a problem that a time delay occurs from the occurrence of an abnormality to the determination.
- the present invention has been made in view of the above, and an object thereof is to obtain a work discriminating apparatus capable of suppressing a time delay from the occurrence of a work abnormality to the determination.
- the work discriminating apparatus outputs state data indicating a work state of an industrial machine, an output interval which is an integral multiple of a control cycle for controlling the operation of the industrial machine. And a sensor data output unit for outputting in.
- the work determination device includes a determination unit that determines whether the work of the industrial machine is good or bad by inference by a recurrent neural network based on the state data output from the sensor data output unit.
- the work discrimination device has an effect of suppressing a time delay from the occurrence of a work abnormality to the determination.
- FIG. 3 is a diagram showing a configuration example of a determination unit according to the first embodiment.
- FIG. 3 is a diagram showing a configuration example of an intermediate layer of the model unit according to the first embodiment.
- FIG. 3 is a diagram showing a configuration example of a processing circuit of Embodiment 1.
- FIG. 3 is a diagram showing a configuration example of a mechanical system according to a second embodiment.
- FIG. 6 is a diagram showing a configuration example of a sensor data output unit according to the third embodiment.
- FIG. 8 is a diagram showing a configuration example of a sensor data output unit according to the fifth embodiment.
- FIG. 3 is a diagram showing a configuration example of a determination unit according to the first embodiment.
- FIG. 3 is a diagram showing a configuration example of an intermediate layer of the model unit according to the first embodiment.
- FIG. 3 is a diagram showing a configuration example of a processing circuit of Embodiment 1.
- FIG. 3 is a diagram showing a configuration example of a mechanical system according
- FIG. 10 is a diagram showing a configuration example of a sensor data output unit according to the sixth embodiment.
- FIG. 13 is a diagram showing a configuration example of a sensor data output unit according to the seventh embodiment.
- the flowchart which shows an example of the method of discriminating the quality of work of Embodiment 11.
- FIG. 1 is a diagram showing a configuration example of a mechanical system including a work determination device according to the first exemplary embodiment of the present invention.
- the mechanical system includes a robot 1, a sensor 2 installed in the robot 1, a control device 3, a learning device 4, and a display device 5.
- a robot 1 that performs assembly work such as cover assembly, connector insertion, board insertion, shaft fitting, and the like will be described.
- the present embodiment is not limited to the robot 1 that performs the assembly work, but can be applied to a robot that performs work other than the assembly work, a machine that performs processing such as cutting, and an industrial machine such as a packaging machine.
- the sensor 2 is installed in the robot 1 and detects a work state of the robot 1, a state around the robot 1, a state quantity inside the robot 1, and the like.
- the sensor 2 includes a force sensor.
- the force sensor is installed on the wrist of the robot 1, for example.
- the force sensor periodically detects the forces (Fx, Fy, Fz) and the moments (Mx, My, Mz) around the three axes of the robot 1 in the three axis directions, and controls the detected results as sensor data.
- a cycle in which the sensor 2 detects a work state of the robot 1, a surrounding state of the robot 1, a state quantity inside the robot 1, and the like is referred to as a sampling cycle.
- the control device 3 uses the sensor data output from the sensor 2 to control the robot 1 according to a robot program for controlling the operation of the robot 1.
- the control device 3 controls the operation of the robot 1 so that the work defined according to the robot program is carried out.
- the robot program defines, for example, the hand position of the robot 1.
- the controller 3 controls the robot 1 by generating an operation command for operating the robot 1 in each control cycle.
- the control cycle is the same as the sampling cycle, but the control cycle and the sampling cycle may be different.
- the control device 3 has a function as the work determination device 30 according to the first embodiment.
- the control device 3 uses the sensor data output from the sensor 2 to determine whether the work of the robot 1 is good, that is, whether there is an abnormality.
- the work class indicating the quality of the work is determined.
- the work class is a value indicating the quality of the work and a value indicating the degree of normality of the work or the type of abnormality.
- the work class is not limited to the binary value of good or bad, and may include a class showing an intermediate state between good and bad.
- the number of abnormalities is not limited to one, and a combination of two or more values may be used as the type of abnormality.
- this will be referred to as work quality determination, including determination of the work class.
- the control device 3 that controls the robot 1 has a function as the work determination device 30, but the work determination device 30 is provided separately from the control device 3 that controls the robot 1. You may do it.
- the learning device 4 uses the input work result and the sensor data output from the control device 3 to perform learning for determining the quality of the work performed in the control device 3, and outputs the learning result to the control device 3. Output to.
- the learning device 4 is provided separately from the control device 3 here, the learning device 4 and the control device 3 may be integrated.
- the work determination device 30 may be provided separately from the control device 3 that controls the robot 1, and the work determination device and the learning device 4 may be integrated.
- the display 5 displays the work status of the robot 1 based on the instruction from the control device 3.
- the display device 5 may be a liquid crystal monitor, a display, or the like, or may be an indicator light such as a rotating light. Further, the display device 5 may also notify by voice such as a buzzer.
- the display device 5 is provided separately from the control device 3 will be described, but the display device 5 and the control device 3 may be integrated. Further, the display 5 and the learning device 4 may be integrated.
- the control device 3 includes a sensor data output unit 31, a determination unit 32, a motion correction unit 33, and a motion control unit 34.
- the sensor data output unit 31 outputs data indicating a work state of the robot 1 at an output interval that is an integral multiple of a control cycle for controlling the operation of the robot 1.
- the output interval is one control cycle.
- the sensor data output unit 31 samples sensor data including forces (Fx, Fy, Fz) in the three axis directions and moments (Mx, My, Mz) around the three axes, which are output from the force sensor.
- the state data output by the sensor data output unit 31 is at least a part of the sensor data output from the sensor 2 in the present embodiment, and in this example, the forces (Fx, Fy, Fz).
- the discrimination unit 32 discriminates whether or not there is an abnormality in the work of the robot 1 by inference by an RNN (Recurrent Neural Network) based on the data output from the sensor data output unit 31. Specifically, the determination unit 32 determines the quality of the work of the robot 1 by inference using the learning model of the RNN generated by the learning device 4. For example, the determination unit 32 outputs the operation state of the robot 1 by using the learning model with the forces (Fx, Fy, Fz) in the three-axis directions output from the sensor data output unit 31 as input in each control cycle. Data is obtained, and whether the work of the robot 1 is good or not, that is, whether the work is abnormal or not is determined based on the output data.
- RNN Recurrent Neural Network
- the determination unit 32 may also determine the type of abnormality.
- the type of abnormality two types of positional deviation and component abnormality will be described as an example, but the type of abnormality may be one type or three or more types.
- the part abnormality is an abnormality relating to the part such as a part of the part being damaged or a foreign matter being attached to the part.
- the format of the data indicating the determination result is not limited to the above-described example.
- the determination unit 32 outputs the determination result to the operation correction unit 33.
- RNN is an example of machine learning using time series data as an input. Details of the determination unit 32 will be described later.
- the motion correction unit 33 controls to correct the motion of the robot 1 based on the discrimination result by the discrimination unit 32.
- the operation correction unit 33 does not perform any operation when the determination result input from the determination unit 32 is a value indicating normality.
- the operation correcting unit 33 instructs the display unit 5 to display the abnormality of the positional deviation, and
- the operation of the robot 1 is modified so as to perform the operation.
- the motion correction unit 33 generates, for example, a command for stopping the robot 1 once, returning the robot 1 to a predetermined position, performing a search motion, and restarting work as a motion correction command. Output to the operation control unit 34.
- the position of the correct insertion work is searched based on the values of the force sensor, the tactile sensor, etc. attached to the robot 1. For example, in the case of a connector insertion work to a pin without a cover, the connector held by the robot 1 is abutted from a plurality of directions at low speed to derive the pin position, and the connector insertion work is performed again at the derived position. ..
- the operation correction unit 33 instructs the display unit 5 to display the component abnormality and performs the component abnormality operation. Correct the operation of the robot 1.
- the motion correction unit 33 generates, for example, a command for returning the robot 1 to a predetermined position after stopping the robot 1 and then stopping the robot 1 again as a motion correction command, and sends the command to the motion control unit 34. Output.
- the operation correction unit 33 controls the robot 1 to return to the predetermined position and then perform the work again.
- the robot 1 is controlled to stop.
- the operation control unit 34 uses the sensor data output from the sensor data output unit 31 to generate an operation command for operating the robot 1 for each control cycle, and outputs the operation command to the robot 1. Further, when the operation control unit 34 receives the operation correction command from the operation correction unit 33, the operation control unit 34 stops the output of the normal operation command and outputs the operation correction command received from the operation correction unit 33 to the robot 1. ..
- the learning device 4 is, for example, a computer such as a personal computer (PC) and includes a learning unit 41.
- the learning unit 41 performs machine learning using teacher data, which is also called training data, before the robot 1 starts assembly work in actual production.
- teacher data which is also called training data
- the discriminating unit 32 of the control device 3 incorporates the learning model learned by the learning unit 41 using the teacher data.
- the determination unit 32 inputs the forces (Fx, Fy, Fz) in the three-axis directions output from the sensor data output unit 31 and uses the results obtained by this learning model to determine the work of the robot 1. Determine pass/fail.
- the learning unit 41 uses the teacher data corresponding to each state including at least the following first state, second state and third state before the robot 1 starts the assembly work in the actual production. , Do machine learning.
- the first state is the state where the assembly work ends normally.
- the operator causes the robot 1 to perform the assembly work before starting the assembly work in the actual production.
- the learning unit 41 of the learning device 4 stores the forces (Fx, Fy, Fz) in the three axial directions output from the sensor data output unit 31 in the learning device 4 as input data during the assembly work.
- the input data is time series data in the time zone in which this assembly work is performed.
- the operator inputs the work result, that is, (1, 0, 0) as the correct answer value of the output data to the learning unit 41.
- the operator inputs a correct value of the output data to the learning device 4 by operating a keyboard, a mouse, a touch panel, etc., which are input means of the computer which is the learning device 4.
- the learning device 4 gives the data received by the input means to the learning unit 41.
- the learning unit 41 learns, as teacher data, a set of input data corresponding to the first state among the stored input data and (1, 0, 0) which is the correct value of the output data.
- the second state is a state in which the robot 1 is displaced and the assembly work fails.
- the learning unit 41 of the learning device 4 stores the forces (Fx, Fy, Fz) in the three-axis directions output from the sensor data output unit 31 in the learning device 4 as input data during the unsuccessful assembly work. I'll do it.
- the operator inputs (0, 1, 0) to the learning unit 41 as the correct value of the output data.
- the learning unit 41 learns a set of input data corresponding to the second state of the stored input data and the correct value (0, 1, 0) of the output data as the teacher data.
- the third state is a state in which assembly work fails due to a part abnormality such as a part being partially missing or foreign matter being attached to the part.
- a part abnormality such as a part being partially missing or foreign matter being attached to the part.
- the learning unit 41 of the learning device 4 stores the forces (Fx, Fy, Fz) in the three-axis directions output from the sensor data output unit 31 in the learning device 4 as input data during the unsuccessful assembly work. I'll do it.
- the operator inputs (0, 0, 1) to the learning unit 41 as the correct value of the output data.
- the learning unit 41 learns, as teacher data, a set of (0, 0, 1), which is the correct value of the input data corresponding to the third state and the output data among the stored input data.
- a set of (0, 0, 1) which is the correct value of the input data corresponding to the third state and the output data among the stored input data.
- the learning device 4 In the third state, not only the component abnormality but also the positional deviation is caused to cause the learning device 4 to acquire the sensor data corresponding to this period, which is the correct value of the output data as the corresponding work result ( 0, 1, 1) may be input for learning.
- the robot 1 When the learning of the learning unit 41 is performed, the robot 1 is made to perform an assembly operation at a plurality of speeds, and data corresponding to each speed is acquired and learning is performed. At this time, learning may be performed for all the speeds at which the robot 1 can operate, or by performing learning at a plurality of speeds that represent a range of assumed speeds, compared to the case where learning is performed for all speeds. Therefore, the time required for learning can be reduced. Furthermore, by learning at one speed, such as the speed most likely to be used or the lowest speed in the assumed speed range, data for learning is collected from the early stage of start-up adjustment. By reducing the amount of data required for learning, it is possible to further reduce the time required for learning.
- the number of elements of output data is not limited to three.
- (1,0,0) indicates that the assembling work is normally performed
- (0,1,0) indicates the positional deviation abnormality
- (0,0,1) indicates the component abnormality.
- the specific value of the output data and its definition are not limited to this example.
- the number of dimensions may be increased, and the abnormal state of the component may be divided into a plurality of abnormal modes such as a defect of the component and the attachment of a foreign substance, and the learning may be performed separately.
- the sensor data which is time-series data of each state, becomes input data, and machine learning by RNN is performed.
- FIG. 2 is a diagram showing a configuration example of the determination unit 32 of the present embodiment.
- the discrimination unit 32 uses the model unit 321 that performs data generation using the learning model that has been learned by the learning unit 41 and the data generated by the model unit 321, that is, the output data of the learned learning model, and An abnormality determining unit 322 for determining acceptability is provided.
- the learning unit 41 has a model unit having the same configuration as the model unit 321 of FIG. 2, evaluates the error of the output data obtained by the model unit, and weights each weight of the model unit to reduce the error. It has the function of determining.
- the learning model that has been learned is obtained so that the error becomes small.
- the model unit 321 includes an input layer 35, an intermediate layer 36, and an output layer 37, as shown in FIG.
- the input layer 35 includes the number of nodes 38 corresponding to the number of elements of input data, that is, the number of inputs. In FIG. 2, only the uppermost node 38 is labeled, but the circle in the input layer 35 in which the symbol is omitted is also the node 38.
- the middle tier 36 includes a plurality of nodes 39.
- the output layer 37 includes the number of nodes 40 according to the number of elements of output data, that is, the number of outputs.
- the circle in the output layer 37 in which the symbol is omitted is also the node 40.
- the input layer 35 outputs the input data, which is the sensor data output from the sensor data output unit 31, to the intermediate layer 36 for each control cycle.
- each node 38 outputs the input data to each node 39 of the intermediate layer 36.
- Each node 38 may multiply the input value by a weight and then output the value to each node 39 of the intermediate layer 36.
- Each node 39 of the intermediate layer 36 performs the RNN process and outputs the processing result to each node 40 of the output layer 37.
- Each node 40 of the output layer 37 adds the data output from each node 39 of the intermediate layer 36, and outputs the addition result.
- Each node 40 of the output layer 37 may multiply the data output from each node 39 of the intermediate layer 36 by a weight, and may add the result of multiplying the weight.
- the intermediate layer 36 is one layer, but the intermediate layer 36 may be two or more layers. Further, in FIG. 2, the number of inputs is 3 and the number of outputs is 3, but the number of inputs and the number of outputs are not limited to this. Although the number of nodes 39 in the middle tier 36 is five in FIG. 2, the number of nodes 39 in the middle tier 36 is not limited to five.
- the three elements that make up the input data at time t are x 1 t , x 2 t , and x 3 t .
- t is a time discretized with the control cycle as a unit. That is, t is an integer indicating the number of the control cycle.
- h 1 t , h 2 t , h 3 t , h 4 t , and h 5 t represent the output of each node 39 of the intermediate layer 36 at time t.
- y 1 t , y 2 t , and y 3 t represent the output of each node 40 of the output layer 37 at time t.
- the intermediate layer 36 stores the output result of the intermediate layer 36 in the previous control cycle, and calculates from the output result of the previous control cycle and the value input from the input layer 35 in the current control cycle.
- the RNN is often used for learning time series data such as sensor output.
- a vector whose elements are input values (for example, x 1 t , x 2 t , x 3 t ) is denoted by x t
- h t a vector whose elements are output values of the intermediate layer 36 is denoted by h t.
- t can be represented by the following formula (1).
- t is an integer indicating the number of the control cycle.
- W is a linear transformation matrix of N ⁇ M dimensions
- R is a linear transformation matrix of N ⁇ N dimensions
- b is It is a bias vector.
- g(•) indicates an activation function.
- RNN examples include Elman/Jordan net, LSTM (Long Short Term Memory), and GRU (Gated Recurrent Unit), which may be configured, but in the present embodiment, the case where LSTM is used is an example. To explain.
- FIG. 3 is a diagram showing a configuration example of the intermediate layer 36 of the model unit 321 of the present embodiment.
- the case where there is one node 39 is described as an example.
- the calculations shown in the following equations (2)-(7) are performed.
- W f , W i , W z , and W o are N ⁇ M dimensional linear transformation matrices
- R f , R i , R z , and R o are N ⁇ N dimensional linear transformation matrices
- b f, b i, b z , b o is a bias vector.
- each process in the model unit 321 can use a process in a general RNN, detailed description thereof will be omitted.
- the y 1 t , y 2 t , and y 3 t output from each node 40 of the output layer 37 are input to the abnormality determination unit 322 as output data of the model unit 321.
- y 1 t , y 2 t , and y 3 t have the following values.
- the closer y 1 to the second element y 2 t the higher the possibility that the positional deviation of the robot 1 is abnormal.
- the third element y 3 t is closer to 1, it indicates that there is a high possibility that the component is partially defective or foreign matter adheres to the component.
- the abnormality determination unit 322 determines the quality of the work of the robot 1 for each control cycle based on the output data of the model unit 321.
- the robot 1 starts assembly work such as cover assembly, connector insertion, board insertion, shaft fitting, and the like, and the discrimination unit 32 starts discrimination for production.
- the robot 1 finishes the assembly work and the discrimination.
- the correct value of the output data is indicated by an integer value such as (1, 0, 0) as described above, but the output data of the model unit 321 does not always have an integer value. Absent. Therefore, the quality of the work is determined by comparing each value with the specified value.
- the abnormality determination unit 322 determines that the positional deviation is abnormal when the second element is equal to or more than the specified value even once in each control cycle from the start to the end of the assembly work, and determines the value indicating the positional deviation abnormality. Is output to the operation correction unit 33.
- the abnormality determining unit 322 determines a component abnormality when the third element is equal to or more than the specified value even once in each control cycle from the start to the end of the assembly work, and determines the value indicating the component abnormality as the determination result. Is output to the operation correction unit 33.
- the abnormality determination unit 322 determines that the component abnormality occurs when the second element once exceeds the specified value and the third element once exceeds the specified value in each control cycle from the start to the end of the assembly work.
- a value indicating a component abnormality may be output to the operation correction unit 33 as a determination result.
- the abnormality determining unit 322 determines normality when the first element is equal to or more than the specified value and both the second element and the third element are less than the specified value in the entire control cycle from the start to the end of the assembly work.
- the indicated value is output to the operation correction unit 33 as the determination result.
- the abnormality determination unit 322 uses the value indicating normality as the determination result when the second element and the third element are both less than the specified value in the entire control cycle from the start to the end of the assembly work, and the operation correction unit 33. You may make it output to.
- the specified values used in the comparison of the first element, the second element, and the third element may be different or the same. Further, in the above example, the determination is made based on whether or not each value is the specified value or more, but the determination may be performed based on whether or not each value exceeds the specified value.
- the sensor data output unit 31, the determination unit 32, the operation correction unit 33, and the operation control unit 34 of the control device 3 are realized by a processing circuit.
- the processing circuit may be a circuit including a processor or may be dedicated hardware.
- FIG. 4 is a diagram showing a configuration example of the processing circuit of the present embodiment.
- the processing circuit 100 shown in FIG. 4 includes a processor 101 and a memory 102.
- the processor 101 reads and executes the program stored in the memory 102. By doing so, these are realized. That is, when the sensor data output unit 31, the determination unit 32, the operation correction unit 33, and the operation control unit 34 are realized by the processing circuit 100 shown in FIG. 4, these functions are realized by using a program that is software.
- the memory 102 is also used as a work area of the processor 101.
- the processor 101 is a CPU (Central Processing Unit) or the like.
- the memory 102 corresponds to, for example, a RAM (Random Access Memory), a ROM (Read Only Memory), a nonvolatile or volatile semiconductor memory such as a flash memory, or a magnetic disk.
- the processing circuit is, for example, FPGA (Field Programmable Gate Array) or ASIC (Application Specific Integrated Circuit). ..
- the sensor data output unit 31 may be realized by combining a processing circuit including a processor and dedicated hardware.
- the sensor data output unit 31, the determination unit 32, the operation correction unit 33, and the operation control unit 34 may be realized by a plurality of processing circuits.
- the learning device 4 is a computer as described above.
- the learning unit 41 of the learning device 4 is realized by a processing circuit in a computer. This processing circuit is similar to the processing circuit 100 shown in FIG.
- the learning device 4 is realized by the processor 101 reading and executing the program stored in the memory 102.
- the memory 102 is also used as a work area of the processor 101.
- the computer that realizes the learning device 4 includes the input unit such as the keyboard, the mouse, the touch panel, and the display unit such as the display and the monitor as described above. The operator who uses the learning device 4 can input the work result using the input unit as described above according to the display screen displayed on the display unit.
- the learning device 4 and the control device 3 may each include a communication circuit in order to transmit and receive data between the learning device 4 and the control device 3. In this case, data transmission/reception between the learning device 4 and the control device 3 is performed via these communication circuits.
- the number of inputs in the model unit 321 is three and the number of outputs is three, but the number of inputs and the number of outputs are not limited to the examples described above.
- the number of inputs may be 6 and the number of outputs may be 2 as follows.
- moments (Mx, My, Mz) around each of the three axes are used in addition to the forces in the three axis directions.
- the operator tells the learning device 4 not only the normal state and the abnormal state such as the positional deviation and the component abnormality but also the forces in the three-axis directions and the three-axis directions.
- the moments (Mx, My, Mz) around are acquired and learned in association with the work result which is the correct output data. For example, when the work of the robot 1 is normal, the output data is set to (1, 0), and when the work is abnormal, the output data is set to (0, 1) and learning is performed.
- the abnormality determination unit 322 determines the necessity of the work based on the output data composed of the two elements of the first element and the second element.
- the abnormality determination unit 322 when the second element is equal to or larger than the specified value, the abnormality determination unit 322 outputs a value indicating an abnormality to the operation correction unit 33 as a determination result. When the second element is less than the specified value, the abnormality determination unit 322 outputs a value indicating normality to the operation correction unit 33 as a determination result. When a value indicating that the determination result is normal is input, the operation correction unit 33 does nothing. Further, when a value indicating an abnormality is input as the determination result, the motion correction unit 33 issues a motion command to stop the robot 1 once and then return the robot 1 to a predetermined position and stop it again. The error is output to the operation control unit 34, and the abnormality is displayed on the display unit 5.
- a force sensor and a position detector for detecting the motor position of each axis of the robot 1 may be provided.
- the sensor data output unit 31 determines the force (Fx, Fy, Fz) in the three axis directions, the moments (Mx, My, Mz) around the three axes, and the motor positions of the six axes as the sensor data. Since the data is output to 32, the number of inputs in the model unit 321 is 12. Further, a current detector for further detecting the motor current may be added as the sensor 2, and the sensor data output unit 31 may further output the motor current as the sensor data to the determination unit 32. Further, the motor position command may be input to the determination unit 32.
- the content of the sensor data and the number of items are not limited to the above-mentioned examples as long as they indicate the state of the robot 1, the state of work of the robot 1, and the state around the robot 1.
- the output number is 4 or more.
- learning according to these is performed using the learning device 4.
- the learning device 4 performs learning using teacher data corresponding to each type of abnormality before starting the assembly work in actual production.
- the determination by the determination unit 32 is performed every control cycle as described above. Therefore, it is possible to suppress the time delay from the occurrence of the abnormality to the determination, as compared with the conventional technique that accumulates data for a certain period of time and calculates the feature amount using the accumulated data to determine the abnormality of the work. .. Further, in the present embodiment, since a plurality of abnormal modes are discriminated by one recurrent neural network, processing at the time of work pass/fail determination is performed as compared with the conventional technique of calculating a plurality of feature amounts and determining work pass/fail. The load can be suppressed.
- the control device 3 since it is not necessary to set the time width for discrimination, it is possible to perform discrimination by the same discrimination unit regardless of the work speed. Therefore, it is not necessary to re-learn by changing the work speed.
- the control device 3 suppresses the time delay from the occurrence of a work abnormality to the determination at the time of work quality determination, the processing load at the time of work quality determination, and the work speed. It is possible to eliminate the need for re-learning by changing the.
- FIG. 5 is a diagram showing a configuration example of the mechanical system according to the second embodiment.
- the mechanical system of the present embodiment is the same as the mechanical system of the first embodiment except that a control device 3a is provided instead of the control device 3 of the first embodiment.
- the control device 3a has a correction amount storage unit 61 added to the control device 3 of the first embodiment.
- the same components as those in the first embodiment will be described with the same reference numerals, and the overlapping description with the first embodiment will be omitted.
- the points different from the first embodiment will be mainly described.
- the output data of the model unit 321, that is, each element forming the output data of the RNN corresponds to a flag indicating whether or not the condition indicated by each element is satisfied, for example, whether or not it is normal. It was something to do.
- output data includes not only a value corresponding to a flag but also a value that quantitatively indicates some item.
- the learning unit 41 uses the teacher data corresponding to each state including at least the following first state, second state and third state before the robot 1 starts the assembly work in the actual production. , Do machine learning. That is, the first state is a case where there is no position shift and the assembling work is completed normally, and the second state is that the assembling work fails due to the position shift or the assembling work succeeds although there is a position shift. This is the case.
- the third state is a case where the work fails due to a part abnormality such as a part of the part being damaged or a foreign matter being attached to the part.
- the operator inputs (1, 0, 0, 0, 0) into the learning device 4 as the work result corresponding to the first state.
- the learning device 4 learns by associating the sensor data corresponding to the first state with the work result.
- the sensor data is assumed to be time-series data of forces (Fx, Fy, Fz) in the three axis directions and moments (Mx, My, Mz) around the three axes.
- the operator intentionally causes the positional deviation to cause the second state.
- the operator selects (0, r 1 , r 2 , r 3 , 0) when the assembly work fails, and (1, when the assembly work succeeds.
- r 1 , r 2 , r 3 , 0) is input to the learning device 4.
- r 1 , r 2 , and r 3 represent the ratio of the allowable deviation amount and the actual deviation amount of the position in the x-axis direction, the position in the y-axis direction, and the rotation ⁇ around the z-axis which is the vertical axis, respectively.
- r 1 , r 2 , and r 3 are examples of values indicating the amount of positional deviation.
- the xy axes are two horizontal axes and the z axis is the vertical axis direction.
- the allowable amount of displacement of the robot 1 in the x-axis direction is ⁇ x max .
- the operator measures the actual shift amount of the robot 1 in the x-axis direction.
- the measurement result measured by the operator is ⁇ x r .
- the operator calculates r 2 and r 3 and inputs a work result based on the obtained calculation result to the learning device 4.
- the learning device 4 learns the sensor data corresponding to the second state and the work result in association with each other. At this time, the operator changes the amount of the positional deviation to be generated and inputs the work result according to the changed positional deviation so that the learning device 4 can learn a plurality of cases having different positional deviations. Good.
- the operator intentionally causes the component abnormality to cause the third state.
- the operator inputs (0, r 1 , r 2 , r 3 , 1) to the learning device 4 as the work result corresponding to the third state.
- misalignment may or may not occur.
- r 1 , r 2 and r 3 are 0, 0 and 0, respectively.
- the learning device 4 learns the sensor data corresponding to the third state and the work result in association with each other.
- the learning device 4 When the above-described learning is performed, the learning device 4 generates a learned learning model, and this learning model is used by the model unit 321 of the discriminating unit 32. Then, as in the case of the first embodiment, the robot 1 starts assembly work such as cover assembly, connector insertion, board insertion, shaft fitting, and the like, and the determination unit 32 starts the determination for production.
- the number of inputs of the model unit 321 is 6, and the number of outputs is 5.
- the model unit 321 inputs the output data including five elements from the first element to the fifth element to the abnormality determination unit 322.
- the abnormality determining unit 322 determines that the component is abnormal when the fifth element is equal to or more than the specified value even once in each control cycle from the start to the end of the assembly work, and operates the value indicating the component abnormality as the determination result. Output to the correction unit 33.
- the abnormality determination unit 322 determines the position when one or more of the second element, the third element, and the fourth element have become equal to or more than the specified value even once in each control cycle from the start to the end of the assembly work. It is determined that the deviation is abnormal, and the value indicating the positional deviation is output to the operation correction unit 33 as the determination result. At this time, if the second element, the third element, and the fourth element are all less than the specified value in the entire control cycle from the start to the end of the assembly work, the abnormality determination unit 322 indicates a normal determination result.
- the values are output to the motion correction unit 33, and r 1 , r 2 , and r 3 are also output to the motion correction unit 33.
- the specified values used for the comparison with the first to fifth elements may be different or the same.
- the abnormality determining unit 322 determines that the first element is equal to or greater than the specified value and the second element, the third element, the fourth element, and the fifth element are 0 in the entire control cycle from the start to the end of the assembly work. If there is, there is no positional deviation and it is determined that the work has been performed normally, and a value indicating normality is output to the operation correction unit 33 as the determination result.
- the motion correction unit 33 When a value indicating a component abnormality is input as the determination result, the motion correction unit 33 temporarily stops the robot 1 and then generates a motion correction command for returning the robot 1 to a predetermined position and stopping it again. And outputs it to the operation control unit 34, and displays the abnormality on the display unit 5.
- the motion correction unit 33 stops the robot 1 once and then returns the robot 1 to a predetermined position, and at the same time, sets the values of r 1 , r 2 and r 3 . In response to this, a motion correction command for correcting the positional deviation of the robot 1 is generated and output to the motion control unit 34.
- the operation correcting unit 33 uses the values of r 1 , r 2 , and r 3 to correct the operation of the industrial machine so as to suppress the positional deviation, and controls the operation to be performed again. As a result, the assembling work is performed again based on the operation correction command in which the positional deviation is corrected.
- the operation correction unit 33 ends the work without doing anything but starts the next work.
- the values of r 1 , r 2 , and r 3 are stored in the correction amount storage unit 61 until the next time, and r 1 , r 2 , and r 3 are read from the correction amount storage unit 61 at the start of the next work, and r 1 ,
- An operation command for correcting the displacement of the robot 1 is generated according to the values of r 2 and r 3 and output to the operation control unit 34.
- the motion correction unit 33 does not correct the operation of the robot 1 in the work, and the value indicating the amount of positional deviation in the next work of the robot 1. Is used to control the operation of the robot 1 so as to suppress the displacement. As a result, in the subsequent work, the assembly work is performed based on the operation correction command in which the positional deviation is corrected, so that the stop of the robot 1 due to the accumulated positional deviation can be suppressed.
- the operation of this embodiment other than that described above is the same as that of the first embodiment.
- the correction amount storage unit 61 is realized by a memory.
- the abnormality determination unit 322 outputs the output data including the value that quantitatively indicates the positional deviation of the robot 1 to the operation correction unit 33 when the positional deviation is determined. did.
- the control device 3a according to the present embodiment has the same effect as that of the first embodiment, and when the positional deviation occurs, operates the robot 1 so as to compensate the positional deviation amount of the robot 1.
- the robot 1 can continue the work.
- by correcting the commands from the next time onward it is possible to suppress the occurrence of positional deviation during work.
- FIG. 6 is a diagram showing a configuration example of a sensor data output unit according to the third embodiment of the present invention.
- the sensor data output unit 31b according to the third embodiment includes a filter 311 including any one of a high pass filter, a band pass filter, and a low pass filter.
- the control device 3b according to the present invention is the same as the control device 3 of the first embodiment except that the sensor data output unit 31 is replaced by a sensor data output unit 31b.
- the mechanical system according to the present embodiment is the same as the mechanical system according to the first embodiment except that a control device 3b is provided instead of the control device 3.
- a part different from the first embodiment will be described, and a description overlapping with the first embodiment will be omitted.
- the sensor data output unit 31b receives the sensor data output from the sensor 2.
- the sensor 2 is a force sensor
- the sensor data is composed of forces (Fx, Fy, Fz) of the robot 1 in the three axis directions and moments (Mx, My, Mz) around the three axes. It is assumed to be force sensor data.
- the filter 311 of the sensor data output unit 31b extracts a component of a desired frequency band from the force sensor data, and outputs the extracted result as state data to the determination unit 32. In this way, by extracting the component of the desired frequency band from the sensor data, it is possible to suppress the influence of noise and the like, and therefore it is possible to improve the accuracy of determining whether the work is good or bad. Further, when the frequency band in which the sensor data changes due to the work appear is known, the accuracy of the work pass/fail determination can be improved by extracting the frequency band with the filter 311.
- the sensor data output unit 31b is realized by a processing circuit like the sensor data output unit 31. The operation of this embodiment other than that described above is the same as that of the first embodiment. Further, the sensor data output unit 31b of the present embodiment may be applied to the mechanical system of the second embodiment.
- the execution cycle of the discrimination operation by the discrimination unit 32 is the same as the normal control cycle in the operation control unit 34.
- the output interval from the sensor data output unit 31, that is, the execution period of the determination operation by the determination unit 32 is set to an integral multiple of the normal control period in the operation control unit 34.
- L is an integer of 2 or more
- the output interval from the sensor data output unit 31 is L times the control cycle, and the sensor data output unit 31 outputs the latest L sensor data. The average value is output as status data.
- the execution cycle of the determination operation by the determination unit 32 is set to four times the normal control cycle in the operation control unit 34.
- the sensor data output unit 31 uses the sensor data for the latest four sampling cycles to obtain an average value for four sampling cycles for each data such as forces (Fx, Fy, Fz) in the three axis directions. calculate.
- the time from the occurrence of the abnormality to the time of determining the abnormality may be longer than that of the first embodiment, but the execution cycle of the determination operation by the determination unit 32 is set to the conventional feature amount. If it is set to be shorter than the fixed period used for the calculation, it is possible to suppress the time from the occurrence of the abnormality to the determination of the abnormality as compared with the conventional case.
- the operation of this embodiment other than that described above is the same as that of the first embodiment. Further, the operation of this embodiment may be applied to the mechanical system of the second or third embodiment.
- FIG. 7 is a diagram showing a configuration example of a sensor data output unit according to the fifth embodiment of the present invention.
- the sensor data output unit 31c according to the fifth embodiment includes a disturbance prediction unit 312 and a subtraction unit 313.
- the control device 3c according to the present invention is the same as the control device 3 of the first embodiment except that the sensor data output unit 31 is replaced by a sensor data output unit 31c.
- the mechanical system according to the present embodiment is the same as the mechanical system according to the first embodiment except that a control device 3c is provided instead of the control device 3.
- a part different from the first embodiment will be described, and a description overlapping with the first embodiment will be omitted.
- the senor 2 includes not only the force sensor but also the position detector that detects the position of the motor corresponding to each axis of the robot 1.
- the position detector outputs motor position data indicating the position of the motor of each axis of the robot 1.
- Force sensor data and motor position data are input to the sensor data output unit 31c.
- the disturbance prediction unit 312 uses the motor position data to calculate the gravity acting on the force sensor, and based on the calculated gravity, predicts the disturbance component due to gravity that appears in the measurement value of the force sensor, and the prediction result Is output to the subtraction unit 313.
- the subtraction unit 313 subtracts the prediction result output from the disturbance prediction unit 312 from the force sensor data, and outputs the subtracted result to the determination unit 32.
- the sensor data output unit 31c thus removes the disturbance component due to gravity from the force sensor data, and determines the quality of the work by using the variation of the force sensor data caused by the work. You can Therefore, the accuracy of determining whether the work is good or bad can be improved.
- the sensor data output unit 31c is realized by a processing circuit like the sensor data output unit 31. The operation of this embodiment other than that described above is the same as that of the first embodiment.
- this embodiment may be applied to the mechanical system of the second or fourth embodiment. Further, the data output from the subtraction unit 313 may be extracted by a filter by combining the present embodiment and the third embodiment.
- the disturbance prediction unit 312 predicted the disturbance component due to gravity, but the present invention is not limited to this, and inertial force, centrifugal force, Coriolis force, and the like may be predicted.
- the disturbance prediction unit 312 uses the motor position data of each axis of the robot 1 to calculate the motor speed and motor acceleration of each axis.
- the disturbance prediction unit 312 uses the sum of the inertial force, the centrifugal force, the Coriolis force, and the gravity acting on the force sensor using the motor position, speed, and acceleration of each axis of the robot 1 to obtain the measured value of the force sensor.
- the appearing disturbance component is predicted, and the prediction result is output to the subtraction unit 313.
- FIG. 8 is a diagram showing a configuration example of a sensor data output unit according to the sixth embodiment of the present invention.
- the sensor data output unit 31d of the sixth embodiment includes a specified value passage determination unit 314 and a movement amount calculation unit 315.
- the control device 3d according to the present invention is the same as the control device 3 of the first embodiment except that the sensor data output unit 31 is replaced by a sensor data output unit 31d. However, the execution timing of the determination in the determination unit 32 is different from that in the first embodiment.
- the mechanical system of the present embodiment is the same as the mechanical system of the first embodiment, except that a control device 3d is provided instead of the control device 3.
- a part different from the first embodiment will be described, and a description overlapping with the first embodiment will be omitted.
- the output interval of the sensor data output unit 31d is determined so that the movement amount of the robot 1 for each output interval is constant.
- motor position data which is the detection result of the motor position
- the movement amount calculation unit 315 calculates the hand position of the robot 1 based on the motor position data for each control cycle, and calculates the movement amount of the hand position from the start of the work.
- the movement amount calculation unit 315 outputs the calculated movement amount to the specified value passage determination unit 314.
- the force sensor data is input to the specified value passage determination unit 314 every control cycle. Further, as described above, the movement amount calculated by the movement amount calculation unit 315 is input to the specified value passage determination unit 314 for each control cycle.
- the prescribed value passage determination unit 314 does not output the force sensor data of the control cycle to the determination unit 32 when the movement amount input from the movement amount calculation unit 315 is less than the prescribed value.
- the specified value passage determination unit 314 outputs the force sensor data of the control cycle to the determination unit 32 when the movement amount calculated by the movement amount calculation unit 315 is equal to or larger than the specified value.
- the specified value passage determination unit 314 does not output the force sensor data of the control cycle to the determination unit 32 when the input movement amount is less than “specified value ⁇ 2”, and the input movement amount is When it becomes equal to or more than “specified value ⁇ 2”, the force sensor data of the control cycle is output to the determination unit 32.
- the specified value passage determination unit 314 increases the integer by which the specified value is multiplied by 1 and performs the same operation.
- the determination unit 32 determines whether the work is good or bad, as described in the first embodiment.
- the specified value passage determination unit 314 does not output the force sensor data of the control cycle to the determination unit 32 when the input movement amount is less than “specified value ⁇ k”, and the input movement amount is “ When it is equal to or more than the “specified value ⁇ k”, the force sensor data of the control cycle is output to the determination unit 32.
- the initial value of k is 0, and the specified value passage determination unit 314 increments the value of k by 1 each time the force sensor data is output to the determination unit 32. That is, the sensor data output unit 31d determines the output interval based on the motor position data so that the movement amount of the robot 1 for each output interval is constant.
- the sensor data output unit 31d is realized by a processing circuit like the sensor data output unit 31. The operation of this embodiment other than that described above is the same as that of the first embodiment.
- the force sensor data is input to the determination unit 32 at the output interval corresponding to the movement amount in the present embodiment, and therefore the force sensor data is input regardless of the work speed. Since the phenomenon appears in the same part of the time series data, there is an effect that the accuracy of the discrimination can be maintained high even if the work speed is changed after learning.
- the time when the movement amount becomes the specified value ⁇ k is in the control cycle in which the force sensor data is output to the determination unit 32 does not always match the output time of each sensor. Therefore, the state of the robot 1 when the movement amount becomes the specified value xk may be different from the state indicated by the force sensor data output to the determination unit 32. Therefore, the specified value passage determination unit 314 does not output the force sensor data as it is, but uses the force sensor data in the control cycle and the force sensor data in the previous control cycle to determine the movement amount. You may estimate the force sensor data corresponding to the time used as value xk, and may output an estimation result to the determination part 32.
- the defined value passage determination unit 314 holds the input force sensor data and the movement amount at least until the next control cycle.
- the specified value passage determination unit 314 determines that the movement amount d t input in the t-th control cycle is equal to or larger than the specified value ⁇ k and the movement amount d t-1 input in the (t ⁇ 1)-th control cycle is specified. When it is less than the value ⁇ k, the ratio of (specified value ⁇ k ⁇ d t ⁇ 1 ) and (d t ⁇ specified value ⁇ k) is calculated. Then, the prescribed value passage determination unit 314 weights the force sensor data input in the (t-1)th control cycle and the force sensor data input in the tth control cycle according to the obtained ratio. The sum may be calculated and the calculated weighted sum may be output to the determination unit 32.
- this embodiment may be applied to the mechanical system of the second or fourth embodiment. Further, by combining the third embodiment and the present embodiment, for example, the data output from the specified value passage determination unit 314 may be passed through the filter 311 and input to the determination unit 32.
- FIG. 9 is a diagram showing a configuration example of a sensor data output unit according to the seventh embodiment of the present invention.
- the sensor data output unit 31e of the seventh embodiment includes a force sense data estimation unit 316.
- the control device 3e according to the present invention is the same as the control device 3 of the first embodiment except that the sensor data output unit 31 is replaced by a sensor data output unit 31e.
- the mechanical system according to the present embodiment is the same as the mechanical system according to the first embodiment except that a control device 3e is provided instead of the control device 3.
- a part different from the first embodiment will be described, and a description overlapping with the first embodiment will be omitted.
- the motor current data and the motor position data are input to the force sense data estimation unit 316 as sensor data for each control cycle.
- the force sense data estimation unit 316 calculates the motor speed and the motor acceleration using the motor position data, and also calculates the drive torque of each axis from the equation of motion of the robot 1. Furthermore, the force sense data estimation unit 316 calculates the difference between the motor current indicated by the motor current data and the torque calculated from the torque constant, and uses the Jacobian matrix that calculates the calculated torque difference from the motor position data, using the robot. It is converted into a force and moment acting on one hand.
- the force sense data estimation unit 316 outputs the force and moment acting on the hand of the robot 1 obtained by the conversion to the determination unit 32 as the force sense estimated value, that is, the estimated force sense value in the next control cycle.
- the discrimination unit 32 discriminates whether the work is good or bad using the input force sense estimated value as in the first embodiment.
- the sensor data output unit 31e is realized by a processing circuit like the sensor data output unit 31. The operation of this embodiment other than that described above is the same as that of the first embodiment.
- the force sense value is estimated using the motor current data and the motor position data, and the quality of the work is determined using the estimated force sense value. Therefore, the same effect as that of the first embodiment can be obtained without using the force sensor.
- the configuration and operation of this embodiment may be applied to the mechanical system of the second or fourth embodiment.
- the force sense data estimation unit 316 may perform processing using the motor current data and the motor position data that have passed through the filter 311.
- FIG. 10 is a diagram showing a configuration example of a mechanical system according to the eighth embodiment of the present invention.
- the mechanical system of the present embodiment is the same as the mechanical system of the second embodiment, except that a control device 3f is provided instead of the control device 3a of the second embodiment.
- the control device 3f has a program interpretation unit 62 added to the control device 3a of the second embodiment.
- the same components as those in the second embodiment will be described with the same reference numerals, and the overlapping description with the second embodiment will be omitted.
- points different from the second embodiment will be mainly described.
- a command for starting work quality judgment and a command for ending work quality judgment are described in a robot program for operating a robot (a program written in a robot language). That is, in the present embodiment, the start and end of the discrimination by the discriminating unit 32 are designated using the robot program.
- the robot program can be edited by an operator using a device inside the mechanical system or a device outside the mechanical system. Therefore, the operator can easily specify the start and the end of the determination of work quality.
- the program interpreting unit 62 specifies the start and the end of the determination of work quality to the sensor data output unit 31 according to the robot program.
- the program interpreting section 62 instructs the sensor data output section 31 to start outputting sensor data to the determining section 32 by processing a command for starting the determination of work quality according to the robot program. As a result, the sensor data output unit 31 starts outputting the sensor data to the determination unit 32. Further, the program interpreting unit 62 processes the command for ending the determination of the quality of the work to instruct the sensor data output unit 31 to end the output of the sensor data to the determining unit 32. As a result, the sensor data output unit 31 ends the output of the sensor data to the determination unit 32.
- the determination unit 32 When the input of the sensor data from the sensor data output unit 31 is started, the determination unit 32 starts the determination of the quality of the work, and when the input of the sensor data from the sensor data output unit 31 is finished, the determination unit 32 determines whether the work is good or bad. The determination ends.
- the configuration and operation of the present embodiment other than those described above are the same as those of the second embodiment, and therefore description thereof is omitted.
- the same effect as that of the second embodiment is obtained, and the user can easily specify the place where the quality of work is determined by editing the robot program.
- the program interpretation unit 62 is added to the control device 3a according to the second embodiment has been described, but the present invention is not limited to this, and the first and third embodiments and the present embodiment are not limited thereto.
- the configurations and operations may be combined.
- FIG. 11 is a diagram showing a configuration example of a mechanical system according to a ninth embodiment of the present invention.
- the mechanical system of the present embodiment is the same as the mechanical system of the second embodiment except that a control device 3g is provided instead of the control device 3a of the second embodiment.
- the control device 3g is the same as the work determination device 30 of the second embodiment except that the work determination device 30a is provided instead of the work determination device 30 of the second embodiment.
- the work discrimination device 30a has a data storage unit 63 and a discrimination result storage unit 64 added to the work discrimination device 30 of the second embodiment.
- the same components as those in the second embodiment will be described with the same reference numerals, and the overlapping description with the second embodiment will be omitted.
- points different from the second embodiment will be mainly described.
- FIG. 11 shows an example in which the data storage unit 63 and the determination result storage unit 64 are provided in the control device 3g
- the present invention is not limited to this, and the data storage unit 63 and the determination result storage unit 64 may be replaced by a PLC (Programmable). It may be provided in a control device such as a logic controller) outside the control device 3g or in a personal computer outside the control device 3g.
- PLC Programmable
- the data storage unit 63 stores the sensor data output from the sensor data output unit 31 as time-series data together with the identification information of the sensor data.
- the identification information is, for example, a time stamp, and is information for identifying when the sensor data corresponds to which work is executed.
- the discrimination result storage unit 64 stores the discrimination result finally output from the discrimination unit 32 together with the identification information of the discrimination result. Similar to the above-mentioned identification information, this identification information is, for example, a time stamp, and is information for identifying when the determination result corresponds to which work is executed.
- the data stored in the data storage unit 63 and the discrimination result storage unit 64 are transmitted to, for example, a personal computer that realizes the learning device 4, the display device 5, and the like, and displayed on these devices.
- the data stored in the data storage unit 63 and the determination result storage unit 64 may be transmitted to a device connected to the control device 3g via a network, such as another personal computer or PLC.
- control device 3g can achieve the same effect as that of the second embodiment, and can store the past sensor data and the determination result. By storing the past determination result, the operator can perform analysis later. Further, the stored data for a certain period can be collectively displayed.
- the control device 3a according to the second embodiment includes the work determining device 30a in place of the work determining device 30, but the present invention is not limited to this. You may combine the structure and operation
- FIG. 12 is a diagram showing a configuration example of the sensor data output unit according to the tenth embodiment of the present invention.
- the sensor data output unit 31f according to the tenth embodiment includes the filter 311 described in the third embodiment and a filter 317 including any one of a high pass filter, a band pass filter, and a low pass filter.
- the control device 3h according to the present invention is the same as the control device 3a of the second embodiment except that the sensor data output unit 31 is replaced by a sensor data output unit 31f.
- the mechanical system according to the present embodiment is the same as the mechanical system according to the second embodiment except that a control device 3h is provided instead of the control device 3a.
- a part different from the second embodiment will be described, and a description overlapping with the second embodiment will be omitted.
- the filter 311 extracts a component in a desired frequency band from the force sensor data, and outputs the extracted result as state data to the determination unit 32.
- the filter 317 extracts a component of a desired frequency band from the motor position data, and outputs the extracted result as state data to the determination unit 32.
- the motor position on each axis of the robot is 6-dimensional.
- the output (six-dimensional) of the force sensor and the motor position of each axis of the robot are input to the determination unit 32 through the filters 311 and 317, respectively. As a result, the number of inputs to the discrimination unit 32 becomes 12.
- FIG. 13 is a flowchart showing an example of a method of judging the quality of work in the eleventh embodiment.
- the robot 1 starts assembly work such as cover assembly, connector insertion, board insertion, and shaft fitting, and starts determination, and ends the work and determination.
- the sensor data output unit 31 outputs the sensor data (step S1).
- the sensor data output unit 31 outputs sensor data for each control cycle.
- the sensor data includes state quantities inside the robot 1, output data of a force sensor attached to the wrist of the robot 1, and the like.
- the state quantity inside the robot 1 is the motor position, speed, current, motor position command for each axis of the robot 1, and the force sensor output data is the force (Fx, Fy, Fz) in the three axis directions. Moments around three axes (Mx, My, Mz), etc.
- the determination unit 32 When the determination unit 32 receives the sensor data from the sensor data output unit 31, the determination unit 32 inputs the sensor data and performs an RNN calculation (step S2). Specifically, the model unit 321 shown in FIG. 2 of the determination unit 32 performs the RNN calculation. As described above, since the sensor data is output every control cycle, the RNN calculation is also performed every control cycle. In the RNN calculation, the output of the intermediate layer in the previous control cycle is stored, and the weighted sum of the output value in the previous control cycle and the term calculated from the value on the input side of the current cycle (output of the input layer) is stored. It is the output of the middle layer. The output layer outputs a three-dimensional value every control cycle.
- the robot 1 performs work at a plurality of operation speeds and collects data. Specifically, the output value (1, 0, 0) when the assembling work is completed normally, the output value (0, 1, 0) when the data intentionally fails and the component is output, (0, 1, 0), If there is a partial defect in the part or the work fails due to foreign matter adhering to the parts, the output value (0, 0, 1) is learned. It should be noted that the dimension may be increased, and the abnormal state of the component may be divided into a plurality of abnormal modes such as loss of the component and attachment of a foreign substance, and learning may be performed separately.
- the abnormality discriminating unit 322 shown in FIG. 2 of the discriminating unit 32 determines whether any of the second and third terms of the output value from the model unit 321 is equal to or greater than a specified value, that is, the output from the model unit 321. It is determined whether or not at least one of the second element and the third element of the value is greater than or equal to the specified value (step S3). When it is determined No in step S3, that is, when both the second element and the third element are less than the specified values, the motion correction unit 33 continues the motion without correcting the motion of the robot 1 (step S7). ..
- step S3 determines that the second term, that is, It is determined whether the second element is greater than or equal to the specified value.
- the motion correction unit 33 temporarily stops the robot 1 and returns the robot to a predetermined position, and performs a search motion to restart (retry) the work. (Step S5). In the search operation, a correct insertion work position is searched based on the values of the force sensor and the tactile sensor attached to the robot 1.
- the connector grasped by the robot is abutted from a plurality of directions at low speed to derive the pin position, and the connector insertion work is performed again at the derived position.
- step S6 If it is determined No in step S4, that is, if the third element is greater than or equal to the specified value, the motion correction unit 33 stops the motion of the robot 1 on the spot (step S6).
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Fuzzy Systems (AREA)
- Chemical & Material Sciences (AREA)
- Chemical Kinetics & Catalysis (AREA)
- Manipulator (AREA)
- General Factory Administration (AREA)
- Numerical Control (AREA)
Abstract
作業の異常発生から判定までの時間遅れを抑制することができる作業判別装置を得ることを目的とする。作業判別装置(30)は、ロボット(1)の作業の状態を示すセンサデータを、ロボット(1)の動作を制御する制御周期の整数倍の出力間隔で出力するセンサデータ出力部(31)と、センサデータ出力部(31)から出力されるセンサデータに基づいて、リカレントニューラルネットワークによる推論によってロボット(1)の作業の良否を判別する判別部(32)と、を備える。
Description
本発明は、ロボットをはじめとする産業機械が行った作業の良否を判別する作業判別装置および作業判別方法に関する。
ロボットをはじめとする産業機械を用いた作業が行われる場合、産業機械に設置されたセンサにより取得された時系列データを用いて、作業の良否の判別が行われる。この際、作業の良否を判別する装置は、一般には、定められた時間幅毎に時系列データから振幅値などの特徴量を抽出し、特徴量を基準と比較することで作業の良否判別を行う。異常発生から判定までの時間遅れを抑制するには時間幅を短くすることが望ましいが、時間幅を短くすると判定精度が落ちる。
特許文献1には、異なる時間幅で複数の特徴量を抽出し、複数の特徴量が評価基準を満たすか否かによって作業の良否を判定することにより、異常発生から判定までの時間遅れの抑制と判定精度の両立を目指す判定装置が開示されている。
しかしながら、一定期間のデータを蓄積して蓄積したデータを用いて特徴量を算出しているため、依然として異常発生から判定までの時間遅れが生じる問題がある。
本発明は、上記に鑑みてなされたものであって、作業の異常発生から判定までの時間遅れを抑制することができる作業判別装置を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本発明にかかる作業判別装置は、産業機械の作業の状態を示す状態データを、産業機械の動作を制御する制御周期の整数倍の出力間隔で出力するセンサデータ出力部、を備える。また、この作業判別装置は、センサデータ出力部から出力される状態データに基づいて、リカレントニューラルネットワークによる推論によって産業機械の作業の良否を判別する判別部、を備える。
本発明にかかる作業判別装置は、作業の異常発生から判定までの時間遅れを抑制することができるという効果を奏する。
以下に、本発明の実施の形態にかかる作業判別装置および作業判別方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、本発明の実施の形態1にかかる作業判別装置を含む機械システムの構成例を示す図である。図1に示すように、機械システムは、ロボット1と、ロボット1に設置されたセンサ2と、制御装置3と、学習装置4と、表示器5とを備える。
図1は、本発明の実施の形態1にかかる作業判別装置を含む機械システムの構成例を示す図である。図1に示すように、機械システムは、ロボット1と、ロボット1に設置されたセンサ2と、制御装置3と、学習装置4と、表示器5とを備える。
以下、本実施の形態では、産業機械の一例として、カバー組み付け、コネクタ挿入、基板挿入、軸の嵌め合いなどの組立作業を行うロボット1を例に挙げて説明する。本実施の形態は、組立作業を行うロボット1に限定されず、組立作業以外の作業を行うロボット、切断などの加工を行う機械、包装機などの産業機械に適用可能である。
センサ2は、ロボット1に設置され、ロボット1の作業の状態、ロボット1の周囲の状態、ロボット1の内部の状態量などを検出する。本実施の形態では、センサ2は力覚センサを含む。力覚センサは、例えば、ロボット1の手首に設置される。力覚センサは、周期的に、ロボット1の3軸方向の力(Fx,Fy,Fz)と3軸周りのモーメント(Mx,My,Mz)とを検出して検出した結果をセンサデータとして制御装置3へ出力する。センサ2がロボット1の作業の状態、ロボット1の周囲の状態、ロボット1の内部の状態量などを検出する周期を、以下、サンプリング周期という。
制御装置3は、センサ2から出力されるセンサデータを用いて、ロボット1の動作を制御するためのロボットプログラムにしたがってロボット1を制御する。ロボット1が作業を行う際には、制御装置3はロボットプログラムに従って定められた作業が実施されるようロボット1の動作を制御する。ロボットプログラムでは、例えば、ロボット1の手先位置などが定められる。制御装置3は、制御周期ごとに、ロボット1を動作させるための動作指令を生成してロボット1を制御する。以下では、制御周期はサンプリング周期と同一であるとして説明するが、制御周期とサンプリング周期は異なっていてもよい。
制御装置3は、実施の形態1にかかる作業判別装置30としての機能を有する。制御装置3は、センサ2から出力されるセンサデータを用いて、ロボット1の作業の良否、すなわち異常の有無を判別する。具体的には、例えば、作業の良否を示す作業のクラスを判別する。作業のクラスとは、作業の良否を示す値であり作業の正常さの程度もしくは異常の種類を示す値である。作業のクラスは、良か否かの2値に限らず、良と否の中間の状態を示すものを含んでいてもよい。また異常についても1つではなく、異常の種類として2つ以上の値の組み合わせでも構わない。以下では、作業のクラスを判別することも含めて作業の良否の判別と呼ぶ。なお、本実施の形態では、ロボット1を制御する制御装置3が、作業判別装置30としての機能を備える例を説明するが、ロボット1を制御する制御装置3とは別に作業判別装置30を設けるようにしてもよい。
学習装置4は、入力される作業結果と制御装置3から出力されるセンサデータとを用いて、制御装置3において実施される作業の良否の判別のための学習を行い、学習結果を制御装置3へ出力する。なお、ここでは、学習装置4が制御装置3と別に設けられる例を説明するが、学習装置4と制御装置3とが一体であってもよい。また、ロボット1を制御する制御装置3とは別に作業判別装置30が設けられ、作業判別装置と学習装置4とが一体であってもよい。
表示器5は、制御装置3からの指示に基づいて、ロボット1の作業の状態などを表示する。表示器5は、液晶モニタ、ディスプレイなどであってもよいし、回転灯などの表示灯であってもよい。また、表示器5はブザーなどの音声による報知も行ってもよい。本実施の形態では、表示器5が制御装置3とは別に設けられる例を説明するが、表示器5と制御装置3とが一体であってもよい。また、表示器5と学習装置4とが一体であってもよい。
次に、制御装置3の構成について説明する。制御装置3は、図1に示すように、センサデータ出力部31、判別部32、動作修正部33および動作制御部34を備える。センサデータ出力部31は、ロボット1の作業の状態を示すデータを、ロボット1の動作を制御する制御周期の整数倍の出力間隔で出力する。本実施の形態では、出力間隔は制御周期の1倍である。詳細には、センサデータ出力部31は、力覚センサから出力される3軸方向の力(Fx,Fy,Fz)と3軸周りのモーメント(Mx,My,Mz)とを含むセンサデータをサンプリング周期ごとすなわち制御周期ごとに受け取り、制御周期ごとに、3軸方向の力(Fx,Fy,Fz)を判別部32へ出力する。すなわち、センサデータ出力部31が出力する状態データは、本実施の形態では、センサ2から出力されるセンサデータのうちの少なくとも一部であり、この例では3軸方向の力(Fx,Fy,Fz)である。
判別部32は、センサデータ出力部31から出力されるデータに基づいて、RNN(Recurrent Neural Network:リカレントニューラルネットワーク)による推論によってロボット1の作業における異常の有無を判別する。具体的には、判別部32は、学習装置4によって生成されたRNNの学習モデルを用いた推論により、ロボット1の作業の良否を判別する。例えば、判別部32は、制御周期ごとに、センサデータ出力部31から出力される3軸方向の力(Fx,Fy,Fz)を入力として学習モデルを用いてロボット1の作業の状態を示す出力データを求め、出力データをもとに、ロボット1の作業の良否すなわち作業の異常の有無を判別する。また、判別部32は、作業が異常であると判別した場合、異常の種別も判別してもよい。ここでは、異常の種別として、位置ずれと部品異常の2種類を例に挙げて説明するが、異常の種類は1種類であってもよく3種類以上であってもよい。部品異常は、部品に一部欠損があったり部品に異物が付着したりといった部品に関する異常である。また、判別結果を示すデータの形式は、上述した例に限定されない。判別部32は、判別結果を動作修正部33へ出力する。RNNは、時系列データを入力とする機械学習の一例である。判別部32の詳細については後述する。
動作修正部33は、判別部32による判別結果に基づいて、ロボット1の動作を修正させるよう制御する。動作修正部33は、判別部32から入力された判別結果が正常を示す値であった場合、特に動作はしない。動作修正部33は、判別部32から入力された判別結果が位置ずれの異常を示す値であった場合、表示器5に位置ずれの異常を表示するよう指示するとともに、位置ずれの異常用の動作を行うようロボット1の動作を修正する。具体的には、動作修正部33は、例えば、一旦ロボット1を停止して予め定められた位置までロボット1を戻すとともに探索動作を行って作業を再開するための指令を動作修正指令として生成して、動作制御部34へ出力する。探索動作では、ロボット1に取り付けた力覚センサ、触覚センサなどの値に基づいて正しい挿入作業の位置を探索する。例えばカバーのないピンへのコネクタ挿入作業の場合であれば、複数の方向からロボット1が把持したコネクタを低速で突き当ててピンの位置を導出し、導出した位置でコネクタ挿入作業を再度実施する。また、動作修正部33は、判別部32から入力された判別結果が部品異常を示す値であった場合、表示器5に部品異常を表示するよう指示するとともに、部品異常用の動作を行うようロボット1の動作を修正する。具体的には、動作修正部33は、例えば、一旦ロボット1を停止したあと定められた位置までロボット1を戻して再度停止させるための指令を動作修正指令として生成して、動作制御部34へ出力する。以上のように、動作修正部33は、判別部32によりロボット1の位置ずれの異常と判別された場合には、ロボット1を定められた位置に戻した後に再度作業を行わせるよう制御し、部品異常であると判別された場合はロボット1を停止させるよう制御する。
動作制御部34は、センサデータ出力部31から出力されるセンサデータを用いて、制御周期ごとに、ロボット1を動作させるための動作指令を生成してロボット1へ出力する。また、動作制御部34は、動作修正部33から動作修正指令を受け取った場合には、通常の動作指令の出力を停止して、動作修正部33から受け取った動作修正指令をロボット1へ出力する。
学習装置4は、例えば、パーソナルコンピュータ(PC)などのコンピュータであり、学習部41を備える。学習部41は、ロボット1が実際の生産における組立作業を開始する前に、訓練データとも呼ばれる教師データを用いた機械学習を行う。機械学習としては、上述したように例えばRNNを用いることができる。本実施の形態では、制御装置3の判別部32は、学習部41により教師データを用いて学習が行われた学習モデルを内蔵する。判別部32は、上述したように、センサデータ出力部31から出力される3軸方向の力(Fx,Fy,Fz)を入力としてこの学習モデルにより得られる結果を用いて、ロボット1の作業の良否を判別する。
次に、学習装置4の学習部41における機械学習と、制御装置3の判別部32について詳細に説明する。まず、学習部41における機械学習について説明する。学習部41は、ロボット1が実際の生産における組立作業を開始する前に、少なくとも以下の第1の状態、第2の状態および第3の状態を含むそれぞれの状態に対応する教師データを用いて、機械学習を行う。
第1の状態は、組み立て作業が正常に終了する状態である。運用者は、実際の生産における組立作業を開始する前に、ロボット1に組立作業を実施させる。学習装置4の学習部41は、この組立作業中に、センサデータ出力部31から出力される3軸方向の力(Fx,Fy,Fz)を、学習装置4に入力データとして記憶しておく。入力データは、この組立作業を行っている時間帯における時系列データとなる。運用者は、正常に組み立て作業が行われた場合、作業結果すなわち出力データの正解値として(1,0,0)を学習部41へ入力する。詳細には、運用者は、学習装置4であるコンピュータの入力手段であるキーボード、マウス、タッチパネルなどを操作することにより、学習装置4に出力データの正解値を入力する。学習装置4は、入力手段が受け付けたデータを学習部41に与える。学習部41は、記憶している入力データのうち第1の状態に対応する入力データと出力データの正解値である(1,0,0)との組を教師データとして学習する。
第2の状態は、ロボット1の位置ずれが生じ組立作業に失敗する状態である。運用者は、実際の生産における組立作業を開始する前に、わざとロボット1に位置ずれを生じさせて組立作業を失敗させる。学習装置4の学習部41は、この失敗する組立作業の作業中に、センサデータ出力部31から出力される3軸方向の力(Fx,Fy,Fz)を、学習装置4に入力データとして記憶しておく。運用者は、わざとロボット1に位置ずれを生じさせて組立作業を失敗させた場合、出力データの正解値として(0,1,0)を学習部41へ入力する。学習部41は、記憶している入力データのうち第2の状態に対応する入力データと出力データの正解値である(0,1,0)との組を教師データとして学習する。
第3の状態は、部品に一部欠損があったり部品に異物が付着したりといった部品異常により組立作業に失敗する状態である。運用者は、実際の生産における組立作業を開始する前に、わざと部品異常を生じさせて組立作業を失敗させる。学習装置4の学習部41は、この失敗する組立作業の作業中に、センサデータ出力部31から出力される3軸方向の力(Fx,Fy,Fz)を、学習装置4に入力データとして記憶しておく。運用者は、わざと部品異常を生じさせて組立作業を失敗させた場合、出力データの正解値として(0,0,1)を学習部41へ入力する。学習部41は、記憶している入力データのうち第3の状態に対応する入力データと出力データの正解値である(0,0,1)との組を教師データとして学習する。なお、第3の状態で、部品異常だけでなくさらに位置ずれも生じさせて、学習装置4に、この期間に対応するセンサデータを取得させ、対応する作業結果として出力データの正解値である(0,1,1)を入力して、学習させてもよい。
なお、学習部41の学習を行う際には、ロボット1に複数の速度で組立作業を行わせ、それぞれの速度に対応するデータを取得して学習を行う。このとき、ロボット1が動作可能な全ての速度について学習を行ってもよいし、想定される速度の範囲を代表する複数の速度で学習を行うことで、全ての速度について学習を行う場合に比べて、学習に要する時間を削減することができる。さらに最も使用される可能性の高い速度もしくは想定される速度範囲のなかで最も低い速度など、1つの速度で学習を行うことで立上調整の早期の段階から学習のためのデータを採取するとともに、学習に必要なデータの量を削減することで、学習に要する時間をさらに削減することができる。
なお、本実施の形態では、機械学習における出力データとして(1,0,0)といったように3つの要素を出力する例を説明するが、出力データの要素の数は3つに限定されない。また、ここでは、(1,0,0)が、組立作業が正常に行われたことを示し、(0,1,0)が位置ずれ異常を示し、(0,0,1)が部品異常を示す例を説明するが、出力データの具体的な値とその定義はこの例に限定されない。次元を増加し、部品の異常状態を部品の欠損と異物の付着に分けるなど、複数の異常モードに分けて学習させてもよい。本実施の形態では、各状態の時系列データであるセンサデータが入力データとなり、RNNによる機械学習が行われる。
次に、判別部32について詳細に説明する。図2は、本実施の形態の判別部32の構成例を示す図である。判別部32は、学習部41による学習済みの学習モデルを用いたデータ生成を行うモデル部321と、モデル部321により生成されたデータ、すなわち学習済みの学習モデルの出力データを用いて、作業の良否を判別する異常判別部322とを備える。なお、学習部41は、図2のモデル部321と同様の構成のモデル部を有するとともに、モデル部により得られる出力データの誤差を評価して、誤差が小さくなるようにモデル部の各重みを決定する機能を有する。誤差が小さくなるように得られたものが学習済の学習モデルとなる。
モデル部321は、図2に示すように、入力層35、中間層36および出力層37を備える。入力層35は、入力データの要素の数、すなわち入力数に応じた数のノード38を備える。図2では、一番上のノード38にのみ符号を付しているが、入力層35における符号を省略した丸もノード38である。
中間層36は、複数のノード39を備える。図2では、一番上のノード39にのみ符号を付しているが、中間層36における符号を省略した二重丸もノード39である。出力層37は、出力データの要素の数、すなわち出力数に応じた数のノード40を備える。図2では、一番上のノード40にのみ符号を付しているが、出力層37における符号を省略した丸もノード40である。
入力層35は、センサデータ出力部31から出力されるセンサデータである入力データを、制御周期ごとに、中間層36へ出力する。詳細には、各ノード38は、入力されたデータを中間層36の各ノード39へ出力する。各ノード38は、入力された値に重みを乗算してから中間層36の各ノード39へ出力してもよい。中間層36の各ノード39は、RNNの処理を行って処理結果を出力層37の各ノード40へ出力する。出力層37の各ノード40は、中間層36の各ノード39から出力されたデータを加算し、加算結果を出力する。出力層37の各ノード40は、中間層36の各ノード39から出力されたデータに重みを乗算し、重みを乗算した結果を加算してもよい。
図2では、中間層36を1層としているが、中間層36が2層以上であってもよい。また、図2では、入力数3、出力数3としているが、入力数、出力数はこれに限定されない。また、図2では、中間層36におけるノード39の数を5としているが、中間層36におけるノード39の数は5に限定されない。
図2では、時刻tにおける入力データを構成する3つの要素を、x1
t,x2
t,x3
tとしている。tは制御周期を単位として離散化された時刻である。すなわち、tは、何番目の制御周期であるかを示す整数である。h1
t,h2
t,h3
t,h4
t,h5
tは、時刻tにおける中間層36の各ノード39の出力を示す。y1
t,y2
t,y3
tは、時刻tにおける出力層37の各ノード40の出力を示す。
本実施の形態では、RNNを前提としている。このため、中間層36は、前回の制御周期の中間層36の出力結果を記憶しておき、前回の制御周期の出力結果と今回の制御周期で入力層35から入力された値から算出した項との重み付け和を出力層37へ出力する。RNNは、センサ出力などの時系列データの学習にしばしば用いられる。RNNでは、入力値(例えば、x1
t,x2
t,x3
t)を要素とするベクトルをxtと示し、中間層36の出力値を要素とするベクトルをhtとすると、ベクトルhtは以下の式(1)で表すことができる。tは、上述した通り、何番目の制御周期であるかを示す整数である。ベクトルxtの次元をM、ベクトルhtの次元をNとするとき、WはN×Mの次元の線形変換行列であり、RはN×Nの次元の線形変換行列であり、bは、バイアスベクトルである。g(・)は、活性化関数を示す。
RNNの例としては、Elman/Jordan net、LSTM(Long Short Term Memory)、GRU(Gated Recurrent Unit)などがあり、いずれで構成してもよいが、本実施の形態ではLSTMを用いた場合を例に挙げて説明する。
図3は、本実施の形態のモデル部321の中間層36の構成例を示す図である。図3では、ノード39が1つの場合を例に記載している。図3に示した構成例では、中間層36では、以下の式(2)-(7)に示す計算が行われる。
Wf,Wi,Wz,Woは、N×Mの次元の線形変換行列であり、Rf,Ri,Rz,Roは、N×Nの次元の線形変換行列であり、bf,bi,bz,boは、バイアスベクトルである。これらは、学習部41による学習により決定される。σ(・)はシグモイド関数、tanh(・)はハイパボリックタンジェント関数を示す。
なお、モデル部321における各処理は、一般的なRNNにおける処理を用いることができるため、詳細な説明は省略する。
出力層37の各ノード40から出力されるy1
t,y2
t,y3
tは、モデル部321の出力データとして異常判別部322に入力される。本実施の形態では、y1
t,y2
t,y3
tは以下の値であるとする。第1要素であるy1
tは、1に近いほど正常である可能性が高いことを示す。第2要素であるy2
tは、1に近いほどロボット1の位置ずれの異常である可能性が高いことを示す。第3要素であるy3
tは、1に近いほど部品に一部欠損があったり部品に異物が付着したりする部品異常である可能性が高いことを示す。異常判別部322は、モデル部321の出力データに基づいて、制御周期ごとに、ロボット1の作業の良否を判別する。
本実施の形態にかかる制御装置3は、ロボット1が、生産のために、カバー組み付け、コネクタ挿入、基板挿入、軸の嵌め合いなどの組立作業を開始するとともに、判別部32による判別を開始し、ロボット1が上記組立作業を終了するとともに判別を終了する。
教師データにおいては、上述したように、出力データの正解値は(1,0,0)などの整数値で示されているが、モデル部321の出力データは、各値は整数値とは限らない。このため、作業の良否の判別は、各値が規定値と比較されることにより行われる。異常判別部322は、組立作業の開始から終了までの各制御周期で、第2要素が一度でも規定値以上となった場合に、位置ずれ異常と判別し、位置ずれ異常を示す値を判別結果として動作修正部33へ出力する。また、異常判別部322は、組立作業の開始から終了までの各制御周期で、第3要素が一度でも規定値以上となった場合に、部品異常と判断し、部品異常を示す値を判別結果として動作修正部33へ出力する。また、異常判別部322は、組立作業の開始から終了までの各制御周期で、第2要素が一度でも規定値以上となりかつ第3要素が一度でも規定値以上となった場合には、部品異常と判断し、部品異常を示す値を判別結果として動作修正部33へ出力するようにしてもよい。
また、異常判別部322は、組立作業の開始から終了までの全制御周期で、第1要素が規定値以上でありかつ第2要素と第3要素がいずれも規定値未満の場合に、正常を示す値を判別結果として動作修正部33へ出力する。または、異常判別部322は、組立作業の開始から終了までの全制御周期で、第2要素と第3要素がいずれも規定値未満の場合に、正常を示す値を判別結果として動作修正部33へ出力するようにしてもよい。第1要素と第2要素と第3要素とのそれぞれの比較で用いられる規定値は、異なっていてもよいし同一であってもよい。また、上記の例では、各値が規定値以上であるか否かにより判別を行ったが、各値が規定値を超えるか否かにより判別が行われてもよい。
次に、本実施の形態の学習装置4および制御装置3のハードウェア構成について説明する。制御装置3のセンサデータ出力部31、判別部32、動作修正部33および動作制御部34は、処理回路により実現される。処理回路は、プロセッサを備える回路であってもよいし、専用ハードウェアであってもよい。
処理回路がプロセッサを備える回路である場合、処理回路は例えば図4に示した構成の処理回路である。図4は、本実施の形態の処理回路の構成例を示す図である。図4に示す処理回路100は、プロセッサ101およびメモリ102を備える。センサデータ出力部31、判別部32、動作修正部33および動作制御部34が図4に示した処理回路100によって実現される場合、プロセッサ101が、メモリ102に格納されたプログラムを読み出して実行することにより、これらが実現される。すなわち、センサデータ出力部31、判別部32、動作修正部33および動作制御部34が図4に示した処理回路100によって実現される場合、これらの機能は、ソフトウェアであるプログラムを用いて実現される。メモリ102はプロセッサ101の作業領域としても使用される。プロセッサ101は、CPU(Central Processing Unit)等である。メモリ102は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリー等の不揮発性または揮発性の半導体メモリ、磁気ディスク等が該当する。
センサデータ出力部31、判別部32、動作修正部33および動作制御部34が専用ハードウェアである場合、処理回路は、例えば、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)である。なお、センサデータ出力部31は、プロセッサを備える処理回路および専用ハードウェアを組み合わせて実現されてもよい。センサデータ出力部31、判別部32、動作修正部33および動作制御部34は、複数の処理回路により実現されてもよい。
学習装置4は、上述したように、コンピュータである。学習装置4の学習部41は、コンピュータにおける処理回路により実現される。この処理回路は、図4に示した処理回路100と同様である。プロセッサ101が、メモリ102に格納されたプログラムを読み出して実行することにより、学習装置4が実現される。メモリ102はプロセッサ101の作業領域としても使用される。また、学習装置4を実現するコンピュータは、上述したように、キーボード、マウス、タッチパネルなどの入力手段を備えるとともに、ディスプレイ、モニタ等の表示手段を有する。学習装置4を使用する運用者は、表示手段に表示される表示画面にしたがって、上述したように、作業結果を、入力手段を用いて入力することができる。
学習装置4と制御装置3との間でデータの送受信を行うために、学習装置4および制御装置3はそれぞれ通信回路を備えていてもよい。この場合、学習装置4と制御装置3との間でデータの送受信は、これらの通信回路を介して行われる。
以上述べた例では、モデル部321における入力数を3とし、出力数を3とした例を説明したが、入力数、出力数は上述した例に限定されない。例えば、以下のように、入力数を6とし出力数を2としてもよい。入力データとして、3軸方向の力に加えて3軸のそれぞれの周りのモーメント(Mx,My,Mz)も用いる。ロボット1の生産の開始前に、運用者は、学習装置4に、正常な状態と、位置ずれおよび部品異常などの異常の状態と、の両方で3軸方向の力に加えて3軸のそれぞれの周りのモーメント(Mx,My,Mz)を取得し、正解の出力データである作業結果と対応付けて学習させておく。例えば、ロボット1の作業が正常な場合に出力データを(1,0)とし、異常の場合に出力データを(0,1)として学習させる。生産開始後のロボット1の組立作業では、異常判別部322は、第1要素、第2要素の2つの要素で構成される出力データに基づいて、作業の要否を判別する。
詳細には、異常判別部322は、第2要素が規定値以上の場合には、異常であることを示す値を判別結果として動作修正部33に出力する。異常判別部322は、第2要素が規定値未満の場合には、正常であることを示す値を判別結果として動作修正部33に出力する。動作修正部33は、判別結果として正常であることを示す値が入力された場合は、そのままなにもしない。また、動作修正部33は、判別結果として異常であることを示す値が入力された場合は、一旦ロボット1を停止したあと定められた位置までロボット1を戻して再度停止するための動作指令を動作制御部34へ出力するとともに異常であることを表示器5に表示する。
また、センサ2として、力覚センサおよびロボット1の各軸のモータ位置を検出する位置検出器を備えてもよい。この場合に、センサデータ出力部31が、センサデータとして、3軸方向の力(Fx,Fy,Fz)、3軸周りのモーメント(Mx,My,Mz)および6軸の各モータ位置を判別部32に出力するため、モデル部321における入力数は12となる。また、センサ2としてさらにモータ電流を検出する電流検出器を加え、センサデータ出力部31が、さらに、センサデータとしてモータ電流を判別部32に出力するようにしてもよい。また、モータの位置指令を判別部32へ入力してもよい。センサデータの内容と項目の数は、ロボット1の状態、ロボット1の作業の状態、ロボット1の周囲の状態を示すものであればよく、上述した例に限定されない。
また、出力数異常の要因として3種類以上の異常を判別する場合には、出力数は4以上となる。なお、出力数が上述した例と異なる場合には、これらに応じた学習が、学習装置4を用いて行われる。例えば、3種類以上の異常を判別する場合には、各異常の種類に応じた教師データを用いた学習が、実際の生産における組立作業を開始する前に学習装置4により行われる。
本実施の形態にかかる制御装置3では、判別部32による判別は、上述したとおり、制御周期ごとに行われる。このため、一定期間のデータを蓄積して蓄積したデータを用いて特徴量を算出して作業の異常を判別する従来の技術に比べて、異常発生から判定までの時間遅れを抑制することができる。また本実施の形態では1つのリカレントニューラルネットワークで複数の異常モードの判別を行うため、複数の特徴量を算出して作業の良否を判別する従来に技術に比べて、作業の良否判定時の処理負荷を抑制することができる。また、本実施の形態では判別用の時間幅の設定が不要のため、作業の速度によらず同一の判別部で判別可能である。このため、作業の速度の変更による再学習が不要である。以上のとおり、本実施の形態にかかる制御装置3は、作業の良否判定時の作業の異常発生から判定までの時間遅れを抑制し、作業の良否判定時の処理負荷を抑制し、作業の速度の変更による再学習を不要とすることが可能である。
実施の形態2.
次に、本発明にかかる実施の形態2の作業判別方法について説明する。図5は、実施の形態2の機械システムの構成例を示す図である。図5に示すように、本実施の形態の機械システムは、実施の形態1の制御装置3の替わりに制御装置3aを備える以外は、実施の形態1の機械システムと同様である。制御装置3aは、実施の形態1の制御装置3に対して補正量記憶部61が追加されている。実施の形態1と同様の構成要素には同一の符号を付して説明し、実施の形態1と重複する説明を省略する。以下、実施の形態1と異なる点を中心に説明する。
次に、本発明にかかる実施の形態2の作業判別方法について説明する。図5は、実施の形態2の機械システムの構成例を示す図である。図5に示すように、本実施の形態の機械システムは、実施の形態1の制御装置3の替わりに制御装置3aを備える以外は、実施の形態1の機械システムと同様である。制御装置3aは、実施の形態1の制御装置3に対して補正量記憶部61が追加されている。実施の形態1と同様の構成要素には同一の符号を付して説明し、実施の形態1と重複する説明を省略する。以下、実施の形態1と異なる点を中心に説明する。
実施の形態1では、モデル部321の出力データ、すなわちRNNの出力データを構成する各要素は、例えば、正常であるかどうかといったように、各要素が示す条件に当てはまるかどうかを示すフラグに相当するものであった。本実施の形態では、出力データに、フラグに相当するものだけでなく、なんらかの項目を定量的に示す値を含む例について説明する。
学習部41は、ロボット1が実際の生産における組立作業を開始する前に、少なくとも以下の第1の状態、第2の状態および第3の状態を含むそれぞれの状態に対応する教師データを用いて、機械学習を行う。すなわち、第1の状態は、位置ずれがなくかつ組立作業が正常に終了した場合であり、第2の状態は、位置ずれにより組立作業に失敗したまたは位置ずれがあったものの組立作業に成功した場合である。第3の状態は、部品に一部欠損があったり部品に異物が付着したりする部品異常により作業に失敗した場合である。
運用者は、第1の状態に対応する作業結果として、(1,0,0,0,0)を学習装置4に入力する。学習装置4は、第1の状態に対応するセンサデータと作業結果とを対応付けて学習する。本実施の形態では、センサデータは、3軸方向の力(Fx,Fy,Fz)および3軸周りのモーメント(Mx,My,Mz)の時系列データであるとする。
また、運用者は、わざと位置ずれを生じさせることにより第2の状態を生じさせる。運用者は、第2の状態に対応する作業結果として、組立作業に失敗した場合には(0,r1,r2,r3,0)を、組立作業に成功した場合には(1,r1,r2,r3,0)を、学習装置4に入力する。r1,r2,r3は、それぞれx軸方向の位置、y軸方向の位置、垂直軸であるz軸まわりの回転θの、ずれ量の許容値と実際のずれ量の比を示す。r1,r2,r3は、位置ずれの量を示す値の一例である。なお、ここでは、xy軸は水平方向の2軸であり、z軸が垂直軸方向であるとする。例えば、ロボット1のx軸方向の位置のずれ量の許容値がΔxmaxであったとする。運用者は実際のロボット1のx軸方向のずれ量を計測する。運用者が計測した計測結果をΔxrとする。このとき、運用者は、r1=Δxr/Δxmaxとしてr1を算出する。なお、r1は、正負符号を含む値であるとする。例えば、実際のずれ量は正負符号を含む値として計測され、ずれ量の許容値は絶対値であるとする。同様に、運用者は、r2,r3を算出し、得られた算出結果をもとにした作業結果を学習装置4に入力する。学習装置4は、第2の状態に対応するセンサデータと作業結果とを対応付けて学習する。このとき、運用者は、発生させる位置ずれの量を変更し、変更したずれ量に応じた作業結果を入力することで、位置ずれ量の異なる複数のケースの学習を学習装置4にさせてもよい。
また、運用者は、わざと部品異常を生じさせることにより第3の状態を生じさせる。また、運用者は、第3の状態に対応する作業結果として、(0,r1,r2,r3,1)を学習装置4に入力する。第3の状態では、位置ずれについては、生じさせてもよいし生じさせなくてもよい。位置ずれが生じていない場合には、r1,r2,r3は、それぞれ0,0,0となる。学習装置4は、第3の状態に対応するセンサデータと作業結果とを対応付けて学習する。
上述した学習が行われると、学習装置4により学習済みの学習モデルが生成され、この学習モデルが判別部32のモデル部321で用いられる。そして、実施の形態1と同様に、ロボット1が、生産のために、カバー組み付け、コネクタ挿入、基板挿入、軸の嵌め合いなどの組立作業を開始するとともに、判別部32による判別を開始する。
本実施の形態では、モデル部321の入力数は6であり、出力数は5となる。モデル部321は、第1要素から第5要素までに5つの要素からなる出力データを異常判別部322へ入力する。異常判別部322は、組立作業の開始から終了までの各制御周期で、第5要素が一度でも規定値以上となった場合に、部品異常と判別し、部品異常を示す値を判別結果として動作修正部33へ出力する。
また、異常判別部322は、組立作業の開始から終了までの各制御周期で、第2要素、第3要素および第4要素のうち1つ以上が一度でも規定値以上となった場合に、位置ずれ異常と判別し、位置ずれ異常を示す値を判別結果として動作修正部33へ出力する。このとき、異常判別部322は、組立作業の開始から終了までの全制御周期で、第2要素、第3要素および第4要素が全て規定値未満であった場合、判定結果としては正常を示す値を動作修正部33へ出力するとともにr1,r2,r3についても動作修正部33へ出力する。第1要素から第5要素までのそれぞれとの比較に用いられる規定値は、異なっていてもよいし同一であってもよい。
また、異常判別部322は、組立作業の開始から終了までの全制御周期で、第1要素が規定値以上であり、かつ第2要素、第3要素、第4要素および第5要素が0であった場合、位置ずれもなくかつ作業が正常に行われたと判別し、正常を示す値を判別結果として動作修正部33へ出力する。
動作修正部33は、判別結果として部品異常を示す値が入力された場合、一旦ロボット1を停止させ、その後に定められた位置までロボット1を戻して再度停止するための動作修正指令を生成して動作制御部34へ出力するとともに、異常であることを表示器5に表示する。動作修正部33は、判別結果として位置ずれ異常を示す値が入力された場合、一旦ロボット1を停止させ、その後定められた位置までロボット1を戻すとともに、r1,r2,r3の値に応じてロボット1の位置ずれを修正するための動作修正指令を生成して動作制御部34へ出力する。すなわち、動作修正部33は、r1,r2,r3の値を用いて位置ずれを抑制するように産業機械の動作を修正して再度作業を行わせるよう制御する。これにより、再度、位置ずれが修正された動作修正指令に基づいて組立作業が実施される。
また、動作修正部33は、判別結果として正常が入力されたもののr1,r2,r3が入力された場合には、そのままなにもせずに当該作業は終了させるが、次回の作業開始時までr1,r2,r3の値を補正量記憶部61に記憶しておき、次回の作業開始時に、補正量記憶部61からr1,r2,r3を読み出し、r1,r2,r3の値に応じてロボット1の位置ずれを修正するための動作指令を生成して動作制御部34へ出力する。すなわち、位置ずれの量を示す値が規定値未満の場合、動作修正部33は、当該作業においてはロボット1の動作の修正は行わず、次回のロボット1の作業において位置ずれの量を示す値を用いて位置ずれを抑制するようにロボット1の動作を修正するよう制御する。これにより、次回以降の作業では、位置ずれが修正された動作修正指令に基づいて組立作業が実施されるため、位置ずれが蓄積することによるロボット1の停止を抑制することができる。以上述べた以外の本実施の形態の動作は、実施の形態1と同様である。なお、補正量記憶部61は、メモリにより実現される。
以上のように、本実施の形態では、異常判別部322は、位置ずれを判定した場合に、ロボット1の位置ずれを定量的に示す値を含む出力データを動作修正部33へ出力するようにした。これにより、本実施の形態の制御装置3aは、実施の形態1と同様の効果を奏するとともに、位置ずれが生じた場合に、ロボット1の位置ずれ量を補償するようにロボット1を動作させることでロボット1に作業を継続させることが可能となる。また次回以降の指令を修正することで、作業時の位置ずれ発生を抑制する効果がある。
実施の形態3.
図6は、本発明の実施の形態3にかかるセンサデータ出力部の構成例を示す図である。実施の形態3のセンサデータ出力部31bは、ハイパスフィルタ、バンドパスフィルタ、ローパスフィルタのいずれかで構成されるフィルタ311を備える。本発明にかかる制御装置3bは、センサデータ出力部31に替えてセンサデータ出力部31bを備える以外は、実施の形態1の制御装置3と同様である。本実施の形態の機械システムは、制御装置3に替えて制御装置3bを備える以外は、実施の形態1の機械システムと同様である。以下、実施の形態1と異なる部分を説明し、実施の形態1と重複する説明は省略する。
図6は、本発明の実施の形態3にかかるセンサデータ出力部の構成例を示す図である。実施の形態3のセンサデータ出力部31bは、ハイパスフィルタ、バンドパスフィルタ、ローパスフィルタのいずれかで構成されるフィルタ311を備える。本発明にかかる制御装置3bは、センサデータ出力部31に替えてセンサデータ出力部31bを備える以外は、実施の形態1の制御装置3と同様である。本実施の形態の機械システムは、制御装置3に替えて制御装置3bを備える以外は、実施の形態1の機械システムと同様である。以下、実施の形態1と異なる部分を説明し、実施の形態1と重複する説明は省略する。
センサデータ出力部31bには、実施の形態1のセンサデータ出力部31と同様に、センサ2から出力されるセンサデータが入力される。ここでは、センサ2は力覚センサであるとし、センサデータは、ロボット1の3軸方向の力(Fx,Fy,Fz)と3軸周りのモーメント(Mx,My,Mz)とで構成される力覚センサデータであるとする。
センサデータ出力部31bのフィルタ311は、力覚センサデータから所望の周波数帯の成分を抽出し、抽出した結果を状態データとして判別部32へ出力する。このように、センサデータから所望の周波数帯の成分を抽出することにより、ノイズなどの影響を抑制することができるため、作業良否の判別精度を向上させることができる。また、作業に起因するセンサデータの変動が現れる周波数帯が分かっている場合には、当該周波数帯をフィルタ311により抽出することで、作業良否の判別精度を向上させることができる。なお、センサデータ出力部31bはセンサデータ出力部31と同様に処理回路により実現される。以上述べた以外の本実施の形態の動作は、実施の形態1と同様である。また、実施の形態2の機械システムに、本実施の形態のセンサデータ出力部31bを適用してもよい。
実施の形態4.
次に、本発明にかかる実施の形態4の作業判別方法について説明する。実施の形態4の機械システムの構成、および機械システムを構成する各装置の構成は実施の形態1と同様である。実施の形態1と同様の構成要素には同一の符号を付して説明し、実施の形態1と重複する説明を省略する。以下、実施の形態1と異なる点を中心に説明する。
次に、本発明にかかる実施の形態4の作業判別方法について説明する。実施の形態4の機械システムの構成、および機械システムを構成する各装置の構成は実施の形態1と同様である。実施の形態1と同様の構成要素には同一の符号を付して説明し、実施の形態1と重複する説明を省略する。以下、実施の形態1と異なる点を中心に説明する。
実施の形態1では、判別部32による判別動作の実行周期は、動作制御部34における通常の制御周期と同一であった。これに対して、本実施の形態では、センサデータ出力部31からの出力間隔、すなわち判別部32による判別動作の実行周期を、動作制御部34における通常の制御周期の整数倍とする。Lを2以上の整数とするとき、本実施の形態では、センサデータ出力部31からの出力間隔は、制御周期のL倍であり、センサデータ出力部31は、最新のL個のセンサデータの平均値を状態データとして出力する。
例えば、判別部32による判別動作の実行周期を、動作制御部34における通常の制御周期の4倍とする。この場合、センサデータ出力部31は、直近の4サンプリング周期分のセンサデータを用いて、3軸方向の力(Fx,Fy,Fz)などのそれぞれのデータごとに4サンプリング周期分の平均値を算出する。
このように、複数のサンプリング周期分のセンサデータの平均値を用いることにより、ノイズなどの影響を抑制することができる。なお、本実施の形態では、実施の形態1より異常が生じてから異常と判別するまでの時間が長くなる可能性があるが、判別部32による判別動作の実行周期を、従来の特徴量の算出に用いられる一定期間より短くなるように設定すれば、従来に比べて、異常が生じてから異常と判別するまでの時間を抑制することができる。以上述べた以外の本実施の形態の動作は、実施の形態1と同様である。また、実施の形態2または実施の形態3の機械システムに、本実施の形態の動作を適用してもよい。
実施の形態5.
図7は、本発明の実施の形態5にかかるセンサデータ出力部の構成例を示す図である。実施の形態5のセンサデータ出力部31cは、外乱予測部312と、減算部313とを備える。本発明にかかる制御装置3cは、センサデータ出力部31に替えてセンサデータ出力部31cを備える以外は、実施の形態1の制御装置3と同様である。本実施の形態の機械システムは、制御装置3に替えて制御装置3cを備える以外は、実施の形態1の機械システムと同様である。以下、実施の形態1と異なる部分を説明し、実施の形態1と重複する説明は省略する。
図7は、本発明の実施の形態5にかかるセンサデータ出力部の構成例を示す図である。実施の形態5のセンサデータ出力部31cは、外乱予測部312と、減算部313とを備える。本発明にかかる制御装置3cは、センサデータ出力部31に替えてセンサデータ出力部31cを備える以外は、実施の形態1の制御装置3と同様である。本実施の形態の機械システムは、制御装置3に替えて制御装置3cを備える以外は、実施の形態1の機械システムと同様である。以下、実施の形態1と異なる部分を説明し、実施の形態1と重複する説明は省略する。
実施の形態5では、センサ2には、力覚センサだけでなく、ロボット1の各軸に対応するモータの位置を検出する位置検出器が含まれる。位置検出器は、ロボット1の各軸のモータの位置を示すモータ位置データを出力する。センサデータ出力部31cには、力覚センサデータおよびモータ位置データが入力される。
外乱予測部312は、モータ位置データを用いて、力覚センサに作用する重力を計算し、計算した重力に基づいて、力覚センサの計測値に現れる、重力による外乱成分を予測し、予測結果を減算部313へ出力する。減算部313は、力覚センサデータから外乱予測部312から出力された予測結果を差し引き、差し引いた結果を判別部32へ出力する。本実施の形態では、これにより、センサデータ出力部31cは、力覚センサデータから重力による外乱成分を除去し、作業に起因する力覚センサデータの変動を用いて作業の良否の判別を行うことができる。したがって、作業良否の判別精度を向上させることができる。なお、センサデータ出力部31cはセンサデータ出力部31と同様に処理回路により実現される。以上述べた以外の本実施の形態の動作は、実施の形態1と同様である。
また、実施の形態2または実施の形態4の機械システムに、本実施の形態の構成および動作を適用してもよい。また、本実施の形態と実施の形態3と組合せて、減算部313から出力されるデータをフィルタにより抽出するようにしてもよい。
なお、上述した例では、外乱予測部312は、重力による外乱成分を予測したが、これに限らず、慣性力、遠心力、コリオリ力などについても予測してもよい。例えば、外乱予測部312は、ロボット1の各軸のモータ位置データを用いて、各軸のモータ速度およびモータ加速度を算出する。次に、外乱予測部312は、ロボット1の各軸のモータ位置、速度および加速度を用いて力覚センサに作用する慣性力、遠心力、コリオリ力および重力の和により力覚センサの計測値に現れる外乱成分を予測し、予測結果を減算部313へ出力する。
実施の形態6.
図8は、本発明の実施の形態6にかかるセンサデータ出力部の構成例を示す図である。実施の形態6のセンサデータ出力部31dは、規定値通過判定部314と、移動量算出部315とを備える。本発明にかかる制御装置3dは、センサデータ出力部31に替えてセンサデータ出力部31dを備える以外は、実施の形態1の制御装置3と同様である。ただし、判別部32における判別の実行タイミングは実施の形態1と異なる。本実施の形態の機械システムは、制御装置3に替えて制御装置3dを備える以外は、実施の形態1の機械システムと同様である。以下、実施の形態1と異なる部分を説明し、実施の形態1と重複する説明は省略する。
図8は、本発明の実施の形態6にかかるセンサデータ出力部の構成例を示す図である。実施の形態6のセンサデータ出力部31dは、規定値通過判定部314と、移動量算出部315とを備える。本発明にかかる制御装置3dは、センサデータ出力部31に替えてセンサデータ出力部31dを備える以外は、実施の形態1の制御装置3と同様である。ただし、判別部32における判別の実行タイミングは実施の形態1と異なる。本実施の形態の機械システムは、制御装置3に替えて制御装置3dを備える以外は、実施の形態1の機械システムと同様である。以下、実施の形態1と異なる部分を説明し、実施の形態1と重複する説明は省略する。
本実施の形態では、センサデータ出力部31dの出力間隔は、出力間隔ごとのロボット1の移動量が一定となるよう決定される。移動量算出部315には、ロボット1が有する各軸のモータの位置であるモータ位置を検出する位置検出器から、モータ位置の検出結果であるモータ位置データが、制御周期ごとに入力される。移動量算出部315は、制御周期ごとに、モータ位置データに基づいてロボット1の手先位置を算出し、作業開始からの手先位置の移動量を算出する。移動量算出部315は、算出した移動量を規定値通過判定部314に出力する。
規定値通過判定部314には、制御周期ごとに、力覚センサデータが入力される。また、上述したように、規定値通過判定部314には、制御周期ごとに、移動量算出部315により算出された移動量が入力される。規定値通過判定部314は、移動量算出部315から入力された移動量が規定値未満の場合には、当該制御周期の力覚センサデータを判別部32へ出力しない。規定値通過判定部314は、移動量算出部315により算出された移動量が規定値以上となった場合に、当該制御周期の力覚センサデータを判別部32へ出力する。その後は、規定値通過判定部314は、入力された移動量が「規定値×2」未満の場合に当該制御周期の力覚センサデータを判別部32へ出力せず、入力された移動量が「規定値×2」以上となった場合に、当該制御周期の力覚センサデータを判別部32へ出力する。以降、力覚センサデータを判別部32へ出力するたびに、規定値通過判定部314は、規定値に乗ずる整数を1ずつ増加させて同様の動作を実施する。判別部32は、力覚センサデータが入力されると実施の形態1で述べたように、作業の良否の判別を実施する。
すなわち、規定値通過判定部314は、入力された移動量が「規定値×k」未満の場合に当該制御周期の力覚センサデータを判別部32へ出力せず、入力された移動量が「規定値×k」以上となった場合に、当該制御周期の力覚センサデータを判別部32へ出力する。kの初期値は0であり、規定値通過判定部314は、力覚センサデータを判別部32へ出力するたびにkの値を1増加させる。すなわち、センサデータ出力部31dは、モータ位置データに基づいて、出力間隔ごとのロボット1の移動量が一定となるよう出力間隔を決定する。このような動作を行うことにより、規定値分ロボット1の手先が移動するごとに、力覚センサデータが判別部32へ出力され、判別部32による判別が実施されることになる。なお、センサデータ出力部31dはセンサデータ出力部31と同様に処理回路により実現される。以上述べた以外の本実施の形態の動作は、実施の形態1と同様である。
ロボット1の作業中に移動量に応じて生じる現象がある場合、本実施の形態では移動量に対応した出力間隔で力覚センサデータが判別部32へ入力されるので、作業速度によらず入力の時系列データの同じ部分にその現象が現れるため、作業速度が学習後に変更されても判別の精度を高く維持できる効果がある。
なお、制御周期ごとに算出される移動量は規定値の整数倍になるとは限らないため、移動量が規定値×kとなる時刻は、力覚センサデータを判別部32へ出力する制御周期における各センサの出力時刻と一致するとは限らない。このため、移動量が規定値×kとなったときのロボット1の状態は、判別部32へ出力される力覚センサデータが示している状態とは異なっていることがある。このため、規定値通過判定部314は、力覚センサデータをそのまま出力するのではなく、当該制御周期における力覚センサデータと前の制御周期における力覚センサデータとを用いて、移動量が規定値×kとなる時刻に対応する力覚センサデータを推定し、推定結果を判別部32へ出力してもよい。例えば、規定値通過判定部314が、入力された力覚センサデータおよび移動量を少なくとも次の制御周期まで保持しておく。規定値通過判定部314は、t番目の制御周期で入力された移動量dtが規定値×k以上となりかつ(t-1)番目の制御周期で入力された移動量dt-1が規定値×k未満であった場合に、(規定値×k-dt-1)と(dt-規定値×k)との比を求める。そして、規定値通過判定部314は、求めた比に応じて(t-1)番目の制御周期で入力された力覚センサデータとt番目の制御周期で入力された力覚センサデータとの重み付け和を算出し、算出した重み付け和を判別部32へ出力するようにしてもよい。
また、実施の形態2または実施の形態4の機械システムに、本実施の形態の構成および動作を適用してもよい。また、実施の形態3と本実施の形態を組み合わせて、例えば、規定値通過判定部314から出力されるデータを、フィルタ311を通過させて判別部32に入力させてもよい。
実施の形態7.
図9は、本発明の実施の形態7にかかるセンサデータ出力部の構成例を示す図である。実施の形態7のセンサデータ出力部31eは、力覚データ推定部316を備える。本発明にかかる制御装置3eは、センサデータ出力部31に替えてセンサデータ出力部31eを備える以外は、実施の形態1の制御装置3と同様である。本実施の形態の機械システムは、制御装置3に替えて制御装置3eを備える以外は、実施の形態1の機械システムと同様である。以下、実施の形態1と異なる部分を説明し、実施の形態1と重複する説明は省略する。
図9は、本発明の実施の形態7にかかるセンサデータ出力部の構成例を示す図である。実施の形態7のセンサデータ出力部31eは、力覚データ推定部316を備える。本発明にかかる制御装置3eは、センサデータ出力部31に替えてセンサデータ出力部31eを備える以外は、実施の形態1の制御装置3と同様である。本実施の形態の機械システムは、制御装置3に替えて制御装置3eを備える以外は、実施の形態1の機械システムと同様である。以下、実施の形態1と異なる部分を説明し、実施の形態1と重複する説明は省略する。
力覚データ推定部316には、センサデータとして、制御周期ごとに、モータ電流データとモータ位置データが入力される。力覚データ推定部316は、モータ位置データを用いて、モータ速度、モータ加速度を算出するとともにロボット1の運動方程式から各軸の駆動トルクを算出する。さらに、力覚データ推定部316は、モータ電流データが示すモータ電流とトルク定数から算出したトルクとの差を算出し、算出したトルクの差をモータ位置データから算出するヤコビ行列を用いて、ロボット1の手先に作用する力およびモーメントに変換する。力覚データ推定部316は、変換により得られた、ロボット1の手先に作用する力およびモーメントを、次の制御周期で、力覚推定値すなわち推定した力覚値として判別部32へ出力する。判別部32は、入力された力覚推定値を用いて実施の形態1と同様に、作業の良否の判別を実施する。センサデータ出力部31eはセンサデータ出力部31と同様に処理回路により実現される。以上述べた以外の本実施の形態の動作は、実施の形態1と同様である。
以上のように、本実施の形態では、モータ電流データとモータ位置データを用いて力覚値を推定し、推定した力覚値を用いて作業の良否の判別を実施するようにした。このため、力覚センサを用いずに、実施の形態1と同様の効果を奏することができる。
また、実施の形態2または実施の形態4の機械システムに、本実施の形態の構成および動作を適用してもよい。また、実施の形態3と本実施の形態を組み合わせて、例えば、フィルタ311を通過させたモータ電流データとモータ位置データを用いて力覚データ推定部316が処理を行ってもよい。
実施の形態8.
図10は、本発明にかかる実施の形態8の機械システムの構成例を示す図である。図10に示すように、本実施の形態の機械システムは、実施の形態2の制御装置3aの替わりに制御装置3fを備える以外は、実施の形態2の機械システムと同様である。制御装置3fは、実施の形態2の制御装置3aに対してプログラム解釈部62が追加されている。実施の形態2と同様の構成要素には同一の符号を付して説明し、実施の形態2と重複する説明を省略する。以下、実施の形態2と異なる点を中心に説明する。
図10は、本発明にかかる実施の形態8の機械システムの構成例を示す図である。図10に示すように、本実施の形態の機械システムは、実施の形態2の制御装置3aの替わりに制御装置3fを備える以外は、実施の形態2の機械システムと同様である。制御装置3fは、実施の形態2の制御装置3aに対してプログラム解釈部62が追加されている。実施の形態2と同様の構成要素には同一の符号を付して説明し、実施の形態2と重複する説明を省略する。以下、実施の形態2と異なる点を中心に説明する。
本実施の形態では、ロボットを動作させるためのロボットプログラム(ロボット言語で記載されているプログラム)に作業良否の判別開始のためのコマンド、作業良否の判別終了のためのコマンドを記載しておく。すなわち、本実施の形態では、判別部32による判別の開始と終了はロボットプログラムを用いて指定される。ロボットプログラムは、機械システム内の装置または機械システム外の装置を用いて作業者が編集することが可能である。したがって、作業者は、作業良否の判別開始および判別終了を容易に指定することができる。プログラム解釈部62は、ロボットプログラムに従って、作業良否の判別開始および判別終了をセンサデータ出力部31へ指定する。具体的には、プログラム解釈部62は、ロボットプログラムに従って作業良否の判別開始のためのコマンドを処理することにより、センサデータ出力部31に判別部32へのセンサデータの出力の開始を指示する。これにより、センサデータ出力部31は、判別部32へセンサデータの出力を開始する。また、プログラム解釈部62が、作業良否の判別終了のためのコマンドを処理することにより、センサデータ出力部31に判別部32へのセンサデータの出力の終了を指示する。これにより、センサデータ出力部31は、判別部32へセンサデータの出力を終了する。判別部32は、センサデータ出力部31からのセンサデータの入力が開始されると、作業の良否の判別を開始し、センサデータ出力部31からのセンサデータの入力が終了すると、作業の良否の判別を終了する。
以上述べた以外の本実施の形態の構成及び動作は、実施の形態2と同様であるため、説明を省略する。本実施の形態では、実施の形態2と同様の効果を奏するとともに、ロボットプログラムを編集することにより作業の良否判別を行う箇所をユーザが容易に指定できる。なお、以上の説明では、実施の形態2の制御装置3aに対してプログラム解釈部62を追加する例を説明したが、これに限らず、実施の形態1,3-7と本実施の形態の構成および動作を組み合わせてもよい。
実施の形態9.
図11は、本発明にかかる実施の形態9の機械システムの構成例を示す図である。図11に示すように、本実施の形態の機械システムは、実施の形態2の制御装置3aの替わりに制御装置3gを備える以外は、実施の形態2の機械システムと同様である。制御装置3gは、実施の形態2の作業判別装置30の替わりに作業判別装置30aを備える以外は実施の形態2の作業判別装置30と同様である。作業判別装置30aは、実施の形態2の作業判別装置30に対してデータ記憶部63および判別結果記憶部64が追加されている。実施の形態2と同様の構成要素には同一の符号を付して説明し、実施の形態2と重複する説明を省略する。以下、実施の形態2と異なる点を中心に説明する。
図11は、本発明にかかる実施の形態9の機械システムの構成例を示す図である。図11に示すように、本実施の形態の機械システムは、実施の形態2の制御装置3aの替わりに制御装置3gを備える以外は、実施の形態2の機械システムと同様である。制御装置3gは、実施の形態2の作業判別装置30の替わりに作業判別装置30aを備える以外は実施の形態2の作業判別装置30と同様である。作業判別装置30aは、実施の形態2の作業判別装置30に対してデータ記憶部63および判別結果記憶部64が追加されている。実施の形態2と同様の構成要素には同一の符号を付して説明し、実施の形態2と重複する説明を省略する。以下、実施の形態2と異なる点を中心に説明する。
なお、図11では、データ記憶部63および判別結果記憶部64を制御装置3g内に備える例を示しているが、これに限らず、データ記憶部63および判別結果記憶部64を、PLC(Programmable Logic Controller)といった制御装置3gの外部の制御装置、または制御装置3gの外部のパーソナルコンピュータ内に備えてもよい。
データ記憶部63は、センサデータ出力部31から出力されるセンサデータを、該センサデータの識別情報とともに、時系列データとして記憶する。識別情報は、例えばタイムスタンプであり、当該センサデータがいつ実行されたどの作業に対応するものであるかを識別するための情報である。
判別結果記憶部64は、判別部32から最終的に出力される判別結果を、該判別結果の識別情報とともに、記憶する。この識別情報は、上述した識別情報と同様に、例えばタイムスタンプであり、当該判別結果がいつ実行されたどの作業に対応するものであるかを識別するための情報である。
データ記憶部63および判別結果記憶部64に記憶されたデータは、例えば、学習装置4を実現するパーソナルコンピュータ、表示器5等に送信され、これらの装置に表示される。または、データ記憶部63および判別結果記憶部64に記憶されたデータは、他のパーソナルコンピュータまたはPLCなど、制御装置3gとネットワークを介して接続される装置に送信されてもよい。
以上述べた以外の本実施の形態の構成及び動作は、実施の形態2と同様であるため、説明を省略する。本実施の形態では、制御装置3gは、実施の形態2と同様の効果を奏することができるとともに、過去のセンサデータおよび判別結果を記憶しておくことができる。過去の判別結果を記憶しておくことで、作業者は、後日、解析を行うことができる。また、記憶された一定期間のデータをまとめて表示することができる。なお、以上の説明では、実施の形態2の制御装置3aにおいて、作業判別装置30の替わりに作業判別装置30aを備える例を説明したが、これに限らず、実施の形態1,3-8と本実施の形態の構成および動作を組み合わせてもよい。
実施の形態10.
図12は、本発明の実施の形態10にかかるセンサデータ出力部の構成例を示す図である。実施の形態10のセンサデータ出力部31fは、実施の形態3で述べたフィルタ311と、ハイパスフィルタ、バンドパスフィルタ、ローパスフィルタのいずれかで構成されるフィルタ317を備える。本発明にかかる制御装置3hは、センサデータ出力部31に替えてセンサデータ出力部31fを備える以外は、実施の形態2の制御装置3aと同様である。本実施の形態の機械システムは、制御装置3aに替えて制御装置3hを備える以外は、実施の形態2の機械システムと同様である。以下、実施の形態2と異なる部分を説明し、実施の形態2と重複する説明は省略する。
図12は、本発明の実施の形態10にかかるセンサデータ出力部の構成例を示す図である。実施の形態10のセンサデータ出力部31fは、実施の形態3で述べたフィルタ311と、ハイパスフィルタ、バンドパスフィルタ、ローパスフィルタのいずれかで構成されるフィルタ317を備える。本発明にかかる制御装置3hは、センサデータ出力部31に替えてセンサデータ出力部31fを備える以外は、実施の形態2の制御装置3aと同様である。本実施の形態の機械システムは、制御装置3aに替えて制御装置3hを備える以外は、実施の形態2の機械システムと同様である。以下、実施の形態2と異なる部分を説明し、実施の形態2と重複する説明は省略する。
フィルタ311は、実施の形態3と同様に、力覚センサデータから所望の周波数帯の成分を抽出し、抽出した結果を状態データとして判別部32へ出力する。フィルタ317は、モータ位置データから所望の周波数帯の成分を抽出し、抽出した結果を状態データとして判別部32へ出力する。
6軸の垂直多関節ロボットの場合、ロボット各軸のモータ位置は6次元となる。本実施の形態では、力覚センサの出力(6次元)とロボット各軸のモータ位置をそれぞれフィルタ311、フィルタ317を通過させて判別部32へ入力する。これにより判別部32への入力数は12となる。
以上のように、入力数が12の場合にも、実施の形態3と同様にセンサデータをフィルタを通過させてから判別を行うことで、実施の形態3と同様の効果を奏することができる。なお、以上の説明では、実施の形態2の制御装置3aのセンサデータ出力部31をセンサデータ出力部31fに替える例を説明したが、これに限らず、実施の形態1,3-6,8,9と本実施の形態の構成および動作を組み合わせてもよい。
実施の形態11.
次に、本発明にかかる実施の形態11の作業の良否の判別方法について説明する。本実施の形態の機械システムの構成は、実施の形態1と同様である。なお、実施の形態2-10のいずれかの機械システムにおいて、本実施の形態の作業の良否の判別方法を適用してもよい。
次に、本発明にかかる実施の形態11の作業の良否の判別方法について説明する。本実施の形態の機械システムの構成は、実施の形態1と同様である。なお、実施の形態2-10のいずれかの機械システムにおいて、本実施の形態の作業の良否の判別方法を適用してもよい。
図13は、実施の形態11の作業の良否の判別方法の一例を示すフローチャートである。本実施の形態にかかる判別方法はロボット1がカバー組み付け、コネクタ挿入、基板挿入、軸の嵌め合いなどの組立作業を開始するとともに判別を開始し、該作業を終了するとともに判別を終了する。
図13に示すように、まず。センサデータ出力部31が、センサデータを出力する(ステップS1)。センサデータ出力部31は、制御周期ごとに、センサデータを出力する。センサデータは、ロボット1内部の状態量、ロボット1の手首部に取り付けた力覚センサの出力データなどである。ロボット1内部の状態量はロボット1の各軸のモータの位置、速度、電流、モータの位置指令などであり、力覚センサの出力データとしては3軸方向の力(Fx,Fy,Fz)と3軸周りのモーメント(Mx,My,Mz)などである。
判別部32は、センサデータ出力部31からセンサデータを受け取ると、センサデータを入力としてRNN演算を行う(ステップS2)。詳細には、判別部32の図2に示したモデル部321が、RNN演算を行う。上述したように、センサデータは制御周期ごとに出力されるため、RNN演算も制御周期ごとに行われる。RNN演算では前回の制御周期の中間層の出力を記憶しておき、前回の制御周期における出力値と今回の周期の入力側の値(入力層の出力)から算出した項との重み付和を中間層の出力としている。出力層からは三次元の値を制御周期ごとに出力する。
上述したように、実際の生産を開始する前に組立作業時の3軸方向の力(Fx,Fy,Fz)の時系列データ、その組立作業の作業結果をペアにして学習させた学習済モデルがモデル部321で用いられる。本実施の形態では、ロボット1が複数の動作速度で作業を実施し、データを採取しておく。具体的には、組立作業が正常に終了した場合は出力値(1,0,0)、位置ずれをわざと起して失敗した場合にデータの場合は出力値(0,1,0)、部品に一部欠損があったり部品に異物が付着して作業が失敗したりした場合は出力値(0,0,1)として学習させておく。なお次元を増加し、部品の異常状態を部品の欠損と異物の付着に分けるなど、複数の異常モードに分けて学習させてもよい。
ステップS2の後、判別部32の図2に示した異常判別部322は、モデル部321からの出力値の第2、3項のいずれかが規定値以上かどうか、すなわちモデル部321からの出力値の第2要素および第3要素のうちの少なくともいずれか1つが規定値以上かどうかを判定する(ステップS3)。ステップS3でNoと判定されると、すなわち、第2要素および第3要素のいずれも規定値未満の場合、動作修正部33はロボット1の動作を修正せずに動作を継続させる(ステップS7)。
ステップS3でYesと判定されると、すなわちモデル部321からの出力値の第2要素および第3要素のうちの少なくともいずれか1つが規定値以上の場合、異常判別部322は、第2項すなわち第2要素が、規定値以上かどうかを判定する(ステップS4)。第2要素が規定値以上の場合(ステップS4 Yes)、動作修正部33は、一旦ロボット1を停止させて予め定められた位置までロボットを戻すとともに探索動作を行って作業を再開(リトライ)する(ステップS5)。探索動作では、ロボット1に取り付けた力覚センサや触覚センサの値に基づいて正しい挿入作業の位置を探索する。例えばカバーのないピンへのコネクタ挿入作業の場合であれば、複数の方向からロボットが把持したコネクタを低速で突き当ててピンの位置を導出し、導出した位置でコネクタ挿入作業を再度実施する。
ステップS4でNoと判定されると、すなわち第3要素が規定値以上の場合、動作修正部33は、ロボット1の動作をその場で停止させる(ステップS6)。
以上の本発明にかかる作業の良否の判別方法の処理手順の一例を説明した。これにより、実施の形態1で述べた効果を奏することができる。
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
1 ロボット、2 センサ、3,3a,3b,3c,3d,3e,3f,3g,3h 制御装置、4 学習装置、5 表示器、30,30a 作業判別装置、31,31b,31c,31d,31e,31f センサデータ出力部、32 判別部、33 動作修正部、34 動作制御部、41 学習部、61 補正量記憶部、62 プログラム解釈部、63 データ記憶部、64 判別結果記憶部、311,317 フィルタ、312 外乱予測部、313 減算部、314 規定値通過判定部、315 移動量算出部、316 力覚データ推定部、321 モデル部、322 異常判別部。
Claims (15)
- 産業機械の作業の状態を示す状態データを、前記産業機械の動作を制御する制御周期の整数倍の出力間隔で出力するセンサデータ出力部と、
前記センサデータ出力部から出力される前記状態データに基づいて、リカレントニューラルネットワークによる推論によって前記産業機械の作業の良否を判別する判別部と、
を備えることを特徴とする作業判別装置。 - 前記判別部による判別結果に基づいて、前記産業機械の動作を修正させるよう制御する動作修正部、
を備えることを特徴とする請求項1に記載の作業判別装置。 - 前記産業機械はロボットであり、前記作業は組立作業であり、
前記判別部は、さらに、前記作業における異常の種別を判別し、
前記動作修正部は、前記判別部により前記産業機械の位置ずれの異常と判別された場合には、前記産業機械を定められた位置に戻した後に再度作業を行わせるよう制御し、前記判別部により前記作業に用いる部品に関する異常であると判別された場合はロボットを停止させるよう制御することを特徴とする請求項2に記載の作業判別装置。 - 前記産業機械はロボットであり、前記作業は組立作業であり、
前記判別部は、さらに、前記作業における異常の種別を判別し、前記産業機械の位置ずれの量を示す値を算出し、
前記動作修正部は、前記判別部により前記産業機械の位置ずれの異常と判別された場合には、前記位置ずれの量を示す値を用いて位置ずれを抑制するように前記産業機械の動作を修正して再度作業を行わせるよう制御し、前記判別部により前記作業に用いる部品に関する異常であると判別された場合はロボットを停止させるよう制御することを特徴とする請求項2に記載の作業判別装置。 - 前記動作修正部は、前記位置ずれの量を示す値が規定値未満の場合、当該作業においては前記産業機械の動作の修正は行わず、次回の前記産業機械の作業において前記位置ずれの量を示す値を用いて位置ずれを抑制するように前記産業機械の動作を修正するよう制御することを特徴とする請求項4に記載の作業判別装置。
- 前記出力間隔は、前記制御周期の1倍であることを特徴とする請求項1から5のいずれか1つに記載の作業判別装置。
- Lを2以上の整数とし、前記出力間隔は、前記制御周期のL倍であり、
前記センサデータ出力部には、前記産業機械の作業の状態の検出結果であるセンサデータが前記制御周期ごとに入力され、
前記センサデータ出力部は、最新のL個のセンサデータの平均値を前記状態データとして出力することを特徴とする請求項1から5のいずれか1つに記載の作業判別装置。 - 前記出力間隔ごとの前記産業機械の移動量が一定となるよう前記出力間隔が決定されることを特徴とする請求項1から5のいずれか1つに記載の作業判別装置。
- 前記産業機械の作業の状態を示す状態データは、前記産業機械に設けられた力覚センサにより検出された検出結果である力覚センサデータを含み、
前記センサデータ出力部は、前記産業機械が有するモータの位置の検出結果であるモータ位置データに基づいて、前記出力間隔ごとの前記産業機械の移動量が一定となるよう前記出力間隔を決定することを特徴とする請求項8に記載の作業判別装置。 - 前記センサデータ出力部は、前記産業機械の作業の状態を検出するセンサから出力されたセンサデータから所望の周波数帯成分を抽出し、抽出した結果を前記状態データとして出力することを特徴とする請求項1から6のいずれか1つに記載の作業判別装置。
- 前記センサデータ出力部には、前記産業機械の作業の状態を示す状態データは、前記産業機械が有するモータの位置の検出結果であるモータ位置データと前記産業機械に設けられた力覚センサにより検出された検出結果である力覚センサデータとが入力され、
前記センサデータ出力部は、前記モータ位置データに基づいて、前記力覚センサによる計測値に含まれる外乱成分を推定し、前記力覚センサデータから前記外乱成分を除去した結果を前記状態データとして出力することを特徴とする請求項1から6のいずれか1つに記載の作業判別装置。 - 前記センサデータ出力部には、前記産業機械の作業の状態を示す状態データは、前記産業機械が有するモータの位置の検出結果であるモータ位置データと前記モータを流れるモータ電流の検出結果であるモータ電流データとが入力され、
前記センサデータ出力部は、前記モータ位置データおよび前記モータ電流データに基づいて、前記産業機械における力覚値を推定し、推定した前記力覚値を前記状態データとして出力することを特徴とする請求項1から6のいずれか1つに記載の作業判別装置。 - 前記判別部による判別の開始と終了はロボットプログラムを用いて指定されることを特徴とする請求項1から12のいずれか1つに記載の作業判別装置。
- 前記判別部による判別結果を記憶する判別結果記憶部、
を備えることを特徴とする請求項1から13のいずれか1つに記載の作業判別装置。 - 作業判別装置が産業機械の作業の良否を判別する作業判別方法であって、
前記産業機械の作業の状態を示す状態データを、前記産業機械の動作を制御する制御周期の整数倍の出力間隔で出力するデータ出力ステップと、
前記データ出力ステップで出力される前記状態データに基づいて、リカレントニューラルネットワークによる推論によって前記産業機械の作業の良否を判別する判別ステップと、
を含むことを特徴とする作業判別方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201980090472.1A CN113365788B (zh) | 2019-02-01 | 2019-12-19 | 作业判别装置及作业判别方法 |
DE112019006789.3T DE112019006789B4 (de) | 2019-02-01 | 2019-12-19 | Arbeitsbestimmungsgerät und arbeitsbestimmungsverfahren |
US17/299,785 US11865721B2 (en) | 2019-02-01 | 2019-12-19 | Work determination apparatus and work determination method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019-017080 | 2019-02-01 | ||
JP2019017080A JP7092307B2 (ja) | 2019-02-01 | 2019-02-01 | 作業判別装置および作業判別方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020158239A1 true WO2020158239A1 (ja) | 2020-08-06 |
Family
ID=71840026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/049929 WO2020158239A1 (ja) | 2019-02-01 | 2019-12-19 | 作業判別装置および作業判別方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11865721B2 (ja) |
JP (1) | JP7092307B2 (ja) |
CN (1) | CN113365788B (ja) |
DE (1) | DE112019006789B4 (ja) |
WO (1) | WO2020158239A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT201900015491A1 (it) * | 2019-09-03 | 2021-03-03 | St Microelectronics Srl | Procedimento di elaborazione dati di serie temporali, sistema di elaborazione, dispositivo e prodotto informatico corrispondenti |
GB202003015D0 (en) * | 2020-03-03 | 2020-04-15 | Atlas Copco Ias Uk Ltd | Riveting machine |
US20240033911A1 (en) * | 2020-12-28 | 2024-02-01 | Sony Group Corporation | Control system and control method |
WO2022145213A1 (ja) * | 2020-12-28 | 2022-07-07 | ソニーグループ株式会社 | 制御装置、制御システム及び制御方法 |
DE102021126188B4 (de) | 2021-10-08 | 2024-10-10 | Dürr Systems Ag | Überwachungsverfahren für einen Roboter und zugehörige Roboteranlage |
DE102021213918A1 (de) * | 2021-12-07 | 2023-06-07 | Kuka Deutschland Gmbh | Identifikation von Fehlerursachen auf Befehlsebene in Prozessen |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06331683A (ja) * | 1993-05-19 | 1994-12-02 | Kansai Electric Power Co Inc:The | コンデンサ形計器用変圧器の内部部分放電検出方法 |
JPH09123078A (ja) * | 1995-11-01 | 1997-05-13 | Ricoh Co Ltd | ロボット装置 |
JP2011104740A (ja) * | 2009-11-19 | 2011-06-02 | Mitsubishi Electric Corp | 力制御装置 |
JP2011230231A (ja) * | 2010-04-28 | 2011-11-17 | Yaskawa Electric Corp | ロボットの作業成否判定装置、および方法 |
JP2012171071A (ja) * | 2011-02-23 | 2012-09-10 | Toyama Prefecture | ロボットのねじ締め作業異常検知方法 |
JP2016221660A (ja) * | 2015-06-03 | 2016-12-28 | 富士通株式会社 | 判定方法、判定プログラム及び判定装置 |
WO2016208467A1 (ja) * | 2015-06-22 | 2016-12-29 | 三菱電機株式会社 | キャリブレーション装置およびこれを用いたロボットシステム |
JP2018027577A (ja) * | 2016-08-15 | 2018-02-22 | 富士通株式会社 | 判定装置、判定方法、および判定プログラム |
JP2018120399A (ja) * | 2017-01-25 | 2018-08-02 | オムロン株式会社 | 制御装置、制御プログラムおよび制御システム |
JP2018200306A (ja) * | 2017-05-29 | 2018-12-20 | ローム株式会社 | バッテリの残量検出回路、それを用いた電子機器、バッテリ残量の検出方法 |
JP2019181488A (ja) * | 2018-04-03 | 2019-10-24 | 株式会社ダイヘン | コンピュータプログラム、溶接情報算出装置、溶接トーチ、溶接電源、溶接システム |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08300280A (ja) * | 1995-05-09 | 1996-11-19 | Fanuc Ltd | ロボットの動作制御方式 |
JP4271249B2 (ja) * | 2007-06-14 | 2009-06-03 | ファナック株式会社 | 嵌合装置 |
JP4598849B2 (ja) * | 2008-09-03 | 2010-12-15 | ファナック株式会社 | 嵌合の詰まり状態を修正する嵌合装置 |
EP2906396A1 (en) * | 2012-10-11 | 2015-08-19 | ABB Technology Ltd. | A method and an apparatus for automatically generating a collision free return program for returning a robot from a stop position to a predefined restart position |
WO2015109555A1 (en) * | 2014-01-26 | 2015-07-30 | Abb Technology Ltd | Method, apparatus and robot system for moving objects to target position |
JP5893665B2 (ja) * | 2014-04-14 | 2016-03-23 | ファナック株式会社 | 作用された力に応じて移動されるロボットを制御するロボット制御装置 |
JP6003942B2 (ja) * | 2014-04-24 | 2016-10-05 | トヨタ自動車株式会社 | 動作制限装置及び動作制限方法 |
JP6460690B2 (ja) * | 2014-09-16 | 2019-01-30 | キヤノン株式会社 | ロボット装置、ロボット制御方法、プログラム及び記録媒体 |
US9889566B2 (en) | 2015-05-01 | 2018-02-13 | General Electric Company | Systems and methods for control of robotic manipulation |
DE102016008987B4 (de) | 2015-07-31 | 2021-09-16 | Fanuc Corporation | Maschinenlernverfahren und Maschinenlernvorrichtung zum Lernen von Fehlerbedingungen, und Fehlervorhersagevorrichtung und Fehlervorhersagesystem, das die Maschinenlernvorrichtung einschließt |
JP6514166B2 (ja) * | 2016-09-16 | 2019-05-15 | ファナック株式会社 | ロボットの動作プログラムを学習する機械学習装置,ロボットシステムおよび機械学習方法 |
US10723022B2 (en) * | 2016-09-16 | 2020-07-28 | Carbon Robotics, Inc. | System and calibration, registration, and training methods |
CN106826826B (zh) * | 2017-02-14 | 2019-09-20 | 上海新时达电气股份有限公司 | 一种机器人控制方法与装置 |
JP6707485B2 (ja) * | 2017-03-22 | 2020-06-10 | 株式会社東芝 | 物体ハンドリング装置およびその較正方法 |
US10862175B2 (en) | 2017-05-29 | 2020-12-08 | Rohm Co., Ltd. | Battery fuel gauge circuit |
US11007648B2 (en) * | 2017-09-05 | 2021-05-18 | Abb Schweiz Ag | Robotic system for grasping objects |
US10016900B1 (en) * | 2017-10-10 | 2018-07-10 | Auris Health, Inc. | Surgical robotic arm admittance control |
JP6781183B2 (ja) * | 2018-03-26 | 2020-11-04 | ファナック株式会社 | 制御装置及び機械学習装置 |
JP7225563B2 (ja) * | 2018-05-14 | 2023-02-21 | セイコーエプソン株式会社 | ロボット、制御装置およびロボットの制御方法 |
JP2020044610A (ja) * | 2018-09-19 | 2020-03-26 | 株式会社デンソーウェーブ | ロボットの制御方法 |
JP7000359B2 (ja) * | 2019-01-16 | 2022-01-19 | ファナック株式会社 | 判定装置 |
-
2019
- 2019-02-01 JP JP2019017080A patent/JP7092307B2/ja active Active
- 2019-12-19 US US17/299,785 patent/US11865721B2/en active Active
- 2019-12-19 DE DE112019006789.3T patent/DE112019006789B4/de active Active
- 2019-12-19 CN CN201980090472.1A patent/CN113365788B/zh active Active
- 2019-12-19 WO PCT/JP2019/049929 patent/WO2020158239A1/ja active Application Filing
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06331683A (ja) * | 1993-05-19 | 1994-12-02 | Kansai Electric Power Co Inc:The | コンデンサ形計器用変圧器の内部部分放電検出方法 |
JPH09123078A (ja) * | 1995-11-01 | 1997-05-13 | Ricoh Co Ltd | ロボット装置 |
JP2011104740A (ja) * | 2009-11-19 | 2011-06-02 | Mitsubishi Electric Corp | 力制御装置 |
JP2011230231A (ja) * | 2010-04-28 | 2011-11-17 | Yaskawa Electric Corp | ロボットの作業成否判定装置、および方法 |
JP2012171071A (ja) * | 2011-02-23 | 2012-09-10 | Toyama Prefecture | ロボットのねじ締め作業異常検知方法 |
JP2016221660A (ja) * | 2015-06-03 | 2016-12-28 | 富士通株式会社 | 判定方法、判定プログラム及び判定装置 |
WO2016208467A1 (ja) * | 2015-06-22 | 2016-12-29 | 三菱電機株式会社 | キャリブレーション装置およびこれを用いたロボットシステム |
JP2018027577A (ja) * | 2016-08-15 | 2018-02-22 | 富士通株式会社 | 判定装置、判定方法、および判定プログラム |
JP2018120399A (ja) * | 2017-01-25 | 2018-08-02 | オムロン株式会社 | 制御装置、制御プログラムおよび制御システム |
JP2018200306A (ja) * | 2017-05-29 | 2018-12-20 | ローム株式会社 | バッテリの残量検出回路、それを用いた電子機器、バッテリ残量の検出方法 |
JP2019181488A (ja) * | 2018-04-03 | 2019-10-24 | 株式会社ダイヘン | コンピュータプログラム、溶接情報算出装置、溶接トーチ、溶接電源、溶接システム |
Non-Patent Citations (1)
Title |
---|
MOTOYAMA, RYO ET AL.: "Pin insertion operation by a robot using the time history of the force signal", THE 29TH ANNUAL CONFERENCE OF THE ROBOTICS SOCIETY OF JAPAN, 7 September 2011 (2011-09-07) * |
Also Published As
Publication number | Publication date |
---|---|
JP2020124760A (ja) | 2020-08-20 |
DE112019006789T5 (de) | 2021-10-28 |
US20220016770A1 (en) | 2022-01-20 |
JP7092307B2 (ja) | 2022-06-28 |
CN113365788A (zh) | 2021-09-07 |
DE112019006789B4 (de) | 2023-09-07 |
US11865721B2 (en) | 2024-01-09 |
CN113365788B (zh) | 2024-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020158239A1 (ja) | 作業判別装置および作業判別方法 | |
JP6031202B1 (ja) | 製造機械の異常の原因を発見するセル制御装置 | |
US10782664B2 (en) | Production system that sets determination value of variable relating to abnormality of product | |
US10502253B2 (en) | Machine learning device for learning assembly operation and component assembly system | |
US10478969B2 (en) | Method for the improved detection of the collision of a robot with its environment, system and computer program product implementing said method | |
CN109940622B (zh) | 一种基于电机电流的机器人机械臂无传感碰撞检测方法 | |
US20050261837A1 (en) | Kernel-based system and method for estimation-based equipment condition monitoring | |
JP6572265B2 (ja) | 制御装置及び機械学習装置 | |
Bansal et al. | A real-time predictive maintenance system for machine systems | |
US10345796B2 (en) | Cell controller and production system for managing working situation of a plurality of manufacturing machines in manufacturing cell | |
WO2020213062A1 (ja) | モータ制御装置 | |
JP2020155114A (ja) | 時変システム動作における異常検出のためのシステム、方法およびコンピュータ読取可能記憶媒体 | |
Qiao et al. | Monitoring, diagnostics, and prognostics for robot tool center accuracy degradation | |
Uchida et al. | Process fault diagnosis method based on MSPC and LiNGAM and its application to Tennessee Eastman process | |
McIntyre et al. | Fault detection and identification for robot manipulators | |
Demetgul et al. | Misalignment detection on linear feed axis using sensorless motor current signals | |
Khireddine et al. | Fault diagnosis in robotic manipulators using artificial neural networks and fuzzy logic | |
WO2022162740A1 (ja) | 数値制御装置 | |
CN109583124B (zh) | 一种基于adrc的hmm故障预测系统 | |
US20230286150A1 (en) | Robot control device | |
Carreón-Díaz de León et al. | A novel methodology of parametric identification for robots based on a CNN | |
Gupta et al. | Digital Twin-driven Condition Monitoring: Development for Ball Screw Feed Drive Systems | |
Xu et al. | A novel collision detection method based on current residuals for robots without joint torque sensors: A case study on UR10 robot | |
Wang et al. | Research on Data-Driven Intelligent Fault Diagnosis Method for Industrial Robots | |
Tang et al. | Monitoring and fault diagnosis using fisher discrimnant analysis |
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: 19913706 Country of ref document: EP Kind code of ref document: A1 |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19913706 Country of ref document: EP Kind code of ref document: A1 |