VTI's simulator software is based on Open Source and in-house developed code. However, external models and software modules (e.g. commercial vehicle dynamics modules, production code for active safety function etc.) are sometimes integrated. This is normally easy to facilitate because of the fact that we have full acces to all the source code of our simulator software.
VTI adhears to the OpenDRIVE® standard for the description of the logical road network. The data format is ascii readable xml-structure, which makes it easy to distribute and handle, and is stored in xodr-files.
VTI uses the in-house developed graphical image generator VISIR, Visual simulation of rail or road. This software is intended for use as a visual system for a rail- or a road simulator. It is written in pure C++ and based upon the OpenSceneGraph, OSG, open source rendering toolkit (present version is 2.8.). We have chosen to define the database as a set of xml-files. This makes the database flexible and easy to grow. The intention of VISIR is to create an image generator, specifically designed for road and rail purposes that can be shared by several simulators and also by several users. By sharing the software between several users and simulators the maintenance and development cost for each platform can be minimized.
VTI has developed own vehicle dynamics models for the last 40 years (mainly through the work of Prof. Nordmark, currently 5–7 researchers and research engineers continue this development). Today VTI maintains several vehicle dynamics models that are available for simulator experiments. The models are implemented in Fortran or Matlab/Simulink/SimMechanics.
Since then, the models have been developed at VTI all source code is available. Thus, any modification of the models or integration of new components and systems is easily facilitated. The integration of different production systems/software has been carried out together with vehicle manufacturers and Tier1 suppliers in several simulator experiments throughout the years. From time to time other vehicle models have been used e.g. CarSim. The generic passenger car used in simulator experiments is a validated Volvo S40 model.
Generic systems that are available for experiments, and have been developed at VTI are:
- passenger car ESC (yaw-stability control)
- roll stability control for Heavy vehicles
- Lane departure warning system (LDW)
- Lane keeping aid (applying corrective steering wheel torque)
- Forward collision warning (FCW)
- driver distraction system (based on the Smart-eye driver monitoring cameras)
- anti lock braking (this is normally simulated by HIL using a production system, but can be done in software as well).
The hardware to provide warnings etc. differs between facilities. Today different types of head up displays and haptic seat are installed. Directional warnings sounds is a part of the sound engine software and is available in all facilities.
The simulation kernel consists of several layers, ranging from the operating system to project orientated code. Each layer is dependant on the previous layers in a stack wise framing. The first and basic layer is the hardware, which is a powerful workstation, and the operating system is Linux OpenSUSE which has been on the market since 1994. Currently the aim is to use version 10.3 or 11.1 throughout the system, though this may change over time. The second layer is third-party software which is included and linked into the simulation kernel, such as:
- Fortran (Wikipedia) External link.
- C (Wikipedia) External link.
- C++ (Wikipedia) External link.
- boost (Wikipedia) External link.
- Trolltech Qt (Wikipedia) External link.
- Qwt (Qwt User's Guide) External link.
- tinyxml (Grinning Lizzard) External link.
The utility layer (third layer) is the basic software for the simulation kernel, developed at VTI. It contains basic wrapper classes such as an xml-reader, TCP/IP and UDP (broadcasting) interface, shared memory allocator and high accuracy timer. Generic classes like filters and regulators are found here as well. The implementation of OpenDRIVE® is an interface to the road network database.
The fourth layer is the simulation kernel framework, with classes for data storage and routing, and base classes for application specific development, such as SimObject and PlugIn. On top of the framework any application can be developed, such as the simulator software kernel or graphical user interfaces. The application layer consists of classes that is used on any facility, currently Sim II, Sim III, Sim IV and VTI First simulator, and constitutes the unified code base for all VTI vehicle simulators.
The facility layer is a group of classes that sets up an interface for operation of any VTI simulator. Mainly interfaces for motion control and cabin communication is found here. Each facility must implement its own set of classes for linkage between the hardware and simulation software kernel.
The top layer depicts project specific code used for executing a vehicle simulator research experiment. It helps the application programmer set up the appropriate environment for scenario control, event handling, data recording and customized plug-ins in order to meet the customer's requirements.