AURA-Sim: Probabilistic Computation in Matlab and Simulink

Why Aura-Sim?

Designers of multi-domain dynamical systems must often contend with highly variable operating conditions that cannot be completely characterized at design-time and are most effectively modeled as random effects. For example, autonomous vehicles may be operated in environments with variable wind, wave, and/or terrain height spectra, unpredictable environmental composition, sensor noise, communication interference, and many other factors. Moreover, the systems themselves may involve significant uncertainties, for example due to ordinary wear, manufacturing variations, or even the direct incorporation of probabilistic control or learning components.

Aura-SimTM allows designers to directly model uncertainties associated with the design, implementation, and operation of such systems. It can then propagate these uncertainties through complex system hierarchies and around feedback loops, revealing the variability that will be observed in system outputs and performance metrics. Aura-Sim provides an unprecedented level of expressive power and analysis capabilities for probabilistic analysis of non-linear dynamical systems.

Mathematical equations and associated block diagrams providing an example application of the AURA Sim toolbox.

Aura-Sim model of an electric motor whose electrical and mechanical properties exhibit random variations

Aura-Sim is based on generalized polynomial chaos theory, originally conceived for solving stochastic differential equations. It is ideally suited for modeling dynamical systems with uncertainty, because:

  • It is supported by a rigorous and well-developed theoretical foundation.
  • It has a very compact representation that can characterize random variables, random vectors, and both discrete-time and continuous-time random processes.
  • It can represent essentially arbitrary continuous probability distributions.
  • It naturally handles arbitrary dependency structures between all random quantities in a system.

Random quantities in Aura-Sim are complete characterizations of multi-variate probability distributions, not simply randomly generated values. They can be used to compute:

  • mean, variance, and higher-order moments of a function or system;
  • marginal and joint PDFs and CDFs of arbitrary combinations of variables;
  • probabilities of arbitrary events;
  • a variety of sensitivity indices, both local and global;
  • joint Monte Carlo samples from multiple dependent random variables.

Aura-Sim is based on a direct representation of uncertainty that is far superior to brute-force Monte Carlo techniques, typically producing much higher accuracy in a fraction of the time.

System Requirements

Aura-Sim is a Matlab/Simulink Toolbox which requires a licensed installation of Matlab and (optionally) Simulink, both of which are distributed by The MathWorks, Inc. Aura-Sim is available for Windows, Linux, and MacOS.

System Usage

Aura-Sim integrates seamlessly with the Matlab and Simulink development environments. It brings to those environments new datatypes for representing random quantities and a complete set of operators for computing with them.

Aura-Sim comprises a library of Simulink model elements for defining and processing random quantities within a simulation, and a set of Matlab classes for conducting probabilistic calculations from the Matlab command line or within Matlab functions. Random quantities can be passed between Matlab and Simulink, to facilitate simulation setup and post-simulation analysis. Aura-Sim is compatible with Simulink Coder, distributed by The MathWorks, which can be used to produce compiled executable programs that run outside the Matlab/Simulink environment.

Contact

For technical information, contact Dr. Michael DeVore, devore@barron-associates.com.

For pricing and ordering information, contact sales@barron-associates.com


Related Project

AUSPEX Matlab toolbox screen capture showing user interface and example data plots.

AUSPEX

Modeling and Simulation Barron Associates’ AUSPEX Matlab toolkit is designed for modeling data, calibrating data, and updating simulations. Current applications include propulsion system modeling... View Project