DriveWorks SDK Reference
3.5.78 Release
For Test and Development only

radarlendmarkengine

Detailed Description

Defines the RadarLandmarkEngine methods.

Data Structures

struct  dwRadarLandmarkEngineParam
 Defines the parameter structure for Radar Landmark Engine. More...
 

Typedefs

typedef struct dwRadarLandmarkEngineObject * dwRadarLandmarkEngineHandle_t
 Defines the Radar Landmark Engine handle structure. More...
 

Functions

dwStatus dwRadarLandmarkEngine_addRadarScan (uint32_t radarId, const dwRadarScan *radarScan, dwRadarLandmarkEngineHandle_t handle)
 Get accumulated radar frame. More...
 
dwStatus dwRadarLandmarkEngine_getDefaultParameters (dwRadarLandmarkEngineParam *params)
 Set default parameters for radar landmark engine. More...
 
dwStatus dwRadarLandmarkEngine_getLatestScanTime (dwTime_t *latestScanTime, dwRadarLandmarkEngineHandle_t handle)
 Get the latest scan's timestamp. More...
 
dwStatus dwRadarLandmarkEngine_getRadarPoints (dwVector4f *radarPoints, uint32_t *numPoints, dwTime_t startTime, dwTime_t endTime, dwTime_t motionCompensationTime, dwRadarLandmarkEngineHandle_t handle)
 Get latest radar points. More...
 
dwStatus dwRadarLandmarkEngine_getRadarPointsMaxSize (uint32_t *maxNumPoints, dwRadarLandmarkEngineHandle_t handle)
 Get default radar landmark engine parameters. More...
 
dwStatus dwRadarLandmarkEngine_getRadarScanPointsMaxSize (uint32_t *maxNumPoints, dwRadarLandmarkEngineHandle_t handle)
 Get default radar landmark engine parameters. More...
 
dwStatus dwRadarLandmarkEngine_getRadarScansMaxSize (uint32_t *maxNumScans, dwRadarLandmarkEngineHandle_t handle)
 Get default radar landmark engine parameters. More...
 
dwStatus dwRadarLandmarkEngine_initialize (dwRadarLandmarkEngineHandle_t *handle, dwContextHandle_t contextHandle, dwEgomotionConstHandle_t imuEgomotionHandle, dwRadarProperties *const radarProperties, dwTransformation3f *const radarToRig, uint32_t numRadarSensors, const dwRadarLandmarkEngineParam *params)
 Initialize radar landmark engine. More...
 
dwStatus dwRadarLandmarkEngine_release (dwRadarLandmarkEngineHandle_t handle)
 Release radar landmark engine handle. More...
 
dwStatus dwRadarLandmarkEngine_reset (dwRadarLandmarkEngineHandle_t handle)
 Reset radar landmark engine buffers. More...
 
dwStatus dwRadarLandmarkEngine_setRadarExtrinsics (uint32_t radarId, const dwTransformation3f *radarToRig, dwRadarLandmarkEngineHandle_t handle)
 Set the radar-to-rig extrinsic transformation for the specified radar. More...
 

Data Structure Documentation

◆ dwRadarLandmarkEngineParam

struct dwRadarLandmarkEngineParam
Data Fields
uint32_t bufferDuration_us time span of buffered radar detections
float32_t clampPointRCS_dB clamp detections above this value
bool filterByDynamicState filter out non-stationary detections using stationaryDetectionThreshold_mps
bool filterByRCS filter out detections based on their RCS using minPointRCS_dB and clampPoinRCS_dB
bool filterByVehicleVelocity filter out scans captured when ego-car is approx. stationary using minVehicleVelocity_mps
float32_t minPointRCS_dB filter out detections below this value
float32_t minVehicleVelocity_mps filter out scans when ego-car velocity is below this value
uint32_t outOfOrderGracePeriod_us grace period for accepting out of order radar scans
float32_t stationaryDetectionThreshold_mps filter out detections whose Doppler is above this value
bool useLongRangeScans use long range radar scans

Typedef Documentation

◆ dwRadarLandmarkEngineHandle_t

typedef struct dwRadarLandmarkEngineObject* dwRadarLandmarkEngineHandle_t

Defines the Radar Landmark Engine handle structure.

Definition at line 61 of file RadarLandmarkEngine.h.

Function Documentation

◆ dwRadarLandmarkEngine_addRadarScan()

dwStatus dwRadarLandmarkEngine_addRadarScan ( uint32_t  radarId,
const dwRadarScan radarScan,
dwRadarLandmarkEngineHandle_t  handle 
)

Get accumulated radar frame.

Parameters
[in]radarId- radar index scan was received from
[in]radarScan- accumulated radar scan to return
[in]handle- radar landmark engine handle
Returns
DW_BAD_CAST - if the provided RadarLandmarkEngine or radarScan handle is invalid.
DW_INVALID_ARGUMENT - if the provided radar scan occurred chronologically behind previous scans
DW_SUCCESS

◆ dwRadarLandmarkEngine_getDefaultParameters()

dwStatus dwRadarLandmarkEngine_getDefaultParameters ( dwRadarLandmarkEngineParam params)

Set default parameters for radar landmark engine.

Parameters
[out]params- pointer to a dwRadarLandmarkEngineParam structure to fill
Returns
DW_INVALID_ARGUMENT - if params is a null pointer
DW_SUCCESS

◆ dwRadarLandmarkEngine_getLatestScanTime()

dwStatus dwRadarLandmarkEngine_getLatestScanTime ( dwTime_t latestScanTime,
dwRadarLandmarkEngineHandle_t  handle 
)

Get the latest scan's timestamp.

Parameters
[out]latestScanTime- timestamp of the latest scan added to the engine
[in]handle- radar landmark engine handle
Returns
DW_BAD_CAST - if the provided RadarLandmarkEngine handle is invalid.
DW_SUCCESS

◆ dwRadarLandmarkEngine_getRadarPoints()

dwStatus dwRadarLandmarkEngine_getRadarPoints ( dwVector4f radarPoints,
uint32_t *  numPoints,
dwTime_t  startTime,
dwTime_t  endTime,
dwTime_t  motionCompensationTime,
dwRadarLandmarkEngineHandle_t  handle 
)

Get latest radar points.

Parameters
[out]radarPoints- pointer to storage where latest radar points should to be returned
[out]numPoints- pointer to number of points returned
[in]startTime- start timestamp of radar points
[in]endTime- end timestamp of radar points
[in]motionCompensationTime- motion compensation time of the returned radar points
[in]handle- radar landmark engine handle
Returns
DW_BAD_CAST - if the provided RadarLandmarkEngine or radarPoints handle is invalid.
DW_SUCCESS

◆ dwRadarLandmarkEngine_getRadarPointsMaxSize()

dwStatus dwRadarLandmarkEngine_getRadarPointsMaxSize ( uint32_t *  maxNumPoints,
dwRadarLandmarkEngineHandle_t  handle 
)

Get default radar landmark engine parameters.

Parameters
[in]maxNumPoints- pointer to maximum number of points in the buffer
[in]handle- radar landmark engine handle
Returns
DW_BAD_CAST - if the provided RadarLandmarkEngine handle is invalid.
DW_SUCCESS

◆ dwRadarLandmarkEngine_getRadarScanPointsMaxSize()

dwStatus dwRadarLandmarkEngine_getRadarScanPointsMaxSize ( uint32_t *  maxNumPoints,
dwRadarLandmarkEngineHandle_t  handle 
)

Get default radar landmark engine parameters.

Parameters
[in]maxNumPoints- pointer to maximum number of points per radar scan
[in]handle- radar landmark engine handle
Returns
DW_BAD_CAST - if the provided RadarLandmarkEngine handle is invalid.
DW_SUCCESS

◆ dwRadarLandmarkEngine_getRadarScansMaxSize()

dwStatus dwRadarLandmarkEngine_getRadarScansMaxSize ( uint32_t *  maxNumScans,
dwRadarLandmarkEngineHandle_t  handle 
)

Get default radar landmark engine parameters.

Parameters
[in]maxNumScans- pointer to maximum number of scans in the buffer
[in]handle- radar landmark engine handle
Returns
DW_BAD_CAST - if the provided RadarLandmarkEngine handle is invalid.
DW_SUCCESS

◆ dwRadarLandmarkEngine_initialize()

dwStatus dwRadarLandmarkEngine_initialize ( dwRadarLandmarkEngineHandle_t handle,
dwContextHandle_t  contextHandle,
dwEgomotionConstHandle_t  imuEgomotionHandle,
dwRadarProperties *const  radarProperties,
dwTransformation3f *const  radarToRig,
uint32_t  numRadarSensors,
const dwRadarLandmarkEngineParam params 
)

Initialize radar landmark engine.

Parameters
[in,out]handle- pointer to radar landmark engine handle to initialize
[in]contextHandle- driveworks context handle
[in]imuEgomotionHandle- driveworks egomotion model handle
[in]radarProperties- array of radar properties
[in]radarToRig- array of radar extrinsics
[in]numRadarSensors- number of radar sensors
[in]params- radar landmark engine parameters
Returns
DW_BAD_CAST - imuEgomotion handle is invalid.
DW_SUCCESS

◆ dwRadarLandmarkEngine_release()

dwStatus dwRadarLandmarkEngine_release ( dwRadarLandmarkEngineHandle_t  handle)

Release radar landmark engine handle.

Parameters
[in]handle- radar landmark engine handle
Returns
DW_BAD_CAST - if the provided RadarLandmarkEngine handle is invalid.
DW_SUCCESS

◆ dwRadarLandmarkEngine_reset()

dwStatus dwRadarLandmarkEngine_reset ( dwRadarLandmarkEngineHandle_t  handle)

Reset radar landmark engine buffers.

Parameters
[in]handle- radar landmark engine handle
Returns
DW_BAD_CAST - if the provided radar landmark engine handle is invalid.
DW_SUCCESS

◆ dwRadarLandmarkEngine_setRadarExtrinsics()

dwStatus dwRadarLandmarkEngine_setRadarExtrinsics ( uint32_t  radarId,
const dwTransformation3f radarToRig,
dwRadarLandmarkEngineHandle_t  handle 
)

Set the radar-to-rig extrinsic transformation for the specified radar.

Parameters
[in]radarId- radar index the extrinsic transformation is set for
[in]radarToRig- transformation from the specified radar's coordinate system to the vehicle rig's coordinate system
[in]handle- radar landmark engine handle
Returns
DW_BAD_CAST - if the provided RadarLandmarkEngine or radarToRig handle is invalid.
ss DW_INVALID_ARGUMENT - if given arguments are invalid.
DW_SUCCESS