Sensor_Driver
This module collects and distributes data from the WorldInterface and AgentInterface concerning the own vehicle, traffic rule and geometry information and surrounding object. It creates a data struct to store the world and agent data of the own vehicle, traffic rule and geometry information, other objects and surrounding vehicles.
Components of the module
The information collected by SensorDriver consists of generally four different data structs:
OwnVehicleStates includes all information about the vehicle of the driver (e.g. speed, acceleration, …)
TrafficRuleInformation includes information about the static environment (e.g. traffic signs, lane markings, …)
GeometryInformation includes information about surrounding lanes that describe its geometric features
SurroundingObjects includes information about objects surrounding the own agent as seen by the driver
OwnVehicleStates
The Information of the own vehicle are based on the following general struct OwnVehicleInformation :
Variable |
Type |
Unit |
Description |
Default value |
---|---|---|---|---|
absoluteVelocity |
Double |
m/s |
Velocity of agent |
-999 |
acceleration |
Double |
m/s² |
Acceleration of agent |
-999 |
lateralPosition |
Double |
m |
t-coordinate |
-999 |
heading |
Double |
rad |
Heading relative to lane |
-999 |
steeringWheelAngle |
Double |
rad |
Angle of the steering wheel |
-999 |
distanceToLaneBoundaryLeft |
Double |
m |
Distance between the left front point and the left boundary of the lane it is in |
-999 |
distanceToLaneBoundaryRight |
Double |
m |
Distance between the right front point and the right boundary of the lane it is in |
-999 |
collision |
Boolean |
Whether this agent has collided with another object |
false |
TrafficRuleInformation
The struct TrafficRuleInformation contains infrastructure information of surrounding lanes that are used to establish traffic rules.
The general structure is shown in the following table.
Variable |
Description |
---|---|
laneLeft |
Data about the lane to left (in driving direction) of the mainLane |
laneEgo |
Data about the lane the where the middle of the front of the agent is (i.e. mainLane) |
laneRight |
Data about the lane to right (in driving direction) of the mainLane |
laneMarkingsLeft |
List of lane markings on the left side of mainLane |
laneMarkingsRight |
List of lane markings on the right side of mainLane |
laneMarkingsLeftOfLeftLane |
List of lane markings on the left side of lane to the left |
laneMarkingsRightOfRightLane |
List of lane markings on the right side of lane to the right |
The basis for the respective variables is the following general struct LaneInformationTrafficRules, which is used to trasport data of a lane concerning traffic rules as seen by the driver.
Variable |
Description |
---|---|
trafficSigns |
Vector of all traffic signs valid for this lane inside the visibility distance |
trafficLights |
Vector of all traffic lights valid for this lane inside the visibility distance |
GeometryInformation
The struct GeometryInformation contains infrastructure information of surrounding lanes that describe its geometric features.
The general structure is shown in the following table.
Variable |
Description |
---|---|
visibilityDistance |
Current maximum visibility distance as specified by the world |
laneLeft |
Data about the lane to left (in driving direction) of the mainLane |
laneEgo |
Data about the lane the where the middle of the front of the agent is (i.e. mainLane) |
laneRight |
Data about the lane to right (in driving direction) of the mainLane |
The basis for the respective variables is the following general struct LaneInformationGeometry, which is used to transport data of a lane concerning its geometric features as seen by the driver.
Variable |
Type |
Unit |
Description |
Default value |
---|---|---|---|---|
exists |
Boolean |
Whether there is a lane on this position |
false |
|
curvature |
Double |
1/m |
Curvature at current s position (default if not existing) |
-999 |
width |
Double |
m |
Width at current s position (default if not existing) |
-999 |
distanceToEndOfLane |
Double |
m |
Distance from current position to the end of the lane or infinity if the end is farther away than the visibility distance |
-999 |
SurroundingObjects
This struct SurroundingObjects contains data of the objects surrounding the own agent as seen by the driver. For all cases mainLaneId is used as own lane.
Variable |
Description |
---|---|
objectFront |
Next object in the same lane |
objectRear |
Closest object behind the agent in the same lane |
objectFrontLeft |
Next object in the lane to the left |
objectRearLeft |
Closest object behind the agent in the lane to the left |
objectFrontRight |
Next object in the lane to the right |
objectRearRight |
Closest object behind the agent in the lane to the right |
The basis for the respective variables is the following general struct ObjectInformation, which is used to transport data of an object as seen by the driver:
Variable |
Type |
Unit |
Description |
Default value |
---|---|---|---|---|
id |
Integer |
Id of the object |
-1 (not existing) |
|
exist |
Boolean |
False if there is no object in this position |
false |
|
isStatic |
Boolean |
True if stationary object, false if agent |
false |
|
absoluteVelocity |
Double |
m/s |
Absolute velocity of the agent |
-999 (object is not an agent) |
acceleration |
Double |
m/s² |
Acceleration of the agent |
-999 (object is not an agent) |
heading |
Double |
rad |
Heading relative to the street |
-999 (not existing) |
length |
Double |
m |
Length of object |
-999 (not existing) |
width |
Double |
m |
Width of object |
-999 (not existing) |
height |
Double |
m |
Heigth of object |
-999 (not existing) |
relativeLongitudinalDistance |
Double |
m |
Relative distance along the road (i.e. in direction s) between own agent and object |
-999 (not existing) |
relativeLateralDistance |
Double |
m |
Relative distance at right angle to the road (i.e in direction t) between own agent and object |
-999 (not existing) |