NVIDIA DriveOS Linux NSR SDK API Reference

7.0.3.0 Release
GlobalEgomotion.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2019-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: LicenseRef-NvidiaProprietary
4  *
5  * NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
6  * property and proprietary rights in and to this material, related
7  * documentation and any modifications thereto. Any use, reproduction,
8  * disclosure or distribution of this material and related documentation
9  * without an express license agreement from NVIDIA CORPORATION or
10  * its affiliates is strictly prohibited.
11  */
12 
30 #ifndef DW_EGOMOTION_GLOBAL_GLOBALEGOMOTION_H_
31 #define DW_EGOMOTION_GLOBAL_GLOBALEGOMOTION_H_
32 
33 #include <dw/egomotion/base/Egomotion.h>
34 #include <dw/sensors/gps/GPS.h>
35 
36 #include "GlobalEgomotionTypes.h"
37 
38 #ifdef __cplusplus
39 extern "C" {
40 #endif
41 
42 typedef struct dwGlobalEgomotionObject* dwGlobalEgomotionHandle_t;
43 typedef struct dwGlobalEgomotionObject const* dwGlobalEgomotionConstHandle_t;
44 
48 typedef struct
49 {
52 
56 
60 
64 
68 
72 
74 
76 
80 typedef struct
81 {
85 
89 
92  size_t historySize;
93 
95 
120  dwConstRigHandle_t rigConfiguration,
121  const char* gpsSensorName);
122 
142 
157 
174 
204  const dwEgomotionUncertainty* egomotionUncertainty,
206 
231 
250 
269  dwGlobalEgomotionUncertainty* uncertainty,
271 
297  dwGlobalEgomotionUncertainty* uncertainty,
300 
317 
339  dwGlobalEgomotionUncertainty* uncertainty,
340  size_t index,
342 
343 #ifdef __cplusplus
344 }
345 #endif
346 
347 #endif // DW_EGOMOTION_GLOBAL_GLOBALEGOMOTION_H_
dwGPSFrame
A GPS packet containing localization information.
Definition: GPSFrame.h:284
dwGlobalEgomotionGNSSCharacteristics::antennaPosition
dwVector3f antennaPosition
GNSS antenna position in the rig coordinate system [m].
Definition: GlobalEgomotion.h:51
dwGlobalEgomotion_initialize
DW_API_PUBLIC dwStatus dwGlobalEgomotion_initialize(dwGlobalEgomotionHandle_t *handle, const dwGlobalEgomotionParameters *params, dwContextHandle_t ctx)
Initializes the global egomotion module.
dwGlobalEgomotionParameters::historySize
size_t historySize
Size of history array, in number of state estimates it holds.
Definition: GlobalEgomotion.h:92
dwGlobalEgomotion_initParamsFromRig
DW_API_PUBLIC dwStatus dwGlobalEgomotion_initParamsFromRig(dwGlobalEgomotionParameters *params, dwConstRigHandle_t rigConfiguration, const char *gpsSensorName)
Initialize global egomotion parameters from a provided RigConfiguration.
dwConstRigHandle_t
struct dwRigObject const * dwConstRigHandle_t
Handle representing the const Rig interface.
Definition: Rig.h:58
dwGlobalEgomotionParameters::rotationalDrift
float32_t rotationalDrift
Expected magnitude of relative egomotion rotational drift [deg/s] A default value of 10 [deg/h] will ...
Definition: GlobalEgomotion.h:88
ctx
DW_API_PUBLIC dwPointCloudRangeImageCreatorParams const *const const dwContextHandle_t ctx
Definition: PointCloudRangeImageCreator.h:293
dwEgomotionUncertainty
Instantaneous state uncertainty estimates.
Definition: EgomotionTypes.h:495
dwGlobalEgomotion_getTimestamp
DW_API_PUBLIC dwStatus dwGlobalEgomotion_getTimestamp(dwTime_t *timestamp, dwGlobalEgomotionConstHandle_t handle)
Get timestamp of current filter estimate.
dwGlobalEgomotion_addGPSMeasurement
DW_API_PUBLIC dwStatus dwGlobalEgomotion_addGPSMeasurement(const dwGPSFrame *measurement, dwGlobalEgomotionHandle_t handle)
Adds GPS measurement to the global egomotion module.
timestamp
const WFDPipeline const WFDSource const WFDTransition const WFDRect *const const WFDuint64 timestamp
Definition: wfdext.h:61
dwGlobalEgomotionGNSSCharacteristics::verticalNoiseMeter
float32_t verticalNoiseMeter
Expected vertical position noise (CEP) of the GNSS sensor [m] A default value of 5 [m] will be assume...
Definition: GlobalEgomotion.h:59
dwGlobalEgomotionUncertainty
Holds global egomotion uncertainty estimate.
Definition: GlobalEgomotionTypes.h:36
dwGlobalEgomotion_computeEstimate
DW_API_PUBLIC dwStatus dwGlobalEgomotion_computeEstimate(dwGlobalEgomotionResult *result, dwGlobalEgomotionUncertainty *uncertainty, dwTime_t timestamp, dwGlobalEgomotionConstHandle_t handle)
Computes global state estimate at given timestamp, if necessary by linear interpolation between avail...
dwGlobalEgomotionGNSSCharacteristics::useHostTimeGPS
bool useHostTimeGPS
Use host timestamp at reception in global egomotion instead of GPS frame timestamp.
Definition: GlobalEgomotion.h:71
handle
const WFDCommitType const WFDHandle handle
Definition: wfdext.h:124
dwGlobalEgomotionResult
Holds global egomotion state estimate.
Definition: GlobalEgomotionTypes.h:51
dwGlobalEgomotion_getHistoryEntry
DW_API_PUBLIC dwStatus dwGlobalEgomotion_getHistoryEntry(dwGlobalEgomotionResult *result, dwGlobalEgomotionUncertainty *uncertainty, size_t index, dwGlobalEgomotionConstHandle_t handle)
Returns an entry from the history array.
GlobalEgomotionTypes.h
dwGlobalEgomotion_reset
DW_API_PUBLIC dwStatus dwGlobalEgomotion_reset(dwGlobalEgomotionHandle_t handle)
Resets the state estimate and all history of the global egomotion module.
dwGlobalEgomotionParameters::sensorCharacteristics
dwGlobalEgomotionGNSSCharacteristics sensorCharacteristics
Sensor characteristics.
Definition: GlobalEgomotion.h:84
dwGlobalEgomotion_addRelativeMotion
DW_API_PUBLIC dwStatus dwGlobalEgomotion_addRelativeMotion(const dwEgomotionResult *egomotionResult, const dwEgomotionUncertainty *egomotionUncertainty, dwGlobalEgomotionHandle_t handle)
Adds relative egomotion estimate to the global egomotion module.
dwTime_t
int64_t dwTime_t
Specifies a timestamp unit, in microseconds.
Definition: BasicTypes.h:54
float32_t
float float32_t
Specifies POD types.
Definition: BasicTypes.h:41
dwVector3f
Defines a three-element floating-point vector.
Definition: MatrixTypes.h:74
dwGNSSCharacteristics
dwGlobalEgomotionGNSSCharacteristics dwGNSSCharacteristics
Definition: GlobalEgomotion.h:75
dwGlobalEgomotion_release
DW_API_PUBLIC dwStatus dwGlobalEgomotion_release(dwGlobalEgomotionHandle_t handle)
Releases the global egomotion module.
dwGlobalEgomotion_getEstimate
DW_API_PUBLIC dwStatus dwGlobalEgomotion_getEstimate(dwGlobalEgomotionResult *result, dwGlobalEgomotionUncertainty *uncertainty, dwGlobalEgomotionConstHandle_t handle)
Get current filter state estimate.
dwGlobalEgomotionGNSSCharacteristics::horizontalNoiseMeter
float32_t horizontalNoiseMeter
Expected horizontal position noise (CEP) of the GNSS sensor [m] A default value of 2....
Definition: GlobalEgomotion.h:55
dwContextHandle_t
struct dwContextObject * dwContextHandle_t
Context handle.
Definition: Context.h:74
dwGlobalEgomotionGNSSCharacteristics::timeOffsetGPS
dwTime_t timeOffsetGPS
Time offset to be subtracted from timestamp provided in dwGPSFrame [us] Leave 0 unless the timestamp ...
Definition: GlobalEgomotion.h:67
dwGlobalEgomotionHandle_t
struct dwGlobalEgomotionObject * dwGlobalEgomotionHandle_t
Definition: GlobalEgomotion.h:42
dwGlobalEgomotion_getHistorySize
DW_API_PUBLIC dwStatus dwGlobalEgomotion_getHistorySize(size_t *num, dwGlobalEgomotionConstHandle_t handle)
Returns the number of estimates currently stored in the history.
dwStatus
dwStatus
Status definition.
Definition: ErrorDefs.h:27
params
DW_API_PUBLIC dwPointCloudRangeImageCreatorParams const *const params
Definition: PointCloudRangeImageCreator.h:292
dwGlobalEgomotionParameters
Holds initialization parameters for the global egomotion module.
Definition: GlobalEgomotion.h:80
DW_API_PUBLIC
#define DW_API_PUBLIC
Definition: Exports.h:38
dwGlobalEgomotionGNSSCharacteristics
GNSS Sensor characteristics.
Definition: GlobalEgomotion.h:48
dwGlobalEgomotionGNSSCharacteristics::cycleTimeGPS
dwTime_t cycleTimeGPS
Cycle time of GPS updates [us] If left 0 a default value of 1'000'000 us (1 second) will be assumed.
Definition: GlobalEgomotion.h:63
dwEgomotionResult
Instantaneous state estimate.
Definition: EgomotionTypes.h:457
dwGlobalEgomotionConstHandle_t
struct dwGlobalEgomotionObject const * dwGlobalEgomotionConstHandle_t
Definition: GlobalEgomotion.h:43