NVIDIA DriveOS Linux NSR SDK API Reference

7.0.3.0 Release
EgomotionState.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2019-2025 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 
60 #ifndef DW_EGOMOTION_BASE_EGOMOTIONSTATE_H_
61 #define DW_EGOMOTION_BASE_EGOMOTIONSTATE_H_
62 
63 #include <dw/egomotion/base/Egomotion.h>
64 
65 #ifdef __cplusplus
66 extern "C" {
67 #endif
68 
69 typedef struct dwEgomotionStateObject* dwEgomotionStateHandle_t;
70 typedef struct dwEgomotionStateObject const* dwConstEgomotionStateHandle_t;
71 
75 typedef struct dwEgomotionStateParams
76 {
79 
81  size_t historySize;
83 
103 
123 
141 
142 // --------------------------------------------
143 // State
144 // --------------------------------------------
145 
156 
167  dwTime_t timestamp_a, dwTime_t timestamp_b,
169 
179  dwEgomotionTransformationQuality* const quality,
180  dwTime_t const timestamp,
181  dwCoordinateSystem const coordinateSystemA,
182  dwCoordinateSystem const coordinateSystemB,
184 
194 
204 
214 
224 
234 
244 
254  size_t index, dwConstEgomotionStateHandle_t obj);
255 
265 
292 
307 
324 
344 dwStatus dwEgomotionState_serialize(size_t* numBytes, uint8_t* buffer, size_t bufferCapacity, dwConstEgomotionStateHandle_t state);
345 
365 dwStatus dwEgomotionState_deserialize(const uint8_t* buffer, size_t bufferSize, dwEgomotionStateHandle_t state);
366 
384 
403 
404 #ifdef __cplusplus
405 }
406 #endif
407 
408 #endif // DW_EGOMOTION_BASE_EGOMOTIONSTATE_H_
dwEgomotionState_getMaxNumBytes
DW_API_PUBLIC dwStatus dwEgomotionState_getMaxNumBytes(size_t *bufferCapacity, dwConstEgomotionStateHandle_t state)
Get maximal number of bytes required for a buffer to contain serialized state.
dwEgomotion_getState
DW_API_PUBLIC dwStatus dwEgomotion_getState(dwEgomotionStateHandle_t state, dwEgomotionConstHandle_t obj)
Fills out already preallocated state handle.
dwEgomotionHandle_t
struct dwEgomotionObject * dwEgomotionHandle_t
Egomotion Handle.
Definition: Egomotion.h:67
dwEgomotionState_getMotionModel
DW_API_PUBLIC dwStatus dwEgomotionState_getMotionModel(dwMotionModel *model, dwConstEgomotionStateHandle_t obj)
dwEgomotion_getHistoryCapacity
DW_API_PUBLIC dwStatus dwEgomotion_getHistoryCapacity(size_t *capacity, dwEgomotionConstHandle_t obj)
Returns the capacity of the history, i.e.
dwEgomotionState_deserialize
DW_API_PUBLIC dwStatus dwEgomotionState_deserialize(const uint8_t *buffer, size_t bufferSize, dwEgomotionStateHandle_t state)
Deserialize the state from the provided buffer.
dwEgomotionState_computeRelativeTransformation
DW_API_PUBLIC dwStatus dwEgomotionState_computeRelativeTransformation(dwTransformation3f *poseAtoB, dwEgomotionTransformationQuality *quality, dwTime_t timestamp_a, dwTime_t timestamp_b, dwConstEgomotionStateHandle_t obj)
dwEgomotionStateParams
struct dwEgomotionStateParams dwEgomotionStateParams
Defines egomotion state initialization parameters.
ctx
DW_API_PUBLIC dwPointCloudRangeImageCreatorParams const *const const dwContextHandle_t ctx
Definition: PointCloudRangeImageCreator.h:293
dwEgomotionUncertainty
Instantaneous state uncertainty estimates.
Definition: EgomotionTypes.h:495
dwEgomotionState_getGyroscopeBias
DW_API_PUBLIC dwStatus dwEgomotionState_getGyroscopeBias(dwVector3f *gyroBias, dwConstEgomotionStateHandle_t obj)
dwEgomotionStateParams::historySize
size_t historySize
Maximal number of elements to keep in history.
Definition: EgomotionState.h:81
dwEgomotionState_getHistorySize
DW_API_PUBLIC dwStatus dwEgomotionState_getHistorySize(size_t *num, dwConstEgomotionStateHandle_t obj)
dwEgomotionState_createEmpty
DW_API_PUBLIC dwStatus dwEgomotionState_createEmpty(dwEgomotionStateHandle_t *state, dwEgomotionStateParams params, dwContextHandle_t ctx)
Create empty state for a given motion model type.
dwEgomotionState_append
DW_API_PUBLIC dwStatus dwEgomotionState_append(dwEgomotionStateHandle_t state, dwConstEgomotionStateHandle_t source)
Append egomotion state to pre-existing state handle.
dwEgomotionState_getHistoryElement
DW_API_PUBLIC dwStatus dwEgomotionState_getHistoryElement(dwEgomotionResult *pose, dwEgomotionUncertainty *uncertainty, size_t index, dwConstEgomotionStateHandle_t obj)
timestamp
const WFDPipeline const WFDSource const WFDTransition const WFDRect *const const WFDuint64 timestamp
Definition: wfdext.h:61
dwConstEgomotionStateHandle_t
struct dwEgomotionStateObject const * dwConstEgomotionStateHandle_t
Definition: EgomotionState.h:70
dwEgomotionState_computeBodyTransformation
DW_API_PUBLIC dwStatus dwEgomotionState_computeBodyTransformation(dwTransformation3f *const transformationAToB, dwEgomotionTransformationQuality *const quality, dwTime_t const timestamp, dwCoordinateSystem const coordinateSystemA, dwCoordinateSystem const coordinateSystemB, dwConstEgomotionStateHandle_t const obj)
dwEgomotionState_getEstimationTimestamp
DW_API_PUBLIC dwStatus dwEgomotionState_getEstimationTimestamp(dwTime_t *timestamp, dwConstEgomotionStateHandle_t obj)
dwTime_t
int64_t dwTime_t
Specifies a timestamp unit, in microseconds.
Definition: BasicTypes.h:54
dwVector3f
Defines a three-element floating-point vector.
Definition: MatrixTypes.h:74
dwEgomotionStateHandle_t
struct dwEgomotionStateObject * dwEgomotionStateHandle_t
Definition: EgomotionState.h:69
source
const WFDPipeline const WFDSource source
Definition: wfdext.h:58
dwEgomotion_createEmptyState
DW_API_PUBLIC dwStatus dwEgomotion_createEmptyState(dwEgomotionStateHandle_t *state, dwEgomotionHandle_t obj)
Create empty state from the given egomotion module.
dwEgomotionTransformationQuality
Relative transformation validity and uncertainty.
Definition: EgomotionTypes.h:514
dwEgomotionState_getHistoryCapacity
DW_API_PUBLIC dwStatus dwEgomotionState_getHistoryCapacity(size_t *capacity, dwConstEgomotionStateHandle_t obj)
dwEgomotionStateParams
Defines egomotion state initialization parameters.
Definition: EgomotionState.h:75
dwEgomotionState_copy
DW_API_PUBLIC dwStatus dwEgomotionState_copy(dwEgomotionStateHandle_t state, dwConstEgomotionStateHandle_t source)
Copy existing egomotion state to preallocated state handle.
dwEgomotionState_getUncertainty
DW_API_PUBLIC dwStatus dwEgomotionState_getUncertainty(dwEgomotionUncertainty *result, dwConstEgomotionStateHandle_t obj)
dwContextHandle_t
struct dwContextObject * dwContextHandle_t
Context handle.
Definition: Context.h:74
timestamp_us
dwTime_t timestamp_us
Definition: IMUTypes.h:9
dwEgomotionStateParams::type
dwMotionModel type
Type of the motion model used to hold data by the state.
Definition: EgomotionState.h:78
dwCoordinateSystem
dwCoordinateSystem
Coordinate systems.
Definition: CoordinateSystem.h:43
dwStatus
dwStatus
Status definition.
Definition: ErrorDefs.h:27
dwTransformation3f
Specifies a 3D rigid transformation.
Definition: MatrixTypes.h:226
dwEgomotionState_estimate
DW_API_PUBLIC dwStatus dwEgomotionState_estimate(dwEgomotionResult *pose, dwEgomotionUncertainty *uncertainty, dwTime_t timestamp_us, dwConstEgomotionStateHandle_t obj)
params
DW_API_PUBLIC dwPointCloudRangeImageCreatorParams const *const params
Definition: PointCloudRangeImageCreator.h:292
dwEgomotionState_serialize
DW_API_PUBLIC dwStatus dwEgomotionState_serialize(size_t *numBytes, uint8_t *buffer, size_t bufferCapacity, dwConstEgomotionStateHandle_t state)
Serialize the state out into the provided buffer.
DW_API_PUBLIC
#define DW_API_PUBLIC
Definition: Exports.h:38
obj
const NvSciSyncObj *const obj
Definition: wfdext.h:120
dwEgomotionState_getEstimation
DW_API_PUBLIC dwStatus dwEgomotionState_getEstimation(dwEgomotionResult *result, dwConstEgomotionStateHandle_t obj)
dwEgomotionConstHandle_t
struct dwEgomotionObject const * dwEgomotionConstHandle_t
Const Egomotion Handle.
Definition: Egomotion.h:72
dwEgomotionState_release
DW_API_PUBLIC dwStatus dwEgomotionState_release(dwEgomotionStateHandle_t state)
Releases the egomotion state previously created with dwEgomotionState_createEmpty.
dwMotionModel
dwMotionModel
Defines the motion models.
Definition: EgomotionTypes.h:32
dwEgomotionResult
Instantaneous state estimate.
Definition: EgomotionTypes.h:457