Computing device

By employing principal component analysis to determine sample points and weights from multiple simulations, the method enhances control accuracy in robots by stabilizing control inputs, addressing instability in existing methods.

JP7823727B2Active Publication Date: 2026-03-04NEC CORP
View PDF 8 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-02-18
Publication Date
2026-03-04

AI Technical Summary

Technical Problem

Existing methods for controlling robots, such as the Monte Carlo method, face instability and inaccuracies in control due to insufficient sampling, particularly within short control periods, leading to challenges in improving control accuracy.

Method used

A computing device performs multiple simulations to determine sample points and weights using principal component analysis, which are then used to evaluate and select optimal control inputs for a drive device, enhancing precision.

Benefits of technology

This approach stabilizes control accuracy by selecting optimal control inputs through advanced simulation and analysis, improving precision in robot control.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007823727000007
    Figure 0007823727000007
  • Figure 0007823727000008
    Figure 0007823727000008
  • Figure 0007823727000009
    Figure 0007823727000009
Patent Text Reader

Abstract

An arithmetic device 400 comprises: an execution unit 421 that simulates, on the basis of a value of a control input that can be input into a drive device, the state of the drive device after the drive device has been driven according to the control input; an analysis unit 422 that selects a main component axis by performing a main component analysis on a state distribution of the drive device that is identified by a plurality of simulations executed by the execution unit; and a determination unit 423 that determines, on the basis of the result selected by the analysis unit 422, a value to be used when evaluating candidates for the control input to be input into the drive device.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a calculation device, a determination method, a drive device, a drive method, and a recording medium. [Background technology]

[0002] Due to small error factors such as unevenness of the ground or mechanical play, driving devices such as robots may not move according to the commanded control input. When evaluating control inputs that take such uncertainties into account, it is known to evaluate the integral shown in Equation 1.

number

[0003] As a method for approximately evaluating the above, for example, there is the so-called Monte Carlo method, which numerically solves a stochastic differential equation repeatedly, that is, performs simulations, calculates evaluation values ​​for the obtained trajectories, and averages them. Patent Document 1, for example, is an example of a document that solves a stochastic differential equation using the Monte Carlo method.

[0004] Related literature includes, for example, Patent Document 2. Patent Document 2 discloses that when a large number of parameters exist, the input dimension is reduced using principal component analysis. Patent Document 2 also discloses that a small number of sampling points are selected by sequentially executing two criteria, and a simulation calculation is performed at the selected sampling points. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] Japanese Patent Application Laid-Open No. 2001-325431 [Patent Document 2] Special Publication No. 2008-523516 [Non-patent literature]

[0006] [Non-Patent Document 1] Yu Zhou and GS Chirikjian, "Probabilistic models of dead-reckoning error in nonholonomic mobile robots," 2003 IEEE International Conference on Robotics and Automation, 2003, pp. 1594-1599. [Non-patent document 2] Andrew W. Long, Kevin C. Wolfe, Michael J. Mashner, and Gregory S. Chirikjian, "The Banana Distribution Is Gaussian: A Localization Study with Exponential Coordinates," in Robotics: Science and Systems VIII , MIT Press, 2013, pp.265-272. Summary of the Invention [Problem to be solved by the invention]

[0007] When using the Monte Carlo method described in Patent Document 1, there is a risk that oversights may occur in the calculation of the evaluation function when the number of samples is small, resulting in an unstable estimated evaluation function value and unstable control. In particular, in the control of the robot described above, it is necessary to perform a sufficient number of simulations within a control period of, for example, about 1 / 30 seconds, which makes the above problem more pronounced. As a result, it becomes difficult to improve control accuracy. It should be noted that improving control accuracy within such a short control period is difficult even with the technology described in Patent Document 2, for example.

[0008] SUMMARY OF THE INVENTION It is therefore an object of the present invention to provide a calculation device, a determination method, a drive device, a drive method, and a recording medium that can solve the above-mentioned problems. [Means for solving the problem]

[0009] In order to achieve this object, a computing device according to one embodiment of the present disclosure comprises: an execution unit that simulates, based on a value of a control input that can be input to the drive device, a state of the drive device after the drive device has been driven in accordance with the control input; an analysis unit that selects a principal component axis by performing a principal component analysis on the state distribution of the drive device identified by the execution unit performing a plurality of simulations; a determination unit that determines a value to be used when evaluating the candidates for the control input to be input to the drive device based on the result selected by the analysis unit; have The structure is as follows.

[0010] Furthermore, a determination method according to another aspect of the present disclosure includes: The information processing device simulating a state of the drive device after the drive device has been driven in accordance with a control input based on the value of the control input that can be input to the drive device; selecting a principal component axis by performing principal component analysis on the state distribution of the drive device identified by performing multiple simulations; Based on the selection result, a value to be used when evaluating the candidates for the control input to be input to the drive device is determined. The structure is as follows.

[0011] Furthermore, a recording medium according to another aspect of the present disclosure includes: In the information processing device, simulating a state of the drive device after the drive device has been driven in accordance with a control input based on the value of the control input that can be input to the drive device; selecting a principal component axis by performing principal component analysis on the state distribution of the drive device identified by performing multiple simulations; Based on the selection result, a value to be used when evaluating the candidates for the control input to be input to the drive device is determined. It is a computer-readable recording medium that records a program for implementing the processing.

[0012] Furthermore, a drive device according to another aspect of the present disclosure includes: an estimation unit that estimates an evaluation value corresponding to the candidate control input based on a value used when evaluating the candidate control input to be input to the drive device, the value being determined based on a result of principal component analysis of a result of a simulation using values ​​of control inputs that can be input to the drive device, and a state of the drive device; a selection unit that selects a control input to be actually input from among a plurality of control input candidates based on a result of estimation by the estimation unit; a driving unit that drives the device itself based on the selection result of the selecting unit; have The structure is as follows.

[0013] Furthermore, a driving method according to another aspect of the present disclosure includes: The drive unit estimating an evaluation value corresponding to the candidate control input based on a value used when evaluating the candidate control input to be input to the drive device, the value being determined based on a result of principal component analysis of a result of a simulation using values ​​of control inputs that can be input to the drive device, and a state of the drive device; selecting a control input to be actually input from among the plurality of control input candidates based on the estimation result; Driven by the results of a selection The structure is as follows.

[0014] Furthermore, a recording medium according to another aspect of the present disclosure includes: The drive unit, estimating an evaluation value corresponding to the candidate control input based on a value used when evaluating the candidate control input to be input to the drive device, the value being determined based on a result of principal component analysis of a result of a simulation using values ​​of control inputs that can be input to the drive device, and a state of the drive device; selecting a control input to be actually input from among the plurality of control input candidates based on the estimation result; Driven by the results of a selection It is a computer-readable recording medium that records a program for implementing the processing. [Effects of the Invention]

[0015] According to the above-described configurations, it is possible to provide a calculation device, a determination method, a drive device, a drive method, and a recording medium that are capable of improving precision control. [Brief explanation of the drawings]

[0016] [Figure 1] 1 is a diagram illustrating an example of the configuration of a control system according to a first embodiment of the present invention. [Figure 2] FIG. 10 is a diagram illustrating an example of the behavior of a drive device. [Figure 3] FIG. 1 is a block diagram illustrating an example of the configuration of a computing device. [Figure 4] FIG. 10 is a diagram illustrating an example of control input candidate information. [Figure 5] FIG. 10 is a diagram illustrating an example of simulation result information. [Figure 6] FIG. 10 is a diagram illustrating an example of sample point information. [Figure 7] 10A and 10B are diagrams illustrating an example of processing by a principal component analysis execution unit. [Figure 8] 10A and 10B are diagrams for explaining an example of processing by a sample point selection unit; [Figure 9] 10A and 10B are diagrams for explaining an example of processing by a sample point selection unit; [Figure 10] 10A and 10B are diagrams for explaining an example of processing by a weight calculation unit; [Figure 11]10A and 10B are diagrams for explaining an example of processing by a weight calculation unit; [Figure 12] FIG. 10 is a diagram illustrating an example of a simulation result. [Figure 13] 10A and 10B are diagrams for explaining examples of processing by a data conversion unit and an inverse conversion unit. [Figure 14] FIG. 2 is a block diagram showing a configuration example of a drive device. [Figure 15] FIG. 10 is a diagram showing an evaluation example. [Figure 16] 10 is a flowchart illustrating an example of the operation of the computing device. [Figure 17] 10 is a flowchart illustrating another example of the operation of the computing device. [Figure 18] 10 is a flowchart illustrating an example of the operation of the drive device. [Figure 19] FIG. 10 is a diagram illustrating an example of a hardware configuration of a computing device according to a second embodiment of the present disclosure. [Figure 20] FIG. 1 is a block diagram illustrating an example of the configuration of a computing device. [Figure 21] FIG. 2 is a block diagram showing a configuration example of a drive device. DETAILED DESCRIPTION OF THE INVENTION

[0017] [First embodiment] A first embodiment of the present disclosure will be described with reference to FIGS. 1 to 18. FIG. 1 is a diagram illustrating an example of the configuration of a control system 100. FIG. 2 is a diagram illustrating an example of the behavior of a driving device 300. FIG. 3 is a block diagram illustrating an example of the configuration of a calculation device 200. FIG. 4 is a diagram illustrating an example of control input candidate information 241. FIG. 5 is a diagram illustrating an example of simulation result information 242. FIG. 6 is a diagram illustrating an example of sample point information 243. FIG. 7 is a diagram illustrating an example of processing by the principal component analysis execution unit 252. FIGS. 8 and 9 are diagrams illustrating an example of processing by the sample point selection unit 253. FIGS. 10 and 11 are diagrams illustrating an example of processing by the weight calculation unit 254. FIG. 12 is a diagram illustrating an example of a simulation result. FIG. 13 is a diagram illustrating an example of processing by the data conversion unit 255 and the inverse conversion unit 256. FIG. 14 is a block diagram illustrating an example of the configuration of the driving device 300. FIG. 15 is a diagram illustrating an evaluation example. FIGS. 16 and 17 are flowcharts illustrating an example of operation of the calculation device 200. FIG. 18 is a flowchart illustrating an example of operation of the driving device 300.

[0018] In the first embodiment of the present disclosure, a control system 100 having a computing device 200 and a driving device 300 will be described as shown in FIG. 1. In this embodiment, as will be described later, the computing device 200 performs a sufficient number of simulations in advance for each candidate control input, and then performs principal component analysis to determine sample points and weights on the axis with the largest contribution rate. Furthermore, when performing drive control, the driving device 300 evaluates an evaluation function value using the sample points and weights determined by the computing device 200, and performs drive control based on the evaluation results.

[0019] In this embodiment, as an example, a case will be described in which the calculation device 200 determines the sample points and weights in advance, and the determination results of the calculation device 200 are stored in advance in a storage device or the like included in the drive device 300. However, as will be described later, the calculation device 200 and the drive device 300 may be configured to be able to communicate with each other even while the drive device 300 is being driven. In other words, the calculation device 200 and the drive device 300 may be configured to communicate with each other while the drive device 300 is being driven, so that the determination results of the calculation device 200 are reflected even while the drive device 300 is being driven.

[0020] In this embodiment, as shown in FIG. 2, the driving device 300 is a two-wheeled mobile robot that moves on a plane and can only move in the direction in which the driving device 300 is facing. In FIG. 2, the driving device 300 can move in the direction indicated by the circle, which is the direction in which the driving device 300 is facing, but the driving device 300 cannot move in the direction indicated by the cross, which is different from the direction in which the driving device 300 is facing, such as sideways. For example, a velocity v and an angular velocity ω can be input to the driving device 300. In other words, the control input in this embodiment includes values ​​indicating the velocity v and the angular velocity ω. The control input may also include information indicating the driving time. The state of the driving device 300 is determined by the position (x, y) and the direction θ in which the driving device 300 is facing. As an example, the driving device 300 is driven using a motion model such as that described in Non-Patent Document 1.

[0021] However, the present invention is not limited to application to two-wheeled mobile robots as described above. For example, the driving unit 300 may be configured to be movable in directions other than the direction in which it is facing, such as horizontally, or may be movable in three dimensions. The driving unit 300 may also be any other robot, such as a robot arm. When the driving unit 300 is a robot other than the two-wheeled mobile robot described above, the content of the control input to the driving unit 300 and the state of the driving unit 300 may be determined depending on the movement method of the robot to which the present invention is applied. For example, the driving unit 300 may be configured to accept control inputs such as x-axis velocity, y-axis velocity, and rotational torque instead of or in addition to the angular velocity, and the position indicating the state of the driving unit 300 may include a z-coordinate in addition to the x-coordinate and y-coordinate.

[0022] The control system 100 is a system that controls the driving of the driving device 300. As shown in Fig. 1, the control system 100 includes, for example, a computing device 200 and the driving device 300.

[0023] 1, the computing device 200 and the driving device 300 can be connected to each other so as to be able to communicate with each other, for example, via a network, etc. The computing device 200 and the driving device 300 may be connected to each other so as to be able to communicate with each other via a wire, or may be connected to each other so as to be able to communicate with each other wirelessly.

[0024] The calculation device 200 is an information processing device that determines values ​​to be used when evaluating candidates for control input to the driving device 300. For example, the calculation device 200 determines sample points and weights to be selected based on multiple simulation results as values ​​to be used for evaluating the equation shown in Mathematical Expression 2 that is used when evaluating candidates for control input.

number

[0025] Fig. 3 shows an example of the configuration of the computing device 200. Referring to Fig. 3, the computing device 200 has, as main components, for example, an operation input unit 210, a screen display unit 220, a communication I / F (interface) unit 230, a storage unit 240, and an arithmetic processing unit 250.

[0026] 3 illustrates an example in which the functions of the computing device 200 are realized using one information processing device. However, the computing device 200 may be realized using multiple information processing devices, for example, on a cloud. Furthermore, the computing device 200 may not include some of the components illustrated above, such as not having an operation input unit or a screen display unit, or may have components other than those illustrated above.

[0027] The operation input unit 210 is composed of operation input devices such as a keyboard, a mouse, etc. The operation input unit 210 detects operations of an operator who operates the computing device 200 and outputs the operations to the arithmetic processing unit 250.

[0028] The screen display unit 220 is composed of a screen display device such as an LCD (Liquid Crystal Display). The screen display unit 220 can display various information stored in the storage unit 240 on the screen in response to instructions from the arithmetic processing unit 250.

[0029] The communication I / F unit 230 is composed of a data communication circuit, etc. The communication I / F unit 230 performs data communication with an external device such as the drive device 300 connected via a communication line.

[0030] The storage unit 240 is a storage device such as a hard disk or a memory. The storage unit 240 stores processing information and a program 244 required for various processes in the arithmetic processing unit 250. The program 244 is read into the arithmetic processing unit 250 and executed to realize various processing units. The program 244 is read in advance from an external device or a recording medium via a data input / output function such as the communication I / F unit 230, and is stored in the storage unit 240. Main information stored in the storage unit 240 includes, for example, control input candidate information 241, simulation result information 242, and sample point information 243.

[0031] The control input candidate information 241 indicates candidates for control inputs that may be input to the drive device 300. For example, the control input candidate information 241 includes all candidates for control inputs that may be input to the drive device 300 when the state of the drive device 300 is at a reference point (e.g., x=0, y=0, θ=0). The control input candidate information 241 may include only some candidates for control inputs extracted by any method from all candidates for control inputs that may be input. For example, the control input candidate information 241 is acquired in advance by a method such as acquiring it from an external device via the communication I / F unit 230 or inputting it using the operation input unit 210, and is stored in the storage unit 240.

[0032] FIG. 4 shows an example of the control input candidate information 241. Referring to FIG. 4, the control input candidate information 241 includes a plurality of combinations of velocity v and angular velocity ω, which are candidates for control inputs that may be input to the drive device 300. For example, in the case of FIG. 4, (v 1 , ω 1 ), …, (v m , ω m ) contains m combinations of velocity v and angular velocity ω, where m can be any value.

[0033] The simulation result information 242 indicates the results of simulating the driving results of the driving device 300 by the simulation execution unit 251, which will be described later. For example, the simulation result information 242 indicates, for each control input candidate, a simulation result indicating the state of the driving device 300 after driving when the control input candidate indicated by the control input candidate information 241 is input. The simulation result information 242 also includes information indicating multiple simulation results in which the driving device 300 is driven for different periods of time, such as after 1 second, 2 seconds, and 3 seconds. The simulation result information 242 may also include only information indicating the simulation results in which the driving device 300 is driven for an arbitrary period of time, such as after 0.5 seconds. For example, the simulation result information 242 is updated as the simulation execution unit 251 executes a simulation, etc.

[0034] As will be described later, the simulation execution unit 251 executes a simulation multiple times for each control input candidate indicated by the control input candidate information 241. For example, the simulation execution unit 251 executes a simulation multiple times until a predetermined condition is satisfied. In addition, in this embodiment, the simulation execution unit 251 executes a simulation in an uncertain system. Therefore, when a simulation is executed multiple times, the solution trajectory obtained each time varies stochastically. As a result, the simulation result information 242 includes multiple pieces of information indicating the state of the drive device 300, which are identified as a result of the simulation, and which indicate the position (x, y) and orientation θ of the drive device 300 after driving. For example, FIG. 5 shows an example of a state distribution after the drive device 300 has been driven for one second, which is identified by the simulation execution unit 251 executing multiple simulations for a certain control input candidate. In the example shown in FIG. 5, each circle indicates the state of the drive device 300 after driving. In other words, although θ is omitted in FIG. 5, each circle corresponds to information indicating the position (x, y) and orientation θ of the drive device 300 after driving. The simulation result information 242 includes, for example, information indicating the state of the drive unit 300 corresponding to each of the circles shown in FIG.

[0035] As described above, the simulation result information 242 includes information indicating the state of the drive unit 300 for each candidate control input. The simulation result information 242 may also include information indicating multiple simulation results for different periods of time during which the drive unit 300 was driven. In other words, the simulation result information 242 may include information indicating the state of the drive unit 300 corresponding to each state distribution according to the candidate control input and the period of time during which the drive unit 300 was driven.

[0036] The sample point information 243 includes information indicating sample points selected by a sample point selection unit 253 (described later) based on the simulation result information 242. Here, a sample point corresponds to one state of the driving device 300 identified by the simulation execution unit 251 as a result of the simulation. In other words, in this embodiment, a sample point includes information indicating a position (x, y) and a direction θ in which the driving device 300 is facing. The sample point information 243 also includes information indicating weights of the sample points calculated by a weight calculation unit 254 (described later). For example, the sample point information 243 is updated in response to the sample point selection by the sample point selection unit 253, the weight calculation unit 254 calculating weights corresponding to the sample points, the inverse transformation unit 256 performing inverse transformation, etc.

[0037] FIG. 6 shows an example of information included in the sample point information 243. Referring to FIG. 6, the sample point information 243 includes information indicating sample points and weights for each candidate for control input. In other words, in the sample point information 243, information indicating the candidate for control input is associated with information indicating sample points and weights, which are values ​​used when evaluating the candidate for control input. For example, referring to FIG. 6, the sample point information 243 includes information indicating the candidate for control input (v 1 , ω 1 ), information indicating n sample points and weights corresponding to each sample point is included. Similarly, the sample point information 243 includes information indicating candidates for the control input (v m , ω m) contains information indicating the sample points and weights corresponding to each candidate. Note that n in Figure 6 is a value corresponding to the number of sample points. n can be any value.

[0038] As described above, the simulation result information 242 may include information indicating the states of the drive device 300 corresponding to each state distribution according to the time period during which the drive device 300 is driven. Similar to the simulation result information 242, the sample point information 243 may also include information indicating sample points and weights corresponding to each candidate for the control input for each time period during which the drive device 300 is driven during the simulation.

[0039] The arithmetic processing unit 250 includes an arithmetic device such as a CPU (Central Processing Unit) and its peripheral circuits. The arithmetic processing unit 250 reads and executes a program 244 from the storage unit 240, thereby causing the hardware and the program 244 to cooperate to implement various processing functions. Major processing units implemented by the arithmetic processing unit 250 include, for example, a simulation execution unit 251, a principal component analysis execution unit 252, a sample point selection unit 253, a weight calculation unit 254, a data conversion unit 255, an inverse conversion unit 256, and an output unit 257. As will be described later, the sample point selection unit 253 and the weight calculation unit 254 perform processing to determine sample points and weights, which are values ​​used when evaluating candidates for control inputs. Therefore, it can also be said that the sample point selection unit 253 and the weight calculation unit 254 constitute a determination unit that determines the above values.

[0040] The simulation execution unit 251 simulates the state of the drive device 300 after driving the drive device 300 for a predetermined time for each control input candidate indicated by the control input candidate information 241. For example, the simulation execution unit 251 executes multiple simulations for each control input candidate until a predetermined condition is satisfied. The simulation execution unit 251 may execute multiple types of simulations in which the drive device 300 is driven for different periods of time. In this embodiment, the simulation execution unit 251 executes a simulation in an uncertain system. Therefore, when a simulation is executed multiple times, the solution trajectory obtained each time varies stochastically. Furthermore, the simulation execution unit 251 stores information indicating the state of the drive device 300 identified as a result of the simulation in the storage unit 240 as simulation result information 242.

[0041] For example, the simulation execution unit 251 simulates the state of the drive unit 300 when using a motion model such as that shown in Equation 16 in Non-Patent Document 1. As shown in FIG. 5, the simulation execution unit 251 identifies multiple states of the drive unit 300 after driving by executing multiple simulations for each candidate control input. Note that in Equation 16 in Non-Patent Document 1, rω(t) corresponds to the above-mentioned velocity v. Also, l represents the wheel-to-wheel distance.

[0042] In addition, in Equation 16 in Non-Patent Document 1, the part D represents the measure of variation. Here, the measure of variation may be determined, for example, by any method. For example, the measure of variation may be determined in advance, or may be determined depending on the environment of the site where the drive device 300 is actually driven.

[0043] It should be noted that the motion model used by the simulation execution unit 251 when performing a simulation is not limited to the above-mentioned example. The simulation execution unit 251 may be configured to perform a simulation using a known motion model other than the above-mentioned example. Furthermore, in this embodiment, the case where the driving device 300 is a two-wheeled mobile robot is exemplified, but as described above, the driving device 300 may be something other than a two-wheeled mobile robot. When the driving device 300 is something other than a two-wheeled mobile robot, the motion model used by the simulation execution unit 251 when performing a simulation may also be one that corresponds to the type of driving device 300, etc.

[0044] The principal component analysis execution unit 252 (analysis unit) selects the principal component axis with the largest variance by performing principal component analysis on the state distribution for each control input candidate and drive time indicated by the simulation result information 242. For example, the principal component analysis execution unit 252 executes a process of drawing a principal component axis for each state distribution so that the variance of the state (state data) in the state distribution is maximized.

[0045] Fig. 7 is a diagram for explaining the processing of the principal component analysis execution unit 252. As shown in Fig. 7, the principal component analysis execution unit 252 performs principal component analysis to select, as an example, a linear principal component axis that has the largest variance width in the state distribution.

[0046] In this embodiment, the principal component analysis executing unit 252 selects, as an example, an axis with a wide variance, i.e., the first principal component axis. However, depending on the state distribution, such as the shape of the state distribution, the principal component analysis executing unit 252 may select, in addition to the first principal component axis, a second principal component axis with the second largest variance. Similarly, the principal component analysis executing unit 252 may be configured to select multiple axes, such as a third principal component axis, a fourth principal component axis, ..., depending on arbitrary conditions.

[0047] As another example, if the drive unit 300 is a robot that can freely move in a three-dimensional space, the state of the drive unit 300 will include six-dimensional information: three-dimensional position information and three-dimensional orientation information (roll, pitch, and yaw). In such a case, selecting only the first principal component axis and reducing it to one dimension may result in a large amount of missing information. Therefore, the principal component analysis execution unit 252 may be configured to select multiple axes depending on the type of drive unit 300, etc. For example, as described above, the principal component analysis execution unit 252 may be configured to select the number of axes depending on conditions such as the state distribution situation and the type of drive unit 300.

[0048] The sample point selection unit 253 selects sample points that satisfy predetermined conditions from the state data on the principal component axis. For example, the sample point selection unit 253 selects sample points for each state distribution, that is, for each control input candidate or drive time. The sample point selection unit 253 also stores information indicating the state of the drive device 300 corresponding to the selected sample points in the storage unit 240 as sample point information 243.

[0049] For example, the sample point selection unit 253 projects the state data onto the principal component axis. Then, when the standard deviation of the state data projected onto the axis direction is σ, the sample point selection unit 253 selects points corresponding to -kσ to +kσ as sample points. For example, FIG. 8 shows an example of the selection process by the sample point selection unit 253 when k is 3. With reference to FIG. 8, for example, the sample point selection unit 253 selects state data points corresponding to -3σ, -2σ, -σ, 0, σ, 2σ, and 3σ, respectively, from among the points on the principal component axis according to the state data. Note that the value of k may be arbitrary.

[0050] For example, as described above, the principal component analysis executing unit 252 and the sample point selecting unit 253 select sample points on the principal component analysis axis from the state distribution, as shown in Fig. 9. In other words, the principal component analysis executing unit 252 and the sample point selecting unit 253 select, as sample points, points that satisfy predetermined conditions on the principal component analysis axis that best indicate the state of the state distribution from among a plurality of state data points included in the state distribution.

[0051] As described above, the principal component analysis execution unit 252 may select multiple axes. In such cases, the sample point selection unit 253 may be configured to select sample points from data points on multiple axes, or may be configured to select sample points from a subspace spanned by the direction vectors of the first principal component axis and the second principal component axis (or more). The method by which the sample point selection unit 253 selects sample points may be determined by any method.

[0052] The weight calculation unit 254 calculates weights corresponding to the sample points selected by the sample point selection unit 253. For example, the weights indicate values ​​according to the distribution of the state data on the principal component axes. The weight calculation unit 254 also stores information indicating the calculated weights in the storage unit 240 as sample point information 243.

[0053] For example, assuming that the distribution of the state data points projected in the axial direction by the sample point selection unit 253 is a normal distribution, the weight calculation unit 254 calculates the weights corresponding to the sample points by integrating the distribution of the state data within the range shown in Fig. 10. That is, the weight calculation unit 254 calculates the weights corresponding to each sample point by integrating for each sample point within the range corresponding to the sample point based on the distribution of the state data points projected in the axial direction by the sample point selection unit 253. Note that Fig. 10 illustrates an example where k is 3. When k is other than 3, the range for integration may also depend on the value of k.

[0054] 11, the weight calculation unit 254 counts the number of state data points (i.e., the number of states) that fall within an interval defined by the midpoints of each sample point, based on the distribution of state data points projected in the axial direction by the sample point selection unit 253. Then, the weight calculation unit 254 calculates the counted number of state data points as the weight.

[0055] For example, the weight calculation unit 254 uses any of the methods exemplified above to calculate a weight corresponding to each sample point selected by the sample point selection unit 253. The weight calculation unit 254 may also calculate a weight according to the distribution of states using a method other than the methods exemplified above.

[0056] For example, the calculation device 200 determines the sample points and weights using the method described above. Note that, according to the method described above, the sample points are placed on a linear principal component axis. Therefore, when the state distribution is curved as shown in FIG. 12, the method described above may not be suitable.

[0057] Therefore, as shown in FIG. 13 , the computing device 200 can convert the state distribution into a straight data distribution using the data conversion unit 255, and then select sample points on the principal component analysis axis using the converted data distribution with the principal component analysis execution unit 252 and the sample point selection unit 253. As an example, Non-Patent Document 2 describes a coordinate transformation method for a robot on a two-dimensional plane. For example, the data conversion unit 255 may convert a state distribution with a curved shape as a whole into a straight shape by performing a non-linear transformation using the method described in Non-Patent Document 2. After selecting the sample points, the inverse transformation unit 256 inversely transforms the straight shape as a whole into the original curved state distribution by performing the reverse process of the transformation unit 255. This allows the computing device 200 to select sample points in an appropriate shape corresponding to the curved state distribution. The data conversion unit 255 may also be configured to convert a state distribution with a shape that is not suitable for sample point selection into a shape that is suitable for sample point selection by the principal component analysis execution unit 252 and the sample point selection unit 253 using a known method other than the above examples.

[0058] Whether or not to perform the processing by the data conversion unit 255 and the inverse conversion unit 256 may be determined by any method. For example, the computing device 200 may be configured to select sample points both when the processing by the data conversion unit 255 and the inverse conversion unit 256 is not performed and when it is performed, and adopt a selection result that can be evaluated as more appropriate, such as selecting a more appropriate number of sample points. For example, the computing device 200 may be configured to perform the processing by the data conversion unit 255 and the inverse conversion unit 256 when a predetermined number of sample points cannot be extracted when the processing by the data conversion unit 255 and the inverse conversion unit 256 is not performed. The computing device 200 may be configured to perform the processing by the data conversion unit 255 and the inverse conversion unit 256 when the state distribution satisfies or does not satisfy a predetermined condition. The computing device 200 may be configured to determine whether or not to perform the processing by the data conversion unit 255 and the inverse conversion unit 256 based on conditions other than those exemplified above.

[0059] The output unit 257 outputs the sample point information 243, etc. For example, the output unit 257 displays information stored in the storage unit 240, such as the sample point information 243, on the screen display unit 220, or transmits the information to an external device, such as the drive device 300, via the communication I / F unit 230.

[0060] The driving device 300 is a robot that evaluates control input candidates using the sample points, weights, etc. determined by the computing device 200, and drives according to the evaluation results. As described above, in this embodiment, the driving device 300 is a two-wheeled mobile robot that moves on a plane and can move only in the direction that the driving device 300 is facing. The driving device 300 may be other than the one illustrated.

[0061] Fig. 14 shows a configuration example of the driving device 300. Referring to Fig. 14, the driving device 300 has, as main components, for example, a communication I / F unit 310, a storage unit 320, and an arithmetic processing unit 330.

[0062] The communication I / F unit 310 is composed of a data communication circuit, etc. The communication I / F unit 310 performs data communication with an external device such as the computing device 200 connected via a communication line.

[0063] The storage unit 320 is a storage device such as a hard disk or memory. The storage unit 320 stores processing information and a program 323 required for various processes in the arithmetic processing unit 330. The program 323 is read into the arithmetic processing unit 330 and executed to realize various processing units. The program 323 is read in advance from an external device or recording medium via a data input / output function such as the communication I / F unit 310, and is stored in the storage unit 320. Main information stored in the storage unit 320 includes, for example, control input candidate information 321, sample point information 322, etc.

[0064] The control input candidate information 321 indicates candidates for control inputs that may be input to the drive device 300. The control input candidate information 321 includes at least some of the control input candidates included in the control input candidate information stored in the calculation device 200. For example, the control input candidate information 321 is acquired in advance from an external device such as the calculation device 200 via the communication I / F unit 310, and is stored in the storage unit 320.

[0065] Similar to the sample point information 243 stored in the computing device 200, the sample point information 322 includes information indicating sample points selected by the sample point selection unit 253 based on the simulation result information 242. For example, the sample point information 322 associates information indicating control input candidates with information indicating sample points and weights, which are values ​​used when evaluating the control input candidates. The sample point information 322 includes at least some of the sample points and weights included in the sample point information 243 stored in the computing device 200. For example, the sample point information 322 is acquired in advance from an external device such as the computing device 200 via the communication I / F unit 310 and stored in the storage unit 320.

[0066] The arithmetic processing unit 330 has an arithmetic device such as a CPU and its peripheral circuits. The arithmetic processing unit 330 reads and executes a program 323 from the storage unit 320, thereby realizing various processing functions through cooperation between the above hardware and the program 323. Major processing units realized by the arithmetic processing unit 330 include, for example, a sample point extraction unit 331, an evaluation value estimation unit 332, a selection unit 333, and a drive unit 334.

[0067] The sample point extraction unit 331 extracts sample points and the like according to the control input to be evaluated, based on the sample point information 322 and the like. For example, the sample point extraction unit 331 extracts sample points and weights according to candidates for control input that may be input to the drive device 300.

[0068] For example, the sample point extraction unit 331 identifies candidates for control inputs that may be input based on the state of the robot, etc. The sample point extraction unit 331 may identify candidates for control inputs that may be input using any method, such as identifying candidates for control inputs that may be input based on control content such as a target point or a desired direction of movement input from an external device, etc. The sample point extraction unit 331 also refers to the sample point information 322 to extract sample points and weights corresponding to the identified candidates for control inputs. For example, the sample point extraction unit 331 can extract sample points and weights corresponding to multiple candidates.

[0069] The evaluation value estimation unit 332 estimates an evaluation value corresponding to each candidate for a control input that may possibly be input, based on the sample points and weights extracted by the sample point extraction unit 331.

[0070] For example, the evaluation value estimation unit 332 estimates an evaluation value corresponding to each candidate of the control input based on the state of the drive unit 300, such as the position (x, y) and orientation θ, and the sample points and weights extracted by the sample point extraction unit 331. As an example, m , ω m When evaluating the expression (2), the evaluation value estimation unit 332 uses the expression (3) to approximately evaluate the expression (2).

number

[0071] The selection unit 333 selects a control input to be actually input from among the control input candidates that may be input, based on the evaluation result by the evaluation value estimation unit 332. For example, the selection unit 333 compares the evaluation results corresponding to the control input candidates, and selects the control input candidate that corresponds to the most desirable evaluation value as the control input candidate to be actually input.

[0072] For example, the selection unit 333 compares the evaluation results obtained for all or some of the candidate control inputs and selects the candidate control input that gives the maximum evaluation value (minimum if the evaluation function is defined as a loss) as the control input to be actually input. For example, if the candidate control inputs include two speed patterns, low speed (0.1) or high speed (1.0), and three angular velocity patterns, left turn (0.3), straight ahead (0), and right turn (-0.3), there are six possible combinations of all speeds and angular velocities, i.e., 2 × 3. Therefore, the selection unit 333 compares the evaluation results obtained by the evaluation value estimation unit 332 for each of the six inputs and selects the candidate control input that gives the maximum evaluation value as the control input to be actually input. The selection unit 333 may be configured to select a more desirable candidate control input as the control input to be actually input using a method other than those exemplified above.

[0073] The driving unit 334 actually drives the driving device 300 based on the result of the selection by the selection unit 333. In other words, the driving unit 334 drives the driving device 300 at a velocity v and an angular velocity ω according to the control input selected by the selection unit 333 for a time period corresponding to the control input.

[0074] The above is an example of the configuration of the driving device 300.

[0075] FIG. 15 shows an example of an evaluation value corresponding to a control input selected according to the present disclosure. Specifically, FIG. 15 shows an example of the correct value and the evaluation value when a value of 0.5 is input as the velocity v and 0 is input as the angular velocity ω. FIG. 15 also shows, as a comparative example between the present disclosure and the Monte Carlo method, estimated values ​​obtained using various Monte Carlo sample numbers. When the Monte Carlo method is used, the error bars shown in FIG. 15 are dispersed to the extent that their standard deviations are the size of the error bars. As shown in FIG. 15, the magnitude of the dispersion increases as the number of Monte Carlo samples decreases. It can be seen that the dispersion becomes particularly large when the number of samples is 7, as described as an example in the present disclosure. On the other hand, it can be seen that the method described in the present disclosure can accurately estimate values ​​close to the correct value.

[0076] Next, an example of the operation of the calculation device 200 and the driving device 300 will be described with reference to Fig. 16 to Fig. 18. First, an example of the operation of the calculation device 200 will be described with reference to Fig. 16 and Fig. 17.

[0077] 16 is a flowchart showing an example of the operation of the computing device 200. Referring to FIG. 16, the simulation execution unit 251 simulates the state of the drive unit 300 after driving the drive unit 300 for a predetermined time for each control input candidate indicated by the control input candidate information 241 (step S101). For example, the simulation execution unit 251 executes a plurality of simulations for each control input candidate until a predetermined arbitrary condition is satisfied. The simulation execution unit 251 may execute a plurality of types of simulations in which the drive unit 300 is driven for different times.

[0078] Based on the results of the simulation by the simulation execution unit 251, the principal component analysis execution unit 252 performs principal component analysis on the control input candidates and the state distribution for each drive time, and selects, as an example, the principal component axis with the largest variance range (step S102).

[0079] The sample point selection unit 253 selects sample points that satisfy a predetermined condition from the state data on the principal component axis (step S103). For example, the sample point selection unit 253 selects sample points for each state distribution, that is, for each control input candidate or drive time.

[0080] The weight calculation unit 254 calculates the weights of the sample points selected by the sample point selection unit 253 (step S104). For example, the weight calculation unit 254 calculates the weights corresponding to each sample point according to the distribution of the state data on the principal component axis.

[0081] The sample point selection unit 253 stores the selected sample points in the storage unit 240. Furthermore, the weight calculation unit 254 stores the calculated weights in the storage unit 240 (step S105). The process of step S105 may be performed after the processes of steps S103 and S104.

[0082] For example, the calculation device 200 determines the sample points and weights through the above operations. Information indicating the sample points and weights determined by the calculation device 200 can be output to the drive device 300 or the like at any timing, for example.

[0083] 17 is a flowchart showing another example of the operation of the computing device 200. Referring to Fig. 17, after the process of step S101, the data conversion unit 255 performs nonlinear conversion by an arbitrary method to convert the state distribution having a curved shape as a whole into a straight shape (step S201).

[0084] After the process of step S201, the processes of steps S102 to S104 are performed. After the process of step S104, the inverse conversion unit 256 performs the inverse process of the data conversion unit 255, thereby inversely converting the overall straight shape into the original curved state distribution (step S202). Thereafter, the inverse conversion unit 256 stores the sample points corresponding to the original curved state distribution by the inverse conversion in the storage unit 240 (step S203).

[0085] As described above, the computing device 200 may select, by any method, whether to execute the process illustrated in Figure 16 or the process illustrated in Figure 17. The computing device 200 may be configured to execute both the process illustrated in Figure 16 and the process illustrated in Figure 17. In this case, the computing device 200 may determine, by any method, whether to adopt the process result of Figure 16 or the process result of Figure 17.

[0086] Next, an example of the operation of the driving device 300 will be described with reference to Fig. 18. Fig. 18 is a flowchart showing an example of the operation of the driving device 300. Referring to Fig. 18, the sample point extraction unit 331 extracts sample points and the like corresponding to the control input to be evaluated based on the sample point information 322 and the like (step S301). For example, the sample point extraction unit 331 extracts sample points and weights corresponding to candidates for the control input that may be input to the driving device 300.

[0087] The evaluation value estimation unit 332 estimates an evaluation value corresponding to each candidate for a control input that may be input, based on the sample points and weights extracted by the sample point extraction unit 331 (step S302). For example, the evaluation value estimation unit 332 estimates an evaluation value corresponding to each candidate for a control input, based on the state of the drive unit 300, such as the position (x, y) and orientation θ, and the sample points and weights extracted by the sample point extraction unit 331.

[0088] The selection unit 333 selects a control input to be actually input from among candidates for control input that may be input, based on the evaluation result by the evaluation value estimation unit 332 (step S303). The selection unit 333 may use any method to select a control input that corresponds to the most desirable evaluation value.

[0089] The driving unit 334 actually drives the driving device 300 based on the result of the selection by the selecting unit 333 (step S304).

[0090] The above is an example of the operation of the driving device 300.

[0091] As described above, the computing device 200 includes the simulation execution unit 251, the principal component analysis execution unit 252, and the sample point selection unit 253. With this configuration, the sample point selection unit 253 can select sample points that are state data that satisfy predetermined conditions from the state data on the principal component axis that the principal component analysis execution unit 252 has selected based on the results of the simulation by the simulation execution unit 251. As a result, the driving device 300 can estimate an evaluation value based on the sample points selected by the sample point selection unit 253. This enables the driving device 300 to more accurately evaluate control input candidates, thereby improving control accuracy.

[0092] Furthermore, according to the method described in this embodiment, estimation is performed by the driving device 300 using sample points determined in advance by the calculation device 200. By using such advance calculation results, it is possible to reduce the calculation cost when actually evaluating candidates for control inputs. As a result, it is possible to evaluate candidates for control inputs with higher accuracy and at higher speed.

[0093] In this embodiment, the calculation device 200 determines the sample points and weights in advance, and the determination results of the calculation device 200 are stored in advance in a storage device or the like included in the drive device 300. However, as described above, the calculation device 200 and the drive device 300 may be configured to be able to communicate with each other even while the drive device 300 is being driven. For example, the calculation device 200 may be configured to perform processes such as simulation execution and sample point selection while the drive device 300 is being driven, and to transmit updated information of the sample point information 322 based on the results of the processes to the drive device 300. In this case, when evaluating new control input candidates, the drive device 300 may be configured to perform evaluation based on the sample point information 322 updated in accordance with the received update information.

[0094] Furthermore, the configuration of the control system 100 is not limited to the example exemplified in this disclosure. For example, the drive device 300 may have at least some of the functions of the calculation device 200. For example, in a case where the drive device 300 has all the functions of the calculation device 200, the control system 100 may not have the calculation device 200.

[0095] [Second embodiment] Next, a second embodiment of the present disclosure will be described with reference to Fig. 19 to Fig. 21. Fig. 19 is a diagram showing an example of the hardware configuration of a calculation device 400. Fig. 20 is a block diagram showing an example of the configuration of the calculation device 400. Fig. 21 is a block diagram showing an example of the configuration of a drive device 500.

[0096] In the second embodiment of the present disclosure, a description will be given of a computing device 400, which is an information processing device that determines values ​​to be used when evaluating control input candidates based on the values ​​of control inputs that can be input to a driving device. Also, a description will be given of a driving device 500 that performs evaluation using the values ​​determined by the computing device 400 and makes a selection based on the evaluation results.

[0097] Fig. 19 shows an example of the hardware configuration of the computing device 400. Referring to Fig. 19, the computing device 400 has, as an example, the following hardware configuration. ·CPU(Central Processing Unit)401(Arithmetic unit) ROM (Read Only Memory) 402 (storage device) RAM (Random Access Memory) 403 (storage device) Programs 404 loaded into RAM 403 A storage device 405 for storing the program group 404 A drive device 406 that reads and writes data from a recording medium 410 outside the information processing device A communication interface 407 for connecting to a communication network 411 outside the information processing device Input / output interface 408 for inputting and outputting data Bus 409 connecting each component

[0098] 20. The CPU 401 acquires and executes the program group 404, and the computing device 400 can realize the functions of the execution unit 421, the analysis unit 422, and the determination unit 423 shown in FIG. 20. The program group 404 is stored in advance in the storage device 405 or the ROM 402, for example, and is loaded into the RAM 403 or the like by the CPU 401 for execution as needed. The program group 404 may be supplied to the CPU 401 via the communication network 411, or may be stored in advance in the recording medium 410, and the drive device 406 may read out the programs and supply them to the CPU 401.

[0099] 19 shows an example of the hardware configuration of the computing device 400. The hardware configuration of the computing device 400 is not limited to the above-described case. For example, the computing device 400 may be configured with only a part of the above-described configuration, such as excluding the drive device 406.

[0100] The execution unit 421 simulates the state of the drive device after the drive device is driven in accordance with the control input, based on the value of the control input that can be input to the drive device. Note that the state of the drive device may include information indicating the position and orientation of the drive device.

[0101] The analysis unit 422 selects a principal component axis by performing principal component analysis on the state distribution of the drive device identified by the execution unit 421 performing simulations multiple times.

[0102] The determination unit 423 determines values ​​to be used when evaluating candidates for control input to be input to the drive device, based on the results selected by the analysis unit 422. For example, the determination unit 423 determines sample points and weights as values ​​to be used when evaluating candidates for control input.

[0103] As described above, the computing device 400 includes an execution unit 421, an analysis unit 422, and a determination unit 423. With this configuration, the determination unit 423 can determine values ​​to be used when evaluating candidate control inputs based on the results selected by the analysis unit 422 using the simulation results from the execution unit 421. As a result, the drive device can perform evaluation using the values ​​determined by the determination unit 423. This makes it possible to improve control accuracy. Furthermore, with the above configuration, the drive device can perform evaluation using, for example, predetermined values. As a result, evaluation can be performed more quickly.

[0104] The above-described computing device 400 can be realized by incorporating a predetermined program into an information processing device such as the computing device 400. Specifically, a program as another aspect of the present invention is a program for implementing processing in an information processing device such as the computing device 400, which simulates, based on the value of a control input that can be input to the driving device, the state of the driving device after the driving device has been driven in accordance with the control input, selects principal component axes by performing principal component analysis on the state distribution of the driving device identified by performing multiple simulations, and determines values ​​to be used when evaluating candidates for control input to be input to the driving device based on the selected results.

[0105] Furthermore, the determination method executed by an information processing device such as the computing device 400 described above is a method in which the information processing device such as the computing device 400 simulates the state of the drive device after the drive device has been driven in accordance with the control input based on the value of the control input that can be input to the drive device, selects principal component axes by performing principal component analysis on the state distribution of the drive device identified by performing multiple simulations, and determines values ​​to be used when evaluating candidate control inputs to be input to the drive device based on the selected results.

[0106] A program having the above-described configuration, a computer-readable recording medium having the program recorded thereon, or a determination method can achieve the same functions and effects as the above-described computing device 400, and can therefore achieve the above-described object of the present invention.

[0107] The object of the present invention can also be achieved by a drive device 500 having an estimation unit 521 and a selection unit 522. For example, the drive device 500 can have a configuration similar to the hardware configuration of the calculation device 400 described with reference to Fig. 19. For example, similar to the case of the calculation device 400, the drive device 500 can realize the functions of the estimation unit 521 and the selection unit 522 shown in Fig. 21 by having a CPU acquire and execute a group of programs. Similar to the case of the calculation device 400, the hardware configuration of the drive device 500 is not limited to that shown in Fig. 19, and various modified examples may be adopted.

[0108] The estimation unit 521 estimates an evaluation value corresponding to the candidate control input based on the state of the drive device and values ​​used to evaluate the candidate control inputs to be input to the drive device, the values ​​being determined based on the results of principal component analysis of the results of a simulation using values ​​of control inputs that can be input to the drive device. For example, the values ​​used to evaluate the candidate control inputs are determined in advance by an external device such as the computing device 400.

[0109] The selection unit 522 selects a control input to be actually input from among a plurality of control input candidates based on the result of estimation by the estimation unit 521. The selection unit 522 may make the above selection using any method.

[0110] The driving unit 523 drives the device itself based on the selection result of the selecting unit 522 .

[0111] As described above, drive device 500 has estimation unit 521, selection unit 522, and drive unit 523. With this configuration, selection unit 522 can select a control input to be actually input from among a plurality of control input candidates based on the result of estimation by estimation unit 521. Furthermore, drive unit 523 can drive its own device based on the selection result of selection unit 522. As a result, control accuracy can be improved.

[0112] The above-described drive device 500 can be realized by incorporating a predetermined program into an information processing device such as the drive device 500. Specifically, a program according to another aspect of the present invention is a program for implementing processing in an information processing device such as the drive device 500, which includes estimating an evaluation value corresponding to the candidate control input based on the state of the drive device and a value used when evaluating candidates for control input to be input to the drive device, the value being determined based on the result of principal component analysis of the result of a simulation using values ​​of control inputs that can be input to the drive device, and selecting a control input to be actually input from among the multiple candidate control inputs based on the estimation result.

[0113] Furthermore, a driving method executed by an information processing device such as the above-mentioned driving device 500 is a method of estimating an evaluation value corresponding to the candidate control input based on the state of the driving device and values ​​used to evaluate candidate control inputs to be input to the driving device, which values ​​are determined based on the results of principal component analysis of the results of a simulation using values ​​of control inputs that can be input to the driving device, and selecting a control input to actually be input from among multiple candidate control inputs based on the estimation result.

[0114] A program having the above-described configuration, a computer-readable recording medium having the program recorded thereon, or a driving method can achieve the same functions and effects as the above-described driving device 500, and can therefore achieve the above-described object of the present invention.

[0115] <Additional Notes> A part or all of the above-described embodiments can be described as follows: Below, an outline of the computing device, the drive device, etc. of the present invention will be described. However, the present invention is not limited to the following configuration.

[0116] (Appendix 1) an execution unit that simulates, based on a value of a control input that can be input to the drive device, a state of the drive device after the drive device has been driven in accordance with the control input; an analysis unit that selects a principal component axis by performing a principal component analysis on the state distribution of the drive device identified by the execution unit performing a plurality of simulations; a determination unit that determines a value to be used when evaluating the candidates for the control input to be input to the drive device based on the result selected by the analysis unit; have computing device. (Appendix 2) 2. The computing device of claim 1, further comprising: The determination unit selects a plurality of sample points indicating a state of the drive device from among states on the principal component axis as values ​​to be used when evaluating the candidates for the control input. computing device. (Appendix 3) 3. The computing device of claim 2, further comprising: The determination unit selects the sample points and calculates weights according to a distribution situation of states on the principal component axis corresponding to the selected sample points. computing device. (Appendix 4) 4. The computing device of claim 3, The determination unit calculates the sample points and the weights as values ​​to be used when estimating an evaluation value according to the candidate control input to be input to the drive device. computing device. (Appendix 5) 10. The computing device of claim 1, further comprising: The determination unit determines a value to be used when approximately evaluating the formula shown in Equation 4 as a value to be used when evaluating candidates for the control input to be input to the drive device. computing device.

number

number

[0117] Although the present invention has been described above with reference to the above-mentioned embodiments, the present invention is not limited to the above-mentioned embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention. [Explanation of symbols]

[0118] 100 Control System 200 Computing equipment 210 Operation input section 220 Screen display section 230 Communication I / F section 240 Storage section 241 Control Input Candidate Information 242 Simulation result information 243 Sample Point Information 244 Programs 250 Processing Unit 251 Simulation Execution Unit 252 Principal Component Analysis Execution Unit 253 Sample point selection section 254 Weight calculation unit 255 Data Conversion Unit 256 Inverse Conversion Unit 257 output section 300 Drive Unit 310 Communication I / F section 320 Storage section 321 Control Input Candidate Information 322 Sample Point Information 323 Program 330 Processing Unit 331 Sample Point Extraction Unit 332 Evaluation Value Estimation Unit 333 Selection Section 334 Drive Unit 400 Computing equipment 401 CPU 402 ROM 403 RAM 404 Programs 405 Storage device 406 Drive Unit 407 Communication Interface 408 Input / Output Interface 409 Bus 410 Recording Media 411 Communication Network 421 Executive Department 422 Analysis Department 423 Decision Section 500 Drive Unit 521 Estimation Department 522 Selection Section 523 Drive unit

Claims

1. an execution unit that simulates, based on a value of a control input that can be input to the drive device, a state of the drive device after the drive device has been driven in accordance with the control input; an analysis unit that selects a principal component axis by performing a principal component analysis on the state distribution of the drive device identified by the execution unit performing a plurality of simulations; a determination unit that determines a value to be used when evaluating the candidates for the control input to be input to the drive device based on the result selected by the analysis unit; have computing device.

2. 2. The computing device of claim 1, The determination unit selects a plurality of sample points indicating a state of the drive device from among states on the principal component axis as values ​​to be used when evaluating the candidates for the control input. computing device.

3. 3. The computing device of claim 2, the determination unit selects the sample points and calculates weights according to a distribution situation of states on the principal component axes corresponding to the selected sample points; The determination unit calculates the sample points and the weights as values ​​to be used when estimating an evaluation value according to the candidate control input to be input to the drive device. computing device.

4. 2. The computing device of claim 1, The determination unit determines a value to be used when approximately evaluating the formula shown in Equation 1 as a value to be used when evaluating candidates for the control input to be input to the drive device. computing device. [Equation 1] Here, x indicates the state of the drive device, f(x) is a function for evaluating the quality of the state, and p(x) indicates the probability density of taking the state x.

5. 2. The computing device of claim 1, a data conversion unit that performs a predetermined conversion process on the state distribution of the drive device identified by the execution unit performing a plurality of simulations; The analysis unit selects the principal component axes based on the result of the conversion by the data conversion unit. computing device.

6. 2. The computing device of claim 1, an output unit that outputs the value determined by the determination unit to a drive device; computing device.

7. The information processing device simulating a state of the drive device after the drive device has been driven in accordance with a control input based on the value of the control input that can be input to the drive device; selecting a principal component axis by performing principal component analysis on the state distribution of the drive device identified by performing multiple simulations; Based on the selection result, a value to be used when evaluating the candidates for the control input to be input to the drive device is determined. How to decide.

8. an estimation unit that estimates an evaluation value corresponding to the candidate control input based on a value used when evaluating the candidate control input to be input to the drive device, the value being determined based on a result of principal component analysis of a result of a simulation using values ​​of control inputs that can be input to the drive device, and a state of the drive device; a selection unit that selects a control input to be actually input from among a plurality of control input candidates based on a result of estimation by the estimation unit; a driving unit that drives the device itself based on the selection result of the selecting unit; have Drive unit.

9. The drive unit estimating an evaluation value corresponding to the candidate control input based on a value used when evaluating the candidate control input to be input to the drive device, the value being determined based on a result of principal component analysis of a result of a simulation using values ​​of control inputs that can be input to the drive device, and a state of the drive device; selecting a control input to be actually input from among the plurality of control input candidates based on the estimation result; Driven by the results of a selection Drive method.

Citation Information

Patent Citations

  • Vehicle-mounted laser pavement point cloud thinning method capable of reserving spatial characteristics

    CN112465948A

  • Proper premium calculating method for reverse mortgage and recording medium

    JP2001325431A

  • Environment recognition apparatus and method, path planning apparatus and method, and robot apparatus

    JP2005092820A

  • Stochastic Analysis Process Optimization for Integrated Circuit Design and Manufacturing

    JP2008523516A

  • Method of manufacturing semiconductor integrated circuit, and designing method and system

    JP2009021378A