DriveWorks SDK Reference
3.5.78 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 
50 #ifndef DW_EGOMOTION_RADAR_DOPPLERMOTIONESTIMATOR_H__
51 #define DW_EGOMOTION_RADAR_DOPPLERMOTIONESTIMATOR_H__
52 
53 #include <dw/core/Context.h>
54 #include <dw/sensors/radar/Radar.h>
55 
56 #ifdef __cplusplus
57 extern "C" {
58 #endif
59 
61 typedef struct dwRadarDopplerMotion
62 {
65 
68 
71 
74 
77 
80 
83 
85 
87 typedef struct dwRadarDopplerMotionObject* dwRadarDopplerMotionHandle_t;
88 
101 dwStatus dwRadarDopplerMotion_initialize(dwRadarDopplerMotionHandle_t* obj,
102  cudaStream_t stream,
103  dwContextHandle_t ctx);
104 
117 dwStatus dwRadarDopplerMotion_setCUDAStream(cudaStream_t stream,
118  dwRadarDopplerMotionHandle_t obj);
119 
131 dwStatus dwRadarDopplerMotion_getCUDAStream(cudaStream_t* stream,
132  dwRadarDopplerMotionHandle_t obj);
133 
146  dwRadarDopplerMotionHandle_t obj);
147 
162  dwRadarDopplerMotionHandle_t obj);
163 
173 dwStatus dwRadarDopplerMotion_reset(dwRadarDopplerMotionHandle_t obj);
174 
184 dwStatus dwRadarDopplerMotion_release(dwRadarDopplerMotionHandle_t obj);
185 
186 #ifdef __cplusplus
187 }
188 #endif
189 
191 #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:231
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.
NVIDIA DriveWorks API: Core Methods
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:178
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:80
struct dwRadarDopplerMotionObject * dwRadarDopplerMotionHandle_t
Handle to a radar-motion module object.
dwRadarRange
Defines the range of radar return.
Definition: Radar.h:58
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:56
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.