3.2.1 Model types

The current specification supports packaging the following model types as Functional Mock-up Units (FMUs):

Environmental effect model

This model type can be used to model environmental effects or the physical parts of sensors. It consumes osi3::SensorView as input and produces osi3::SensorView as output.

Sensor models

This model type is used to model the perception function of sensors. It consumes osi3::SensorView as input and produces osi3::SensorData as output.

Logical models

This model type is used to model the further processing of sensor output, for example, sensor fusion. It consumes osi3::SensorData as input and produces osi3::SensorData as output.

Traffic participant models

This model type is used to model whole traffic participants, such as vehicles or pedestrians. Traffic participant models may internally use environmental effect models, sensor models, or logical models as part of a modeled autonomous vehicle. They may also be used to implement surrounding traffic in simplified ways. Traffic participant models consume osi3::SensorView as input and produce osi3::TrafficUpdate as output. They may also consume osi3::TrafficCommand as input to allow control by a scenario engine or other coordinating function. They may also produce osi3::TrafficCommandUpdate as output to allow status responses to such control messages.

Streaming update consumer models

This model type receives a streaming update input for further processing. Examples of this model type can be visualization, evaluation, or logging modules. Streaming update consumer models consume osi3::StreamingUpdate as input; if they produce any output, it is currently not specified as part of this standard.

All models may also consume a global osi3::GroundTruth parameter during initialization.

Complex models may combine various aspects of the above model types. Manual intervention is needed to configure and set up these FMUs.