WO2021084587A1 - 機械学習データ生成装置、機械学習装置、作業システム、コンピュータプログラム、機械学習データ生成方法及び作業機械の製造方法 - Google Patents
機械学習データ生成装置、機械学習装置、作業システム、コンピュータプログラム、機械学習データ生成方法及び作業機械の製造方法 Download PDFInfo
- Publication number
- WO2021084587A1 WO2021084587A1 PCT/JP2019/042216 JP2019042216W WO2021084587A1 WO 2021084587 A1 WO2021084587 A1 WO 2021084587A1 JP 2019042216 W JP2019042216 W JP 2019042216W WO 2021084587 A1 WO2021084587 A1 WO 2021084587A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- virtual
- machine
- machine learning
- operation command
- model
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25255—Neural network
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40053—Pick 3-D object from pile of objects
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40515—Integration of simulation and planning
Definitions
- the present invention relates to a machine learning data generator, a machine learning apparatus, a work system, a computer program, a machine learning data generation method, and a method for manufacturing a work machine.
- the machine learning device outputs a control command based on the depth image taken by the three-dimensional measuring machine, and if there is no problem in the execution result of the simulation based on the control command, the machine learning device is based on the control command.
- a machine learning device configured to allow the robot to perform work, stop inputting control commands to the robot if there is a problem, and give the result label as training data to the machine learner for further learning. ..
- a work machine which is an automatic machine that repeatedly and continuously performs physical work on an object, in order to make the object move according to the object by using machine learning, it is immediately in accordance with various realistic modes of the object. It is necessary to perform machine learning using the obtained machine learning data. However, if the success or failure of the physical work is not obvious from the object and the expected operation for the object, various objects are actually prepared and the actual machine is actually operated for machine learning. It sometimes took a lot of labor and time.
- the present invention has been made in view of such circumstances, and an object of the present invention is to obtain machine learning data that reflects the success or failure of physical work without requiring actual physical work.
- the machine learning data generator virtually generates a sensor input obtained as a result of sensing by the sensor of the work machine for an object to be physically worked by the operating machine of the work machine.
- a virtual sensor input generator that generates a virtual sensor input based on a virtual object model that is a virtual model of the object, and a virtual sensor input generator that virtually generates an operation command for the operating machine of the industrial equipment.
- a virtual operation command generator that generates a virtual operation command according to at least one of the virtual object model and the virtual sensor input, a virtual operating machine model that is a virtual model of the operating machine, and the virtual object.
- a simulator that executes a computer simulation of the physical work based on the virtual operation command using an object model, an achievement status evaluation unit that evaluates the achievement status of the purpose of the physical work based on the result of the computer simulation, and a unit. It has the virtual sensor input, the virtual operation command, and a machine learning data generation unit that generates machine learning data based on the achievement status.
- the machine learning data generation device may have a virtual model generation unit that generates the virtual object model for a plurality of variations of the object.
- the machine learning device takes the sensor input as an input and outputs the operation command based on any of the above machine learning data generation devices and the machine learning data. It has a learning unit that trains a neural network model, which is a neural network, according to the achievement status.
- the learning unit may have a learning availability determination unit that determines whether or not learning by the machine learning data is possible according to the achievement status. ..
- the learning unit sets the learning by the machine learning data as the learning in the positive direction or the learning in the negative direction according to the achievement status. It may have a learning direction determination unit for determining the above.
- the learning unit may have a learning intensity determining unit that determines the learning intensity based on the machine learning data according to the achievement status.
- the virtual operation command generation unit is a neural network model in which the virtual sensor input is input and the virtual operation command is output, which is a virtual operation. It may have a command generation neural network model.
- the virtual operation command generation unit is a neural network model in which the virtual sensor input is input and the virtual operation command is output, that is, virtual operation command generation. It may have a neural network model.
- the virtual motion command generation neural network model is the same as the motion command generation neural network model, or the learning unit has learned.
- the virtual motion command generation neural network model may be updated by the motion command generation neural network model.
- the working system is the neural network learned by any of the above machine learning devices, the operating machine, the sensors, and the learning unit of the machine learning device. It has the work machine having a model, an operation command generation unit which receives a sensor input from the sensor as an input and outputs an operation command to the operating machine, and has an operation command generation unit.
- the computer program receives a sensor input obtained by the computer as a result of sensing by the sensor of the work machine with respect to an object to be physically worked by the operating machine of the work machine.
- a virtual sensor input generator that generates a virtual sensor input that is virtually generated based on a virtual object model that is a virtual model of the object, and an operation command for the operating machine of the industrial equipment are virtually generated.
- a virtual operation command generator that generates a virtual operation command according to at least one of the virtual object model and the virtual sensor input, and a virtual operating machine model that is a virtual model of the operating machine.
- a simulator that executes a computer simulation of the physical work based on the virtual operation command using the virtual object model, and an achievement status that evaluates the achievement status of the purpose of the physical work based on the result of the computer simulation. It operates as a machine learning data generation device having an evaluation unit, the virtual sensor input, the virtual operation command, and a machine learning data generation unit that generates machine learning data based on the achievement status.
- the machine learning data generation method inputs a sensor input obtained as a result of sensing by the sensor of the work machine to an object to be physically worked by the operating machine of the work machine.
- the virtual sensor input which is virtually generated, is generated based on the virtual object model, which is the virtual model of the object, and the operation command for the operating machine of the industrial equipment is virtually generated.
- a virtual operation command is generated according to at least one of the virtual object model and the virtual sensor input, and the virtual operating machine model, which is a virtual model of the operating machine, and the virtual object model are used to generate the virtual operation command.
- a computer simulation of the physical work is executed based on the operation command, the achievement status of the purpose of the physical work is evaluated based on the result of the computer simulation, and the virtual sensor input, the virtual operation command, and the achievement status are evaluated. Generate machine learning data based on.
- the method of manufacturing a work machine includes an operating machine that performs physical work on an object, a sensor that senses the object and obtains sensor input, and the above.
- a virtual sensor input which is a virtual generation of the sensor input in a method of manufacturing a working machine having an operation command generation unit that inputs a sensor input to a neural network model and obtains an operation command for the operating machine
- a virtual operation command which is generated based on a virtual object model that is a virtual model of the object and is a virtual generation of the operation command, is sent to at least one of the virtual object model and the virtual sensor input.
- a computer simulation of the physical work is executed based on the virtual operation command, and the computer simulation of the computer simulation is performed.
- the achievement status of the purpose of the physical work is evaluated based on the result, machine learning data is generated based on the virtual sensor input, the virtual operation command, and the achievement status, and the neural is based on the machine learning data. This includes training the network model according to the achievement status.
- GAN It is a figure explaining GAN. It is a figure which shows an example of the structure of the machine learning data generated by the machine learning data generation apparatus. It is a block diagram which shows the structure of the learning part. It is a figure which shows the example of various shapes of a filter. It is a flow chart of the machine learning data generation method and the machine learning method by the machine learning data generation apparatus and the machine learning apparatus which concerns on 1st Embodiment of this invention. It is a functional block diagram which shows the whole structure of the machine learning apparatus including the machine learning data generation apparatus which concerns on 2nd Embodiment of this invention. It is a flow chart which shows the manufacturing process of a work machine.
- FIG. 1 is a functional block diagram showing the overall configuration of the machine learning device 2 including the machine learning data generation device 1 according to the first embodiment of the present invention.
- the "machine learning data generator” refers to a device that generates machine learning data, which is teacher data used for learning in a machine learning model in which supervised learning is performed, and the “machine learning device” is used. Refers to a device that executes training of a machine learning model using machine learning data.
- the machine learning data generation device 1 and the machine learning device 2 may be physically prepared as independent devices, but the present invention is not limited to this, and the machine learning data generation device 1 and the machine learning device 2 may be incorporated as a part of another machine or device. , Or, if necessary, it may be appropriately configured using the physical configuration of another machine or device. More specifically, the machine learning data generation device 1 and the machine learning device 2 may be implemented by software using a general computer, and the computer may be used as the machine learning data generation device 1 and the machine learning device 2. The computer programs to be operated may be integrated, may be executed independently, or may be incorporated into other software as a module. Further, the machine learning data generation device 1 and the machine learning device 2 may be constructed on a so-called server computer, and only the functions thereof may be provided to a remote location via a public telecommunication line such as the Internet.
- FIG. 2 is a diagram showing an example of the hardware configuration of the machine learning data generation device 1 and the machine learning device 2. Shown in the figure is a general computer 3, a CPU (Central Processing Unit) 301 as a processor, a RAM (Random Access Memory) 302 as a memory, an external storage device 303, and a GC (Graphics Controller). The 304, the input device 305, and the I / O (Inpur / Output) 306 are connected by a data bus 307 so that electric signals can be exchanged with each other.
- the hardware configuration of the computer 3 shown here is an example, and other configurations may be used.
- the external storage device 303 is a device that can statically record information such as an HDD (Hard Disk Drive) and an SSD (Solid State Drive). Further, the signal from the GC 304 is output to a monitor 308 such as a CRT (Cathode Ray Tube) or a so-called flat panel display, which allows the user to visually recognize the image, and is displayed as an image.
- the input device 305 is one or more devices such as a keyboard, mouse, and touch panel for the user to input information
- the I / O 306 is one or more interfaces for the computer 3 to exchange information with an external device. Is.
- the I / O 306 may include various ports for wired connection and a controller for wireless connection.
- the computer program for making the computer 3 function as the machine learning data generation device 1 and the machine learning device 2 is stored in the external storage device 303, read into the RAM 302 as needed, and executed by the CPU 301. That is, the RAM 302 stores the code for realizing the various functions shown as the functional block in FIG. 1 by being executed by the CPU 301. Even if such a computer program is recorded and provided on an appropriate computer-readable information recording medium such as an appropriate optical disk, magneto-optical disk, or flash memory, the computer program is provided via an external information communication line such as the Internet via the I / O 306. May be provided.
- the machine learning data generation device 1 has, as its functional configuration, a virtual model generation unit 101, a virtual sensor input generation unit 102, a virtual operation command generation unit 103, a simulator 104, an achievement status evaluation unit 105, and It has a machine learning data generation unit 106. Further, the machine learning device 2 has a machine learning data generation device 1 and a learning unit 201.
- the machine learning data generation device 1 is prepared in line with a specific work machine that performs physical work, and each function of the machine learning data generation device 1 is closely related to the work machine. Further, the machine learning device 2 learns the machine learning model used by the work machine.
- the "physical work” referred to in the present specification refers to a work that exerts some physical action on an object. For example, picking up parts and parts, mounting parts (for example, fitting bearings into housings, fastening screws, etc.), packing (boxing of foods such as confectionery, etc.), various processing (metal processing such as deburring and polishing). , Molding and cutting of soft materials such as food, resin molding, laser processing, etc.), painting and cleaning, etc. are included in the physical work.
- working machine refers to an automatic machine that repeatedly and continuously performs equivalent or similar physical work.
- the machine learning data generation device 1 and the machine learning device 2 according to the present embodiment are constructed as specifically conforming to a work machine that performs a specific physical work.
- the physical work and the purpose of the work machine are not particularly limited, but for the purpose of facilitating the subsequent understanding, the machine learning data generation device 1 according to the present embodiment.
- FIG. 3 shows an example of a work machine assumed in the machine learning device 2.
- FIG. 3 is an external view showing an example of a work machine 4 assumed in the machine learning data generation device 1 and the machine learning device 2 according to the present embodiment.
- the work machine 4 grips the cooked fried object 402 placed in the tray 401 by the operating machine 403, which is a robot, and holds it in another process (for example, to a container) (for example, not shown). It is a mechanical equipment to be transferred to (packing).
- the position and shape of the object 402 are captured as image data by the sensor 404, which is a video capturing device, and the operation of the operating machine 403 is controlled by the controller 405 based on the image data.
- object refers to a physical entity that is the subject of physical work.
- the gantry 401 on which the object 402 is placed is not limited to the tray, but may be any one such as a conveyor, a hopper, an automatic vise, or an autonomous vehicle, depending on the physical work and the object 402. .
- the sensor 404 is provided to perform some sensing on the object 402 to obtain sensor input, which is information necessary for the operating machine 403 to perform physical work.
- the sensor 404 may also be arbitrary depending on its physical work and the object, and does not necessarily have to use image data as sensor input as in this example.
- the operating machine 403 is a machine having an action end that exerts a physical action on the object when the physical work is performed on the object 402, and a machine corresponding to the physical work is prepared.
- a general-purpose vertical articulated robot is shown as an operating machine 403, but the operating machine 403 does not necessarily have to use a so-called industrial robot.
- FIG. 4 is a configuration diagram showing a functional configuration of the work machine 4 shown in FIG.
- the object 402 is not a component of the work machine 4, and is therefore shown by a broken line.
- the sensor 404 senses the object 402 on the gantry 401, and inputs the resulting sensor input to the controller 405.
- the operating machine 403 also performs physical work on the object 402.
- the controller 405 has various functions necessary for controlling the operating machine 403 to perform physical work based on the sensor input. Among these functions, the controller 405 has a function with respect to the operating machine 403. The part having the function of generating the operation command is shown as the operation command generation unit 406, and the part having the function of supplying appropriate power and the like to the operating machine 403 is shown as the operating machine control unit 408.
- the operation command means an operation command to the operating machine 403 that changes according to the state of the object 402 detected by the sensor 404. If the object 402 is irregular and flexible as in this example, the operation command is the target coordinates of gripping by the operating machine 403 (target position and target angle of the robot hand), gripping force (and / / Alternatively, it may be the amount of pinching of the robot hand), and may further include a movement path of the robot hand and other commands.
- the operating machine control unit 408 is a part having a function corresponding to a so-called robot controller, and performs power supply and feedback control necessary for operating the operating machine 403 in accordance with an operation command.
- the operation command generation unit 406 of this example has a neural network model 407, which is a machine learning model, and inputs the sensor input to the neural network model 407 after performing appropriate preprocessing as necessary. However, as an output, an operation command is obtained.
- the neural network model 407 may be learned by a so-called deep learning method.
- a sufficient number of appropriate machine learning data are actually prepared in order to sufficiently train the neural network model 407 of the motion command generator 406. It's not easy. Because, according to this example, actually preparing machine learning data means that there are enough objects 402 with various shapes and sizes for machine learning, that is, cooked fried chicken. This is because it is nothing but preparation. Further, even if the object 402 is prepared, the appropriate operation command for the object 402 cannot be obtained by the deterministic algorithm, or it is difficult to obtain it. Therefore, the operating machine 403 is operated for the object 402 one by one. It is necessary to evaluate the result and use it as machine learning data, but it is not realistic because it takes too much time and cost to obtain a sufficient number of such machine learning data.
- the machine learning data generation device 1 virtually executes the physical work on the object 402 by the work machine 4 described above, thereby realistically performing a sufficient number of machine learning data for the neural network model. It is generated in time and cost. Further, the machine learning device 2 according to the present embodiment trains the neural network model from the machine learning data generated in this way.
- the virtual model generation unit 101 is a part that generates a virtual object model for a plurality of variations of the object 402.
- the object 402 is a physical entity that is the target of the assumed physical work as described above, and its shape, size, and physical properties are not always constant, and there are some variations. ..
- the virtual model generation unit 101 generates a large number of variations of the object 102 caused by such variations as a virtual model without actually creating them.
- the virtual model of the generated object 402 will be referred to as a virtual object model. Since the virtual object model is used for the simulation in the simulator 104 described later, it needs to be a model having the information necessary for performing such a simulation.
- the virtual object model is a three-dimensional model whose shape and size are specified, and physical properties such as weight (specific weight), elastic modulus, and friction coefficient are set.
- FIG. 5 is a configuration diagram showing a detailed configuration of an example of the virtual model generation unit 101 according to the present embodiment.
- the virtual model generation unit 101 uses a technique known as a VAE (Variational Autoencoder). Therefore, the virtual model generation unit 101 includes a decoder 107 obtained by VAE.
- VAE Virtual Autoencoder
- the latent variable z generated by the latent variable generation unit 108 is input to the decoder 107.
- the latent variable z is a vector quantity, and the number of dimensions thereof may be several tens to several hundreds of dimensions, although it depends on the complexity of the object 402.
- the latent variable generation unit 108 of this example probabilistically generates the latent variable z according to the normal distribution N.
- VAE will be briefly described with reference to FIG. Since the VAE itself is known, the explanation is kept to a minimum.
- the VAE5 has the configuration shown in FIG. 6 and has two neural networks called an encoder 501 and a decoder 502.
- the encoder 501 receives the input of the data X and outputs the latent variable z.
- the latent variable z is designed to follow a normal distribution N in VAE.
- the virtual sensor input generation unit 102 generates a virtual sensor input based on the virtual object model.
- the sensor input is information obtained by sensing the object 402 by the sensor 404 as described with reference to FIG. 3, and the virtual sensor input is virtually generated as corresponding to the sensor input. It is the information that has been given. That is, the virtual sensor input can be said to be a virtual realization of the sensor input that would be obtained by the sensor 404 when the virtual object model is the object 402 that actually exists.
- FIG. 7 is a configuration diagram showing a configuration of an example of the virtual sensor input generation unit 102 according to the present embodiment.
- the virtual sensor input generation unit 102 uses a technique known as GAN (Generative Adversarial Network). Therefore, the virtual sensor input generation unit 102 includes a generator 111 obtained by GAN.
- GAN Geneative Adversarial Network
- the background image generation unit 113 separately generates a background image.
- the background image generation unit 113 generates a realistically possible background image in the work machine 4, and as an example of the method, stochastically selects one from a plurality of actual photographs of the gantry 401 of the work machine 4. To do.
- the obtained plane projection image and the composite image are combined by the synthesis unit 114 to obtain a composite image.
- the composite image is input to the generator 111.
- the generator 111 is a neural network that outputs a virtual sensor input from the input composite image as if it were a sensor input obtained by a real sensor 404.
- a virtual sensor input that is indistinguishable from a real sensor input can be obtained based on a stochastically generated virtual object model.
- GAN will be briefly described with reference to FIG. Since GAN itself is also known, the explanation is kept to a minimum.
- GAN6 has the configuration shown in FIG. 8 and has two neural networks called a generator 601 and a discriminator 602.
- the generator 601 receives the input of the composite image and outputs the virtual sensor input.
- both the virtual sensor input generated by the generator 601 and the real sensor input obtained by the real sensor 404 are input to the discriminator 602.
- the discriminator 602 is not informed whether the input data is the virtual sensor input or the actual sensor input.
- the output of the discriminator 602 determines whether the input data is a virtual sensor input or an actual sensor input. Then, in GAN6, the discriminator 602 correctly discriminates between some virtual sensor inputs and the actual sensor inputs prepared in advance, and the generator 601 cannot discriminate between the two in the discriminator 602. Repeat reinforcement learning as in.
- the discriminator 602 cannot distinguish between the two (for example, when the same number of virtual sensor inputs and real sensor inputs are prepared, the correct answer rate becomes 50%), and in such a state. It is considered that the generator 601 outputs a virtual sensor input as if it were a real sensor input, which is indistinguishable from the actual sensor input, based on the composite image. Therefore, in the virtual sensor input generation unit 102 shown in FIG. 7, the virtual sensor input is generated by using the generator 111 trained in this way.
- the configuration of the virtual model generation unit 101 and the virtual sensor input generation unit 102 described above is an example, and may be an appropriate configuration according to the work machine 4 assumed by the machine learning data generation device 1 and the machine learning device 2.
- the virtual model generation unit 101 may not use VAE, but may simply generate a virtual object model by a predetermined algorithm based on a parameter determined by a random number.
- the virtual sensor input generation unit 102 may generate a virtual sensor input by using a known computer graphics method such as ray tracing or photorealistic rendering, instead of using GAN.
- the configurations of the virtual model generation unit 101 and the virtual sensor input generation unit 102 having the configurations suitable for them should be adopted.
- the configuration of the virtual model generation unit 101 and the virtual sensor input generation unit 102 described in the present embodiment is particularly effective when the object 402 has an irregular three-dimensional profile and the sensor 404 is an image capturing device.
- the virtual operation command generation unit 103 generates a virtual operation command according to at least one of the virtual object model and the virtual sensor input.
- the operation command is an operation command to the operating machine 403 that changes according to the state of the object 402 detected by the sensor 404 in the work machine 4, and the virtual operation command is applied.
- the operation command is virtually generated.
- the virtual operation command generated by the virtual operation command generation unit 103 may be generated by a deterministic algorithm, unlike the operation command generation unit 406 of the work machine 4. What is required of the virtual operation command is that if the virtual object model is a real object 402, it is highly probable that physical work can be performed on such an object 402. It should be noted that it is not always necessary that the physical work is successfully executed by the virtual operation command, actually or as will be described later, in the simulation.
- the virtual operation command generation unit 103 uses both the virtual object model and the virtual sensor input to calculate and obtain the position of the center of gravity and the lengths in the uniaxial direction and the uniaxial direction from the virtual object model 101. From the virtual sensor input, the position of the center of gravity and the uniaxial direction are converted into the coordinates of the operating machine 403 to be the target position, and the gripping force of the robot hand is calculated from the length in the uniaxial direction. In this way, using the virtual object model, it is relatively easy and unique to generate a virtual operation command with a high probability that the physical work can be executed successfully.
- the method of generating the virtual operation command is not limited to the method described above, and may be another method.
- the other method may use a deterministic algorithm as in the example, or may use a non-deterministic algorithm as described later.
- the virtual operation command generation unit 103 performs the virtual object model, such as presenting the image to the operator and instructing the operator to indicate a target point for generating the virtual operation command.
- an operator-mediated method can be selected when generating a virtual operation command in response to at least one of the virtual sensor inputs. In such a method, the experience and judgment of a human operator are reflected in the virtual operation command by a simple method. In any case, the method of generating the virtual operation command may be selected as appropriate according to the properties of the object 402, the sensor 404, and the like.
- Simulator 104 executes a physics simulation of physical work. That is, the simulator 104 is prepared in advance with a virtual operating machine model that is a virtual model of the operating machine 403 of the actual work machine 4, and the virtual operating machine model on the virtual space of the simulator 104 and the virtual object model. Is placed, and the virtual operating machine model is operated according to the virtual operation command to simulate the physical work performed by the work machine 4 in the virtual space.
- the arrangement of the virtual operating machine model and the virtual target model in the virtual space naturally reproduces the situation when the virtual sensor input is generated by the virtual sensor input generation unit 102.
- the physics engine used for the physics simulation may be one that corresponds to the expected physical work. As in this example, when it is assumed that the object 402 is gripped, a physics engine capable of performing collision determination and dynamic simulation may be selected or constructed, and if the physical work is different, it is natural. , Fluid simulation, fracture simulation, and any other physics engine that simulates physical phenomena will be selected or constructed as appropriate.
- the achievement status of the simulation result is evaluated by the achievement status evaluation unit 105.
- the "achievement status" is an index for evaluating the degree to which the purpose of the physical work has been achieved. This index may be binary, continuous evaluation, or gradual evaluation. In the case of this example, a binary evaluation may be performed as to whether the gripping is successful or unsuccessful. Other than that, for example, if the object 2 is an amorphous meat mass and the physical work is to cut the meat mass into n equal parts, the variation in the weight of each meat piece after cutting is regarded as the achievement status. It may be well, or it may be a stepwise evaluation according to the degree of variation and achievement of the purpose.
- the achievement status is evaluated as three stages of impossible, acceptable, and good, cutting fails, and cutting is successful, but the variation of each piece of meat is out of the permissible range.
- the qualitatively different multi-step evaluation may be made, such as successful cutting and variation of each piece of meat within an allowable range.
- the virtual sensor input generated by the virtual sensor input generation unit 102, the virtual operation command generated by the virtual operation command generation unit 103, and the achievement status evaluation unit 105 were evaluated.
- the achievement status is linked to each other and used as machine learning data.
- the machine learning data generation device 1 can generate one or a plurality of machine learning data for each virtual object model for a plurality of variations of the object 402 generated by the virtual model generation unit 101, and a large number of each other. Different machine learning data can be easily obtained within a practical time and cost range. Then, even in the case of the object 402 and the operation assumed for the object 402, that is, the physical work whose success or failure is not obvious from the operation command, the physical work is performed by the physical simulation by the simulator 104. The success or failure of is estimated with high accuracy, and the evaluation result will be reflected in the machine learning data.
- the machine learning device 2 includes the machine learning data generation device 1 and the learning unit 201 described above, and uses the machine learning data generated by the machine learning data generation device 1 to generate an operation command for the work machine 4.
- the neural network model 407 to be used in 406 is trained.
- the learning unit 201 trains a neural network model, which is a neural network that receives a sensor input as an input and an operation command as an output, according to the achievement status. Therefore, in the machine learning device 2, machine learning that reflects the success or failure of the physical work is performed within a range of practical time and cost without necessarily requiring the actual physical work.
- FIG. 9 is a diagram showing an example of the configuration of machine learning data generated by the machine learning data generation device 1.
- Each record shown in the figure corresponds to one machine learning data, and each record includes a virtual sensor input, a virtual operation command, and an achievement status.
- the virtual sensor input and the virtual operation command belonging to the same record are distinguished by adding a record number at the end.
- FIG. 10 is a configuration diagram showing the configuration of the learning unit 201.
- the neural network model 202 is stored in the learning unit 201.
- the neural network model 202 is a model that is scheduled to be used as a neural network model 407 in the operation command generation unit 406 of the work machine 4 in the future after the learning is completed.
- FIG. 10 shows a state in which a record n is input as machine learning data.
- the virtual sensor input n is a question to the neural network model 202
- the virtual command n is a neural network as an answer to the question.
- the network model 202 is trained.
- the achievement status of the record n is converted into a coefficient k by the filter 203 and used for learning the neural network model 202.
- the coefficient k indicates whether or not the neural network model 202 can be learned by the machine learning data of the record n, whether the learning direction is positive or negative, or the strength thereof. Therefore, it can be said that the learning unit 201 trains the neural network model 202 according to the achievement status.
- the specific method of using k during learning is not necessarily limited.
- the default learning rate is set to ⁇ 0 . May be.
- k positive
- learning in the positive direction is performed
- k negative
- learning in the negative direction is performed
- k 0, learning is not performed.
- FIG. 11 is a diagram showing examples of various shapes of the filter 203.
- the filter (A) shown in the figure performs learning in the positive direction when the achievement status indicates "good", and learns in the negative direction when the achievement status indicates "negative". It is something to do.
- the filter 203 sets the learning by the machine learning data as the learning in the positive direction or negative depending on the achievement status. It can be said that it functions as a learning direction determination unit that determines whether to learn in the direction of.
- the filter of (C) is that the coefficient k changes continuously according to the achievement status.
- the filter 203 determines the intensity of learning by the machine learning data according to the achievement status. It can be said that it functions as a learning intensity determination unit to be determined.
- the coefficient k changes stepwise according to the achievement status.
- the filter 203 functions at the same time as the learning intensity determining unit, the learning direction determining unit, and the learning enablement / disapproval determining unit, similarly to the filter of (C).
- the value of k is set to 0 or an absolute value in the vicinity.
- the simulation result in the simulator 104 is neuralized. It can be appropriately reflected in the learning of the network model 202, and it is expected that the learning efficiency and convergence will be accelerated. Further, if the filter 203 is used to determine the learning availability and the direction, it is not necessary to prepare a code for each learning availability and direction, and the productivity of the machine learning device 2 is good.
- the filter 203 is not necessarily indispensable in the learning unit 201, and the achievement status may be used as it is for learning the neural network model 202. In that case, it can be considered that "1" is provided as the filter 203.
- FIG. 12 is a flow chart of a machine learning data generation method and a machine learning method by the machine learning data generation device 1 and the machine learning device 2 according to the present embodiment.
- the part (1) corresponds to the machine learning data generation method
- the part (2) corresponds to the machine learning method.
- the virtual model generation unit 101 generates a virtual object model for a plurality of variations of the object 402.
- the virtual sensor input generation unit 102 generates a virtual sensor input based on the virtual object model.
- the virtual operation command generation unit 103 generates a virtual operation command based on at least one of the virtual object model and the virtual sensor input.
- the simulator 104 executes a computer simulation of physical work based on a virtual operation command using a virtual operating machine model and a virtual object model. Then, in ST15, the achievement status evaluation unit 105 evaluates the achievement status of the purpose of the physical work based on the result of the computer simulation. Proceeding to ST16, the machine learning data generation unit 106 generates machine learning data based on the virtual sensor input, the virtual operation command, and the achievement status.
- the generated machine learning data is accumulated as a record.
- ST17 it is determined whether or not the number of records, that is, the number of accumulated machine learning data is sufficient, and if it is not sufficient (ST17: N), the process returns to ST11 and the machine learning data is repeatedly generated. .. If the number of records is sufficient (ST17: Y), the process proceeds to ST18.
- a target number may be set in advance.
- the result of machine learning in ST18 may be evaluated, and if the learning is not sufficient, ST11 to ST17 may be executed again to additionally generate machine learning data.
- the evaluation of the machine learning result may be performed by evaluating the convergence of the internal state of the neural network model 202 in the learning unit 201, or the test data is input to the neural network model 202 and the obtained output is correct. It may be done by rate.
- the learning unit 201 trains the neural network model 202 according to the achievement status based on the generated machine learning data. In this way, in this embodiment, a trained neural network model 202 suitable for the work machine 4 is obtained.
- FIG. 13 is a functional block diagram showing the overall configuration of the machine learning device 2 including the machine learning data generation device 1 according to the second embodiment of the present invention.
- the same or corresponding configurations as those of the previous embodiment are designated by the same reference numerals, and duplicate description will be omitted.
- the virtual operation command generation unit 103 has a neural network model 115.
- the neural network model 115 has a learning unit 201, and similarly to the neural network model 202 to be learned, the sensor input (or virtual sensor input) is input and an operation command (or virtual operation command) is given. It is the output.
- the relationship between the neural network model 115 and the neural network model 202 will be described later.
- the neural network model 115 has been learned to some extent in advance. That is, when some sensor input or virtual sensor input is input, a certain operation command or virtual operation designation can be output.
- the word "as it is” means that the operating machine 403 of the work machine 4 is operated by the operation command output from the neural network model 115, or the simulation by the simulator 104 is performed by the virtual operation command output from the neural network model 115.
- the word “as it is” means that the operating machine 403 of the work machine 4 is operated by the operation command output from the neural network model 115, or the simulation by the simulator 104 is performed by the virtual operation command output from the neural network model 115.
- it is used to mean that the purpose of the physical work is achieved, or even if it is not achieved, the result is considered to be close to the achievement.
- this example shows an example of a method of generating a virtual operation command by the virtual operation command generation unit 103 using the non-deterministic algorithm.
- Such a method is effective when it is difficult or difficult to obtain a reasonable virtual operation command to the extent that it can be used for learning by a deterministic algorithm.
- the neural network model 115 used in the virtual motion command generation unit 103 and the neural network model 202 to be learned in the learning unit 201 are the same at the beginning of machine learning data generation and machine learning in the present embodiment. You may use the one. For example, a neural network model trained using an actual work machine 4 and using some actual objects 402, although the number is not necessarily large (the neural network model 407 shown in FIG. 4 may be used). May be used as the initial model. Alternatively, a completely unlearned neural network model may be used as the initial model, and a neural network model in which learning is advanced to some extent by artificially created machine learning data may be used as these initial models.
- Machine learning data is generated using a machine learning data generation device 1 having a virtual motion command generation unit 103 including such a neural network model 115, and further machine learning is advanced using the machine learning data by the machine learning device 2. Then, in the learning unit 201, the learning of the neural network model 202 progresses, and the accuracy of the motion command or the virtual motion command obtained by the neural network model 202, that is, the physical work when the motion command or the virtual motion command is used. The prospect of achieving the purpose is expected to improve.
- the copying unit 204 overwrites and updates the neural network model 115 with the neural network model 202.
- the accuracy of the virtual operation command generated by the virtual operation command generation unit 103 gradually increases, so that it is expected that the learning of the neural network model 202 will proceed more efficiently and the convergence will be faster.
- the neural network model 115 may be updated by the copying unit 204 at an appropriate timing. For example, it may be the timing for each learning with a certain number of records of machine learning data, or it may be the timing based on some index, for example, the convergence rate, by monitoring the progress of learning of the neural network model 202. Good.
- the neural network model 115 may be updated for each record, that is, every time the learning unit 201 performs learning with one machine learning data.
- the virtual operation command generation unit 103 and the learning unit 201 directly refer to the common neural network models 115 and 202 in the memory without providing the copying unit 204. May be.
- the virtual sensor input generation unit 102 receives the virtual sensor input from the plane projection image of the virtual object model.
- the virtual sensor input is not limited to the generation method as long as it is based on the virtual object model, and an appropriate one may be selected or designed according to the object 402 and the physical work. ..
- the physical work is a polishing work for deburring a metal part and the operation command to be obtained is a time profile of the pressing force of the grindstone according to the shape of the burr
- the virtual sensor input generator may use the simulator 104 to perform a simulation on the virtual object model by a temporary operation command, and use the time profile of the obtained machining reaction force as the virtual sensor input.
- temporary polishing is performed by a predetermined pressing force, and the time profile of the pressing force of finish polishing is set based on the reaction force at that time. Corresponds to something.
- FIG. 14 is a flow chart showing a manufacturing process of the work machine 4.
- the gantry 401, the operating machine 403, the sensor 404, the controller 405, and other equipment necessary for configuring the work machine 4 are prepared.
- the work necessary for physically configuring the work machine 4 such as connection, joining, and wiring of each device is performed.
- machine learning data is generated according to the flow shown in (2) of FIG. 12, and machine learning is performed based on the machine learning data to obtain a trained neural network model 202.
- the obtained neural network model 202 is copied to the operation command unit 406 of the work machine 4 to be used as the neural network model 407.
- the learning by the actual physical work is not performed, or the learning by the actual physical work is reduced, and the physical object and the expected behavior of the object are taken into consideration.
- a work machine 4 that performs physical work whose success or failure is not obvious is manufactured.
- the machine learning device 2 shown in FIG. 1 and the work system including the work machine 4 shown in FIGS. 3 and 4, in such a work system, the machine learning device 2 is used for actual physical work.
- Machine learning about physical work is performed without learning or by reducing learning by actual physical work, and in the work machine 4, physical work that reflects the results of such machine learning is performed. Therefore, by using such a work system, within a range of realistic cost and time, the physical work whose success or failure is not obvious from the object and the expected operation of the object can be performed. It is executed automatically and with high accuracy.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Probability & Statistics with Applications (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
- Feedback Control In General (AREA)
Abstract
作業機械(4)が得るセンサ入力を仮想的に生成したものである仮想センサ入力を、仮想対象物モデルに基づいて生成する仮想センサ入力生成部(102)と、作業機械(4)のオペレーティングマシン(403)に対する動作指令を仮想的に生成したものである仮想動作指令を、前記仮想対象物モデル及び前記仮想センサ入力の少なくともいずれかに応じて生成する仮想動作指令生成部(103)と、仮想オペレーティングマシンモデルと、前記仮想対象物モデルを用いて、前記仮想動作指令に基づいて物理的作業のコンピュータシミュレーションを実行するシミュレータ(104)と、シミュレーション結果より前記物理的作業の目的の達成状況を評価する達成状況評価部(105)と、前記仮想センサ入力と、前記仮想動作指令と、前記達成状況に基づいて機械学習データを生成する機械学習データ生成部(1)と、を有する機械学習データ生成装置。
Description
本発明は、機械学習データ生成装置、機械学習装置、作業システム、コンピュータプログラム、機械学習データ生成方法及び作業機械の製造方法に関する。
特許文献1には、三次元計測機により撮影した深度画像に基づいて、機械学習装置が制御指令を出力し、当該制御指令に基づくシミュレーションの実行結果に問題がなければ、当該制御指令に基づいてロボットが作業を行い、問題があれば、ロボットに対する制御指令の入力を停止し、結果ラベルを訓練データとして機械学習器に与えてさらなる学習を行うように構成された機械学習装置が記載されている。
対象物に反復・継続的に物理的作業を行う自動機械である作業機械において、機械学習を用いて対象物に応じた動作をさせるためには、対象物の種々の現実に起こり得る態様に即した機械学習データにより機械学習を行う必要がある。しかしながら、対象物と、対象物に対して想定される動作からは、その物理的作業の成否が自明でない場合には、種々の対象物を現実に用意し、実機を実際に動作させて機械学習をさせなければならず、多大な労力と時間を要する場合があった。
本発明は、かかる事情に鑑みてなされたものであり、その目的は、現実の物理的作業を要さずに、物理的作業の成否を反映した機械学習データを得ることである。
本発明の一側面に係る機械学習データ生成装置は、作業機械のオペレーティングマシンによる物理的作業の対象となる対象物に対し、前記作業機械のセンサによるセンシングの結果として得るセンサ入力を仮想的に生成したものである、仮想センサ入力を、前記対象物の仮想モデルである仮想対象物モデルに基づいて生成する仮想センサ入力生成部と、前記産業機器のオペレーティングマシンに対する動作指令を仮想的に生成したものである、仮想動作指令を前記仮想対象物モデル及び前記仮想センサ入力の少なくともいずれかに応じて生成する仮想動作指令生成部と、前記オペレーティングマシンの仮想モデルである仮想オペレーティングマシンモデルと、前記仮想対象物モデルを用いて、前記仮想動作指令に基づいて前記物理的作業のコンピュータシミュレーションを実行するシミュレータと、前記コンピュータシミュレーションの結果による前記物理的作業の目的の達成状況を評価する達成状況評価部と、前記仮想センサ入力と、前記仮想動作指令と、前記達成状況に基づいて機械学習データを生成する機械学習データ生成部と、を有する。
また、本発明の別の一側面に係る機械学習データ生成装置は、前記対象物の複数のバリエーションについての前記仮想対象物モデルを生成する、仮想モデル生成部を有するものであってよい。
また、本発明の別の一側面に係る機械学習装置は、上記のいずれかの機械学習データ生成装置と、前記機械学習データに基づいて、前記センサ入力を入力とし、前記動作指令を出力とするニューラルネットワークである、ニューラルネットワークモデルを、前記達成状況に応じて学習させる学習部と、 を有する。
また、本発明の別の一側面に係る機械学習装置では、前記学習部は、前記達成状況に応じて、前記機械学習データによる学習の可否を決定する学習可否決定部を有するものであってよい。
また、本発明の別の一側面に係る機械学習装置では、前記学習部は、前記達成状況に応じて、前記機械学習データによる学習を正の方向の学習とするか負の方向の学習とするかを定める学習方向決定部を有するものであってよい。
また、本発明の別の一側面に係る機械学習装置では、前記学習部は、前記達成状況に応じて、前記機械学習データによる学習の強度を定める学習強度決定部を有するものであってよい。
また、本発明の別の一側面に係る機械学習データ生成装置では、前記仮想動作指令生成部は、前記仮想センサ入力を入力とし、前記仮想動作指令を出力とするニューラルネットワークモデルである、仮想動作指令生成ニューラルネットワークモデルを有するものであってよい。
また、本発明の別の一側面に係る機械学習装置では、前記仮想動作指令生成部は、前記仮想センサ入力を入力とし、前記仮想動作指令を出力とするニューラルネットワークモデルである、仮想動作指令生成ニューラルネットワークモデルを有するものであってよい。
また、本発明の別の一側面に係る機械学習装置では、前記仮想動作指令生成ニューラルネットワークモデルは、前記動作指令生成ニューラルネットワークモデルと同一であるか、または、前記学習部において学習がなされた前記動作指令生成ニューラルネットワークモデルによって、前記仮想動作指令生成ニューラルネットワークモデルが更新されるものであってよい。
また、本発明の別の一側面に係る作業システムは、上記のいずれかの機械学習装置と、前記オペレーティングマシンと、前記センサと、前記機械学習装置の前記学習部により学習のなされた前記ニューラルネットワークモデルを有し、前記センサからのセンサ入力を入力とし、前記オペレーティングマシンに対する動作指令を出力とする動作指令生成部と、を有する前記作業機械と、を有する。
また、本発明の別の一側面に係るコンピュータプログラムは、コンピュータを、作業機械のオペレーティングマシンによる物理的作業の対象となる対象物に対し、前記作業機械のセンサによるセンシングの結果として得るセンサ入力を仮想的に生成したものである、仮想センサ入力を、前記対象物の仮想モデルである仮想対象物モデルに基づいて生成する仮想センサ入力生成部と、前記産業機器のオペレーティングマシンに対する動作指令を仮想的に生成したものである、仮想動作指令を前記仮想対象物モデル及び前記仮想センサ入力の少なくともいずれかに応じて生成する仮想動作指令生成部と、前記オペレーティングマシンの仮想モデルである仮想オペレーティングマシンモデルと、前記仮想対象物モデルを用いて、前記仮想動作指令に基づいて前記物理的作業のコンピュータシミュレーションを実行するシミュレータと、前記コンピュータシミュレーションの結果による前記物理的作業の目的の達成状況を評価する達成状況評価部と、前記仮想センサ入力と、前記仮想動作指令と、前記達成状況に基づいて機械学習データを生成する機械学習データ生成部と、を有する機械学習データ生成装置として動作させる。
また、本発明の別の一側面に係る機械学習データ生成方法は、作業機械のオペレーティングマシンによる物理的作業の対象となる対象物に対し、前記作業機械のセンサによるセンシングの結果として得るセンサ入力を仮想的に生成したものである、仮想センサ入力を、前記対象物の仮想モデルである仮想対象物モデルに基づいて生成し、前記産業機器のオペレーティングマシンに対する動作指令を仮想的に生成したものである、仮想動作指令を前記仮想対象物モデル及び前記仮想センサ入力の少なくともいずれかに応じて生成し、前記オペレーティングマシンの仮想モデルである仮想オペレーティングマシンモデルと、前記仮想対象物モデルを用いて、前記仮想動作指令に基づいて前記物理的作業のコンピュータシミュレーションを実行し、前記コンピュータシミュレーションの結果による前記物理的作業の目的の達成状況を評価し、前記仮想センサ入力と、前記仮想動作指令と、前記達成状況に基づいて機械学習データを生成する。
また、本発明の別の一側面に係る作業機械の製造方法は、対象物に対して物理的作業を行うオペレーティングマシンと、前記対象物に対してセンシングを行い、センサ入力を得るセンサと、前記センサ入力をニューラルネットワークモデルに入力し、前記オペレーティングマシンに対する動作指令を得る動作指令生成部と、有する作業機械の製造方法において、前記センサ入力を仮想的に生成したものである、仮想センサ入力を、前記対象物の仮想モデルである仮想対象物モデルに基づいて生成し、前記動作指令を仮想的に生成したものである、仮想動作指令を前記仮想対象物モデル及び前記仮想センサ入力の少なくともいずれかに応じて生成し、前記オペレーティングマシンの仮想モデルである仮想オペレーティングマシンモデルと、前記仮想対象物モデルを用いて、前記仮想動作指令に基づいて前記物理的作業のコンピュータシミュレーションを実行し、前記コンピュータシミュレーションの結果による前記物理的作業の目的の達成状況を評価し、前記仮想センサ入力と、前記仮想動作指令と、前記達成状況に基づいて機械学習データを生成し、前記機械学習データに基づいて、前記ニューラルネットワークモデルを、前記達成状況に応じて学習させることを含む。
以下、本発明の第1の実施形態に係る機械学習データ生成装置、機械学習装置、コンピュータプログラム及び機械学習データ生成方法を、図1~12を参照して説明する。
図1は、本発明の第1の実施形態に係る機械学習データ生成装置1を含む機械学習装置2の全体の構成を示す機能ブロック図である。ここで、「機械学習データ生成装置」とは、教師あり学習がなされる機械学習モデルにおける学習に用いられる教師データである、機械学習データを生成する装置を指し、「機械学習装置」とは、機械学習データを用いて、機械学習モデルの学習を実行する装置を指す。
機械学習データ生成装置1及び機械学習装置2は、物理的には、それぞれ単独の装置として用意されてもよいが、これに限られず、他の機械や装置の一部として組み込まれていてもよく、または必要に応じて他の機械や装置の物理的構成を用いて適宜構成されるものであってもよい。より具体的には、機械学習データ生成装置1及び機械学習装置2は、一般的なコンピュータを用いて、ソフトウェアにより実装されてよく、また、コンピュータを機械学習データ生成装置1及び機械学習装置2として動作させるコンピュータプログラムは、一体のものであってもよいし、それぞれ単独で実行されるものであってもよく、さらには、モジュールとして他のソフトウェアに組み込まれるものであってもよい。また、機械学習データ生成装置1及び機械学習装置2を、いわゆるサーバコンピュータ上に構築し、インターネットなどの公衆電気通信回線を経由してその機能のみを遠隔地に提供するようにしてもよい。
図2は、機械学習データ生成装置1及び機械学習装置2のハードウェア構成の一例を示す図である。同図に示されているのは、一般的なコンピュータ3であり、プロセッサであるCPU(Central Processing Unit)301、メモリであるRAM(Random Access Memory)302、外部記憶装置303、GC(Graphics Controller)304、入力デバイス305及びI/O(Inpur/Output)306がデータバス307により相互に電気信号のやり取りができるよう接続されている。なお、ここで示したコンピュータ3のハードウェア構成は一例であり、これ以外の構成のものでぁってもよい。
外部記憶装置303はHDD(Hard Disk Drive)やSSD(Solid State Drive)等の静的に情報を記録できる装置である。またGC304からの信号はCRT(Cathode Ray Tube)やいわゆるフラットパネルディスプレイ等の、使用者が視覚的に画像を認識するモニタ308に出力され、画像として表示される。入力デバイス305はキーボードやマウス、タッチパネル等の、ユーザが情報を入力するための一又は複数の機器であり、I/O306はコンピュータ3が外部の機器と情報をやり取りするための一又は複数のインタフェースである。I/O306には、有線接続するための各種ポート及び、無線接続のためのコントローラが含まれていてよい。
コンピュータ3を機械学習データ生成装置1及び機械学習装置2として機能させるためのコンピュータプログラムは外部記憶装置303に記憶され、必要に応じてRAM302に読みだされてCPU301により実行される。すなわち、RAM302には、CPU301により実行されることにより、図1に機能ブロックとして示した各種機能を実現させるためのコードが記憶されることとなる。かかるコンピュータプログラムは、適宜の光ディスク、光磁気ディスク、フラッシュメモリ等の適宜のコンピュータ可読情報記録媒体に記録されて提供されても、I/O306を介して外部のインターネット等の情報通信回線を介して提供されてもよい。
図1に戻り、機械学習データ生成装置1は、その機能的構成として、仮想モデル生成部101、仮想センサ入力生成部102、仮想動作指令生成部103、シミュレータ104、達成状況評価部105、及び、機械学習データ生成部106を有している。さらに、機械学習装置2は、機械学習データ生成装置1及び学習部201を有している。
機械学習データ生成装置1は、物理的作業を行う特定の作業機械に即して用意されるものであり、その有する各機能は、当該作業機械と密接に関連している。また、機械学習装置2は、かかる作業機械が使用する機械学習モデルへの学習を行うものである。
ここで、本明細書に言う「物理的作業」は、対象物に対し、何らかの物理的な作用を及ぼす作業を指す。例えば、部品やパーツのピックアップ、部品の取りつけ(例えば、ベアリングのハウジングへの嵌め込みや、ねじの締結など)、梱包(菓子などの食品の箱詰めなど)、各種加工(バリ取りや研磨などの金属加工、食品などの柔軟物の成型や切断、樹脂成型やレーザー加工など)、塗装及び洗浄といった様々な作業が物理的作業には含まれる。また、「作業機械」は、同等又は類似の物理的作業を反復・継続的に行う自動機械を指す。
本実施形態に係る機械学習データ生成装置1及び機械学習装置2は、ある特定の物理的作業を行う作業機械に具体的に即したものとして構築される。物理的作業がどのようなものであり、作業機械の用途がなんであるかは特段限定されるものではないが、以降の理解を容易とする目的で、本実施形態に係る機械学習データ生成装置1及び機械学習装置2において想定される作業機械の例を図3に示す。
図3は、本実施形態に係る機械学習データ生成装置1及び機械学習装置2において想定される作業機械4の例を示す外観図である。本例では、作業機械4は、トレイである架台401に入れられた調理済みの唐揚げである対象物402を、ロボットであるオペレーティングマシン403により把持し、図示しない別の工程(例えば、容器への梱包)に移送する機械設備である。対象物402の位置や形状は、映像撮影装置であるセンサ404により画像データとして取り込まれ、かかる画像データに基づいて、コントローラ405によりオペレーティングマシン403の動作が制御される。
本明細書において、「対象物」は、物理的作業の対象となる物理的実体を指す。また、対象物402が載置される架台401は、トレイに限らず、コンベアやホッパ、自動万力や自律走行車など、その物理的作業や対象物402に応じた任意のものであってよい。センサ404は、対象物402に対し何らかのセンシングを行い、オペレーティングマシン403が物理的作業を実行するために必要な情報であるセンサ入力を得るために設けられる。センサ404もまた、その物理的作業や対象物に応じた任意のものであってよく、必ずしも本例のように画像データをセンサ入力とするものではなくともよい。オペレーティングマシン403は、対象物402に物理的作業を行う際に、対象物に物理的作用を及ぼす作用端を持つ機械であり、物理的作業に応じたものが用意される。図3に示した例では、汎用の縦型多関節ロボットがオペレーティングマシン403として示されているが、オペレーティングマシン403は、必ずしもいわゆる産業用ロボットを使用するものでなくともよい。
図4は、図3に示した作業機械4の機能的構成を示す構成図である。同図では、対象物402は作業機械4を構成する要素ではないので破線で示している。図4に示されるように、センサ404は、架台401上の対象物402に対してセンシングを行い、その結果得られるセンサ入力をコントローラ405に入力する。また、オペレーティングマシン403は、対象物402に対して物理的作業を行う。
コントローラ405は、センサ入力に基づいて、オペレーティングマシン403に物理的作業を行わせるよう制御するために必要な種々の機能を有しており、図4では、それらの機能のうち、オペレーティングマシン403に対する動作指令を生成する機能を有する部分を動作指令生成部406、オペレーティングマシン403に適切な動力その他を供給して制御する機能を有する部分をオペレーティングマシン制御部408として示した。
動作指令は、センサ404により検出された対象物402の状態に応じて変化するオペレーティングマシン403への動作の指令を意味している。本例のように、対象物402が不定形でなおかつ柔軟な唐揚げであれば、動作指令は、オペレーティングマシン403による把持の目標座標(ロボットハンドの目標位置及び目標角度)、把持力(及び/又はロボットハンドの挟み込み量)であってよく、さらに、ロボットハンドの移動経路やその他の指令を含むものであってもよい。オペレーティングマシン制御部408は、本例では、いわゆるロボットコントローラに該当する機能を有する部分であり、動作指令に従ってオペレーティングマシン403を動作させるために必要な動力の供給や帰還制御を行う。
本例のように、対象物402が、架台401上でのその位置及び姿勢が不定であるだけでなく、その形状も不定形であり、さらに柔軟性も有する場合には、決定的アルゴリズムによっては適切な動作指令を得ることがむつかしい。一般に、決定的アルゴリズムにより適切な解を得ることが困難な問題に対しては、機械学習を用い、適切に設計された機械学習モデルに対し、適切な機械学習データにより学習をさせることにより、高い確度で適切な解が得られる場合があることが知られている。そこで、本例の動作指令生成部406は、機械学習モデルである、ニューラルネットワークモデル407を有しており、センサ入力を必要に応じて適切な前処理を施した上でニューラルネットワークモデル407に入力し、出力として、動作指令を得るものとなっている。ニューラルネットワークモデル407は、いわゆる深層学習の手法により学習されたものであってよい。
このように、作業機械4では、適切に学習されたニューラルネットワークモデル407を有する動作指令生成部406により動作指令を生成することで、決定的アルゴリズムによっては適切な動作指令を得ることがむつかしい対象物402に対して、物理的作業をするための動作指令を高い確度で得るようにしている。
ところが、本例に示す唐揚げの例でも容易に理解できるように、動作指令生成部406のニューラルネットワークモデル407を十分に学習させるための、十分な数の適切な機械学習データを現実に用意することは容易ではない。なぜなら、本例に即していえば、機械学習データを現実に用意することとは、機械学習のために種々の形状や大きさを持つ対象物402、すなわち、調理済みの唐揚げを十分な数用意することに他ならないからである。また、仮に対象物402を用意したとしても、その対象物402に対する適切な動作指令は決定的アルゴリズムによっては得られないか、得るのがむつかしいため、対象物402に対して逐一オペレーティングマシン403を動作させて、その結果を評価して機械学習データとしなければならないが、そのような機械学習データを十分な数得るには、あまりに多大な時間とコストを要するため、現実的ではない。
本実施形態に係る機械学習データ生成装置1は、上述した作業機械4による対象物402に対する物理的作業を仮想的に実行することで、ニューラルネットワークモデルに対する十分な数の機械学習データを現実的な時間及びコストで生成するものである。また、本実施形態に係る機械学習装置2は、そのようにして生成された機械学習データによりニューラルネットワークモデルを学習させるものである。
再度図1に戻り、機械学習データ生成装置1及び機械学習装置2の各機能ブロックを詳細に説明する。
まず、仮想モデル生成部101は、対象物402の複数のバリエーションについての仮想対象物モデルを生成する部分である。ここで、対象物402は、先に説明したとおりの想定される物理的作業の対象となる物理的実体であり、その形状や大きさ、物理的性状は必ずしも一定ではなく、ある程度のばらつきがある。仮想モデル生成部101は、そのようなばらつきにより生じる多数の対象物102のバリエーションを、現実に作成することなく、仮想モデルとして生成する。以降、生成された対象物402の仮想モデルを、仮想対象物モデルと称する。仮想対象物モデルは、後ほど説明するシミュレータ104におけるシミュレーションに使用されるため、かかるシミュレーションを行うために必要な情報を持つモデルである必要がある。本例では、仮想対象物モデルは、その形状や大きさが特定される三次元モデルであり、さらに、重量(比重)、弾性率、摩擦係数といった物理的性状が設定されている。
図5は、本実施形態に係る仮想モデル生成部101の一例の詳細な構成を示す構成図である。本例では、仮想モデル生成部101は、VAE(Variational Autoencoder)として知られる技術を用いている。そのため、仮想モデル生成部101は、VAEにより得られるデコーダ107を備えている。
デコーダ107には、潜在変数生成部108により生成された潜在変数zが入力される。潜在変数zはベクトル量であり、その次元数は、対象物402の複雑さに依存するものの、数十~数百次元としてよい。本例の潜在変数生成部108は、正規分布Nに従って、潜在変数zを確率的に生成するものとなっている。
ここで、図6を参照して、VAEについて簡単に説明する。VAE自体は既知のものであるから、説明は最小限のものにとどめる。
VAE5は、図6に示した構成をしており、エンコーダ501及びデコーダ502と称される2つのニューラルネットワークを有している。エンコーダ501は、データXの入力を受け、潜在変数zを出力する。換言すれば、情報量の多いデータXを、その本質的な特徴に着目して、次元数の低い潜在変数zに圧縮しているといえる。そして、潜在変数zは、VAEでは、正規分布Nに従うように設計される。
図1に戻り、仮想センサ入力生成部102は、仮想対象物モデルに基づいて仮想センサ入力を生成する。ここで、センサ入力は、図3を参照して説明したとおり、対象物402をセンサ404によりセンシングして得られる情報であり、仮想センサ入力は、かかるセンサ入力に相当するものとして仮想的に生成された情報のことである。すなわち、仮想センサ入力とは、仮想対象物モデルが、現実に存在する対象物402であった場合に、センサ404により得られるであろうセンサ入力を、仮想的に実現したものということもできる。
図7は、本実施形態に係る仮想センサ入力生成部102の一例の構成を示す構成図である。本例では、仮想センサ入力生成部102は、GAN(Generative Adversarial Network)として知られる技術を用いている。そのため、仮想センサ入力生成部102は、GANにより得られるジェネレータ111を備えている。
また、背景画像生成部113により、背景画像が別途生成される。背景画像生成部113は、作業機械4において現実的に有り得る背景画像を生成するものであり、その方法の一例として、作業機械4の架台401の複数の実際の写真から一枚を確率的に選択することが挙げられる。得られた平面投影画像および合成画像は、合成部114により合成され、合成画像とされる。
合成画像は、ジェネレータ111に入力される。ジェネレータ111は、入力された合成画像から、あたかも本物のセンサ404により得られたセンサ入力であるかのごとき仮想センサ入力を出力するニューラルネットワークである。これにより、確率的に生成された仮想対象物モデルに基づいて、本物のセンサ入力と区別のつきがたい仮想センサ入力が得られることになる。
ここで、図8を参照して、GANについて簡単に説明する。GAN自体もまた既知のものであるから、説明は最小限のものにとどめる。
GAN6は、図8に示した構成をしており、ジェネレータ601及びディスクリミネータ602と称される2つのニューラルネットワークを有している。ジェネレータ601は、上述したように、合成画像の入力を受け、仮想センサ入力を出力する。一方、ディスクリミネータ602には、ジェネレータ601により生成された仮想センサ入力と、現実のセンサ404により得られた実センサ入力の両方が入力される。この時、ディスクリミネータ602には、入力されたデータが仮想センサ入力と実センサ入力のいずれであるかは知らされない。
ディスクリミネータ602の出力は、入力データが仮想センサ入力と実センサ入力のいずれであるかを判別するものである。そして、GAN6では、あらかじめ用意したいくつかの仮想センサ入力と実センサ入力について、ディスクリミネータ602ではこの両者を正しく判別するように、また、ジェネレータ601では、ディスクリミネータ602においてこの両者が判別できないように繰り返し強化学習を行う。
この結果、最終的にはディスクリミネータ602においてこの両者が判別できない(例えば、仮想センサ入力と実センサ入力を同数用意した場合には、正答率が50%となるなど)状態となり、かかる状態においては、ジェネレータ601は、合成画像に基づいて、実センサ入力と区別のつかない、あたかも現実のセンサ入力であるかのごとき仮想センサ入力を出力するものと考えられる。したがって、図7に示した仮想センサ入力生成部102では、このようにして学習させたジェネレータ111を用い、仮想センサ入力が生成されることになる。
なお、以上説明した仮想モデル生成部101及び仮想センサ入力生成部102の構成は一例であり、機械学習データ生成装置1及び機械学習装置2が想定する作業機械4に応じた適宜の構成としてよい。例えば、仮想モデル生成部101は、VAEを使用したものでなく、単に乱数で定めたパラメータに基づいて、所定のアルゴリズムにより仮想対象物モデルを生成するものであってもよい。また、仮想センサ入力生成部102は、GANを使用したものでなく、レイトレーシングやフォトリアリスティックレンダリングといった既知のコンピュータグラフィクスの手法を用いて仮想センサ入力を生成するものであってもよい。さらには、想定される対象物402やセンサ404が異なれば、当然にそれらに適した構成の仮想モデル生成部101及び仮想センサ入力生成部102の構成を採用すべきである。本実施形態で説明した仮想モデル生成部101及び仮想センサ入力生成部102の構成は、対象物402が不揃いな三次元プロファイルを有し、センサ404が映像撮影装置である場合に特に有効である。
図1に戻り、仮想動作指令生成部103は、仮想対象物モデル及び仮想センサ入力の少なくともいずれかに応じて仮想動作指令を生成する。ここで、動作指令は、すでに説明したとおり、作業機械4において、センサ404により検出された対象物402の状態に応じて変化するオペレーティングマシン403への動作の指令であり、仮想動作指令は、かかる動作指令を仮想的に生成したものである。
仮想動作指令生成部103において生成される仮想動作指令は、作業機械4の動作指令生成部406と異なり、決定的アルゴリズムによって生成されるものであってもよい。仮想動作指令に要求されるものは、仮想対象物モデルが現実の対象物402であったとしたならば、かかる対象物402に対して物理的作業を実行可能である蓋然性が高いことである。なお、仮想動作指令によって、実際に、あるいは後述するように、シミュレーション上で、物理的作業が成功裏に実行されることは必ずしも必要ではない。
本例では、仮想動作指令生成部103は、仮想対象物モデル及び仮想センサ入力の両方を用い、仮想対象物モデル101からその重心位置と単軸方向及び単軸方向長さを演算して求め、仮想センサ入力から、かかる重心位置、単軸方向をオペレーティングマシン403の座標に変換して目標位置とし、単軸方向長さからロボットハンドの把持力を算出する。このように、仮想対象物モデルを利用すると、成功裏に物理的作業を実行可能である蓋然性の高い仮想動作指令が、比較的容易にかつ一意に生成される。
もちろん、仮想動作指令を生成する方法は上述べた方法に限られず、他の方法であってもよい。他の方法は、例示したものと同様に、決定的アルゴリズムを用いるものであってもよいし、後ほど説明するように、非決定的アルゴリズムによるものであってもよい。
さらには、オペレータ(人)が補助するものであってもよい。例えば、仮想センサ入力が画像である場合、当該画像をオペレータに提示し、仮想動作指令を生成するうえで目標となるポイントをオペレータに指示させるなど、仮想動作指令生成部103が、仮想対象物モデル及び仮想センサ入力の少なくともいずれかに応じて仮想動作指令を生成する際に、オペレータが介在する方法も選択できる。かかる方法では、人であるオペレータの経験や判断が簡易な方法により、仮想動作指令に反映される。いずれにせよ、仮想動作指令を生成する方法は対象物402や、センサ404等の性質に応じて適切なものを選択すればよい。
シミュレータ104は、物理的作業の物理シミュレーションを実行する。すなわち、シミュレータ104には、現実の作業機械4のオペレーティングマシン403の仮想モデルである仮想オペレーティングマシンモデルがあらかじめ用意されており、シミュレータ104の仮想空間上にかかる仮想オペレーティングマシンモデルと、仮想対象物モデルを配置し、仮想オペレーティングマシンモデルを仮想動作指令に従って動作させることにより、作業機械4が行う物理的作業を仮想空間上でシミュレートする。仮想オペレーティングマシンモデルと仮想対象モデルの仮想空間上における配置は、当然に、仮想センサ入力生成部102において仮想センサ入力が生成された際の状況を再現したものとする。
物理シミュレーションに使用される物理演算エンジンは、想定している物理的作業に応じたものを用いればよい。本例のように、対象物402の把持を想定している場合には、衝突判定及びダイナミックシミュレーションを実行可能な物理演算エンジンを選択もしくは構築すればよいし、物理的作業が異なれば、当然に、流体シミュレーションや破壊シミュレーション、その他あらゆる物理現象をシミュレートする物理演算エンジンを適宜選択するか、構築することになる。
シミュレータ104におけるシミュレーションが完了すると、シミュレーションの結果は、達成状況評価部105によりその達成状況が評価される。ここで、「達成状況」とは、物理的作業の目的が達成された度合いを評価する指標である。この指標は、2値のものであってもよいし、連続的評価、段階的評価であってもよい。本例の場合であれば、把持に成功したか、失敗したかの2値評価を行えばよい。それ以外では、例えば、対象物2が不定形の肉塊であり、物理的作業がこの肉塊をn等分に切断することであれば、切断後の各肉片の重量のばらつきを達成状況としてよく、あるいはそのばらつきの程度や目的の達成に応じた段階的評価としてもよい。段階的評価としては、肉片の重量のばらつきの大きさにより、達成状況を不可、可、良の3段階評価としたり、切断に失敗した、切断には成功したが各肉片のばらつきが許容範囲外、切断に成功しかつ各肉片のばらつきが許容範囲内、といった、質的に異なる多段階評価としたりしてもよい。
最後に、機械学習データ生成部106において、仮想センサ入力生成部102により生成された仮想センサ入力と、仮想動作指令生成部103により生成された仮想動作指令と、達成状況評価部105により評価された達成状況を互いに紐づけ、機械学習データとする。
機械学習データ生成装置1では、仮想モデル生成部101により生成された、対象物402の複数のバリエーションについての仮想対象物モデルごとに1又は複数の機械学習データを生成することができ、多数の互いに異なる機械学習データが容易に、かつ、実用的な時間及びコストの範囲で得られる。そして、対象物402と、対象物402に対して想定される動作、すなわち、動作指令からは、成否が自明でない物理的作業の場合であっても、シミュレータ104による物理シミュレーションによって、その物理的作業の成否が高い確度で推定され、その評価結果が機械学習データに反映されることとなる。
そして、機械学習装置2は、上述の機械学習データ生成装置1及び学習部201を備えており、機械学習データ生成装置1により生成された機械学習データを用いて、作業機械4の動作指令生成部406において用いられるべきニューラルネットワークモデル407の学習を行う。学習部201は、機械学習データに基づいて、センサ入力を入力とし、動作指令を出力とするニューラルネットワークである、ニューラルネットワークモデルを、前記達成状況に応じて学習させる。したがって、機械学習装置2では、現実の物理的作業を必ずしも要することなく、実用的な時間及びコストの範囲で、物理的作業の成否を反映した機械学習がなされる。
図9は、機械学習データ生成装置1により生成される機械学習データの構成の一例を示す図である。同図に示す一つ一つのレコードが一個の機械学習データに相当しており、各レコードには、仮想センサ入力、仮想動作指令及び、達成状況がふくまれる。以降の説明では、必要に応じ、同一のレコードに属する仮想センサ入力及び仮想動作指令には、レコード番号を末尾につけて区別する。
図10は、学習部201の構成を示す構成図である。学習部201には、ニューラルネットワークモデル202が記憶されている。ニューラルネットワークモデル202は、学習が完了したのち、将来的に作業機械4の動作指令生成部406におけるニューラルネットワークモデル407としての使用が予定されているモデルである。
学習部201には、機械学習データが入力される。図10では、機械学習データとしてレコードnが入力された状態を示しており、レコードnのうち、仮想センサ入力nはニューラルネットワークモデル202への設問、仮想指令nは、かかる設問に対する解答として、ニューラルネットワークモデル202の学習が行われる。この時、レコードnの達成状況は、フィルタ203により係数kへと変換され、ニューラルネットワークモデル202の学習に用いられる。
係数kは、レコードnの機械学習データによるニューラルネットワークモデル202の学習の可否、学習の方向の正負あるいはその強度を示すものである。したがって、学習部201は、ニューラルネットワークモデル202を、達成状況に応じて学習させているといえる。
学習時における具体的なkの利用方法は必ずしも限定されない。一例として、学習部201が正方向の学習と、負方向の学習の両方を行うものである場合、それぞれの方向の学習を行うコードを別々に用意しておき、kの値に応じて、例えばk>0であれば正の方向の学習用コードを実行し、k<0であれば負の方向の学習用コードを実行することが考えられる。なおこのケースにおいて、k=0の場合には、正負いずれの学習を行うかを任意に定めておいてもよいし、当該レコードによっては学習を行わないものとしてもよい。
あるいは、ニューラルネットワークモデル202の学習の際の(確率的)勾配降下法における学習率をηとした際に、既定の学習率をη0として、
としてもよい。この場合、kを正とすると正の方向の学習が、kを負とすると負の方向の学習が行われ、k=0の場合には学習が行われないことになる。このような方法を用いると、フィルタ203の形状を適切に設計することにより、中間的な強度の学習を含め、学習の有無、正負及びその強度が自由に設計できる。
図11は、フィルタ203の種々の形状の例を示す図である。同図に示す、(A)のフィルタは、達成状況が「良」を示す場合には、正の方向の学習を行い、達成状況が「負」を示す場合には、負の方向の学習を行うものである。このように、kが正となる領域と、負となる領域の両方が含まれている場合、フィルタ203は、達成状況に応じて、機械学習データによる学習を正の方向の学習とするか負の方向の学習とするかを定める学習方向決定部として機能しているということができる。
(B)のフィルタは、達成状況が「良」を示す場合に限り、正の方向の学習のみを行うというものである。このように、k=0となる領域が含まれている場合、フィルタ203は、達成状況に応じて、機械学習データによる学習の可否を決定する学習可否決定部として機能しているということができる。
(C)のフィルタは、達成状況に応じて、係数kが連続的に変化するというものである。このように、kの値が中間的な値(1、0、-1でない値)となる領域が含まれている場合、フィルタ203は、達成状況に応じて、機械学習データによる学習の強度を定める学習強度決定部として機能としているということができる。また、このフィルタは同時に、kが正となる領域と負となる領域の両方を含んでおり、かつ、k=0となる領域もまた含んでいるため、フィルタ203は、学習方向決定部及び学習可否決定部としても同時に機能しているということができる。
(D)のフィルタは、達成状況に応じて、係数kが段階的に変化するというものである。この場合においても、(C)のフィルタと同様に、フィルタ203は、学習強度決定部、学習方向決定部及び学習可否決定部として同時に機能しているということができる。
なお、(C)及び(D)のフィルタにみられるように、達成状況が「良」でも「不良」でもないかその区別が明確でない場合に、kの値を0か、その付近の絶対値の小さい値とすることにより、学習精度を高めることに寄与しないかその寄与が少ない機械学習データにより無駄な学習がなされ、かえってニューラルネットワークモデル202の学習の妨げとなる事態が防止される。
以上説明したように、フィルタ203を適切に設計し、機械学習データに含まれる達成状況に応じて、学習の可否、方向及び強度の少なくともいずれかを定めることにより、シミュレータ104におけるシミュレーションの結果をニューラルネットワークモデル202の学習に適切に反映することができ、学習の効率化・収束の高速化が期待される。また、フィルタ203を用いて学習の可否や方向を定めるようにすると、学習の可否や方向ごとにコードを用意する必要がなく、機械学習装置2の生産性がよい。
なお、フィルタ203は学習部201において必ずしも必須の構成ではなく、達成状況をそのままニューラルネットワークモデル202の学習に用いるようにしてもよい。その場合には、フィルタ203として「1」が設けられているとみなすことができる。
図12は、本実施形態に係る機械学習データ生成装置1及び機械学習装置2による、機械学習データ生成方法及び機械学習方法のフロー図である。同図に示したフローのうち、(1)の部分(ST11~ST17)が機械学習データ生成方法に該当し、(2)の部分(ST11~ST18)が機械学習方法に該当する。
まず、ST11にて、仮想モデル生成部101により、対象物402の複数のバリエーションについての仮想対象物モデルを生成する。続くST12では、仮想センサ入力生成部102により、仮想対象物モデルに基づいて仮想センサ入力を生成する。さらに、ST13では、仮想動作指令生成部103により、仮想対象物モデル及び仮想センサ入力の少なくともいずれかに基づいて仮想動作指令を生成する。
ST14では、シミュレータ104により、仮想オペレーティングマシンモデルと、仮想対象物モデルを用いて、仮想動作指令に基づいて物理的作業のコンピュータシミュレーションを実行する。そしてST15にて、達成状況評価部105により、コンピュータシミュレーションの結果による物理的作業の目的の達成状況を評価する。ST16へと進み、機械学習データ生成部106により、仮想センサ入力と、仮想動作指令と、達成状況に基づいて機械学習データを生成する。
生成された機械学習データはレコードとして蓄積される。ST17において、レコード数、すなわち、蓄積された機械学習データの数が十分であるか否かを判断し、十分でなければ(ST17:N)、ST11へと戻り、繰り返し機械学習データの生成を行う。レコード数が十分であれば(ST17:Y)、ST18へと進む。必要なレコード数は、あらかじめ目標数を定めておいてよい。あるいは、ST18での機械学習の結果を評価し、学習が十分でない場合には、ST11~ST17を改めて実行し、機械学習データを追加で生成するようにしてもよい。機械学習の結果の評価は、学習部201におけるニューラルネットワークモデル202の内部状態の収束を評価することにより行ってもよいし、かかるニューラルネットワークモデル202にテストデータを入力し、得られた出力の正解率により行ってもよい。
ST18では、学習部201により、生成された機械学習データに基づいて、ニューラルネットワークモデル202を、達成状況に応じて学習させる。このようにして、本実施形態では、作業機械4に適した、学習済みのニューラルネットワークモデル202を得る。
以上説明した本発明の第1の実施形態に係る機械学習データ生成装置1及び機械学習装置2では、仮想動作指令生成部103による仮想動作指令の生成方法として、仮想対象物モデル及び仮想センサ入力の両方を用いる決定的アルゴリズムを使用する方法を説明した。以下では、本発明の第2の実施形態に係る機械学習データ生成装置1及び機械学習装置2として、仮想動作指令生成部103による仮想動作指令の生成方法として、非決定的アルゴリズムを用いた一例を説明する。
図13は、本発明の第2の実施形態に係る機械学習データ生成装置1を含む機械学習装置2の全体の構成を示す機能ブロック図である。なお、本実施形態の説明を容易とするため、先の実施形態と同一又は対応する構成には同一の符号を付し、重複する説明についてはこれを省略するものとする。
本実施形態に係る仮想動作指令生成部103は、ニューラルネットワークモデル115を有している。このニューラルネットワークモデル115は、学習部201が有しており、学習の対象となるニューラルネットワークモデル202と同様に、センサ入力(又は仮想センサ入力)を入力とし、動作指令(又は仮想動作指令)を出力とするものである。ニューラルネットワークモデル115とニューラルネットワークモデル202との関係は後述する。
ニューラルネットワークモデル115は、あらかじめある程度の学習が進められている。すなわち、何らかのセンサ入力または仮想センサ入力を入力すると、それなりの動作指令又は仮想動作指定を出力することができる。ここで、「それなり」という語は、ニューラルネットワークモデル115から出力された動作指令により作業機械4のオペレーティングマシン403を動作させ、あるいはニューラルネットワークモデル115から出力された仮想動作指令によりシミュレータ104によるシミュレーションを実行すると、物理的作業の目的を達成するか、達成するに至らなくとも、達成に近いと考えられる程度の結果が得られることを意味するものとして使用されている。
ニューラルネットワークモデル115を用いた推論は非決定的アルゴリズムであるから、本例は、非決定的アルゴリズムを用いた仮想動作指令生成部103による仮想動作指令の生成方法の一例を示している。決定的アルゴリズムにより、学習に用い得る程度にそれなりの仮想動作指令を得ることが困難又は難しい場合には、このような方法が有効である。
そして、仮想動作指令生成部103において用いられるニューラルネットワークモデル115と、学習部201において学習対象となるニューラルネットワークモデル202とは、本実施形態における機械学習データの生成及び機械学習の当初においては、同じものを用いてよい。例えば、作業機械4の実機を用い、数は必ずしも多くないものの、いくばくかの実物の対象物402を用いて学習させたニューラルネットワークモデル(図4にて示したニューラルネットワークモデル407であってよい)を初期モデルとして用いてよい。または、全く未学習のニューラルネットワークモデルを初期モデルとしてもよく、さらに、人為的に作成した機械学習データにより学習をある程度進めたニューラルネットワークモデルをこれらの初期モデルとしてもよい。
このようなニューラルネットワークモデル115を含む仮想動作指令生成部103を有する機械学習データ生成装置1を用いて機械学習データを生成し、さらに機械学習装置2によりかかる機械学習データを用いて機械学習を進めると、学習部201において、ニューラルネットワークモデル202の学習が進み、ニューラルネットワークモデル202により得られる動作指令又は仮想動作指令の精度、すなわち、かかる動作指令又は仮想動作指令を用いた時の物理的作業の目的が達成される見込み、は向上していくと考えられる。
そのようにニューラルネットワークモデル202の学習が進んだ段階で、複写部204は、ニューラルネットワークモデル202によってニューラルネットワークモデル115を上書きして更新する。これにより、仮想動作指令生成部103により生成される仮想動作指令の精度が漸増していくため、ニューラルネットワークモデル202の学習がより効率的に進み、収束が早くなるものと期待される。
複写部204によるニューラルネットワークモデル115の更新は、適宜のタイミングで行われてよい。例えば、一定のレコード数の機械学習データによる学習が行われるごとのタイミングとしてもよいし、ニューラルネットワークモデル202の学習の進み具合をモニタしておき、何らかの指標、例えば、収束率に基づくタイミングとしてもよい。
あるいは、1レコードごと、すなわち、一件の機械学習データによる学習が学習部201により行われるごとに、ニューラルネットワークモデル115を更新してもよい。その場合には、図13に示した構成でなく、複写部204を設けずに、仮想動作指令生成部103及び学習部201が、メモリ上の共通のニューラルネットワークモデル115,202を直接参照する構成としてもよい。
以上説明した第1及び第2の実施形態においては、物理的作業としてオペレーティングマシン403による把持を例として説明したため、仮想センサ入力生成部102は、仮想対象物モデルの平面投影画像から仮想センサ入力を生成するものであったが、仮想センサ入力は、仮想対象物モデルに基づく限り、その生成手法に限定はなく、対象物402や物理的作業に応じた適切なものを選択し又は設計してよい。
一例として、物理的作業が金属部品のバリ取りのための研磨作業であり、得るべき動作指令が、バリの形状に応じた砥石の押し付け力の時間プロファイルである場合には、仮想センサ入力生成部102は、シミュレータ104を用いて、仮の動作指令により仮想対象物モデルに対するシミュレーションを行い、得られた加工反力の時間プロファイルを仮想センサ入力とするものであってもよい。これは、この例における作業機械4の実機がバリ取りを行う際に、所定の押し付け力による仮研磨を行い、その際の反力に基づいて仕上げ研磨の押し付け力の時間プロファイルを設定するものであることに対応している。
以上説明した機械学習装置2により得られた学習済みのニューラルネットワークモデル202を搭載することにより、高い確度で目的を達成する作業機械4が得られる。図14は、かかる作業機械4の製造工程を示すフロー図である。
まず、ST21にて、架台401、オペレーティングマシン403、センサ404、コントローラ405と、その他、作業機械4を構成するにあたって必要な機器を用意する。この際、各機器の接続や接合、配線など作業機械4を物理的に構成する際に必要な作業を行う。
続いて、ST22にて、図12の(2)に示したフローに従い、機械学習データを生成し、かかる機械学習データに基づいて機械学習を行い、学習済みのニューラルネットワークモデル202を得る。
最後に、ST23にて、得られたニューラルネットワークモデル202を作業機械4の動作指令部406に複写してニューラルネットワークモデル407とする。このような方法により、現実の物理的作業による学習を行うことなく、または現実の物理的作業による学習を低減して、対象物と、対象物に対して想定される動作からは、その物理的作業の成否が自明でない物理的作業を行う作業機械4が製造される。
そして、図1に示した機械学習装置2と、図3及び図4に示した作業機械4を含む作業システムを観念すると、かかる作業システムにおいては、機械学習装置2により、現実の物理的作業による学習を行うことなく、または現実の物理的作業による学習を低減して、物理的作業についての機械学習がなされ、作業機械4においては、かかる機械学習の成果を反映した物理的作業がなされる。したがって、かかる作業システムを用いることにより、現実的なコスト及び時間の範囲内において、対象物と、対象物に対して想定される動作からは、その物理的作業の成否が自明でない物理的作業が自動かつ高精度に実行される。
Claims (13)
- 作業機械のオペレーティングマシンによる物理的作業の対象となる対象物に対し、前記作業機械のセンサによるセンシングの結果として得るセンサ入力を仮想的に生成したものである、仮想センサ入力を、前記対象物の仮想モデルである仮想対象物モデルに基づいて生成する仮想センサ入力生成部と、
前記産業機器のオペレーティングマシンに対する動作指令を仮想的に生成したものである、仮想動作指令を前記仮想対象物モデル及び前記仮想センサ入力の少なくともいずれかに応じて生成する仮想動作指令生成部と、
前記オペレーティングマシンの仮想モデルである仮想オペレーティングマシンモデルと、前記仮想対象物モデルを用いて、前記仮想動作指令に基づいて前記物理的作業のコンピュータシミュレーションを実行するシミュレータと、
前記コンピュータシミュレーションの結果による前記物理的作業の目的の達成状況を評価する達成状況評価部と、
前記仮想センサ入力と、前記仮想動作指令と、前記達成状況に基づいて機械学習データを生成する機械学習データ生成部と、
を有する機械学習データ生成装置。 - 前記対象物の複数のバリエーションについての前記仮想対象物モデルを生成する、仮想モデル生成部を有する、
請求項1に記載の機械学習データ生成装置。 - 請求項1又は2に記載の機械学習データ生成装置と、
前記機械学習データに基づいて、前記センサ入力を入力とし、前記動作指令を出力とするニューラルネットワークである、ニューラルネットワークモデルを、前記達成状況に応じて学習させる学習部と、
を有する機械学習装置。 - 前記学習部は、前記達成状況に応じて、前記機械学習データによる学習の可否を決定する学習可否決定部を有する、
請求項3に記載の機械学習装置。 - 前記学習部は、前記達成状況に応じて、前記機械学習データによる学習を正の方向の学習とするか負の方向の学習とするかを定める学習方向決定部を有する、
請求項3又は4に記載の機械学習装置。 - 前記学習部は、前記達成状況に応じて、前記機械学習データによる学習の強度を定める学習強度決定部を有する、
請求項3~5のいずれか1項に記載の機械学習装置。 - 前記仮想動作指令生成部は、前記仮想センサ入力を入力とし、前記仮想動作指令を出力とするニューラルネットワークモデルである、仮想動作指令生成ニューラルネットワークモデルを有する、
請求項1又は2に記載の機械学習データ生成装置。 - 前記仮想動作指令生成部は、前記仮想センサ入力を入力とし、前記仮想動作指令を出力とするニューラルネットワークモデルである、仮想動作指令生成ニューラルネットワークモデルを有する、
請求項3~6のいずれか1項に記載の機械学習装置。 - 前記仮想動作指令生成ニューラルネットワークモデルは、前記動作指令生成ニューラルネットワークモデルと同一であるか、または、前記学習部において学習がなされた前記動作指令生成ニューラルネットワークモデルによって、前記仮想動作指令生成ニューラルネットワークモデルが更新される、
請求項8に記載の機械学習装置。 - 請求項3~6、8及び9のいずれか1項に記載の機械学習装置と、
前記オペレーティングマシンと、前記センサと、前記機械学習装置の前記学習部により学習のなされた前記ニューラルネットワークモデルを有し、前記センサからのセンサ入力を入力とし、前記オペレーティングマシンに対する動作指令を出力とする動作指令生成部と、を有する前記作業機械と、
を有する作業システム。 - コンピュータを、
作業機械のオペレーティングマシンによる物理的作業の対象となる対象物に対し、前記作業機械のセンサによるセンシングの結果として得るセンサ入力を仮想的に生成したものである、仮想センサ入力を、前記対象物の仮想モデルである仮想対象物モデルに基づいて生成する仮想センサ入力生成部と、
前記産業機器のオペレーティングマシンに対する動作指令を仮想的に生成したものである、仮想動作指令を前記仮想対象物モデル及び前記仮想センサ入力の少なくともいずれかに応じて生成する仮想動作指令生成部と、
前記オペレーティングマシンの仮想モデルである仮想オペレーティングマシンモデルと、前記仮想対象物モデルを用いて、前記仮想動作指令に基づいて前記物理的作業のコンピュータシミュレーションを実行するシミュレータと、
前記コンピュータシミュレーションの結果による前記物理的作業の目的の達成状況を評価する達成状況評価部と、
前記仮想センサ入力と、前記仮想動作指令と、前記達成状況に基づいて機械学習データを生成する機械学習データ生成部と、
を有する機械学習データ生成装置として動作させるコンピュータプログラム。 - 作業機械のオペレーティングマシンによる物理的作業の対象となる対象物に対し、前記作業機械のセンサによるセンシングの結果として得るセンサ入力を仮想的に生成したものである、仮想センサ入力を、前記対象物の仮想モデルである仮想対象物モデルに基づいて生成し、
前記産業機器のオペレーティングマシンに対する動作指令を仮想的に生成したものである、仮想動作指令を前記仮想対象物モデル及び前記仮想センサ入力の少なくともいずれかに応じて生成し、
前記オペレーティングマシンの仮想モデルである仮想オペレーティングマシンモデルと、前記仮想対象物モデルを用いて、前記仮想動作指令に基づいて前記物理的作業のコンピュータシミュレーションを実行し、
前記コンピュータシミュレーションの結果による前記物理的作業の目的の達成状況を評価し、
前記仮想センサ入力と、前記仮想動作指令と、前記達成状況に基づいて機械学習データを生成する、
機械学習データ生成方法。 - 対象物に対して物理的作業を行うオペレーティングマシンと、
前記対象物に対してセンシングを行い、センサ入力を得るセンサと、
前記センサ入力をニューラルネットワークモデルに入力し、前記オペレーティングマシンに対する動作指令を得る動作指令生成部と、
を有する作業機械の製造方法において、
前記センサ入力を仮想的に生成したものである、仮想センサ入力を、前記対象物の仮想モデルである仮想対象物モデルに基づいて生成し、
前記動作指令を仮想的に生成したものである、仮想動作指令を前記仮想対象物モデル及び前記仮想センサ入力の少なくともいずれかに応じて生成し、
前記オペレーティングマシンの仮想モデルである仮想オペレーティングマシンモデルと、前記仮想対象物モデルを用いて、前記仮想動作指令に基づいて前記物理的作業のコンピュータシミュレーションを実行し、
前記コンピュータシミュレーションの結果による前記物理的作業の目的の達成状況を評価し、
前記仮想センサ入力と、前記仮想動作指令と、前記達成状況に基づいて機械学習データを生成し、
前記機械学習データに基づいて、前記ニューラルネットワークモデルを、前記達成状況に応じて学習させることを含む、
作業機械の製造方法。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/042216 WO2021084587A1 (ja) | 2019-10-28 | 2019-10-28 | 機械学習データ生成装置、機械学習装置、作業システム、コンピュータプログラム、機械学習データ生成方法及び作業機械の製造方法 |
PCT/JP2020/040002 WO2021085345A1 (ja) | 2019-10-28 | 2020-10-23 | 機械学習データ生成装置、機械学習装置、作業システム、コンピュータプログラム、機械学習データ生成方法及び作業機械の製造方法 |
JP2021553585A JP7344977B2 (ja) | 2019-10-28 | 2020-10-23 | 機械学習データ生成装置、機械学習装置、機械学習データ生成方法及びコンピュータプログラム |
EP20883351.7A EP4052869A4 (en) | 2019-10-28 | 2020-10-23 | MACHINE LEARNING DATA GENERATING DEVICE, MACHINE LEARNING DEVICE, WORK SYSTEM, COMPUTER PROGRAM, METHOD FOR MAKING LEARNING DATA AND METHOD FOR MANUFACTURING WORK DEVICE |
CN202080075227.6A CN114599488A (zh) | 2019-10-28 | 2020-10-23 | 机器学习数据生成装置、机器学习装置、作业***、计算机程序、机器学习数据生成方法及作业机的制造方法 |
US17/721,372 US20220234196A1 (en) | 2019-10-28 | 2022-04-15 | Machine learning data generation device, machine learning device, work system, computer program, machine learning data generation method, and method for manufacturing work machine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/042216 WO2021084587A1 (ja) | 2019-10-28 | 2019-10-28 | 機械学習データ生成装置、機械学習装置、作業システム、コンピュータプログラム、機械学習データ生成方法及び作業機械の製造方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021084587A1 true WO2021084587A1 (ja) | 2021-05-06 |
Family
ID=75714503
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/042216 WO2021084587A1 (ja) | 2019-10-28 | 2019-10-28 | 機械学習データ生成装置、機械学習装置、作業システム、コンピュータプログラム、機械学習データ生成方法及び作業機械の製造方法 |
PCT/JP2020/040002 WO2021085345A1 (ja) | 2019-10-28 | 2020-10-23 | 機械学習データ生成装置、機械学習装置、作業システム、コンピュータプログラム、機械学習データ生成方法及び作業機械の製造方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/040002 WO2021085345A1 (ja) | 2019-10-28 | 2020-10-23 | 機械学習データ生成装置、機械学習装置、作業システム、コンピュータプログラム、機械学習データ生成方法及び作業機械の製造方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220234196A1 (ja) |
EP (1) | EP4052869A4 (ja) |
JP (1) | JP7344977B2 (ja) |
CN (1) | CN114599488A (ja) |
WO (2) | WO2021084587A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023075351A1 (ko) * | 2021-10-25 | 2023-05-04 | (주)바질컴퍼니 | 산업용 로봇의 인공지능 학습 방법 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210390335A1 (en) * | 2020-06-11 | 2021-12-16 | Chevron U.S.A. Inc. | Generation of labeled synthetic data for target detection |
US11900534B2 (en) * | 2021-07-30 | 2024-02-13 | The Boeing Company | Systems and methods for synthetic image generation |
US11651554B2 (en) * | 2021-07-30 | 2023-05-16 | The Boeing Company | Systems and methods for synthetic image generation |
WO2023170988A1 (ja) * | 2022-03-08 | 2023-09-14 | 株式会社安川電機 | ロボット制御システム、ロボット制御方法、およびロボット制御プログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017185577A (ja) * | 2016-04-04 | 2017-10-12 | ファナック株式会社 | シミュレーション結果を利用して学習を行う機械学習装置,機械システム,製造システムおよび機械学習方法 |
WO2019172101A1 (ja) * | 2018-03-06 | 2019-09-12 | オムロン株式会社 | 情報処理装置、情報処理方法、及びプログラム |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6604832B2 (ja) * | 2015-12-02 | 2019-11-13 | 池上通信機株式会社 | 機械学習支援装置 |
US10043261B2 (en) * | 2016-01-11 | 2018-08-07 | Kla-Tencor Corp. | Generating simulated output for a specimen |
JP2018144155A (ja) * | 2017-03-03 | 2018-09-20 | 株式会社キーエンス | ロボットシミュレーション装置、ロボットシミュレーション方法、ロボットシミュレーションプログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器 |
US11273553B2 (en) * | 2017-06-05 | 2022-03-15 | Autodesk, Inc. | Adapting simulation data to real-world conditions encountered by physical processes |
US10875125B2 (en) * | 2017-06-20 | 2020-12-29 | Lincoln Global, Inc. | Machine learning for weldment classification and correlation |
JP6696627B2 (ja) * | 2017-11-14 | 2020-05-20 | 三菱電機株式会社 | ロボットの動作調整装置 |
KR101988504B1 (ko) * | 2019-02-28 | 2019-10-01 | 아이덴티파이 주식회사 | 딥러닝에 의해 생성된 가상환경을 이용한 강화학습 방법 |
CN110222353A (zh) * | 2019-03-12 | 2019-09-10 | 上海大学 | 一种基于数字孪生与机器学习技术的智能车间生产加工***及方法 |
-
2019
- 2019-10-28 WO PCT/JP2019/042216 patent/WO2021084587A1/ja active Application Filing
-
2020
- 2020-10-23 CN CN202080075227.6A patent/CN114599488A/zh active Pending
- 2020-10-23 EP EP20883351.7A patent/EP4052869A4/en active Pending
- 2020-10-23 WO PCT/JP2020/040002 patent/WO2021085345A1/ja unknown
- 2020-10-23 JP JP2021553585A patent/JP7344977B2/ja active Active
-
2022
- 2022-04-15 US US17/721,372 patent/US20220234196A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017185577A (ja) * | 2016-04-04 | 2017-10-12 | ファナック株式会社 | シミュレーション結果を利用して学習を行う機械学習装置,機械システム,製造システムおよび機械学習方法 |
WO2019172101A1 (ja) * | 2018-03-06 | 2019-09-12 | オムロン株式会社 | 情報処理装置、情報処理方法、及びプログラム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023075351A1 (ko) * | 2021-10-25 | 2023-05-04 | (주)바질컴퍼니 | 산업용 로봇의 인공지능 학습 방법 |
Also Published As
Publication number | Publication date |
---|---|
EP4052869A4 (en) | 2022-12-14 |
WO2021085345A1 (ja) | 2021-05-06 |
US20220234196A1 (en) | 2022-07-28 |
JP7344977B2 (ja) | 2023-09-14 |
EP4052869A1 (en) | 2022-09-07 |
JPWO2021085345A1 (ja) | 2021-05-06 |
CN114599488A (zh) | 2022-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021084587A1 (ja) | 機械学習データ生成装置、機械学習装置、作業システム、コンピュータプログラム、機械学習データ生成方法及び作業機械の製造方法 | |
US9811074B1 (en) | Optimization of robot control programs in physics-based simulated environment | |
Xia et al. | A digital twin to train deep reinforcement learning agent for smart manufacturing plants: Environment, interfaces and intelligence | |
JP4153528B2 (ja) | ロボットシミュレーションのための装置、プログラム、記録媒体及び方法 | |
US9671777B1 (en) | Training robots to execute actions in physics-based virtual environment | |
Kolev et al. | Physically consistent state estimation and system identification for contacts | |
EP1310844A1 (en) | Simulation device | |
US11762679B2 (en) | Information processing device, information processing method, and non-transitory computer-readable storage medium | |
EP1774443A1 (en) | System and method for simulating human movement using profile paths | |
JP2008238396A (ja) | ロボットのモーションの発生及び制御のための装置ならびに方法 | |
WO2020110505A1 (ja) | 画像生成装置、ロボット訓練システム、画像生成方法、及び画像生成プログラム | |
US20220339787A1 (en) | Carrying out an application using at least one robot | |
WO2021195970A1 (zh) | 工业***的预测模型学习方法、装置和*** | |
Arnay et al. | Teaching kinematics with interactive schematics and 3D models | |
Pavlou et al. | XRSISE: An XR training system for interactive simulation and ergonomics assessment | |
CN115213890A (zh) | 抓取的控制方法、装置、服务器、电子设备及存储介质 | |
JP2023552756A (ja) | ロボット制御計画の生成 | |
WO2021195916A1 (zh) | 动态手部仿真方法、装置和*** | |
JP2022173888A (ja) | シミュレーション情報反映装置、方法、プログラム、及びシステム | |
Langsfeld | Learning task models for robotic manipulation of nonrigid objects | |
JP6850313B2 (ja) | シミュレーション装置、シミュレーション方法およびシミュレーションプログラム | |
US20040054510A1 (en) | System and method for simulating human movement | |
JP2021082367A (ja) | シミュレーション装置、シミュレーション方法およびシミュレーションプログラム | |
WO2019217885A1 (en) | Augmented reality interface to robots | |
RU2813444C1 (ru) | Система взаимодействия человек-робот на основе смешанной реальности |
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: 19950270 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19950270 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |