DriveWorks SDK Reference
3.5.78 Release
For Test and Development only

Obstacle Data

Detailed Description

Defines the obstacle data structures and APIs.

Data Structures

struct  dwObstacle
 
struct  dwObstacleArray
 
struct  dwObstacleLinkArray
 dwObstacleArray can be paired with link array information which provides access information across multiple dwObstacleArray shards. More...
 
struct  dwObstacleRDM
 
struct  dwObstacleSector
 
struct  dwObstacleSegment
 
struct  dwObstacleSilhouette
 
struct  dwObstacleSilhouetteArray
 

Macros

#define DW_OBSTACLE_ARRAY_MAX_COUNT   1000
 
#define DW_OBSTACLE_BOUNDARY_POINT_MAX_COUNT   30u
 
#define DW_OBSTACLE_CLASS_ANIMAL_BASE   DW_OBSTACLE_CLASS_IS_ANIMAL + DW_OBSTACLE_CLASS_IS_ANIMATE
 
#define DW_OBSTACLE_CLASS_BIKE_BASE   DW_OBSTACLE_CLASS_IS_BIKE + DW_OBSTACLE_CLASS_IS_ANIMATE
 
#define DW_OBSTACLE_CLASS_IS_ANIMAL   (1 << 13)
 animal mask More...
 
#define DW_OBSTACLE_CLASS_IS_ANIMATE   (1 << 8)
 Canonical classification bits for fast filtering These bits represent the super-class, while all bits represent sub-class. More...
 
#define DW_OBSTACLE_CLASS_IS_BIKE   (1 << 11)
 wheeled VRU mask More...
 
#define DW_OBSTACLE_CLASS_IS_OBJECT   (1 << 14)
 inanimate object (e.g cone) mask More...
 
#define DW_OBSTACLE_CLASS_IS_PEDESTRIAN   (1 << 12)
 pedestrian mask More...
 
#define DW_OBSTACLE_CLASS_IS_UNDEFINED   (1 << 15)
 undefined object More...
 
#define DW_OBSTACLE_CLASS_IS_VEHICLE   (1 << 10)
 vehicle mask More...
 
#define DW_OBSTACLE_CLASS_IS_VIRTUAL   (1 << 9)
 non physical obstacles mask More...
 
#define DW_OBSTACLE_CLASS_OBJECT_BASE   DW_OBSTACLE_CLASS_IS_OBJECT
 
#define DW_OBSTACLE_CLASS_PEDESTRIAN_BASE   DW_OBSTACLE_CLASS_IS_PEDESTRIAN + DW_OBSTACLE_CLASS_IS_ANIMATE
 
#define DW_OBSTACLE_CLASS_UNDEFINED_ANIMATE_BASE   DW_OBSTACLE_CLASS_IS_UNDEFINED + DW_OBSTACLE_CLASS_IS_ANIMATE
 
#define DW_OBSTACLE_CLASS_UNDEFINED_STATIC_BASE   DW_OBSTACLE_CLASS_IS_UNDEFINED
 
#define DW_OBSTACLE_CLASS_VEHICLE_BASE   DW_OBSTACLE_CLASS_IS_VEHICLE + DW_OBSTACLE_CLASS_IS_ANIMATE
 Base offsets for object classes. More...
 
#define DW_OBSTACLE_MAX_LINKS   16
 
#define DW_OBSTACLE_MAX_SENSOR_COUNT   64
 
#define DW_OBSTACLE_RDF_MAX_SECTORS   4000
 
#define DW_OBSTACLE_SECTOR_MAX_SEGMENTS   10
 
#define DW_OBSTACLE_SILHOUETTE_MAX_POINTS   128
 
#define DW_OBSTACLE_SILHOUETTE_MAX_VERTICES
 
#define DW_OBSTACLE_STATE_MOVING   (1 << 9)
 
#define DW_OBSTACLE_STATE_NOTMOVING   (1 << 8)
 Bitmasks modifiers of obstacle state. More...
 

Enumerations

enum  dwObjectClass {
  DW_OBJECT_CLASS_CAR = 0,
  DW_OBJECT_CLASS_TRAFFIC_SIGN = 1,
  DW_OBJECT_CLASS_BICYCLE = 2,
  DW_OBJECT_CLASS_PEDESTRIAN = 3,
  DW_OBJECT_CLASS_TRAFFIC_LIGHT = 4,
  DW_OBJECT_CLASS_CURB = 5,
  DW_OBJECT_CLASS_OTHER = 6,
  DW_OBJECT_CLASS_UNKNOWN = 7,
  DW_OBJECT_CLASS_NUM_CLASSES
}
 Object classes known to DriveWorks. More...
 
enum  dwObstacleClass {
  DW_OBSTACLE_CLASS_INVALID = 0,
  DW_OBSTACLE_CLASS_VEHICLE_UNKNOWN = DW_OBSTACLE_CLASS_VEHICLE_BASE + 0,
  DW_OBSTACLE_CLASS_VEHICLE_CAR = DW_OBSTACLE_CLASS_VEHICLE_BASE + 1,
  DW_OBSTACLE_CLASS_VEHICLE_TRUCK = DW_OBSTACLE_CLASS_VEHICLE_BASE + 2,
  DW_OBSTACLE_CLASS_VEHICLE_BUS = DW_OBSTACLE_CLASS_VEHICLE_BASE + 3,
  DW_OBSTACLE_CLASS_VEHICLE_EMERGENCY = DW_OBSTACLE_CLASS_VEHICLE_BASE + 4,
  DW_OBSTACLE_CLASS_VEHICLE_CONSTRUCTION = DW_OBSTACLE_CLASS_VEHICLE_BASE + 5,
  DW_OBSTACLE_CLASS_VEHICLE_POLICE = DW_OBSTACLE_CLASS_VEHICLE_BASE + 6,
  DW_OBSTACLE_CLASS_VEHICLE_SCHOOL_BUS = DW_OBSTACLE_CLASS_VEHICLE_BASE + 7,
  DW_OBSTACLE_CLASS_BIKE_UNKNOWN = DW_OBSTACLE_CLASS_BIKE_BASE + 0,
  DW_OBSTACLE_CLASS_BIKE = DW_OBSTACLE_CLASS_BIKE_BASE + 1,
  DW_OBSTACLE_CLASS_BIKE_MOTOR = DW_OBSTACLE_CLASS_BIKE_BASE + 2,
  DW_OBSTACLE_CLASS_PEDESTRIAN_UNKNOWN = DW_OBSTACLE_CLASS_PEDESTRIAN_BASE + 0,
  DW_OBSTACLE_CLASS_PEDESTRIAN_ADULT = DW_OBSTACLE_CLASS_PEDESTRIAN_BASE + 1,
  DW_OBSTACLE_CLASS_PEDESTRIAN_CHILD = DW_OBSTACLE_CLASS_PEDESTRIAN_BASE + 2,
  DW_OBSTACLE_CLASS_PEDESTRIAN_CONSTRUCTION_WORKER = DW_OBSTACLE_CLASS_PEDESTRIAN_BASE + 3,
  DW_OBSTACLE_CLASS_PEDESTRIAN_OFFICIAL = DW_OBSTACLE_CLASS_PEDESTRIAN_BASE + 4,
  DW_OBSTACLE_CLASS_ANIMAL_UNKNOWN = DW_OBSTACLE_CLASS_ANIMAL_BASE + 0,
  DW_OBSTACLE_CLASS_ANIMAL_SMALL = DW_OBSTACLE_CLASS_ANIMAL_BASE + 1,
  DW_OBSTACLE_CLASS_ANIMAL_MEDIUM = DW_OBSTACLE_CLASS_ANIMAL_BASE + 2,
  DW_OBSTACLE_CLASS_ANIMAL_LARGE = DW_OBSTACLE_CLASS_ANIMAL_BASE + 3,
  DW_OBSTACLE_CLASS_OBJECT_UNKNOWN = DW_OBSTACLE_CLASS_OBJECT_BASE + 0,
  DW_OBSTACLE_CLASS_OBJECT_HAZARD = DW_OBSTACLE_CLASS_OBJECT_BASE + 1,
  DW_OBSTACLE_CLASS_OBJECT_OFFICIAL = DW_OBSTACLE_CLASS_OBJECT_BASE + 2,
  DW_OBSTACLE_CLASS_OBJECT_CONE = DW_OBSTACLE_CLASS_OBJECT_BASE + 3,
  DW_OBSTACLE_CLASS_OBJECT_CURB = DW_OBSTACLE_CLASS_OBJECT_BASE + 4,
  DW_OBSTACLE_CLASS_OBJECT_BARRIER = DW_OBSTACLE_CLASS_OBJECT_BASE + 5,
  DW_OBSTACLE_CLASS_OBJECT_PHYSICAL_LANE_LINE = DW_OBSTACLE_CLASS_OBJECT_BASE + 6,
  DW_OBSTACLE_CLASS_OBJECT_HARD_OVERHANG = DW_OBSTACLE_CLASS_OBJECT_BASE + 7,
  DW_OBSTACLE_CLASS_OBJECT_SOFT_OVERHANG = DW_OBSTACLE_CLASS_OBJECT_BASE + 8,
  DW_OBSTACLE_CLASS_OBJECT_SPEED_BUMP = DW_OBSTACLE_CLASS_OBJECT_BASE + 9,
  DW_OBSTACLE_CLASS_OBJECT_POT_HOLE = DW_OBSTACLE_CLASS_OBJECT_BASE + 10,
  DW_OBSTACLE_CLASS_OBJECT_NEGATIVE = DW_OBSTACLE_CLASS_OBJECT_BASE + 11,
  DW_OBSTACLE_CLASS_OBJECT_FORBIDDEN = DW_OBSTACLE_CLASS_OBJECT_BASE + 12,
  DW_OBSTACLE_CLASS_UNDEFINED_STATIC = DW_OBSTACLE_CLASS_UNDEFINED_STATIC_BASE + 0,
  DW_OBSTACLE_CLASS_UNDEFINED_ANIMATE = DW_OBSTACLE_CLASS_UNDEFINED_ANIMATE_BASE + 0,
  DW_OBSTACLE_CLASS_FORBIDDEN_LANE_LINE = DW_OBSTACLE_CLASS_IS_VIRTUAL + 1,
  DW_OBSTACLE_CLASS_CROSSABLE_LANE_LINE = DW_OBSTACLE_CLASS_IS_VIRTUAL + 2,
  DW_OBSTACLE_CLASS_GORE_AREA = DW_OBSTACLE_CLASS_IS_VIRTUAL + 3,
  DW_OBSTACLE_CLASS_OCCLUSION = DW_OBSTACLE_CLASS_IS_VIRTUAL + 4
}
 Obstacle class enumeration. More...
 
enum  dwObstacleProperties {
  DW_OBSTACLE_PROPERTIES_IS_NONE = 0,
  DW_OBSTACLE_PROPERTIES_IS_LOW_CONFIDENCE = (1 << 8),
  DW_OBSTACLE_PROPERTIES_IS_ON_SENSOR_BOUNDARY = (1 << 9),
  DW_OBSTACLE_PROPERTIES_IS_PARTIALLY_OBSERVED = (1 << 10),
  DW_OBSTACLE_PROPERTIES_IS_AT_RANGE_LIMIT = (1 << 11)
}
 
enum  dwObstacleRegionClass {
  DW_OBSTACLE_REGION_INVALID = 0,
  DW_OBSTACLE_REGION_DRIVABLE = (1 << 8),
  DW_OBSTACLE_REGION_STATIC = (1 << 9),
  DW_OBSTACLE_REGION_ANIMATE = (1 << 10),
  DW_OBSTACLE_REGION_NOT_DRIVABLE = (1 << 11),
  DW_OBSTACLE_REGION_NOT_ANIMATE = (1 << 12),
  DW_OBSTACLE_REGION_NOT_STATIC = (1 << 13),
  DW_OBSTACLE_REGION_UNKNOWN = (1 << 14)
}
 
enum  dwObstacleState {
  DW_OBSTACLE_STATE_INVALID = 0,
  DW_OBSTACLE_STATE_INACTIVE = DW_OBSTACLE_STATE_NOTMOVING + 0,
  DW_OBSTACLE_STATE_PARKED = DW_OBSTACLE_STATE_NOTMOVING + 1,
  DW_OBSTACLE_STATE_STOPPED = DW_OBSTACLE_STATE_NOTMOVING + 2,
  DW_OBSTACLE_STATE_FORWARD = DW_OBSTACLE_STATE_MOVING + 0,
  DW_OBSTACLE_STATE_REVERSE = DW_OBSTACLE_STATE_MOVING + 1,
  DW_OBSTACLE_STATE_TURNING_RIGHT = DW_OBSTACLE_STATE_MOVING + 2,
  DW_OBSTACLE_STATE_TURNING_LEFT = DW_OBSTACLE_STATE_MOVING + 3,
  DW_OBSTACLE_STATE_CHANGING_RIGHT = DW_OBSTACLE_STATE_MOVING + 4,
  DW_OBSTACLE_STATE_CHANGING_LEFT = DW_OBSTACLE_STATE_MOVING + 5,
  DW_OBSTACLE_STATE_UTURNING = DW_OBSTACLE_STATE_MOVING + 6
}
 
enum  dwObstacleStateFlags {
  DW_OBSTACLE_STATE_FLAG_INVALID = 0,
  DW_OBSTACLE_STATE_FLAG_TURN_RIGHT = (1 << 1),
  DW_OBSTACLE_STATE_FLAG_TURN_LEFT = (1 << 2),
  DW_OBSTACLE_STATE_FLAG_BRAKING = (1 << 3),
  DW_OBSTACLE_STATE_FLAG_REVERSE = (1 << 4),
  DW_OBSTACLE_STATE_FLAG_HAZARD_FLASHING = (1 << 5),
  DW_OBSTACLE_STATE_FLAG_RED_LIGHT_FLASHING = (1 << 6),
  DW_OBSTACLE_STATE_FLAG_BLUE_LIGHT_FLASHING = (1 << 7),
  DW_OBSTACLE_STATE_FLAG_IS_ATTENTIVE = (1 << 8),
  DW_OBSTACLE_STATE_FLAG_SIGNALING = (1 << 9)
}
 

Functions

DW_API_PUBLIC dwStatus dwObstacle_reset (dwObstacle *obstacle)
 Resets the fields of dwObstacle. More...
 

Data Structure Documentation

◆ dwObstacle

struct dwObstacle
Data Fields
dwVector3f acceleration_mps2 Acceleration of ref point in m/s^2.
dwConfidence3f accelerationConfidence
uint32_t boundaryPointCount The number of boundary points.
dwVector3f boundaryPoints[DW_OBSTACLE_BOUNDARY_POINT_MAX_COUNT] Shape information. Non-closed polyline encoded by 3D vertices.
float32_t classConfidence Classification confidence.
float32_t clearance_m Minimum clearance.
dwConfidence1f clearanceConfidence (used for overhangs, zero otherwise)
float32_t confidence Confidence that obstacle exists.
dwVector3f direction Forward direction.
dwConfidence3f directionConfidence
float32_t height_m Maximum height of obstacle.
dwConfidence1f heightConfidence
uint64_t id Object ID for tracking purposes.
dwObjectClass objectClass Class information.

Object class

dwObstacleClass obstacleClass Obstacle class.
dwVector3f position A reference point on the obstacle.
dwConfidence3f positionConfidence
uint32_t prop Properties.
dwVector3f rotationAxis Unit rotation axis at reference.
dwConfidence3f rotationAxisConfidence
float32_t rotationVel_rps Rotational velocity in radians/sec.
dwConfidence1f rotationVelConfidence
uint64_t sensorIdMask Bitmask indicating which sensors agreed with this obstacle detection.
dwObstacleState state Obstacle State (stopped/in motion)
dwObstacleStateFlags stateFlags Hints (turn signals, brake lights)
float32_t subclassConfidence Subclassification confidence.
dwTime_t timestamp_us Timestamp for this obstacle in host clock.
float32_t traversalSpeed_mps Maximum velocity that it is physically advised to move over this obstacle (used for speed bumps, gratings, low curbs or rough surfaces, zero otherwise.
dwConfidence1f traversalSpeedConfidence
dwVector3f velocity_mps Velocity of reference point in m/s.
dwConfidence3f velocityConfidence

◆ dwObstacleArray

struct dwObstacleArray
Data Fields
uint32_t count
dwObstacle obstacles[DW_OBSTACLE_ARRAY_MAX_COUNT]

◆ dwObstacleLink

struct dwObstacleLink
Data Fields
uint32_t arrayIndex[DW_OBSTACLE_MAX_LINKS] index to obstacle array shard
float32_t confidence[DW_OBSTACLE_MAX_LINKS]
uint32_t count

of valid linkages of obstacle

uint64_t obstacleId[DW_OBSTACLE_MAX_LINKS] corresponding obstacle’s id
uint32_t obstacleIndex[DW_OBSTACLE_MAX_LINKS] index within dwObstacleArray

◆ dwObstacleLinkArray

struct dwObstacleLinkArray
Data Fields
uint32_t count
dwObstacleLink links[DW_OBSTACLE_ARRAY_MAX_COUNT]

◆ dwObstacleRDM

struct dwObstacleRDM
Data Fields
float32_t angleMax_r angle where last sector ends.
float32_t angleMin_r angle where first sector starts.
uint32_t sectorCount Actual number of sectors.
dwObstacleSector sectors[DW_OBSTACLE_RDF_MAX_SECTORS] Sectors.
dwTime_t timestamp_us Timestamp.

◆ dwObstacleSector

struct dwObstacleSector
Data Fields
uint32_t segmentCount Actual number of segments.
dwObstacleSegment segments[DW_OBSTACLE_SECTOR_MAX_SEGMENTS] Segments.

◆ dwObstacleSegment

struct dwObstacleSegment
Data Fields
float32_t classConfidence Region class confidence.
float32_t distance_m Distance in meters from the origin to segment end.
int32_t endIndex dwObstacleArray index of dwObstacle that ends the segment. Negative if none.
uint64_t endObstacleId corresponding dwObstacle’s id
dwObstacleRegionClass regionClass Class of this region.
uint64_t sourceIdMask Bitmask indicating which sources agree.

◆ dwObstacleSilhouette

struct dwObstacleSilhouette
Data Fields
uint32_t indices[DW_OBSTACLE_SILHOUETTE_MAX_POINTS] Indices in the vertex pool.
uint32_t nVertices Number of vertices in this silhouette.
uint64_t obstacleId Obstacle ID.

◆ dwObstacleSilhouetteArray

struct dwObstacleSilhouetteArray
Data Fields
uint32_t nObstacles
uint32_t nVertices
dwObstacleSilhouette silhouettes[DW_OBSTACLE_ARRAY_MAX_COUNT]
dwVector3f vertices[DW_OBSTACLE_SILHOUETTE_MAX_VERTICES]

Macro Definition Documentation

◆ DW_OBSTACLE_ARRAY_MAX_COUNT

#define DW_OBSTACLE_ARRAY_MAX_COUNT   1000

Definition at line 289 of file Obstacle.h.

◆ DW_OBSTACLE_BOUNDARY_POINT_MAX_COUNT

#define DW_OBSTACLE_BOUNDARY_POINT_MAX_COUNT   30u

Definition at line 65 of file Obstacle.h.

◆ DW_OBSTACLE_CLASS_ANIMAL_BASE

#define DW_OBSTACLE_CLASS_ANIMAL_BASE   DW_OBSTACLE_CLASS_IS_ANIMAL + DW_OBSTACLE_CLASS_IS_ANIMATE

Definition at line 141 of file Obstacle.h.

◆ DW_OBSTACLE_CLASS_BIKE_BASE

#define DW_OBSTACLE_CLASS_BIKE_BASE   DW_OBSTACLE_CLASS_IS_BIKE + DW_OBSTACLE_CLASS_IS_ANIMATE

Definition at line 137 of file Obstacle.h.

◆ DW_OBSTACLE_CLASS_IS_ANIMAL

#define DW_OBSTACLE_CLASS_IS_ANIMAL   (1 << 13)

animal mask

Definition at line 130 of file Obstacle.h.

◆ DW_OBSTACLE_CLASS_IS_ANIMATE

#define DW_OBSTACLE_CLASS_IS_ANIMATE   (1 << 8)

Canonical classification bits for fast filtering These bits represent the super-class, while all bits represent sub-class.

obstacle that can move mask

Definition at line 125 of file Obstacle.h.

◆ DW_OBSTACLE_CLASS_IS_BIKE

#define DW_OBSTACLE_CLASS_IS_BIKE   (1 << 11)

wheeled VRU mask

Definition at line 128 of file Obstacle.h.

◆ DW_OBSTACLE_CLASS_IS_OBJECT

#define DW_OBSTACLE_CLASS_IS_OBJECT   (1 << 14)

inanimate object (e.g cone) mask

Definition at line 131 of file Obstacle.h.

◆ DW_OBSTACLE_CLASS_IS_PEDESTRIAN

#define DW_OBSTACLE_CLASS_IS_PEDESTRIAN   (1 << 12)

pedestrian mask

Definition at line 129 of file Obstacle.h.

◆ DW_OBSTACLE_CLASS_IS_UNDEFINED

#define DW_OBSTACLE_CLASS_IS_UNDEFINED   (1 << 15)

undefined object

Definition at line 132 of file Obstacle.h.

◆ DW_OBSTACLE_CLASS_IS_VEHICLE

#define DW_OBSTACLE_CLASS_IS_VEHICLE   (1 << 10)

vehicle mask

Definition at line 127 of file Obstacle.h.

◆ DW_OBSTACLE_CLASS_IS_VIRTUAL

#define DW_OBSTACLE_CLASS_IS_VIRTUAL   (1 << 9)

non physical obstacles mask

Definition at line 126 of file Obstacle.h.

◆ DW_OBSTACLE_CLASS_OBJECT_BASE

#define DW_OBSTACLE_CLASS_OBJECT_BASE   DW_OBSTACLE_CLASS_IS_OBJECT

Definition at line 143 of file Obstacle.h.

◆ DW_OBSTACLE_CLASS_PEDESTRIAN_BASE

#define DW_OBSTACLE_CLASS_PEDESTRIAN_BASE   DW_OBSTACLE_CLASS_IS_PEDESTRIAN + DW_OBSTACLE_CLASS_IS_ANIMATE

Definition at line 139 of file Obstacle.h.

◆ DW_OBSTACLE_CLASS_UNDEFINED_ANIMATE_BASE

#define DW_OBSTACLE_CLASS_UNDEFINED_ANIMATE_BASE   DW_OBSTACLE_CLASS_IS_UNDEFINED + DW_OBSTACLE_CLASS_IS_ANIMATE

Definition at line 145 of file Obstacle.h.

◆ DW_OBSTACLE_CLASS_UNDEFINED_STATIC_BASE

#define DW_OBSTACLE_CLASS_UNDEFINED_STATIC_BASE   DW_OBSTACLE_CLASS_IS_UNDEFINED

Definition at line 144 of file Obstacle.h.

◆ DW_OBSTACLE_CLASS_VEHICLE_BASE

#define DW_OBSTACLE_CLASS_VEHICLE_BASE   DW_OBSTACLE_CLASS_IS_VEHICLE + DW_OBSTACLE_CLASS_IS_ANIMATE

Base offsets for object classes.

Definition at line 135 of file Obstacle.h.

◆ DW_OBSTACLE_MAX_LINKS

#define DW_OBSTACLE_MAX_LINKS   16

Definition at line 297 of file Obstacle.h.

◆ DW_OBSTACLE_MAX_SENSOR_COUNT

#define DW_OBSTACLE_MAX_SENSOR_COUNT   64

Definition at line 243 of file Obstacle.h.

◆ DW_OBSTACLE_RDF_MAX_SECTORS

#define DW_OBSTACLE_RDF_MAX_SECTORS   4000

Definition at line 374 of file Obstacle.h.

◆ DW_OBSTACLE_SECTOR_MAX_SEGMENTS

#define DW_OBSTACLE_SECTOR_MAX_SEGMENTS   10

Definition at line 373 of file Obstacle.h.

◆ DW_OBSTACLE_SILHOUETTE_MAX_POINTS

#define DW_OBSTACLE_SILHOUETTE_MAX_POINTS   128

Definition at line 320 of file Obstacle.h.

◆ DW_OBSTACLE_SILHOUETTE_MAX_VERTICES

#define DW_OBSTACLE_SILHOUETTE_MAX_VERTICES
Value:
DW_OBSTACLE_ARRAY_MAX_COUNT
#define DW_OBSTACLE_SILHOUETTE_MAX_POINTS
Definition: Obstacle.h:320

Definition at line 329 of file Obstacle.h.

◆ DW_OBSTACLE_STATE_MOVING

#define DW_OBSTACLE_STATE_MOVING   (1 << 9)

Definition at line 79 of file Obstacle.h.

◆ DW_OBSTACLE_STATE_NOTMOVING

#define DW_OBSTACLE_STATE_NOTMOVING   (1 << 8)

Bitmasks modifiers of obstacle state.

Definition at line 78 of file Obstacle.h.

Enumeration Type Documentation

◆ dwObjectClass

Object classes known to DriveWorks.

Enumerator
DW_OBJECT_CLASS_CAR 

any light weight vehicle

DW_OBJECT_CLASS_TRAFFIC_SIGN 

traffic and road signs

DW_OBJECT_CLASS_BICYCLE 

two wheeled vehicles

DW_OBJECT_CLASS_PEDESTRIAN 

pedestrians

DW_OBJECT_CLASS_TRAFFIC_LIGHT 

traffic light

DW_OBJECT_CLASS_CURB 

road curb as object

DW_OBJECT_CLASS_OTHER 

other unspecified object

DW_OBJECT_CLASS_UNKNOWN 

unknown object

DW_OBJECT_CLASS_NUM_CLASSES 

Definition at line 110 of file Obstacle.h.

◆ dwObstacleClass

Obstacle class enumeration.

Enumerator
DW_OBSTACLE_CLASS_INVALID 

invalid class

DW_OBSTACLE_CLASS_VEHICLE_UNKNOWN 

Vehicles.

DW_OBSTACLE_CLASS_VEHICLE_CAR 
DW_OBSTACLE_CLASS_VEHICLE_TRUCK 
DW_OBSTACLE_CLASS_VEHICLE_BUS 
DW_OBSTACLE_CLASS_VEHICLE_EMERGENCY 
DW_OBSTACLE_CLASS_VEHICLE_CONSTRUCTION 
DW_OBSTACLE_CLASS_VEHICLE_POLICE 
DW_OBSTACLE_CLASS_VEHICLE_SCHOOL_BUS 
DW_OBSTACLE_CLASS_BIKE_UNKNOWN 

Two wheeled vehicles.

DW_OBSTACLE_CLASS_BIKE 
DW_OBSTACLE_CLASS_BIKE_MOTOR 
DW_OBSTACLE_CLASS_PEDESTRIAN_UNKNOWN 

Pedestrians.

DW_OBSTACLE_CLASS_PEDESTRIAN_ADULT 
DW_OBSTACLE_CLASS_PEDESTRIAN_CHILD 
DW_OBSTACLE_CLASS_PEDESTRIAN_CONSTRUCTION_WORKER 
DW_OBSTACLE_CLASS_PEDESTRIAN_OFFICIAL 
DW_OBSTACLE_CLASS_ANIMAL_UNKNOWN 

Animals.

DW_OBSTACLE_CLASS_ANIMAL_SMALL 

small animal (bird,squirrel,cat)

DW_OBSTACLE_CLASS_ANIMAL_MEDIUM 

medium animal (like a large dog)

DW_OBSTACLE_CLASS_ANIMAL_LARGE 

large animal (horse,cow,deer,moose)

DW_OBSTACLE_CLASS_OBJECT_UNKNOWN 

Objects (in-animate).

Official objects are obstacles on the road put there by a road authority, either temporarily or permanently

DW_OBSTACLE_CLASS_OBJECT_HAZARD 
DW_OBSTACLE_CLASS_OBJECT_OFFICIAL 
DW_OBSTACLE_CLASS_OBJECT_CONE 
DW_OBSTACLE_CLASS_OBJECT_CURB 

Physical barriers:

  • below bumper obstacle
DW_OBSTACLE_CLASS_OBJECT_BARRIER 
  • taller obstacle
DW_OBSTACLE_CLASS_OBJECT_PHYSICAL_LANE_LINE 
  • low barrier splitting lanes
DW_OBSTACLE_CLASS_OBJECT_HARD_OVERHANG 

Special obstacles:

  • Overpass, parking garage ceiling
DW_OBSTACLE_CLASS_OBJECT_SOFT_OVERHANG 
  • Tree branches, rope
DW_OBSTACLE_CLASS_OBJECT_SPEED_BUMP 
  • Obstacle drivable at some speed
DW_OBSTACLE_CLASS_OBJECT_POT_HOLE 
  • Cavity region
DW_OBSTACLE_CLASS_OBJECT_NEGATIVE 
  • Other negative obstacle (drop off)
DW_OBSTACLE_CLASS_OBJECT_FORBIDDEN 
  • non-physical treated as obstacle
DW_OBSTACLE_CLASS_UNDEFINED_STATIC 

Other.

DW_OBSTACLE_CLASS_UNDEFINED_ANIMATE 
DW_OBSTACLE_CLASS_FORBIDDEN_LANE_LINE 

Virtual obstacles.

  • Paint lanes, gore areas, boundaries
DW_OBSTACLE_CLASS_CROSSABLE_LANE_LINE 
DW_OBSTACLE_CLASS_GORE_AREA 
DW_OBSTACLE_CLASS_OCCLUSION 

Definition at line 149 of file Obstacle.h.

◆ dwObstacleProperties

Enumerator
DW_OBSTACLE_PROPERTIES_IS_NONE 

If this bit is set, obstacle is low confidence, recommended to filter, provided for fusion purposes.

DW_OBSTACLE_PROPERTIES_IS_LOW_CONFIDENCE 
DW_OBSTACLE_PROPERTIES_IS_ON_SENSOR_BOUNDARY 
DW_OBSTACLE_PROPERTIES_IS_PARTIALLY_OBSERVED 
DW_OBSTACLE_PROPERTIES_IS_AT_RANGE_LIMIT 

Definition at line 67 of file Obstacle.h.

◆ dwObstacleRegionClass

Enumerator
DW_OBSTACLE_REGION_INVALID 

Invalid region class.

DW_OBSTACLE_REGION_DRIVABLE 

Three basic actual underlying states.

Surface that can be driven on

DW_OBSTACLE_REGION_STATIC 

Region with static obstacles.

DW_OBSTACLE_REGION_ANIMATE 

Covered by an actor that could move.

DW_OBSTACLE_REGION_NOT_DRIVABLE 

States of incomplete knowledge about those underlying states Could be static/animate, don’t know which.

DW_OBSTACLE_REGION_NOT_ANIMATE 

Could be drivable/static, don’t know which.

DW_OBSTACLE_REGION_NOT_STATIC 

Could be drivable/animate, don’t know which.

DW_OBSTACLE_REGION_UNKNOWN 

Region for which we have no knowledge.

Definition at line 341 of file Obstacle.h.

◆ dwObstacleState

Enumerator
DW_OBSTACLE_STATE_INVALID 
DW_OBSTACLE_STATE_INACTIVE 
  • Not parked, but stopped indefinite (sitting)
DW_OBSTACLE_STATE_PARKED 
  • Parked
DW_OBSTACLE_STATE_STOPPED 
  • Standing, Obstacle is temporarily stopped
DW_OBSTACLE_STATE_FORWARD 
  • Obstacle is moving forward (driving, walking)
DW_OBSTACLE_STATE_REVERSE 
  • Obstacle is moving backwards (driving, walking)
DW_OBSTACLE_STATE_TURNING_RIGHT 
  • Turning right (from its perspective)
DW_OBSTACLE_STATE_TURNING_LEFT 
  • Turning left (from its perspective)
DW_OBSTACLE_STATE_CHANGING_RIGHT 
  • Changing lane or cutting right
DW_OBSTACLE_STATE_CHANGING_LEFT 
  • Changing lane or cutting left
DW_OBSTACLE_STATE_UTURNING 
  • U-turning

Definition at line 81 of file Obstacle.h.

◆ dwObstacleStateFlags

Enumerator
DW_OBSTACLE_STATE_FLAG_INVALID 
DW_OBSTACLE_STATE_FLAG_TURN_RIGHT 

Additional states flags for moving objects expressing intention of maneuver.

Blinking/hand-signal right

DW_OBSTACLE_STATE_FLAG_TURN_LEFT 

Blinking/hand-signal left.

DW_OBSTACLE_STATE_FLAG_BRAKING 

Brake lights on.

DW_OBSTACLE_STATE_FLAG_REVERSE 

Reverse lights on.

DW_OBSTACLE_STATE_FLAG_HAZARD_FLASHING 

Emergency flashers on.

DW_OBSTACLE_STATE_FLAG_RED_LIGHT_FLASHING 

Red light flashers on.

DW_OBSTACLE_STATE_FLAG_BLUE_LIGHT_FLASHING 

Blue light flashers on.

DW_OBSTACLE_STATE_FLAG_IS_ATTENTIVE 

Additional flags.

Obstacle attentive to us

DW_OBSTACLE_STATE_FLAG_SIGNALING 

Obstacle signaling to us.

Definition at line 225 of file Obstacle.h.

Function Documentation

◆ dwObstacle_reset()

DW_API_PUBLIC dwStatus dwObstacle_reset ( dwObstacle obstacle)

Resets the fields of dwObstacle.

Parameters
[in]obstacleThe obstacle to reset.
Returns
DW_SUCCESS If successful
DW_INVALID_ARGUMENT If obstacle is nullptr