DriveWorks SDK Reference
3.0.4260 Release
For Test and Development only

Object Data

Detailed Description

Defines the object data structures and APIs.

Data Structures

struct  dwObjectCamera
 Objects found in camera. More...
 
struct  dwObjectFreespace
 Freespace object. More...
 
struct  dwObjectFused
 Fused objects. More...
 
struct  dwObjectGeneric
 Information about a base object. More...
 
struct  dwObjectLaneAssignment
 Object lane assignment. More...
 
struct  dwObjectLaneAssignmentList
 Object lane assignment list. More...
 
struct  dwObjectLaneSpan
 Object lane span data structure. More...
 
struct  dwObjectLidar
 Objects found in lidar. More...
 
struct  dwObjectRadar
 Objects found in radar. More...
 
struct  dwObjectTrafficSignal
 Traffic signal object. More...
 

Macros

#define DW_OBJECT_CUBOID_2D_COUNT   8
 
#define DW_OBJECT_IN_PATH_ANALYZER_MAX_LANE_COUNT   32
 The max number of lanes that can be processed. More...
 
#define DW_OBJECT_MAX_BOUNDARY_POINT_COUNT   30
 The maximum size of an object shape. More...
 
#define DW_OBJECT_MAX_FUSED_PARENT_OBJECT_COUNT   6
 The maximum number of objects that can make up a fused object. More...
 
#define DW_OBJECT_MAX_SENSOR_COUNT   20
 
#define DW_OBJECT_MAX_SUBCLASS_COUNT_PER_CLASS   3
 
#define MAX_FREESPACE_BOUNDARY_POINT_COUNT   10 * MAX_OBJECT_BOUNDARY_POINT_COUNT
 

Enumerations

enum  dwCoordSystem {
  DW_COORD_SYSTEM_SENSOR = 0,
  DW_COORD_SYSTEM_RIG = 1,
  DW_COORD_SYSTEM_LOCAL = 2,
  DW_COORD_SYSTEM_WORLD = 3,
  DW_COORD_SYSTEM_CUSTOM = 4,
  DW_COORD_SYSTEM_COUNT
}
 Coordinate systems used by dwObjectGeneric. More...
 
enum  dwObjectState {
  DW_OBJECT_STATE_STATIONARY = 0,
  DW_OBJECT_STATE_MOVING = 1,
  DW_OBJECT_STATE_MOVING_ONCOMING = 2,
  DW_OBJECT_STATE_MOVING_CROSSTRAFFIC = 3,
  DW_OBJECT_STATE_UNKNOWN = 4,
  DW_OBJECT_STATE_COUNT
}
 Object kinematic state. More...
 

Functions

DW_API_PUBLIC dwStatus dwObjectCamera_reset (dwObjectCamera *object)
 Resets the fields of the given object to their initial state. More...
 
DW_API_PUBLIC dwStatus dwObjectFreespace_reset (dwObjectFreespace *object)
 Resets the fields of the given object to their initial state. More...
 
DW_API_PUBLIC dwStatus dwObjectFused_reset (dwObjectFused *object)
 Resets the fields of the given object to their initial state. More...
 
DW_API_PUBLIC dwStatus dwObjectGeneric_fromObstacle (dwObjectGeneric *out, const dwObstacle *in)
 Copy lane assignment to dwObjectGeneric from dwObstacle. More...
 
DW_API_PUBLIC dwStatus dwObjectGeneric_fromObstacleLaneAssignment (dwObjectGeneric *out, const dwObstacleLaneAssignment *in)
 Copy lane assignment to dwObjectGeneric from dwObstacleLaneAssignment. More...
 
DW_API_PUBLIC dwStatus dwObjectGeneric_reset (dwObjectGeneric *object)
 Resets the fields of the given object to their initial state. More...
 
DW_API_PUBLIC dwStatus dwObjectGeneric_toObstacle (dwObstacle *out, const dwObjectGeneric *in)
 Copy obstacle from dwObjectGeneric to dwObstacle. More...
 
DW_API_PUBLIC dwStatus dwObjectGeneric_toObstacleLaneAssignment (dwObstacleLaneAssignment *out, const dwObjectGeneric *in)
 Copy lane assignment from dwObjectGeneric to dwObstacleLaneAssignment. More...
 
DW_API_PUBLIC dwStatus dwObjectLidar_reset (dwObjectLidar *object)
 Resets the fields of the given object to their initial state. More...
 
DW_API_PUBLIC dwStatus dwObjectRadar_reset (dwObjectRadar *object)
 Resets the fields of the given object to their initial state. More...
 

Data Structure Documentation

◆ dwObjectCamera

struct dwObjectCamera
Data Fields
uint32_t age Age of the object track (camera frames)
dwVector2f anchor Anchor point for fence estimation.
float32_t azimuth_r azimuth angle from host car to object (flat ground plane assumption)
float32_t azimuthLeft_r azimuth angle from host car to object bottom left(flat ground plane assumption)
float32_t azimuthRight_r azimuth angle from host car to object bottom right(flat ground plane assumption)
dwRectf box2D Bounding box.
uint32_t clusterCount Number of elements in the cluster.
dwVector2f cuboid2D[DW_OBJECT_CUBOID_2D_COUNT] 3D cuboid bounding box projected onto 2D image. Coordinate system is image coordinate.
dwOrientedBoundingBox3f cuboid3D 3D cuboid. Coordinate system is virtual sensor coordinate.
float32_t curvature Signed inverse radius of fitted circle, 0 if angular velocity estimate is not available.
float32_t depth_m depth ~= distance*cos(azimuth)
float32_t distance_m Radial distance (in meter) from host car to object.
float32_t frontMarker25D Front marker 2.5D.
dwVector2f imageVelocity BBOX speed in pixel/sec.
uint32_t imageVelocityTempBaseline The temporal baseline of the imageVelocity.

Unit is the index number in the track history Specifically, it defines how many frames in the history are used to compute velocity

float32_t inverseTimeToCollision_s The inverse time to collision (s)
bool isGeometricFittingValid Flag to indicated whether the scale and translation are valid.
bool isInverseTTCValid is iTTC valid?
bool isObjectInFrame Object bounding boxes is fully visible, i.e., not touching image boundary.
bool isOccluded Final decision of object occlusion.
bool isOccludedDNN Final decision of object occlusion using DNN confidence.
bool isSmall Is a small Object?
bool isUrgencyValid Whether urgency value is valid.
bool isVelInTempBaselineValid Flag to indicate whether the computed velocity in the temoporal baseline is valid.
float32_t longitudinalVelocity
uint32_t objectSubClass The sub class of the object.
dwObstacle obstacle The original obstacle.
float32_t occlusionConfidence The occlusion confidence score.
float32_t occlusionConfidenceDNN The occlusion confidence by DNN.
float32_t orientation25D_r 2.5D Orientation in sensor space (rads)
float32_t pointFrontMarker25D indicates point on vertical front marker line for visualization of 2.5D orientation
float32_t pointRearMarker25D indicates point on vertical rear marker line for visualization of 2.5D orientation
float32_t rearMarker25D Rear marker 2.5D.
float32_t scaleFactor Scale factor change from the previous frame.
uint32_t sensorId Sensor ID.
float32_t subclassConfidence[DW_OBJECT_MAX_SUBCLASS_COUNT_PER_CLASS] The confidence of obtacle subclsses.
float32_t urgency Urgency (iTTC)
dwVector2f velocityDirection Direction of the linear velocity computed from estimated angular velocity.
dwVector2f velocityInTempBaseline Intermediate ground velocity (m/s). It is computed by using the frames in imageVelocityTempBaseline.
dwVector3f velocityRelative The velocity relative to the ego car in rig coordinate system (m/s)
dwVector2f visibility25D Visibility of the bounding box.

◆ dwObjectFreespace

struct dwObjectFreespace
Data Fields
dwObjectGeneric details The original object.
dwObstacle obstacle The original obstacle.

◆ dwObjectFused

struct dwObjectFused
Data Fields
float32_t angularVelocityZ
uint32_t associatedObjectIds[DW_OBJECT_MAX_SENSOR_COUNT] id of the object that was used to create this fusion object.

It can be used to access before fusion information from each sensor.

dwVector2f fittedCircleCenter
float32_t fittedCircleRadius
bool hasAngularVelocity
float32_t inverseTimeToCollision_s The inverse time to collision (s)
bool isAssociated[DW_OBJECT_MAX_SENSOR_COUNT] boolean flags that represents which sensor information was used to create this fusion object
bool isInverseTTCValid is iTTC valid?
dwObstacle obstacle The original obstacle.

◆ dwObjectGeneric

struct dwObjectGeneric
Data Fields
uint32_t boundaryPointCount The number of points in the boundary.
dwVector3f boundaryPoints[DW_OBJECT_MAX_BOUNDARY_POINT_COUNT] Points that define the perceived obstacle boundary.

This is a fence polyline that is as close to the ground as possible and is in a clockwise order. (m)

float32_t classConfidence A float value from 0.0 to 1.0 indicating how confident the objectClass is.
dwCoordSystem coordSystem
uint64_t id The id of the object.
float32_t inverseTimeToCollision_s The inverse time to collision (1/s)
bool isBoundaryValid
bool isInverseTTCValid is iTTC valid?
dwObjectLaneAssignmentList laneAssignments The lane assignments for this object.
dwObjectLaneSpan laneSpans[DW_LANEGRAPH_LANE_TYPE_COUNT] Lane spans associated with this object This lane span data structure would be based on the fence polyline and the lane structure.
uint32_t laneSpansCount Number of lane spans associated with this object.
dwObjectClass objectClass The detected class of object.
dwObjectState objectState
float32_t orientation_r Object orientation with respect to rig (rad)
dwVector3f position Position of the object in the given coordinate system (m).
dwTime_t timestamp_us The time of creation (us).
dwVector3f velocity The velocity of the object in the given coordinate system (m/s).
float32_t velocityConfidence A float value from 0.0 to 1.0 indicating how confident the velocity is.

◆ dwObjectLaneAssignment

struct dwObjectLaneAssignment
Data Fields
uint32_t laneId The lane id.
float32_t predictedRatio The amount of predicted object pixel overlap in lane.
float32_t ratio The amount of object pixel overlap in lane.
dwLaneGraphLaneType type The lane type.

◆ dwObjectLaneAssignmentList

struct dwObjectLaneAssignmentList
Data Fields
dwObjectLaneAssignment assignments[DW_OBJECT_IN_PATH_ANALYZER_MAX_LANE_COUNT] The list of the lane assignments.
uint32_t count The count of lane assignments.
uint32_t dominantLaneAssignment The index of dominant lane assignment.

◆ dwObjectLaneSpan

struct dwObjectLaneSpan
Data Fields
dwVector3f anchorPoint the anchor point (origin) which represents the start point of the distance calculation
float32_t frontDistance displacement integration along the lane polyline between lane span's front boundary to the anchor point
dwVector3f frontPoint front boundary point (on LaneGraph) of the object lane span along the travel direction
uint32_t globalLaneID ID of the lane which this object lane span occupies.
float32_t rearDistance displacement integration along the lane polyline between lane span's rear boundary to the anchor point
dwVector3f rearPoint rear boundary point (on LaneGraph) of the object lane span along the travel direction

◆ dwObjectLidar

struct dwObjectLidar
Data Fields
float32_t confidence Object estimate confidence.
dwObjectGeneric details The original object.
dwVector3f dimensions Dimensions of the object in the given coordinate system (h, w, l) with "details.position" as the center of the object.
dwObstacle obstacle The original obstacle.
float32_t pedConfidence
dwVector3f rotation Rotation of the object in the given coordinate system (r, p, y) (rad)
uint32_t sensorId Sensor ID that allows to retrieve coord.
float32_t vehicleConfidence

◆ dwObjectRadar

struct dwObjectRadar
Data Fields
uint32_t age Age of object track.
float32_t azimuth_r Azimuth angle in radians from host car to object.
float32_t confidence Object estimate confidence.
dwRadarDynamicState dynamicState Dynamic state of object(Stationary/Moving/Oncoming/CrossTraffic)
bool isElevationValid Elevation validity flag.
dwObstacle obstacle The original obstacle.
float32_t radialVelocity Velocity along the line of sight.
float32_t radius Distance along the line of sight.
uint32_t sensorId Sensor ID.

◆ dwObjectTrafficSignal

struct dwObjectTrafficSignal
Data Fields
dwBbox2Df box2D
dwBbox3Df box3D
uint32_t clusterCount Vote count of clustering method.
float32_t confidence
dwCoordSystem coordSystem Coord system.
uint64_t id Track ID.
dwTrafficLightClass processedLightType
dwSignClass processedSignType
dwTrafficLightClass rawLightType
dwSignClass rawSignType
dwTime_t timestamp_us Timestamp.
dwTrafficSignalType type
bool valid

Macro Definition Documentation

◆ DW_OBJECT_CUBOID_2D_COUNT

#define DW_OBJECT_CUBOID_2D_COUNT   8

Definition at line 229 of file Object.h.

◆ DW_OBJECT_IN_PATH_ANALYZER_MAX_LANE_COUNT

#define DW_OBJECT_IN_PATH_ANALYZER_MAX_LANE_COUNT   32

The max number of lanes that can be processed.

Definition at line 110 of file Object.h.

◆ DW_OBJECT_MAX_BOUNDARY_POINT_COUNT

#define DW_OBJECT_MAX_BOUNDARY_POINT_COUNT   30

The maximum size of an object shape.

Definition at line 73 of file Object.h.

◆ DW_OBJECT_MAX_FUSED_PARENT_OBJECT_COUNT

#define DW_OBJECT_MAX_FUSED_PARENT_OBJECT_COUNT   6

The maximum number of objects that can make up a fused object.

Definition at line 71 of file Object.h.

◆ DW_OBJECT_MAX_SENSOR_COUNT

#define DW_OBJECT_MAX_SENSOR_COUNT   20

Definition at line 376 of file Object.h.

◆ DW_OBJECT_MAX_SUBCLASS_COUNT_PER_CLASS

#define DW_OBJECT_MAX_SUBCLASS_COUNT_PER_CLASS   3

Definition at line 230 of file Object.h.

◆ MAX_FREESPACE_BOUNDARY_POINT_COUNT

#define MAX_FREESPACE_BOUNDARY_POINT_COUNT   10 * MAX_OBJECT_BOUNDARY_POINT_COUNT

Definition at line 403 of file Object.h.

Enumeration Type Documentation

◆ dwCoordSystem

Coordinate systems used by dwObjectGeneric.

Enumerator
DW_COORD_SYSTEM_SENSOR 
DW_COORD_SYSTEM_RIG 
DW_COORD_SYSTEM_LOCAL 
DW_COORD_SYSTEM_WORLD 
DW_COORD_SYSTEM_CUSTOM 
DW_COORD_SYSTEM_COUNT 

Definition at line 127 of file Object.h.

◆ dwObjectState

Object kinematic state.

Enumerator
DW_OBJECT_STATE_STATIONARY 
DW_OBJECT_STATE_MOVING 
DW_OBJECT_STATE_MOVING_ONCOMING 
DW_OBJECT_STATE_MOVING_CROSSTRAFFIC 
DW_OBJECT_STATE_UNKNOWN 
DW_OBJECT_STATE_COUNT 

Definition at line 170 of file Object.h.

Function Documentation

◆ dwObjectCamera_reset()

DW_API_PUBLIC dwStatus dwObjectCamera_reset ( dwObjectCamera object)

Resets the fields of the given object to their initial state.

Parameters
[in]objectPointer to the object to reset.
Returns
DW_SUCCESS
DW_BAD_CAST If handle is invalid.

◆ dwObjectFreespace_reset()

DW_API_PUBLIC dwStatus dwObjectFreespace_reset ( dwObjectFreespace object)

Resets the fields of the given object to their initial state.

Parameters
[in]objectPointer to the object to reset.
Returns
DW_SUCCESS
DW_BAD_CAST If handle is invalid.

◆ dwObjectFused_reset()

DW_API_PUBLIC dwStatus dwObjectFused_reset ( dwObjectFused object)

Resets the fields of the given object to their initial state.

Parameters
[in]objectPointer to the object to reset.
Returns
DW_SUCCESS
DW_BAD_CAST If handle is invalid.

◆ dwObjectGeneric_fromObstacle()

DW_API_PUBLIC dwStatus dwObjectGeneric_fromObstacle ( dwObjectGeneric out,
const dwObstacle in 
)

Copy lane assignment to dwObjectGeneric from dwObstacle.

Parameters
[out]outThe generic object.
[in]inThe obstacle.
Returns
DW_INVALID_ARGUMENT
DW_SUCCESS

◆ dwObjectGeneric_fromObstacleLaneAssignment()

DW_API_PUBLIC dwStatus dwObjectGeneric_fromObstacleLaneAssignment ( dwObjectGeneric out,
const dwObstacleLaneAssignment in 
)

Copy lane assignment to dwObjectGeneric from dwObstacleLaneAssignment.

Parameters
[out]outThe generic object.
[in]inThe obstacle lane assignement.
Returns
DW_INVALID_ARGUMENT
DW_SUCCESS

◆ dwObjectGeneric_reset()

DW_API_PUBLIC dwStatus dwObjectGeneric_reset ( dwObjectGeneric object)

Resets the fields of the given object to their initial state.

Parameters
[in]objectPointer to the object to reset.
Returns
DW_SUCCESS
DW_BAD_CAST If handle is invalid.

◆ dwObjectGeneric_toObstacle()

DW_API_PUBLIC dwStatus dwObjectGeneric_toObstacle ( dwObstacle out,
const dwObjectGeneric in 
)

Copy obstacle from dwObjectGeneric to dwObstacle.

Parameters
[out]outThe obstacle.
[in]inThe generic object.
Returns
DW_INVALID_ARGUMENT
DW_SUCCESS

◆ dwObjectGeneric_toObstacleLaneAssignment()

DW_API_PUBLIC dwStatus dwObjectGeneric_toObstacleLaneAssignment ( dwObstacleLaneAssignment out,
const dwObjectGeneric in 
)

Copy lane assignment from dwObjectGeneric to dwObstacleLaneAssignment.

Parameters
[out]outThe obstacle lane assignement.
[in]inThe generic object.
Returns
DW_INVALID_ARGUMENT
DW_SUCCESS

◆ dwObjectLidar_reset()

DW_API_PUBLIC dwStatus dwObjectLidar_reset ( dwObjectLidar object)

Resets the fields of the given object to their initial state.

Parameters
[in]objectPointer to the object to reset.
Returns
DW_SUCCESS
DW_BAD_CAST If handle is invalid.

◆ dwObjectRadar_reset()

DW_API_PUBLIC dwStatus dwObjectRadar_reset ( dwObjectRadar object)

Resets the fields of the given object to their initial state.

Parameters
[in]objectPointer to the object to reset.
Returns
DW_SUCCESS
DW_BAD_CAST If handle is invalid.