DriveWorks SDK Reference
3.0.4260 Release
For Test and Development only

Lane Graph Interface

Detailed Description

Abstract of the world model.

Note
SW Release Applicability: These APIs are available in NVIDIA DRIVE Software releases.

The sources are 1) dwMaps, 2) PilotNet, 3) LaneNet/MapNet, 4) PathNet 5) Ensemble

Data Structures

struct  dwLaneGraph
 Lane graph defined by a container of dwLaneGraphLane objects and qualifier. More...
 
struct  dwLaneGraphId
 The id of a lane, which consists of the id of the whole lane object and id's of individual left/right lanemarkings from the upstream module. More...
 
struct  dwLaneGraphLane
 Lane defined by the center polyline, relative side w.r.t. More...
 
struct  dwLaneGraphLaneContentionProperty
 
struct  dwLaneGraphLaneDivider
 Lane divider defined by a polyline. More...
 
struct  dwLaneGraphLaneDividerSegment
 The dwLaneMarkType of a lane divider from startIndex to endIndex remains the same. More...
 
struct  dwLaneGraphList
 A lane graph list, which is contiguous memory. More...
 
struct  dwLaneGraphPolyline
 List of 3-dimensional points. More...
 

Macros

#define DW_LANEGRAPH_ID_INVALID   UINT_MAX
 e.g. More...
 
#define DW_LANEGRAPH_ID_RANGE_PER_SOURCE   100
 the range of ids each lanegraph shard can have More...
 
#define DW_LANEGRAPH_LANE_DIVIDER_MAX_SEGMENTS   30u
 
#define DW_LANEGRAPH_MAX_CONTENDER_LANES   6U
 Max num of dwLaneGraphLaneContentionProperty objects in a dwLaneGraphLane. More...
 
#define DW_LANEGRAPH_MAX_LANE_CNT_IN_LANEGRAPH   11U
 Max num of dwLaneGraphLane objects in a dwLaneGraph. More...
 
#define DW_LANEGRAPH_MAX_PT_CNT_IN_POLYLINE   600U
 Max num of dwVector3f points in a dwPolyline. More...
 

Enumerations

enum  dwLaneGraphLaneType {
  DW_LANEGRAPH_LANE_TYPE_LEFT = DW_SIDE_LEFT,
  DW_LANEGRAPH_LANE_TYPE_RIGHT = DW_SIDE_RIGHT,
  DW_LANEGRAPH_LANE_TYPE_EGO = DW_SIDE_CENTER,
  DW_LANEGRAPH_LANE_TYPE_MERGE_FROM_LEFT = 3,
  DW_LANEGRAPH_LANE_TYPE_MERGE_FROM_RIGHT = 4,
  DW_LANEGRAPH_LANE_TYPE_CHANGE_TO_LEFT = 5,
  DW_LANEGRAPH_LANE_TYPE_CHANGE_TO_RIGHT = 6,
  DW_LANEGRAPH_LANE_TYPE_FORK_TO_LEFT = 7,
  DW_LANEGRAPH_LANE_TYPE_FORK_TO_RIGHT = 8,
  DW_LANEGRAPH_LANE_TYPE_CONTENDER = 9,
  DW_LANEGRAPH_LANE_TYPE_CHANGE_TO_LEFT_ENDING = 10,
  DW_LANEGRAPH_LANE_TYPE_CHANGE_TO_RIGHT_ENDING = 11,
  DW_LANEGRAPH_LANE_TYPE_OTHER = 12,
  DW_LANEGRAPH_LANE_TYPE_COUNT = 13
}
 The type of a lane. More...
 
enum  dwLaneGraphSource {
  DW_LANEGRAPH_SOURCE_HDMAPS = 0,
  DW_LANEGRAPH_SOURCE_PILOTNET = 1,
  DW_LANEGRAPH_SOURCE_LANENET = 2,
  DW_LANEGRAPH_SOURCE_RAIL = 3,
  DW_LANEGRAPH_SOURCE_PATHNET = 4,
  DW_LANEGRAPH_SOURCE_VEHICLE_TRACES = 5,
  DW_LANEGRAPH_SOURCE_LANEFUSION = 6,
  DW_LANEGRAPH_SOURCE_LANE_ENSEMBLE = 7,
  DW_LANEGRAPH_SOURCE_COUNT = 8
}
 Lane graph source enum. More...
 
enum  dwLaneHandlingMode {
  DW_LANEHANDLING_MODE_LANE_KEEP = 0,
  DW_LANEHANDLING_MODE_LANE_CHANGE = 1,
  DW_LANEHANDLING_MODE_LANE_SPLIT = 2,
  DW_LANEHANDLING_MODE_SPEED_ADAPTATION = 3,
  DW_LANEHANDLING_MODE_ABORT = 4,
  DW_LANEHANDLING_MODE_MAX_NUM_STATE = 5
}
 LaneHandleState. More...
 

Data Structure Documentation

◆ dwLaneGraph

struct dwLaneGraph
Data Fields
bool hasContenderLane existence qualifier of the contender lane
bool hasLeftLane existence qualifier of the left adjacent lane
bool hasMidLane existence qualifier of the ego lane
bool hasRightLane existence qualifier of the right adjacent lane
uint32_t laneCount lane count
dwLaneGraphLane lanes[DW_LANEGRAPH_MAX_LANE_CNT_IN_LANEGRAPH] lanes
dwLaneGraphSource source source of creation
dwTime_t timestamp time stamp of the lanegraph object 1) HDMAPS : that of the camera localization pose 2) PILOTNET : that of the pilotnet inference 3) LANENET : that of the lane detection 4) RAIL : that of the lidar localization pose

◆ dwLaneGraphId

struct dwLaneGraphId
Data Fields
uint32_t leftId id of the left lane divider
uint32_t rightId id of the right lane divider
uint32_t trackId id of the dwLaneGraphLane object

◆ dwLaneGraphLane

struct dwLaneGraphLane
Data Fields
dwLaneGraphLaneContentionProperty contentions contentions properties
dwLaneGraphPolyline geometry lane center geometry
dwLaneGraphId id trackID for correspondence
bool isLaneDividerValid[2] existence qualifier of dividers, 0 = left, 1 = right
dwLaneGraphLaneDivider laneDividers[2] left & right dividers, 0 = left, 1 = right
dwLaneGraphLaneType side left, center, right

◆ dwLaneGraphLaneContentionProperty

struct dwLaneGraphLaneContentionProperty
Data Fields
uint32_t contenderLaneIndexCount number of contentions
uint32_t contenderLaneIndices[DW_LANEGRAPH_MAX_CONTENDER_LANES] indices of the contender dwLaneGraphLanes

◆ dwLaneGraphLaneDivider

struct dwLaneGraphLaneDivider
Data Fields
dwLaneGraphPolyline geometry divider geometry
uint32_t segmentCount number of valid entries in segments[]
dwLaneGraphLaneDividerSegment segments[DW_LANEGRAPH_LANE_DIVIDER_MAX_SEGMENTS] divider of the same mark type is put into the same segment.

a full lane divider is formed by an array of segments.

◆ dwLaneGraphLaneDividerSegment

struct dwLaneGraphLaneDividerSegment
Data Fields
uint32_t endIndex end index. (one past last)
uint32_t startIndex start index.
dwLaneMarkType type lane divider type.

◆ dwLaneGraphList

struct dwLaneGraphList
Data Fields
uint32_t count size of the list
dwLaneGraph * laneGraphs memory location of the first element in the list
uint32_t maxCount capacity of the list

◆ dwLaneGraphPolyline

struct dwLaneGraphPolyline
Data Fields
float32_t confidence[DW_LANEGRAPH_MAX_PT_CNT_IN_POLYLINE] confidence for each point: 0 for no confidence, 1 for max confidence
uint32_t pointCount number of points defining the polyline
dwVector3f points[DW_LANEGRAPH_MAX_PT_CNT_IN_POLYLINE] point array
float32_t speedLimits[DW_LANEGRAPH_MAX_PT_CNT_IN_POLYLINE] per point speed limit in meters per second. 0 if unknown.

Macro Definition Documentation

◆ DW_LANEGRAPH_ID_INVALID

#define DW_LANEGRAPH_ID_INVALID   UINT_MAX

e.g.

HDMAPS has the range [0, DW_LANEGRAPH_ID_RANGE_PER_SOURCE) PILOTNET has [1 * DW_LANEGRAPH_ID_RANGE_PER_SOURCE, 2 * DW_LANEGRAPH_ID_RANGE_PER_SOURCE) etc.

Definition at line 140 of file LaneGraph.h.

◆ DW_LANEGRAPH_ID_RANGE_PER_SOURCE

#define DW_LANEGRAPH_ID_RANGE_PER_SOURCE   100

the range of ids each lanegraph shard can have

Definition at line 136 of file LaneGraph.h.

◆ DW_LANEGRAPH_LANE_DIVIDER_MAX_SEGMENTS

#define DW_LANEGRAPH_LANE_DIVIDER_MAX_SEGMENTS   30u

Definition at line 90 of file LaneGraph.h.

◆ DW_LANEGRAPH_MAX_CONTENDER_LANES

#define DW_LANEGRAPH_MAX_CONTENDER_LANES   6U

Max num of dwLaneGraphLaneContentionProperty objects in a dwLaneGraphLane.

Definition at line 143 of file LaneGraph.h.

◆ DW_LANEGRAPH_MAX_LANE_CNT_IN_LANEGRAPH

#define DW_LANEGRAPH_MAX_LANE_CNT_IN_LANEGRAPH   11U

Max num of dwLaneGraphLane objects in a dwLaneGraph.

Definition at line 179 of file LaneGraph.h.

◆ DW_LANEGRAPH_MAX_PT_CNT_IN_POLYLINE

#define DW_LANEGRAPH_MAX_PT_CNT_IN_POLYLINE   600U

Max num of dwVector3f points in a dwPolyline.

Definition at line 66 of file LaneGraph.h.

Enumeration Type Documentation

◆ dwLaneGraphLaneType

The type of a lane.

Enumerator
DW_LANEGRAPH_LANE_TYPE_LEFT 
DW_LANEGRAPH_LANE_TYPE_RIGHT 
DW_LANEGRAPH_LANE_TYPE_EGO 
DW_LANEGRAPH_LANE_TYPE_MERGE_FROM_LEFT 
DW_LANEGRAPH_LANE_TYPE_MERGE_FROM_RIGHT 
DW_LANEGRAPH_LANE_TYPE_CHANGE_TO_LEFT 
DW_LANEGRAPH_LANE_TYPE_CHANGE_TO_RIGHT 
DW_LANEGRAPH_LANE_TYPE_FORK_TO_LEFT 
DW_LANEGRAPH_LANE_TYPE_FORK_TO_RIGHT 
DW_LANEGRAPH_LANE_TYPE_CONTENDER 
DW_LANEGRAPH_LANE_TYPE_CHANGE_TO_LEFT_ENDING 
DW_LANEGRAPH_LANE_TYPE_CHANGE_TO_RIGHT_ENDING 
DW_LANEGRAPH_LANE_TYPE_OTHER 
DW_LANEGRAPH_LANE_TYPE_COUNT 

Definition at line 108 of file LaneGraph.h.

◆ dwLaneGraphSource

Lane graph source enum.

Enumerator
DW_LANEGRAPH_SOURCE_HDMAPS 

dwMap

DW_LANEGRAPH_SOURCE_PILOTNET 

Pilotnet.

DW_LANEGRAPH_SOURCE_LANENET 

LaneNet.

DW_LANEGRAPH_SOURCE_RAIL 

Rail (unsupported, reserved for future)

DW_LANEGRAPH_SOURCE_PATHNET 

PathNet.

DW_LANEGRAPH_SOURCE_VEHICLE_TRACES 

Vehicle traces (unsupported, reserved for future)

DW_LANEGRAPH_SOURCE_LANEFUSION 

LaneFusion (unsupported, reserved for future)

DW_LANEGRAPH_SOURCE_LANE_ENSEMBLE 

LaneEnsemble.

DW_LANEGRAPH_SOURCE_COUNT 

Definition at line 166 of file LaneGraph.h.

◆ dwLaneHandlingMode

LaneHandleState.

Enumerator
DW_LANEHANDLING_MODE_LANE_KEEP 

lane keeping state enum

DW_LANEHANDLING_MODE_LANE_CHANGE 

lane changing lateral maneuver state enum

DW_LANEHANDLING_MODE_LANE_SPLIT 

lane split state enum

DW_LANEHANDLING_MODE_SPEED_ADAPTATION 

lane handle speed adaptation state enum

DW_LANEHANDLING_MODE_ABORT 

lane handle abort state enum

DW_LANEHANDLING_MODE_MAX_NUM_STATE 

Definition at line 215 of file LaneGraph.h.