DriveWorks SDK Reference
5.8.83 Release
For Test and Development only

GlobalEgomotion.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) 2019-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
48#ifndef DW_EGOMOTION_GLOBAL_GLOBALEGOMOTION_H_
49#define DW_EGOMOTION_GLOBAL_GLOBALEGOMOTION_H_
50
52#include <dw/sensors/gps/GPS.h>
53
54#ifdef __cplusplus
55extern "C" {
56#endif
57
58typedef struct dwGlobalEgomotionObject* dwGlobalEgomotionHandle_t;
59typedef struct dwGlobalEgomotionObject const* dwGlobalEgomotionConstHandle_t;
60
64typedef struct
65{
68
72
76
78
82typedef struct
83{
87
91
95
97
101typedef struct
102{
105
108
110
112
116typedef struct
117{
120
123
125
127
148 dwConstRigHandle_t rigConfiguration,
149 const char* gpsSensorName);
150
164 const dwGlobalEgomotionParameters* params,
166
177
190
216 const dwEgomotionUncertainty* egomotionUncertainty,
218
236
251
266 dwGlobalEgomotionUncertainty* uncertainty,
268
290 dwGlobalEgomotionUncertainty* uncertainty,
291 dwTime_t timestamp,
293
306
324 dwGlobalEgomotionUncertainty* uncertainty,
325 size_t index,
327
328#ifdef __cplusplus
329}
330#endif
332#endif // DW_EGOMOTION_GLOBAL_GLOBALEGOMOTION_H_
NVIDIA DriveWorks API: Egomotion Methods
NVIDIA DriveWorks API: GPS
struct dwContextObject * dwContextHandle_t
Context handle.
Definition: Context.h:82
#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
Confidence structure with 3x3 covariance matrix.
Definition: Types.h:626
Location point defined by WGS84 coordinates.
Definition: Types.h:677
Defines a single-precision quaternion.
Definition: Types.h:486
Defines a three-element floating-point vector.
Definition: Types.h:355
Holds egomotion state estimate.
Definition: Egomotion.h:475
Holds egomotion uncertainty estimates.
Definition: Egomotion.h:509
dwGeoPointWGS84 position
Position in WGS-84 reference system.
bool validOrientation
Indicates validity of orientation uncertainty estimate.
float32_t horizontalNoiseMeter
Expected horizontal position noise (CEP) of the GNSS sensor [m] A default value of 2....
float32_t verticalNoiseMeter
Expected vertical position noise (CEP) of the GNSS sensor [m] A default value of 5 [m] will be assume...
dwTime_t timestamp
Estimate timestamp.
dwVector3f antennaPosition
GNSS antenna position in the rig coordinate system [m].
dwGNSSCharacteristics sensorCharacteristics
Sensor characteristics.
dwQuaternionf orientation
Rotation from rig coordinate system to ENU coordinate system.
bool validPosition
Indicates validity of position estimate.
float32_t rotationalDrift
Expected magnitude of relative egomotion rotational drift [deg/s] A default value of 10 [deg/h] will ...
dwTime_t timestamp
Estimate timestamp.
dwConfidence3f position
Position uncertainty (easting [m], northing [m], altitude [m]).
size_t historySize
Size of history array, in number of state estimates it holds.
dwConfidence3f orientation
Orientation uncertainty (roll [rad], pitch [rad], yaw [rad]).
bool validPosition
Indicates validity of position uncertainty estimate.
bool validOrientation
Indicates validity of orientation estimate.
DW_API_PUBLIC dwStatus dwGlobalEgomotion_getEstimate(dwGlobalEgomotionResult *result, dwGlobalEgomotionUncertainty *uncertainty, dwGlobalEgomotionConstHandle_t handle)
Get current filter state estimate.
DW_API_PUBLIC dwStatus dwGlobalEgomotion_addGPSMeasurement(const dwGPSFrame *measurement, dwGlobalEgomotionHandle_t handle)
Adds GPS measurement to the global egomotion module.
DW_API_PUBLIC dwStatus dwGlobalEgomotion_reset(dwGlobalEgomotionHandle_t handle)
Resets the state estimate and all history of the global egomotion module.
DW_API_PUBLIC dwStatus dwGlobalEgomotion_getHistoryEntry(dwGlobalEgomotionResult *result, dwGlobalEgomotionUncertainty *uncertainty, size_t index, dwGlobalEgomotionConstHandle_t handle)
Returns an entry from the history array.
DW_API_PUBLIC dwStatus dwGlobalEgomotion_addRelativeMotion(const dwEgomotionResult *egomotionResult, const dwEgomotionUncertainty *egomotionUncertainty, dwGlobalEgomotionHandle_t handle)
Adds relative egomotion estimate to the global egomotion module.
DW_API_PUBLIC dwStatus dwGlobalEgomotion_getHistorySize(size_t *num, dwGlobalEgomotionConstHandle_t handle)
Returns the number of estimates currently stored in the history.
DW_API_PUBLIC dwStatus dwGlobalEgomotion_initParamsFromRig(dwGlobalEgomotionParameters *params, dwConstRigHandle_t rigConfiguration, const char *gpsSensorName)
Initialize global egomotion parameters from a provided RigConfiguration.
DW_API_PUBLIC dwStatus dwGlobalEgomotion_getTimestamp(dwTime_t *timestamp, dwGlobalEgomotionConstHandle_t handle)
Get timestamp of current filter estimate.
DW_API_PUBLIC dwStatus dwGlobalEgomotion_release(dwGlobalEgomotionHandle_t handle)
Releases the global egomotion module.
struct dwGlobalEgomotionObject const * dwGlobalEgomotionConstHandle_t
DW_API_PUBLIC dwStatus dwGlobalEgomotion_initialize(dwGlobalEgomotionHandle_t *handle, const dwGlobalEgomotionParameters *params, dwContextHandle_t ctx)
Initializes the global egomotion module.
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...
struct dwGlobalEgomotionObject * dwGlobalEgomotionHandle_t
GNSS Sensor characteristics.
Holds initialization parameters for the global egomotion module.
Holds global egomotion state estimate.
Holds global egomotion uncertainty estimate.
A GPS packet containing localization information.
Definition: GPS.h:108
struct dwRigObject const * dwConstRigHandle_t
Definition: Rig.h:71