WO2020075834A1 - シミュレーション装置、シミュレーション方法及びシミュレーションプログラム - Google Patents

シミュレーション装置、シミュレーション方法及びシミュレーションプログラム Download PDF

Info

Publication number
WO2020075834A1
WO2020075834A1 PCT/JP2019/040142 JP2019040142W WO2020075834A1 WO 2020075834 A1 WO2020075834 A1 WO 2020075834A1 JP 2019040142 W JP2019040142 W JP 2019040142W WO 2020075834 A1 WO2020075834 A1 WO 2020075834A1
Authority
WO
WIPO (PCT)
Prior art keywords
simulation
operation target
condition
unit
movement
Prior art date
Application number
PCT/JP2019/040142
Other languages
English (en)
French (fr)
Inventor
洋平 大川
義也 柴田
千智 齋藤
剣之介 林
健忠 傅
雄紀 山口
Original Assignee
オムロン株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オムロン株式会社 filed Critical オムロン株式会社
Priority to CN201980052349.0A priority Critical patent/CN112534366A/zh
Priority to US17/269,531 priority patent/US20210182459A1/en
Priority to EP19872157.3A priority patent/EP3866169A4/en
Publication of WO2020075834A1 publication Critical patent/WO2020075834A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/25Design optimisation, verification or simulation using particle-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/1605Simulation of manipulator lay-out, design, modelling of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40073Carry container with liquid, compensate liquid vibration, swinging effect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2113/00Details relating to the application field
    • G06F2113/08Fluids
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Definitions

  • the present invention relates to a simulation device, a simulation method, and a simulation program.
  • a robot may perform various processes on an operation target.
  • the operation of the robot may be verified by simulation and designed with reference to the simulation result.
  • Patent Document 1 describes a method of simulating the operation of an industrial machine and storing or comparing the simulation result and actual data from the operation of the industrial machine.
  • the movement of the operation target may be simulated along with the movement of the robot.
  • the movement of the operation target can be simulated by existing techniques such as the finite element method and the particle method.
  • the calculation load may increase and the time required for the simulation may increase.
  • the present invention provides a simulation device, a simulation method, and a simulation program that reduce the calculation load required for the simulation of the motion of the operation target.
  • a simulation apparatus includes a first setting unit that sets a configuration condition of a model representing an operation target, a second setting unit that sets a condition of an external force applied to the operation target, a configuration condition and a condition of the external force.
  • a learning including a first simulation unit for simulating the movement of the operation target, and data representing the movement of a plurality of representative points located on the surface of the operation target in the simulation by the configuration condition, the condition of the external force, and the simulation by the first simulation unit.
  • a learning model that outputs data representing the movements of a plurality of representative points by inputting a configuration condition, an external force condition, and an initial condition of a plurality of representative points by a supervised learning using a data generating unit and learning data. And a learning unit for generating.
  • the movement of the model representing the operation target is simulated by an arbitrary method, and a learning model is generated by supervised learning using the simulation result, so that a simulation with a large calculation load can be performed with a relatively large calculation load.
  • a simulation with a large calculation load can be performed with a relatively large calculation load.
  • the generation unit includes, as input data, configuration conditions, an external force condition at a predetermined time of simulation by the first simulation unit, and data representing movements of a plurality of representative points at a predetermined time, and after a predetermined time has elapsed from the predetermined time.
  • Learning data including, as output data, data representing movements of a plurality of representative points at the time of may be generated.
  • the movement of the representative point after a predetermined time has elapsed can be predicted by the learning model, and the movement of the representative point at any time can be predicted by repeatedly performing the prediction by the learning model.
  • the second simulation unit that simulates the movement of the robot, and the conditions and the constituent conditions of the external force applied to the operation target by the robot in the simulation by the second simulation unit are input to the learning model, and the movements of the plurality of representative points are calculated.
  • the second simulation unit may further include a prediction unit that performs prediction, and the second simulation unit may combine the motions of the plurality of representative points predicted by the prediction unit and the simulated motion of the robot.
  • the learning model predicts the movement of the representative point of the model representing the operation target with a relatively small calculation load, and synthesizes the movement of the robot with the result of simulation by an arbitrary method. Also, the calculation load required for the entire simulation including the operation target can be reduced.
  • the operation target may include any of a flexible object, a liquid, and a gas.
  • the surface of the operation target is the liquid surface of the liquid
  • the movement of the plurality of representative points may be represented by the movement of the liquid surface in the vertical direction at the plurality of positions.
  • the calculation load of the learning model can be reduced as compared with the case of predicting the movement of the entire liquid.
  • the first simulation unit uses a model in which the liquid is decomposed into a plurality of particles to simulate the movements of the plurality of particles, and the data representing the movements of the plurality of representative points is the first among the plurality of particles. It may be data representing the movement of some particles located on the liquid surface of the liquid at a predetermined time of the simulation by one simulation unit.
  • this aspect it is possible to generate a learning model that reproduces the movement of the particles located on the liquid surface, out of the results of simulating the movement of the entire liquid with the particle model, and to predict the movement of the entire liquid more than when predicting the movement of the entire liquid.
  • the calculation load of the learning model can be reduced.
  • the configuration condition may include either a condition indicating the flexibility of the operation target or a condition indicating the viscosity.
  • the first simulation unit simulates the movement of the node using a model in which the operation target is decomposed into a plurality of components connected by the node, and the number of the plurality of representative points is less than the number of the nodes. May be.
  • a simulation method includes setting a configuration condition of a model representing an operation target, setting a condition of an external force applied to the operation target, and performing an operation under the configuration condition and the external force condition. Simulating the motion of the object, generating configuration data, external force conditions, and learning data including data representing the motion of a plurality of representative points located on the surface of the operation target in the simulation, and using the learning data And generating a learning model that outputs the data representing the movements of the plurality of representative points by inputting the configuration condition, the condition of the external force, and the initial condition of the plurality of representative points by the existence learning.
  • the movement of the model representing the operation target is simulated by an arbitrary method, and a learning model is generated by supervised learning using the simulation result, so that a simulation with a large calculation load can be performed with a relatively large calculation load.
  • a simulation with a large calculation load can be performed with a relatively large calculation load.
  • a simulation program includes a processor provided in a simulation device, a first setting unit that sets a configuration condition of a model representing an operation target, and a second setting that sets a condition of an external force applied to the operation target.
  • a first simulation unit that simulates movement of an operation target, a configuration condition, an external force condition, and a plurality of representative points located on the surface of the operation target in the simulation by the first simulation unit.
  • a generation unit that generates learning data including data representing a motion and supervised learning using the learning data
  • the movement of a plurality of representative points is input by inputting a configuration condition, an external force condition, and an initial condition of a plurality of representative points. It functions as a learning unit that generates a learning model that outputs the represented data.
  • the movement of the model representing the operation target is simulated by an arbitrary method, and a learning model is generated by supervised learning using the simulation result, so that a simulation with a large calculation load can be performed with a relatively large calculation load.
  • a simulation with a large calculation load can be performed with a relatively large calculation load.
  • a simulation device a simulation method, and a simulation program that reduce a calculation load required for simulating a motion of an operation target.
  • the present embodiment an embodiment according to one aspect of the present invention (hereinafter referred to as “the present embodiment”) will be described with reference to the drawings.
  • the components denoted by the same reference numerals have the same or similar configurations.
  • FIG. 1 is a schematic diagram of the movement of the first operation target T1 simulated by the simulation apparatus 10 according to the embodiment of the present invention.
  • the first operation target T1 is the liquid contained in the container object Ob.
  • the container object Ob is grasped and moved by the robot hand H.
  • the simulation device 10 moves the first operation target T1, which is a liquid, so as not to spill from the container object Ob, but in a short time.
  • the first operation target T1 in a stationary state is shown on the left side
  • the state in which the container object Ob is moved by the robot hand H and the liquid surface of the first operation target T1 is fluctuating is shown on the right side.
  • the simulation device 10 sets the configuration conditions of the model representing the first operation target T1 and the conditions of the external force applied to the first operation target T1, and under those conditions, the first operation target T1 is set by the existing simulation method. Simulate the movement of.
  • the simulation apparatus 10 may simulate the movement of a plurality of particles by a so-called particle method using a model in which the first operation target T1 that is a liquid is decomposed into a plurality of particles.
  • the model constituent conditions may include conditions that determine the particle size and the interaction between the particles.
  • the condition of the external force may include the boundary condition of the container object Ob and the condition of the force applied by the robot hand H.
  • the simulation device 10 may use, as the learning data, data representing the movement of some particles located on the liquid surface of the first operation target T1 among the movements of a plurality of particles simulated by the particle method.
  • the data representing the movement of the particles may include data representing at least one of the position, velocity, momentum and acceleration of the particles.
  • the operation target is a liquid such as the first operation target T1
  • the surface of the operation target is the liquid surface of the liquid
  • the movement of the plurality of representative points is represented by the movement of the liquid surface in the vertical direction at the plurality of positions. May be done.
  • the simulation apparatus 10 divides the inside of the container object Ob into three-dimensional lattices, selects a particle having the largest value in the Z direction (vertical direction) for each lattice of the XY plane that crosses the container object Ob, and selects the particle.
  • the process of using the XYZ coordinates as one of the representative points may be repeated to generate data representing the movement of some particles located on the liquid surface of the first operation target T1.
  • the first particles p1, the second particles p2, the third particles p3, the fourth particles p4, the fifth particles p5, and the sixth particles p6 are some of the particles positioned on the liquid surface of the first operation target T1.
  • the eleventh particle p11 and the twelfth particle p12 are representative points located on the liquid surface of the first operation target T1 at a certain time.
  • the particles located on the liquid surface of the first operation target T1 may change from moment to moment, and are not necessarily the same particles.
  • the heights of the first particle p1, the second particle p2, the third particle p3, the fourth particle p4, the fifth particle p5, and the sixth particle p6 are increased.
  • the liquid is agitated to change the particles positioned on the liquid surface of the first operation target T1, and the seventh particle p7, the eighth particle p8, the ninth particle p9, the tenth particle p10, the The 11th particle p11 and the 12th particle have transitioned to the state on the right side in which the heights vary.
  • the simulation device 10 includes a configuration condition of a model representing the first operation target T1, a condition of an external force applied to the first operation target T1, and a plurality of representative points (first to first positions) located on the liquid surface of the first operation target T1 in the simulation.
  • Learning data including data representing the movement of 12 particles
  • the simulation apparatus 10 performs the supervised learning using the learning data to configure the model representing the first operation target T1, the condition of the external force applied to the first operation target T1, and the plurality of representative points (first to twelfth points).
  • a learning model that outputs the data representing the movements of a plurality of representative points (first to twelfth particles, etc.) is generated by inputting the initial conditions of the particles etc.).
  • the learning model predicts at least one of positions, velocities, momentums, and accelerations of a plurality of representative points without directly executing a simulation that reproduces a physical phenomenon.
  • FIG. 2 is a diagram showing a hardware configuration of the simulation apparatus 10 according to the present embodiment.
  • the simulation device 10 includes a CPU (Central Processing Unit) 10a, a RAM (Random Access Memory) 10b, a ROM (Read Only Memory) 10c, a communication unit 10d, an input unit 10e, and a display unit 10f.
  • the CPU 10a, the RAM 10b, the ROM 10c, the communication unit 10d, the input unit 10e, and the display unit 10f are connected to each other via a bus so that data can be transmitted and received between them.
  • the simulation device 10 is configured by one computer will be described, but the simulation device 10 may be realized by combining a plurality of computers.
  • the configuration shown in FIG. 2 is an example, and the simulation apparatus 10 may have a configuration other than these, or may not have some of these configurations.
  • the CPU 10a is a processor provided in the simulation apparatus 10 and performs control, calculation of data, and processing relating to execution of programs stored in the RAM 10b and the ROM 10c.
  • the CPU 10a is an arithmetic unit that executes a program (simulation program) that generates a learning model that reproduces the simulation result of the motion of the operation target by the existing simulation method.
  • the CPU 10a receives various data from the input unit 10e and the communication unit 10d, displays the calculation result of the data on the display unit 10f, and stores it in the RAM 10b and the ROM 10c.
  • the RAM 10b is a storage unit included in the simulation device 10 and is capable of rewriting data.
  • the RAM 10b may be composed of, for example, a semiconductor memory element.
  • the RAM 10b may store a simulation program executed by the CPU 10a and data for configuring a robot and peripheral environment in the simulation space. Note that these are merely examples, and the RAM 10b may store data other than these, or some of them may not be stored.
  • the ROM 10c is a storage unit included in the simulation device 10 and is capable of reading data.
  • the ROM 10c may be composed of, for example, a semiconductor memory element.
  • the ROM 10c may store, for example, a simulation program or data that is not rewritten.
  • the communication unit 10d is an interface that connects the simulation device 10 to another device.
  • the communication unit 10d may be connected to a communication network such as a LAN (Local Area Network) or the Internet.
  • the input unit 10e receives data input from a user, and may include, for example, a keyboard, a pointing device such as a mouse, and a touch panel.
  • the display unit 10f is for visually displaying the calculation result by the CPU 10a, and may be configured by, for example, an LCD (Liquid Crystal Display).
  • the display unit 10f may display the simulation result of the operation target or the entire simulation result including the robot and the operation target.
  • the simulation program may be provided by being stored in a computer-readable storage medium such as the RAM 10b or the ROM 10c, or may be provided via a communication network connected by the communication unit 10d.
  • the CPU 10a executes the simulation program, whereby the operations of the first processing unit 20 and the second processing unit 30 described with reference to the next figure are realized.
  • the simulation device 10 may include an LSI (Large-Scale Integration) in which the CPU 10a and the RAM 10b and the ROM 10c are integrated.
  • FIG. 3 is a diagram showing a functional configuration of the simulation apparatus 10 according to the present embodiment.
  • the simulation device 10 includes a first processing unit 20 and a second processing unit 30.
  • the first processing unit 20 performs a process of generating a learning model that predicts the movement of the operation target.
  • the second processing unit 30 uses the generated learning model to perform an overall simulation including the robot and the operation target.
  • the first processing unit 20 includes a first setting unit 11, a second setting unit 12, a first simulation unit 13, a generation unit 14, a learning unit 15, and a first storage unit 16.
  • the second processing unit 30 also includes a second simulation unit 17, a second storage unit 18, and a prediction unit 19.
  • the first setting unit 11 sets the configuration condition of the model representing the operation target.
  • the operation target is, for example, a target directly gripped by the robot hand, a target indirectly gripped, or a target directly or indirectly operated by the end effector of the robot, which is not limited to the hand. It may be a target that is directly or indirectly operated by a person.
  • the configuration conditions of the model include physical conditions for moving the model representing the operation target in the simulation space in the same manner as reality, and include either the condition representing the flexibility of the operation target or the condition representing the viscosity. Good.
  • the operation target may include any of a flexible object, a liquid, and a gas.
  • the flexible material is a material having flexibility, and includes, for example, a cable formed of rubber, paper or cloth.
  • the robot may hold the container in which the liquid or the gas as the operation target is stored.
  • the robot may hold the nozzle that injects the gas, which is the operation target, and blow the gas to another member.
  • the simulation device 10 By using the simulation device 10 according to the present embodiment to generate a learning model that predicts the movement of the representative point of the operation target, even if the operation target has a large calculation load of simulation, such as a flexible object, a liquid, and a gas, It is possible to predict the movement of the representative point of the operation target by calculation using a learning model with a relatively small calculation load, reduce the calculation load required for simulation of the movement of the operation target, and reduce the amount of calculation.
  • a large calculation load of simulation such as a flexible object, a liquid, and a gas
  • the second setting unit 12 sets the condition of the external force applied to the operation target.
  • the external force applied to the operation target may include an external force applied directly or indirectly by the robot to the operation target.
  • the external force applied to the operation target may include an external force applied by a configuration other than the robot, such as an external force applied by the transport device.
  • the first simulation unit 13 simulates the movement of the operation target under the configuration conditions of the model representing the operation target and the external force applied to the operation target.
  • the first simulation unit 13 may simulate the movement of the operation target using an arbitrary method, but may use, for example, the particle method or the finite element method.
  • the generation unit 14 includes learning data including configuration conditions of a model representing an operation target, conditions of an external force applied to the operation target, and data representing movements of a plurality of representative points located on the surface of the operation target in the simulation by the first simulation unit 13. To generate.
  • the learning data generated by the generation unit 14 may be stored in the first storage unit 16 as learning data 16a.
  • the plurality of representative points may be located at any part of the operation target, but when they are located on the surface of the operation target, the movement of the outer shape of the operation target can be represented by relatively few representative points.
  • the generation unit 14 includes not only the learning data including the data representing the movements of the plurality of representative points located on the surface of the operation target, but also the configuration condition of the model representing the operation target, the condition of the external force applied to the operation target, and the first condition.
  • Learning data including data representing movements of a plurality of representative points located in a part of the operation target in the simulation by the simulation unit 13 may be generated.
  • the generation unit 14 inputs the configuration condition of the model representing the operation target, the condition of the external force applied to the model representing the operation target at a predetermined time of the simulation by the first simulation unit 13, and the data representing the movement of the plurality of representative points at the predetermined time.
  • Learning data may be generated that includes, as output data, data that is included as data and that represents movements of a plurality of representative points at a time after a predetermined time has elapsed from the predetermined time.
  • the predetermined time may be the minimum time in the simulation by the first simulation unit 13 or may be several times the minimum time.
  • the learning model can predict the movement of the representative point after the lapse of a predetermined time, and by repeatedly executing the prediction using the learning model, the movement of the representative point at any time can be predicted.
  • the input data included in the learning data is data input to the learning model in supervised learning of the learning model.
  • the output data included in the learning data is data that is compared with the output of the learning model in supervised learning of the learning model, and is data that indicates a correct answer.
  • the surface of the operation target is the liquid surface of the liquid
  • movements of the plurality of representative points may be represented by vertical movements of the liquid surface at a plurality of positions.
  • the first simulation unit 13 may simulate the movement of the plurality of particles using a model in which the liquid that is the operation target is decomposed into a plurality of particles.
  • the configuration condition of the model representing the operation target may include the conditions regarding the number of particles, the size of the particle, and the interaction between the particles, and the first simulation unit 13 uses a plurality of particles representing the operation target by the particle method.
  • the movement of particles may be simulated.
  • the data representing the movement of the plurality of representative points located on the liquid surface of the liquid is the movement of some of the particles located on the liquid surface of the liquid at a predetermined time of the simulation by the first simulation unit 13 among the plurality of particles. May be data representing.
  • the first simulation unit 13 may simulate the movement of the node by using a model in which the operation target is decomposed into a plurality of constituent elements connected by the node.
  • the configuration condition of the model representing the operation target may include conditions regarding the number of components and nodes, the size of the component, the shape of the component, and the first simulation unit 13 uses the finite element method to determine the operation target. It is possible to simulate the movement of a plurality of nodes that represent the. Further, the plurality of representative points may be located on the surface of the operation target. The number of the plurality of representative points located on the surface of the operation target may be smaller than the number of nodes.
  • the calculation load of the learning model can be reduced and the amount of calculation can be reduced as compared with the case of predicting the movement of the.
  • the learning unit 15 inputs the configuration condition of the model representing the operation target, the condition of the external force applied to the operation target, and the initial condition of the plurality of representative points located on the surface of the operation target by the supervised learning using the learning data.
  • a learning model that outputs data representing the movements of a plurality of representative points is generated.
  • the learning model generated by the learning unit 15 may be stored in the first storage unit 16 as the learning model 16b.
  • the learning model 16b generated by the learning unit 15 may be, for example, a model using a neural network, and the learning model 16b is generated by optimizing the weighting parameter of the neural network or the like with respect to the learning data by the error back propagation method. May be generated.
  • the second simulation unit 17 simulates the movement of the robot.
  • the second simulation section 17 simulates the movement of the robot hand.
  • the second simulation unit 17 refers to the robot hand data 18a stored in the second storage unit 18 to simulate the operation of the robot hand in the simulation space.
  • the robot hand data 18a may include data about the trajectory of the taught robot hand, data about the dimensions of the arms that make up the robot hand, data about the torque of the servo motors that make up the robot hand, and the like.
  • the second simulation unit 17 may refer to the environment data 18b stored in the second storage unit 18 and perform a simulation of the surrounding environment together with the operation of the robot hand.
  • the environment data 18b includes data on the temperature and humidity of the environment in which the robot hand is installed, data on a transfer device and a processing device used together with the robot hand, and data on workers and obstacles that may interfere with the robot hand. Good.
  • the second simulation unit 17 may simulate the operation of the robot hand so as to cooperate with the transfer device and the processing device while avoiding the interference with the worker or the obstacle.
  • the prediction unit 19 inputs the conditions of the external force applied to the operation target by the robot in the simulation by the second simulation unit 17 and the configuration conditions of the model representing the operation target to the learning model 16b, and predicts the movements of the plurality of representative points.
  • the prediction unit 19 predicts the movements of a plurality of representative points located on the surface of the operation target, based on the data output from the learning model 16b, without directly simulating the movement of the model representing the operation target.
  • the second simulation unit 17 combines the movements of the plurality of representative points predicted by the prediction unit 19 and the simulated movements of the robot hand. For example, when the operation target is a liquid contained in a container and the robot hand grips and moves the container, the second simulation unit 17 simulates the operation of the robot hand, and the prediction unit 19 converts the liquid into a container. The second simulation unit 17 predicts the movement of the liquid surface of the entered liquid, and synthesizes them to perform the entire simulation including the robot hand and the operation target.
  • the learning model predicts the movement of the representative point of the model representing the operation target with a relatively small calculation load, and synthesizes the movement of the robot hand with the result of simulation by an arbitrary method, thereby Also, the calculation load required for the entire simulation including the operation target can be reduced, and the calculation amount can be reduced.
  • FIG. 4 is a flowchart of the first process executed by the simulation device 10 according to the present embodiment.
  • the first process is a process executed by the first processing unit 20 of the simulation device 10, and is a process of generating a learning model that predicts the movement of a plurality of representative points of the operation target.
  • the simulation device 10 sets the configuration conditions of the model representing the operation target (S10), the conditions of the external force applied to the operation target (S11), and the initial conditions of the operation target (S12).
  • the simulation device 10 simulates the movement of the operation target for a predetermined time (S13).
  • the predetermined time may be the minimum time in the simulation, or may be several times as long as the minimum time.
  • the simulation device 10 acquires values representing the movements of a plurality of representative points located on the surface of the operation target (S14).
  • the simulation apparatus 10 includes, as input data, model configuration conditions representing an operation target, external force conditions at the initial time of simulation, and data representing movements of a plurality of representative points at the initial time, and after a predetermined time has elapsed from the initial time.
  • Learning data including data representing movements of a plurality of representative points at time as output data is generated (S15).
  • the simulation device 10 again sets the configuration condition (S10), the external force condition (S11), and the initial condition (S12), and operates.
  • the movement of the target is simulated (S13), and learning data is generated (S14, S15).
  • the setting of the configuration condition (S10) may be omitted.
  • the initial condition of the operation target in the next simulation may be determined based on the data representing the motion of the operation target obtained by the immediately preceding simulation.
  • the simulation device 10 uses the learning data to generate and store the learning model that outputs the data representing the movements of the plurality of representative points (S17). .
  • the first process ends.
  • FIG. 5 is a flowchart of the second process executed by the simulation device 10 according to this embodiment.
  • the second process is a process executed by the second processing unit 30 of the simulation apparatus 10, and is a process of simulating the whole including the robot hand and the operation target by using the learning model generated by the first process.
  • the simulation device 10 sets the configuration condition of the model representing the operation target (S18), sets the initial condition of the operation target (S19), and sets the condition of the external force applied to the operation target (S20).
  • the condition of the external force applied to the operation target may be determined based on the scheduled motion of the robot hand.
  • the simulation device 10 outputs data representing the movement of the operation target by the learning model (S21), and transforms the model representing the operation target in the simulation space (S22).
  • the simulation device 10 simulates the movements of the robot hand and the surrounding environment for a predetermined time, and synthesizes them with the deformation of the model representing the operation target (S23).
  • the predetermined time may be the same as the predetermined time in the first process, may be the minimum time in the simulation, or may be several times as long as the minimum time.
  • the simulation apparatus 10 sets the condition of the external force applied to the operation target based on the next operation of the robot hand (S20), and predicts the movement of the operation target by the learning model. (S21), the model representing the operation target is deformed (S22), and the movements of the robot hand and the surrounding environment and the deformation of the model representing the operation target are combined (S23).
  • the simulation apparatus 10 writes the simulation result in the storage unit or displays it on the display unit, and ends the second process.
  • FIG. 6 is a flowchart of the processing executed by the conventional simulation device.
  • the processing by the conventional simulation apparatus is different from the second processing by the simulation apparatus 10 according to the present embodiment in that the processing (S103) of simulating the movement of the operation target for a predetermined time is executed.
  • the configuration condition of the model representing the operation target is set (S100)
  • the initial condition of the operation target is set (S101)
  • the condition of the external force applied to the operation target is set (S102).
  • the condition of the external force applied to the operation target may be determined based on the scheduled motion of the robot hand.
  • the conventional simulation device simulates the movement of the operation target for a predetermined time (S103).
  • the process of simulating the movement of the operation target over a predetermined time (S103) is a process performed by using the finite element method or the particle method, and generally has a large calculation load and is relatively long before a result is obtained. It takes time.
  • a conventional simulation device deforms a model representing an operation target in a simulation space according to a simulation result of a motion of the operation target (S104), simulates movements of the robot hand and the surrounding environment for a predetermined time, and represents the operation target. And the transformation of (S105).
  • the conventional simulation apparatus sets the condition of the external force applied to the operation target based on the next operation of the robot hand (S102) and simulates the movement of the operation target for a predetermined time ( S103), the model representing the operation target is deformed (S104), and the movements of the robot hand and the surrounding environment and the deformation of the model representing the operation target are combined (S105).
  • the conventional simulation device simulates the movement of the operation target for a predetermined time by the finite element method or the particle method each time the simulation proceeds for a predetermined time.
  • the simulation apparatus 10 according to the present embodiment calculates the movement of the representative point of the operation target by the learning model every time the simulation proceeds for a predetermined time. Due to such a difference, the simulation device 10 according to the present embodiment can reduce the calculation load required for the simulation of the motion of the operation target and the calculation amount as compared with the conventional simulation device.
  • FIG. 7 is a schematic diagram of the movement of the second operation target T2 simulated by the simulation device 10 according to the present embodiment.
  • the second operation target T2 is paper or cloth and is a flexible object.
  • the second operation target T2 is grasped and moved by the robot.
  • the simulation apparatus 10 does not damage or entangle the second operation target T2, which is a flexible object, but moves the robot in a short time. Simulate.
  • the second operation target T2 in a stationary state is shown on the left side, and the state in which the second operation target T2 is deformed by the robot is shown on the right side.
  • the simulation device 10 sets the configuration conditions of the model representing the second operation target T2 and the conditions of the external force applied to the second operation target T2, and under those conditions, the second operation target T2 is set by the existing simulation method. Simulate the movement of.
  • the simulation apparatus 10 may simulate the movement of a plurality of nodes by a so-called finite element method using a model in which the second operation target T2, which is a flexible object, is decomposed into a plurality of constituent elements connected by the nodes.
  • the model configuration conditions may include conditions regarding the number of components and nodes, the size of the components, and the shape of the components.
  • the condition of the external force may include the condition of the force applied by the robot.
  • the simulation device 10 may use, as the learning data, data representing the movement of some of the nodes located on the surface of the second operation target T2 among the movements of the plurality of nodes simulated by the finite element method.
  • the data representing the movement of the node may include data representing at least one of the position, velocity, momentum, and acceleration of the node.
  • the first node p11, the second node p12, the third node p13, the fourth node p14, and the fifth node p15 are shown as some of the nodes located on the surface of the second operation target T2. Note that these are merely examples, and the nodes serving as the plurality of representative points may include points other than these.
  • the first node p11, the second node p12, the third node p13, the fourth node p14, and the fifth node p15 are located on a straight line on the left side. The state transitions to the state on the right side where the positions of the first node p11, the second node p12, the third node p13, the fourth node p14, and the fifth node p15 vary.
  • the simulation apparatus 10 includes a configuration condition of a model representing the second operation target T2, a condition of an external force applied to the second operation target T2, and a plurality of representative points (first to fifth positions) located on the surface of the second operation target T2 in the simulation.
  • Learning data including data representing the movement of a node is generated.
  • the simulation apparatus 10 performs the supervised learning using the learning data to configure the model representing the second operation target T2, the condition of the external force applied to the second operation target T2, and the plurality of representative points (first to fifth points).
  • a learning model that outputs the data representing the movements of a plurality of representative points (first to fifth nodes) is generated by using the initial condition of the (node) as an input.
  • the learning model predicts at least one of positions, velocities, momentums, and accelerations of a plurality of representative points without directly executing a simulation that reproduces a physical phenomenon.
  • the generation unit (14) includes, as input data, the configuration condition, the condition of the external force at a predetermined time of the simulation by the first simulation unit (13), and data representing the movement of the plurality of representative points at the predetermined time.
  • Generating the learning data including, as output data, data representing movements of the plurality of representative points at a time after a predetermined time has elapsed from the predetermined time,
  • the simulation device (10) according to claim 1.
  • a second simulation section (17) for simulating the movement of the robot A prediction unit (19) that predicts the movements of the plurality of representative points by inputting the conditions of the external force applied to the operation target by the robot and the constituent conditions in the simulation by the second simulation unit (17) to the learning model. And, The second simulation section (17) combines the movements of the plurality of representative points predicted by the prediction section (19) and the simulated movements of the robot, The simulation device (10) according to claim 1 or 2.
  • the operation target includes any one of a flexible object, a liquid and a gas,
  • the simulation device (10) according to any one of claims 1 to 3.
  • the first simulation unit (13) simulates the movement of the plurality of particles using the model obtained by decomposing the liquid into a plurality of particles,
  • the data representing the movements of the plurality of representative points represent the movements of some of the plurality of particles located on the liquid surface of the liquid at a predetermined time of the simulation by the first simulation section (13).
  • the simulation device (10) according to claim 5.
  • the configuration condition includes any one of a condition representing flexibility of the operation target and a condition representing viscosity.
  • Simulation device (10) according to any one of claims 1 to 6.
  • the first simulation unit (13) simulates the movement of the node using the model in which the operation target is decomposed into a plurality of constituent elements connected by the node, The number of the plurality of representative points is smaller than the number of the nodes, Simulation device (10) according to any one of claims 1 to 7.
  • the processor provided in the simulation device (10) A first setting unit (11) for setting a configuration condition of a model representing an operation target, A second setting unit (12) for setting a condition of an external force applied to the operation target, A first simulation unit (13) for simulating the movement of the operation target under the configuration condition and the external force condition; A generation unit (14) that generates learning data including the configuration condition, the external force condition, and data representing the movements of a plurality of representative points located on the surface of the operation target in the simulation by the first simulation unit (13), And a learning model that outputs data representing the movements of the plurality of representative points by inputting the configuration condition, the condition of the external force, and the initial condition of the plurality of representative points by supervised learning using the learning data.
  • Learning section (15) Simulation program to function as.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Human Computer Interaction (AREA)
  • Numerical Control (AREA)
  • Computational Linguistics (AREA)

Abstract

操作対象の動きのシミュレーションに要する演算負荷を低減するシミュレーション装置、シミュレーション方法及びシミュレーションプログラムを提供する。シミュレーション装置は、操作対象を表すモデルの構成条件を設定する第1設定部と、操作対象に加わる外力の条件を設定する第2設定部と、構成条件及び外力の条件の下で、操作対象の動きをシミュレーションする第1シミュレーション部と、構成条件、外力の条件及び第1シミュレーション部によるシミュレーションにおける操作対象の表面に位置する複数の代表点の動きを表すデータを含む学習データを生成する生成部と、学習データを用いた教師有り学習により、構成条件、外力の条件及び複数の代表点の初期条件を入力として、複数の代表点の動きを表すデータを出力する学習モデルを生成する学習部と、を備える。

Description

シミュレーション装置、シミュレーション方法及びシミュレーションプログラム
 本発明は、シミュレーション装置、シミュレーション方法及びシミュレーションプログラムに関する。
 従来、ロボットにより操作対象に様々な処理を行うことがある。ロボットの動作は、シミュレーションによって検証され、シミュレーション結果を参照しながら設計されることがある。
 例えば下記特許文献1には、工業用機械の動作をシミュレーションして、シミュレーション結果及び工業用機械の動作からの実際のデータを記憶したり、比較したりする方法が記載されている。
特表2008-542888号公報
 ロボットにより操作される操作対象が液体であったり、可撓性を有する柔軟物であったりする場合に、ロボットの動きとあわせて操作対象の動きをシミュレーションすることがある。操作対象の動きは、有限要素法や粒子法といった既存の技術によってシミュレーションすることができる。
 しかしながら、操作対象の動きを精度良くシミュレーションすると演算負荷が大きくなり、シミュレーションに要する時間が長くなることがある。
 そこで、本発明は、操作対象の動きのシミュレーションに要する演算負荷を低減するシミュレーション装置、シミュレーション方法及びシミュレーションプログラムを提供する。
 本開示の一態様に係るシミュレーション装置は、操作対象を表すモデルの構成条件を設定する第1設定部と、操作対象に加わる外力の条件を設定する第2設定部と、構成条件及び外力の条件の下で、操作対象の動きをシミュレーションする第1シミュレーション部と、構成条件、外力の条件及び第1シミュレーション部によるシミュレーションにおける操作対象の表面に位置する複数の代表点の動きを表すデータを含む学習データを生成する生成部と、学習データを用いた教師有り学習により、構成条件、外力の条件及び複数の代表点の初期条件を入力として、複数の代表点の動きを表すデータを出力する学習モデルを生成する学習部と、を備える。
 この態様によれば、操作対象を表すモデルの動きを任意の手法によりシミュレーションして、そのシミュレーション結果を用いた教師有り学習により学習モデルを生成することで、演算負荷の大きいシミュレーションを比較的演算負荷の小さい学習モデルによる代表点の動きの予測に置き換えることができ、操作対象の動きのシミュレーションに要する演算負荷を低減することができる。
 上記態様において、生成部は、構成条件、第1シミュレーション部によるシミュレーションの所定時刻における外力の条件及び所定時刻における複数の代表点の動きを表すデータを入力データとして含み、所定時刻から所定時間経過後の時刻における複数の代表点の動きを表すデータを出力データとして含む学習データを生成してもよい。
 この態様によれば、学習モデルによって所定時間経過後の代表点の動きを予測することができ、学習モデルによる予測を繰り返し実行することで、任意の時刻における代表点の動きを予測することができる。
 上記態様において、ロボットの動きをシミュレーションする第2シミュレーション部と、第2シミュレーション部によるシミュレーションにおいてロボットにより操作対象に加えられる外力の条件及び構成条件を学習モデルに入力し、複数の代表点の動きを予測する予測部と、をさらに備え、第2シミュレーション部は、予測部により予測された複数の代表点の動きと、シミュレーションしたロボットの動きとを合成してもよい。
 この態様によれば、学習モデルによって、操作対象を表すモデルの代表点の動きを比較的演算負荷を小さくして予測し、ロボットの動きを任意の手法によりシミュレーションした結果と合成することで、ロボット及び操作対象を含む全体のシミュレーションに要する演算負荷を低減することができる。
 上記態様において、操作対象は、柔軟物、液体及び気体のいずれかを含んでもよい。
 この態様によれば、シミュレーションの演算負荷が大きい操作対象であっても、比較的演算負荷の小さい学習モデルによる演算によって操作対象の代表点の動きを予測することができ、操作対象の動きのシミュレーションに要する演算負荷を低減することができる。
 上記態様において、操作対象が液体であるとき、操作対象の表面は、液体の液面であり、複数の代表点の動きは、複数の位置における液面の鉛直方向の動きによって表されてもよい。
 この態様によれば、学習モデルによって液体の液面に位置する複数の代表点の動きを予測することで、液体全体の動きを予測する場合よりも学習モデルの演算負荷を小さくすることができる。
 上記態様において、第1シミュレーション部は、液体を複数の粒子に分解したモデルを用いて、複数の粒子の動きをシミュレーションし、複数の代表点の動きを表すデータは、複数の粒子のうち、第1シミュレーション部によるシミュレーションの所定時刻における液体の液面に位置する一部の粒子の動きを表すデータであってもよい。
 この態様によれば、液体全体の動きを粒子モデルによってシミュレーションした結果のうち、液面に位置する粒子の動きを再現する学習モデルを生成することができ、液体全体の動きを予測する場合よりも学習モデルの演算負荷を小さくすることができる。
 上記態様において、構成条件は、操作対象の可撓性を表す条件及び粘性を表す条件のいずれかを含んでもよい。
 この態様によれば、シミュレーションの演算負荷が大きい操作対象であっても、比較的演算負荷の小さい学習モデルによる演算によって操作対象の代表点の動きを予測することができ、操作対象の動きのシミュレーションに要する演算負荷を低減することができる。
 上記態様において、第1シミュレーション部は、操作対象を節点により接続された複数の構成要素に分解したモデルを用いて、節点の動きをシミュレーションし、複数の代表点の数は、節点の数より少なくてもよい。
 この態様によれば、操作対象全体の動きを有限要素法によってシミュレーションした結果のうち、操作対象の表面に位置する節点の動きを再現する学習モデルを生成することができ、操作対象を表す節点全体の動きを予測する場合よりも学習モデルの演算負荷を小さくすることができる。
 本開示の他の態様に係るシミュレーション方法は、操作対象を表すモデルの構成条件を設定することと、操作対象に加わる外力の条件を設定することと、構成条件及び外力の条件の下で、操作対象の動きをシミュレーションすることと、構成条件、外力の条件及びシミュレーションにおける操作対象の表面に位置する複数の代表点の動きを表すデータを含む学習データを生成することと、学習データを用いた教師有り学習により、構成条件、外力の条件及び複数の代表点の初期条件を入力として、複数の代表点の動きを表すデータを出力する学習モデルを生成することと、を含む。
 この態様によれば、操作対象を表すモデルの動きを任意の手法によりシミュレーションして、そのシミュレーション結果を用いた教師有り学習により学習モデルを生成することで、演算負荷の大きいシミュレーションを比較的演算負荷の小さい学習モデルによる代表点の動きの予測に置き換えることができ、操作対象の動きのシミュレーションに要する演算負荷を低減することができる。
 本開示の他の態様に係るシミュレーションプログラムは、シミュレーション装置に備えられたプロセッサを、操作対象を表すモデルの構成条件を設定する第1設定部、操作対象に加わる外力の条件を設定する第2設定部、構成条件及び外力の条件の下で、操作対象の動きをシミュレーションする第1シミュレーション部、構成条件、外力の条件及び第1シミュレーション部によるシミュレーションにおける操作対象の表面に位置する複数の代表点の動きを表すデータを含む学習データを生成する生成部、及び学習データを用いた教師有り学習により、構成条件、外力の条件及び複数の代表点の初期条件を入力として、複数の代表点の動きを表すデータを出力する学習モデルを生成する学習部、として機能させる。
 この態様によれば、操作対象を表すモデルの動きを任意の手法によりシミュレーションして、そのシミュレーション結果を用いた教師有り学習により学習モデルを生成することで、演算負荷の大きいシミュレーションを比較的演算負荷の小さい学習モデルによる代表点の動きの予測に置き換えることができ、操作対象の動きのシミュレーションに要する演算負荷を低減することができる。
 本発明によれば、操作対象の動きのシミュレーションに要する演算負荷を低減するシミュレーション装置、シミュレーション方法及びシミュレーションプログラムが提供される。
本発明の実施形態に係るシミュレーション装置によりシミュレーションされる第1操作対象の動きの概略図である。 本実施形態に係るシミュレーション装置のハードウェア構成を示す図である。 本実施形態に係るシミュレーション装置の機能構成を示す図である。 本実施形態に係るシミュレーション装置により実行される第1処理のフローチャートである。 本実施形態に係るシミュレーション装置により実行される第2処理のフローチャートである。 従来のシミュレーション装置により実行される処理のフローチャートである。 本実施形態に係るシミュレーション装置によりシミュレーションされる第2操作対象の動きの概略図である。
 以下、本発明の一側面に係る実施の形態(以下、「本実施形態」と表記する。)を、図面に基づいて説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
 §1 適用例
 図1は、本発明の実施形態に係るシミュレーション装置10によりシミュレーションされる第1操作対象T1の動きの概略図である。第1操作対象T1は、容器オブジェクトObに入っている液体である。容器オブジェクトObは、ロボットハンドHにより把持され、動かされる。シミュレーション装置10は、ロボットハンドHにより容器オブジェクトObを把持して移動させる場合に、液体である第1操作対象T1が容器オブジェクトObからこぼれないように、しかし短時間で移動させるロボットハンドHの動作をシミュレーションする。図1では、静止状態にある第1操作対象T1を左側に示し、ロボットハンドHにより容器オブジェクトObが動かされ、第1操作対象T1の液面が揺らいでいる状態を右側に示している。
 シミュレーション装置10は、第1操作対象T1を表すモデルの構成条件と、第1操作対象T1に加わる外力の条件とを設定し、それらの条件の下で、既存のシミュレーション手法により第1操作対象T1の動きをシミュレーションする。シミュレーション装置10は、例えば、液体である第1操作対象T1を複数の粒子に分解したモデルを用いて、いわゆる粒子法によって複数の粒子の動きをシミュレーションしてよい。この場合、モデルの構成条件は、粒子径及び粒子間の相互作用を定める条件を含んでよい。また、外力の条件は、容器オブジェクトObによる境界条件と、ロボットハンドHにより加えられる力の条件とを含んでよい。
 シミュレーション装置10は、粒子法によってシミュレーションした複数の粒子の動きのうち、第1操作対象T1の液面に位置する一部の粒子の動きを表すデータを学習データとしてよい。ここで、粒子の動きを表すデータは、粒子の位置、速度、運動量及び加速度の少なくともいずれかを表すデータを含んでよい。第1操作対象T1のように操作対象が液体であるとき、操作対象の表面は、液体の液面であり、複数の代表点の動きは、複数の位置における液面の鉛直方向の動きによって表されてよい。シミュレーション装置10は、例えば、容器オブジェクトObの内部を3次元格子に区切り、容器オブジェクトObを横断するXY平面の各格子について、最もZ方向(鉛直方向)の値が大きい粒子を選択し、当該粒子のXYZ座標を代表点の一つとする処理を繰り返して、第1操作対象T1の液面に位置する一部の粒子の動きを表すデータを生成してよい。
 図1では、第1操作対象T1の液面に位置する一部の粒子として、第1粒子p1、第2粒子p2、第3粒子p3、第4粒子p4、第5粒子p5、第6粒子p6、第7粒子p7、第8粒子p8、第9粒子p9、第10粒子p10、第11粒子p11及び第12粒子p12を示している。第1粒子p1、第2粒子p2、第3粒子p3、第4粒子p4、第5粒子p5、第6粒子p6、第7粒子p7、第8粒子p8、第9粒子p9、第10粒子p10、第11粒子p11及び第12粒子p12は、ある時刻において第1操作対象T1の液面に位置する代表点である。ここで、第1操作対象T1の液面に位置する粒子は、時々刻々と変化してよく、必ずしも同じ粒子でなくてよい。本例では、ロボットハンドHにより容器オブジェクトObが動かされることにより、第1粒子p1、第2粒子p2、第3粒子p3、第4粒子p4、第5粒子p5及び第6粒子p6の高さがほとんど同じである左側の状態から、液体が攪拌されて第1操作対象T1の液面に位置する粒子が変わり、第7粒子p7、第8粒子p8、第9粒子p9、第10粒子p10、第11粒子p11及び第12粒子の高さがばらついている右側の状態に遷移している。
 シミュレーション装置10は、第1操作対象T1を表すモデルの構成条件、第1操作対象T1に加わる外力の条件及びシミュレーションにおける第1操作対象T1の液面に位置する複数の代表点(第1~第12粒子等)の動きを表すデータを含む学習データを生成する。そして、シミュレーション装置10は、学習データを用いた教師有り学習により、第1操作対象T1を表すモデルの構成条件、第1操作対象T1に加わる外力の条件及び複数の代表点(第1~第12粒子等)の初期条件を入力として、複数の代表点(第1~第12粒子等)の動きを表すデータを出力する学習モデルを生成する。学習モデルは、物理現象を再現するシミュレーションを直接実行することなく、複数の代表点の位置、速度、運動量及び加速度の少なくともいずれかを予測する。
 このように、第1操作対象T1を表すモデルの動きを任意の手法によりシミュレーションして、そのシミュレーション結果を用いた教師有り学習により学習モデルを生成することで、演算負荷の大きいシミュレーションを比較的演算負荷の小さい学習モデルによる代表点の動きの予測に置き換えることができ、操作対象の動きのシミュレーションに要する演算負荷を低減することができ、演算量を減らすことができる。
 §2 構成例
 [ハードウェア構成]
 図2は、本実施形態に係るシミュレーション装置10のハードウェア構成を示す図である。シミュレーション装置10は、CPU(Central Processing Unit)10a、RAM(Random Access Memory)10b、ROM(Read Only Memory)10c、通信部10d、入力部10e及び表示部10fを備える。CPU10a、RAM10b、ROM10c、通信部10d、入力部10e及び表示部10fは、バスを介して相互にデータ送受信可能に接続される。なお、本例ではシミュレーション装置10が一台のコンピュータで構成される場合について説明するが、シミュレーション装置10は、複数のコンピュータが組み合わされて実現されてもよい。また、図2で示す構成は一例であり、シミュレーション装置10はこれら以外の構成を有してもよいし、これらの構成のうち一部を有さなくてもよい。
 <CPU>
 CPU10aは、シミュレーション装置10に備えられたプロセッサであり、RAM10b及びROM10cに記憶されたプログラムの実行に関する制御やデータの演算、加工を行う。CPU10aは、既存のシミュレーション手法による操作対象の動きのシミュレーション結果を再現する学習モデルを生成するプログラム(シミュレーションプログラム)を実行する演算部である。CPU10aは、入力部10eや通信部10dから種々のデータを受け取り、データの演算結果を表示部10fに表示したり、RAM10bやROM10cに格納したりする。
 <RAM>
 RAM10bは、シミュレーション装置10に備えられた記憶部であり、データの書き換えが可能なものである。RAM10bは、例えば半導体記憶素子で構成されてよい。RAM10bは、CPU10aが実行するシミュレーションプログラム及びシミュレーション空間でロボットや周辺環境を構成するためのデータ等を記憶してよい。なお、これらは例示であって、RAM10bには、これら以外のデータが記憶されていてもよいし、これらの一部が記憶されていなくてもよい。
 <ROM>
 ROM10cは、シミュレーション装置10に備えられた記憶部であり、データの読み出しが可能なものである。ROM10cは、例えば半導体記憶素子で構成されてよい。ROM10cは、例えばシミュレーションプログラムや、書き換えが行われないデータを記憶してよい。
 <通信部>
 通信部10dは、シミュレーション装置10を他の機器に接続するインターフェースである。通信部10dは、LAN(Local Area Network)やインターネット等の通信ネットワークに接続されてよい。
 <入力部>
 入力部10eは、ユーザからデータの入力を受け付けるものであり、例えば、キーボード、マウス等のポインティングデバイス及びタッチパネルを含んでよい。
 <表示部>
 表示部10fは、CPU10aによる演算結果を視覚的に表示するものであり、例えば、LCD(Liquid Crystal Display)により構成されてよい。表示部10fは、操作対象のシミュレーション結果であったり、ロボットと操作対象を含む全体のシミュレーション結果であったりを表示してよい。
 シミュレーションプログラムは、RAM10bやROM10c等のコンピュータによって読み取り可能な記憶媒体に記憶されて提供されてもよいし、通信部10dにより接続される通信ネットワークを介して提供されてもよい。シミュレーション装置10では、CPU10aがシミュレーションプログラムを実行することにより、次図を用いて説明する第1処理部20及び第2処理部30の動作が実現される。なお、これらの物理的な構成は例示であって、必ずしも独立した構成でなくてもよい。例えば、シミュレーション装置10は、CPU10aとRAM10bやROM10cが一体化したLSI(Large-Scale Integration)を備えていてもよい。
 [機能構成]
 図3は、本実施形態に係るシミュレーション装置10の機能構成を示す図である。シミュレーション装置10は、第1処理部20と第2処理部30とを備える。第1処理部20は、操作対象の動きを予測する学習モデルを生成する処理を行う。第2処理部30は、生成された学習モデルを用いて、ロボット及び操作対象を含む全体のシミュレーションを行う。第1処理部20は、第1設定部11、第2設定部12、第1シミュレーション部13、生成部14、学習部15及び第1記憶部16を含む。また、第2処理部30は、第2シミュレーション部17、第2記憶部18及び予測部19を含む。
 <第1設定部>
 第1設定部11は、操作対象を表すモデルの構成条件を設定する。ここで、操作対象は、例えばロボットハンドにより直接把持される対象であったり、間接的に把持される対象であったり、ハンドに限らないロボットのエンドエフェクタにより直接的又は間接的に操作される対象であったり、人により直接的又は間接的に操作される対象であったりしてよい。また、モデルの構成条件は、操作対象を表すモデルをシミュレーション空間で現実と同様に動かすための物理的条件を含み、操作対象の可撓性を表す条件及び粘性を表す条件のいずれかを含んでよい。操作対象は、柔軟物、液体及び気体のいずれかを含んでよい。柔軟物とは、可撓性を有する物であり、例えばゴムで形成されたケーブル、紙や布を含む。操作対象が液体又は気体である場合、ロボットにより操作対象である液体又は気体が格納された容器を把持することがある。また、操作対象が気体である場合、ロボットにより操作対象である気体を噴射するノズルを把持して、気体を他の部材に吹き付ける場合がある。
 本実施形態に係るシミュレーション装置10により、操作対象の代表点の動きを予測する学習モデルを生成することで、柔軟物、液体及び気体のようにシミュレーションの演算負荷が大きい操作対象であっても、比較的演算負荷の小さい学習モデルによる演算によって操作対象の代表点の動きを予測することができ、操作対象の動きのシミュレーションに要する演算負荷を低減することができ、演算量を減らすことができる。
 <第2設定部>
 第2設定部12は、操作対象に加わる外力の条件を設定する。操作対象に加わる外力は、操作対象に対してロボットにより直接的又は間接的に加えられる外力を含んでよい。また、操作対象に加わる外力は、例えば搬送装置により加えられる外力等のロボット以外の構成により加えられる外力を含んでよい。
 <第1シミュレーション部>
 第1シミュレーション部13は、操作対象を表すモデルの構成条件及び操作対象に加わる外力の条件の下で、操作対象の動きをシミュレーションする。第1シミュレーション部13は、任意の手法を用いて操作対象の動きをシミュレーションしてよいが、例えば、粒子法や有限要素法を用いてよい。
 <生成部>
 生成部14は、操作対象を表すモデルの構成条件、操作対象に加わる外力の条件及び第1シミュレーション部13によるシミュレーションにおける操作対象の表面に位置する複数の代表点の動きを表すデータを含む学習データを生成する。生成部14により生成された学習データは、第1記憶部16に学習データ16aとして記憶されてよい。ここで、複数の代表点は、操作対象の任意の部分に位置してよいが、操作対象の表面に位置する場合、操作対象の外形の動きを比較的少ない代表点によって表すことができる。なお、生成部14は、操作対象の表面に位置する複数の代表点の動きを表すデータを含む学習データのみならず、操作対象を表すモデルの構成条件、操作対象に加わる外力の条件及び第1シミュレーション部13によるシミュレーションにおける操作対象の一部に位置する複数の代表点の動きを表すデータを含む学習データを生成してもよい。
 生成部14は、操作対象を表すモデルの構成条件、第1シミュレーション部13によるシミュレーションの所定時刻に操作対象を表すモデルに加わる外力の条件及び所定時刻における複数の代表点の動きを表すデータを入力データとして含み、所定時刻から所定時間経過後の時刻における複数の代表点の動きを表すデータを出力データとして含む学習データを生成してよい。ここで、所定時間は、第1シミュレーション部13によるシミュレーションにおける最小時間であってもよいし、最小時間の数倍であってもよい。このように、学習モデルによって所定時間経過後の代表点の動きを予測することができ、学習モデルによる予測を繰り返し実行することで、任意の時刻における代表点の動きを予測することができる。なお、学習データに含まれる入力データとは、学習モデルの教師有り学習において学習モデルに入力されるデータである。また、学習データに含まれる出力データとは、学習モデルの教師有り学習において学習モデルの出力と比較されるデータであり、正解を示すデータである。
 操作対象が液体であるとき、操作対象の表面は、液体の液面であり、複数の代表点の動きは、複数の位置における液面の鉛直方向の動きによって表されてよい。学習モデルによって液体の液面に位置する複数の代表点の動きを予測することで、液体全体の動きを予測する場合よりも学習モデルの演算負荷を小さくすることができ、演算量を減らすことができる。
 操作対象が液体の場合、第1シミュレーション部13は、操作対象である液体を複数の粒子に分解したモデルを用いて、複数の粒子の動きをシミュレーションしてよい。この場合、操作対象を表すモデルの構成条件は、粒子の数、粒子の大きさ、粒子間の相互作用に関する条件を含んでよく、第1シミュレーション部13は、粒子法により操作対象を表す複数の粒子の動きをシミュレーションしてよい。そして、液体の液面に位置する複数の代表点の動きを表すデータは、複数の粒子のうち、第1シミュレーション部13によるシミュレーションの所定時刻における液体の液面に位置する一部の粒子の動きを表すデータであってよい。このように、液体全体の動きを粒子モデルによってシミュレーションした結果のうち、液面に位置する粒子の動きを再現する学習モデルを生成することができ、液体全体の動きを予測する場合よりも学習モデルの演算負荷を小さくすることができ、演算量を減らすことができる。
 また、第1シミュレーション部13は、操作対象を節点により接続された複数の構成要素に分解したモデルを用いて、節点の動きをシミュレーションしてよい。この場合、操作対象を表すモデルの構成条件は、構成要素及び節点の数、構成要素の大きさ、構成要素の形状に関する条件を含んでよく、第1シミュレーション部13は、有限要素法により操作対象を表す複数の節点の動きをシミュレーションしてよい。また、複数の代表点は、操作対象の表面に位置してよい。そして、操作対象の表面に位置する複数の代表点の数は、節点の数より少なくてよい。これにより、操作対象全体の動きを有限要素法によってシミュレーションした結果のうち、操作対象の表面に位置する一部の節点の動きを再現する学習モデルを生成することができ、操作対象を表す節点全体の動きを予測する場合よりも学習モデルの演算負荷を小さくすることができ、演算量を減らすことができる。
 <学習部>
 学習部15は、学習データを用いた教師有り学習により、操作対象を表すモデルの構成条件、操作対象に加わる外力の条件及び操作対象の表面に位置する複数の代表点の初期条件を入力として、複数の代表点の動きを表すデータを出力する学習モデルを生成する。学習部15により生成された学習モデルは、第1記憶部16に学習モデル16bとして記憶されてよい。学習部15により生成される学習モデル16bは、例えばニューラルネットワークを用いたモデルであってよく、誤差逆伝播法によりニューラルネットワークの重みパラメータ等を学習データに対して最適化することで学習モデル16bを生成してよい。
 <第2シミュレーション部>
 第2シミュレーション部17は、ロボットの動きをシミュレーションする。本実施形態では、第2シミュレーション部17は、ロボットハンドの動きをシミュレーションする。第2シミュレーション部17は、第2記憶部18に記憶されたロボットハンドデータ18aを参照して、シミュレーション空間におけるロボットハンドの動作をシミュレーションする。ロボットハンドデータ18aは、ティーチングされたロボットハンドの軌跡に関するデータ、ロボットハンドを構成するアームの寸法に関するデータ及びロボットハンドを構成するサーボモータのトルクに関するデータ等を含んでよい。第2シミュレーション部17は、第2記憶部18に記憶された環境データ18bを参照して、ロボットハンドの動作とあわせて周辺環境のシミュレーションを行ってもよい。環境データ18bは、ロボットハンドが設置された環境の気温や湿度等に関するデータ、ロボットハンドと共に用いられる搬送装置や加工装置等に関するデータ及びロボットハンドと干渉し得る作業者や障害物に関するデータ等を含んでよい。第2シミュレーション部17は、作業者や障害物との干渉を避けながら、搬送装置や加工装置と協働するようにロボットハンドの動作をシミュレーションしてもよい。
 <予測部>
 予測部19は、第2シミュレーション部17によるシミュレーションにおいてロボットにより操作対象に加えられる外力の条件及び操作対象を表すモデルの構成条件を学習モデル16bに入力し、複数の代表点の動きを予測する。予測部19は、学習モデル16bから出力されるデータに基づいて、操作対象を表すモデルの動きを直接シミュレートすることなく、操作対象の表面に位置する複数の代表点の動きを予測する。
 第2シミュレーション部17は、予測部19により予測された複数の代表点の動きと、シミュレーションしたロボットハンドの動きとを合成する。例えば、操作対象が容器に入った液体であり、ロボットハンドにより容器を把持して移動させる動作をシミュレーションする場合、第2シミュレーション部17によりロボットハンドの動作をシミュレーションして、予測部19により容器に入った液体の液面の動きを予測し、第2シミュレーション部17は、それらを合成することで、ロボットハンド及び操作対象を含む全体のシミュレーションを行う。このように、学習モデルによって、操作対象を表すモデルの代表点の動きを比較的演算負荷を小さくして予測し、ロボットハンドの動きを任意の手法によりシミュレーションした結果と合成することで、ロボットハンド及び操作対象を含む全体のシミュレーションに要する演算負荷を低減することができ、演算量を減らすことができる。
 §3 動作例
 図4は、本実施形態に係るシミュレーション装置10により実行される第1処理のフローチャートである。第1処理は、シミュレーション装置10の第1処理部20により実行される処理であり、操作対象の複数の代表点の動きを予測する学習モデルを生成する処理である。
 はじめに、シミュレーション装置10は、操作対象を表すモデルの構成条件を設定し(S10)、操作対象に加わる外力の条件を設定し(S11)、操作対象の初期条件を設定する(S12)。
 その後、シミュレーション装置10は、操作対象の動きを所定時間にわたってシミュレーションする(S13)。ここで、所定時間は、シミュレーションにおける最小時間であってもよいし、最小時間の数倍の時間であってもよい。
 シミュレーション装置10は、操作対象の表面に位置する複数の代表点の動きを表す値を取得する(S14)。そして、シミュレーション装置10は、操作対象を表すモデル構成条件、シミュレーションの初期時刻における外力の条件及び初期時刻における複数の代表点の動きを表すデータを入力データとして含み、初期時刻から所定時間経過後の時刻における複数の代表点の動きを表すデータを出力データとして含む学習データを生成する(S15)。
 その後、学習データの生成を終了しない場合(S16:NO)、シミュレーション装置10は、再び構成条件の設定(S10)、外力の条件の設定(S11)、初期条件の設定(S12)を行い、操作対象の動きをシミュレーションして(S13)、学習データを生成する(S14,S15)。ここで、同一の操作対象についてシミュレーションを行う場合、構成条件の設定(S10)は省略してよい。また、同一の操作対象について連続した動きのシミュレーションを行う場合、直前のシミュレーションにより得られた操作対象の動きを表すデータに基づいて、次のシミュレーションにおける操作対象の初期条件を定めてよい。
 一方、学習データの生成を終了する場合(S16:YES)、シミュレーション装置10は、学習データを用いて、複数の代表点の動きを表すデータを出力する学習モデルを生成し、保存する(S17)。以上により、第1処理が終了する。
 図5は、本実施形態に係るシミュレーション装置10により実行される第2処理のフローチャートである。第2処理は、シミュレーション装置10の第2処理部30により実行される処理であり、第1処理により生成された学習モデルを用いて、ロボットハンド及び操作対象を含む全体をシミュレーションする処理である。
 はじめに、シミュレーション装置10は、操作対象を表すモデルの構成条件を設定し(S18)、操作対象の初期条件を設定し(S19)、操作対象に加わる外力の条件を設定する(S20)。ここで、操作対象に加わる外力の条件は、ロボットハンドについて予定されている動作に基づいて定められてよい。
 その後、シミュレーション装置10は、学習モデルにより操作対象の動きを表すデータを出力し(S21)、シミュレーション空間における操作対象を表すモデルを変形させる(S22)。また、シミュレーション装置10は、ロボットハンド及び周辺環境の動きを所定時間にわたってシミュレーションし、操作対象を表すモデルの変形と合成する(S23)。ここで、所定時間は、第1処理における所定時間と同一であってよく、シミュレーションにおける最小時間であってもよいし、最小時間の数倍の時間であってもよい。
 シミュレーションを終了しない場合(S24:NO)、シミュレーション装置10は、次のロボットハンドの動作に基づき、操作対象に加わる外力の条件を設定し(S20)、学習モデルにより操作対象の動きを予測して(S21)、操作対象を表すモデルを変形させ(S22)、ロボットハンド及び周辺環境の動きと操作対象を表すモデルの変形とを合成する(S23)。
 一方、シミュレーションを終了する場合(S24:YES)、シミュレーション装置10は、シミュレーション結果を記憶部に書き出したり、表示部に表示したりして、第2処理を終了する。
 図6は、従来のシミュレーション装置により実行される処理のフローチャートである。従来のシミュレーション装置による処理は、操作対象の動きを所定時間にわたってシミュレーションする処理(S103)を実行する点で、本実施形態に係るシミュレーション装置10による第2処理と相違する。
 従来のシミュレーション装置による処理では、はじめに操作対象を表すモデルの構成条件を設定し(S100)、操作対象の初期条件を設定し(S101)、操作対象に加わる外力の条件を設定する(S102)。ここで、操作対象に加わる外力の条件は、ロボットハンドについて予定されている動作に基づいて定められてよい。
 その後、従来のシミュレーション装置は、操作対象の動きを所定時間にわたってシミュレーション(S103)する。ここで、操作対象の動きを所定時間にわたってシミュレーションする処理(S103)は、有限要素法や粒子法を用いて行われる処理であり、一般的に演算負荷が大きく、結果を得るまでに比較的長い時間を要する。従来のシミュレーション装置は、操作対象の動きのシミュレーション結果に応じてシミュレーション空間における操作対象を表すモデルを変形させ(S104)、ロボットハンド及び周辺環境の動きを所定時間にわたってシミュレーションし、操作対象を表すモデルの変形と合成する(S105)。
 シミュレーションを終了しない場合(S106:NO)、従来のシミュレーション装置は、次のロボットハンドの動作に基づき、操作対象に加わる外力の条件を設定し(S102)、操作対象の動きを所定時間にわたってシミュレーション(S103)、操作対象を表すモデルを変形させ(S104)、ロボットハンド及び周辺環境の動きと操作対象を表すモデルの変形とを合成する(S105)。
 このように、従来のシミュレーション装置は、シミュレーションを所定時間進める毎に、操作対象の動きを有限要素法や粒子法によって所定時間にわたってシミュレーションする。一方、本実施形態に係るシミュレーション装置10は、シミュレーションを所定時間進める毎に、操作対象の代表点の動きを学習モデルによって算出する。このような違いにより、本実施形態に係るシミュレーション装置10は、従来のシミュレーション装置に比べて、操作対象の動きのシミュレーションに要する演算負荷を低減することができ、演算量を減らすことができる。
 図7は、本実施形態に係るシミュレーション装置10によりシミュレーションされる第2操作対象T2の動きの概略図である。第2操作対象T2は、紙又は布であり、柔軟物である。第2操作対象T2は、ロボットにより把持され、動かされる。シミュレーション装置10は、ロボットにより第2操作対象T2を把持して移動させる場合に、柔軟物である第2操作対象T2が損傷したり絡まったりしないように、しかし短時間で移動させるロボットの動作をシミュレーションする。図7では、静止状態にある第2操作対象T2を左側に示し、ロボットにより把持され、第2操作対象T2が変形している状態を右側に示している。
 シミュレーション装置10は、第2操作対象T2を表すモデルの構成条件と、第2操作対象T2に加わる外力の条件とを設定し、それらの条件の下で、既存のシミュレーション手法により第2操作対象T2の動きをシミュレーションする。シミュレーション装置10は、例えば、柔軟物である第2操作対象T2を、節点により接続された複数の構成要素に分解したモデルを用いて、いわゆる有限要素法によって複数の節点の動きをシミュレーションしてよい。この場合、モデルの構成条件は、構成要素及び節点の数、構成要素の大きさ、構成要素の形状に関する条件を含んでよい。また、外力の条件は、ロボットにより加えられる力の条件を含んでよい。
 シミュレーション装置10は、有限要素法によってシミュレーションした複数の節点の動きのうち、第2操作対象T2の表面に位置する一部の節点の動きを表すデータを学習データとしてよい。ここで、節点の動きを表すデータは、節点の位置、速度、運動量及び加速度の少なくともいずれかを表すデータを含んでよい。
 図7では、第2操作対象T2の表面に位置する一部の節点として、第1節点p11、第2節点p12、第3節点p13、第4節点子p14及び第5節点p15を示している。なお、これらは一例であり、複数の代表点とする節点は、これら以外の点を含んでもよい。本例では、ロボットにより第2操作対象T2が把持されることにより、第1節点p11、第2節点p12、第3節点p13、第4節点子p14及び第5節点p15が一直線上に位置する左側の状態から、第1節点p11、第2節点p12、第3節点p13、第4節点子p14及び第5節点p15の位置がばらついている右側の状態に遷移している。
 シミュレーション装置10は、第2操作対象T2を表すモデルの構成条件、第2操作対象T2に加わる外力の条件及びシミュレーションにおける第2操作対象T2の表面に位置する複数の代表点(第1~第5節点)の動きを表すデータを含む学習データを生成する。そして、シミュレーション装置10は、学習データを用いた教師有り学習により、第2操作対象T2を表すモデルの構成条件、第2操作対象T2に加わる外力の条件及び複数の代表点(第1~第5節点)の初期条件を入力として、複数の代表点(第1~第5節点)の動きを表すデータを出力する学習モデルを生成する。学習モデルは、物理現象を再現するシミュレーションを直接実行することなく、複数の代表点の位置、速度、運動量及び加速度の少なくともいずれかを予測する。
 このように、第2操作対象T2を表すモデルの動きを任意の手法によりシミュレーションして、そのシミュレーション結果を用いた教師有り学習により学習モデルを生成することで、演算負荷の大きいシミュレーションを比較的演算負荷の小さい学習モデルによる代表点の動きの予測に置き換えることができ、ロボット及び操作対象を含む全体のシミュレーションに要する演算負荷を低減することができ、演算量を減らすことができる。
 以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
 [付記1]
 操作対象を表すモデルの構成条件を設定する第1設定部(11)と、
 前記操作対象に加わる外力の条件を設定する第2設定部(12)と、
 前記構成条件及び前記外力の条件の下で、前記操作対象の動きをシミュレーションする第1シミュレーション部(13)と、
 前記構成条件、前記外力の条件及び前記第1シミュレーション部(13)によるシミュレーションにおける前記操作対象の表面に位置する複数の代表点の動きを表すデータを含む学習データを生成する生成部(14)と、
 前記学習データを用いた教師有り学習により、前記構成条件、前記外力の条件及び前記複数の代表点の初期条件を入力として、前記複数の代表点の動きを表すデータを出力する学習モデルを生成する学習部(15)と、
 を備えるシミュレーション装置(10)。
 [付記2]
 前記生成部(14)は、前記構成条件、前記第1シミュレーション部(13)によるシミュレーションの所定時刻における前記外力の条件及び前記所定時刻における前記複数の代表点の動きを表すデータを入力データとして含み、前記所定時刻から所定時間経過後の時刻における前記複数の代表点の動きを表すデータを出力データとして含む前記学習データを生成する、
 請求項1に記載のシミュレーション装置(10)。
 [付記3]
 ロボットの動きをシミュレーションする第2シミュレーション部(17)と、
 前記第2シミュレーション部(17)によるシミュレーションにおいて前記ロボットにより前記操作対象に加えられる外力の条件及び前記構成条件を前記学習モデルに入力し、前記複数の代表点の動きを予測する予測部(19)と、をさらに備え、
 前記第2シミュレーション部(17)は、前記予測部(19)により予測された前記複数の代表点の動きと、シミュレーションした前記ロボットの動きとを合成する、
 請求項1又は2に記載のシミュレーション装置(10)。
 [付記4]
 前記操作対象は、柔軟物、液体及び気体のいずれかを含む、
 請求項1から3のいずれか一項に記載のシミュレーション装置(10)。
 [付記5]
 前記操作対象が液体であるとき、前記操作対象の表面は、前記液体の液面であり、前記複数の代表点の動きは、複数の位置における前記液面の鉛直方向の動きによって表される、
 請求項4に記載のシミュレーション装置(10)。
 [付記6]
 前記第1シミュレーション部(13)は、前記液体を複数の粒子に分解した前記モデルを用いて、前記複数の粒子の動きをシミュレーションし、
 前記複数の代表点の動きを表すデータは、前記複数の粒子のうち、前記第1シミュレーション部(13)によるシミュレーションの所定時刻における前記液体の液面に位置する一部の粒子の動きを表すデータである、
 請求項5に記載のシミュレーション装置(10)。
 [付記7]
 前記構成条件は、前記操作対象の可撓性を表す条件及び粘性を表す条件のいずれかを含む、
 請求項1から6のいずれか一項に記載のシミュレーション装置(10)。
 [付記8]
 前記第1シミュレーション部(13)は、前記操作対象を節点により接続された複数の構成要素に分解した前記モデルを用いて、前記節点の動きをシミュレーションし、
 前記複数の代表点の数は、前記節点の数より少ない、
 請求項1から7のいずれか一項に記載のシミュレーション装置(10)。
 [付記9]
 操作対象を表すモデルの構成条件を設定することと、
 前記操作対象に加わる外力の条件を設定することと、
 前記構成条件及び前記外力の条件の下で、前記操作対象の動きをシミュレーションすることと、
 前記構成条件、前記外力の条件及び前記第1シミュレーション部(13)によるシミュレーションにおける前記操作対象の表面に位置する複数の代表点の動きを表すデータを含む学習データを生成することと、
 前記学習データを用いた教師有り学習により、前記構成条件、前記外力の条件及び前記複数の代表点の初期条件を入力として、前記複数の代表点の動きを表すデータを出力する学習モデルを生成することと、
 を含むシミュレーション方法。
 [付記10]
 シミュレーション装置(10)に備えられたプロセッサを、
 操作対象を表すモデルの構成条件を設定する第1設定部(11)、
 前記操作対象に加わる外力の条件を設定する第2設定部(12)、
 前記構成条件及び前記外力の条件の下で、前記操作対象の動きをシミュレーションする第1シミュレーション部(13)、
 前記構成条件、前記外力の条件及び前記第1シミュレーション部(13)によるシミュレーションにおける前記操作対象の表面に位置する複数の代表点の動きを表すデータを含む学習データを生成する生成部(14)、及び
 前記学習データを用いた教師有り学習により、前記構成条件、前記外力の条件及び前記複数の代表点の初期条件を入力として、前記複数の代表点の動きを表すデータを出力する学習モデルを生成する学習部(15)、
 として機能させるシミュレーションプログラム。

Claims (10)

  1.  操作対象を表すモデルの構成条件を設定する第1設定部と、
     前記操作対象に加わる外力の条件を設定する第2設定部と、
     前記構成条件及び前記外力の条件の下で、前記操作対象の動きをシミュレーションする第1シミュレーション部と、
     前記構成条件、前記外力の条件及び前記第1シミュレーション部によるシミュレーションにおける前記操作対象の表面に位置する複数の代表点の動きを表すデータを含む学習データを生成する生成部と、
     前記学習データを用いた教師有り学習により、前記構成条件、前記外力の条件及び前記複数の代表点の初期条件を入力として、前記複数の代表点の動きを表すデータを出力する学習モデルを生成する学習部と、
     を備えるシミュレーション装置。
  2.  前記生成部は、前記構成条件、前記第1シミュレーション部によるシミュレーションの所定時刻における前記外力の条件及び前記所定時刻における前記複数の代表点の動きを表すデータを入力データとして含み、前記所定時刻から所定時間経過後の時刻における前記複数の代表点の動きを表すデータを出力データとして含む前記学習データを生成する、
     請求項1に記載のシミュレーション装置。
  3.  ロボットの動きをシミュレーションする第2シミュレーション部と、
     前記第2シミュレーション部によるシミュレーションにおいて前記ロボットにより前記操作対象に加えられる外力の条件及び前記構成条件を前記学習モデルに入力し、前記複数の代表点の動きを予測する予測部と、をさらに備え、
     前記第2シミュレーション部は、前記予測部により予測された前記複数の代表点の動きと、シミュレーションした前記ロボットの動きとを合成する、
     請求項1又は2に記載のシミュレーション装置。
  4.  前記操作対象は、柔軟物、液体及び気体のいずれかを含む、
     請求項1から3のいずれか一項に記載のシミュレーション装置。
  5.  前記操作対象が液体であるとき、前記操作対象の表面は、前記液体の液面であり、前記複数の代表点の動きは、複数の位置における前記液面の鉛直方向の動きによって表される、
     請求項4に記載のシミュレーション装置。
  6.  前記第1シミュレーション部は、前記液体を複数の粒子に分解した前記モデルを用いて、前記複数の粒子の動きをシミュレーションし、
     前記複数の代表点の動きを表すデータは、前記複数の粒子のうち、前記第1シミュレーション部によるシミュレーションの所定時刻における前記液体の液面に位置する一部の粒子の動きを表すデータである、
     請求項5に記載のシミュレーション装置。
  7.  前記構成条件は、前記操作対象の可撓性を表す条件及び粘性を表す条件のいずれかを含む、
     請求項1から6のいずれか一項に記載のシミュレーション装置。
  8.  前記第1シミュレーション部は、前記操作対象を節点により接続された複数の構成要素に分解した前記モデルを用いて、前記節点の動きをシミュレーションし、
     前記複数の代表点の数は、前記節点の数より少ない、
     請求項1から7のいずれか一項に記載のシミュレーション装置。
  9.  操作対象を表すモデルの構成条件を設定することと、
     前記操作対象に加わる外力の条件を設定することと、
     前記構成条件及び前記外力の条件の下で、前記操作対象の動きをシミュレーションすることと、
     前記構成条件、前記外力の条件及び前記シミュレーションにおける前記操作対象の表面に位置する複数の代表点の動きを表すデータを含む学習データを生成することと、
     前記学習データを用いた教師有り学習により、前記構成条件、前記外力の条件及び前記複数の代表点の初期条件を入力として、前記複数の代表点の動きを表すデータを出力する学習モデルを生成することと、
     を含むシミュレーション方法。
  10.  シミュレーション装置に備えられたプロセッサを、
     操作対象を表すモデルの構成条件を設定する第1設定部、
     前記操作対象に加わる外力の条件を設定する第2設定部、
     前記構成条件及び前記外力の条件の下で、前記操作対象の動きをシミュレーションする第1シミュレーション部、
     前記構成条件、前記外力の条件及び前記第1シミュレーション部によるシミュレーションにおける前記操作対象の表面に位置する複数の代表点の動きを表すデータを含む学習データを生成する生成部、及び
     前記学習データを用いた教師有り学習により、前記構成条件、前記外力の条件及び前記複数の代表点の初期条件を入力として、前記複数の代表点の動きを表すデータを出力する学習モデルを生成する学習部、
     として機能させるシミュレーションプログラム。
PCT/JP2019/040142 2018-10-11 2019-10-11 シミュレーション装置、シミュレーション方法及びシミュレーションプログラム WO2020075834A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201980052349.0A CN112534366A (zh) 2018-10-11 2019-10-11 模拟装置、模拟方法以及模拟程序
US17/269,531 US20210182459A1 (en) 2018-10-11 2019-10-11 Simulation device, simulation method, and computer-readable storage medium
EP19872157.3A EP3866169A4 (en) 2018-10-11 2019-10-11 SIMULATION DEVICE, SIMULATION METHOD AND SIMULATION PROGRAM

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-192393 2018-10-11
JP2018192393A JP7012944B2 (ja) 2018-10-11 2018-10-11 シミュレーション装置、シミュレーション方法及びシミュレーションプログラム

Publications (1)

Publication Number Publication Date
WO2020075834A1 true WO2020075834A1 (ja) 2020-04-16

Family

ID=70163999

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/040142 WO2020075834A1 (ja) 2018-10-11 2019-10-11 シミュレーション装置、シミュレーション方法及びシミュレーションプログラム

Country Status (5)

Country Link
US (1) US20210182459A1 (ja)
EP (1) EP3866169A4 (ja)
JP (1) JP7012944B2 (ja)
CN (1) CN112534366A (ja)
WO (1) WO2020075834A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113656995B (zh) * 2021-07-06 2024-03-26 兰州空间技术物理研究所 一种基于电子轨迹积分法的电离规灵敏度数值计算方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006275722A (ja) * 2005-03-29 2006-10-12 Bridgestone Sports Co Ltd ゴルフボールの弾道シミュレーション方法及び飛行シミュレーション方法
JP2014238828A (ja) * 2013-05-10 2014-12-18 国立大学法人電気通信大学 ユーザインタフェース装置およびユーザインタフェース制御プログラム
JP2018126799A (ja) * 2017-02-06 2018-08-16 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010198399A (ja) * 2009-02-26 2010-09-09 Fuji Xerox Co Ltd 粒子挙動解析装置、プログラム
JP2011081530A (ja) * 2009-10-06 2011-04-21 Univ Of Tokyo 粒子モデルの離散要素法解析シミュレーション方法、離散要素法解析シミュレーションプログラム、及び離散要素法解析シミュレーション装置
JP6107281B2 (ja) * 2013-03-22 2017-04-05 セイコーエプソン株式会社 ロボット及びロボットの制御方法
JP5927270B2 (ja) * 2014-11-06 2016-06-01 ファナック株式会社 ロボットシミュレーション装置
CN104484522B (zh) * 2014-12-11 2017-10-27 西南科技大学 一种基于现实场景的机器人模拟演练系统的构建方法
CN107877528A (zh) * 2017-12-19 2018-04-06 北京君盾装备技术有限公司 一种执法技能对抗训练智能机器人系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006275722A (ja) * 2005-03-29 2006-10-12 Bridgestone Sports Co Ltd ゴルフボールの弾道シミュレーション方法及び飛行シミュレーション方法
JP2014238828A (ja) * 2013-05-10 2014-12-18 国立大学法人電気通信大学 ユーザインタフェース装置およびユーザインタフェース制御プログラム
JP2018126799A (ja) * 2017-02-06 2018-08-16 セイコーエプソン株式会社 制御装置、ロボットおよびロボットシステム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3866169A4

Also Published As

Publication number Publication date
EP3866169A4 (en) 2022-07-06
US20210182459A1 (en) 2021-06-17
EP3866169A1 (en) 2021-08-18
JP2020060996A (ja) 2020-04-16
CN112534366A (zh) 2021-03-19
JP7012944B2 (ja) 2022-01-31

Similar Documents

Publication Publication Date Title
US8301421B2 (en) Automatic control system generation for robot design validation
US8140189B2 (en) Apparatus and method for computing operational-space physical quantity
Schaal The SL simulation and real-time control software package
El-Shamouty et al. Towards safe human-robot collaboration using deep reinforcement learning
Lau et al. CASPR: A comprehensive cable-robot analysis and simulation platform for the research of cable-driven parallel robots
JP2010262654A (ja) 有限要素解析法におけるビーム−面接触をシミュレートする改善方法およびシステム
WO2016051640A1 (ja) 情報処理装置、情報処理方法及びプログラム
JP2009099082A (ja) 力学シミュレーション装置及び力学シミュレーション方法、並びにコンピュータ・プログラム
JP2008509427A (ja) 多体系の運動をシミュレートするためのシステムおよび方法
Eden et al. Available acceleration set for the study of motion capabilities for cable-driven robots
Salvietti et al. Multicontact bilateral telemanipulation with kinematic asymmetries
Douville et al. Task-level object grasping for simulated agents
US10216892B2 (en) System and method for interactive vehicle design utilizing performance simulation and prediction in execution of tasks
WO2020075834A1 (ja) シミュレーション装置、シミュレーション方法及びシミュレーションプログラム
Pelliccia et al. Task-based motion control of digital humans for industrial applications
Wang et al. A virtual environment simulator for mechanical system dynamics with online interactive control
US10864434B2 (en) Simulation of multiple connected bodies for real-time application
JP2021084188A (ja) 制御システム
Chevaillier et al. Virtual reality and multi-agent systems for manufacturing system interactive prototyping
Kicki et al. Learning Quasi-Static 3D Models of Markerless Deformable Linear Objects for Bimanual Robotic Manipulation
JP2004127190A (ja) ロボットの設計支援装置
Beliveau et al. Dynamic-behavior modeler for material handling in construction
Keith et al. Haptic interaction with virtual avatars
Wang et al. Reinforcement Learning based End-to-End Control of Bimanual Robotic Coordination
Batinica et al. Motion planning of a robot in real-time based on the general model of humanoid robots

Legal Events

Date Code Title Description
NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019872157

Country of ref document: EP

Effective date: 20210511