Welcome to Open Simulation Interface’s documentation!¶
The Open Simulation Interface (OSI) is a specification for interfaces between models and components of a distributed simulation. OSI has a strong focus on environmental perception of automated driving functions.
As the complexity of automated driving functions rapidly increases, the requirements for test and development methods are growing. Testing in virtual environments offers the advantage of completely controlled and reproducible environment conditions.
In order to achieve widespread use of driving simulators for function developers, the connection between the function development framework and the simulation environment has to rely on generic and standardized interfaces. An easy and straight-forward compatibility between automated driving functions and the variety of available driving simulation frameworks is made possible by OSI. OSI was developed exactly for this purpose and addresses the emerging standard ISO 23150 for real sensors’ standardized communication interface. In this context, OSI defines generic interfaces to ensure modularity, integrability, and interchangeability of the individual components. The vision is to be able to connect any automated driving function to any driving simulator and emerging new hardware sensor generations with a standardized ISO 23150 interface. This will simplify integration and thus significantly strengthen the accessibility and usefulness of virtual testing.
The following figure shows the interfaces and models involved in modeling a sensor.
OSI also defines interfaces for traffic participant models. These interfaces allow to send commands to traffic participant models and to receive their updated state. The following figure shows the interfaces of a generic traffic participant.
Traffic participant models may use other OSI interfaces internally, for example, to model autonomous vehicles. The following figure shows a more advanced use case for traffic participants.
OSI currently provides only limited support for data structures describing measured internal states of the traffic participant. Actuator intentions are currently not covered by OSI and must be handled with a different data description format.
OSI contains an object-based environment description using the message format of the protocol buffer library developed and maintained by Google. OSI defines top-level messages that are used to exchange between separate models. Top-level messages defines the
GroundTruth interface, the
SensorData interface and, since OSI version 3.0.0, the
GroundTruth interface provides an exact view on the simulated objects in a global coordinate system, the ground truth world coordinate system. This message is populated using the data available internally and then published to external subscribers by a plugin within the driving simulation framework. Depending on the external subscriber, the
GroundTruth message may be individually restricted to reduce the data to be exchanged to the necessary level (e.g.
FeatureData interface provides a list of simple features in the reference frame of the respective sensor of a vehicle for environmental perception. It is generated from a
GroundTruth message and may serve as input for a sensor model that simulates object detection or feature fusion of multiple sensors.
SensorData interface describes the objects in the reference frame of a vehicle for environmental perception. It is generated from a
GroundTruth message or from one or several
FeatureData messages and can either be used to directly connect to an automated driving function using ideal simulated data, or may serve as input for a sensor model simulating limited perception as a replication of real world sensor behaviour.
SensorViewConfiguration interface is the configuration setting for the
SensorView to be provided by the environment simulation. This message can be provided by the sensor model to the environment simulation, in which case it describes the input configuration that is desired by the sensor model. In response the environment simulation will configure the input and provide a new message of this type, which describes the actual configuration that it is going to employ. The two can and will differ, when either the environment simulation does not support a given requested configuration, and/or when the requested configuration allowed for multiple alternatives, in which case the set configuration will only contain the alternative chosen. It should be noted that this message is not intended to provide for parameterization of a generic sensor model, but rather for the automatic configuration of an environment simulation in order to supply the necessary input to it, depending on its actual configuration.
SensorView interface is derived from
GroundTruth and used as input to sensor models. The
SensorView information is supposed to provide input to sensor models for simulation of actual real sensors. All information regarding the environment is given with respect to the virtual sensor coordinate system, except for the individual physical technology-specific data, which is given with respect to the physical sensor coordinate system specified in the corresponding physical sensor’s mounting position, and the global ground truth, which is given in global coordinates.
TrafficCommand interface provides control commands from the scenario engine to traffic participant models.
TrafficUpdate interface is provided by traffic participant models to provide updates of their position, state and future trajectory back to the simulation environment.
- OSI Validator
- General description
- Contributors’ Guidelines
- Validator Reference
- osivalidator.linked_proto_field module
- osivalidator.osi_doxygen_xml module
- osivalidator.osi_general_validator module
- osivalidator.osi_id_manager module
- osivalidator.osi_rules module
- osivalidator.osi_rules_checker module
- osivalidator.osi_rules_implementations module
- osivalidator.osi_trace module
- osivalidator.osi_validator_logger module
- Module contents
- OSI Sensor Model Packaging
- OSI Sensor Model Packaging Specification
- Doxygen filter for Google Protocol Buffers .proto files
- Version history