Modular VS Math Models
CarSim, TruckSim, and BikeSim automatically construct custom VS Math Models every time a simulation is run. A VS Math Model is a set of variables and functions constructed for a specific vehicle of interest. It is used to run a simulation calculating values for variables of interest, writing results into files, and possibly exchanging information with other software during the simulation.
Custom Parametric Math Models
VS Math Models are customized to include the parts needed to represent a vehicle of interest in a scenario of interest.
Machine-Generated Multibody Equations
Much of the source code in the library used to construct a VS Math Model is machine-generated by a symbolic multibody program called VS Lisp (originally called AutoSim). With over 25 years of continued use and development, VS Lisp is routinely used by the Mechanical Simulation development team to generate highly optimized equations of motion customized for specific 3D multibody modules, such as suspensions for motorcycles, cars, and trucks.
Modularized Solver Libraries
Dynamic VS Solver libraries that are provided with a VehicleSim product include modules for potential parts of a 3D multibody vehicle model, plus potential controllers, plus the ground, plus potential sensors, plus additional moving objects that represent traffic vehicles and other "actors" (pedestrians, signs, animals, buildings, etc.). Each time a simulation is run, a custom VS Math Model is constructed to run the simulation. Some examples:
- A basic CarSim model has independent front and rear suspensions, an all-wheel hybrid powertrain, and controllers to steer and control the speed, operating on a flat and level surface.
- The same vehicle runs in an urban environment with curbs, pedestrians, traffic signals, and ADAS sensors that detect other "actors."
- A TruckSim vehicle has a 3-axle lead unit towing a semitrailer with a tandem, towing a dolly with 1 axle, supporting a second semitrailer with another tandem. It travels through an intersection with 3D geometry.
- A CarSim model includes four independent vehicles, as shown in this video of ► an ADAS scenario in an urban intersection.
Here is more information about the available modules: Modular Vehicle Models (PDF).
Parameters and Configurable Functions
A VS Math Model is parametric; the built-in equations use parameters as placeholders. Values are provided at runtime for hundreds of parameters.
Parameters have numerical values. A value can be set with a number, a formula
involving numbers (e.g., 1/16), or a formula involving other parameters (e.g.,
Y_S = -L_TRACK(1)/2
). All parameters are assigned default values
before reading input Parsfiles; if a parameter is not given a new value, the
default value remains in effect.
About half of the calculations in a typical vehicle model involve fixed relationships between internal variables that might be nonlinear. Some examples:
- target speed vs. time
- tire forces and moments vs. slip and load
- suspension toe and camber vs. jounce
A basic CarSim model has about 90 groups of Configurable Functions. Some groups have separated datasets for repeated parts such as suspensions, tires, etc.
As indicated by the name, these functions can be configured to use constants, linear coefficients, 1D tables with various built-in interpolation and extrapolation methods, and in some cases, 2D tables with various built-in interpolation and extrapolation methods. In some cases, functions can be replaced with symbolic formulas provided at runtime.
Indexed Parameters and Functions
VS Math Models use consistent names for parameters of parts that are repeated in a model, such as tires, wheels, springs, etc. Parameters and Configurable Functions for repeated parts are indexed, such that a single text file can be used multiple times to set values for different components. For example, it is common to use the same set of tire properties for multiple tires in the vehicle model. Although the model contains separate equations and values in memory, the values can be set from the same file if it is read multiple times.
Standard Files
Simulation I/O Files
VS Math Models receive all configuration information from simple keyword-based text files called Parsfiles. These files are generated automatically by the VS Browser (GUI and database manager) for use in VS Math Models and VS Visualizer. The format is simple and well-documented; advanced users often generate Parsfiles using external software for custom automation setups.
Machine-Generated Documentation
In addition to the primary role of solving equations, VS Math Models can generate a number of documentation files:
- An Echo Parsfile is written just after the model is initialized. Another is written just after the simulation ends. The Echo file lists every parameter that was used, along with every configurable function.
- A Log file is written that lists all Parsfiles encountered in setting up the run, along with status reports and possibly warnings or error messages.
- In addition to running simulations, VS Math Models can generate model documentation:
- List of all state variables in the model,
- List of all potential output variables (available as text or CSV).
- List of all potential import variables (available as text or CSV).
Portable and Extensible
The VS Solver libraries used to construct VS Math Models are provided as dynamically linked library (.dll)
files for Windows OS, and as shared object (.do) files for Linux. For HIL RT Systems, they are typically in a form required for the system: .dll
, .so
, or .lib
.
The models are extensible by way of their modularity, as shown in the video ► extended TruckSim configurations. They are also extensible in other ways:
- The models include many mutually exclusive options that support many requirements. E.g., powertrain can use internal combustion, electric, or hybrid; multiple tire models are available; multiple steering configurations are available; etc.
- Some options are added as needed, such as Payloads, motion sensors, ADAS detection sensors, moving objects, etc.
- New variables and equations may be added through the use of VS Commands.
- The models communicate as needed with external simulation programs such as Simulink and LabVIEW through arrays of import and export variables.
- The models can run and access with other software, as supported by the VehicleSim software development kit (VS SDK).
VehicleSim Products
CarSimTruckSim
BikeSim
SuspensionSim
Built-In Features
ADAS: Moving Objects and SensorsAnimation and Plotting
Automation and COM
Built-In Controllers
GUI, Database, and Documentation
Modular VS Math Models
Paths and S-L Coordinates
Roads and Terrain
VS Commands Language
VS Scene Builder Tool
Co-Simulation Technologies
Real-Time HIL SupportSimulink, FMI/FMU, LabVIEW
Unreal Engine
VehicleSim SDK