WO2023068224A1 - Robot simulation device, robot simulation system, and robot simulation method - Google Patents

Robot simulation device, robot simulation system, and robot simulation method Download PDF

Info

Publication number
WO2023068224A1
WO2023068224A1 PCT/JP2022/038583 JP2022038583W WO2023068224A1 WO 2023068224 A1 WO2023068224 A1 WO 2023068224A1 JP 2022038583 W JP2022038583 W JP 2022038583W WO 2023068224 A1 WO2023068224 A1 WO 2023068224A1
Authority
WO
WIPO (PCT)
Prior art keywords
output
input
simulation
unit
robot
Prior art date
Application number
PCT/JP2022/038583
Other languages
French (fr)
Japanese (ja)
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 株式会社日立製作所
Publication of WO2023068224A1 publication Critical patent/WO2023068224A1/en

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

Definitions

  • the present invention relates to a robot simulation device, a robot simulation system, and a robot simulation method.
  • Claim 1 of Patent Document 1 describes the following information processing apparatus. Based on the flexible object's weight, length, stiffness, their tolerances, and the direction of gravity, the existence range of the flexible object is calculated, and a probability distribution of at least one of the weight, the length, and the stiffness is calculated. a calculation unit that calculates the existence probability of the flexible object in the existence range; and a display device that displays the existence range and displays the location with the low existence probability in a lighter color than the location with the high existence probability.
  • Claim 1 of Patent Document 2 describes the following work motion optimization device for a robot.
  • a robot unit comprising a robot and a working environment surrounding the robot; a robot controller unit that operates the robot unit according to an input work command; a work result evaluation unit that observes the operation result of the robot unit and evaluates whether the operation result is appropriate; an improved work command candidate generation unit that generates work command candidates that are estimated to result in the most favorable behavior of the robot unit; a work instruction unit that outputs a work command to the robot controller unit based on the work command candidate generated by the improved work command candidate generation unit;
  • the improved work command candidate generation unit generates a new work command based on the evaluation result of the work result evaluation unit for the operation state of the robot unit generated by generating the work command candidate, and repeats this to generate a new work command,
  • a work motion optimization device for a robot characterized by obtaining an optimized work command.
  • Patent Literature 1 the tolerance of flexible objects is reflected in the simulation. According to Japanese Patent Application Laid-Open No. 2002-200021, it is possible to optimize the work command to the robot based on the simulation result of the operation of the robot unit.
  • the main object of the present invention is to provide a robot simulation corresponding to an unknown environment.
  • the robot simulation device of the present invention has the following features.
  • the present invention includes a distribution input unit that receives, as input distribution data, simulation input parameters that define the motion of a robot; an input generator that generates a set of input parameters according to the input distribution data; a simulation execution unit that, for each generated input parameter, evaluates a corresponding output parameter; an output distribution estimation unit that estimates output distribution data obtained by stacking sets of evaluated output parameters, and updates the output distribution data until the output distribution data converges; and a result output unit for outputting the converged output distribution data.
  • a distribution input unit that receives, as input distribution data, simulation input parameters that define the motion of a robot
  • an input generator that generates a set of input parameters according to the input distribution data
  • a simulation execution unit that, for each generated input parameter, evaluates a corresponding output parameter
  • an output distribution estimation unit that estimates output distribution data obtained by stacking sets of evaluated output parameters, and updates the output distribution data until the output distribution data converges
  • a result output unit for outputting
  • FIG. 1 is a configuration diagram of a robot simulation device according to this embodiment;
  • FIG. FIG. 4 is an explanatory diagram of a simulation execution unit according to the embodiment;
  • 1 is a configuration diagram of a robot simulation system according to this embodiment;
  • FIG. It is a flow chart which shows the operation of the robot simulation device concerning this embodiment. It is an input screen figure of a distribution input part and an actual data input part regarding this embodiment. It is a graph which shows an example of input distribution regarding this embodiment. It is a graph which shows an example of the input parameter regarding this embodiment. It is a table which shows an example of simulation DB regarding this embodiment. It is a graph which shows the process of the simulation result reading part regarding this embodiment.
  • FIG. 4 is a histogram generated by an output distribution estimator according to the embodiment; It is output distribution data estimated by an output distribution estimating unit according to the present embodiment.
  • 5 is a graph showing convergence evaluation of output distribution data according to the present embodiment; It is a graph which shows the point cloud data of the experimental result stored in experiment DB regarding this embodiment.
  • 14 is a graph showing a result of Bayesian estimation performed by a Bayesian estimation unit according to the present embodiment from the experiment DB of FIG. 13;
  • FIG. 4 is an explanatory diagram of output distribution data estimated by an output distribution estimating unit according to the embodiment; It is a Gantt chart which shows the processing example of the work process optimization part regarding this embodiment.
  • FIG. 1 is a configuration diagram of a robot simulation device 100.
  • the robot simulation apparatus 100 includes, as processing units, a distribution input unit 11A, a real data input unit 11B, a distribution estimation unit 11C, an input generation unit 12A, an output distribution estimation unit 13, a simulation execution unit 14A, and a simulation result It has a reading unit 14B, an experiment result reading unit 14D, a Bayesian estimation unit 14E, a work process optimization unit 15A, and a result output unit 16.
  • the storage unit of the robot simulation device 100 stores an input distribution (input distribution data) 11D, input parameters 12B, a simulation DB 14C, an experiment DB 14F, output distribution data 14, and optimum process data 15B.
  • the distribution input unit 11A accepts input of the input distribution 11D.
  • the input distribution 11D is input data that is varied according to unknown environmental conditions. It should be noted that although the range of possible values of the input distribution 11D can be predicted to some extent, the exact values corresponding to the unknown environment for this simulation cannot be specified.
  • the actual data input unit 11B receives input of actual data (measured data) obtained in advance under an assumed environment different from the unknown environment in which the current simulation is performed. For example, in the case of a simulation of debris removal, a model of the debris is created under conditions similar to those of the actual disaster site (the original materials of the debris, how it breaks down, etc.), and the weight of the model is measured as actual data. You may input from the data input part 11B. In general, preparation of actual data is costly, so the number of actual data (100, etc.) is smaller than the number of input parameters 12B (10,000, etc.) to the simulation process described later.
  • the distribution estimation unit 11C estimates an input distribution 11D from the actual data received by the actual data input unit 11B, using a kernel density estimation method (KDE: Kernel Density Estimation) or the like.
  • KDE Kernel Density Estimation
  • the input generator 12A generates input parameters 12B for the current simulation according to the probability density of the specified input distribution 11D.
  • This generating process is, for example, a process of generating a random number a specified number of times (for example, 10,000 times) by the Monte Carlo method, and the generated random number has a value different from other random numbers.
  • the number of generated random numbers increases, the input distribution 11D approaches and accuracy improves, but on the other hand, the amount of simulation calculation also increases. Therefore, it is desirable that the user considers the performance of the computer in advance, and sets so as to generate an appropriate number of random numbers.
  • the input parameter 12B is a parameter used in this simulation.
  • the weight of the gripped object, the shape of the gripped object, and the gripping task Examples include the coefficient of friction of the ground and the indoor temperature in which the gripping work is performed.
  • These input parameters 12B are parameters that affect the output distribution data 14 (work time, possibility of work such as overturning due to the weight of an object grasped by the work robot, etc.), which is the result of this simulation.
  • the output distribution estimator 13 performs robust evaluation of the output distribution data 14 by probabilistic simulation for unknown environmental conditions indicated by the input parameters 12B.
  • the output distribution estimator 13 may use any one of the following (Method 1) to (Method 3) as probabilistic simulation means.
  • (Method 1) The simulation executing section 14A receives the input parameter 12B, executes a simulation on a computer, and returns the result to the output distribution estimating section 13. FIG.
  • the simulation result reading unit 14B receives the input parameter 12B, refers to the simulation DB 14C, reads the simulation result registered in advance by machine learning or the like, and sends it back to the output distribution estimating unit 13. Therefore, the simulation result reading unit 14B registers the input parameters 12B of the simulation executed in advance by the simulation executing unit 14A and the result thereof in the simulation DB 14C.
  • the experiment result reader 14D receives the input parameter 12B, acquires distribution data of Bayesian estimation estimated by the Bayesian estimator 14E, and returns the distribution data to the output distribution estimator 13.
  • FIG. Therefore, the Bayesian estimation unit 14E registers, in the experiment DB 14F, actual data (actually measured data) under the experimental environment input in advance by the actual data input unit 11B and experimental results of the actual data.
  • the output distribution estimation unit 13 uses the kernel density estimation method ( KDE: Kernel Density Estimation) or the like estimates output distribution data 14 by stacking a set of evaluated output parameters. By outputting the output distribution data 14 on the screen, the result output unit 16 allows the user to comprehend robust simulation results corresponding to an unknown environment, so that the user can utilize them for examining the process of robot work.
  • KDE Kernel Density Estimation
  • the output distribution data 14 may not only be output on the screen as it is, but may also be used as a material for optimizing the process plan of the robot.
  • the work process optimization unit 15A receives the output distribution data 14 as input, performs process optimization (eg, mixed integer programming, A* algorithm, etc.) from the initial plan of the robot process plan, and saves the result as optimum process data 15B. and This optimization process is, for example, starting from an initial plan for executing the same work, adjusting individual work times, or changing the order of work without changing the content of the work, thereby optimizing the This is a process that shortens the time.
  • the result output unit 16 outputs the optimum process data 15B optimized based on the output distribution data 14 in the form of a Gantt chart or the like.
  • FIG. 2 is an explanatory diagram of the simulation execution unit 14A.
  • the simulation execution unit 14A simulates the task of the work robot 111B clearing up the rubble 111A scattered at the work site.
  • the output parameters (work time and work availability) as the simulation result change depending on the number and size of the rubble 111A specified as the input parameter 12B. That is, the simulation execution unit 14A evaluates the corresponding output parameter for each generated input parameter 12B.
  • FIG. 3 is a configuration diagram of the robot simulation system.
  • the robot simulation system is configured by connecting the computer 900 of the robot simulation device 100 and the input/output device 916 .
  • Robot simulation apparatus 100 is configured as computer 900 having CPU 901 , RAM 902 , ROM 903 , HDD 904 , communication I/F 905 , input/output I/F 906 and media I/F 907 .
  • Communication I/F 905 is connected to an external communication device 915 .
  • Input/output I/F 906 is connected to input/output device 916 .
  • a media I/F 907 reads and writes data from a recording medium 917 .
  • the CPU 901 controls each processing unit by executing a program (also called an application or an app for short) read into the RAM 902 .
  • This program can be distributed via a communication line or recorded on a recording medium 917 such as a CD-ROM for distribution.
  • FIG. 4 is a flow chart showing the operation of the robot simulation device 100.
  • a of distribution input parts receive the input of the input distribution 11D (S101).
  • the input generator 12A generates input parameters 12B (S102).
  • the output distribution estimation unit 13 branches depending on the type of simulation output acquisition (S111). (Method 1) If it is "execution of simulation” in S111, the output distribution estimation unit 13 acquires the output of the simulation executed by the simulation execution unit 14A (S112; execution of simulation). (Method 2) If "obtain simulation” in S111, the output distribution estimation unit 13 obtains the simulation output read from the simulation DB 14C by the simulation result reading unit 14B (S113; simulation acquisition). (Method 3) If "acquire experiment” in S111, the output distribution estimating unit 13 acquires the experimental result read by the experimental result reading unit 14D (estimation result of the Bayesian estimating unit 14E) (S114: Acquiring experimental result).
  • the output distribution estimation unit 13 estimates the output distribution data 14 from the results obtained in S112 to S114 (S115; estimation of output distribution).
  • the output distribution estimator 13 determines whether or not the output distribution data 14 estimated this time has converged (S116, see FIG. 12 for details). If Yes in S116, the process proceeds to S121, and if No, the process returns to S111 to estimate the output distribution data 14 again. That is, the output distribution estimator 13 updates the output distribution data 14 until the output distribution data 14 converge.
  • the result output unit 16 branches according to the type of output result specified by the user (S121).
  • the result output unit 16 outputs a graph of the output distribution data 14 (S122).
  • process optimization is designated (step in S121)
  • the work process optimization unit 15A calculates the optimum process for robot work using the output distribution data 14, and outputs the result to the result output unit 16. (S123).
  • FIG. 5 is an input screen diagram of the distribution input section 11A and the actual data input section 11B used for the input processing of S101.
  • the input screen 121 includes input fields for one or more input parameters (two in FIG. 5), an "execute” button for confirming the input after completing the input in each input field, and an "execute” button for discarding the input. a "Finish” button.
  • Each input field includes the following input fields.
  • the data format of the probability distribution name and its parameter group (mean, standard deviation), the data format that directly specifies the probability distribution by specifying a CSV (Comma-Separated values) file, or the data format that specifies the CSV file and executes
  • One can be selected from three types: a data format in which data is specified directly; Also, one can be selected from the pull-down menu for inputting the probability distribution name in the input screen 121, and various distributions such as uniform distribution can be selected in addition to the normal distribution of the mountain curve.
  • the distribution input unit 11A receives an input of the input parameter 1 "grasped object weight" in the data format of the probability distribution name "normal distribution”.
  • the actual data input unit 11B accepts an input in a data format in which a CSV file is designated and actual data is directly designated for the input parameter 2 “grasped object size”.
  • the distribution estimator 11C estimates the input distribution 11D from the actual data received by the actual data input unit 11B, using a kernel density estimation method or the like.
  • FIG. 6 is a graph showing an example of the input distribution 11D received by the distribution input unit 11A from the input screen of FIG.
  • the horizontal axis of the graph 131 is the input parameter 1 “grasped object weight”, and the vertical axis is the probability density of rubble generation at each weight.
  • the distribution input unit 11A may accept a data format that directly specifies the probability distribution of the graph 131 by specifying the correspondence data 132 between the horizontal axis and the vertical axis, such as a CSV file. Since this simulation assumes an unknown environment, the graph 131 is determined based on past experience, literature, opinions of experts, etc., without assuming a specific environment. For this reason, the horizontal axis of the graph 131 does not have a fixed value, but is distribution data including variations.
  • FIG. 7 is a graph showing an example of the input parameter 12B.
  • the horizontal axis of the graph 141 is the data number (No.) of the input parameter, and the vertical axis is the numerical value of the input parameter 1 "grasped object weight" corresponding to the data number.
  • the input generation unit 12A generates a numerical value set (random number set) 142 of gripped object weights that conforms to the input distribution 11D.
  • a graph 141 is a graphical representation of the numerical value set 142 .
  • FIG. 8 is a table showing an example of the simulation DB 14C.
  • the table 151 of the simulation DB 14C contains, for each data number (No.) of the input parameter, the input parameter (here, the weight of the gripped object) and the execution result of the simulation for that input parameter (here, work time and work availability). and As a general tendency of simulation, the heavier the gripped object is, the longer the work time is, or the work is rejected.
  • the simulation executing unit 14A prepares in advance data in the simulation DB 14C to be acquired by the simulation result reading unit 14B in S113.
  • FIG. 9 is a graph showing processing of the simulation result reading unit 14B.
  • the horizontal axis of the graph 161 is the input parameter 1 “grasped object weight”, and the vertical axis is the simulation execution result (here, work time) corresponding to the weight.
  • Graph 161 is a curve graph. Each point in the line graph is the coordinates of the point indicated by the combination of "weight” and "working time” in FIG.
  • the simulation execution unit 14A can obtain it by a simple interpolation method (eg, spline interpolation).
  • a simple interpolation method eg, spline interpolation
  • the simulation execution unit 14A is caused to execute an interpolation method in advanced machine learning such as random forest. This is because if the distribution is discontinuous or not smooth, a slight difference in the input parameters may result in completely different values in the output parameters.
  • the output distribution estimating unit 13 inputs a numerical value ("120 kg” in FIG. 9) for each data number (No.) to the graph 161, obtains an intersection with the graph 161, and calculates an output parameter numerical value (Fig. 9, "350 minutes") (see arrow in Figure 9). That is, if the number of input parameters 12B is 1000, the number of output parameters obtained by the output distribution estimator 13 is also 1000. In addition, in FIG. 9, in order to make the explanation easier to understand, one type of output parameter is obtained from one type of input parameter. On the other hand, in practice, there are many types of input parameters and multiple types of output parameters.
  • FIG. 10 is a histogram generated by the output distribution estimation unit 13.
  • the horizontal axis of the histogram 162 is the output parameter (work time), and the vertical axis is the frequency with which the work time is output.
  • the output distribution estimating unit 13 generates a histogram 162 by accumulating the frequency for each numerical value of the output parameter obtained in FIG. 9 (for example, “350 minutes”).
  • the output distribution estimation unit 13 generates a histogram 162 as shown in FIG. 10 for the output of the simulation execution unit 14A of (method 1) and the output of the simulation result reading unit 14B of (method 2).
  • the output of the experiment result reader 14D of (Method 3) instead of the histogram 162, a graph in which the distribution is accumulated is generated (see FIG. 15 for details).
  • FIG. 11 shows the output distribution data 14 estimated by the output distribution estimator 13 .
  • the output distribution estimator 13 uses a histogram 162 of the output distribution data 14 as shown in FIG. 10 (a histogram obtained by stacking a set of evaluated output parameters), and uses a kernel density estimation method or the like to gradually smooth out the vicinity of each peak of the histogram 162. Generate a graph 163 of connecting curves.
  • This graph 163 is the estimation result of the output distribution data 14 .
  • a robust evaluation of work time can be made such as "90% of the work time is within 350 minutes in any unknown environment".
  • the graph 163 has one peak in the example of FIG. 11, there may be multiple peaks in another example. In that case, it is possible to make an evaluation such as "There is a 20% chance that the work time will be about 350 minutes, and a 70% chance that it will be about 550 minutes.”
  • FIG. 12 is a graph showing convergence evaluation of the output distribution data 14 as an example of S116 in FIG.
  • the horizontal axis of the graph 164 indicates the number of simulations (the number of times any one of S112, S113, and S114 is executed, also called the number of Monte Carlo methods), and the vertical axis indicates the convergence evaluation value of S116.
  • the shape of the output distribution data 14 is updated each time the number of times of simulation is increased. Therefore, the output distribution estimation unit 13 compares the difference in graph shape (convergence evaluation value such as KL divergence) between the output distribution data 14 of the simulation results up to the previous time and the output distribution data 14 of the simulation results up to this time. . Then, when the difference becomes sufficiently small (below the threshold in the graph 164), the output distribution estimator 13 determines that the output distribution data 14 has converged (Yes in S116).
  • convergence evaluation value such as KL divergence
  • FIG. 13 is a graph showing point cloud data of experimental results stored in the experiment DB 14F.
  • the horizontal axis of the graph 171 is the input parameter 1 “grasped object weight”, and the vertical axis is the experimental result (here, work time) corresponding to the weight.
  • FIG. 14 is a graph showing the results of Bayesian estimation performed by the Bayesian estimation unit 14E from the experiment DB 14F of FIG.
  • the Bayesian estimation unit 14E reads the point cloud data of the graph 171 of FIG. Generate a graph 172 that estimates the variability.
  • the Bayesian estimation unit 14E detects a section 172W sandwiched between two upper and lower wavy lines (a wavy line passing through point P1 and a wavy line passing through point P3) that includes 95% of the point cloud data. is the estimation result of the variation.
  • a solid line passing through the point P2 in this section 172W indicates a point where the appearance frequency of the point cloud data is estimated to peak.
  • FIG. 15 is an explanatory diagram of the output distribution data 14 estimated by the output distribution estimating section 13 based on the distribution read from the graph of FIG. 14 by the experiment result reading section 14D.
  • the horizontal axis of the graph 173 is the output parameter (work time), and the vertical axis is the frequency (probability) of occurrence of that output parameter.
  • the output distribution estimating unit 13 generates a distribution curve 173A showing the variation (appearance frequency of point cloud data) of the work time (the peak at 120 minutes) within the section 172W in the range of "points P1 to P2 to P3" obtained in FIG. is added to the output distribution data 14 as a simulation result for one time.
  • FIG. 16 is a Gantt chart showing a processing example of the work process optimization unit 15A as an example of S123 in FIG.
  • the Gantt chart 201 of the initial plan, the Gantt chart 202 without optimization, and the Gantt chart 203 with optimization will be described below in this order.
  • Each of the Gantt charts 201 to 203 shows the work processes of the robot R1 in charge of dismantling and grasping the rubble and the robot R2 in charge of transporting the rubble.
  • the output distribution data 14 as a simulation result is not reflected in the Gantt chart 201 of the initial plan, and a process is registered in which variation in working time, which is a factor of the risk of delaying the work process, is not considered.
  • a process of dismantling rubble at point A a process of loading the rubble onto robot R2, and a process of moving to point B are registered.
  • a process of waiting for the robot R1 to dismantle the rubble a process of waiting to load the rubble from the robot R1, a process of transporting the rubble, and a process of moving to the point C are registered.
  • the work time for each process such as the rubble dismantling process at point A is based on the pre-registered average work time value Ta.
  • the output distribution data 14 as a simulation result is reflected in the work time of each process.
  • the work time for the rubble dismantling process at point A is obtained by adding the standard deviation (variation) time Tb indicated by the output distribution data 14 to the pre-registered average value Ta of the work time.
  • Tb standard deviation (variation) time
  • Ta pre-registered average value
  • the work time of each process is slightly longer or shorter, but the order of each process does not change, and each process is simply executed. It will be postponed. For example, when considering the variation in work time that occurs in the "demolition of rubble at point A" process of robot R1, the waiting time for "waiting for loading" of robot R2, which is the subsequent process, becomes longer. The work (reference numeral 202C) at time C of robot R2 is also delayed.
  • the Gantt chart 203 with optimization is optimized to shorten the total work time by partially replacing the processes of the robot R2 from the Gantt chart 202 without optimization.
  • the work process optimization unit 15A determines that the waiting time of the robot R2 will be long because there is a large variation in the "demolition of rubble at point A" by the robot R1 (the risk of delay is high). Recognize from the Gantt chart 202 .
  • the work process optimization unit 15A before performing the process of waiting for the loading of rubble from the robot R1 at the point A, says, "Move to the point C, where the rubble has already been dismantled.” Execute the process of transporting the debris and returning to point A.
  • the work at time point C reference numeral 202C
  • the work at time point C reference numeral 203C
  • the total work time is shortened.
  • the work process optimization unit 15A rearranges the order of the processes executed by the robots and rearranges the allocation of processes (work) to the robots, taking into consideration variations (delay risk) in the output distribution data 14.
  • the robot's work plan can be improved by performing "process optimization" that
  • the robot simulation apparatus 100 based on the input distribution 11D in which the probabilistic simulation input conditions (physical property values, boundary conditions, etc.) are varied for unknown environmental conditions, Output parameters such as work time and work availability are evaluated as output distribution data 14 .
  • Output parameters such as work time and work availability are evaluated as output distribution data 14 .
  • the input generation unit 12A generates an appropriate number of random numbers according to the input distribution 11D by the Monte Carlo method. As a result, the number of simulations within a practical calculation time can be performed. Furthermore, in addition to the simulation processing performed each time by the simulation execution unit 14A (Method 1), the simulation execution unit 14A can also read the results of simulations that have already been executed (Method 2), or read the results of experiments that have already been input (Method 3). By using it, the number of times of simulation can be suppressed and evaluation can be performed in a practical time.
  • the present invention is not limited to the above-described embodiments, and includes various modifications.
  • the above-described embodiments have been described in detail in order to explain the present invention in an easy-to-understand manner, and are not necessarily limited to those having all the described configurations.
  • it is possible to replace part of the configuration of one embodiment with the configuration of another embodiment and it is also possible to add the configuration of another embodiment to the configuration of one embodiment.
  • each of the above configurations, functions, processing units, processing means, and the like may be realized by hardware, for example, by designing a part or all of them using an integrated circuit.
  • each configuration, function, and the like described above may be realized by software by a processor interpreting and executing a program for realizing each function.
  • Information such as programs, tables, and files that realize each function can be stored in recording devices such as memory, hard disks, SSDs (Solid State Drives), IC (Integrated Circuit) cards, SD cards, DVDs (Digital Versatile Discs), etc. can be placed on a recording medium of You can also use the cloud.
  • the control lines and information lines indicate those considered necessary for explanation, and not all control lines and information lines are necessarily indicated on the product. In fact, it may be considered that almost all configurations are interconnected.
  • the communication means for connecting each device is not limited to a wireless LAN, and may be changed to a wired LAN or other communication means.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

A robot simulation device (100) comprises: an input generation unit (12A) that generates a set of input parameters according to an input distribution (11D); a simulation execution unit (14A) that evaluates a corresponding output parameter for each generated input parameter; an output distribution estimation unit (13) that estimates output distribution data (14) obtained by accumulating sets of the evaluated output parameters and updates the output distribution data (14) until the output distribution data (14) converges; and a result output unit (16) that outputs the converged output distribution data (14).

Description

ロボットシミュレーション装置、ロボットシミュレーションシステム、および、ロボットシミュレーション方法ROBOT SIMULATION DEVICE, ROBOT SIMULATION SYSTEM, AND ROBOT SIMULATION METHOD
 本発明は、ロボットシミュレーション装置、ロボットシミュレーションシステム、および、ロボットシミュレーション方法に関する。 The present invention relates to a robot simulation device, a robot simulation system, and a robot simulation method.
 作業ロボットを動作させる前に、その作業ロボットの挙動を計算機上でシミュレーションすることにより、実世界での挙動の問題点を事前に発見できる。 By simulating the behavior of the working robot on a computer before operating the working robot, problems with behavior in the real world can be discovered in advance.
 特許文献1の請求項1には、以下の情報処理装置が記載されている。
 柔軟物の重量、長さ、剛性、これらの公差および重力の方向を基に、前記柔軟物の存在範囲を計算し、前記重量、前記長さ、および前記剛性の少なくともいずれかの確率分布を基に、前記存在範囲における前記柔軟物の存在確率を計算する計算部と、
 前記存在範囲を表示し、前記存在確率が低い箇所を、前記存在確率が高い箇所と比較して薄く表示する表示装置と、を備えることを特徴とする情報処理装置。
Claim 1 of Patent Document 1 describes the following information processing apparatus.
Based on the flexible object's weight, length, stiffness, their tolerances, and the direction of gravity, the existence range of the flexible object is calculated, and a probability distribution of at least one of the weight, the length, and the stiffness is calculated. a calculation unit that calculates the existence probability of the flexible object in the existence range;
and a display device that displays the existence range and displays the location with the low existence probability in a lighter color than the location with the high existence probability.
 特許文献2の請求項1には、以下のロボットの作業動作最適化装置が記載されている。
 ロボットと当該ロボットの周辺作業環境とからなるロボット部と、
 入力された作業指令に従って前記ロボット部を動作させるロボットコントローラ部と、
 前記ロボット部の動作結果を観測し、当該動作結果が適切なものであるかを評価する作業結果評価部と、
 前記ロボット部の動作が最も好ましいものになると推定される作業指令の候補を発生させる改良作業指令候補発生部と、
 前記改良作業指令候補発生部により発生させた作業指令候補に基づいて、前記ロボットコントローラ部に対して作業指令を出力する作業指示部とを備え、
 前記改良作業指令候補発生部は、作業指令の候補を発生させたことによるロボット部の動作状態に対する前記作業結果評価部の評価結果に基づいて新たな作業指令を発生させ、これを繰り返すことで、最適化された作業指令を求めることを特徴とするロボットの作業動作最適化装置。
Claim 1 of Patent Document 2 describes the following work motion optimization device for a robot.
a robot unit comprising a robot and a working environment surrounding the robot;
a robot controller unit that operates the robot unit according to an input work command;
a work result evaluation unit that observes the operation result of the robot unit and evaluates whether the operation result is appropriate;
an improved work command candidate generation unit that generates work command candidates that are estimated to result in the most favorable behavior of the robot unit;
a work instruction unit that outputs a work command to the robot controller unit based on the work command candidate generated by the improved work command candidate generation unit;
The improved work command candidate generation unit generates a new work command based on the evaluation result of the work result evaluation unit for the operation state of the robot unit generated by generating the work command candidate, and repeats this to generate a new work command, A work motion optimization device for a robot, characterized by obtaining an optimized work command.
 特許文献1により、柔軟物の公差がシミュレーションに反映される。
 特許文献2により、ロボット部の動作のシミュレーション結果をもとに、ロボットへの作業指令を最適化できる。
According to Patent Literature 1, the tolerance of flexible objects is reflected in the simulation.
According to Japanese Patent Application Laid-Open No. 2002-200021, it is possible to optimize the work command to the robot based on the simulation result of the operation of the robot unit.
特開2019-70963号公報JP 2019-70963 A 特開2009-125920号公報JP 2009-125920 A
 災害現場のような未知の環境でのロボット作業では、シミュレーションの入力となる物性値や境界条件などを正確に決めることができない。例えば、災害現場には瓦礫が散乱しており、その瓦礫の数や大きさなどが、実際に現場に行ってはじめてわかることもある。そのため、特許文献1,2のような、多少の公差が発生するものの既知の環境を前提としたシミュレーション技術は、未知の環境に対してはそのまま適用できない。  In robot work in an unknown environment such as a disaster site, it is not possible to accurately determine the physical property values and boundary conditions that are the inputs to the simulation. For example, rubble is scattered at the site of a disaster, and the number and size of the rubble can only be understood by actually visiting the site. Therefore, the simulation technology as in Patent Documents 1 and 2, which assumes a known environment although some tolerance occurs, cannot be applied to an unknown environment as it is.
 つまり、未知の環境を前提としたシミュレーションでは、シミュレーションの正確性よりも、未知の環境としてどのような環境が発生したとしても、その環境下でロバストな(どのような環境でもある程度妥当な)結果が求められる。このような環境の柔軟性に対応したシミュレーションシステムが求められる。 In other words, in a simulation that assumes an unknown environment, the accuracy of the simulation is less important than the results that are robust under that environment (which is reasonable to some extent in any environment) no matter what kind of environment occurs as an unknown environment. is required. A simulation system that supports the flexibility of such an environment is required.
 そこで、本発明は、未知の環境に対応したロボットシミュレーションを提供することを主な課題とする。 Therefore, the main object of the present invention is to provide a robot simulation corresponding to an unknown environment.
 上記の課題を解決するため、本発明のロボットシミュレーション装置は以下の特徴を有する。
 本発明は、ロボットの動作を規定するシミュレーションの入力パラメータを、入力分布データとして受け付ける分布入力部と、
 前記入力分布データに従って入力パラメータの集合を生成する入力生成部と、
 生成された入力パラメータごとに、対応する出力パラメータを評価するシミュレーション実行部と、
 評価された出力パラメータの集合を積み重ねた出力分布データを推定し、前記出力分布データが収束するまで前記出力分布データを更新する出力分布推定部と、
 収束した前記出力分布データを出力する結果出力部とを有することを特徴とする。
 その他の手段は、後記する。
In order to solve the above problems, the robot simulation device of the present invention has the following features.
The present invention includes a distribution input unit that receives, as input distribution data, simulation input parameters that define the motion of a robot;
an input generator that generates a set of input parameters according to the input distribution data;
a simulation execution unit that, for each generated input parameter, evaluates a corresponding output parameter;
an output distribution estimation unit that estimates output distribution data obtained by stacking sets of evaluated output parameters, and updates the output distribution data until the output distribution data converges;
and a result output unit for outputting the converged output distribution data.
Other means will be described later.
 本発明によれば、未知の環境に対応したロボットシミュレーションを提供することができる。 According to the present invention, it is possible to provide a robot simulation corresponding to an unknown environment.
本実施形態に関するロボットシミュレーション装置の構成図である。1 is a configuration diagram of a robot simulation device according to this embodiment; FIG. 本実施形態に関するシミュレーション実行部の説明図である。FIG. 4 is an explanatory diagram of a simulation execution unit according to the embodiment; 本実施形態に関するロボットシミュレーションシステムの構成図である。1 is a configuration diagram of a robot simulation system according to this embodiment; FIG. 本実施形態に関するロボットシミュレーション装置の動作を示すフローチャートである。It is a flow chart which shows the operation of the robot simulation device concerning this embodiment. 本実施形態に関する分布入力部および実データ入力部の入力画面図である。It is an input screen figure of a distribution input part and an actual data input part regarding this embodiment. 本実施形態に関する入力分布の一例を示すグラフである。It is a graph which shows an example of input distribution regarding this embodiment. 本実施形態に関する入力パラメータの一例を示すグラフである。It is a graph which shows an example of the input parameter regarding this embodiment. 本実施形態に関するシミュレーションDBの一例を示すテーブルである。It is a table which shows an example of simulation DB regarding this embodiment. 本実施形態に関するシミュレーション結果読取部の処理を示すグラフである。It is a graph which shows the process of the simulation result reading part regarding this embodiment. 本実施形態に関する出力分布推定部が生成するヒストグラムである。4 is a histogram generated by an output distribution estimator according to the embodiment; 本実施形態に関する出力分布推定部が推定する出力分布データである。It is output distribution data estimated by an output distribution estimating unit according to the present embodiment. 本実施形態に関する出力分布データの収束評価を示すグラフである。5 is a graph showing convergence evaluation of output distribution data according to the present embodiment; 本実施形態に関する実験DBに格納されている実験結果の点群データを示すグラフである。It is a graph which shows the point cloud data of the experimental result stored in experiment DB regarding this embodiment. 本実施形態に関するベイズ推定部が図13の実験DBからベイズ推定を行った結果を示すグラフである。14 is a graph showing a result of Bayesian estimation performed by a Bayesian estimation unit according to the present embodiment from the experiment DB of FIG. 13; 本実施形態に関する出力分布推定部が推定する出力分布データの説明図である。FIG. 4 is an explanatory diagram of output distribution data estimated by an output distribution estimating unit according to the embodiment; 本実施形態に関する作業工程最適化部の処理例を示すガントチャートである。It is a Gantt chart which shows the processing example of the work process optimization part regarding this embodiment.
 以下、本発明の一実施形態を説明する。 An embodiment of the present invention will be described below.
 図1は、ロボットシミュレーション装置100の構成図である。
 ロボットシミュレーション装置100は、処理部として、分布入力部11Aと、実データ入力部11Bと、分布推定部11Cと、入力生成部12Aと、出力分布推定部13と、シミュレーション実行部14Aと、シミュレーション結果読取部14Bと、実験結果読取部14Dと、ベイズ推定部14Eと、作業工程最適化部15Aと、結果出力部16とを有する。
 ロボットシミュレーション装置100の記憶部には、入力分布(入力分布データ)11Dと、入力パラメータ12Bと、シミュレーションDB14Cと、実験DB14Fと、出力分布データ14と、最適工程データ15Bとが格納される。
FIG. 1 is a configuration diagram of a robot simulation device 100. As shown in FIG.
The robot simulation apparatus 100 includes, as processing units, a distribution input unit 11A, a real data input unit 11B, a distribution estimation unit 11C, an input generation unit 12A, an output distribution estimation unit 13, a simulation execution unit 14A, and a simulation result It has a reading unit 14B, an experiment result reading unit 14D, a Bayesian estimation unit 14E, a work process optimization unit 15A, and a result output unit 16. FIG.
The storage unit of the robot simulation device 100 stores an input distribution (input distribution data) 11D, input parameters 12B, a simulation DB 14C, an experiment DB 14F, output distribution data 14, and optimum process data 15B.
 分布入力部11Aは、入力分布11Dの入力を受け付ける。入力分布11Dは、未知の環境の条件に応じてバラツキを与えた入力データである。なお、入力分布11Dの取りうる値の範囲はある程度予測可能だが、今回のシミュレーションを行う未知の環境に対応した正確な値は特定できないものとする。 The distribution input unit 11A accepts input of the input distribution 11D. The input distribution 11D is input data that is varied according to unknown environmental conditions. It should be noted that although the range of possible values of the input distribution 11D can be predicted to some extent, the exact values corresponding to the unknown environment for this simulation cannot be specified.
 実データ入力部11Bは、入力分布11Dの代わりとして、今回のシミュレーションを行う未知の環境とは別の、想定した環境下において事前に取得した実データ(実測データ)の入力を受け付ける。例えば、瓦礫撤去のシミュレーションであれば、実際の災害現場と近い条件(瓦礫の元の材料、壊れ方など)で瓦礫の模型を作ってみて、その模型の重さを実データとして量って実データ入力部11Bから入力してもよい。一般的には、実データの用意にはコストがかかるので、実データの個数(100個など)は、後記するシミュレーション処理への入力パラメータ12Bの個数(10000個など)よりも少ない。
 分布推定部11Cは、実データ入力部11Bが受け付けた実データから、カーネル密度推定法(KDE:Kernel Density Estimation)などにより、入力分布11Dを推定する。
Instead of the input distribution 11D, the actual data input unit 11B receives input of actual data (measured data) obtained in advance under an assumed environment different from the unknown environment in which the current simulation is performed. For example, in the case of a simulation of debris removal, a model of the debris is created under conditions similar to those of the actual disaster site (the original materials of the debris, how it breaks down, etc.), and the weight of the model is measured as actual data. You may input from the data input part 11B. In general, preparation of actual data is costly, so the number of actual data (100, etc.) is smaller than the number of input parameters 12B (10,000, etc.) to the simulation process described later.
The distribution estimation unit 11C estimates an input distribution 11D from the actual data received by the actual data input unit 11B, using a kernel density estimation method (KDE: Kernel Density Estimation) or the like.
 入力生成部12Aは、指定した入力分布11Dの確率密度に従って、今回のシミュレーションの入力パラメータ12Bを生成する。この生成処理は、例えば、モンテカルロ法により、乱数を指定回数(例えば1万回)発生させる処理であり、生成された乱数は他の乱数とは異なる値となる。
 なお、生成する乱数の個数は多いほど入力分布11Dに近づき精度も向上するが、その反面シミュレーションの計算量も増大してしまう。よって、ユーザは事前に計算機の性能などを考慮して、適切な個数の乱数を生成するよう設定することが望ましい。
The input generator 12A generates input parameters 12B for the current simulation according to the probability density of the specified input distribution 11D. This generating process is, for example, a process of generating a random number a specified number of times (for example, 10,000 times) by the Monte Carlo method, and the generated random number has a value different from other random numbers.
As the number of generated random numbers increases, the input distribution 11D approaches and accuracy improves, but on the other hand, the amount of simulation calculation also increases. Therefore, it is desirable that the user considers the performance of the computer in advance, and sets so as to generate an appropriate number of random numbers.
 入力パラメータ12Bは、今回のシミュレーションで使用されるパラメータであり、例えば、災害現場に散乱している瓦礫をロボットが把持する場合、その把持物体の重量や、把持物体の形状や、把持作業を行う地面の摩擦係数や、把持作業を行う屋内の温度などが例示される。これらの入力パラメータ12Bは、今回のシミュレーションの結果である出力分布データ14(作業時間や、作業ロボットが把持する物の重みで転倒するなどの作業の可否など)に影響を及ぼすパラメータである。 The input parameter 12B is a parameter used in this simulation. For example, when the robot grips debris scattered at a disaster site, the weight of the gripped object, the shape of the gripped object, and the gripping task Examples include the coefficient of friction of the ground and the indoor temperature in which the gripping work is performed. These input parameters 12B are parameters that affect the output distribution data 14 (work time, possibility of work such as overturning due to the weight of an object grasped by the work robot, etc.), which is the result of this simulation.
 出力分布推定部13は、入力パラメータ12Bによって示される未知の環境の条件に対して確率的なシミュレーションにより、出力分布データ14のロバストな評価を行う。出力分布推定部13は、確率的なシミュレーションの手段として、以下の(方法1)~(方法3)のいずれかを用いてもよい。
 (方法1)シミュレーション実行部14Aは、入力パラメータ12Bを受け、計算機上でシミュレーションを実行して、その結果を出力分布推定部13に返信する。
The output distribution estimator 13 performs robust evaluation of the output distribution data 14 by probabilistic simulation for unknown environmental conditions indicated by the input parameters 12B. The output distribution estimator 13 may use any one of the following (Method 1) to (Method 3) as probabilistic simulation means.
(Method 1) The simulation executing section 14A receives the input parameter 12B, executes a simulation on a computer, and returns the result to the output distribution estimating section 13. FIG.
 (方法2)シミュレーション結果読取部14Bは、入力パラメータ12Bを受け、シミュレーションDB14Cを参照して、事前に機械学習などで登録されたシミュレーションの結果を読み取って、出力分布推定部13に返信する。そのため、シミュレーション結果読取部14Bは、シミュレーション実行部14Aにより事前に実行されたシミュレーションの入力パラメータ12Bおよびその結果を、シミュレーションDB14Cに登録しておく。
 (方法3)実験結果読取部14Dは、入力パラメータ12Bを受け、ベイズ推定部14Eが推定したベイズ推定の分布データを取得し、その分布データを出力分布推定部13に返信する。そのため、ベイズ推定部14Eは、実データ入力部11Bにより事前に入力された実験環境下での実データ(実測データ)と、その実データにおける実験結果とを実験DB14Fに登録しておく。
(Method 2) The simulation result reading unit 14B receives the input parameter 12B, refers to the simulation DB 14C, reads the simulation result registered in advance by machine learning or the like, and sends it back to the output distribution estimating unit 13. Therefore, the simulation result reading unit 14B registers the input parameters 12B of the simulation executed in advance by the simulation executing unit 14A and the result thereof in the simulation DB 14C.
(Method 3) The experiment result reader 14D receives the input parameter 12B, acquires distribution data of Bayesian estimation estimated by the Bayesian estimator 14E, and returns the distribution data to the output distribution estimator 13. FIG. Therefore, the Bayesian estimation unit 14E registers, in the experiment DB 14F, actual data (actually measured data) under the experimental environment input in advance by the actual data input unit 11B and experimental results of the actual data.
 出力分布推定部13は、複数の(10000個など)入力パラメータ12Bそれぞれに対して、(方法1)~(方法3)のいずれかで評価された出力パラメータをもとに、カーネル密度推定法(KDE:Kernel Density Estimation)などにより、評価された出力パラメータの集合を積み重ねた出力分布データ14を推定する。
 結果出力部16は、出力分布データ14を画面出力することにより、未知の環境に対応したロバストなシミュレーション結果をユーザに把握させることで、ユーザがロボット作業の工程の検討に活用できる。
The output distribution estimation unit 13 uses the kernel density estimation method ( KDE: Kernel Density Estimation) or the like estimates output distribution data 14 by stacking a set of evaluated output parameters.
By outputting the output distribution data 14 on the screen, the result output unit 16 allows the user to comprehend robust simulation results corresponding to an unknown environment, so that the user can utilize them for examining the process of robot work.
 さらに、出力分布データ14はそのまま画面出力するだけでなく、ロボットの工程計画を最適化するための素材として用いてもよい。
 作業工程最適化部15Aは、出力分布データ14を入力として、ロボットの工程計画を初期計画から工程最適化(例:混合整数計画法、A*アルゴリズムなど)を行い、その結果を最適工程データ15Bとする。
 この最適化処理とは、例えば、同じ作業を実行する初期計画を起点として、作業の内容は変えずに、個々の作業時間を調整したり、作業間の順序を入れ替えたりすることで、総作業時間を短縮する処理である。
 結果出力部16は、出力分布データ14をもとに最適化された最適工程データ15Bをガントチャート形式などで画面出力する。これにより、未知の環境に対応したロバストな複数の作業が存在していても、それらを連携した妥当な作業工程をユーザに把握させることができる。
Furthermore, the output distribution data 14 may not only be output on the screen as it is, but may also be used as a material for optimizing the process plan of the robot.
The work process optimization unit 15A receives the output distribution data 14 as input, performs process optimization (eg, mixed integer programming, A* algorithm, etc.) from the initial plan of the robot process plan, and saves the result as optimum process data 15B. and
This optimization process is, for example, starting from an initial plan for executing the same work, adjusting individual work times, or changing the order of work without changing the content of the work, thereby optimizing the This is a process that shortens the time.
The result output unit 16 outputs the optimum process data 15B optimized based on the output distribution data 14 in the form of a Gantt chart or the like. As a result, even if there are a plurality of robust tasks corresponding to an unknown environment, it is possible for the user to comprehend a reasonable work process that links them.
 図2は、シミュレーション実行部14Aの説明図である。
 シミュレーション実行部14Aは、作業現場に散乱している瓦礫111Aを、作業ロボット111Bが片づける作業をシミュレーションする。このシミュレーション結果としての出力パラメータ(作業時間や作業可否)は、入力パラメータ12Bとして指定される瓦礫111Aの数や大きさなどによって変化する。
 つまり、シミュレーション実行部14Aは、生成された入力パラメータ12Bごとに、対応する出力パラメータを評価する。
FIG. 2 is an explanatory diagram of the simulation execution unit 14A.
The simulation execution unit 14A simulates the task of the work robot 111B clearing up the rubble 111A scattered at the work site. The output parameters (work time and work availability) as the simulation result change depending on the number and size of the rubble 111A specified as the input parameter 12B.
That is, the simulation execution unit 14A evaluates the corresponding output parameter for each generated input parameter 12B.
 図3は、ロボットシミュレーションシステムの構成図である。
 ロボットシミュレーションシステムは、ロボットシミュレーション装置100のコンピュータ900と、入出力装置916とを接続することで構成される。
 ロボットシミュレーション装置100は、CPU901と、RAM902と、ROM903と、HDD904と、通信I/F905と、入出力I/F906と、メディアI/F907とを有するコンピュータ900として構成される。
 通信I/F905は、外部の通信装置915と接続される。入出力I/F906は、入出力装置916と接続される。メディアI/F907は、記録媒体917からデータを読み書きする。さらに、CPU901は、RAM902に読み込んだプログラム(アプリケーションや、その略のアプリとも呼ばれる)を実行することにより、各処理部を制御する。そして、このプログラムは、通信回線を介して配布したり、CD-ROM等の記録媒体917に記録して配布したりすることも可能である。
FIG. 3 is a configuration diagram of the robot simulation system.
The robot simulation system is configured by connecting the computer 900 of the robot simulation device 100 and the input/output device 916 .
Robot simulation apparatus 100 is configured as computer 900 having CPU 901 , RAM 902 , ROM 903 , HDD 904 , communication I/F 905 , input/output I/F 906 and media I/F 907 .
Communication I/F 905 is connected to an external communication device 915 . Input/output I/F 906 is connected to input/output device 916 . A media I/F 907 reads and writes data from a recording medium 917 . Furthermore, the CPU 901 controls each processing unit by executing a program (also called an application or an app for short) read into the RAM 902 . This program can be distributed via a communication line or recorded on a recording medium 917 such as a CD-ROM for distribution.
 図4は、ロボットシミュレーション装置100の動作を示すフローチャートである。
 分布入力部11Aは、入力分布11Dの入力を受け付ける(S101)。
 入力生成部12Aは、入力パラメータ12Bを生成する(S102)。
FIG. 4 is a flow chart showing the operation of the robot simulation device 100. As shown in FIG.
11 A of distribution input parts receive the input of the input distribution 11D (S101).
The input generator 12A generates input parameters 12B (S102).
 出力分布推定部13は、シミュレーションの出力を取得する種別により分岐する(S111)。
 (方法1)S111で「シミュ(レーション)実行」ならば、出力分布推定部13は、シミュレーション実行部14Aが実行したシミュレーションの出力を取得する(S112;シミュレーション実行)。
 (方法2)S111で「シミュ(レーション)取得」ならば、出力分布推定部13は、シミュレーション結果読取部14BがシミュレーションDB14Cから読み取ったシミュレーションの出力を取得する(S113;シミュレーション取得)。
 (方法3)S111で「実験取得」ならば、出力分布推定部13は、実験結果読取部14Dが読み取った実験結果(ベイズ推定部14Eの推定結果)を取得する(S114;実験結果取得)。
The output distribution estimation unit 13 branches depending on the type of simulation output acquisition (S111).
(Method 1) If it is "execution of simulation" in S111, the output distribution estimation unit 13 acquires the output of the simulation executed by the simulation execution unit 14A (S112; execution of simulation).
(Method 2) If "obtain simulation" in S111, the output distribution estimation unit 13 obtains the simulation output read from the simulation DB 14C by the simulation result reading unit 14B (S113; simulation acquisition).
(Method 3) If "acquire experiment" in S111, the output distribution estimating unit 13 acquires the experimental result read by the experimental result reading unit 14D (estimation result of the Bayesian estimating unit 14E) (S114: Acquiring experimental result).
 出力分布推定部13は、S112~S114で取得した結果から、出力分布データ14を推定する(S115;出力分布の推定)。
 出力分布推定部13は、今回推定した出力分布データ14が収束したか否かを判定する(S116、詳細は図12)。S116でYesならS121に進み、NoならS111に戻って、再び出力分布データ14を推定する。即ち、出力分布データ14が収束するまで、出力分布推定部13は、出力分布データ14を更新する。
The output distribution estimation unit 13 estimates the output distribution data 14 from the results obtained in S112 to S114 (S115; estimation of output distribution).
The output distribution estimator 13 determines whether or not the output distribution data 14 estimated this time has converged (S116, see FIG. 12 for details). If Yes in S116, the process proceeds to S121, and if No, the process returns to S111 to estimate the output distribution data 14 again. That is, the output distribution estimator 13 updates the output distribution data 14 until the output distribution data 14 converge.
 結果出力部16は、ユーザが指定した出力結果の種別により分岐する(S121)。出力分布データ14が指定されている場合には(S121で分布)、結果出力部16は、出力分布データ14のグラフを出力する(S122)。
 工程の最適化が指定されている場合には(S121で工程)、作業工程最適化部15Aは、出力分布データ14を用いてロボット作業の最適な工程を計算し、その結果を結果出力部16から出力する(S123)。
The result output unit 16 branches according to the type of output result specified by the user (S121). When the output distribution data 14 is specified (distribution in S121), the result output unit 16 outputs a graph of the output distribution data 14 (S122).
When process optimization is designated (step in S121), the work process optimization unit 15A calculates the optimum process for robot work using the output distribution data 14, and outputs the result to the result output unit 16. (S123).
 図5は、S101の入力処理に用いられる、分布入力部11Aおよび実データ入力部11Bの入力画面図である。
 入力画面121には、1つ以上の入力パラメータ(図5では2つ)の入力欄と、各入力欄への入力を済ませた後にその入力を確定する「実行」ボタンと、入力を破棄する「終了」ボタンとが含まれる。
 各入力欄(入力パラメータ1,2)には、以下の入力欄が含まれる。
 ・パラメータ名の入力欄:ここでは、入力パラメータ1「把持物体重量」および入力パラメータ2「把持物体大きさ」が入力されている。
 ・入力データ形式を指定するラジオボタン。ここでは、確率分布名およびそのパラメータ群(平均、標準偏差)のデータ形式か、CSV(Comma-Separated values)ファイルを指定して確率分布を直接指定するデータ形式か、CSVファイルを指定して実データを直接指定するデータ形式か、の3通りから1つを選べる。
 また、入力画面121内の確率分布名の入力はプルダウンメニューから1つを選択でき、山なり曲線の正規分布以外にも、一様分布などのさまざまな分布を選択可能である。
FIG. 5 is an input screen diagram of the distribution input section 11A and the actual data input section 11B used for the input processing of S101.
The input screen 121 includes input fields for one or more input parameters (two in FIG. 5), an "execute" button for confirming the input after completing the input in each input field, and an "execute" button for discarding the input. a "Finish" button.
Each input field (input parameters 1 and 2) includes the following input fields.
Input column for parameter name: Here, input parameter 1 "grasp object weight" and input parameter 2 "grasp object size" are entered.
・Radio buttons to specify the input data format. Here, the data format of the probability distribution name and its parameter group (mean, standard deviation), the data format that directly specifies the probability distribution by specifying a CSV (Comma-Separated values) file, or the data format that specifies the CSV file and executes One can be selected from three types: a data format in which data is specified directly;
Also, one can be selected from the pull-down menu for inputting the probability distribution name in the input screen 121, and various distributions such as uniform distribution can be selected in addition to the normal distribution of the mountain curve.
 分布入力部11Aは、入力パラメータ1「把持物体重量」について、確率分布名「正規分布」のデータ形式で入力を受け付ける。
 実データ入力部11Bは、入力パラメータ2「把持物体大きさ」について、CSVファイルを指定して実データを直接指定するデータ形式で入力を受け付ける。この場合は、分布推定部11Cは、実データ入力部11Bが受け付けた実データから、カーネル密度推定法などにより、入力分布11Dを推定する。
The distribution input unit 11A receives an input of the input parameter 1 "grasped object weight" in the data format of the probability distribution name "normal distribution".
The actual data input unit 11B accepts an input in a data format in which a CSV file is designated and actual data is directly designated for the input parameter 2 “grasped object size”. In this case, the distribution estimator 11C estimates the input distribution 11D from the actual data received by the actual data input unit 11B, using a kernel density estimation method or the like.
 図6は、図5の入力画面から分布入力部11Aが受け付けた入力分布11Dの一例を示すグラフである。
 グラフ131の横軸は入力パラメータ1「把持物体重量」であり、縦軸はその各重量における瓦礫が発生する確率密度を示す。分布入力部11Aは、CSVファイルなどの横軸と縦軸との対応データ132を指定して、グラフ131の確率分布を直接指定するデータ形式を受け付けてもよい。
 なお、今回のシミュレーションは、未知の環境を前提とするため、グラフ131は、特定の環境を前提とせず、過去の経験や文献、専門家の意見などから決められている。そのため、グラフ131の横軸は決め打ちで1つの値とはせずに、バラツキを含む分布データとなっている。
FIG. 6 is a graph showing an example of the input distribution 11D received by the distribution input unit 11A from the input screen of FIG.
The horizontal axis of the graph 131 is the input parameter 1 “grasped object weight”, and the vertical axis is the probability density of rubble generation at each weight. The distribution input unit 11A may accept a data format that directly specifies the probability distribution of the graph 131 by specifying the correspondence data 132 between the horizontal axis and the vertical axis, such as a CSV file.
Since this simulation assumes an unknown environment, the graph 131 is determined based on past experience, literature, opinions of experts, etc., without assuming a specific environment. For this reason, the horizontal axis of the graph 131 does not have a fixed value, but is distribution data including variations.
 図7は、入力パラメータ12Bの一例を示すグラフである。
 グラフ141の横軸は入力パラメータのデータ番号(No.)であり、縦軸はそのデータ番号に対応する入力パラメータ1「把持物体重量」の数値である。入力生成部12Aは、入力分布11Dに適合する把持物体重量の数値集合(乱数集合)142を生成する。グラフ141は、数値集合142をグラフ化したものである。
FIG. 7 is a graph showing an example of the input parameter 12B.
The horizontal axis of the graph 141 is the data number (No.) of the input parameter, and the vertical axis is the numerical value of the input parameter 1 "grasped object weight" corresponding to the data number. The input generation unit 12A generates a numerical value set (random number set) 142 of gripped object weights that conforms to the input distribution 11D. A graph 141 is a graphical representation of the numerical value set 142 .
 図8は、シミュレーションDB14Cの一例を示すテーブルである。
 シミュレーションDB14Cのテーブル151は、入力パラメータのデータ番号(No.)ごとに、その入力パラメータ(ここでは把持物体の重量)と、その入力パラメータにおけるシミュレーションの実行結果(ここでは、作業時間と作業可否)とを対応付ける。なお、シミュレーションの一般的な傾向として、把持物体の重量が重いほど、作業時間も増える、または、作業否となる。
 シミュレーション実行部14Aは、S113でシミュレーション結果読取部14Bに取得させるシミュレーションDB14C内のデータを、事前に作成しておく。
FIG. 8 is a table showing an example of the simulation DB 14C.
The table 151 of the simulation DB 14C contains, for each data number (No.) of the input parameter, the input parameter (here, the weight of the gripped object) and the execution result of the simulation for that input parameter (here, work time and work availability). and As a general tendency of simulation, the heavier the gripped object is, the longer the work time is, or the work is rejected.
The simulation executing unit 14A prepares in advance data in the simulation DB 14C to be acquired by the simulation result reading unit 14B in S113.
 図9は、シミュレーション結果読取部14Bの処理を示すグラフである。
 グラフ161の横軸は入力パラメータ1「把持物体重量」であり、縦軸はその重量に対応するシミュレーションの実行結果(ここでは、作業時間)である。グラフ161は、曲線グラフになっている。折れ線グラフの各点は、図8の「重量」および「作業時間」の組み合わせで示す点の座標である。
FIG. 9 is a graph showing processing of the simulation result reading unit 14B.
The horizontal axis of the graph 161 is the input parameter 1 “grasped object weight”, and the vertical axis is the simulation execution result (here, work time) corresponding to the weight. Graph 161 is a curve graph. Each point in the line graph is the coordinates of the point indicated by the combination of "weight" and "working time" in FIG.
 そして、グラフ161の各点の間を補完する曲線は、ここでは1つの入力パラメータのみで分布も連続的なので、シミュレーション実行部14Aは簡単な補間方法(例:スプライン補間)で求めることができる。
 一方、多次元の入力パラメータを扱う場合や複雑(非連続)な分布入力パラメータを扱う場合には、ランダムフォレスト等の高度な機械学習での補間方法をシミュレーション実行部14Aに実行させる。分布が不連続や滑らかでない場合は、入力パラメータの少しの違いで出力パラメータは全く違う値になる可能性があるためである。
Since the curve interpolating between the points of the graph 161 has a continuous distribution with only one input parameter here, the simulation execution unit 14A can obtain it by a simple interpolation method (eg, spline interpolation).
On the other hand, when dealing with multidimensional input parameters or complicated (non-continuous) distribution input parameters, the simulation execution unit 14A is caused to execute an interpolation method in advanced machine learning such as random forest. This is because if the distribution is discontinuous or not smooth, a slight difference in the input parameters may result in completely different values in the output parameters.
 出力分布推定部13は、データ番号(No.)ごとの数値(図9では「120kg」)をグラフ161に入力し、グラフ161との交点を求め、その交点に対応する出力パラメータの数値(図9では「350分」)を求める(図9の矢印を参照)。つまり、入力パラメータ12Bの個数が1000個あれば、出力分布推定部13が求める出力パラメータの個数も1000個となる。なお、図9では、説明をわかりやすくするために、1種類の入力パラメータから1種類の出力パラメータを求める図示を行った。一方、実際には、入力パラメータの種類も、出力パラメータの種類も複数存在することが多い。 The output distribution estimating unit 13 inputs a numerical value ("120 kg" in FIG. 9) for each data number (No.) to the graph 161, obtains an intersection with the graph 161, and calculates an output parameter numerical value (Fig. 9, "350 minutes") (see arrow in Figure 9). That is, if the number of input parameters 12B is 1000, the number of output parameters obtained by the output distribution estimator 13 is also 1000. In addition, in FIG. 9, in order to make the explanation easier to understand, one type of output parameter is obtained from one type of input parameter. On the other hand, in practice, there are many types of input parameters and multiple types of output parameters.
 図10は、出力分布推定部13が生成するヒストグラムである。
 ヒストグラム162の横軸は出力パラメータ(作業時間)であり、縦軸はその作業時間が出力される頻度である。出力分布推定部13は、図9で求めた出力パラメータの数値(例えば「350分」)ごとに、その頻度を積み上げることでヒストグラム162を生成する。
 なお、出力分布推定部13は、(方法1)のシミュレーション実行部14Aの出力と、(方法2)のシミュレーション結果読取部14Bの出力とについては、図10のようにヒストグラム162を生成する。一方、(方法3)の実験結果読取部14Dの出力については、ヒストグラム162の代わりに、分布を積み上げるグラフを生成する(詳細は図15)。
FIG. 10 is a histogram generated by the output distribution estimation unit 13. FIG.
The horizontal axis of the histogram 162 is the output parameter (work time), and the vertical axis is the frequency with which the work time is output. The output distribution estimating unit 13 generates a histogram 162 by accumulating the frequency for each numerical value of the output parameter obtained in FIG. 9 (for example, “350 minutes”).
The output distribution estimation unit 13 generates a histogram 162 as shown in FIG. 10 for the output of the simulation execution unit 14A of (method 1) and the output of the simulation result reading unit 14B of (method 2). On the other hand, for the output of the experiment result reader 14D of (Method 3), instead of the histogram 162, a graph in which the distribution is accumulated is generated (see FIG. 15 for details).
 図11は、出力分布推定部13が推定する出力分布データ14である。
 出力分布推定部13は、図10のような出力分布データ14のヒストグラム162(評価された出力パラメータの集合を積み重ねたヒストグラム)から、カーネル密度推定法などにより、ヒストグラム162の各ピーク付近をなだらかに接続する曲線のグラフ163を生成する。このグラフ163が出力分布データ14の推定結果である。
 この出力分布データ14により、例えば作業時間について「未知の環境がどのような環境でも、90%の作業時間が350分までに収まる」のようなロバストな評価ができる。
 なお、図11の例では、グラフ163のピークが1つであるが、別の例ではピークが複数存在することもある。その場合、「作業時間は350分程度の可能性が20%、550分程度の可能性が70%」のような評価ができる。
FIG. 11 shows the output distribution data 14 estimated by the output distribution estimator 13 .
The output distribution estimator 13 uses a histogram 162 of the output distribution data 14 as shown in FIG. 10 (a histogram obtained by stacking a set of evaluated output parameters), and uses a kernel density estimation method or the like to gradually smooth out the vicinity of each peak of the histogram 162. Generate a graph 163 of connecting curves. This graph 163 is the estimation result of the output distribution data 14 .
With this output distribution data 14, for example, a robust evaluation of work time can be made such as "90% of the work time is within 350 minutes in any unknown environment".
Although the graph 163 has one peak in the example of FIG. 11, there may be multiple peaks in another example. In that case, it is possible to make an evaluation such as "There is a 20% chance that the work time will be about 350 minutes, and a 70% chance that it will be about 550 minutes."
 図12は、図4のS116の一例として、出力分布データ14の収束評価を示すグラフである。
 グラフ164の横軸はシミュレーション回数(S112,S113,S114のいずれかを実行した回数であり、モンテカルロ法の回数とも呼ぶ)、縦軸はS116の収束評価値を示す。
 出力分布データ14はシミュレーション回数を増やすたびにその形状が更新される。そこで、出力分布推定部13は、前回までのシミュレーション結果の出力分布データ14と、今回までのシミュレーション結果の出力分布データ14とのグラフの形状の差分(KLダイバージェンスなどの収束評価値)を比較する。そして、出力分布推定部13は、その差分が充分に小さくなったら(グラフ164の閾値を下回ったら)、出力分布データ14が収束した(S116でYes)と判定する。
FIG. 12 is a graph showing convergence evaluation of the output distribution data 14 as an example of S116 in FIG.
The horizontal axis of the graph 164 indicates the number of simulations (the number of times any one of S112, S113, and S114 is executed, also called the number of Monte Carlo methods), and the vertical axis indicates the convergence evaluation value of S116.
The shape of the output distribution data 14 is updated each time the number of times of simulation is increased. Therefore, the output distribution estimation unit 13 compares the difference in graph shape (convergence evaluation value such as KL divergence) between the output distribution data 14 of the simulation results up to the previous time and the output distribution data 14 of the simulation results up to this time. . Then, when the difference becomes sufficiently small (below the threshold in the graph 164), the output distribution estimator 13 determines that the output distribution data 14 has converged (Yes in S116).
 以上、図9~図12を参照して、(方法1)および(方法2)について出力分布推定部13が出力分布データ14を作成する詳細を説明した。次に、図13~図15を参照して、(方法3)について出力分布推定部13が出力分布データ14を作成する詳細を説明する。
 図13は、実験DB14Fに格納されている実験結果の点群データを示すグラフである。グラフ171の横軸は入力パラメータ1「把持物体重量」であり、縦軸はその重量に対応する実験結果(ここでは、作業時間)である。
The details of how the output distribution estimator 13 creates the output distribution data 14 for (Method 1) and (Method 2) have been described above with reference to FIGS. Next, with reference to FIGS. 13 to 15, the details of how the output distribution estimator 13 creates the output distribution data 14 for (Method 3) will be described.
FIG. 13 is a graph showing point cloud data of experimental results stored in the experiment DB 14F. The horizontal axis of the graph 171 is the input parameter 1 “grasped object weight”, and the vertical axis is the experimental result (here, work time) corresponding to the weight.
 図14は、ベイズ推定部14Eが図13の実験DB14Fからベイズ推定を行った結果を示すグラフである。
 ベイズ推定部14Eは、図13のグラフ171の点群データを読み取り、ベイズ推定により、横軸の入力パラメータ(把持物体重量)と、縦軸の出力パラメータ(作業時間)との関係(回帰)とバラツキを推定するグラフ172を生成する。
FIG. 14 is a graph showing the results of Bayesian estimation performed by the Bayesian estimation unit 14E from the experiment DB 14F of FIG.
The Bayesian estimation unit 14E reads the point cloud data of the graph 171 of FIG. Generate a graph 172 that estimates the variability.
 図14の例では、ベイズ推定部14Eは、点群データの95%が含まれるような上下2本の波線(点P1を通過する波線と、点P3を通過する波線)に挟まれた区間172Wを、バラツキの推定結果とする。この区間172W内の点P2を通過する実線は、点群データの出現頻度がピークと推定される箇所を示す。このように、ベイズ推定を用いることで少ない実測データでも確率分布を評価できる。
 そして、出力分布推定部13は、例えば、重量=350kgという1つの入力パラメータに対応する作業時間の出力パラメータを、区間172W内の交点となる箇所「点P1~P2~P3」という範囲として求める。
In the example of FIG. 14, the Bayesian estimation unit 14E detects a section 172W sandwiched between two upper and lower wavy lines (a wavy line passing through point P1 and a wavy line passing through point P3) that includes 95% of the point cloud data. is the estimation result of the variation. A solid line passing through the point P2 in this section 172W indicates a point where the appearance frequency of the point cloud data is estimated to peak. By using Bayesian estimation in this way, the probability distribution can be evaluated even with a small amount of measured data.
Then, the output distribution estimating unit 13 obtains the output parameter of the working time corresponding to one input parameter of weight=350 kg, for example, as a range of points "points P1 to P2 to P3" which are intersection points in the section 172W.
 図15は、実験結果読取部14Dが図14のグラフから読み取った分布をもとに、出力分布推定部13が推定する出力分布データ14の説明図である。
 グラフ173の横軸は出力パラメータ(作業時間)であり、縦軸はその出力パラメータが発生する頻度(確率)である。
 出力分布推定部13は、図14で求めた「点P1~P2~P3」という範囲の区間172W内の作業時間(120分がピーク)のバラツキ(点群データの出現頻度)を示す分布曲線173Aを、1回分のシミュレーション結果として出力分布データ14に追加する。この分布曲線173Aは、図14の重量=350kgという1つの入力パラメータに対応する作業時間の出力パラメータが図14の縦軸に投影されたものである。
 同様に、出力分布推定部13は、各回のシミュレーション結果を出力分布データ14に対して次々と重ね合わせる(足し合わせる)ことにより、出力分布データ14のグラフ173Bを作成する。
FIG. 15 is an explanatory diagram of the output distribution data 14 estimated by the output distribution estimating section 13 based on the distribution read from the graph of FIG. 14 by the experiment result reading section 14D.
The horizontal axis of the graph 173 is the output parameter (work time), and the vertical axis is the frequency (probability) of occurrence of that output parameter.
The output distribution estimating unit 13 generates a distribution curve 173A showing the variation (appearance frequency of point cloud data) of the work time (the peak at 120 minutes) within the section 172W in the range of "points P1 to P2 to P3" obtained in FIG. is added to the output distribution data 14 as a simulation result for one time. This distribution curve 173A is obtained by projecting the output parameter of working time corresponding to one input parameter of weight=350 kg in FIG. 14 onto the vertical axis of FIG.
Similarly, the output distribution estimator 13 creates a graph 173B of the output distribution data 14 by successively superimposing (adding) each simulation result on the output distribution data 14 .
 図16は、図4のS123の一例として、作業工程最適化部15Aの処理例を示すガントチャートである。
 以下、初期計画のガントチャート201、最適化なしのガントチャート202、最適化ありのガントチャート203の順に説明する。各ガントチャート201~203には、瓦礫の解体および把持を担当するロボットR1と、瓦礫の運搬を担当するロボットR2とで、それぞれの作業工程が示される。
FIG. 16 is a Gantt chart showing a processing example of the work process optimization unit 15A as an example of S123 in FIG.
The Gantt chart 201 of the initial plan, the Gantt chart 202 without optimization, and the Gantt chart 203 with optimization will be described below in this order. Each of the Gantt charts 201 to 203 shows the work processes of the robot R1 in charge of dismantling and grasping the rubble and the robot R2 in charge of transporting the rubble.
 初期計画のガントチャート201には、シミュレーション結果としての出力分布データ14が反映されておらず、作業工程の遅延リスクの要因となる作業時間のバラツキは未考慮の工程が登録されている。
 具体的には、ロボットR1について、A地点の瓦礫解体の工程と、瓦礫をロボットR2に積込む工程と、B地点に移動する工程とが登録されている。ロボットR2について、ロボットR1の瓦礫解体が終わるのを待機する工程と、ロボットR1から瓦礫を積込み待ちする工程と、瓦礫を運搬する工程と、C地点に移動にする工程とが登録されている。
 A地点の瓦礫解体の工程などの各工程の作業時間は、事前に登録されている作業時間の平均値Taに基づく。
The output distribution data 14 as a simulation result is not reflected in the Gantt chart 201 of the initial plan, and a process is registered in which variation in working time, which is a factor of the risk of delaying the work process, is not considered.
Specifically, for the robot R1, a process of dismantling rubble at point A, a process of loading the rubble onto robot R2, and a process of moving to point B are registered. For the robot R2, a process of waiting for the robot R1 to dismantle the rubble, a process of waiting to load the rubble from the robot R1, a process of transporting the rubble, and a process of moving to the point C are registered.
The work time for each process such as the rubble dismantling process at point A is based on the pre-registered average work time value Ta.
 最適化なしのガントチャート202には、シミュレーション結果としての出力分布データ14が各工程の作業時間に反映されている。例えば、A地点の瓦礫解体の工程の作業時間は、事前に登録されている作業時間の平均値Taに加えて、出力分布データ14が示す標準偏差(バラツキ)の時間Tbが加算されている。
 同様に、A地点の瓦礫解体の工程以外の作業についても出力分布データ14のバラツキを考慮して変更する必要がある。しかし、図16では説明を簡単にするために他工程の作業時間は変更しないものとして図示する。
In the non-optimized Gantt chart 202, the output distribution data 14 as a simulation result is reflected in the work time of each process. For example, the work time for the rubble dismantling process at point A is obtained by adding the standard deviation (variation) time Tb indicated by the output distribution data 14 to the pre-registered average value Ta of the work time.
Similarly, it is necessary to consider the variation in the output distribution data 14 and change the work other than the rubble dismantling process at the point A. However, in FIG. 16, in order to simplify the explanation, it is shown that the working times of other processes are not changed.
 最適化なしのガントチャート202は、初期計画のガントチャート201と比べて、各工程の作業時間は多少は長くなったり短くなったりするものの、各工程の順序は変化せず、単純に各工程を後倒ししたものとなる。例えば、ロボットR1の「A地点の瓦礫解体」工程で発生する作業時間のバラツキを考慮する場合には、その後工程となるロボットR2の「積込み待ち」を行うための待機時間も長くなってしまい、ロボットR2のC時点での作業(符号202C)も遅れてしまう。 In the non-optimized Gantt chart 202, compared to the Gantt chart 201 of the initial plan, the work time of each process is slightly longer or shorter, but the order of each process does not change, and each process is simply executed. It will be postponed. For example, when considering the variation in work time that occurs in the "demolition of rubble at point A" process of robot R1, the waiting time for "waiting for loading" of robot R2, which is the subsequent process, becomes longer. The work (reference numeral 202C) at time C of robot R2 is also delayed.
 最適化ありのガントチャート203は、最適化なしのガントチャート202から、ロボットR2の工程を一部入れ替えることによって、総作業時間を短縮する最適化を行った。
 具体的には、作業工程最適化部15Aは、ロボットR1の「A地点の瓦礫解体」のバラツキが大きい(遅延リスクが高い)ため、ロボットR2の待機時間が長くなることを、最適化なしのガントチャート202から認識する。
The Gantt chart 203 with optimization is optimized to shorten the total work time by partially replacing the processes of the robot R2 from the Gantt chart 202 without optimization.
Specifically, the work process optimization unit 15A determines that the waiting time of the robot R2 will be long because there is a large variation in the "demolition of rubble at point A" by the robot R1 (the risk of delay is high). Recognize from the Gantt chart 202 .
 そして、作業工程最適化部15Aは、ロボットR2の待機時間を有効活用するために、A地点でのロボットR1からの瓦礫の積込み待ち工程を行う前に、「C地点に移動し、そこで既に解体されている瓦礫を運搬して、A地点に戻る」工程を実行する。
 これにより、最適化なしのガントチャート202でのC時点での作業(符号202C)が、最適化ありのガントチャート203ではA地点での作業前でのC時点での作業(符号203C)に前倒しされることで、トータルの作業時間が短縮される。
 このように、作業工程最適化部15Aは、出力分布データ14のバラツキ(遅延リスク)を考慮して、ロボットが実行する工程の順序を組み替えたり、ロボットへの工程(作業)の割り当てを組み替えたりする「工程最適化」を実行することで、ロボットの作業計画を改善できる。
Then, in order to make effective use of the waiting time of the robot R2, the work process optimization unit 15A, before performing the process of waiting for the loading of rubble from the robot R1 at the point A, says, "Move to the point C, where the rubble has already been dismantled." Execute the process of transporting the debris and returning to point A.
As a result, the work at time point C (reference numeral 202C) in the Gantt chart 202 without optimization is moved forward to the work at time point C (reference numeral 203C) before the work at point A in the Gantt chart 203 with optimization. By doing so, the total work time is shortened.
In this way, the work process optimization unit 15A rearranges the order of the processes executed by the robots and rearranges the allocation of processes (work) to the robots, taking into consideration variations (delay risk) in the output distribution data 14. The robot's work plan can be improved by performing "process optimization" that
 以上説明した本実施形態のロボットシミュレーション装置100は、未知の環境の条件に対して確率的なシミュレーションの入力条件(物性値、境界条件など)にバラツキを持たせた入力分布11Dをもとに、作業時間や作業可否などの出力パラメータを出力分布データ14として評価する。これにより、シミュレーションの入力となる物性値や境界条件などを正確に決めることができない未知な環境であっても、ロバストな評価ができる。 The robot simulation apparatus 100 according to the present embodiment as described above, based on the input distribution 11D in which the probabilistic simulation input conditions (physical property values, boundary conditions, etc.) are varied for unknown environmental conditions, Output parameters such as work time and work availability are evaluated as output distribution data 14 . As a result, robust evaluation is possible even in an unknown environment in which physical property values and boundary conditions, which are inputs to the simulation, cannot be determined accurately.
 また、入力生成部12Aは、入力分布11Dに従った妥当な個数の乱数をモンテカルロ法により生成する。これにより、実用的な計算時間内となるシミュレーション回数を行うことができる。
 さらに、シミュレーション実行部14Aがその都度毎回のシミュレーション処理を行う(方法1)の他に、すでに実行されたシミュレーション結果を読み取る(方法2)や、すでに入力された実験結果を読み取る(方法3)を用いることで、シミュレーション回数を抑えて実用的な時間で評価できる。
In addition, the input generation unit 12A generates an appropriate number of random numbers according to the input distribution 11D by the Monte Carlo method. As a result, the number of simulations within a practical calculation time can be performed.
Furthermore, in addition to the simulation processing performed each time by the simulation execution unit 14A (Method 1), the simulation execution unit 14A can also read the results of simulations that have already been executed (Method 2), or read the results of experiments that have already been input (Method 3). By using it, the number of times of simulation can be suppressed and evaluation can be performed in a practical time.
 なお、本発明は前記した実施例に限定されるものではなく、さまざまな変形例が含まれる。例えば、前記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
 また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。
 また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段などは、それらの一部または全部を、例えば集積回路で設計するなどによりハードウェアで実現してもよい。
 また、前記の各構成、機能などは、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。
It should be noted that the present invention is not limited to the above-described embodiments, and includes various modifications. For example, the above-described embodiments have been described in detail in order to explain the present invention in an easy-to-understand manner, and are not necessarily limited to those having all the described configurations.
In addition, it is possible to replace part of the configuration of one embodiment with the configuration of another embodiment, and it is also possible to add the configuration of another embodiment to the configuration of one embodiment.
Moreover, it is possible to add, delete, or replace a part of the configuration of each embodiment with another configuration. Further, each of the above configurations, functions, processing units, processing means, and the like may be realized by hardware, for example, by designing a part or all of them using an integrated circuit.
Further, each configuration, function, and the like described above may be realized by software by a processor interpreting and executing a program for realizing each function.
 各機能を実現するプログラム、テーブル、ファイルなどの情報は、メモリや、ハードディスク、SSD(Solid State Drive)などの記録装置、または、IC(Integrated Circuit)カード、SDカード、DVD(Digital Versatile Disc)などの記録媒体におくことができる。また、クラウドを活用することもできる。
 また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
 さらに、各装置を繋ぐ通信手段は、無線LANに限定せず、有線LANやその他の通信手段に変更してもよい。
Information such as programs, tables, and files that realize each function can be stored in recording devices such as memory, hard disks, SSDs (Solid State Drives), IC (Integrated Circuit) cards, SD cards, DVDs (Digital Versatile Discs), etc. can be placed on a recording medium of You can also use the cloud.
Further, the control lines and information lines indicate those considered necessary for explanation, and not all control lines and information lines are necessarily indicated on the product. In fact, it may be considered that almost all configurations are interconnected.
Furthermore, the communication means for connecting each device is not limited to a wireless LAN, and may be changed to a wired LAN or other communication means.
 11A 分布入力部
 11B 実データ入力部
 11C 分布推定部
 11D 入力分布(入力分布データ)
 12A 入力生成部
 12B 入力パラメータ
 13  出力分布推定部
 14  出力分布データ
 14A シミュレーション実行部
 14B シミュレーション結果読取部
 14C シミュレーションDB
 14D 実験結果読取部
 14E ベイズ推定部
 14F 実験DB
 15A 作業工程最適化部
 15B 最適工程データ
 16  結果出力部
 100 ロボットシミュレーション装置
11A distribution input unit 11B actual data input unit 11C distribution estimation unit 11D input distribution (input distribution data)
12A Input generation unit 12B Input parameter 13 Output distribution estimation unit 14 Output distribution data 14A Simulation execution unit 14B Simulation result reading unit 14C Simulation DB
14D Experiment result reader 14E Bayesian estimation unit 14F Experiment DB
15A work process optimization unit 15B optimum process data 16 result output unit 100 robot simulation device

Claims (8)

  1.  ロボットの動作を規定するシミュレーションの入力パラメータを、入力分布データとして受け付ける分布入力部と、
     前記入力分布データに従って入力パラメータの集合を生成する入力生成部と、
     生成された入力パラメータごとに、対応する出力パラメータを評価するシミュレーション実行部と、
     評価された出力パラメータの集合を積み重ねた出力分布データを推定し、前記出力分布データが収束するまで前記出力分布データを更新する出力分布推定部と、
     収束した前記出力分布データを出力する結果出力部とを有することを特徴とする
     ロボットシミュレーション装置。
    a distribution input unit that receives, as input distribution data, simulation input parameters that define the motion of the robot;
    an input generator that generates a set of input parameters according to the input distribution data;
    a simulation execution unit that, for each generated input parameter, evaluates a corresponding output parameter;
    an output distribution estimation unit that estimates output distribution data obtained by stacking sets of evaluated output parameters, and updates the output distribution data until the output distribution data converges;
    and a result output unit that outputs the converged output distribution data.
  2.  前記入力生成部は、モンテカルロ法により前記入力分布データに従った乱数を発生させて、その乱数の集合を入力パラメータの集合とし、
     前記出力分布推定部は、評価された出力パラメータの集合を積み重ねたヒストグラムからカーネル密度推定法により前記出力分布データを推定することを特徴とする
     請求項1に記載のロボットシミュレーション装置。
    The input generation unit generates random numbers according to the input distribution data by a Monte Carlo method, and uses the set of random numbers as a set of input parameters,
    2. The robot simulation apparatus according to claim 1, wherein the output distribution estimator estimates the output distribution data by a kernel density estimation method from a histogram obtained by stacking a set of evaluated output parameters.
  3.  前記ロボットシミュレーション装置は、さらに、シミュレーションDBおよびシミュレーション結果読取部を有しており、
     前記シミュレーションDBには、前記シミュレーション実行部によるあらかじめシミュレーションした結果として、過去の入力パラメータと過去の出力パラメータとの対応データが格納されており、
     前記シミュレーション実行部による出力パラメータを評価する処理に替えて、前記シミュレーション結果読取部は、今回生成された入力パラメータごとに、対応する出力パラメータを前記シミュレーションDBから読み取る処理を実行することを特徴とする
     請求項1に記載のロボットシミュレーション装置。
    The robot simulation device further has a simulation DB and a simulation result reader,
    The simulation DB stores correspondence data between past input parameters and past output parameters as a result of pre-simulation by the simulation execution unit,
    Instead of the process of evaluating the output parameters by the simulation execution unit, the simulation result reading unit executes the process of reading the corresponding output parameters from the simulation DB for each input parameter generated this time. The robot simulation device according to claim 1.
  4.  前記ロボットシミュレーション装置は、さらに、実験結果読取部、ベイズ推定部、および、実験DBを有しており、
     前記実験DBには、過去の入力パラメータと過去の出力パラメータとの対応データの集合が格納されており、
     前記ベイズ推定部は、前記実験DBから読み取った対応データの集合から、入力パラメータに対応する出力パラメータの分布データを、ベイズ推定により作成し、
     前記シミュレーション実行部による出力パラメータを評価する処理に替えて、前記実験結果読取部は、今回生成された入力パラメータごとに、対応する出力パラメータの分布データを前記ベイズ推定部から読み取る処理を実行し、
     前記出力分布推定部は、読み取られた出力パラメータの分布データを積み重ねた前記出力分布データを作成することを特徴とする
     請求項1に記載のロボットシミュレーション装置。
    The robot simulation device further has an experiment result reading unit, a Bayesian estimation unit, and an experiment DB,
    The experiment DB stores a set of correspondence data between past input parameters and past output parameters,
    The Bayesian estimation unit creates distribution data of output parameters corresponding to input parameters from a set of corresponding data read from the experiment DB by Bayesian estimation,
    Instead of the process of evaluating the output parameters by the simulation execution unit, the experiment result reading unit reads the distribution data of the corresponding output parameters from the Bayesian estimation unit for each input parameter generated this time,
    2. The robot simulation apparatus according to claim 1, wherein the output distribution estimating unit creates the output distribution data by accumulating distribution data of read output parameters.
  5.  前記ロボットシミュレーション装置は、さらに、作業工程最適化部を有しており、
     前記作業工程最適化部は、前記出力分布推定部が作成した前記出力分布データを参照してロボットが実行する各工程の作業時間を変更するとともに、その変更後の作業時間に対して、各工程の順序を組み替える処理、および、各ロボットに工程の割り当てを組み替える処理の少なくとも1つを実行することで、ロボットが実行する各工程の総作業時間を短縮することを特徴とする
     請求項1に記載のロボットシミュレーション装置。
    The robot simulation device further has a work process optimization unit,
    The work process optimization unit refers to the output distribution data created by the output distribution estimation unit, changes the work time of each process executed by the robot, and adjusts the work time after the change to each process. and at least one of a process of rearranging the order of processes and a process of rearranging the assignment of processes to each robot, thereby shortening the total work time of each process executed by the robot. robot simulation equipment.
  6.  前記シミュレーション実行部は、ロボットの作業時間またはロボットの作業可否を出力パラメータとして評価することを特徴とする
     請求項1に記載のロボットシミュレーション装置。
    2. The robot simulation apparatus according to claim 1, wherein the simulation execution unit evaluates a working time of the robot or whether the robot can work or not as an output parameter.
  7.  請求項1ないし請求項6のいずれか1項に記載のロボットシミュレーション装置と、前記分布入力部に対して入力データを送信する手段および前記結果出力部からの出力データを受信する手段を有する入出力装置とを有することを特徴とする
     ロボットシミュレーションシステム。
    7. An input/output device comprising a robot simulation apparatus according to any one of claims 1 to 6, means for transmitting input data to said distribution input section, and means for receiving output data from said result output section. A robot simulation system comprising: a device;
  8.  ロボットシミュレーション装置は、分布入力部と、入力生成部と、シミュレーション実行部と、出力分布推定部と、結果出力部とを有しており、
     前記分布入力部は、ロボットの動作を規定するシミュレーションの入力パラメータを、入力分布データとして受け付け、
     前記入力生成部は、前記入力分布データに従って入力パラメータの集合を生成し、
     前記シミュレーション実行部は、生成された入力パラメータごとに、対応する出力パラメータを評価し、
     前記出力分布推定部は、評価された出力パラメータの集合を積み重ねた出力分布データを推定し、前記出力分布データが収束するまで前記出力分布データを更新し、
     前記結果出力部は、収束した前記出力分布データを出力することを特徴とする
     ロボットシミュレーション方法。
    The robot simulation device has a distribution input unit, an input generation unit, a simulation execution unit, an output distribution estimation unit, and a result output unit,
    The distribution input unit receives, as input distribution data, simulation input parameters that define the motion of the robot,
    The input generator generates a set of input parameters according to the input distribution data,
    The simulation execution unit evaluates corresponding output parameters for each generated input parameter,
    The output distribution estimating unit estimates output distribution data by stacking sets of evaluated output parameters, and updates the output distribution data until the output distribution data converges;
    The robot simulation method, wherein the result output unit outputs the converged output distribution data.
PCT/JP2022/038583 2021-10-22 2022-10-17 Robot simulation device, robot simulation system, and robot simulation method WO2023068224A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-173174 2021-10-22
JP2021173174A JP2023062962A (en) 2021-10-22 2021-10-22 Robot simulation device, robot simulation system, and robot simulation method

Publications (1)

Publication Number Publication Date
WO2023068224A1 true WO2023068224A1 (en) 2023-04-27

Family

ID=86059248

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/038583 WO2023068224A1 (en) 2021-10-22 2022-10-17 Robot simulation device, robot simulation system, and robot simulation method

Country Status (2)

Country Link
JP (1) JP2023062962A (en)
WO (1) WO2023068224A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0863581A (en) * 1994-06-17 1996-03-08 Fujitsu Ltd External environment recognition system
US20200368906A1 (en) * 2019-05-20 2020-11-26 Nvidia Corporation Autonomous vehicle simulation using machine learning

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0863581A (en) * 1994-06-17 1996-03-08 Fujitsu Ltd External environment recognition system
US20200368906A1 (en) * 2019-05-20 2020-11-26 Nvidia Corporation Autonomous vehicle simulation using machine learning

Also Published As

Publication number Publication date
JP2023062962A (en) 2023-05-09

Similar Documents

Publication Publication Date Title
JP5775708B2 (en) An improved method to realize engineering design optimization based on multi-objective evolutionary algorithm
Simpson et al. Design and analysis of computer experiments in multidisciplinary design optimization: a review of how far we have come-or not
CN112088383A (en) Neural network construction device, information processing device, neural network construction method, and program
US20110078100A1 (en) Methods and systems for multi-objective evolutionary algorithm based engineering desgin optimization
JP2011222017A (en) Method of identifying most influential design variables in engineering design optimization
JP7059214B2 (en) Arithmetic logic unit
JP2017146888A (en) Design support device and method and program
CN111542825A (en) Method for applying generative design to configuration of mechanical component
US20130226530A1 (en) Mesh generation system
JP5163472B2 (en) Design support apparatus, method, and program for dividing and modeling parameter space
JP6560577B2 (en) Multi-objective design optimization using adaptive classification
WO2023068224A1 (en) Robot simulation device, robot simulation system, and robot simulation method
JP2014006825A (en) Design support device
JP2011113145A (en) Apparatus, method, and program for optimization model analysis
KR20220081880A (en) Apparatus for real time analysis and real time operation visualization for discrete event system using digital twin
JP2021081843A (en) Design support device, design support method, and design support program
JP2002215680A (en) Method of designing structure, and recording medium
JP6065543B2 (en) Neural network design method, fitting method, and program
JP4643586B2 (en) Optimal design management device, optimal design calculation system, optimal design management method, optimal design management program
US10884721B2 (en) Branch objects for dependent optimization problems
JP7332425B2 (en) computer system
JP4780260B2 (en) Multi-item lot size scheduling method
JP5835103B2 (en) Method for calculating satisfiability problem, calculation system and program for satisfiability problem
JP6999207B1 (en) Data analysis method, data analysis device, and data analysis program
WO2023209983A1 (en) Parameter generation device, system, method and program

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: 22883528

Country of ref document: EP

Kind code of ref document: A1