WO2024079883A1 - 生産支援装置 - Google Patents
生産支援装置 Download PDFInfo
- Publication number
- WO2024079883A1 WO2024079883A1 PCT/JP2022/038371 JP2022038371W WO2024079883A1 WO 2024079883 A1 WO2024079883 A1 WO 2024079883A1 JP 2022038371 W JP2022038371 W JP 2022038371W WO 2024079883 A1 WO2024079883 A1 WO 2024079883A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- component
- data
- pair
- learning data
- support device
- Prior art date
Links
- 238000004519 manufacturing process Methods 0.000 title claims abstract description 180
- 238000000034 method Methods 0.000 claims abstract description 47
- 238000010801 machine learning Methods 0.000 claims abstract description 43
- 230000008569 process Effects 0.000 claims abstract description 42
- 238000013500 data storage Methods 0.000 claims abstract description 23
- 238000000605 extraction Methods 0.000 claims abstract description 20
- 238000003860 storage Methods 0.000 claims abstract description 20
- 238000012549 training Methods 0.000 claims abstract description 19
- 238000004088 simulation Methods 0.000 claims description 15
- 239000000284 extract Substances 0.000 claims description 12
- 239000000203 mixture Substances 0.000 claims description 6
- 230000001174 ascending effect Effects 0.000 claims description 4
- 239000000758 substrate Substances 0.000 abstract description 3
- 238000002474 experimental method Methods 0.000 abstract 1
- 238000011156 evaluation Methods 0.000 description 52
- 230000006870 function Effects 0.000 description 52
- 230000009471 action Effects 0.000 description 43
- 238000005457 optimization Methods 0.000 description 39
- 238000007726 management method Methods 0.000 description 26
- 230000006399 behavior Effects 0.000 description 24
- 238000004364 calculation method Methods 0.000 description 23
- 230000002787 reinforcement Effects 0.000 description 22
- 230000032258 transport Effects 0.000 description 13
- 230000004048 modification Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 230000003542 behavioural effect Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000003384 imaging method Methods 0.000 description 3
- 238000003825 pressing Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000011347 resin Substances 0.000 description 2
- 229920005989 resin Polymers 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000000342 Monte Carlo simulation Methods 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 229920006254 polymer film Polymers 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K13/00—Apparatus or processes specially adapted for manufacturing or adjusting assemblages of electric components
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K13/00—Apparatus or processes specially adapted for manufacturing or adjusting assemblages of electric components
- H05K13/02—Feeding of components
Definitions
- This specification relates to a production support device.
- Patent Document 1 a state determination device and a state determination method disclosed in Patent Document 1 (hereinafter referred to as "conventional state determination device, etc.") are known.
- a trained model to which training data classified based on classification conditions is applied is determined, and the classified training data is applied to the determined trained model to perform machine learning.
- machine learning is performed by applying specific classified learning data to a learned model that is selectively determined from a plurality of learned models. Therefore, in conventional state determination devices, etc., the learned model can output the desired inference result for data similar to the specific classified learning data.
- bias occurs in the learning data used for learning, and as a result, a learned model specialized for the classification criteria for classifying the learning data over time is generated.
- the purpose of this specification is to provide a production support device that can use a trained model that is generated while suppressing bias in the training data.
- This specification discloses a production support device that includes a first learning data acquisition unit that acquires multiple first learning data used in first machine learning related to component type pairs that improve the mounting process and obtain a reward by switching component type pairs of components to be mounted on a board between multiple component mounting machines and trying mounting processes, a learning data storage unit that classifies and stores the multiple acquired first learning data according to predetermined classification criteria, an extraction unit that randomly extracts each of the first learning data classified and stored in the learning data storage unit, and a trained model storage unit that stores a trained model generated by performing the first machine learning using the randomly extracted first learning data.
- the production support device randomly extracts each of the classified and stored first learning data and performs first machine learning, thereby making it possible to use a trained model that has been generated while suppressing bias in the learning data.
- FIG. 1 is a diagram showing an overall configuration of a production system.
- FIG. 2 is a diagram for explaining a plurality of component mounting machines constituting the production system of FIG. 1 .
- FIG. 3 is a diagram showing a schematic diagram of an overall configuration of the component mounting machine shown in FIG. 2 .
- FIG. 2 is a side view showing a schematic view of a main part of the feeder shown in FIG. 1 .
- FIG. 2 is a top view illustrating a carrier tape.
- FIG. 2 is a functional block diagram showing a configuration of a production support device.
- FIG. 2 is a functional block diagram showing a configuration of an inference phase by a production support device (inference unit).
- 4 is a flowchart showing an optimization program executed by the production support device.
- the production support device will be described below with reference to the drawings. In this embodiment, an example will be described in which the production support device is provided in a production system in which a feeder is transported to a component mounting machine by an automatic transport machine.
- the production system 1 includes a plurality of component mounting machines 10 (four in this embodiment) arranged in the width direction, an automatic conveyor 20, a loader device 30, a feeder 40, and a production support device 100.
- the component mounting machine 10 is a substrate-related operation machine that performs a mounting operation of mounting a component P (e.g., an electronic component) on a substrate K as a predetermined operation.
- the board K is transported in sequence into each component mounting machine 10, and a mounting process is performed in which the specified components are mounted in each component mounting machine 10.
- the X-axis direction is the left-right direction (width direction) of the component mounting machine 10
- the Y-axis direction is the front-back direction (depth direction) of the component mounting machine 10
- the Z-axis direction is the up-down direction (vertical direction) of the component mounting machine 10.
- the production system 1 also includes an automatic conveyor 20 that conveys and detaches (replaces) the feeders 40 for each of the component mounting machines 10.
- an example of the automatic conveyor 20 is an AGV (Automatic Guided Vehicle), which is an unmanned transport vehicle (unmanned transport robot) that automatically moves back and forth between an automatic warehouse (not shown) and the component mounting machine 10 to convey a specified feeder 40.
- the automatic conveyor 20 includes a detachment mechanism (e.g., a belt conveyor or an articulated robot) for attaching and detaching the feeder 40 to and from the component supply device 12 of the component mounting machine 10, which will be described later.
- the production system 1 is equipped with a loader device 30 that replenishes parts P and changes the setup for the next production run in accordance with the production schedule.
- the loader device 30 is disposed in front of the component mounting machine 10 (more specifically, the component supply device 12 described below) in the Y-axis direction and is movable in the X-axis direction. Note that in this embodiment, the loader device 30 is also movable in the X-axis direction across adjacent component mounting machines 10 (component supply devices 12).
- the loader device 30 also moves the feeder 40 from the upper level to the lower level or from the lower level to the upper level in the slot 12S of the component supply device 12 described later. Furthermore, the loader device 30 moves and replaces the feeder 40 between two component mounting machines 10, i.e., between the slots 12S of each of the two component supply devices 12. Specifically, the loader device 30 can temporarily store (recover) the feeder 40 set in the upper level of the slot 12S, move it in the X-axis direction, and then discharge the stored (recovered) feeder 40 to the lower level and set it. The loader device 30 can temporarily store (recover) the feeder 40 set in the lower level of the slot 12S, move it in the X-axis direction, and then discharge the stored (recovered) feeder 40 to the upper level and set it.
- the loader device 30 temporarily stores (retrieves) the feeder 40 set in the slot 12S of the component supply device 12 of one component mounting machine 10, moves it in the X-axis direction, and then ejects and sets the stored (retrieved) feeder 40 into the slot 12S of the component supply device 12 of the other component mounting machine 10, i.e., it is possible to interchange multiple feeders 40 between component mounting machines 10. This allows the loader device 30 to automatically supply components P and perform setup changes (including the replacement of feeders 40).
- the production system 1 is provided with a management device H for controlling the entire production.
- the management device H include a host computer or a buffer connected to each of the above-mentioned devices so that they can communicate with each other.
- the management device H supplies various information, including production information J related to production, to each of the above-mentioned devices 10, 20, 30, 40, and 100 as necessary, as described below.
- the component mounting machine 10 mainly comprises a board transport device 11, a component supply device 12, a component transfer device 13, a component camera 14, a board camera 15, and a control device 16.
- the board transport device 11 is composed of a belt conveyor or the like, and transports the board K sequentially in the X-axis direction.
- the board transport device 11 positions the board K at a predetermined position within the component mounting machine 10. Then, when the mounting operation on the positioned board K is completed, the board transport device 11 transports the board K outside the component mounting machine 10 (for example, to an adjacent component mounting machine 10).
- the component supply device 12 supplies components P (e.g., electronic components) to be mounted on the board K.
- the component supply device 12 has a number of slots 12S arranged in the X-axis direction, and a feeder 40 is removably set in each of the slots 12S.
- the slots 12S are formed by an upper section and a lower section along the Z-axis direction (see FIG. 2).
- the component supply device 12 feeds and moves a carrier tape 50 that supplies components P (described later) by the feeder 40, and supplies components P to a component supply position Ps (see FIG. 4) provided at the tip side (upper side in FIG. 3) of the feeder 40.
- the component transfer device 13 holds the component P supplied to the component supply position Ps and mounts the held component P on the positioned board K.
- the component transfer device 13 mainly comprises a head drive device 13A, a moving table 13B, and a mounting head 13C.
- the head drive device 13A moves the moving table 13B in the X-axis and Y-axis directions using a linear motion mechanism.
- the mounting head 13C is a holding device that holds the component P, and is detachably mounted on the moving stage 13B.
- a plurality of suction nozzles 13E capable of holding the component P are detachably mounted on a nozzle holder 13D provided on the mounting head 13C.
- the suction nozzles 13E are supported on the mounting head 13C so that they can rotate about an axis parallel to the Z-axis direction (the up and down direction of the component mounting machine 10) and can be raised and lowered.
- the suction nozzles 13E hold the component P supplied to the component supply position Ps by suction, and mount the held component P on the positioned board K.
- the component camera 14 and the board camera 15 are digital imaging devices having imaging elements such as CCD or CMOS.
- the component camera 14 is fixed to the base of the component mounting machine 10 with its optical axis facing the Z-axis direction, and images the component P held by the suction nozzle 13E from below.
- the board camera 15 is fixed to the moving stage 13B with its optical axis facing the Z-axis direction, and images the board K from above.
- the control device 16 is a computer device whose main components are a CPU, ROM, RAM, and various interfaces, and it controls the overall operation of the component mounting machine 10. Specifically, the control device 16 operates the component mounting machine 10 by executing a control program (not shown). As a result, the component mounting machine 10 performs the mounting work of the component P, for example, according to a sequence stored in advance.
- control device 16 causes the board camera 15 to capture an image of the board K that has been positioned by the board transport device 11. The control device 16 then processes the image captured by the board camera 15 to recognize the positioning state of the board K. The control device 16 also causes the suction nozzle 13E to pick up and hold the component P supplied by the component supply device 12, and causes the component camera 14 to capture an image of the held component P. The control device 16 then processes the image captured by the component camera 14 to recognize the posture of the component P.
- the control device 16 executes a control program and moves the suction nozzle 13E (mounting head 13C) above a designated mounting position that is preset as the position at which the component P is to be mounted on the board K.
- the control device 16 also corrects the designated mounting position and designated mounting angle based on the positioning state of the board K and the attitude of the component P, and sets the mounting position and mounting angle at which the component P is actually mounted.
- the control device 16 corrects the target position (X-axis coordinates and Y-axis coordinates) and rotation angle of the suction nozzle 13E according to the mounting position and mounting angle. The control device 16 then lowers the suction nozzle 13E at the corrected rotation angle in the corrected target position, and mounts the component P on the board K. The control device 16 repeats the pick-and-place cycle as described above to perform the mounting process of mounting multiple components P on the board K.
- Feeder 40 4 the feeder 40 includes a feeder body 41, a drive sprocket 42, a tape pressing unit 43, and a peeling unit 44.
- the feeder 40 holds a reel R on which a carrier tape 50 containing components P for each component type is wound.
- the feeder 40 is capable of communicating with the management device H, for example, when the feeder 40 is set in the slot 12S of the component supply device 12 of the component mounting machine 10 or when the feeder 40 is being transported by the automatic transporter 20.
- the carrier tape 50 wound around the reel R will be described.
- the carrier tape 50 includes a base tape 51 and a cover tape 52.
- the base tape 51 is made of a flexible material such as paper or resin.
- a plurality of cavities 511 capable of accommodating components P are provided at equal intervals along the longitudinal direction of the base tape 51 (the left-right direction in FIG. 5).
- a plurality of feed holes 512 are provided at equal intervals along the longitudinal direction of the base tape 51.
- the plurality of feed holes 512 mesh with the drive sprocket 42.
- the cover tape 52 is formed using a transparent polymer film or the like. As shown by the dashed line in FIG. 5, the cover tape 52 covers the upper surface of the base tape 51 and prevents the component P housed in the cavity 511 from falling out.
- the base tape 51 and the cover tape 52 are joined to each other at joint areas 501 and 502 provided on both sides (one side and the other side) of the width of the carrier tape 50 that sandwich the cavity 511.
- the joint areas 501 and 502 are provided on one side of the width of the carrier tape 50 relative to the feed hole 512.
- the feeder body 41 is a thin box-shaped member formed from a transparent or opaque resin plate or metal plate.
- the side of the feeder body 41 is openable and closable, and inside the feeder body 41, as shown in FIG. 4, a drive sprocket 42, a tape pressing section 43, and a peeling section 44 are arranged.
- the drive sprocket 42 is a sprocket that can mesh with the feed hole 512 provided in the base tape 51 of the carrier tape 50, and is rotatably provided on the feeder body 41.
- a motor e.g., a stepping motor, etc.
- the drive sprocket 42 is driven by the motor and transports the component P to the component supply position Ps by pitch-feeding the carrier tape 50.
- the component supply position Ps is located above the position where the drive sprocket 42 is positioned when viewed from the direction of the rotation axis of the drive sprocket 42 (X-axis direction). This allows the feeder 40 to position the meshing position between the carrier tape 50 and the drive sprocket 42 close to the component supply position Ps, so the feeder 40 can improve the positioning accuracy of the component P transported to the component supply position Ps.
- the tape holding unit 43 guides the carrier tape 50 pulled out from the reel R so that the component P is transported to the component supply position Ps.
- the peeling unit 44 peels the cover tape 52 from the base tape 51 before the component P reaches the component supply position Ps, making the component P accommodated in the cavity 511 available for suction by the suction nozzle 13E (see Figure 3).
- each component mounting machine 10 constituting the production system 1 mounts onto a board K a plurality of different types of components P supplied from each of a plurality of feeders 40 set in a plurality of slots 12S of the component supply device 12 by the automatic conveyor 20 or the loader device 30. That is, each component mounting machine 10 constituting the production system 1 performs a mounting process on the board K by picking and placing the different types of components P in order, and supplies the board K after the mounting process to, for example, an adjacent component mounting machine 10.
- the time required for pick-and-place may differ depending on the type of component P to be mounted on the board K. Therefore, in the production system 1, there may be differences in the cycle time, which represents the time required for each component mounting machine 10 to complete mounting of the component P on the board K. If there is a large difference in cycle time in the production system 1, the component mounting machine 10 requiring a long cycle time may become a so-called bottleneck, and may reduce productivity when producing the board K.
- optimization of the arrangement of components P (component types) mounted on board K by each of the multiple component mounting machines 10 in the production system 1 is considered, i.e., switching between component types of components P in the production system 1 is considered, in order to optimize the mounting order of components P mounted sequentially on board K by the multiple component mounting machines 10 in the production system 1.
- a component type pair Kp representing the component types among all the component types used in the production system 1, or a feeder pair Kf representing the feeders 40 that supply the components P of the component type to be replaced to the component mounting machine 10
- the provisionally determined component type pair Kp or feeder pair Kf
- the mounting process of the components P when the component types (feeders 40) are replaced is simulated, and the cycle time is measured.
- a simulation of the mounting process for the provisionally determined pair of component types Kp (or a pair of feeders Kf) is performed, and the cycle time, which is the result of the simulation, is evaluated, for example, by combining all of the component types (feeders 40) used in the production system 1.
- the production system 1 is equipped with a production support device 100 that infers the above-mentioned component type pair Kp.
- the production support device 100 is provided so as to be able to communicate with each of the component mounting machines 10 (feeders 40), the automatic conveyor 20, the loader device 30, and the management device H that constitute the production system 1.
- the production support device 100 can also be, for example, a device incorporated in the management device H.
- the production support device 100 provides support for maximizing evaluation for a preset evaluation target. An example of the evaluation target is the cycle time.
- the production support device 100 infers and outputs a component type pair Kp to be replaced among the multiple component types of the components P mounted by the component mounting machine 10 according to the evaluation result of the evaluation target.
- the production support device 100 stores a trained model generated by reinforcement learning.
- the production support device 100 uses the trained model and production information J supplied from the management device H to infer and determine a component type pair Kp to be replaced among the multiple component types of the components P used in production, specifically, a feeder pair Kf to be replaced among the multiple feeders 40 set in the component mounting machine 10.
- This allows the production system 1 to optimize the arrangement (replacement) of the component types, that is, the arrangement (replacement) of the feeders 40.
- the cycle time of each component mounting machine 10 is equalized, and the impact of bottlenecks on the overall production in the production system 1 can be reduced.
- the bottleneck for example, if the leveling degree is equal to or above a certain standard, it can be considered that there is no bottleneck.
- the production support device 100 stores each of the first learning data classified according to a predetermined classification criterion.
- the production support device 100 then randomly extracts each of the classified and stored first learning data, and performs first machine learning (reinforcement learning) using the extracted first learning data L1.
- This enables the production support device 100 to reduce (suppress) bias in the first learning data L1 and generate a highly accurate trained model in a short period of time, and ultimately to accurately infer part type pairs Kp with good evaluation results.
- the production support device 100 is a device whose main components are a computer device having a CPU, ROM, RAM, and various interfaces, and as shown in FIG. 6, includes a first learning data acquisition unit 110, a learning data storage unit 120, an extraction unit 130, and a trained model storage unit 150.
- the production support device 100 also includes a production information acquisition unit 160 and an inference unit 170.
- the production support device 100 includes a trained model generation unit 140.
- the production support device 100 also includes an optimizer 180 that can simulate cycle times, which are evaluation results when arbitrarily selected (combined) part type pairs Kp are swapped, and can simulate optimization using the inference results from the inference unit 170.
- an example will be described in which the production support device 100 includes the optimizer 180.
- the optimizer 180 only needs to be able to obtain inference results from the arbitrarily selected part type pairs Kp and the inference unit 170, and can also be provided in a device other than the production support device 100, such as a management device H that can communicate with the production support device 100.
- the first learning data acquisition unit 110 acquires multiple first learning data L1 to be used for first machine learning related to component type pairs Kp, which are represented by component type pair data Cp of multiple components P mounted on a board K by each of multiple component mounting machines 10, and which improve the mounting process and obtain a reward E by trying out the mounting process by swapping the component type pairs Kp represented by the component type pair data Cp of multiple components P mounted on a board K by each of multiple component mounting machines 10.
- the component type pair data Cp representing the component type pair Kp, the feeder pair data Cf representing the feeder pair Kf described below, and the component mounting machine pair data Cm representing the component mounting machine pair Km may be collectively referred to as "pair data C".
- the first learning data L1 acquired by the first learning data acquisition unit 110 may include optimization information D including arrangement data Da relating to the arrangement of the multiple component mounting machines 10 constituting the production system 1 and component type data Dk representing the component types of the multiple components P mounted on the board K by each of the component mounting machines 10.
- the optimization information D includes, for example, as described below, expected cycle time data Ds representing the cycle time when the optimizer 180 simulates the mounting process performed by each component mounting machine 10 for component type pair data Cp of an arbitrarily combined component type pair Kp or inferred component type pair data Cpi representing the component type pair Kp inferred by the inference unit 170.
- the optimization information D also includes replacement restriction information Dj representing the mounting order of the components P that must be strictly observed or whether the components P can be replaced.
- each of the placement data Da, part type data Dk, expected cycle time data Ds, and replacement restriction information Dj included in the optimization information D is supplied from the management device H or an external device not shown.
- the case where the data is supplied from the management device H is illustrated.
- the first learning data acquisition unit 110 acquires, as first learning data L1, the pair data C output from the optimizer 180; specifically, the part type pair data Cp representing any combination of part type pairs Kp, and the cycle time data Rs as result data obtained when simulating the mounting process when the part type pairs Kp represented by the part type pair data Cp are swapped.
- the optimizer 180 links the simulated part type pair data Cp and the cycle time data Rs and outputs them to the first learning data acquisition unit 110.
- the optimizer 180 executes a simulation of the mounting process for the part type pair data Cp of any part type pair Kp that can be determined based on the arrangement data Da and part type data Dk included in the optimization information D, for example, and obtains cycle time data Rs.
- the optimizer 180 also executes a simulation for the part type pair Kp for which the replacement of the part P is not permitted based on the replacement restriction information Dj included in the optimization information D.
- the result data obtained is, for example, a value indicating that the cycle time data Rs indicates that the replacement of the part types is not permitted.
- the first learning data acquisition unit 110 links the acquired optimization information D, pair data C (specifically, part type pair data Cp (or feeder pair data Cf)), and cycle time data Rs to one another.
- the first learning data acquisition unit 110 then outputs the linked optimization information D, pair data C (specifically, part type pair data Cp (or feeder pair data Cf)), and cycle time data Rs to the learning data storage unit 120 as first learning data L1.
- the learning data storage unit 120 classifies and stores the multiple first learning data L1 acquired by the first learning data acquisition unit 110 according to a predetermined classification criterion.
- the result data includes the cycle time data Rs.
- the result data includes cases where the part type pair Kp cannot be replaced.
- the classification criterion is a criterion for classifying the first learning data L1 depending on whether the cycle time represented by the cycle time data Rs has been shortened relative to the expected cycle time represented by the expected cycle time data Ds.
- the classification criterion is a criterion for classifying the first learning data L1 depending on whether the part type can be replaced based on the replacement restriction information Dj.
- the learning data storage unit 120 has multiple (three in this embodiment) storage areas, namely a first memory buffer 121, a second memory buffer 122, and a third memory buffer 123.
- the first memory buffer 121 sequentially accumulates and stores the first learning data L1 in which the cycle time represented by the cycle time data Rs is reduced from the expected cycle time represented by the expected cycle time data Ds, for example, by replacing part types. That is, the first memory buffer 121 sequentially accumulates and stores the first learning data L1 that can be replaced and in which the cycle time is shortened, in other words, the first learning data L1 that appears less frequently.
- the second memory buffer 122 sequentially accumulates and stores the first learning data L1 in which the cycle time represented by the cycle time data Rs has changed from the expected cycle time or has increased from the expected cycle time after part types have been replaced.
- the third memory buffer 123 for example, sequentially accumulates and stores the first learning data L1 in which part types cannot be replaced based on the replacement restriction information Dj. That is, the second memory buffer 122 and the third memory buffer 123 sequentially accumulate and store the first learning data L1 with a high occurrence frequency.
- the extraction unit 130 randomly extracts each of the first learning data L1 classified in the learning data storage unit 120 and stored in the first memory buffer 121, the second memory buffer 122, and the third memory buffer 123.
- first learning data DE1 the first learning data L1 randomly extracted by the extraction unit 130 from the first memory buffer 121
- first learning data DE2 the first learning data L1 randomly extracted by the extraction unit 130 from the second memory buffer 122
- first learning data DE3 the first learning data L1 randomly extracted by the extraction unit 130 from the third memory buffer 123
- first learning data DE3 the first learning data DE3.
- the extraction unit 130 randomly extracts each of the first learning data DE1, the first learning data DE2, and the first learning data DE3 when a certain number or more of the first learning data DE1, the first learning data DE2, and the first learning data DE3 are stored (accumulated) in each of the first memory buffer 121, the second memory buffer 122, and the third memory buffer 123 of the learning data storage unit 120. Furthermore, the extraction unit 130 randomly extracts the first learning data DE1, the first learning data DE2, and the first learning data DE3 stored and classified in the learning data storage unit 120 so as to have an arbitrarily settable composition ratio.
- the composition ratio that can be set arbitrarily can be set according to, for example, the inference accuracy required for inference using the trained model M generated as described below.
- the extraction unit 130 randomly extracts the first learning data DE1, the first learning data DE2, and the first learning data DE3 so that the first learning data DE1 is 40%, the first learning data DE2 is 30%, and the first learning data DE3 is 30%.
- the learning data storage unit 120 accumulates and stores the first learning data L1 so that, for example, 40% is stored in the first memory buffer 121, and 30% is stored in the second memory buffer 122 and the third memory buffer 123.
- the trained model generation unit 140 generates a trained model M by repeatedly performing first machine learning using each of the first training data DE1, the first training data DE2, and the first training data DE3 randomly extracted by the extraction unit 130 so as to have a predetermined composition ratio.
- the multiple components P are each contained in a carrier tape 50 wound around a reel R, and each of the reels R is loaded into a feeder 40 that supplies the components P contained in the carrier tape 50 to the component mounting machine 10.
- the component type pair Kp corresponds to the feeder pair Kf representing the feeders 40 loaded with reels R on which carrier tapes 50 containing the components P of the component types that form the component type pair Kp are wound. Therefore, instead of or in addition to machine learning (reinforcement learning) on the replacement pattern of the component type pair Kp, the trained model generation unit 140 can also generate a trained model M by repeatedly performing machine learning (reinforcement learning) on a replacement pattern in which the feeder pairs Kf are replaced and a reward E, which will be described later, is obtained by multiple component mounting machines 10 mounting the components P. Note that, as the trained model M, the trained model generation unit 140 generates a value function, more specifically, an optimal action value function, as described later.
- the trained model storage unit 150 stores the trained model M generated by the trained model generation unit 140. Therefore, the trained model storage unit 150 can store the trained model M that is updated by the trained model generation unit 140 repeatedly performing machine learning (reinforcement learning).
- the production information acquisition unit 160 acquires production information J that includes at least new placement data Dan and new component type data Dkn, and instructs the component mounting machine 10 to mount new components P to produce a board K. Specifically, the production information acquisition unit 160 acquires production information J from the management device H when the board K is produced, in other words, when optimization of a new component type pair Kp (or a new feeder pair Kf) is required.
- the production information J output by the management device H includes the new number and new arrangement of the component mounting machines 10 constituting the production system 1, which corresponds to the arrangement data Da, the number of feeders 40 set in each component mounting machine 10, the new type and new number of components P to be mounted on each component mounting machine 10, which corresponds to the component type data Dk, and the cycle time as an actual or simulation result, which corresponds to the expected cycle time data Ds.
- the production information J includes control data including the designated mounting position and designated mounting angle of the component P on the board K, component information (shape, dimensions, maximum moving speed, imaging conditions, etc.), the leveling degree of the cycle time (presence or absence of a bottleneck), and equipment information that affects the efficiency of the mounting process (mounting head 13C, suction nozzle 13E, etc.). Therefore, the trained model generation unit 140 can perform machine learning (reinforcement learning) using the production information J as the first training data L1.
- the inference unit 170 uses the new arrangement data Dan and new part type data Dkn included in the production information J acquired by the production information acquisition unit 160 and the learned model M stored in the learned model storage unit 150 to output the inferred inference pair data Ci (specifically, the inferred part type pair data Cpi representing the inferred part type pair Kp or the inferred feeder pair data Cfi representing the inferred feeder pair Kf) that is to be replaced among the new part types distinguished by the part type data Dkn.
- the inferred inference pair data Ci specifically, the inferred part type pair data Cpi representing the inferred part type pair Kp or the inferred feeder pair data Cfi representing the inferred feeder pair Kf
- the inference unit 170 can output the inference pair data Ci (the inferred part type pair data Cpi or the inferred feeder pair data Cfi) to the management device H (more specifically, for example, a display device (not shown) provided in the management device H) to guide the worker or the like.
- the management device H more specifically, for example, a display device (not shown) provided in the management device H
- the inference of the part type pair Kp (or the feeder pair Kf) by the inference unit 170 will be described in detail later.
- trained model generation unit 140 mainly includes state information acquisition unit 141, evaluation result acquisition unit 142, reward calculation unit 143, value function storage unit 144, action decision unit 145, action information output unit 146, and value function update unit 147.
- the state information acquisition unit 141 acquires, as state information, one of the first learning data DE1, the first learning data DE2, and the first learning data DE3 extracted by the extraction unit 130 randomly and to have a predetermined composition ratio. That is, the state information acquisition unit 141 in this embodiment acquires, as state information, one of the first learning data DE1, the first learning data DE2, and the first learning data DE3 that have been classified and randomly extracted to have a predetermined composition ratio.
- the state information acquisition unit 141 mainly acquires state information from the extraction unit 130, but can also acquire state information (first learning data L1) from the optimizer 180.
- the evaluation result acquisition unit 142 acquires, for a preset evaluation target, an evaluation result obtained by a mounting process after replacing a component type pair Kp represented by the component type pair data Cp included in one of the first learning data DE1, the first learning data DE2, and the first learning data DE3, or replacing a feeder pair Kf represented by the feeder pair data Cf among the multiple feeders 40.
- the evaluation result acquisition unit 142 acquires cycle time data Rs, whether the components P are mounted on the board K in ascending order of size, whether the components P are mounted on the board K in ascending order of height from the surface of the board K in the Z-axis direction, and the like. As shown in FIG. 7, the evaluation result acquisition unit 142 can acquire evaluation results for the evaluation target from the optimizer 180.
- the reward calculation unit 143 calculates a reward E for replacing the part type pair Kp (or replacing the feeder pair Kf) in one of the first learning data DE1, the first learning data DE2, and the first learning data DE3 based on the evaluation result (e.g., cycle time data Rs) of the evaluation target obtained by replacing the part type pair Kp represented by the part type pair data Cp (or replacing the feeder pair Kf represented by the feeder pair data Cf). If the evaluation result is good, the reward calculation unit 143 gives a positive reward E for replacing the part type pair Kp (or replacing the feeder pair Kf). On the other hand, if the evaluation result is not good, the reward calculation unit 143 gives a negative reward (penalty) for replacing the part type pair Kp (or replacing the feeder pair Kf).
- the evaluation result e.g., cycle time data Rs
- the remuneration calculation unit 143 simulates the mounting process after switching the component type pair Kp (or switching the feeder pair Kf) with respect to the cycle time, which is one of the evaluation results (or when the mounting process is actually performed by the component mounting machine 10)
- the cycle time represented by the cycle time data Rs decreases
- the remuneration calculation unit 143 gives a positive remuneration E.
- the cycle time represented by the cycle time data Rs increases, the remuneration calculation unit 143 gives a negative remuneration E.
- the remuneration calculation unit 143 simulates the mounting process after switching the component type pair Kp (or switching the feeder pair Kf) with respect to the order in which the components P are placed on the board K, which is one of the evaluation results (or when the mounting process is actually performed by the component mounting machine 10), if the components P are placed (mounted) in order from smallest to largest, or if the components P are placed (mounted) in order from lowest to largest, the remuneration calculation unit 143 gives a positive remuneration E.
- the reward calculation unit 143 gives a negative reward E if the components P are placed (installed) in order from larger to smaller, or if the components P are placed (installed) in order from higher to lower.
- the reward calculation unit 143 calculates the reward E for each evaluation target. Furthermore, the reward calculation unit 143 grants a reward E according to the difference between the evaluation result and the standard set for each evaluation target. That is, when the difference between the evaluation result and the standard is large in the positive direction, the reward calculation unit 143 grants a larger reward E than when the difference between the evaluation result and the standard is small in the positive direction. Conversely, when the difference between the evaluation result and the standard is large in the negative direction, a larger penalty is imposed than when the difference between the evaluation result and the standard is small in the negative direction.
- the cycle time which is one of the evaluation results, will be taken as an example for explanation.
- the cycle time represented by the expected cycle time data Ds included in the optimization information D before the replacement of the part type pair Kp represented by the part type pair data Cp (or the replacement of the feeder pair Kf represented by the feeder pair data Cf) is performed (a simulation is performed) is set as the expected cycle time.
- the reward calculation unit 143 gives a larger reward E than if the shortened time is small in the positive direction. That is, the reward calculation unit 143 gives a larger reward E as the shortened time of the cycle time becomes larger (as the cycle time is shortened). Conversely, if the shortened time is large in the negative direction, that is, if the cycle time is longer than the expected cycle time, the reward calculation unit 143 gives a negative reward E or does not give a reward E.
- the value function memory unit 144 generates a value function in reinforcement learning, i.e., first machine learning, based on the state information acquired by the state information acquisition unit 141 (more specifically, paired data C included in one of the randomly extracted first learning data DE1, first learning data DE2, and first learning data DE3) and the reward E calculated by the reward calculation unit 143.
- the value function is a function generated in order to obtain behavioral information corresponding to the state information so that the evaluation result of the evaluation target is optimized in the learning phase.
- the value function memory unit 144 then stores the generated value function, i.e., the learned model M, in an updatable manner.
- the value function memory unit 144 also performs the function of the learned model memory unit 150.
- the value function (trained model M) of this embodiment is an optimal action value function generated by DQN (Deep Q-Network) as a reinforcement learning algorithm.
- the optimal action value function is found as an approximation function using a neural network, and gives the best action to be taken when a Q value (the value of the reward E obtained instantly according to the state) can be estimated for each action in a certain state.
- the optimal action value function is the trained model M
- the Q value is estimated using a neural network in which the part type pair Kp represented by the part type pair data Cp (or the feeder pair Kf represented by the feeder pair data Cf) becomes a node in the output layer, and as a result, the part type pair Kp represented by the part type pair data Cp (or the feeder pair Kf represented by the feeder pair data Cf) to be replaced as the "best action" is given.
- the value function is not limited to finding the optimal action value function using DQN.
- a "policy" is determined based on the generated value function, and the "best action” is determined based on the "policy.”
- the behavior decision unit 145 determines a part type pair Kp of part types selectable from among a plurality of part types, or a feeder pair Kf selectable from among a plurality of feeders 40, based on the state information (one of the first learning data DE1, the first learning data DE2, and the first learning data DE3 randomly extracted) and the learned model M (optimum action value function). In this case, the behavior decision unit 145 can select the part type pair Kp (or the feeder pair Kf) based on the optimal action value function (learned model M), or search for the part type pair Kp (or the feeder pair Kf) without based on the optimal action value function (learned model M) as necessary. Then, the behavior decision unit 145 outputs part type pair data Cp (or feeder pair data Cf representing the determined feeder pair Kf) representing the determined part type pair Kp, i.e., pair data C.
- the behavior information output unit 146 outputs the contents of the decision made by the behavior decision unit 145, i.e., the part type pair Kp (or feeder pair Kf) to be replaced, to the optimizer 180 as behavior information A.
- the optimizer 180 acquires the behavior information A and performs a simulation of the mounting process based on the virtual mounting conditions in which the part type pair Kp (or feeder pair Kf) is replaced according to the behavior information A. Then, the optimizer 180 estimates the cycle time, which is the evaluation result for the evaluation mode, and outputs cycle time data Rs as the simulation result in the case where the part type pair Kp (or feeder pair Kf) is replaced according to the behavior information A.
- the state information acquisition unit 141 acquires the action information A as new optimization information D, i.e., new state information, for the virtual mounting conditions, and the evaluation result acquisition unit 142 acquires the estimated evaluation result (e.g., cycle time data Rs) of the evaluation target by the optimizer 180.
- the reward calculation unit 143 calculates the reward E for the new optimization information D (i.e., action information A) based on the estimated evaluation result by the optimizer 180.
- the reward calculation unit 143 calculates the evaluation for the action information A that has transitioned from the state information before the replacement of the part type pair Kp (or the feeder pair Kf) (e.g., the expected cycle time data Ds of the optimization information D included in one of the first learning data DE1, DE2, DE3) to the new state information after the replacement of the part type pair Kp (or the feeder pair Kf) (e.g., the cycle time data Rs) as the reward E for the new state information, i.e., the optimization information D.
- the evaluation for the action information A that has transitioned from the state information before the replacement of the part type pair Kp (or the feeder pair Kf) e.g., the expected cycle time data Ds of the optimization information D included in one of the first learning data DE1, DE2, DE3
- the new state information after the replacement of the part type pair Kp (or the feeder pair Kf) e.g., the cycle time data Rs
- the value function update unit 147 updates the optimal action value function stored in the value function update unit 147 based on new state information, i.e., optimization information D (specifically, cycle time data Rs) updated based on the action information A, and the reward E for the new state information (optimization information D reflecting action information A).
- optimization information D specifically, cycle time data Rs
- reward E for the new state information (optimization information D reflecting action information A).
- DQN reinforcement learning algorithm
- inference unit 170 mainly includes state information acquisition unit 171, value function storage unit 172, action decision unit 173, and action information output unit 174.
- state information acquisition unit 171, value function storage unit 172, action decision unit 173, and action information output unit 174 have the same configurations as state information acquisition unit 141, value function storage unit 144, action decision unit 145, and action information output unit 146 of trained model generation unit 140 described above, respectively.
- step S10 the production support device 100's production information acquisition unit 160 acquires production information J that instructs actual production from, for example, the management device H.
- step S11 the production support device 100 (inference unit 170) sets component mounting machine pair data Cm that represents a component mounting machine pair Km of the multiple component mounting machines 10 that constitute the production system 1 based on the production information J.
- the multiple feeders 40 that can be set in each component mounting machine 10 are known, for example, from the optimization information D and production information J.
- the component type of the component P to be mounted in each component mounting machine 10 is also known, for example, from the optimization information D and production information J.
- the relationship between each component type of the component P and each component mounting machine 10 is also known.
- the inference unit 170 when optimizing component types, for example, in accordance with instructions from an operator, the inference unit 170 appropriately sets component mounting machine pair data Cm representing a component mounting machine pair Km among the multiple component mounting machines 10 that make up the production system 1, based on the production information J.
- the production support device 100 infers the component type pair Kp (or feeder pair Kf) using the optimal action value function (trained model M) as a "second step". That is, as shown in FIG. 8, the inference unit 170 acquires production information J including new placement data Dan and component type data Dkn of new component types from the production information acquisition unit 160 by the status information acquisition unit 171 as status information. Then, the action decision unit 173 infers the component type pair Kp (or feeder pair Kf (component mounting machine pair Km)) to be replaced using the status information (production information J) acquired by the status information acquisition unit 171 and the optimal action value function (trained model M) stored in the value function memory unit 172 (trained model memory unit 150).
- the inference unit 170 acquires production information J including new placement data Dan and component type data Dkn of new component types from the production information acquisition unit 160 by the status information acquisition unit 171 as status information.
- the action decision unit 173 infers the component type pair Kp (or feeder pair Kf (component mounting
- the behavior decision unit 173 outputs the inferred component type pair data Cpi representing the inferred component type pair Kp (or the inferred feeder pair data Cfi representing the inferred feeder pair Kf, or the inferred component mounting machine pair data Cmi representing the inferred component mounting machine pair Km), i.e., the inferred pair data Ci, to the behavior information output unit 174.
- the production support device 100 switches the component type pair Kp (or the feeder pair Kf) in the component mounting machine 10. That is, as shown in FIG. 8, the behavior information output unit 174 of the production support device 100 outputs the component type pair Kp (or the feeder pair Kf) inferred in step S11 to the management device H as behavior information A. Then, the management device H outputs a command based on the behavior information A, specifically, a command to switch the feeders 40 that form the feeder pair Kf corresponding to the component type pair Kp, for example, to multiple component mounting machines 10 and loader devices 30.
- each component mounting machine 10 and loader device 30 switches the two feeders 40 identified by the component type pair Kp represented by the component type pair data Cp specified in the behavior information A, specifically, the feeder pair Kf represented by the feeder pair data Cf.
- the switching of the feeders 40 in the component mounting machine 10 includes, for example, changing the identification numbers (numbers corresponding to the order in which the components P are to be mounted) assigned to the slots 12S of the component supply device 12 in response to the switching of the feeders 40.
- the production support device 100 acquires the component type, i.e., the cycle time required for the mounting process after replacing the feeder 40, in the component mounting machine 10. That is, the production support device 100 status information acquisition unit 171 acquires from the management device H the cycle time required for the mounting process in the component mounting machine 10 in which the feeder 40 has been replaced, after the feeder 40 has been replaced.
- the component type i.e., the cycle time required for the mounting process after replacing the feeder 40
- step S15 the production support device 100 judges whether the cycle time acquired in step S14 has improved compared to before the feeder 40 was replaced. That is, if the cycle time after the replacement of the component type pair Kp (or the feeder pair Kf) acquired in step S14 is shorter than the expected cycle time before the replacement of the component type pair Kp (or the feeder pair Kf) included in the production information J (status information) acquired by the production information acquisition unit 160 in step S11, the production support device 100 judges "Yes" since the cycle time has been improved. Then, the production support device 100 returns to step S12 again and executes each step process from step S12 onwards.
- step S12 determines "No" since the cycle time has not been improved. Then, in step S16, the production support device 100 returns the component type replaced in step S13, i.e., the feeder 40, to the state before the replacement, and proceeds to step S17.
- the behavioral information output unit 174 of the production support device 100 outputs, for example, the feeder pair Kf (or component type pair Kp) that returns the corresponding feeder 40 to its pre-swap state as behavioral information A to the management device H.
- the management device H outputs a command based on the behavioral information A, specifically, a command to return the feeders 40 that form the feeder pair Kf corresponding to the component type pair Kp to their pre-swap state, for example, to the multiple component mounting machines 10 and the loader device 30.
- each component mounting machine 10 and loader device 30 returns the component type pair Kp identified in the behavior information A, specifically the two feeders 40 identified by the feeder pair Kf, to the state before the replacement.
- the replacement of the feeders 40 in the component mounting machine 10 includes, for example, changing the identification numbers (numbers corresponding to the order in which the components P are mounted) assigned to the slots 12S of the component supply device 12 in response to the replacement of the feeders 40.
- step S17 the production support device 100 judges whether the above-mentioned component type (feeder 40) replacement, in other words, optimization consideration, has been completed for all of the component mounting machine pairs Km represented by the component mounting machine pair data Cm that can be combined with the multiple component mounting machines 10 that make up the production system 1 based on the production information J. That is, if the optimization consideration for all of the target component mounting machine pairs Km has not been completed, the production support device 100 judges "No" and returns to step S11. Then, when the production support device 100 sets a new component mounting machine pair Km in step S11, it executes each step process from step S12 onwards as described above. On the other hand, if the optimization consideration for all of the target component mounting machine pairs Km has been completed, the production support device 100 judges "Yes" and proceeds to step S18, and ends the execution of the optimization program in step S16.
- the above-mentioned component type (feeder 40) replacement in other words, optimization consideration
- all possible combinations of component mounting machine pairs Km may include, for example, setting combinations of all component mounting machines 10 constituting the production system 1 as component mounting machine pairs Km. Also, for example, if there are combinations of component mounting machines 10 that are expected to have effects such as shortening the cycle time, it is possible to set the component mounting machine pairs Km by selecting the component mounting machines 10 that are likely to have such effects from among all the component mounting machines 10.
- the production support device 100 includes a first learning data acquisition unit 110 that acquires a plurality of first learning data L1 used for the first machine learning related to the component type pair Kp for which the mounting process is improved by switching the component type pair Kp of the components P to be mounted on the board K between the plurality of component mounting machines 10 and performing mounting processes to obtain a reward E; a learning data storage unit 120 that classifies and stores the acquired plurality of first learning data L1 according to a predetermined classification criterion; an extraction unit 130 that randomly extracts each of the first learning data L1 classified and stored in the first memory buffer 121, the second memory buffer 122, and the third memory buffer 123 of the learning data storage unit 120; and a trained model storage unit 150 that stores a trained model M generated by performing the first machine learning using the randomly extracted first learning data L1.
- the production support device 100 also includes a trained model generation unit 140 that generates the trained model M by repeatedly performing the first machine learning using the randomly extracted first learning data L1.
- the production support device 100 further includes a production information acquisition unit 160 that acquires production information J that includes at least arrangement data Da (new arrangement data Dan) representing the arrangement of the component mounting machine 10 and component type data Dk (new component type data Dkn) representing the component type of the component P and instructs the component mounting machine 10 to mount a new component P to produce a board K, and an inference unit 170 that uses the arrangement data Da (new arrangement data Dan) and component type data Dk (new component type data Dkn) of the component P included in the production information J and the trained model M to infer and output a component type pair Kp (inferred component type pair data Cpi representing the inferred component type pair Kp) to be replaced among the new component types distinguished by the component type data Dk (new component type data Dkn).
- a production information acquisition unit 160 that acquires production information J that includes at least arrangement data Da (new arrangement data Dan) representing the arrangement of the component mounting machine 10 and component type data Dk (new component type data Dkn) representing the component type of the component
- the generated trained model M can be used to accurately infer and determine a component type pair Kp (or a feeder pair Kf) that can improve the mounting process between multiple component mounting machines 10.
- the production support device 100 it is not necessary to sequentially consider all combinations of component types (feeders 40) for multiple component types to determine component type pairs Kp (feeder pairs Kf) that are effective for optimization. Furthermore, by using the trained model M, it is possible to selectively determine component type pairs Kp (feeder pairs Kf) that are effective for optimization for new component types as well, and it is possible to efficiently optimize the placement of component types (feeders 40).
- the first learning data L1 classified according to a predetermined classification criterion is stored and accumulated in the first memory buffer 121, the second memory buffer 122, and the third memory buffer 123 of the learning data storage unit 120.
- the first learning data DE1 stored in the first memory buffer 121 specifically, the first learning data L1 including pair data C that allows replacement of the part type pair Kp and reduces the cycle time, requires many trials using the optimizer 180 until a combination is found.
- the first learning data L1 including pair data C that allows replacement of part type pairs Kp and shortens the cycle time appears less frequently, as described above. Therefore, when generating the trained model M, in order to reduce the bias of the first learning data L1 and perform first machine learning (reinforcement learning), it is necessary to accumulate a predetermined number or more of the first learning data DE1 in the first memory buffer 121, which may take time to proceed with the learning.
- a second machine learning is performed using the trained model M generated by the first machine learning, using second learning data L2 including inference pair data Ci inferred by the inference unit 170, to generate a trained model M.
- the part type pair Kp or feeder pair Kf
- the production support device 100 includes a second learning data acquisition unit 190, as indicated by the long dashed line in FIG. 6.
- the second learning data acquisition unit 190 acquires second learning data L2 including the inferred pair data Ci inferred by the inference unit 170, for example, the inferred part type pair data Cpi representing the inferred part type pair Kp.
- the second learning data L2 includes optimization information D and production information J acquired from the management device H, in addition to the inferred part type pair data Cpi.
- the trained model generation unit 140 can perform a first machine learning (reinforcement learning) using the first learning data DE1, the first learning data DE2, and the first learning data DE3 extracted by the extraction unit 130, i.e., the first learning data L1, and can also perform a second machine learning (reinforcement learning) using the second learning data L2 acquired by the second learning data acquisition unit 190.
- the trained model generation unit 140 selects one of the first machine learning and the second machine learning to generate the trained model M.
- the trained model generation unit 140 selects and performs one of the first and second machine learning methods according to the search rate that determines the search ratio according to the epsilon-greedy method, and generates the trained model M. Therefore, as shown in FIG. 7, when the first machine learning is selected according to the epsilon-greedy method, the state information acquisition unit 141 of the first modified example acquires the first learning data L1, i.e., one of the first learning data DE1, the first learning data DE2, and the first learning data DE3, from the extraction unit 130 as state information. On the other hand, when the second machine learning is selected according to the epsilon-greedy method, the state information acquisition unit 141 of the first modified example acquires the second learning data L2 acquired by the second learning data acquisition unit 190 as state information.
- the state information acquisition unit 141 acquires the second learning data L2 from the second learning data acquisition unit 190. Then, as in the above-mentioned embodiment, the value function storage unit 144 generates a value function in reinforcement learning based on the state information acquired by the state information acquisition unit 141 (the second learning data L2, in particular the inference pair data Ci) and the reward E calculated by the reward calculation unit 143.
- the value function storage unit 144 proceeds with reinforcement learning using the inference pair data Ci included in the second learning data L2 for the value function, i.e., the trained model M, generated using the pair data C included in the first learning data DE1 in the above-mentioned embodiment, and stores the trained model M generated by proceeding with the reinforcement learning in an updatable manner.
- the inference pair data Ci (inference component type pair data Cpi (or inference feeder pair data Cfi)) can be used. Therefore, in the first modified example, it is possible to seemingly increase the frequency of reinforcement learning using the first learning data DE1 described in the above embodiment, and to improve the generation speed of the trained model M, in other words, the learning speed.
- the action decision unit 145 can determine a part type pair Kp of part types selectable from among a plurality of part types, or a feeder pair Kf of feeders 40 selectable from among a plurality of feeders 40, based on the state information (second learning data L2) and the learned model M (optimum action value function), as in the above-described embodiment. Note that even in this case, the action decision unit 145 can select the part type pair Kp (or the feeder pair Kf) based on the optimal action value function (learned model M), or search for the part type pair Kp (or the feeder pair Kf) without based on the optimal action value function (learned model M) as necessary.
- the behavior information output unit 146 outputs the contents of the decision made by the behavior decision unit 145, i.e., the component type pair Kp (or the feeder pair Kf) to be replaced, to the optimizer 180 as behavior information A.
- the optimizer 180 acquires the behavior information A, performs a simulation of the mounting process based on the virtual mounting conditions in which the component type pair Kp (or the feeder pair Kf) is replaced according to the behavior information A, estimates the cycle time, which is the evaluation result for the evaluation mode, as the simulation result, and outputs the cycle time data Rs.
- the value function update unit 147 updates the optimal action value function stored in the value function update unit 147 based on new state information, i.e., optimization information D (specifically, cycle time data Rs), updated based on the action information A, and the reward E for the new state information (optimization information D reflecting action information A).
- optimization information D specifically, cycle time data Rs
- the value function update unit 147 only needs to update the optimal action value function based on the reinforcement learning algorithm (DQN), and it is possible not to update the optimal action value function if, for example, a negative reward E is given.
- reinforcement learning can be carried out by using the inferred pair data Ci, i.e., the inferred part type pair data Cpi (or inferred feeder pair data Cfi), inferred using the trained model M as the second learning data L2, in accordance with a judgment according to the situation, particularly for a part type pair Kp (or feeder pair Kf) for which the cycle time represented by the cycle time data Rs can be shortened.
- the inferred pair data Ci i.e., the inferred part type pair data Cpi (or inferred feeder pair data Cfi)
- the trained model M as the second learning data L2
- the inference pair data Ci (inference component type pair data Cpi or inference feeder pair data Cfi) corresponding to the pair data C included in the first learning data DE1 inferred by the trained model M can be used in the second machine learning.
- the frequency of occurrence of the inference pair data Ci in other words, the part type pair Kp (or feeder pair Kf) that can be replaced and that shortens the cycle time, increases.
- the time required to accumulate the first learning data L1 and the second learning data L2, which are classified according to a predetermined classification criterion and stored in the first memory buffer 121, until they reach a predetermined number or more can be shortened.
- the learning time required to generate a trained model M with high inference accuracy can be shortened, and a trained model M can be generated efficiently.
- the same effects as those of the above-mentioned embodiment can be obtained.
- Second Modification for example, a component mounting machine pair Km is set by an operator or the like as the first process, and the production support device 100 is configured to replace, that is, to optimize, the feeders 40 (component types) set in the component mounting machine pair Km selectively set as the second process.
- the number of simulations executed by the optimizer 180 can be reduced, and the arrangement of component types can be efficiently optimized.
- the production support device 100 can infer the component mounting machine pair Km represented by the component mounting machine pair data Cm in the same manner as inferring the component type pair Kp represented by the component type pair data Cp or the feeder pair Kf represented by the feeder pair data Cf, as shown in Figures 6, 7, and 9.
- the component mounting machine pair Km (component mounting machine pair data Cm) is inferred for the component mounting machine 10 on which the feeder 40 (component type) to be replaced is likely to be mounted based on the learned model M and the optimization information D (or production information J).
- the production support device 100 can infer the feeder pair Kf, i.e., the component type pair Kp, that will actually be set on the component mounting machine pair Km in the second process, thereby efficiently optimizing the placement of component types.
- the reward calculation unit 143 calculates the reward E according to the evaluation result regardless of the evaluation target.
- the trained model generation unit 140 may also include a weighting unit 148. The weighting unit 148 will be described below.
- the weighting unit 148 weights the reward E that the reward calculation unit 143 gives to each of the multiple evaluation targets.
- the weighting unit 148 gives a larger reward E or penalty to some of the evaluation targets than to the other evaluation targets. Therefore, the third modified example can also achieve the same effects as the above-mentioned embodiment and first modified example.
- the weighting of the reward E for each evaluation target can be set, for example, by the worker.
- the production support device 100 infers the component type pair Kp (feeder pair Kf) based on the trained model M and the optimization information D (production information J).
- the worker may determine the component type pair Kp and the feeder pair Kf for the limited feeders 40, i.e., the component types, set in the component mounting machines 10 that form the component mounting machine pair Km. Even in this case, since the number of component types (feeders 40) to be replaced is limited, even if the worker determines the component type pair Kp and the feeder pair Kf, it is possible to optimize the arrangement of the component types more efficiently than in the conventional method described above.
- the production support device 100 is provided with a trained model generation unit 140.
- the trained model generation unit 140 can be provided in a device other than the production support device 100 provided in the production system 1 (for example, the management device H of the production system 1, or a computer device that can communicate with the management device H and is owned by the manufacturer that manufactures the production system 1 and the component mounting machine 10, etc.).
- the trained model generation unit 140 provided in a device other than the production support device 100 can generate a trained model M using, for example, optimization information D owned by the manufacturer.
- the generated trained model M is then supplied, for example, to the management device H of the production system 1, and supplied from the management device H to the trained model storage unit 150 of the production support device 100 and stored therein.
- the same effects as those of the above-mentioned embodiment and each modified example can be obtained.
- 1...production system 10...component mounting machine, 11...board transport device, 12...component supply device, 12S...slot, 13...component transfer device, 13A...head drive device, 13B...moving table, 13C...mounting head, 13D...nozzle holder, 13E...suction nozzle, 14...component camera, 15...board camera, 16...control device, 20...automatic transport machine, 30...loader device, 40...feeder, 41...feeder body, 42...drive sprocket, 43...tape pressing section, 44...peeling unit, 50...carrier tape, 501...bonding portion, 502...bonding portion, 51...base tape, 511...cavity, 512...feed hole, 52...cover tape, 100...production support device, 110...first learning data acquisition unit, 120...learning data storage unit, 130...extraction unit, 140...trained model generation unit, 141...state information acquisition unit, 142...evaluation result acquisition unit, 143...reward calculation unit, 144...value function storage unit, 145...action decision
- behavior information output unit 147 ... value function update unit, 148 ... weighting unit, 150 ... learned model storage unit, 160 ... production information acquisition unit, 170 ... inference unit, 171 ... state information acquisition unit, 172 ... value function storage unit, 173 ... behavior decision unit, 174 ... behavior information output unit, 180 ... optimizer, 190 ... second learning data acquisition unit, P ... part, Ps ... part supply position, R ... reel, D ... optimization information, Da ... placement data, Dk ...
- part type data data Ds...estimated cycle time data, Dj...replacement restriction information, C...pair data, Cp...component type pair data, Cf...feeder pair data, Cm...component mounting machine pair data, Ci...inferred pair data, Cpi...inferred component type pair data, Cfi...inferred feeder pair data, Cmi...inferred component mounting machine pair data, Rs...cycle time data (result data), J...production information, M...trained model, E...reward, A...action information, H...management device
Landscapes
- Engineering & Computer Science (AREA)
- Manufacturing & Machinery (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Supply And Installment Of Electrical Components (AREA)
Abstract
生産支援装置は、複数の部品装着機の間で基板に装着する部品の部品種ペアを入れ替えて装着処理を試行することにより装着処理が改善して報酬が得られる部品種ペアに関する第一機械学習に用いられる複数の第一学習用データを取得する第一学習用データ取得部と、取得された複数の第一学習用データを所定の分類基準に従って分類して記憶する学習用データ記憶部と、学習用データ記憶部に分類されて記憶されている各々の第一学習用データを無作為に抽出する抽出部と、無作為に抽出された第一学習用データを用いて第一機械学習を行うことによって生成された学習済みモデルを記憶する学習済みモデル記憶部と、を備える。
Description
本明細書は、生産支援装置に関するものである。
従来から、例えば、特許文献1に開示された状態判定装置及び状態判定方法(以下、「従来の状態判定装置等」と称呼する。)が知られている。従来の状態判定装置等では、分類条件に基づいて分類した学習用データを適用する学習済みモデルを決定し、決定した学習済みモデルに対して分類した学習用データを適用して機械学習を行うようになっている。
従来の状態判定装置等では、複数の学習済みモデルから選択的に決定された学習済みモデルについて、分類された特定の学習用データが適用されて機械学習が行われる。このため、従来の状態判定装置等では、学習済みモデルは、分類された特定の学習用データに類するデータについて所望の推論結果を出力することができる。従来の状態判定装置等のように、分類された特定の学習用データのみを用いて機械学習を行う場合、学習に用いる学習用データに偏りが生じており、その結果、時間の経過に伴って学習用データを分類する分類基準に特化した学習済みモデルが生成される。
本明細書は、学習用データの偏りを抑制して生成された学習済みモデルを用いることができる生産支援装置を提供することを目的とする。
本明細書は、複数の部品装着機の間で基板に装着する部品の部品種ペアを入れ替えて装着処理を試行することにより装着処理が改善して報酬が得られる部品種ペアに関する第一機械学習に用いられる複数の第一学習用データを取得する第一学習用データ取得部と、取得された複数の第一学習用データを所定の分類基準に従って分類して記憶する学習用データ記憶部と、学習用データ記憶部に分類されて記憶されている各々の第一学習用データを無作為に抽出する抽出部と、無作為に抽出された第一学習用データを用いて第一機械学習を行うことによって生成された学習済みモデルを記憶する学習済みモデル記憶部と、を備えた、生産支援装置を開示する。
本明細書では、出願当初の請求項4において、「請求項1又は2記載の生産支援装置」を「請求項1-3の何れか一項に記載の生産支援装置」に変更した技術的思想も開示されている。又、本明細書では、出願当初の請求項5において、「請求項1又は2記載の生産支援装置」を「請求項1-4の何れか一項に記載の生産支援装置」に変更した技術的思想も開示されている。又、本明細書では、出願当初の請求項7において、「請求項1又は2に記載の生産支援装置」を「請求項1-6の何れか一項に記載の生産支援装置」に変更した技術的思想も開示されている。又、本明細書では、出願当初の請求項14において、「請求項1又は2記載の生産支援装置」を「請求項1-13の何れか一項に記載の生産支援装置」に変更した技術的思想も開示されている。更に、本明細書では、出願当初の請求項16において、「請求項1又は2記載の生産支援装置」を「請求項1-15の何れか一項に記載の生産支援装置」に変更した技術的思想も開示されている。
生産支援装置によれば、分類されて記憶されている各々の第一学習用データを無作為に抽出して第一機械学習を行うことにより、学習用データの偏りを抑制して生成された学習済みモデルを用いることができる。
以下、生産支援装置について、図面を参照しながら説明する。本実施形態においては、自動搬送機によってフィーダが部品装着機に搬送される生産システムに生産支援装置が設けられる場合を例示して説明する。
1.生産システム1の全体構成
最初に、図1、図2及び図3を参照して、生産システム1の全体構成を説明する。生産システム1は、幅方向に複数(本実施形態においては、4つ)並べられた部品装着機10と、自動搬送機20と、ローダ装置30と、フィーダ40と、生産支援装置100とを備える。部品装着機10は、所定作業として部品P(例えば、電子部品)を基板Kに装着する装着作業を実施する対基板作業機である。
最初に、図1、図2及び図3を参照して、生産システム1の全体構成を説明する。生産システム1は、幅方向に複数(本実施形態においては、4つ)並べられた部品装着機10と、自動搬送機20と、ローダ装置30と、フィーダ40と、生産支援装置100とを備える。部品装着機10は、所定作業として部品P(例えば、電子部品)を基板Kに装着する装着作業を実施する対基板作業機である。
そして、複数の部品装着機10によって形成される生産システム1においては、各々の部品装着機10の内部に基板Kが順番に搬送され、それぞれの部品装着機10において所定の部品を装着する装着処理が行われる。尚、以下の説明においては、X軸方向を部品装着機10の左右方向(幅方向)とし、Y軸方向を部品装着機10の前後方向(奥行方向)とし、Z軸方向を部品装着機10の上下方向(鉛直方向)とする。
又、生産システム1は、部品装着機10の各々に対して、フィーダ40を搬送して脱着する(入れ替える)自動搬送機20を備えている。ここで、自動搬送機20としては、例えば、図示を省略する自動倉庫と部品装着機10との間を自動的に往復移動して、所定のフィーダ40を搬送する無人搬送車(無人搬送ロボット)であるAGV(Automatic Guided Vehicle)等を例示することができる。尚、図示を省略するが、自動搬送機20は、後述する部品装着機10の部品供給装置12に対して、フィーダ40を脱着するための脱着機構(例えば、ベルトコンベアや多関節ロボット等)を備えている。
更に、生産システム1は、生産スケジュールに合わせて、部品Pの補給や、次生産への段取り替えを行うローダ装置30を備えている。ローダ装置30は、Y軸方向にて部品装着機10(より詳しくは、後述する部品供給装置12)の前方に配置されてX軸方向に移動可能とされる。尚、本実施形態において、ローダ装置30は、隣接する部品装着機10(部品供給装置12)に対しても横断的にX軸方向に移動可能とされている。
又、ローダ装置30は、後述する部品供給装置12のスロット12Sにおいて、上段から下段へ、又は、下段から上段へフィーダ40を移動させる。更に、ローダ装置30は、2つの部品装着機10の間、即ち、2つの部品供給装置12の各々のスロット12Sの間で、フィーダ40移動させて入れ替える。具体的に、ローダ装置30は、スロット12Sの上段にセットされたフィーダ40を一旦収容(回収)し、X軸方向に移動した後、収容(回収)したフィーダ40を下段に排出してセットすることができる。又、ローダ装置30は、スロット12Sの下段にセットされたフィーダ40を一旦収容(回収)し、X軸方向に移動した後、収容(回収)したフィーダ40を上段に排出してセットすることができる。
更に、ローダ装置30は、一方の部品装着機10の部品供給装置12のスロット12Sにセットされたフィーダ40を一旦収容(回収)し、X軸方向に移動した後、収容(回収)したフィーダ40を他方の部品装着機10の部品供給装置12のスロット12Sに排出してセットする、即ち、部品装着機10の間で複数のフィーダ40を入れ替えることができる。これにより、ローダ装置30は、部品Pの供給及び段取り替え(フィーダ40の入れ替えを含む)を自動的に行うことができる。
ここで、生産システム1においては、図1に示すように、上述した各装置10,20,30,40の他に、生産の全体をコントロールするための管理装置Hが設けられる。管理装置Hとしては、例えば、上述した各装置と通信可能に接続されたホストコンピュータやバッファ等を例示することができる。そして、管理装置Hは、後述するように、生産に関する生産情報Jを含む各種情報を、必要に応じて上述した各装置10,20,30,40,100に供給する。
2.部品装着機10
部品装着機10は、図3にて概略的に示すように、基板搬送装置11と、部品供給装置12と、部品移載装置13と、部品カメラ14と、基板カメラ15と、制御装置16とを主に備える。
部品装着機10は、図3にて概略的に示すように、基板搬送装置11と、部品供給装置12と、部品移載装置13と、部品カメラ14と、基板カメラ15と、制御装置16とを主に備える。
基板搬送装置11は、ベルトコンベア等により構成され、基板KをX軸方向へ順次搬送する。基板搬送装置11は、部品装着機10の機内における所定位置に基板Kを位置決めする。そして、基板搬送装置11は、位置決めされた基板Kに対する装着作業が終了すると、基板Kを部品装着機10の機外(例えば、隣接する部品装着機10)へ搬出する。
部品供給装置12は、基板Kに装着する部品P(例えば、電子部品)を供給する。部品供給装置12は、X軸方向に配列された複数のスロット12Sを備え、スロット12Sの各々にはフィーダ40が着脱可能にセットされる。ここで、本実施形態のスロット12Sは、Z軸方向に沿った上段と下段とによって形成されている(図2を参照)。部品供給装置12は、フィーダ40によって後述する部品Pを供給するキャリアテープ50を送り移動させ、フィーダ40の先端側(図3において上側)に設けられた部品供給位置Ps(図4を参照)に部品Pを供給する。
部品移載装置13は、部品供給位置Psに供給された部品Pを保持し、保持した部品Pを位置決めされた基板Kに装着する。部品移載装置13は、ヘッド駆動装置13Aと、移動台13Bと、装着ヘッド13Cとを主に備える。ヘッド駆動装置13Aは、直動機構により移動台13BをX軸方向及びY軸方向へ移動させる。
装着ヘッド13Cは、部品Pを保持する保持装置であり、移動台13Bに対して着脱可能に設けられる。そして、装着ヘッド13Cに設けられたノズルホルダ13Dには、部品Pを保持可能な複数の吸着ノズル13Eが着脱可能に設けられる。吸着ノズル13Eは、装着ヘッド13Cに対して、Z軸方向(部品装着機10の上下方向)に平行な軸線の回りに回転可能に、且つ、昇降可能に支持される。吸着ノズル13Eは、部品供給位置Psに供給された部品Pを吸着により保持し、その保持した部品Pを位置決めされた基板Kに装着する。
部品カメラ14及び基板カメラ15は、CCDやCMOS等の撮像素子を有するデジタル式の撮像装置である。部品カメラ14は、光軸をZ軸方向へ向けた状態で部品装着機10の基台に固定され、吸着ノズル13Eに保持された部品Pを下方から撮像する。基板カメラ15は、光軸をZ軸方向へ向けた状態で移動台13Bに固定され、基板Kを上方から撮像する。
制御装置16は、CPU、ROM、RAM、各種インターフェースを主要構成部品とするコンピュータ装置であり、部品装着機10の作動を統括的に制御する。具体的に、制御装置16は、図示省略の制御プログラムを実行することにより、部品装着機10を作動させる。これにより、部品装着機10は、例えば、予め記憶されたシーケンスに従い、部品Pの装着作業を実施する。
例えば、制御装置16は、基板搬送装置11によって位置決めされた基板Kを基板カメラ15に撮像させる。そして、制御装置16は、基板カメラ15によって撮像された画像を画像処理し、基板Kの位置決め状態を認識する。又、制御装置16は、部品供給装置12によって供給された部品Pを吸着ノズル13Eに採取させて保持させ、保持されている部品Pを部品カメラ14に撮像させる。そして、制御装置16は、部品カメラ14によって撮像された画像を画像処理し、部品Pの姿勢を認識する。
制御装置16は、制御プログラムを実行し、基板Kに部品Pを装着する位置として予め設定されている指定装着位置の上方に向かって吸着ノズル13E(装着ヘッド13C)を移動させる。又、制御装置16は、基板Kの位置決め状態や部品Pの姿勢等に基づいて指定装着位置や指定装着角度を補正し、実際に部品Pを装着する装着位置及び装着角度を設定する。
制御装置16は、装着位置及び装着角度に合わせて、吸着ノズル13Eの目標位置(X軸座標及びY軸座標)と回転角度とを補正する。そして、制御装置16は、補正された目標位置において補正された回転角度で吸着ノズル13Eを降下させ、基板Kに部品Pを装着する。制御装置16は、上述したようにピックアンドプレースサイクルを繰り返すことにより、基板Kに複数の部品Pを装着する装着処理を行う。
3.フィーダ40
フィーダ40は、図4に示すように、フィーダ本体41と、駆動スプロケット42と、テープ押え部43と、剥離部44とを備える。フィーダ40は、部品種ごとに部品Pを収容したキャリアテープ50が巻回されたリールRを保持する。フィーダ40は、例えば、部品装着機10の部品供給装置12のスロット12Sにセットされた状態で、又は、自動搬送機20によって搬送されている状態で、管理装置Hと通信することが可能である。
フィーダ40は、図4に示すように、フィーダ本体41と、駆動スプロケット42と、テープ押え部43と、剥離部44とを備える。フィーダ40は、部品種ごとに部品Pを収容したキャリアテープ50が巻回されたリールRを保持する。フィーダ40は、例えば、部品装着機10の部品供給装置12のスロット12Sにセットされた状態で、又は、自動搬送機20によって搬送されている状態で、管理装置Hと通信することが可能である。
ここで、リールRに巻回されるキャリアテープ50について、説明しておく。キャリアテープ50は、図5に示すように、ベーステープ51と、カバーテープ52とを備える。ベーステープ51は、紙材や樹脂等の柔軟な材料を用いて形成される。ベーステープ51の幅方向の一方側(図5における下側)には、部品Pを収容可能な複数のキャビティ511がベーステープ51の長手方向(図5における左右方向)に沿って等間隔に設けられる。又、ベーステープ51の幅方向の他方側(図5において上側)には、複数の送り孔512がベーステープ51の長手方向に沿って等間隔に設けられる。複数の送り孔512は、駆動スプロケット42に歯合する。
カバーテープ52は、透明な高分子フィルム等を用いて形成される。カバーテープ52は、図5にて破線により示すように、ベーステープ51の上面を覆い、キャビティ511に収容された部品Pの脱落を防止する。又、ベーステープ51とカバーテープ52とは、キャビティ511を挟んだキャリアテープ50の幅方向の両側(一方側及び他方側)に設けられた接合部位501及び接合部位502において互いに接合されている。ここで、接合部位501及び接合部位502は、送り孔512よりもキャリアテープ50の幅方向の一方側に設けられる。
フィーダ40の説明に戻り、フィーダ本体41は、透明又は不透明の樹脂板又は金属板等によって形成された薄い箱状の部材である。フィーダ本体41の側面は、図示を省略するが開閉可能に設けられており、フィーダ本体41の内部には、図4に示すように、駆動スプロケット42、テープ押え部43及び剥離部44が配置される。
駆動スプロケット42は、キャリアテープ50のベーステープ51に設けられた送り孔512に歯合可能なスプロケットであり、フィーダ本体41に回転可能に設けられる。駆動スプロケット42には、図示省略の複数のギヤを介してモータ(例えば、ステッピングモータ等)が接続されている。これにより、駆動スプロケット42は、モータによって駆動され、キャリアテープ50をピッチ送りすることにより、部品Pを部品供給位置Psに搬送する。
ここで、部品供給位置Psは、駆動スプロケット42の回転軸線方向(X軸方向)から見た場合に、駆動スプロケット42が配置される位置の上方に設けられる。これにより、フィーダ40は、キャリアテープ50と駆動スプロケット42との歯合位置を部品供給位置Psに近い位置に配置することができるため、フィーダ40は、部品供給位置Psに搬送される部品Pの位置決め精度を高めることができる。
テープ押え部43は、部品供給位置Psに部品Pが搬送されるように、リールRから引き出されたキャリアテープ50を案内する。剥離部44は、部品Pが部品供給位置Psに到達するまでの間に、カバーテープ52をベーステープ51から剥離し、キャビティ511に収容された部品Pを吸着ノズル13E(図3を参照)によって吸着可能な状態にする。
4.生産支援装置100の概要
上述したように、生産システム1を構成する各々の部品装着機10は、自動搬送機20又はローダ装置30によって部品供給装置12の複数のスロット12Sにセットされた複数のフィーダ40の各々から供給される複数の異なる部品種の部品Pを基板Kに装着する。即ち、生産システム1を構成する各々の部品装着機10は、異なる部品種の部品Pを順番にピックアンドプレースすることにより基板Kに装着処理を施し、装着処理を施した基板Kを、例えば、隣接する部品装着機10に供給する。
上述したように、生産システム1を構成する各々の部品装着機10は、自動搬送機20又はローダ装置30によって部品供給装置12の複数のスロット12Sにセットされた複数のフィーダ40の各々から供給される複数の異なる部品種の部品Pを基板Kに装着する。即ち、生産システム1を構成する各々の部品装着機10は、異なる部品種の部品Pを順番にピックアンドプレースすることにより基板Kに装着処理を施し、装着処理を施した基板Kを、例えば、隣接する部品装着機10に供給する。
ところで、複数の部品装着機10を配置した生産システム1においては、基板Kに装着する部品Pの部品種に依存してピックアンドプレースに要する時間が異なる場合がある。従って、生産システム1においては、各々の部品装着機10が基板Kへの部品Pの装着が完了するまでに要する時間を表すサイクルタイムに差が生じる場合がある。生産システム1において、サイクルタイムに大きな差が生じる場合には、長いサイクルタイムを要する部品装着機10が、所謂、ボトルネックとなり、基板Kを生産する際の生産性を悪化させる虞がある。
ここで、生産性を向上させる、換言すれば、ボトルネックを生じさせないようにサイクルタイムを平準化する場合、通常、生産システム1における複数の部品装着機10の各々が基板Kに装着する部品P(部品種)の配置の最適化、即ち、生産システム1における部品Pの部品種の入れ替えが検討される。つまり、生産システム1において複数の部品装着機10が順次基板Kに装着する部品Pの装着順序を最適化するために、部品種同士の入れ替え、即ち、部品種ごとに部品Pを供給するフィーダ40同士の入れ替えが検討される。
しかしながら、部品種同士の入れ替え(フィーダ40同士の入れ替え)の検討においては、生産システム1において用いられる全ての部品種のうちの部品種同士を表す部品種ペアKp、又は、入れ替え対象となる部品種の部品Pを部品装着機10に供給するフィーダ40同士を表すフィーダペアKfを仮に決定する。そして、仮決定した部品種ペアKp(又はフィーダペアKf)について、部品種(フィーダ40)を入れ替えた場合の部品Pの装着処理をシミュレーションし、サイクルタイムを計測する。
通常、配置の最適化の検討においては、このような部品種ペアKp(又はフィーダペアKf)の仮決定、仮決定した部品種ペアKp(又はフィーダペアKf)についての装着処理のシミュレーション、及び、シミュレーション結果であるサイクルタイムの評価を、例えば、生産システム1において用いられる全ての部品種(フィーダ40)を組み合わせて行う。このため、部品種、即ち、フィーダ40、或いは、部品装着機10の数が増える程、配置の最適化に関する検討の内容が複雑化すると共に、サイクルタイムの評価、つまり、ボトルネックの解消が可能な部品種の配置(フィーダ40の配置)の最適化を実現する最適解を得るまでに膨大な時間が必要になる。
この懸念に関し、生産システム1は、上述した部品種ペアKpを推論する生産支援装置100を備えている。生産支援装置100は、生産システム1を構成する各部品装着機10(フィーダ40)、自動搬送機20、ローダ装置30、及び、管理装置Hと通信可能に設けられる。尚、生産支援装置100は、例えば、管理装置Hに組み込まれた装置とすることもできる。生産支援装置100は、予め設定された評価対象に関して、評価を最大化するための支援を行う。評価対象としては、例えば、サイクルタイムを例示することができる。生産支援装置100は、評価対象の評価結果に応じて、部品装着機10において装着される部品Pの複数の部品種のうちの入れ替え対象となる部品種ペアKpを推論して出力する。
具体的に、生産支援装置100は、強化学習によって生成された学習済みモデルが記憶されている。そして、生産支援装置100は、学習済みモデルと管理装置Hから供給される生産情報Jとを用いて、生産に用いられる部品Pの複数の部品種のうちの入れ替え対象となる部品種ペアKp、具体的には、部品装着機10にセットされる複数のフィーダ40のうちの入れ替え対象となるフィーダペアKfを推論して決定する。これにより、生産システム1においては、部品種の配置(入れ替え)、即ち、フィーダ40の配置(入れ替え)の最適化を図ることができる。その結果、各々の部品装着機10のサイクルタイムが平準化され、ひいては、生産システム1におけるボトルネックの生産全体に対する影響を低減することができる。尚、ボトルネックについては、例えば、平準化度が一定基準以上の場合に「ボトルネックがない」とみなすことができる。
ところで、上述したように、強化学習によって学習済みモデルを生成する場合、機械学習に用いる学習用データに偏りが無いようにすることが、効率が良く且つ精度の良い学習済みモデルを短い学習時間で生成する上で肝要である。例えば、評価対象であるサイクルタイムが短縮される、即ち、評価結果が良好な部品種ペアKpを常に学習用データに含めて強化学習を行った場合、例えば、サイクルタイムを短縮できない部品種ペアKp、或いは、そもそも部品種の入れ替えが不能である部品種ペアKpの推論精度が悪化してしまう可能性がある。そして、この場合には、評価結果が良好な部品種ペアKpの推論精度に対しても悪化するように影響を及ぼす可能性がある。
そこで、本実施形態においては、生産支援装置100が所定の分類基準に従って分類された第一学習用データを各々記憶する。そして、生産支援装置100は、分類されて記憶された各々の第一学習用データを無作為(ランダム)に抽出し、抽出した第一学習用データL1を用いた第一機械学習(強化学習)を行う。これにより、生産支援装置100は、第一学習用データL1の偏りを少なくして(抑制して)、精度の良い学習済みモデルを短期間で生成することが可能となり、ひいては、評価結果が良好な部品種ペアKpを精度良く推論することができる。
4-1.生産支援装置100の構成
次に、本実施形態の生産支援装置100の構成を説明する。生産支援装置100は、CPU、ROM、RAM、各種インターフェースを有するコンピュータ装置を主要構成部品とする装置であり、図6に示すように、第一学習用データ取得部110と、学習用データ記憶部120と、抽出部130と、学習済みモデル記憶部150と、を備えている。又、生産支援装置100は、生産情報取得部160と、推論部170とを備えている。更に、生産支援装置100は、学習済みモデル生成部140を備えている。
次に、本実施形態の生産支援装置100の構成を説明する。生産支援装置100は、CPU、ROM、RAM、各種インターフェースを有するコンピュータ装置を主要構成部品とする装置であり、図6に示すように、第一学習用データ取得部110と、学習用データ記憶部120と、抽出部130と、学習済みモデル記憶部150と、を備えている。又、生産支援装置100は、生産情報取得部160と、推論部170とを備えている。更に、生産支援装置100は、学習済みモデル生成部140を備えている。
又、生産支援装置100は、任意に選択した(組み合わせた)部品種ペアKpを入れ替えた場合の評価結果であるサイクルタイムのシミュレーションを行ったり、推論部170による推論結果を用いて最適化のシミュレーションを行ったりすることが可能なオプチマイザ180を備えている。ここで、本実施形態においては、生産支援装置100がオプチマイザ180を備える場合を例示して説明する。しかし、オプチマイザ180については、任意に選択した部品種ペアKpや推論部170から推論結果を取得できれば良く、生産支援装置100以外に、例えば、生産支援装置100と通信可能な管理装置H等に設けることも可能である。
第一学習用データ取得部110は、複数の部品装着機10の各々が基板Kに装着する複数の部品Pの部品種ペアデータCpによって表される部品種ペアKpを入れ替えて装着処理を試行することにより装着処理が改善して報酬Eが得られる部品種ペアKpに関する第一機械学習に用いられる複数の第一学習用データL1を取得する。尚、以下の説明においては、部品種ペアKpを表す部品種ペアデータCpと、後述するフィーダペアKfを表すフィーダペアデータCf及び部品装着機ペアKmを表す部品装着機ペアデータCmとをまとめて「ペアデータC」と称呼する場合がある。
ここで、第一学習用データ取得部110が取得する第一学習用データL1としては、生産システム1を構成する複数の部品装着機10の配置に関する配置データDa及び部品装着機10の各々が基板Kに装着する複数の部品Pの部品種を表す部品種データDkを含むオプチマイズ情報Dを含むことができる。尚、オプチマイズ情報Dには、例えば、後述するように、任意に組み合わされた部品種ペアKpの部品種ペアデータCpや推論部170が推論した部品種ペアKpを表す推論部品種ペアデータCpiについて、オプチマイザ180が各々の部品装着機10にて行う装着処理をシミュレーションした際のサイクルタイムを表す想定サイクルタイムデータDsが含まれる。又、オプチマイズ情報Dには、厳守すべき部品Pの装着順序、或いは、部品Pの入れ替え可否を表す入れ替え規制情報Djが含まれる。
尚、オプチマイズ情報Dに含まれる配置データDa、部品種データDk、想定サイクルタイムデータDs及び入れ替え規制情報Djの各々については、管理装置H、又は、図示省略の外部装置から供給される。本実施形態においては、図6に示すように、管理装置Hから供給される場合を例示する。
又、第一学習用データ取得部110は、オプチマイザ180から出力されたペアデータC、具体的には、任意に組み合わされた部品種ペアKpを表す部品種ペアデータCpと、部品種ペアデータCpによって表される部品種ペアKpを入れ替えた場合の装着処理をシミュレーションした場合に得られる結果データとしてのサイクルタイムデータRsと、を第一学習用データL1として取得する。尚、オプチマイザ180は、シミュレーションを実行した部品種ペアデータCpとサイクルタイムデータRsとを紐付けて第一学習用データ取得部110に出力する。
ここで、オプチマイザ180は、例えば、オプチマイズ情報Dに含まれる配置データDa及び部品種データDkに基づいて決定可能な任意の部品種ペアKpの部品種ペアデータCpについて装着処理のシミュレーションを実行し、サイクルタイムデータRsを取得する。この場合、オプチマイザ180は、オプチマイズ情報Dに含まれる入れ替え規制情報Djに基づき、部品Pの入れ替えが不可とされている部品種ペアKpについても敢えてシミュレーションを実行する。この場合、得られる結果データとしては、例えば、サイクルタイムデータRsが部品種の入れ替えが不可であること表す値が出力される。
第一学習用データ取得部110は、取得したオプチマイズ情報D、ペアデータC(具体的には、部品種ペアデータCp(或いは、フィーダペアデータCf))、及び、サイクルタイムデータRsを互いに紐付ける。そして、第一学習用データ取得部110は、互いに紐付けたオプチマイズ情報D、ペアデータC(具体的には、部品種ペアデータCp(或いは、フィーダペアデータCf))、及び、サイクルタイムデータRsを第一学習用データL1として学習用データ記憶部120に出力する。
学習用データ記憶部120は、第一学習用データ取得部110によって取得された複数の第一学習用データL1を所定の分類基準に従って分類して記憶する。ここで、本実施形態においては、上述したように、結果データとして、サイクルタイムデータRsを含んでいる。又、上述したように、結果データとしては、部品種ペアKpの入れ替えが不可である場合を含んでいる。このため、本実施形態においては、分類基準として、例えば、想定サイクルタイムデータDsによって表される想定サイクルタイムに対してサイクルタイムデータRsによって表されるサイクルタイムが短縮されたか否かに応じて第一学習用データL1を分類する基準を採用した場合を例示して説明する。又、本実施形態においては、分類基準として、例えば、入れ替え規制情報Djに基づいて部品種の入れ替えが可能か否か応じて第一学習用データL1を分類する基準を採用した場合を例示して説明する。
学習用データ記憶部120は、図6に示すように、複数(本実施形態においては、3つ)の記憶領域として、第一メモリバッファ121、第二メモリバッファ122及び第三メモリバッファ123を備えている。第一メモリバッファ121は、例えば、部品種の入れ替えを行ってサイクルタイムデータRsによって表されるサイクルタイムが想定サイクルタイムデータDsによって表される想定サイクルタイムよりも減少した第一学習用データL1を順次蓄積して記憶する。即ち、第一メモリバッファ121には、入れ替えが可能であり、且つ、サイクルタイムを短縮する場合の第一学習用データL1、換言すれば、出現頻度の低い第一学習用データL1が順次蓄積されて記憶される。
第二メモリバッファ122は、例えば、部品種の入れ替えを行ってサイクルタイムデータRsによって表されるサイクルタイムが想定サイクルタイムと変わらない又は想定サイクルタイムよりも増加した第一学習用データL1を順次蓄積して記憶する。第三メモリバッファ123は、例えば、入れ替え規制情報Djに基づいて、部品種の入れ替えが不能な第一学習用データL1を順次蓄積して記憶する。即ち、第二メモリバッファ122及び第三メモリバッファ123には、出現頻度の高い第一学習用データL1が順次蓄積されて記憶される。
抽出部130は、学習用データ記憶部120に分類されて第一メモリバッファ121、第二メモリバッファ122及び第三メモリバッファ123に記憶されている各々の第一学習用データL1を無作為に抽出する。尚、以下の説明においては、抽出部130が第一メモリバッファ121から無作為に抽出した第一学習用データL1を第一学習用データDE1と称呼する場合がある。又、抽出部130が第二メモリバッファ122から無作為に抽出した第一学習用データL1を第一学習用データDE2と称呼する場合がある。更に、抽出部130が第三メモリバッファ123から無作為に抽出した第一学習用データL1を第一学習用データDE3と称呼する場合がある。
具体的に、抽出部130は、学習用データ記憶部120の第一メモリバッファ121、第二メモリバッファ122及び第三メモリバッファ123の各々において、第一学習用データDE1、第一学習用データDE2及び第一学習用データDE3が一定数以上記憶された(蓄積された)状態で、各々の第一学習用データDE1、第一学習用データDE2及び第一学習用データDE3を無作為に抽出する。更に、抽出部130は、学習用データ記憶部120に分類された記憶されている第一学習用データDE1、第一学習用データDE2及び第一学習用データDE3を、任意に設定可能な構成比となるように無作為に抽出する。
ここで、任意に設定可能な構成比としては、例えば、後述するように生成される学習済みモデルMを用いた推論に要求される推論精度に応じて設定することができる。例えば、抽出部130は、第一学習用データDE1を40%、第一学習用データDE2を30%及び第一学習用データDE3を30%となるように、第一学習用データDE1、第一学習用データDE2及び第一学習用データDE3を無作為に抽出する。或いは、抽出部130が一定動作(一定パターン)により第一学習用データDE1、第一学習用データDE2及び第一学習用データDE3を抽出する場合には、例えば、第一メモリバッファ121に40%、第二メモリバッファ122及び第三メモリバッファ123にそれぞれ30%ずつとなるように、学習用データ記憶部120が第一学習用データL1を蓄積して記憶する。
学習済みモデル生成部140は、抽出部130によって所定の構成比になるように無作為に抽出された第一学習用データDE1、第一学習用データDE2及び第一学習用データDE3の各々を用いて第一機械学習を繰り返し行うことによって、学習済みモデルMを生成する。ここで、上述したように、複数の部品Pは、各々、リールRに巻回されたキャリアテープ50に収容されており、リールRは、各々、キャリアテープ50に収容された部品Pを部品装着機10に供給するフィーダ40に装填される。
従って、部品種ペアKpは、部品種ペアKpを形成する部品種の部品Pを収容しているキャリアテープ50が巻回されたリールRの装填されたフィーダ40同士を表すフィーダペアKfに対応する。このため、学習済みモデル生成部140は、部品種ペアKpの入れ替えパターンに関する機械学習(強化学習)に代えて、又は、加えて、フィーダペアKfの入れ替えを行い、複数の部品装着機10が部品Pを装着することにより後述する報酬Eが得られる入れ替えパターンに関する機械学習(強化学習)を繰り返し行うことによって、学習済みモデルMを生成することもできる。尚、学習済みモデル生成部140は、後述するように、学習済みモデルMとして、価値関数、より詳しくは、最適行動価値関数を生成する。
学習済みモデル記憶部150は、学習済みモデル生成部140によって生成された学習済みモデルMを記憶する。このため、学習済みモデル記憶部150は、学習済みモデル生成部140が機械学習(強化学習)を繰り返し行うことによって更新される学習済みモデルMを記憶することができる。
生産情報取得部160は、新たな配置データDan及び新たな部品種データDknを少なくとも含み、部品装着機10を用いて新たな部品Pを装着して基板Kを生産することを指示する生産情報Jを取得する。具体的に、生産情報取得部160は、基板Kの生産に際し、換言すれば、新たな部品種ペアKp(又は新たなフィーダペアKf)の最適化が必要な際に、管理装置Hから生産情報Jを取得する。
ここで、管理装置Hが出力する生産情報Jは、配置データDaに相当する生産システム1を構成する部品装着機10の新たな数と新たな配置と、各々の部品装着機10にセットされるフィーダ40の数と、部品種データDkに相当する各々の部品装着機10において実装される部品Pの新たな種類と新たな実装数と、想定サイクルタイムデータDsに相当する実績又はシミュレーション結果としてのサイクルタイムを含んでいる。更に、生産情報Jは、部品Pの基板Kに対する指定装着位置及び指定装着角度を含む制御データ、部品情報(形状、寸法、最大移動速度、撮像条件等)、サイクルタイムの平準化度(ボトルネックの有無)、装着処理の効率に影響を与える機器情報(装着ヘッド13Cや吸着ノズル13E等)を含んでいる。従って、学習済みモデル生成部140は、生産情報Jを第一学習用データL1として機械学習(強化学習)を行うことが可能である。
推論部170は、生産情報取得部160によって取得された生産情報Jに含まれる新たな配置データDan及び新たな部品種データDknと、学習済みモデル記憶部150に記憶されている学習済みモデルMとを用いて、部品種データDknによって区別される新たな部品種のうちの入れ替え対象となる推論した推論ペアデータCi(具体的には、推論した部品種ペアKpを表す推論部品種ペアデータCpi又は推論したフィーダペアKfを表す推論フィーダペアデータCfi)を出力する。ここで、推論部170は、推論ペアデータCi(推論部品種ペアデータCpi又は推論フィーダペアデータCfi)を管理装置H(より詳しくは、例えば、管理装置Hに設けられた図示を省略する表示装置等)に出力し、作業者等に案内することができる。尚、推論部170による部品種ペアKp(又は、フィーダペアKf)の推論については、後に詳述する。
4-2.学習フェーズにおいて機能する学習済みモデル生成部140の構成
次に、図7を参照して、学習フェーズにおいて機能する生産支援装置100の学習済みモデル生成部140の構成を説明する。図7に示すように、学習済みモデル生成部140は、状態情報取得部141と、評価結果取得部142と、報酬算出部143と、価値関数記憶部144と、行動決定部145と、行動情報出力部146と、価値関数更新部147とを主に備える。
次に、図7を参照して、学習フェーズにおいて機能する生産支援装置100の学習済みモデル生成部140の構成を説明する。図7に示すように、学習済みモデル生成部140は、状態情報取得部141と、評価結果取得部142と、報酬算出部143と、価値関数記憶部144と、行動決定部145と、行動情報出力部146と、価値関数更新部147とを主に備える。
本実施形態において、状態情報取得部141は、抽出部130によって無作為に且つ所定の構成比となるように抽出された第一学習用データDE1、第一学習用データDE2及び第一学習用データDE3のうちの一つを状態情報として取得する。即ち、本実施形態の状態情報取得部141は、分類され且つ所定の構成比となるように無作為に抽出された第一学習用データDE1、第一学習用データDE2及び第一学習用データDE3の一つを状態情報として取得する。ここで、本実施形態においては、状態情報取得部141は、主として、抽出部130から状態情報を取得するが、オプチマイザ180からも状態情報(第一学習用データL1)を取得することができる。
評価結果取得部142は、予め設定された評価対象に関して、第一学習用データDE1、第一学習用データDE2及び第一学習用データDE3の一つに含まれる部品種ペアデータCpによって表される部品種ペアKpの入れ替え、或いは、複数のフィーダ40のうちのフィーダペアデータCfによって表されるフィーダペアKfの入れ替えを行った後の装着処理によって得られる評価結果を取得する。評価結果取得部142は、評価結果として、サイクルタイムデータRsや、部品Pが小さい順に基板Kに装着されたか、部品Pの基板Kの表面からのZ軸方向への高さが低い順に基板Kに装着されたか等を取得する。評価結果取得部142は、図7に示すように、評価対象に対する評価結果をオプチマイザ180から取得することができる。
報酬算出部143は、部品種ペアデータCpによって表される部品種ペアKpの入れ替え(又はフィーダペアデータCfによって表されるフィーダペアKfの入れ替え)によって得られる評価対象の評価結果(例えば、サイクルタイムデータRs)に基づき、第一学習用データDE1、第一学習用データDE2及び第一学習用データDE3の一つにおける部品種ペアKpの入れ替え(又はフィーダペアKfの入れ替え)に対する報酬Eを算出する。報酬算出部143は、評価結果が良好である場合に、部品種ペアKpの入れ替え(又はフィーダペアKfの入れ替え)に対してプラスの報酬Eを与える。一方、報酬算出部143は、評価結果が良好でない場合に部品種ペアKpの入れ替え(又はフィーダペアKfの入れ替え)に対してマイナスの報酬(罰則)を与える。
例えば、報酬算出部143は、評価結果の一つであるサイクルタイムに関して、部品種ペアKpの入れ替え(又はフィーダペアKfの入れ替え)を行った後の装着処理をシミュレーションした場合(或いは、実際に部品装着機10にて装着処理を行った場合)に、サイクルタイムデータRsによって表されるサイクルタイムが減少していれば、プラスの報酬Eを与える。一方、報酬算出部143は、サイクルタイムデータRsによって表されるサイクルタイムが増加していれば、マイナスの報酬Eを与える。又、報酬算出部143は、評価結果の一つである基板Kに対して部品Pの配置する順番に関して、部品種ペアKpの入れ替え(又はフィーダペアKfの入れ替え)を行った後の装着処理をシミュレーションした場合(或いは、実際に部品装着機10にて装着処理を行った場合)に、小さな部品Pから順に配置(装着)されていれば、或いは、低い部品Pから順に配置(装着)されていれば、プラスの報酬Eを与える。一方、報酬算出部143は、大きな部品Pから順に配置(装着)されていれば、或いは、高い部品Pから順に配置(装着)されていれば、マイナスの報酬Eを与える。
このように、報酬算出部143は、評価対象ごとに報酬Eを算出する。又、報酬算出部143は、評価対象ごとに設定された基準と評価結果との差に応じた報酬Eを付与する。即ち、報酬算出部143は、評価結果と基準との差がプラス方向に大きい場合には、評価結果と基準との差がプラス方向に小さい場合よりも大きな報酬Eを与える。逆に、評価結果と基準との差がマイナス方向に大きい場合には、評価結果と基準との差がマイナス方向に小さい場合よりも大きな罰則を与える。
具体的に、評価結果の一つであるサイクルタイムを例に挙げて説明する。例えば、部品種ペアデータCpによって表される部品種ペアKpの入れ替え(又はフィーダペアデータCfによって表されるフィーダペアKfの入れ替え)を行う(シミュレーションを行う)前であって、例えば、オプチマイズ情報Dに含まれる想定サイクルタイムデータDsによって表されるサイクルタイムを想定サイクルタイムとする。そして、報酬算出部143は、例えば、部品種ペアKpの入れ替え(又はフィーダペアKfの入れ替え)を行った後の装着処理のシミュレーションにおいて、サイクルタイムデータRsによって表されるサイクルタイムと想定サイクルタイムとの差である短縮時間がプラス方向に大きい場合は、短縮時間がプラス方向に小さい場合よりも大きな報酬Eを与える。即ち、報酬算出部143は、サイクルタイムの短縮時間が大きくなるにつれて(サイクルタイムが短縮されるにつれて)、大きな報酬Eを与える。逆に、短縮時間がマイナス方向に大きい場合、即ち、サイクルタイムが想定サイクルタイムよりも長い場合には、報酬算出部143は、マイナスの報酬Eを与えるか、或いは、報酬Eを与えない。
価値関数記憶部144は、状態情報取得部141が取得した状態情報(より具体的には、無作為に抽出された第一学習用データDE1、第一学習用データDE2及び第一学習用データDE3の一つに含まれるペアデータC)と報酬算出部143が算出した報酬Eとに基づく強化学習即ち第一機械学習において価値関数を生成する。ここで、価値関数は、学習フェーズにおいて、評価対象の評価結果が最適となるように状態情報に応じた行動情報を得るために生成された関数である。そして、価値関数記憶部144は、生成された価値関数即ち学習済みモデルMを更新可能に記憶する。従って、価値関数記憶部144は、学習済みモデル記憶部150の機能も発揮する。
特に、本実施形態の価値関数(学習済みモデルM)は、強化学習アルゴリズムとしてDQN(Deep Q-Network)により生成される最適行動価値関数である。この場合、最適行動価値関数は、ニューラルネットワークを用いた近似関数として求められ、ある状態のときの行動ごとにQ値(状態に応じて即時的に得られる報酬Eの価値)が推定できた場合に取るべき最善の行動を与えるものである。即ち、最適行動価値関数を学習済みモデルMとした場合には、状態情報によって表される「状態」を入力とすると、部品種ペアデータCpによって表される部品種ペアKp(又はフィーダペアデータCfによって表されるフィーダペアKf)が出力層のノードとなるようなニューラルネットワークを用いてQ値が推定され、その結果、「最善の行動」としての入れ替え対象となる部品種ペアデータCpによって表される部品種ペアKp(又はフィーダペアデータCfによって表されるフィーダペアKf)が与えられる。
尚、価値関数については、DQNを用いて最適行動価値関数を求める場合に限られない。例えば、Q学習、Sarsa、モンテカルロ法等の強化学習アルゴリズムにより、価値関数を生成することも可能である。この場合には、生成された価値関数に基づく「政策」が決定され、「政策」に基づいて「最善の行動」が決定される。
行動決定部145は、状態情報(無作為に抽出された第一学習用データDE1、第一学習用データDE2及び第一学習用データDE3の一つ)及び学習済みモデルM(最適行動価値関数)に基づき、複数の部品種のうちから選択可能な部品種同士の部品種ペアKp、或いは、複数のフィーダ40のうちから選択可能なフィーダペアKfを決定する。尚、この場合、行動決定部145は、最適行動価値関数(学習済みモデルM)に基づいて部品種ペアKp(又はフィーダペアKf)を選択したり、必要に応じて、最適行動価値関数(学習済みモデルM)に基づかずに部品種ペアKp(又はフィーダペアKf)を探索したりすることができる。そして、行動決定部145は、決定した部品種ペアKpを表す部品種ペアデータCp(又は決定したフィーダペアKfを表すフィーダペアデータCf)、即ち、ペアデータCを出力する。
行動情報出力部146は、行動決定部145による決定内容、即ち、入れ替え対象となる部品種ペアKp(又はフィーダペアKf)を、行動情報Aとしてオプチマイザ180に出力する。この場合、オプチマイザ180は、行動情報Aを取得し、行動情報Aに従って部品種ペアKp(又はフィーダペアKf)を入れ替えた仮想の装着条件に基づいて装着処理のシミュレーションを行う。そして、オプチマイザ180は、行動情報Aに従って部品種ペアKp(又はフィーダペアKf)の入れ替た場合のシミュレーション結果として、評価態様に対する評価結果であるサイクルタイムを推定してサイクルタイムデータRsを出力する。
その後、状態情報取得部141は、仮想の装着条件を新たなオプチマイズ情報D即ち新たな状態情報として行動情報Aを取得し、評価結果取得部142はオプチマイザ180による評価対象の推定評価結果(例えば、サイクルタイムデータRs)を取得する。続いて、報酬算出部143は、オプチマイザ180による推定評価結果に基づき、新たなオプチマイズ情報D(即ち、行動情報A)に対する報酬Eを算出する。つまり、報酬算出部143は、部品種ペアKp(又はフィーダペアKf)の入れ替え前の状態情報(例えば、第一学習用データDE1,DE2,DE3のうちの一つに含まれるオプチマイズ情報Dの想定サイクルタイムデータDs)から部品種ペアKp(又はフィーダペアKf)の入れ替え後の新たな状態情報(例えば、サイクルタイムデータRs)へ状態を遷移させた行動情報Aに対する評価を、新たな状態情報即ちオプチマイズ情報Dに対する報酬Eとして算出する。
価値関数更新部147は、行動情報Aに基づいて更新した新たな状態情報即ちオプチマイズ情報D(具体的には、サイクルタイムデータRs)、及び、新たな状態情報(行動情報Aを反映したオプチマイズ情報D)に対する報酬Eに基づき、価値関数更新部147に記憶された最適行動価値関数を更新する。尚、価値関数更新部147は、強化学習アルゴリズム(DQN)に基づいて最適行動価値関数を更新すればよく、例えば、マイナスの報酬Eが与えられた場合には、最適行動価値関数の更新を行わないことも可能である。
4-3.推論フェーズにおいて機能する推論部170の構成
次に、図8を参照して、推論フェーズにおいて機能する生産支援装置100の推論部170の構成を説明する。図8に示すように、推論部170は、状態情報取得部171と、価値関数記憶部172と、行動決定部173と、行動情報出力部174とを主に備える。尚、状態情報取得部171、価値関数記憶部172、行動決定部173、及び、行動情報出力部174は、それぞれ、上述した学習済みモデル生成部140の状態情報取得部141、価値関数記憶部144、行動決定部145、及び、行動情報出力部146と同等の構成である。
次に、図8を参照して、推論フェーズにおいて機能する生産支援装置100の推論部170の構成を説明する。図8に示すように、推論部170は、状態情報取得部171と、価値関数記憶部172と、行動決定部173と、行動情報出力部174とを主に備える。尚、状態情報取得部171、価値関数記憶部172、行動決定部173、及び、行動情報出力部174は、それぞれ、上述した学習済みモデル生成部140の状態情報取得部141、価値関数記憶部144、行動決定部145、及び、行動情報出力部146と同等の構成である。
4-4.生産支援装置100による部品種ペアKpの配置(入れ替え)の最適化
次に、図9に示す最適化プログラムのフローチャートを参照して、生産支援装置100のうち主として推論部170による部品種ペアKp(又はフィーダペアKf)の入れ替えの最適化について説明する。最適化プログラムは、ステップS10に開始される。そして、続くステップS11において、生産支援装置100は、生産情報取得部160が、例えば、管理装置Hから実際の生産を指示する生産情報Jを取得する。そして、生産支援装置100(推論部170)は、「第一工程」として、生産情報Jに基づいて生産システム1を構成する複数の部品装着機10のうちの部品装着機ペアKmを表す部品装着機ペアデータCmを設定する。
次に、図9に示す最適化プログラムのフローチャートを参照して、生産支援装置100のうち主として推論部170による部品種ペアKp(又はフィーダペアKf)の入れ替えの最適化について説明する。最適化プログラムは、ステップS10に開始される。そして、続くステップS11において、生産支援装置100は、生産情報取得部160が、例えば、管理装置Hから実際の生産を指示する生産情報Jを取得する。そして、生産支援装置100(推論部170)は、「第一工程」として、生産情報Jに基づいて生産システム1を構成する複数の部品装着機10のうちの部品装着機ペアKmを表す部品装着機ペアデータCmを設定する。
上述したように、最適化が実行される際、各々の部品装着機10にセットされ得る複数のフィーダ40は、例えば、オプチマイズ情報Dや生産情報Jによって既知である。換言すれば、各々の部品装着機10において装着処理される部品Pの部品種も、例えば、オプチマイズ情報Dや生産情報Jによって既知である。つまり、部品Pの各々の部品種と各々の部品装着機10との関係も既知である。このため、部品種の最適化を図りたい場合、第一工程として、例えば、作業者の指示に従い、推論部170は、生産情報Jに基づいて、生産システム1を構成する複数の部品装着機10のうちの部品装着機ペアKmを表す部品装着機ペアデータCmを適宜設定する。
続く、ステップS12においては、生産支援装置100は、「第二工程」として、最適行動価値関数(学習済みモデルM)を用いて、部品種ペアKp(又はフィーダペアKf)を推論する。即ち、推論部170は、図8に示すように、状態情報取得部171が生産情報取得部160から新たな配置データDan及び新たな部品種の部品種データDknを含む生産情報Jを状態情報として取得する。そして、行動決定部173は、状態情報取得部171が取得した状態情報(生産情報J)と、価値関数記憶部172(学習済みモデル記憶部150)に記憶されている最適行動価値関数(学習済みモデルM)とを用いて、入れ替え対象となる部品種ペアKp(又はフィーダペアKf(部品装着機ペアKm))を推論する。ここで、行動決定部173は、推論した部品種ペアKpを表す推論部品種ペアデータCpi(又は、推論したフィーダペアKfを表す推論フィーダペアデータCfi、或いは、推論した部品装着機ペアKmを表す推論部品装着機ペアデータCmi)即ち推論ペアデータCiを行動情報出力部174に出力する。
再び、図9に戻り、ステップS13においては、生産支援装置100は、部品装着機10において、部品種ペアKp(又はフィーダペアKf)の入れ替えを行う。即ち、生産支援装置100の行動情報出力部174は、図8に示すように、前記ステップS11にて推論された部品種ペアKp(又はフィーダペアKf)を行動情報Aとして、管理装置Hに出力する。そして、管理装置Hは、行動情報Aに基づく指令、具体的には、部品種ペアKpに対応するフィーダペアKfを形成するフィーダ40同士の入れ替え指令を、例えば、複数の部品装着機10及びローダ装置30に出力する。
これにより、各々の部品装着機10及びローダ装置30は、行動情報Aにおいて特定された部品種ペアデータCpによって表される部品種ペアKp、具体的には、フィーダペアデータCfによって表されるフィーダペアKfにより特定される2つのフィーダ40の入れ替えを行う。尚、部品装着機10におけるフィーダ40の入れ替えについては、例えば、部品供給装置12のスロット12Sに付された識別番号(部品Pを装着する順番に対応する番号)を、フィーダ40の入れ替えに対応して変更することが含まれる。
再び、図9に戻り、ステップS14においては、生産支援装置100は、部品装着機10において、部品種、即ち、フィーダ40を入れ替えた後の装着処理に要するサイクルタイムを取得する。即ち、生産支援装置100状態情報取得部171は、管理装置Hから、フィーダ40を入れ替えた後においてフィーダ40を入れ替えた部品装着機10における装着処理に要するサイクルタイムを取得する。
続く、ステップS15においては、生産支援装置100は、前記ステップS14にて取得したサイクルタイムが、フィーダ40の入れ替え前に比べて改善しているか否かを判定する。即ち、生産支援装置100は、前記ステップS14にて取得した部品種ペアKp(又はフィーダペアKf)の入れ替え後におけるサイクルタイムが、前記ステップS11にて生産情報取得部160が取得した生産情報J(状態情報)に含まれている部品種ペアKp(又はフィーダペアKf)の入れ替え前の想定サイクルタイムに比べて短縮されていれば、サイクルタイムが改善されているため、「Yes」と判定する。そして、生産支援装置100は、再び、前記ステップS12に戻り、前記ステップS12以降の各ステップ処理を実行する。
一方、生産支援装置100は、例えば、複数回の最適化(入れ替え)を行った結果、前記ステップS12にて取得した部品種ペアKp(又はフィーダペアKf)の入れ替え後におけるサイクルタイムが想定サイクルタイムに比べて短縮されていなければ、サイクルタイムが改善されていないため、「No」と判定する。そして、生産支援装置100は、ステップS16にて、前記ステップS13にて入れ替えた部品種、即ち、フィーダ40を入れ替え前の状態に戻し、ステップS17に進む。
即ち、生産支援装置100の行動情報出力部174は、例えば、該当するフィーダ40を入れ替え前に戻すフィーダペアKf(又は部品種ペアKp)を行動情報Aとして、管理装置Hに出力する。これにより、管理装置Hは、行動情報Aに基づく指令、具体的には、部品種ペアKpに対応するフィーダペアKfを形成するフィーダ40同士を入れ替え前に戻す指令を、例えば、複数の部品装着機10及びローダ装置30に出力する。
これにより、各々の部品装着機10及びローダ装置30は、行動情報Aにおいて特定された部品種ペアKp、具体的には、フィーダペアKfによって特定される2つのフィーダ40を入れ替え前の状態に戻す。尚、部品装着機10におけるフィーダ40の入れ替えについては、例えば、部品供給装置12のスロット12Sに付された識別番号(部品Pを装着する順番に対応する番号)を、フィーダ40の入れ替えに対応して変更することが含まれる。
ステップS17においては、生産支援装置100は、生産情報Jに基づき、生産システム1を構成する複数の部品装着機10に関して組み合わせ可能な対象全ての部品装着機ペアデータCmによって表される部品装着機ペアKmについて、上述した部品種(フィーダ40)の入れ替え、換言すれば、最適化の検討が完了したか否かを判定する。即ち、生産支援装置100は、対象全ての部品装着機ペアKmについての最適化の検討が完了していなければ、「No」と判定して前記ステップS11に戻る。そして、生産支援装置100は、前記ステップS11にて新たな部品装着機ペアKmを設定すると、上述したように、前記ステップS12以降の各ステップ処理を実行する。一方、生産支援装置100は、対象全ての部品装着機ペアKmについての最適化の検討が完了していれば、「Yes」と判定してステップS18に進み、最適化プログラムの実行をステップS16にて終了する。
ここで、「組み合わせ可能な対象全ての部品装着機ペアKm」については、例えば、生産システム1を構成する全ての部品装着機10同士の組み合わせを部品装着機ペアKmとして設定することを含んでも良い。又、例えば、予めサイクルタイムの短縮等の効果が期待できる部品装着機10同士の組み合わせがあれば、全ての部品装着機10のうちから効果の期待できそうな部品装着機10同士を選択して部品装着機ペアKmを設定することもできる。
以上の説明からも理解できるように、生産支援装置100は、複数の部品装着機10の間で基板Kに装着する部品Pの部品種ペアKpを入れ替えて装着処理を試行することにより装着処理が改善して報酬Eが得られる部品種ペアKpに関する第一機械学習に用いられる複数の第一学習用データL1を取得する第一学習用データ取得部110と、取得された複数の第一学習用データL1を所定の分類基準に従って分類して記憶する学習用データ記憶部120と、学習用データ記憶部120の第一メモリバッファ121、第二メモリバッファ122及び第三メモリバッファ123のそれぞれに分類されて記憶されている各々の第一学習用データL1を無作為に抽出する抽出部130と、無作為に抽出された第一学習用データL1を用いて第一機械学習を行うことによって生成された学習済みモデルMを記憶する学習済みモデル記憶部150と、を備える。又、生産支援装置100は、無作為に抽出された第一学習用データL1を用いて、第一機械学習を繰り返し行うことにより、学習済みモデルMを生成する学習済みモデル生成部140を備える。
更に、生産支援装置100は、部品装着機10の配置を表す配置データDa(新たな配置データDan)及び部品Pの部品種を表す部品種データDk(新たな部品種データDkn)を少なくとも含み、部品装着機10を用いて新たな部品Pを装着して基板Kを生産することを指示する生産情報Jを取得する生産情報取得部160と、生産情報Jに含まれる配置データDa(新たな配置データDan)及び部品Pの部品種データDk(新たな部品種データDkn)と学習済みモデルMとを用いて、部品種データDk(新たな部品種データDkn)によって区別される新たな部品種のうちの入れ替え対象となる部品種ペアKp(推論された部品種ペアKpを表す推論部品種ペアデータCpi)を推論して出力する推論部170と、を備える。
これらよれば、分類されて記憶されている各々の第一学習用データL1を無作為に抽出して第一機械学習を行うことにより、第一学習用データL1の偏りを抑制して生成された学習済みモデルMを用いることができる。これにより、生産支援装置100においては、生成された学習済みモデルMにより、複数の部品装着機10の間で装着処理を改善することができる部品種ペアKp(或いは、フィーダペアKf)を精度良く推論して決定することができる。
従って、生産支援装置100を用いることにより、複数の部品種について、逐次、部品種同士(フィーダ40同士)の全ての組み合わせを検討して最適化に有効な部品種ペアKp(フィーダペアKf)を決定する必要がない。又、学習済みモデルMを用いることにより、新たな部品種についても選択的に最適化に有効な部品種ペアKp(フィーダペアKf)を決定することができ、効率良く部品種(フィーダ40)の配置の最適化を行うことができる。
5.第一変形例
上述した実施形態においては、学習用データ記憶部120の第一メモリバッファ121、第二メモリバッファ122及び第三メモリバッファ123には、所定の分類基準に従って分類された第一学習用データL1が記憶されて蓄積される。ところで、特に、第一メモリバッファ121に蓄積される第一学習用データDE1、具体的には、部品種ペアKpの入れ替えが可能であり、且つ、サイクルタイムが短縮されるペアデータCを含む第一学習用データL1は、組み合わせを見つけるまでにオプチマイザ180を用いた多くの試行が必要である。
上述した実施形態においては、学習用データ記憶部120の第一メモリバッファ121、第二メモリバッファ122及び第三メモリバッファ123には、所定の分類基準に従って分類された第一学習用データL1が記憶されて蓄積される。ところで、特に、第一メモリバッファ121に蓄積される第一学習用データDE1、具体的には、部品種ペアKpの入れ替えが可能であり、且つ、サイクルタイムが短縮されるペアデータCを含む第一学習用データL1は、組み合わせを見つけるまでにオプチマイザ180を用いた多くの試行が必要である。
即ち、部品種ペアKpの入れ替えが可能であり、且つ、サイクルタイムが短縮されるペアデータCを含む第一学習用データL1は、上述したように、出現頻度が低くなる。従って、学習済みモデルMを生成する際に、第一学習用データL1の偏りを少なくして第一機械学習(強化学習)を行うためには、第一メモリバッファ121に第一学習用データDE1を所定数以上蓄積する必要があり、学習を進める上で時間を要する場合がある。
そこで、第一変形例においては、上述した第一学習用データL1を用いた第一機械学習による学習済みモデルMの生成に加え、第一機械学習によって生成された学習済みモデルMを用いて、推論部170が推論した推論ペアデータCiを含む第二学習用データL2を用いた第二機械学習を行い、学習済みモデルMを生成する。ここで、学習済みモデルMを用いて推論された部品種ペアKp(又はフィーダペアKf)については、部品種の入れ替えが可能であり、且つ、サイクルタイムの短縮が可能であり、更には、時間経過に伴う出現頻度が多くなる。
このため、第一変形例において、生産支援装置100は、図6において長破線により示すように、第二学習用データ取得部190を備える。第二学習用データ取得部190は、推論部170によって推論された推論ペアデータCi、例えば、推論された部品種ペアKpを表す推論部品種ペアデータCpiを含む第二学習用データL2を取得する。尚、第二学習用データL2は、推論部品種ペアデータCpiに加え、管理装置Hから取得されるオプチマイズ情報D及び生産情報Jを含む。
ここで、第一変形例においては、学習済みモデル生成部140は、抽出部130によって抽出された第一学習用データDE1、第一学習用データDE2及び第一学習用データDE3即ち第一学習用データL1を用いた第一機械学習(強化学習)を行うことができ、又、第二学習用データ取得部190によって取得された第二学習用データL2を用いた第二機械学習(強化学習)を行うことができる。この場合、学習済みモデル生成部140は、第一機械学習及び第二機械学習の一方を選択して、学習済みモデルMを生成する。
具体的に、学習済みモデル生成部140は、イプシロン-グリーディ法に従い、探索割合を決定する探索率に応じて第一機械学習及び第二機械学習の一方を選択して行い、学習済みモデルMを生成する。このため、図7に示すように、第一変形例の状態情報取得部141は、イプシロン-グリーディ法に従って第一機械学習が選択された場合には、抽出部130から第一学習用データL1即ち第一学習用データDE1、第一学習用データDE2及び第一学習用データDE3のうちの一つを状態情報として取得する。一方、第一変形例の状態情報取得部141は、イプシロン-グリーディ法に従って第二機械学習が選択された場合には、第二学習用データ取得部190によって取得された第二学習用データL2を状態情報として取得する。
学習済みモデル生成部140が第二機械学習によって強化学習を行う場合、状態情報取得部141は、第二学習用データ取得部190から第二学習用データL2を取得する。そして、価値関数記憶部144は、上述した実施形態の場合と同様に、状態情報取得部141が取得した状態情報(第二学習用データL2、特に、推論ペアデータCi)と報酬算出部143が算出した報酬Eとに基づく強化学習において価値関数を生成する。即ち、第一変形例においては、価値関数記憶部144は、上述した実施形態において第一学習用データDE1に含まれるペアデータCを用いて生成された価値関数即ち学習済みモデルMについて、第二学習用データL2に含まれる推論ペアデータCiを用いて強化学習を進め、強化学習を進めて生成された学習済みモデルMを更新可能に記憶する。
このように、第一変形例においては、推論ペアデータCi(推論部品種ペアデータCpi(又は推論フィーダペアデータCfi))を用いることができる。従って、第一変形例においては、見かけ上、上述した実施形態において説明した第一学習用データDE1を用いた強化学習の頻度を増やすことができ、学習済みモデルMの生成速度、換言すれば、学習速度を向上させることができる。
又、第一変形例において、行動決定部145は、上述した実施形態と同様に、状態情報(第二学習用データL2)及び学習済みモデルM(最適行動価値関数)に基づき、複数の部品種のうちから選択可能な部品種同士の部品種ペアKp、或いは、複数のフィーダ40のうちから選択可能なフィーダ40同士のフィーダペアKfを決定することができる。尚、この場合においても、行動決定部145は、最適行動価値関数(学習済みモデルM)に基づいて部品種ペアKp(又はフィーダペアKf)を選択したり、必要に応じて、最適行動価値関数(学習済みモデルM)に基づかずに部品種ペアKp(又はフィーダペアKf)を探索したりすることができる。
又、第一変形例においても、行動情報出力部146は、行動決定部145による決定内容、即ち、入れ替え対象となる部品種ペアKp(又はフィーダペアKf)を、行動情報Aとしてオプチマイザ180に出力する。そして、オプチマイザ180は、行動情報Aを取得し、行動情報Aに従って部品種ペアKp(又はフィーダペアKf)を入れ替えた仮想の装着条件に基づいて装着処理のシミュレーションを行い、シミュレーション結果として評価態様に対する評価結果であるサイクルタイムを推定してサイクルタイムデータRsを出力する。
そして、第一変形例においても、価値関数更新部147は、行動情報Aに基づいて更新した新たな状態情報即ちオプチマイズ情報D(具体的には、サイクルタイムデータRs)、及び、新たな状態情報(行動情報Aを反映したオプチマイズ情報D)に対する報酬Eに基づき、価値関数更新部147に記憶された最適行動価値関数を更新する。尚、第一変形例においても、価値関数更新部147は、強化学習アルゴリズム(DQN)に基づいて最適行動価値関数を更新すればよく、例えば、マイナスの報酬Eが与えられた場合には、最適行動価値関数の更新を行わないことも可能である。
従って、第一変形例においては、状況に応じた判断に従い、特に、サイクルタイムデータRsによって表されるサイクルタイムの短縮が可能な部品種ペアKp(又はフィーダペアKf)について、学習済みモデルMを用いて推論される推論ペアデータCi即ち推論部品種ペアデータCpi(又は推論フィーダペアデータCfi))を第二学習用データL2として用いて強化学習を進めることができる。
即ち、第一変形例においては、学習用データ記憶部120における第一メモリバッファ121への蓄積に時間を要する第一学習用データDE1に加えて、学習済みモデルMによって推論される第一学習用データDE1に含まれるペアデータCに相当する推論ペアデータCi(推論部品種ペアデータCpi又は推論フィーダペアデータCfi)を第二機械学習において用いることができる。ここで、学習済みモデルMを用いて推論することにより、推論ペアデータCi(推論部品種ペアデータCpi又は推論フィーダペアデータCfi)、換言すれば、入れ替えが可能であり、且つ、サイクルタイムを短縮する部品種ペアKp(又はフィーダペアKf)の出現頻度は高くなる。
これにより、第一変形例においては、所定の分類基準に従って分類されて第一メモリバッファ121に記憶される第一学習用データL1及び第二学習用データL2について、所定数以上となるまで蓄積するために要する時間を短縮することができる。その結果、第一変形例においては、推論精度の高い学習済みモデルMを生成するための学習時間を短縮して効率良く学習済みモデルMを生成することができる。その他の効果については、上述した実施形態と同様の効果が得られる。
6.第二変形例
上述した実施形態においては、例えば、第一工程として作業者等によって部品装着機ペアKmが設定され、生産支援装置100は、第二工程として選択的に設定された部品装着機ペアKmにセットされたフィーダ40(部品種)を入れ替え即ち最適化の対象とすることができるようにした。これにより、上述した実施形態及び第一変形例においては、例えば、オプチマイザ180が実行するシミュレーションの回数を低減することができ、効率良く部品種の配置の最適化を行うことができる。
上述した実施形態においては、例えば、第一工程として作業者等によって部品装着機ペアKmが設定され、生産支援装置100は、第二工程として選択的に設定された部品装着機ペアKmにセットされたフィーダ40(部品種)を入れ替え即ち最適化の対象とすることができるようにした。これにより、上述した実施形態及び第一変形例においては、例えば、オプチマイザ180が実行するシミュレーションの回数を低減することができ、効率良く部品種の配置の最適化を行うことができる。
ところで、上述したように、各々の部品装着機10において装着処理される部品Pの部品種は既知である。従って、生産支援装置100は、上述した実施形態のように、入れ替えの対象として部品種ペアKp又はフィーダペアKfを推論することに代えて、又は、加えて、図6、図7及び図9に示すように、部品種ペアデータCpによって表される部品種ペアKp又はフィーダペアデータCfによって表されるフィーダペアKfの推論と同様にして部品装着機ペアデータCmによって表される部品装着機ペアKmを推論することも可能である。即ち、この場合には、第一工程として、例えば、上述した最適化プログラムの前記ステップS11において、学習済みモデルMとオプチマイズ情報D(又は生産情報J)とに基づいて、入れ替えの対象となるフィーダ40(部品種)が装着される可能性の高い部品装着機10について部品装着機ペアKm(部品装着機ペアデータCm)が推論される。これにより、上述したように、生産支援装置100は、第二工程において、部品装着機ペアKmに実際にセットされるフィーダペアKf即ち部品種ペアKpを推論することができるため、効率良く部品種の配置の最適化を図ることができる。
7.第三変形例
又、上述した実施形態及び第一変形例においては、学習フェーズにおいて、報酬算出部143は、評価対象に関係なく、評価結果に応じた報酬Eを算出するようにした。これに加えて、図7にて破線により示すように、学習済みモデル生成部140が重み付け部148を備えることも可能である。以下、重み付け部148を説明する。
又、上述した実施形態及び第一変形例においては、学習フェーズにおいて、報酬算出部143は、評価対象に関係なく、評価結果に応じた報酬Eを算出するようにした。これに加えて、図7にて破線により示すように、学習済みモデル生成部140が重み付け部148を備えることも可能である。以下、重み付け部148を説明する。
重み付け部148は、報酬算出部143が複数の評価対象の各々に対して与える報酬Eの重み付けを行う。つまり、重み付け部148は、複数の評価対象のうち一部の評価対象(例えば、サイクルタイム)の重要度が他の評価対象(例えば、部品Pの配置等)の重要度よりも高い場合に、一部の評価対象に対し、他の評価対象よりも与える報酬E又は罰則の程度を大きくする。従って、第三変形例においても、上述した実施形態及び第一変形例と同様の効果が得られる。尚、各々の評価対象に対する報酬Eの重み付けは、例えば、作業者による設定が可能である。
8.その他の変形例
上述した実施形態及び第一変形例においては、生産支援装置100が学習済みモデルMとオプチマイズ情報D(生産情報J)とに基づいて、部品種ペアKp(フィーダペアKf)を推論するようにした。これに代えて、例えば、第二変形例のように、生産支援装置100によって部品装着機ペアKmが推論される場合には、部品装着機ペアKmを形成する部品装着機10にセットされる限られたフィーダ40即ち部品種について、作業者が部品種ペアKpやフィーダペアKfを決定するようにしても良い。この場合においても、入れ替えの対象となる部品種(フィーダ40)の数が限られるため、仮に作業者が部品種ペアKpやフィーダペアKfを決定したとしても、上述した従来の方法に比べて、効率良く部品種の配置の最適化を図ることが可能となる。
上述した実施形態及び第一変形例においては、生産支援装置100が学習済みモデルMとオプチマイズ情報D(生産情報J)とに基づいて、部品種ペアKp(フィーダペアKf)を推論するようにした。これに代えて、例えば、第二変形例のように、生産支援装置100によって部品装着機ペアKmが推論される場合には、部品装着機ペアKmを形成する部品装着機10にセットされる限られたフィーダ40即ち部品種について、作業者が部品種ペアKpやフィーダペアKfを決定するようにしても良い。この場合においても、入れ替えの対象となる部品種(フィーダ40)の数が限られるため、仮に作業者が部品種ペアKpやフィーダペアKfを決定したとしても、上述した従来の方法に比べて、効率良く部品種の配置の最適化を図ることが可能となる。
更に、上述した実施形態及び各変形例においては、生産支援装置100が学習済みモデル生成部140を備えるようにした。これに代えて、学習済みモデル生成部140を、生産システム1に設けられた生産支援装置100以外の装置(例えば、生産システム1の管理装置Hや、管理装置Hと通信可能で生産システム1及び部品装着機10を製造するメーカが所有するコンピュータ装置等)に設けることも可能である。この場合、生産支援装置100以外の装置に設けられた学習済みモデル生成部140は、例えば、メーカが所有しているオプチマイズ情報Dを用いて学習済みモデルMを生成することができる。そして、生成された学習済みモデルMは、例えば、生産システム1の管理装置Hに供給され、管理装置Hから生産支援装置100の学習済みモデル記憶部150に供給されて記憶される。この場合においても、上述した実施形態及び各変形例と同様の効果が得られる。
1…生産システム、10…部品装着機、11…基板搬送装置、12…部品供給装置、12S…スロット、13…部品移載装置、13A…ヘッド駆動装置、13B…移動台、13C…装着ヘッド、13D…ノズルホルダ、13E…吸着ノズル、14…部品カメラ、15…基板カメラ、16…制御装置、20…自動搬送機、30…ローダ装置、40…フィーダ、41…フィーダ本体、42…駆動スプロケット、43…テープ押え部、44…剥離部、50…キャリアテープ、501…接合部位、502…接合部位、51…ベーステープ、511…キャビティ、512…送り孔、52…カバーテープ、100…生産支援装置、110…第一学習用データ取得部、120…学習用データ記憶部、130…抽出部、140…学習済みモデル生成部、141…状態情報取得部、142…評価結果取得部、143…報酬算出部、144…価値関数記憶部、145…行動決定部、146…行動情報出力部、147…価値関数更新部、148…重み付け部、150…学習済みモデル記憶部、160…生産情報取得部、170…推論部、171…状態情報取得部、172……価値関数記憶部、173…行動決定部、174…行動情報出力部、180…オプチマイザ、190…第二学習用データ取得部、P…部品、Ps…部品供給位置、R…リール、D…オプチマイズ情報、Da…配置データ、Dk…部品種データ、Ds…想定サイクルタイムデータ、Dj…入れ替え規制情報、C…ペアデータ、Cp…部品種ペアデータ、Cf…フィーダペアデータ、Cm…部品装着機ペアデータ、Ci…推論ペアデータ、Cpi…推論部品種ペアデータ、Cfi…推論フィーダペアデータ、Cmi…推論部品装着機ペアデータ、Rs…サイクルタイムデータ(結果データ)、J…生産情報、M…学習済みモデル、E…報酬、A…行動情報、H…管理装置
Claims (21)
- 複数の部品装着機の間で基板に装着する部品の部品種ペアを入れ替えて装着処理を試行することにより前記装着処理が改善して報酬が得られる前記部品種ペアに関する第一機械学習に用いられる複数の第一学習用データを取得する第一学習用データ取得部と、
取得された複数の前記第一学習用データを所定の分類基準に従って分類して記憶する学習用データ記憶部と、
前記学習用データ記憶部に分類されて記憶されている各々の前記第一学習用データを無作為に抽出する抽出部と、
無作為に抽出された前記第一学習用データを用いて前記第一機械学習を行うことによって生成された学習済みモデルを記憶する学習済みモデル記憶部と、
を備えた、生産支援装置。 - 前記部品装着機の配置を表す配置データ及び前記部品の部品種を表す部品種データを少なくとも含み、前記部品装着機を用いて新たな前記部品を装着して前記基板を生産することを指示する生産情報を取得する生産情報取得部と、
前記生産情報に含まれる前記配置データ及び前記部品の部品種データと前記学習済みモデルとを用いて、前記部品種データによって区別される新たな前記部品種のうちの入れ替え対象となる前記部品種ペアを推論して出力する推論部と、
を備えた、請求項1に記載の生産支援装置。 - 前記抽出部は、前記学習用データ記憶部において任意に設定可能な構成比となるように分類されて記憶されている各々の前記第一学習用データのうちから無作為に前記第一学習用データを抽出する、請求項1又は2に記載の生産支援装置。
- 前記抽出部は、前記学習用データ記憶部において一定数以上記憶されて蓄積されている各々の前記第一学習用データのうちから無作為に前記第一学習用データを抽出する、請求項1又は2に記載の生産支援装置。
- 無作為に抽出された前記第一学習用データを用いて、前記第一機械学習を繰り返し行うことにより、前記学習済みモデルを生成する学習済みモデル生成部を備えた、請求項1又は2に記載の生産支援装置。
- 前記第一学習用データは、前記学習用データ記憶部において各々の前記第一学習用データが一定数以上記憶されて蓄積された状態で、無作為に抽出される、請求項5に記載の生産支援装置。
- 前記第一学習用データは、
前記部品装着機の配置を表す配置データと、前記部品の部品種を表す部品種データと、前記部品種データによって区別される前記部品種同士の前記部品種ペアを表す部品種ペアデータと、複数の前記部品装着機が前記部品種同士を入れ替えて前記部品を装着する際に得られる結果を表す結果データと、が互いに紐付けされて形成される、請求項1又は2に記載の生産支援装置。 - 前記学習用データ記憶部は、
取得された複数の前記第一学習用データを、前記結果データに関する所定の前記分類基準に従って分類して記憶する、請求項7に記載の生産支援装置。 - 前記結果データは、前記部品の装着に要するサイクルタイムを含んでおり、
前記分類基準は、前記サイクルタイムに応じて前記第一学習用データを分類する基準である、請求項8に記載の生産支援装置。 - 前記結果データは、前記部品種ペアの入れ替えが不能である場合を含んでおり、
前記分類基準は、前記部品種ペアの入れ替えが可能か否かに応じて前記第一学習用データを分類する基準である、請求項8に記載の生産支援装置。 - 更に、前記推論部によって推論された前記部品種ペアを表す推論部品種ペアデータを含む第二学習用データを取得する第二学習用データ取得部を有し、
前記学習済みモデル記憶部は、
前記第一学習用データを用いた前記第一機械学習、及び、前記第二学習用データを用いて推論された前記部品種ペアを入れ替えて前記装着処理を試行することにより前記装着処理が改善して報酬が得られる前記部品種ペアに関する第二機械学習のうちの何れか一方を行うことによって生成された前記学習済みモデルを記憶する、請求項2に記載の生産支援装置。 - 前記第一機械学習、及び、前記第二機械学習のうちの何れか一方を繰り返し行うことにより、前記学習済みモデルを生成する学習済みモデル生成部を備えた、請求項11に記載の生産支援装置。
- 前記学習済みモデル生成部は、
イプシロン-グリーディ法に従い、探索割合を決定する探索率に応じて前記第一機械学習及び前記第二機械学習の一方を選択して行い、前記学習済みモデルを生成する、請求項12に記載の生産支援装置。 - 前記報酬は、
前記部品種ペアの入れ替えを行った後のシミュレーションにおいて、前記部品の装着に要するサイクルタイムが短縮される場合に与えられる、請求項1又は2に記載の生産支援装置。 - 前記報酬は、
前記部品種ペアの入れ替えを行う前の前記サイクルタイムに比べて、前記部品種ペアの入れ替えを行った後の前記サイクルタイムの短縮時間が大きくなるにつれて大きくなる、請求項14に記載の生産支援装置。 - 前記報酬は、
前記部品種ペアの入れ替えを行った後のシミュレーションにおいて、前記部品が小さい順に前記基板に装着される場合に与えられる、請求項1又は2に記載の生産支援装置。 - 前記報酬は、
前記部品種ペアの入れ替えを行った後のシミュレーションにおいて、前記部品の前記基板の表面からの高さが低い順に前記基板に装着される場合に与えられる、請求項16に記載の生産支援装置。 - 複数の前記部品は、各々、リールに巻回されたキャリアテープに収容されており、
前記リールは、各々、前記キャリアテープに収容された前記部品を前記部品装着機に供給するフィーダに装填される、請求項2に記載の生産支援装置。 - 前記推論部は、
前記部品を前記部品装着機に供給する前記フィーダ同士を表すフィーダペアを前記部品種ペアとして推論して出力する、請求項18に記載の生産支援装置。 - 前記配置データに基づいて複数の前記部品装着機のうちの前記部品装着機同士を表す部品装着機ペアを設定する第一工程と、
前記部品装着機ペアにおける前記部品種ペアを推論して出力する第二工程と、を実行する、請求項2に記載の生産支援装置。 - 前記推論部は、
前記生産情報と前記学習済みモデルとを用いて、前記第一工程における前記部品装着機ペアを推論して出力する、請求項20に記載の生産支援装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/038371 WO2024079883A1 (ja) | 2022-10-14 | 2022-10-14 | 生産支援装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2022/038371 WO2024079883A1 (ja) | 2022-10-14 | 2022-10-14 | 生産支援装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024079883A1 true WO2024079883A1 (ja) | 2024-04-18 |
Family
ID=90669247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2022/038371 WO2024079883A1 (ja) | 2022-10-14 | 2022-10-14 | 生産支援装置 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2024079883A1 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017033979A (ja) * | 2015-07-29 | 2017-02-09 | ファナック株式会社 | 実装タクトおよび消費電力を低減する部品マウンタ及び機械学習器 |
WO2019155593A1 (ja) * | 2018-02-09 | 2019-08-15 | 株式会社Fuji | 部品画像認識用学習済みモデル作成システム及び部品画像認識用学習済みモデル作成方法 |
JP2020066178A (ja) * | 2018-10-25 | 2020-04-30 | ファナック株式会社 | 状態判定装置及び状態判定方法 |
WO2021100630A1 (ja) * | 2019-11-18 | 2021-05-27 | パナソニックIpマネジメント株式会社 | 配置支援方法、学習済みモデルの生成方法、プログラム、配置支援システム及び作業システム |
-
2022
- 2022-10-14 WO PCT/JP2022/038371 patent/WO2024079883A1/ja unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017033979A (ja) * | 2015-07-29 | 2017-02-09 | ファナック株式会社 | 実装タクトおよび消費電力を低減する部品マウンタ及び機械学習器 |
WO2019155593A1 (ja) * | 2018-02-09 | 2019-08-15 | 株式会社Fuji | 部品画像認識用学習済みモデル作成システム及び部品画像認識用学習済みモデル作成方法 |
JP2020066178A (ja) * | 2018-10-25 | 2020-04-30 | ファナック株式会社 | 状態判定装置及び状態判定方法 |
WO2021100630A1 (ja) * | 2019-11-18 | 2021-05-27 | パナソニックIpマネジメント株式会社 | 配置支援方法、学習済みモデルの生成方法、プログラム、配置支援システム及び作業システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6732038B2 (ja) | 部品実装ラインの生産管理システム及び生産管理方法 | |
US20230324874A1 (en) | System and method for improving assembly line processes | |
WO2006064680A1 (ja) | 動作時間短縮方法、動作時間短縮装置、プログラムおよび部品実装機 | |
JP2000505959A (ja) | ピックアンドプレイス機械のフローラインのレイアウト及びチャージマップの最適化方法及び装置 | |
JP6845938B2 (ja) | 部品供給システム | |
WO2024079883A1 (ja) | 生産支援装置 | |
CN112567901A (zh) | 移动作业管理装置、移动型作业装置、安装***及移动作业管理方法 | |
JP2022089887A (ja) | 材料補給支援装置および材料補給支援方法 | |
JP2017033979A (ja) | 実装タクトおよび消費電力を低減する部品マウンタ及び機械学習器 | |
JP2019061312A (ja) | 材料補給支援装置および材料補給支援方法 | |
JP5721585B2 (ja) | 部品実装ライン | |
JP6627079B2 (ja) | 管理装置および管理方法 | |
WO2024079882A1 (ja) | 生産支援装置 | |
CN113228840B (zh) | 管理装置、移动型作业装置、安装***及管理方法 | |
JP2010016266A (ja) | 実装条件決定方法 | |
EP1676474A1 (en) | Apparatus for determining support member layout patterns | |
JP7220238B2 (ja) | 管理装置、移動型作業装置、実装装置、実装システム及び管理方法 | |
JP2008263138A (ja) | 実装条件決定方法 | |
WO2021059535A1 (ja) | シミュレーション装置およびシミュレーション方法 | |
CN114303449A (zh) | 模拟装置以及模拟方法 | |
JP6424236B2 (ja) | 対基板作業管理装置 | |
JPWO2019167162A1 (ja) | 部品補給管理システム及び部品実装システム | |
JP2015207686A (ja) | 部品配置決定方法および部品配置決定装置 | |
JP2019061311A (ja) | 材料補給支援装置および材料補給支援方法 | |
JP5885510B2 (ja) | 部品実装方法 |
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: 22962101 Country of ref document: EP Kind code of ref document: A1 |