DriveWorks SDK Reference
3.5.78 Release
For Test and Development only

RadarLandmarkEngine.h
Go to the documentation of this file.
1 // This code contains NVIDIA Confidential Information and is disclosed
3 // under the Mutual Non-Disclosure Agreement.
4 //
5 // Notice
6 // ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
7 // NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
8 // THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
9 // MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
10 //
11 // NVIDIA Corporation assumes no responsibility for the consequences of use of such
12 // information or for any infringement of patents or other rights of third parties that may
13 // result from its use. No license is granted by implication or otherwise under any patent
14 // or patent rights of NVIDIA Corporation. No third party distribution is allowed unless
15 // expressly authorized by NVIDIA. Details are subject to change without notice.
16 // This code supersedes and replaces all information previously supplied.
17 // NVIDIA Corporation products are not authorized for use as critical
18 // components in life support devices or systems without express written approval of
19 // NVIDIA Corporation.
20 //
21 // Copyright (c) 2019-2020 NVIDIA Corporation. All rights reserved.
22 //
23 // NVIDIA Corporation and its licensors retain all intellectual property and proprietary
24 // rights in and to this software and related documentation and any modifications thereto.
25 // Any use, reproduction, disclosure or distribution of this software and related
26 // documentation without an express license agreement from NVIDIA Corporation is
27 // strictly prohibited.
28 //
30 
31 #ifndef DW_RADARLANDMARKENGINE_H_
32 #define DW_RADARLANDMARKENGINE_H_
33 
48 #include <dw/core/Config.h>
49 #include <dw/core/Exports.h>
50 #include <dw/core/Types.h>
51 #include <dw/core/Context.h>
52 
53 #include <dw/sensors/radar/Radar.h>
54 #include <dw/egomotion/Egomotion.h>
55 
56 /*
57  * @note SW Release Applicability: These APIs are available in <b>NVIDIA DRIVE Software</b> releases.
58  */
59 
61 typedef struct dwRadarLandmarkEngineObject* dwRadarLandmarkEngineHandle_t;
62 
65 {
87 
88 #ifdef __cplusplus
89 extern "C" {
90 #endif
91 
107  dwContextHandle_t contextHandle,
108  dwEgomotionConstHandle_t imuEgomotionHandle,
109  dwRadarProperties* const radarProperties,
110  dwTransformation3f* const radarToRig,
111  uint32_t numRadarSensors,
112  const dwRadarLandmarkEngineParam* params);
113 
123 
133 
143 
172  uint32_t* numPoints,
173  dwTime_t startTime,
174  dwTime_t endTime,
175  dwTime_t motionCompensationTime,
177 
190  const dwRadarScan* radarScan,
192 
204 
216 
228 
241  const dwTransformation3f* radarToRig,
243 
244 #ifdef __cplusplus
245 }
246 #endif
247 
249 #endif // DW_RADARLANDMARKENGINE_H_
float32_t minVehicleVelocity_mps
filter out scans when ego-car velocity is below this value
uint32_t bufferDuration_us
time span of buffered radar detections
NVIDIA DriveWorks API: Core Types
Defines the structure for a complete radar scan.
Definition: Radar.h:231
float float32_t
Specifies POD types.
Definition: Types.h:70
float32_t stationaryDetectionThreshold_mps
filter out detections whose Doppler is above this value
NVIDIA DriveWorks API: Egomotion Methods
NVIDIA DriveWorks API: Radar
Defines a four-element single-precision floating point vector.
Definition: Types.h:335
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.
dwStatus dwRadarLandmarkEngine_getRadarScansMaxSize(uint32_t *maxNumScans, dwRadarLandmarkEngineHandle_t handle)
Get default radar landmark engine parameters.
dwStatus dwRadarLandmarkEngine_release(dwRadarLandmarkEngineHandle_t handle)
Release radar landmark engine handle.
dwStatus dwRadarLandmarkEngine_getRadarPointsMaxSize(uint32_t *maxNumPoints, dwRadarLandmarkEngineHandle_t handle)
Get default radar landmark engine parameters.
NVIDIA DriveWorks API: Core Methods
bool filterByRCS
filter out detections based on their RCS using minPointRCS_dB and clampPoinRCS_dB ...
Specifies a 3D rigid transformation.
Definition: Types.h:462
dwStatus dwRadarLandmarkEngine_getLatestScanTime(dwTime_t *latestScanTime, dwRadarLandmarkEngineHandle_t handle)
Get the latest scan&#39;s timestamp.
dwStatus dwRadarLandmarkEngine_reset(dwRadarLandmarkEngineHandle_t handle)
Reset radar landmark engine buffers.
dwStatus dwRadarLandmarkEngine_addRadarScan(uint32_t radarId, const dwRadarScan *radarScan, dwRadarLandmarkEngineHandle_t handle)
Get accumulated radar frame.
dwStatus
Status definition.
Definition: Status.h:178
dwStatus dwRadarLandmarkEngine_getRadarScanPointsMaxSize(uint32_t *maxNumPoints, dwRadarLandmarkEngineHandle_t handle)
Get default radar landmark engine parameters.
dwStatus dwRadarLandmarkEngine_setRadarExtrinsics(uint32_t radarId, const dwTransformation3f *radarToRig, dwRadarLandmarkEngineHandle_t handle)
Set the radar-to-rig extrinsic transformation for the specified radar.
dwStatus dwRadarLandmarkEngine_getDefaultParameters(dwRadarLandmarkEngineParam *params)
Set default parameters for radar landmark engine.
int64_t dwTime_t
Specifies a timestamp unit, in microseconds.
Definition: Types.h:82
bool useLongRangeScans
use long range radar scans
uint32_t outOfOrderGracePeriod_us
grace period for accepting out of order radar scans
struct dwEgomotionObject const * dwEgomotionConstHandle_t
Definition: Egomotion.h:80
Defines the properties of the radar.
Definition: Radar.h:341
Defines the parameter structure for Radar Landmark Engine.
struct dwContextObject * dwContextHandle_t
Context handle.
Definition: Context.h:80
struct dwRadarLandmarkEngineObject * dwRadarLandmarkEngineHandle_t
Defines the Radar Landmark Engine handle structure.
NVIDIA DriveWorks API: Core Exports
bool filterByDynamicState
filter out non-stationary detections using stationaryDetectionThreshold_mps
bool filterByVehicleVelocity
filter out scans captured when ego-car is approx. stationary using minVehicleVelocity_mps ...
float32_t clampPointRCS_dB
clamp detections above this value
dwStatus dwRadarLandmarkEngine_getRadarPoints(dwVector4f *radarPoints, uint32_t *numPoints, dwTime_t startTime, dwTime_t endTime, dwTime_t motionCompensationTime, dwRadarLandmarkEngineHandle_t handle)
Get latest radar points.
float32_t minPointRCS_dB
filter out detections below this value