DriveWorks SDK Reference
5.8.83 Release
For Test and Development only

Radar.h
Go to the documentation of this file.
1
2//
3// Notice
4// ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
5// NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
6// THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
7// MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8//
9// NVIDIA CORPORATION & AFFILIATES assumes no responsibility for the consequences of use of such
10// information or for any infringement of patents or other rights of third parties that may
11// result from its use. No license is granted by implication or otherwise under any patent
12// or patent rights of NVIDIA CORPORATION & AFFILIATES. No third party distribution is allowed unless
13// expressly authorized by NVIDIA. Details are subject to change without notice.
14// This code supersedes and replaces all information previously supplied.
15// NVIDIA CORPORATION & AFFILIATES products are not authorized for use as critical
16// components in life support devices or systems without express written approval of
17// NVIDIA CORPORATION & AFFILIATES.
18//
19// SPDX-FileCopyrightText: Copyright (c) 2017-2022 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
20// SPDX-License-Identifier: LicenseRef-NvidiaProprietary
21//
22// NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
23// property and proprietary rights in and to this material, related
24// documentation and any modifications thereto. Any use, reproduction,
25// disclosure or distribution of this material and related documentation
26// without an express license agreement from NVIDIA CORPORATION or
27// its affiliates is strictly prohibited.
28//
30
47#ifndef DW_SENSORS_RADAR_RADAR_H_
48#define DW_SENSORS_RADAR_RADAR_H_
49
50#include <dw/core/base/Config.h>
51#include <dw/core/base/Types.h>
53#include <dw/sensors/Sensors.h>
54
56#define DW_RADARSCAN_MINIMUM_PAYLOAD_SIZE 1744
57
59typedef enum {
62
65
68
71
75
77typedef enum {
80
83
86
90
92//# sergen(generate)
93typedef enum dwRadarDynamicState {
96
99
102
105
108
112
117
120
123
126
129
132
135
138
141
144
148
150typedef struct dwRadarScanType
151{
154
158
160#pragma pack(push, 1)
161
163//# sergen(generate)
164typedef struct dwRadarDetection
165{
168
171
174
177
180
183
186
189
192
195
199
200typedef struct dwRadarTrack
201{
203 uint32_t id;
204
206 uint32_t age;
207
210
213
216
219
222
225
228
231
234
237
240
243
246
249
252
256
258typedef struct dwRadarScan
259{
261 uint32_t scanIndex;
262
265
268
271
273 uint32_t numReturns;
274
277
281
284
287
290
293 void* data;
294
297
300
303
306
310
311#pragma pack(pop)
312
314typedef struct dwRadarStatus
315{
321
327
333
336
339
342
343 /*
344 * Deviation of azimuth angle for returns (radians)
345 * This is the deviation of the measured azimuth from what would be
346 * expected based on the geometric boresight of the sensor.
347 */
349
350 /*
351 * Deviation of elevation angle for returns (radians)
352 * This is the deviation of the elevation azimuth from what would be
353 * expected based on the geometric boresight of the sensor.
354 */
356
359
362
365
369
372{
375
378
381
385
388{
390 uint32_t sensorId;
391
394
397
400
404
406typedef struct dwRadarProperties
407{
410
412 uint32_t numScanTypes;
413
416
419
422
429
432
435
439
440#ifdef __cplusplus
441extern "C" {
442#endif
443
456dwStatus dwSensorRadar_toggleScanType(bool const enable, dwRadarScanType const scanType, dwSensorHandle_t const sensor);
457
470
490 const dwTime_t timeoutUs, dwSensorHandle_t const sensor);
503
522 const dwTime_t timeoutUs, dwSensorHandle_t const sensor);
523
536
552 const uint8_t* const rawData, size_t const size, dwSensorHandle_t const sensor);
553
565
577
589
590#ifdef __cplusplus
591}
592#endif
593
595#endif // DW_SENSORS_RADAR_RADAR_H_
NVIDIA DriveWorks API: RadarScan
dwRadarModel
Defines the radar sensor model.
Definition: RadarScan.h:44
Defines the structure for holding health info of radar scen.
Definition: RadarScan.h:450
NVIDIA DriveWorks API: Sensors
NVIDIA DriveWorks API: Core Types
#define DW_API_PUBLIC
Definition: Exports.h:54
dwStatus
Status definition.
Definition: Status.h:171
float float32_t
Specifies POD types.
Definition: Types.h:70
int64_t dwTime_t
Specifies a timestamp unit, in microseconds.
Definition: Types.h:82
Specifies a 3D rigid transformation.
Definition: Types.h:536
dwRadarDetectionStdDev const * detectionStdDev
Pointer to the array of dwRadarDetectionStdDev, size of this array is numReturns.
Definition: Radar.h:299
float32_t velocity
Longitudinal velocity (m/s)
Definition: Radar.h:374
uint32_t scansPerSecond
Number of scans (of a particular type) per second.
Definition: Radar.h:428
float32_t confidence
Confidence of object existence (range: 0-1);.
Definition: Radar.h:209
uint32_t inputPacketsPerSecond
Number of input odometry packets per second.
Definition: Radar.h:431
bool elevationValid
Indicates validity of z position.
Definition: Radar.h:254
dwRadarScanType scanType
Type of scan.
Definition: Radar.h:270
float32_t y
Y-position (m)
Definition: Radar.h:170
dwRadarDetectionMisc const * detectionMisc
Pointer to the array of dwRadarDetectionMisc, size of this array is numReturns.
Definition: Radar.h:296
float32_t x
X-position (m) of sensor mounting in AUTOSAR-coordinates from CoG Estimated radar position/orientatio...
Definition: Radar.h:320
uint32_t supportedScanTypes[DW_RADAR_RETURN_TYPE_COUNT][DW_RADAR_RANGE_COUNT]
Enumerates the types of scans supported by the radar.
Definition: Radar.h:415
dwRadarRange range
Scan range.
Definition: Radar.h:156
uint32_t numScanTypes
Number of supported scan types.
Definition: Radar.h:412
dwTime_t sensorTimestamp
Sensor timestamp at which the current measurement scan was started (us)
Definition: Radar.h:264
bool sensorOK
Indicaes if the is OK.
Definition: Radar.h:361
float32_t wheelbase
Size of wheel-base (m)
Definition: Radar.h:396
float32_t Ay
Y-component (m/s^2) of the aceleration.
Definition: Radar.h:233
float32_t x
X-position (m)
Definition: Radar.h:167
bool elevationValidity
Indicates validity of the elevation angle.
Definition: Radar.h:194
dwRadarReturnType returnType
Type of radar return.
Definition: Radar.h:153
float32_t lateralAcceleration
Lateral acceleration (m/s^2)
Definition: Radar.h:380
dwTransformation3f radarPosition
Radar position.
Definition: Radar.h:393
float32_t azimuthDeviation[DW_RADAR_RANGE_COUNT]
Definition: Radar.h:348
float32_t radialAcceleration
Radial acceleration (m/s^2)
Definition: Radar.h:248
dwTime_t hostTimestamp
Host timestamp at reception of first packet belonging to this scan (us)
Definition: Radar.h:267
float32_t acceleration
Longitudinal acceleration (m/s^2)
Definition: Radar.h:377
float32_t roll
Roll angle of sensor (radians)
Definition: Radar.h:341
float32_t elevationAngle
Angle of elevation (radians)
Definition: Radar.h:191
float32_t yaw
Yaw angle of sensor (radians)
Definition: Radar.h:335
dwRadarScanValidity scanValidity
Radar Scan validity If the signal is unavailable or invalid, the value of the signal will be the maxi...
Definition: Radar.h:280
bool sensorBlock
Indicates if the sensor is blocked.
Definition: Radar.h:367
float32_t azimuth
Azimuth angle (radians)
Definition: Radar.h:236
dwRadarScanHealth radarScanHealth
Radar Scan health.
Definition: Radar.h:289
dwRadarDetectionFFTPatch const * detectionFFTPatch
Pointer to the array of dwRadarDetectionFFTPatch, size of this array is numReturns.
Definition: Radar.h:308
float32_t Vy
Y-component (m/s) of the velocity.
Definition: Radar.h:227
bool sensorDisturbed
Indicates if the sensor is disturbed due to interference.
Definition: Radar.h:364
float32_t elevationDeviation[DW_RADAR_RANGE_COUNT]
Definition: Radar.h:355
dwRadarDetectionProbability const * detectionProbability
Pointer to the array of dwRadarDetectionProbability, size of this array is numReturns.
Definition: Radar.h:305
bool sensorAligned
Indicates if the sensor is aligned.
Definition: Radar.h:358
uint32_t sensorId
Id of the sensor (vendor-specific)
Definition: Radar.h:390
uint32_t maxReturnsPerScan[DW_RADAR_RETURN_TYPE_COUNT][DW_RADAR_RANGE_COUNT]
Max # of returns in any given scan.
Definition: Radar.h:421
float32_t pitch
Pitch angle of sensor (radians)
Definition: Radar.h:338
uint32_t scanIndex
Sensor-provided scan index.
Definition: Radar.h:261
float32_t radius
Radial distance (m)
Definition: Radar.h:242
dwRadarModel radarModel
Radar model of the current radar.
Definition: Radar.h:437
dwRadarScanAmbiguity radarScanAmbiguity
Radar Scan ambiguity.
Definition: Radar.h:286
uint32_t id
Radar-provided track id.
Definition: Radar.h:203
float32_t Vx
X-component (m/s) of the velocity in the azimuth direction.
Definition: Radar.h:173
dwRadarDynamicState dynamicState
Dynamic state of the object.
Definition: Radar.h:212
bool isReversed
Indicates if the sensor is reversed from its default orientation.
Definition: Radar.h:402
float32_t y
Y-position (m)
Definition: Radar.h:218
float32_t radius
Radial distance (m)
Definition: Radar.h:182
float32_t azimuth
Azimuth angle (radians)
Definition: Radar.h:179
float32_t Vy
Y-component (m/s) of the velocity in the azimuth direction.
Definition: Radar.h:176
float32_t rcs
Reflection amplitude (dB)
Definition: Radar.h:188
float32_t Vx
X-component (m/s) of the velocity.
Definition: Radar.h:224
float32_t y
Y-position (m) of sensor mounting in AUTOSAR-coordinates from CoG Estimated radar position/orientatio...
Definition: Radar.h:326
dwRadarDetectionQuality const * detectionQuality
Pointer to the array of dwRadarDetectionQuality, size of this array is numReturns.
Definition: Radar.h:302
float32_t x
X-position (m)
Definition: Radar.h:215
float32_t Ax
X-component (m/s^2) of the acceleration.
Definition: Radar.h:230
uint32_t packetsPerScan
Definition: Radar.h:418
float32_t radialVelocity
Radial velocity (m/s)
Definition: Radar.h:185
float32_t radialVelocity
Radial velocity (m/s)
Definition: Radar.h:245
void * data
Pointer to the array of returns (to be casted based on return type) Size of this array is numReturns.
Definition: Radar.h:293
float32_t SNR
Signal to noise ratio (dBr)
Definition: Radar.h:197
uint32_t numReturns
Number of radar returns in this scan.
Definition: Radar.h:273
float32_t yawRate
Yaw rate (radians/s)
Definition: Radar.h:383
float32_t dopplerAmbiguity
Doppler ambiguity free range.
Definition: Radar.h:276
bool isSimulation
Indicates whether the sensor is simulated.
Definition: Radar.h:434
uint32_t age
Age of tracked object (in scans)
Definition: Radar.h:206
float32_t damping
Damping of radome (db)
Definition: Radar.h:399
float32_t rcs
Compensated reflection amplitude (dB)
Definition: Radar.h:251
uint8_t isDecodingOn
Indicates whether decoding is enabled.
Definition: Radar.h:409
dwRadarScanMisc radarScanMisc
Radar Scan miscellaneous fields.
Definition: Radar.h:283
float32_t z
Z-position (m) of sensor mounting in AUTOSAR-coordinates from CoG Estimated radar position/orientatio...
Definition: Radar.h:332
float32_t z
Z-position (m)
Definition: Radar.h:221
float32_t azimuthRate
Rate of change of azimuth angle (radians/s)
Definition: Radar.h:239
DW_API_PUBLIC dwStatus dwSensorRadar_readScan(const dwRadarScan **const data, const dwTime_t timeoutUs, dwSensorHandle_t const sensor)
Reads a one scan chunk.
DW_API_PUBLIC dwStatus dwSensorRadar_toggleScanType(bool const enable, dwRadarScanType const scanType, dwSensorHandle_t const sensor)
Enables/Disables a scan type for the radar sensor.
DW_API_PUBLIC dwStatus dwSensorRadar_readData(const dwRadarScan **const data, const dwRadarScanType type, const dwTime_t timeoutUs, dwSensorHandle_t const sensor)
Reads a single packet, which might be an entire scan or a fraction of a scan, which is sensor depende...
DW_API_PUBLIC dwStatus dwSensorRadar_processRawData(const dwRadarScan **const data, const uint8_t *const rawData, size_t const size, dwSensorHandle_t const sensor)
Decodes RAW data previously read onto the application side structure.
DW_API_PUBLIC dwStatus dwSensorRadar_setMountPosition(dwRadarMountPosition *const data, dwSensorHandle_t const sensor)
Sends the radar mount position information to the radar.
DW_API_PUBLIC dwStatus dwSensorRadar_returnData(const dwRadarScan *const scan, dwSensorHandle_t const sensor)
Returns the data read to the internal pool.
DW_API_PUBLIC dwStatus dwSensorRadar_setDataDecoding(bool const enable, dwSensorHandle_t const sensor)
Enables/disables the decoding of the Radar packets, which incurs in additional CPU load.
DW_API_PUBLIC dwStatus dwSensorRadar_setVehicleState(dwRadarVehicleState *const data, dwSensorHandle_t const sensor)
Sends vehicle dynamics information to the radar.
DW_API_PUBLIC dwStatus dwSensorRadar_getProperties(dwRadarProperties *const radarProperties, dwSensorHandle_t const sensor)
Gets information about the Radar sensor.
DW_API_PUBLIC dwStatus dwSensorRadar_returnScan(const dwRadarScan *const scan, dwSensorHandle_t const sensor)
Returns the data covering an entire scan read to the internal pool.
dwRadarSensorErrorID
Defines the error ID used in health/error signal infra.
Definition: Radar.h:114
dwRadarRange
Defines the range of radar return.
Definition: Radar.h:59
dwRadarReturnType
Defines the type of radar return.
Definition: Radar.h:77
dwRadarDynamicState
Defines the dynamic state of the radar return.
Definition: Radar.h:93
@ DW_RADAR_SENSOR_ERROR_ID_TIMESYNC
Time sync error.
Definition: Radar.h:146
@ DW_RADAR_SENSOR_ERROR_ID_INVALID
Default error id as no error.
Definition: Radar.h:116
@ DW_RADAR_SENSOR_ERROR_ID_SNA
Signal not available error.
Definition: Radar.h:143
@ DW_RADAR_SENSOR_ERROR_ID_INTERFERENCE
Interference error.
Definition: Radar.h:131
@ DW_RADAR_SENSOR_ERROR_ID_UNDER_VOLTAGE
Under voltage error.
Definition: Radar.h:119
@ DW_RADAR_SENSOR_ERROR_ID_FULL_BLOCKAGE
Full blockage error.
Definition: Radar.h:134
@ DW_RADAR_SENSOR_ERROR_ID_OVER_TEMP
Over temperature error.
Definition: Radar.h:128
@ DW_RADAR_SENSOR_ERROR_ID_UNDER_TEMP
Under temperature error.
Definition: Radar.h:125
@ DW_RADAR_SENSOR_ERROR_ID_NO_MEASUREMENT
No measurement error.
Definition: Radar.h:140
@ DW_RADAR_SENSOR_ERROR_ID_LIMITED_PERF
Limited performance error.
Definition: Radar.h:137
@ DW_RADAR_SENSOR_ERROR_ID_OVER_VOLTAGE
Over voltage error.
Definition: Radar.h:122
@ DW_RADAR_RANGE_LONG
Long Range.
Definition: Radar.h:67
@ DW_RADAR_RANGE_UNKNOWN
Unknown Range.
Definition: Radar.h:70
@ DW_RADAR_RANGE_SHORT
Short Range.
Definition: Radar.h:61
@ DW_RADAR_RANGE_MEDIUM
Medium Range.
Definition: Radar.h:64
@ DW_RADAR_RANGE_COUNT
Count.
Definition: Radar.h:73
@ DW_RADAR_RETURN_TYPE_TRACK
Processed tracker output.
Definition: Radar.h:82
@ DW_RADAR_RETURN_TYPE_COUNT
Count.
Definition: Radar.h:88
@ DW_RADAR_RETURN_TYPE_STATUS
Sensor status information.
Definition: Radar.h:85
@ DW_RADAR_RETURN_TYPE_DETECTION
Raw detection.
Definition: Radar.h:79
@ DW_RADAR_DYNAMIC_STATE_STOPPED
Stopped (was moving, now stationary)
Definition: Radar.h:107
@ DW_RADAR_DYNAMIC_STATE_CROSS_TRAFFIC
Cross-traffic.
Definition: Radar.h:104
@ DW_RADAR_DYNAMIC_STATE_STATIONARY
Stationary.
Definition: Radar.h:98
@ DW_RADAR_DYNAMIC_STATE_UNKNOWN
Unknown.
Definition: Radar.h:110
@ DW_RADAR_DYNAMIC_STATE_ONCOMING
Oncoming.
Definition: Radar.h:101
@ DW_RADAR_DYNAMIC_STATE_MOVING
Moving.
Definition: Radar.h:95
The structs below are serialized in binary and the layout is assummed to be packed.
Definition: Radar.h:165
Defines the structure for reporting sensor mount position.
Definition: Radar.h:388
Defines the properties of the radar.
Definition: Radar.h:407
Defines the structure for a complete radar scan.
Definition: Radar.h:259
Defines the type of scan (combination of return type & range)
Definition: Radar.h:151
Defines the return structure for sensor status messages.
Definition: Radar.h:315
Defines the structure for reporting current vehicle dynamics state.
Definition: Radar.h:372
struct dwSensorObject * dwSensorHandle_t
Handle representing a sensor.
Definition: Sensors.h:86