DriveWorks SDK Reference
5.20.37 Release
For Test and Development only

Engine.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) 2016-2024 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
46#ifndef DW_CALIBRATION_ENGINE_CALIBRATIONENGINE_H_
47#define DW_CALIBRATION_ENGINE_CALIBRATIONENGINE_H_
48
50#include <dw/rig/Rig.h>
54
58#ifndef DW_L2_BUILD
62#endif
64
65#ifdef __cplusplus
66extern "C" {
67#endif
68
89 dwContextHandle_t context);
90
133 uint32_t sensorIndex,
134 const dwCalibrationCameraParams* params,
135 dwEgomotionConstHandle_t egomotion,
136 cudaStream_t stream,
138
168 const uint32_t imuIndex,
169 const uint32_t canIndex,
170 const dwCalibrationIMUParams* params,
172
173#ifndef DW_L2_BUILD
197 uint32_t lidarIndex,
198 uint32_t canIndex,
199 const dwCalibrationLidarParams* params,
200 cudaStream_t stream,
202#endif
203
226 uint32_t radarIndex,
227 uint32_t canIndex,
228 const dwCalibrationRadarParams* params,
230
231#ifndef DW_L2_BUILD
258 uint32_t vehicleSensorIndex,
259 uint32_t leftSensorIndex,
260 uint32_t rightSensorIndex,
261 const dwCalibrationStereoParams* params,
262 cudaStream_t stream,
264
288DW_DEPRECATED("Vehicle Calibration has been deprecated and will be removed/replaced by the next major release")
290 uint32_t sensorIndex,
291 const dwCalibrationVehicleParams* params,
292 dwEgomotionConstHandle_t egoMotion,
293 const dwVehicle* vehicle,
295#endif
296
321
341
361
378
397
416
438
460
485
509 uint32_t indexA, uint32_t indexB,
512
541
542#ifndef DW_L2_BUILD
561DW_DEPRECATED("Vehicle Calibration has been deprecated and will be removed/replaced by the next major release")
565#endif
566
593 uint32_t historyCapacity,
594 const uint32_t* d_featureCount,
595 const uint32_t* d_ages,
596 const dwVector2f* d_locationHistory,
597 const dwFeature2DStatus* d_featureStatuses,
598 uint32_t currentTimeIdx,
599 dwTime_t timestamp,
600 uint32_t sensorIndex,
602
628 uint32_t sensorIndex,
630
631#ifndef DW_L2_BUILD
655 uint32_t pointCount,
656 dwTime_t timestamp,
657 uint32_t sensorIndex,
659#endif
660
661#ifndef DW_L2_BUILD
687 const dwTransformation3f* deltaPoseRigTimeAToTimeB,
688 dwTime_t timestampA,
689 dwTime_t timestampB,
690 uint32_t sensorIndex,
692#endif
693
713 uint32_t sensorIndex,
715
737 dwTime_t timestamp,
738 uint32_t leftSensorIndex,
739 uint32_t rightSensorIndex,
741
760DW_DEPRECATED("dwCalibrationEngine_addVehicleIOState() is deprecated and will be removed in the next major release,"
761 " use dwCalibrationEngine_addVehicleIONonSafetyState() and dwCalibrationEngine_addVehicleIOActuationFeedback instead.")
763 uint32_t sensorIndex,
765
787 uint32_t sensorIndex,
789
811 uint32_t sensorIndex,
813
814#ifdef __cplusplus
815}
816#endif
819#endif // DW_CALIBRATION_ENGINE_CALIBRATIONENGINE_H_
NVIDIA DriveWorks API: Calibration
NVIDIA DriveWorks API: Calibration
NVIDIA DriveWorks API: Core Methods
Defines the radar motion.
NVIDIA DriveWorks API: Radar Doppler Motion
NVIDIA DriveWorks API: Egomotion Methods
dwStatus
Status definition.
Definition: ErrorDefs.h:44
NVIDIA DriveWorks API: Feature Array and Feature History Array
NVIDIA DriveWorks API: Calibration
Calibration parameters for calibrating a IMU sensor this should be added to the dwCalibrationParams p...
Definition: IMUParams.h:53
This structure contains one frame of data from a IMU sensor.
Definition: IMUTypes.h:369
NVIDIA DriveWorks API: Calibration
Calibration parameters for calibrating a lidar sensor this should be added to the dwCalibrationParams...
Definition: LidarParams.h:54
NVIDIA DriveWorks API: Calibration
Calibration parameters for calibrating a radar sensor this should be added to the dwCalibrationParams...
Definition: RadarParams.h:72
NVIDIA DriveWorks API: Rig Configuration
NVIDIA DriveWorks API: Calibration
Calibration parameters for calibrating a stereo sensor.
Definition: StereoParams.h:55
NVIDIA DriveWorks API: Calibration
Vehicle steering calibration-related parameters.
Definition: VehicleParams.h:53
Steering parameter calibration data.
Non-safety critical RoV state.
The vehicle IO state data. Fields only set if supported by VehicleIO driver.
Calibration parameters for calibrating a camera sensor.
Definition: CameraParams.h:91
DW_API_PUBLIC dwStatus dwCalibrationEngine_addLidarPose(const dwTransformation3f *deltaPoseLidarTimeAToTimeB, const dwTransformation3f *deltaPoseRigTimeAToTimeB, dwTime_t timestampA, dwTime_t timestampB, uint32_t sensorIndex, dwCalibrationEngineHandle_t engine)
Adds lidar delta-poses and ego-motion delta poses to the calibration engine.
DW_API_PUBLIC dwStatus dwCalibrationEngine_getVehicleWheelRadius(float32_t *radius, dwVehicleWheels wheel, dwCalibrationRoutineHandle_t routine, dwCalibrationEngineHandle_t engine)
Get currently estimated wheel radius of a vehicle.
DW_API_PUBLIC dwStatus dwCalibrationEngine_getSupportedSignals(dwCalibrationSignal *signals, dwCalibrationRoutineHandle_t routine, dwCalibrationEngineHandle_t engine)
Query a calibration routine for the calibration type and enabled calibration signal components.
DW_API_PUBLIC dwStatus dwCalibrationEngine_getCalibrationStatus(dwCalibrationStatus *status, dwCalibrationRoutineHandle_t routine, dwCalibrationEngineHandle_t engine)
Returns the current status of a calibration routine.
DW_API_PUBLIC dwStatus dwCalibrationEngine_reset(dwCalibrationEngineHandle_t engine)
Resets the Calibration Engine module.
DW_API_PUBLIC dwStatus dwCalibrationEngine_initializeStereo(dwCalibrationRoutineHandle_t *routine, uint32_t vehicleSensorIndex, uint32_t leftSensorIndex, uint32_t rightSensorIndex, const dwCalibrationStereoParams *params, cudaStream_t stream, dwCalibrationEngineHandle_t engine)
This method initializes a stereo camera pose calibration routine relative to the sensor index of the ...
DW_API_PUBLIC dwStatus dwCalibrationEngine_addRadarDopplerMotion(dwRadarDopplerMotion const *const radarMotion, uint32_t sensorIndex, dwCalibrationEngineHandle_t engine)
Adds Radar Doppler motion to the calibration engine.
DW_API_PUBLIC dwStatus dwCalibrationEngine_initialize(dwCalibrationEngineHandle_t *engine, dwConstRigHandle_t rig, dwContextHandle_t context)
Creates and initializes a Calibration Engine.
DW_API_PUBLIC dwStatus dwCalibrationEngine_addVehicleIOState(const dwVehicleIOState *vioState, uint32_t sensorIndex, dwCalibrationEngineHandle_t engine)
Adds vehicle IO state to calibration engine.
DW_API_PUBLIC dwStatus dwCalibrationEngine_addMatches(const dwFeatureHistoryArray *matches, dwTime_t timestamp, uint32_t leftSensorIndex, uint32_t rightSensorIndex, dwCalibrationEngineHandle_t engine)
Adds detected visual feature matches to the calibration engine.
DW_API_PUBLIC dwStatus dwCalibrationEngine_addVehicleIONonSafetyState(dwVehicleIONonSafetyState const *const vioNonSafetyState, uint32_t sensorIndex, dwCalibrationEngineHandle_t engine)
Adds dwVehicleIONonSafetyState to calibration engine.
DW_API_PUBLIC dwStatus dwCalibrationEngine_addFeatureDetections(uint32_t featureCapacity, uint32_t historyCapacity, const uint32_t *d_featureCount, const uint32_t *d_ages, const dwVector2f *d_locationHistory, const dwFeature2DStatus *d_featureStatuses, uint32_t currentTimeIdx, dwTime_t timestamp, uint32_t sensorIndex, dwCalibrationEngineHandle_t engine)
Adds detected visual features to the calibration engine.
DW_API_PUBLIC dwStatus dwCalibrationEngine_addIMUFrame(const dwIMUFrame *imuFrame, uint32_t sensorIndex, dwCalibrationEngineHandle_t engine)
Adds an IMU frame from an IMU sensor to the calibration engine.
DW_API_PUBLIC dwStatus dwCalibrationEngine_addVehicleIOActuationFeedback(dwVehicleIOActuationFeedback const *const vioActuationFeedback, uint32_t sensorIndex, dwCalibrationEngineHandle_t engine)
Adds dwVehicleIOActuationFeedback to calibration engine.
DW_API_PUBLIC dwStatus dwCalibrationEngine_resetCalibration(dwCalibrationRoutineHandle_t routine, dwCalibrationEngineHandle_t engine)
Resets the calibration of a specific calibration routine associated with a calibration engine.
DW_API_PUBLIC dwStatus dwCalibrationEngine_getSensorToRigTransformation(dwTransformation3f *sensorToRig, dwCalibrationRoutineHandle_t routine, dwCalibrationEngineHandle_t engine)
Returns the current sensor to rig transformation of a calibration routine estimating this transformat...
DW_API_PUBLIC dwStatus dwCalibrationEngine_dryrunRoutine(dwCalibrationRoutineHandle_t routine, dwCalibrationEngineHandle_t engine)
Dryrun the routine estimation GPU to record CUDAGraph.
DW_API_PUBLIC dwStatus dwCalibrationEngine_startCalibration(dwCalibrationRoutineHandle_t routine, dwCalibrationEngineHandle_t engine)
Starts a calibration routine associated with a calibration engine.
DW_API_PUBLIC dwStatus dwCalibrationEngine_release(dwCalibrationEngineHandle_t engine)
Releases the Calibration Engine module.
DW_API_PUBLIC dwStatus dwCalibrationEngine_addLidarPointCloud(const dwVector4f *lidarPoints, uint32_t pointCount, dwTime_t timestamp, uint32_t sensorIndex, dwCalibrationEngineHandle_t engine)
Adds a lidar sweep to the calibration engine.
DW_API_PUBLIC dwStatus dwCalibrationEngine_initializeCamera(dwCalibrationRoutineHandle_t *routine, uint32_t sensorIndex, const dwCalibrationCameraParams *params, dwEgomotionConstHandle_t egomotion, cudaStream_t stream, dwCalibrationEngineHandle_t engine)
Initializes a camera calibration routine designated by the sensor provided to the method.
DW_API_PUBLIC dwStatus dwCalibrationEngine_getSensorToSensorTransformation(dwTransformation3f *sensorToSensor, uint32_t indexA, uint32_t indexB, dwCalibrationRoutineHandle_t routine, dwCalibrationEngineHandle_t engine)
Returns the current sensor to sensor transformation of a calibration routine estimating this transfor...
DW_API_PUBLIC dwStatus dwCalibrationEngine_initializeVehicle(dwCalibrationRoutineHandle_t *routine, uint32_t sensorIndex, const dwCalibrationVehicleParams *params, dwEgomotionConstHandle_t egoMotion, const dwVehicle *vehicle, dwCalibrationEngineHandle_t engine)
Initialize vehicle parameter calibration.
DW_API_PUBLIC dwStatus dwCalibrationEngine_stopCalibration(dwCalibrationRoutineHandle_t routine, dwCalibrationEngineHandle_t engine)
Stops a calibration routine associated with a calibration engine.
DW_API_PUBLIC dwStatus dwCalibrationEngine_initializeIMU(dwCalibrationRoutineHandle_t *routine, const uint32_t imuIndex, const uint32_t canIndex, const dwCalibrationIMUParams *params, dwCalibrationEngineHandle_t engine)
Initializes an IMU calibration routine designated by the sensor provided to the method.
DW_API_PUBLIC dwStatus dwCalibrationEngine_initializeLidar(dwCalibrationRoutineHandle_t *routine, uint32_t lidarIndex, uint32_t canIndex, const dwCalibrationLidarParams *params, cudaStream_t stream, dwCalibrationEngineHandle_t engine)
Initializes a lidar calibration routine designated by the sensor provided to the method.
DW_API_PUBLIC dwStatus dwCalibrationEngine_initializeRadar(dwCalibrationRoutineHandle_t *routine, uint32_t radarIndex, uint32_t canIndex, const dwCalibrationRadarParams *params, dwCalibrationEngineHandle_t engine)
Initializes a radar calibration routine designated by the sensor provided to the method.
DW_API_PUBLIC dwStatus dwCalibrationEngine_getVehicleSteeringProperties(dwVehicleSteeringProperties *steering, dwCalibrationRoutineHandle_t routine, dwCalibrationEngineHandle_t engine)
Get vehicle parameter calibration result.
struct dwCalibrationEngineObject * dwCalibrationEngineHandle_t
struct dwCalibrationRoutineObject * dwCalibrationRoutineHandle_t
Handles to calibration module objects.
dwCalibrationSignal
Defines signal types supported by a calibration routine.
Defines the current status of an individual calibration.
float float32_t
Specifies POD types.
Definition: BasicTypes.h:59
int64_t dwTime_t
Specifies a timestamp unit, in microseconds.
Definition: BasicTypes.h:65
struct dwContextObject * dwContextHandle_t
Context handle.
Definition: Context.h:85
#define DW_DEPRECATED(msg)
Definition: Exports.h:68
#define DW_API_PUBLIC
Definition: Exports.h:56
struct dwEgomotionObject const * dwEgomotionConstHandle_t
Const Egomotion Handle.
Definition: Egomotion.h:89
dwFeature2DStatus
Defines the possible status of a feature.
Definition: FeatureList.h:62
Holds pointers to the data exposed by a feature2d list.
Definition: FeatureList.h:116
struct dwRigObject const * dwConstRigHandle_t
Handle representing the const Rig interface.
Definition: Rig.h:74
dwVehicleWheels
Define index for each of the wheels on a 4 wheeled vehicle.
Definition: Vehicle.h:70
DEPRECATED: Properties of a passenger car vehicle.
Definition: Vehicle.h:428
Specifies a 3D rigid transformation.
Definition: MatrixTypes.h:182
Defines a two-element single-precision floating-point vector.
Definition: MatrixTypes.h:48
Defines a four-element single-precision floating point vector.
Definition: MatrixTypes.h:92