The invention generally relates to the field of computer programs and systems and specifically to the field of product design and simulation. Embodiments of the invention may also be employed in video games, engineering system design, collaborative decision making, and entertainment, e.g., movies.
A number of existing product and simulation systems are offered on the market for the design and simulation of parts or assemblies of parts. Such systems typically employ computer aided design (CAD) and/or computer aided engineering (CAE) programs. These systems allow a user to construct, manipulate, and simulate complex three-dimensional models of objects or assemblies of objects. These CAD and CAE systems, thus provide a representation of modeled objects using edges or lines, in certain cases with faces. Lines, edges, faces, or polygons may be represented in various manners, e.g. non-uniform rational basis-splines (NURBS).
These CAD systems manage parts or assemblies of parts of modeled objects, which are mainly specifications of geometry. In particular, CAD files contain specifications, from which geometry is generated. From geometry, a representation is generated. Specifications, geometry, and representations may be stored in a single CAD file or multiple CAD files. CAD systems include graphic tools for representing the modeled objects to designers; these tools are dedicated to the display of complex objects. For example, an assembly may contain thousands of parts. A CAD system can be used to manage models of objects, which are stored in electronic files.
The advent of CAD and CAE systems allows for a wide range of representation possibilities for objects. One such representation is a finite element analysis (FEA) model. The terms FEA model, finite element model (FEM), finite element mesh, and mesh are used interchangeably herein. A FEM typically represents a CAD model, and thus, may represent one or more parts or an entire assembly. A FEM is a system of points called nodes which are interconnected to make a grid, referred to as a mesh. The FEM may be programmed in such a way that the FEM has the properties of the underlying object or objects that it represents. When a FEM or other such object representation as is known in the art is programmed in such a way, it may be used to perform simulations of the object that it represents. For example, a FEM may be used to represent the interior cavity of a vehicle, the acoustic fluid surrounding a structure, and any number of real-world objects. Moreover, CAD and CAE systems along with FEMs can be utilized to simulate engineering systems. For example, CAE systems can be employed to simulate noise and vibration of vehicles.
Such existing simulation methods however are not without their drawbacks. Realistic experimental and numeral experiments, such as those described in Numerical Models to Create Simulated Behavior, available at http://www.3ds.com/products-services/simulia/overview/, and Helm, Experimental Techniques, the contents of which are herein incorporated by reference, take a lot of time and require significant expertise to carry-out. Typical results from such simulations/experiments are provided in the forms of videos, images, or graphs. Behavioral research, such as the research presented in Kahneman, Thinking Fast and Slow, shows that “experience” is gained through real-time experimentation. If action causes a direct result in a short time interval, then “experience” is gained. Actions that have long term results only result in “experience” for a small group of people. Likewise, if there is no interactivity (i.e., no opportunity to change the experiment/simulation) little experience is gained. Therefore, the current paradigm of experts presenting scientific results through images, for example, is not efficient as a means to add to the experience of the audience.
Another problem with existing simulations/experiments is the time it takes to perform the simulation itself, as in Experimental Techniques, and then reuse the results, which is described in Numerical Models to Create Simulated Behavior and Experimental Techniques. Such time consuming simulations cannot be used for system verification or optimization that require up to a million verification experiments. Techniques are needed that are at least three to four orders of magnitude faster than current realistic simulation tools (e.g., nonlinear Finite Element Analysis) to do such system studies.
While attempts have been made to enhance the user “experience” of simulations/experiments, existing techniques are inadequate. A vast and widely used body of work, such as that described in Box et al., Statistic for Experimenters: Design, Innovation, and Discovery, is available in terms of experiments using numerical models to create simulated behavior as described in Experimental Techniques, and/or experimental testing as described in Numerical Models to Create Simulated Behavior and Experimental Techniques. These experiments/simulations are often interpolated using techniques such as response surface methods, Chebychev polynomials, kriging, or radial basis functions. These methods create an accurate transfer function between a set of fixed input, one dimensional (1D), parameters and a set of fixed output, 1D, output parameters. One dimensional data is very abstract and abstract information is not an efficient means to add to the experience of the audience. Such methods are based on reducing the state space of the simulation. In such an example the complete 3D computational (i.e., meshed) model is known a priori, but the complexity and solve time of the model is reduced while maintaining a good fit to a known behavior model. This is typically done through reduction of the degrees of freedom (e.g., from millions of mesh nodes to tens of parameters) through techniques such as Principle Component Analysis, which is described in Jolliffe I. T. Principal Component Analysis, Series: Springer Series in Statistics, 2nd ed., Springer, N.Y.
Recently, work has been done to create special interpolations of field data using the Sirovich “snapshot method” with proper orthogonal decomposition. This method does reproduce two dimensional (2D) or 3D (field) data as a (linear) function of a small set of (basis) fields which makes the experience less abstract. However, this method is suited only to the compression of time-series simulation of a given model, and thus, does not allow for variations in the model as part of a scenario. In addition, the predicted values for individual sensor data (locations in the field) are not very accurate due to the tradeoffs in approximating the overall field.
There are existing tools for the compression of simulation field data, such as those described in Sirovich, Turbulence and the Dynamics of Cocherent Structures I-III and Fraunhofer, available at http://www.scai.fraunhofer.de/geschaeftsfelder/numerische-software/produkte/femzip.html?&L=1. These tools improve the speed at which the basis field (described by Sirovich) is computed for viewing. Such tools would also reduce data storage requirements to enable wider distribution. However, by themselves, these tools do not allow for the scenario and model to be changed “on the fly” in order to generate “experience” for a wide audience.
Another existing method relies upon parameter estimation, which is described in Klein. In performing such a method, differential equations are known, but some of the equation constants are not. For example, in the case of aircraft dynamics, unknown aerodynamic derivatives can be found by minimizing the error between flight data and aircraft model data for a known set of operations of motion.
Klein V. “Aerodynamic Parameters of High Performance Aircraft Estimated from Wind Tunnel and Flight Test Data”, NASA-98-AGARD.
For example, equation (31) of Klein is:
There the terms CLαCLqCL{dot over (q)} and k would be calibrated or fitted to the equation based on experimental data for t, CL, q, α, {dot over (q)}.
For many novel product design simulations the equations of motion are not as well-known as those of aircraft shown here. Thus, many simulations cannot rely on the above described method. The methods relying upon parameter estimation are complementary to the approach discussed in Jolliffe because it reduces the number of parametric states to a level that is manageable for higher order mathematical surrogates.
Embodiments of the present invention overcome the problems with existing experiment/simulation techniques as described hereinabove.
Embodiments of the present invention provide methods and systems for constructing a surrogate model for use in an interactive experience. According to at least one example embodiment, a method for generating a surrogate model for use in an interactive experience begins by defining a model that represents a real-world system, where the model includes a parametric state vector representing a behavior and a design variable vector. Such a method further includes performing a first experiment (simulation, analysis, etc.) to determine a response over time of the parametric state vector and performing a second experiment for the design variable vector. The first and second experiments produce a dataset of the parametric state vector and the design variable vector as a function of time. The method continues by modifying the data set with one or more derivatives of the parametric state vector and then constructs a set of surrogate differential equations which approximate a higher derivative of the parametric state vector relative to that in the data set. In such an embodiment, the constructing includes operatively storing the set of surrogate differential equations as a surrogate model in memory. Such a method is used in an interactive experience by responsively providing the surrogate model from memory in a matter accelerating simulated behavior in response to user interaction with the model. This may be implemented by solving the surrogate differential equations for a given value of the design variable vector including using a time series that solves a state vector of the surrogate model as a function of time.
In an alternative embodiment of the method, constructing the set of surrogate differential equations comprises iteratively constructing one or more candidate sets of surrogate differential equations, and selecting the set of surrogate differential equations from the one or more candidate sets to be stored as the surrogate model, where the selected set is the set with the lowest cross validation error to at least a subset of the data set. In such an embodiment, the subset of the data set may be referred to herein as a validation data set. According to another embodiment, modifying the data set with the one or more derivatives of the parametric state vector includes removing time from the data set. In yet another embodiment, the first and second experiments are at least one of a physical experiment and a numerical high fidelity experiment. Another embodiment may further comprise reducing the dimensionality of the defined model. In such an embodiment, reducing the dimensionality of the defined model employs at least one of principal component analysis, k-nearest neighbors, and subspace learning.
Moreover, in yet another embodiment, the defined model includes at least one of discrete events and boundary conditions. An implementation of the method may further comprise exporting the surrogate model to a functional mock-up interface. Further still, an embodiment may employ the surrogate model in a hardware system wherein the hardware system is a flight simulator or automotive electronic control unit.
According to an embodiment of the invention, performed in accordance with the principles described herein, the higher derivative of the parametric state vector may be approximated by using at least one of: radial basis functions, neural nets, chebychev polynomials, response surface methods, polynomial response surface methods, arbitrary term regression, support vector machines, and space-mapping. According to methods of the invention, constructing the surrogate model further includes optimizing the surrogate model to reduce variance and bias error.
An alternative embodiment of the invention is directed to a system for generating a surrogate model for use in an interactive experience. Such a system comprises a model definition module configured to define a model which represents a real-world system, wherein the defined model includes a parametric state vector representing a behavior and a design variable vector. According to an embodiment of the present invention, the system further includes an experiment module which is operatively coupled to the model definition module and is configured to perform a first experiment to determine a response over time of the parametric state vector and a second experiment for the design variable vector. The experiments produce a data set of the parametric state vector and the design variable vector as a function of time. In an embodiment, the system further includes a data set module configured to receive the data set from the experiment module and to modify the data set with one or more derivatives of the parametric state vector. A surrogate module is further included in the system and the surrogate module is configured to construct a set of surrogate differential equations which approximate a higher derivative of the parametric state vector relative to that in the data set. Furthermore, the surrogate module may operatively store the set of surrogate differential equations as a surrogate model in memory. The system further includes an interaction module configured to responsively provide the surrogate model from memory in a manner which accelerates simulated behavior of the model in response to user interaction. Said providing the surrogate model solves the surrogate differential equations for a given value of the design variable vector including using a time series that solves the state vector of the surrogate model as a function of time.
According to an embodiment of the system, the surrogate module is configured to construct the set of surrogate differential equations by iteratively constructing one or more candidate sets of surrogate differential equations. In such an embodiment, the set of surrogate differential equations stored as the surrogate model is selected from the one or more candidate sets as the set with the lowest cross validation error to at least a subset of the data set. In an embodiment, the data set module is configured to modify the data set with the one or more derivatives of the parametric state vector. In yet another embodiment, the first and second experiments are at least one of a physical experiment and a numerical high fidelity experiment. According to yet another embodiment of the system, the defined model includes at least one of discrete events and boundary conditions.
Moreover, in an embodiment where the defined model is a high fidelity, high dimensional numerical model, the model definition module is further configured to reduce the dimensionality of the defined model. In such an embodiment, the model definition module may be configured to reduce the dimensionality of the defined model by employing at least one of principal component analysis, k-nearest neighbors, and subspace learning. An alternative embodiment of the system further comprises an export module configured to export the surrogate model to a functional mockup interface. In yet another embodiment, the system is integrated into a flight simulator or automotive electronic control unit.
The surrogate module may be configured to approximate the higher derivative of the parametric state vector using at least one of: radial basis functions, neural nets, chebychev polynomials, response surface methods, polynomial response surface methods, arbitrary term aggression, support vector machines, and space-mapping.
Another embodiment of the present invention is directed to a cloud computing implementation for generating a surrogate model. Such an embodiment is directed to a computer program product executed by a server in communication across a network with one or more clients, the computer program product comprising a computer readable medium. The computer readable medium comprises program instructions which, when executed by a processor causes: defining a model representing a real-world system, wherein the model includes a parametric state vector representing a behavior and a design variable vector; performing a first experiment to determine a response over time of the parametric state vector and performing a second experiment for the design variable vector, wherein performing first and second experiments produces a data set of the parametric state vector and the design variable vector as a function of time; modifying the data set with one or more derivatives of the parametric state vector; constructing a set of surrogate differential equations approximating a higher derivative of the parametric state vector relative to that in the data set, wherein constructing the set of equations includes operatively storing in memory the set of surrogate differential equations as a surrogate model; and responsively providing the surrogate model from memory in a manner accelerating simulated behavior in response to user interaction with the model, wherein providing the surrogate model includes solving the surrogate differential equations for a given value of the design variable vector including using a time series that solves the state vector of the surrogate model as a function of time.
The foregoing will be apparent from the following more particular description of example embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating embodiments of the present invention.
A description of example embodiments of the invention follows.
The teachings of all patents, published applications and references cited herein are incorporated by reference in their entirety.
Embodiments of the present invention overcome the aforementioned limitations of simulations/interactive three-dimensional experiences. One such embodiment of the invention is directed to a method to create a near real-time experience by accelerating realistic behavior simulation models using mathematical surrogates. These surrogate models are based on physical test data or high-fidelity simulation data. High-fidelity N-code (FEA, Computational Fluid Dynamics (CFD), or logical) co-simulations can take as much as an hour of CPU time for each real-time second of behavior prediction. Embodiments of the invention speed up this process by orders of magnitude so that it is fast enough to be used in real-time or near real-time applications. This makes it a practical technology for interactive design, multi-disciplinary optimization, and verification of cyber-physical systems. These surrogate models can be wrapped as a Functional Mockup Unit and deployed in a system simulation tool and/or embedded in hardware. FMUs are described at http://www.functional-mockup-interface.org/index.html, the contents of which are herein incorporated by reference.
An embodiment accelerates realistic behavior modeling by first executing a physical or numerical high-fidelity experiment on a physical or numerical model and observing the response over time of the parametric state vector p (e.g., time, p) that represents the behavior of interest. This model can contain discrete events (e.g., controller on/off) as well as forced boundary conditions such as road excitations. Alternatively, before executing such an experiment, an embodiment may first reduce the dimensionality of the high-fidelity, high-dimensional numerical model using principal component analysis, or a similar technique, to a manageable number of parameters (e.g., approximately 100). To continue, after executing the experiment, such an embodiment next repeats this experiment in a structured (e.g., design of experiment) or unstructured way for a model design variable vector of interest v to produce a dataset as a function of (time, v, p) for a given set of initial conditions p(time=0).
The method continues by combining the datasets and differentiating the state variables with respect to time using a backward differentiation scheme and then removing time from the dataset, yielding (v, p, {dot over (p)}, {umlaut over (p)}). Then, higher derivatives as a surrogate function of the lower derivatives {umlaut over (p)}=(v, p, {dot over (p)}) are approximated using techniques such as radial basis functions, neural nets, chebychev polynomials, and response surface methods with term reduction over a training set that is part of the complete set in {umlaut over (p)}=(v, p, {dot over (p)}). The right predictive surrogate is selected and its technique settings are optimized to reduce its variance and bias error and validated with the part of the dataset that is not used in the training Thus, forming the surrogate model. An embodiment may also numerical forward integrate p(t) from time=0 for a given value v and give initial conditions p(time=0) and {dot over (p)}(time=0). These initial conditions of the state vector and design values are not limited to be the same as those of the original time series experiments. This model can in turn be exported to an FMU and be directly employed in 3D modeling software to simulate realistic behavior in near real-time. Alternatively, it can be used directly in hardware, such as a flight simulator or an automotive electronic control unit (ECU).
According to an embodiment of the method 100, constructing the set of surrogate differential equations 104, may be performed by iteratively constructing one or more candidate sets of surrogate differential equations and in turn, selecting the set of surrogate differential equations stored as the surrogate model as the set from the one or more candidate sets with the lowest cross validation error to at least a subset of the data set. This subset of the data set that is used in performing the equation constructing may be considered a validation data set. According to yet another embodiment of the method 100, modifying the data set 103 may include removing time from the data set. In yet another embodiment, the first and second experiments performed at step 102 of the method 100, are a physical experiment and/or a numerical high fidelity experiment.
In yet another embodiment of the method 100, the defined model further includes discrete events and boundary conditions. In an embodiment where the defined model is a high fidelity, high dimensional numerical model, the method 100 may further comprise reducing the dimensionality of the defined model. According to such an embodiment, the dimensionality may be reduced according to principles known in the art, for example, by employing principal component analysis, k-nearest neighbors, and/or subspace learning.
The method 100 may also include exporting the surrogate model to a functional mockup interface. In an alternative implementation, the method 100 is employed in a hardware system, such as a flight simulator or automotive electronic control unit. In an embodiment of the method 100, the higher derivative of the parametric state vector is determined at step 104 using at least one of: radial basis functions, neural nets, chebychev polynomials, response surface methods, polynomial response surface methods, arbitrary term regression, support vector machines, and space-mapping. In yet another embodiment, constructing the surrogate model at step 104 further includes optimizing the surrogate model to reduce variance and bias error.
Starting with airfoil pitch data a, and vertical displacement data z, an embodiment proceeds to differentiate the dataset using a backwards numerical step to yield a set of data of the state parameters and their time derivatives (t, α, {dot over (α)}, {umlaut over (α)}, z, ż, {umlaut over (z)}). Next, time is removed as a parameter and a system of equations is created based on surrogates F to express the higher derivatives of a and z as a function of the state vector (α, z) and its lower derivatives using part of the co-simulation data. The remaining data is reserved for validating the surrogates. The resulting system of equations is provided below:
F
1(α,{dot over (α)},z,ż)={umlaut over (α)}
F
2(α,{dot over (α)},z,ż)={umlaut over (z)}
To continue, F1 and F2 may be expressed as a linear regression surrogate model to obtain a 2nd order linear ordinary differential equation representing the well-known spring damper model. It is noted, that this spring damper model is derived without prior knowledge that this is an adequate model form for wing flutter. Thus, embodiments of the invention do not require prior knowledge of an adequate model for representing the system. An example of the 2nd order linear ordinary differential equation derived using the data for this example is provided below:
The resulting 1st order surrogate model representing a 2nd order differential equation is shown by the dashed line 542 of
Embodiments of the invention can further determine the source of such error by validating the model with the above mentioned set aside data. Such evaluation indicates that there is a large error between the actual a data and the one predicted by the 2nd order ODE constructed from the linear surrogate. This error is shown in
In order to correct this error, an embodiment may switch the surrogate model from a 2nd order model to a 4th order model and repeat the validation using the 4th order model. The result of this validation is shown in
The implementation of such a method is shown in
Embodiments of the invention can further introduce the effect of design variables. In the example described hereinabove, this is done by adding samples with a bandwidth of w=20, 25, 33, 50, and 100 Hz and the digital controller actuating the flap at time=controller_on_time. Yielding a data set, (t, tcontroller on, w, α, {dot over (α)}, {umlaut over (α)}, z, ż, {umlaut over (z)}). The process described above is then repeated with this data set to create a new surrogate model that is activated at the time=controller_on_time. In such an embodiment, the 4th order RMS method does not work. However, by replacing the RMS method with the Radial Basis Function surrogate method, such as described in Hardy, “Multiquadratic equations of topography and other irregular surfaces”, J. Geophysics Res. 76, 1905-15 (1971).
The results of this modified surrogate model are shown in
Described above are methods for constructing surrogate models according to the principles of the invention using training data. However, embodiments of the invention are not so limited and the constructed surrogate models can be used in simulations/interactive experiences, using other data, such as data provided by a user. In such an embodiment, the behavior of the airfoil system may be determined by using the surrogate models with different system bandwidth, different system controller-on time, and different initial conditions.
As can be observed in the exploded area 1091 of
As introduced hereinabove, and further described in relation to
A model definition module 1333 module is further connected to the bus 1335. The model definition module 1333 is configured to define a model representing a real-world system, the model that is defined includes a parametric state vector representing a behavior and a design variable vector.
An experiment module 1334 is operatively coupled via the bus 1335 to the model definition module 1333 and is configured to perform a first experiment to determine a response over time of the parametric state vector and a second experiment for the design variable vector. In such an embodiment of the system 1330, the first and second experiments produce a data set of the parametric state vector and the design variable vector as a function of time. The system 1330 further includes a data set module 1341 that is configured to receive the data set from the experiment module 1334 and to modify the data sent with one or more derivatives of the parametric state vector. Connected to the bus 1335 is a surrogate module 1339 which is configured to construct a set of surrogate differential equations which approximate a higher derivative of the parametric state vector relative to that in the data set that was determined by the data set module 1341. This constructing by the surrogate module 1339 includes operatively storing, in the memory 1337 or the storage device 1336, the set of surrogate differential equations as a surrogate model. Operatively coupled to the system 1330 is an interaction module 1340 which is configured to responsively provide the surrogate model from memory 1337 or storage 1336 in a manner accelerating simulated behavior in response to user interaction with the model. This providing the surrogate model solves the surrogate differential equations for a given value of the design variable vector including using a time series that solves the state vector of the surrogate model as a function of time.
In embodiments, the accelerated simulated behavior may be considered accelerated in comparison to normal simulation techniques. Moreover, the accelerated simulated behavior may be accelerated or decelerated in comparison to real world events, e.g., the simulation may show the effect of wing flutter at a rate faster than such flutter would occur in the real world.
It should be understood that the example embodiments described herein may be implemented in many different ways. In some instances, the various methods and machines described herein may each be implemented by a physical, virtual, or hybrid general purpose computer, such as the computer system 1330, or a computer network environment such as the computer environment 1400, described herein below in relation to
Embodiments or aspects thereof may be implemented in the form of hardware, firmware, or software. If implemented in software, the software may be stored on any non-transient computer readable medium that is configured to enable a processor to load the software or subsets of instructions thereof. The processor then executes the instructions and is configured to operate or cause an apparatus to operate in a manner as described herein.
Further, firmware, software, routines, or instructions may be described herein as performing certain actions and/or functions of the data processors. However, it should be appreciated that such descriptions contained herein are merely for convenience and that such actions in fact result from computing devices, processors, controllers, or other devices executing the firmware, software, routines, instructions, etc.
It should be understood that the flow diagrams, block diagrams, and network diagrams may include more or fewer elements, be arranged differently, or be represented differently. But it further should be understood that certain implementations may dictate the block and network diagrams and the number of block and network diagrams illustrating the execution of the embodiments be implemented in a particular way.
Accordingly, further embodiments may also be implemented in a variety of computer architectures, physical, virtual, cloud computers, and/or some combination thereof, and thus, the data processors described herein are intended for purposes of illustration only and not as a limitation of the embodiments.
While this invention has been particularly shown and described with references to example embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims.