Generating Semantic Trajectories Using a Car Signal Ontology

What this is about ?

In this demo, we use semantic technologies for enriching trajectory data in the automotive industry for offline analysis. We proposed to re-use a combination of existing ontologies and we designed a Vehicle Signal Specification ontology to provide an environment in which we developed an application that analyzes the variations of signal values and enables to infer the “driving smoothness” that we represent as additional annotations of semantic trajectories.

car graph

In blue, the SSN/SOSA concepts and pattern for sosa:Observation. In green the VSSo ontology designed from GENIVI's Vehicle Signal Specification (VSS) following the sosa:Observation pattern. In yellow the STEP (Semantic Trajectory EPisode ontology) for designing enriched trajectories.

Scenarii and applications

We present 2 types of annotations here: the analysis of signal variations based on simple rules, and a "smooth" label based on bounded longitudinal and lateral acceleration.

In order to vizualise them we have 5 trajectories: on the German highway (scenarii "highwayX" for x in {1,2,3}) and 2 in Munich (scenarii "cityX" for X in {1,2})

In the Light version of VSSo, we define the following signals: VehicleSpeed (in km/h), TravelledDistance (in km), EngineSpeed (in revolution/s), LongitudinalAcceleration (in m/s2), LateralAcceleration (in m/s2), SteeringWheelAngle (in degrees), AmbientAirTemperature (in degree Celcius) and CurrentGear

Analysis of signal variation over a trajectory: try it

Generic URL:[scenario]/variation/[Signal]/[offset]

It will create a vehicle graph and add attributes and observation of the given [Signal] on the chosen [scenario]. Then a label is generated for sub-trajectories (is increasing, is decreasing, is constant) depending if the signal value changed by more than [offset] between 2 observations. Each label is associated with a color, red for increasing value yellow if constant, green if decreasing. Segment labels are attached to the trajectory instance in the vehicle graph.

Driving smoothness labeling: try it

Generic URL:[scenario]/smoothdriving/[acceleration offset]/[angular acceleration offset]

You can visualize a "driving smoothness" label over a recorded trajectory. It is defined as a local binary value on each segment depending if longitudinal and angular acceleration are bounded by a given pair of offset, and by a global percentage over a trajectory (percentage of segments labeled True).

A googlemap is generated with 2 colors: smooth segments in light blue, the rest in dark red. Segment labels are attached to the trajectory instance in the vehicle graph, as well as the global smoothness percentage.

Other functions

Create car graph with its attributes: try it

Generic URL:

Will create RDF triples about sensors and signal using to the Vehicle Sales Ontology for the vehicles features, from the known signals mapped with VSSo in the Configuration file and enriched with the VSSo ontology.

Add observations of car signals: try it (steering angle and temperature)

Generic URL:[scenario]/addobservations/[Signal1,Signal2...]

Will add RDF triples about signal values on the existing graph using instances of SOSA:Observations. It will also create an instance of STEP:Trajectory and record fix points for filling the raw trajectory. It is necessary to have first a graph of car attributes before adding observations.

(optionnal) export csv

Generic URL:[Signal1,Signal2...]

Will do a SPARQL query on the trajectory graph to produce a reducedTrajectory.csv file with format (latiture, longitude, time, [values])

Useful links