DriveWorks SDK Reference
4.0.0 Release
For Test and Development only

DopplerMotionEstimator.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) 2018-2019 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 
48 #ifndef DW_EGOMOTION_RADAR_DOPPLERMOTIONESTIMATOR_H__
49 #define DW_EGOMOTION_RADAR_DOPPLERMOTIONESTIMATOR_H__
50 
52 #include <dw/sensors/radar/Radar.h>
53 
54 #ifdef __cplusplus
55 extern "C" {
56 #endif
57 
59 typedef struct dwRadarDopplerMotion
60 {
63 
66 
69 
72 
75 
78 
81 
83 
85 typedef struct dwRadarDopplerMotionObject* dwRadarDopplerMotionHandle_t;
86 
99 dwStatus dwRadarDopplerMotion_initialize(dwRadarDopplerMotionHandle_t* obj,
100  cudaStream_t stream,
101  dwContextHandle_t ctx);
102 
115 dwStatus dwRadarDopplerMotion_setCUDAStream(cudaStream_t stream,
116  dwRadarDopplerMotionHandle_t obj);
117 
129 dwStatus dwRadarDopplerMotion_getCUDAStream(cudaStream_t* stream,
130  dwRadarDopplerMotionHandle_t obj);
131 
145  dwRadarDopplerMotionHandle_t obj);
146 
161  dwRadarDopplerMotionHandle_t obj);
162 
172 dwStatus dwRadarDopplerMotion_reset(dwRadarDopplerMotionHandle_t obj);
173 
183 dwStatus dwRadarDopplerMotion_release(dwRadarDopplerMotionHandle_t obj);
184 
185 #ifdef __cplusplus
186 }
187 #endif
188 
190 #endif // DW_EGOMOTION_RADAR_DOPPLERMOTIONESTIMATOR_H__
DW_API_PUBLIC dwStatus dwRadarDopplerMotion_processAsync(const dwRadarScan *radarScan, dwRadarDopplerMotionHandle_t obj)
Process the dwRadarScan and compute the radar motion.
Defines the structure for a complete radar scan.
Definition: Radar.h:229
float float32_t
Specifies POD types.
Definition: Types.h:70
NVIDIA DriveWorks API: Radar
dwRadarRange radarRange
radar range type
dwTime_t hostTimestamp_us
Host timestamp of the computed radar motion (us)
DW_API_PUBLIC dwStatus dwRadarDopplerMotion_setCUDAStream(cudaStream_t stream, dwRadarDopplerMotionHandle_t obj)
Sets the CUDA stream for CUDA related operations.
DW_API_PUBLIC dwStatus dwRadarDopplerMotion_release(dwRadarDopplerMotionHandle_t obj)
Releases the radar Doppler motion module.
float32_t confidenceHeading
Confidence for heading estimate.
dwStatus
Status definition.
Definition: Status.h:180
DW_API_PUBLIC dwStatus dwRadarDopplerMotion_getCUDAStream(cudaStream_t *stream, dwRadarDopplerMotionHandle_t obj)
Gets CUDA stream used by the radar Doppler motion.
int64_t dwTime_t
Specifies a timestamp unit, in microseconds.
Definition: Types.h:82
float32_t heading
Radar heading direction (the direction of radar sensor velocity) in sensor space (radian) ...
Defines a 2x2 matrix of floating point numbers.
Definition: Types.h:225
float32_t confidenceSpeed
Confidence for radial speed estimate (range: [0, 1))
DW_API_PUBLIC dwStatus dwRadarDopplerMotion_reset(dwRadarDopplerMotionHandle_t obj)
Resets the radar Doppler motion module.
float32_t speed
Radar speed (the magnitude of radar sensor velocity) in sensor space (m/s)
struct dwContextObject * dwContextHandle_t
Context handle.
Definition: Context.h:79
NVIDIA DriveWorks API: Core Methods
struct dwRadarDopplerMotionObject * dwRadarDopplerMotionHandle_t
Handle to a radar-motion module object.
dwRadarRange
Defines the range of radar return.
Definition: Radar.h:56
DW_API_PUBLIC dwStatus dwRadarDopplerMotion_getMotion(dwRadarDopplerMotion *motion, dwRadarDopplerMotionHandle_t obj)
Gets the available radar motion estimation result.
Defines the radar motion.
dwMatrix2f covariance
Estimation error covariance for (heading, radial speed)
#define DW_API_PUBLIC
Definition: Exports.h:54
DW_API_PUBLIC dwStatus dwRadarDopplerMotion_initialize(dwRadarDopplerMotionHandle_t *obj, cudaStream_t stream, dwContextHandle_t ctx)
Creates and initializes a GPU-based radar motion estimation module.