DriveWorks SDK Reference
5.20.37 Release
For Test and Development only

EgomotionExtra.h
Go to the documentation of this file.
1
2// This code contains NVIDIA Confidential Information and is disclosed
3// under the Mutual Non-Disclosure Agreement.
4//
5// Notice
6// ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS"
7// NVIDIA MAKES NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY,
8// OR OTHERWISE WITH RESPECT TO THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY
9// IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A
10// PARTICULAR PURPOSE.
11//
12// NVIDIA Corporation assumes no responsibility for the consequences of use of
13// such information or for any infringement of patents or other rights of third
14// parties that may result from its use. No license is granted by implication or
15// otherwise under any patent or patent rights of NVIDIA Corporation. No third
16// party distribution is allowed unless expressly authorized by NVIDIA. Details
17// are subject to change without notice. This code supersedes and replaces all
18// information previously supplied. NVIDIA Corporation products are not
19// authorized for use as critical components in life support devices or systems
20// without express written approval of NVIDIA Corporation.
21//
22// Copyright (c) 2022-2024 NVIDIA Corporation. All rights reserved.
23//
24// NVIDIA Corporation and its licensors retain all intellectual property and
25// proprietary rights in and to this software and related documentation and any
26// modifications thereto. Any use, reproduction, disclosure or distribution of
27// this software and related documentation without an express license agreement
28// from NVIDIA Corporation is strictly prohibited.
29//
31#ifndef DW_EGOMOTION_BASE_EGOMOTIONEXTRA_H_
32#define DW_EGOMOTION_BASE_EGOMOTIONEXTRA_H_
33// Generated by dwProto from egomotion_extra.proto DO NOT EDIT BY HAND!
34// See //3rdparty/shared/dwproto/README.md for more information
35
36//WARNING!!!
37// Please don't use any type definition in this file.
38// All of data types in this file are going to be modified and will not
39// follow Nvidia deprecation policy.
40
58#include <dw/core/base/Types.h>
59
62#include <dw/rig/Vehicle.h>
63
64#ifdef __cplusplus
65extern "C" {
66#endif
67
69#define DW_EGOMOTION_MANEUVER_MAX_ARRAY_SIZE 3
70
78
83
86
89
93
104
105// This amounts to max(EgomotionManeuverMotionType) + 1, i.e. the required size of
106// an array if these enum values are interpreted as array offsets.
107#define DW_EGOMOTION_MANEUVER_MOTIONTYPE_COUNT 6
108
117
124
126{
129
131typedef struct dwEgomotionPose
132{
141 int64_t extraFlags;
146
147 // Timestamp of *computation*, not timestamp of validity. Warning!
149
150 // Sequence ID
151 uint32_t sequenceId;
152 uint32_t paddingDoNotUse[3];
155
158{
161
164
168
171{
177
180{
183
186{
190
193{
197
200{
202 size_t size;
204
207{
210
213
216
220
223{
226
229
232
236
237#ifdef __cplusplus
238}
239#endif
240
244#endif // DW_EGOMOTION_BASE_EGOMOTIONEXTRA_H_
Instantaneous state estimate.
Instantaneous state uncertainty estimates.
Defines a three-element double-precision floating point vector.
Definition: MatrixTypes.h:84
Defines a three-element floating-point vector.
Definition: MatrixTypes.h:76
NVIDIA DriveWorks API: (Extra) Core Types
NVIDIA DriveWorks API: Core Types
NVIDIA DriveWorks API: Vehicle Parameters
float float32_t
Specifies POD types.
Definition: BasicTypes.h:59
int64_t dwTime_t
Specifies a timestamp unit, in microseconds.
Definition: BasicTypes.h:65
Optional values that are only defined if the 'valid' flag is true, and undefined otherwise.
Definition: TypesExtra.h:198
A light weighted 16 Btyes status to be carried over along with each DW C struct instance that can ind...
Definition: TypesExtra.h:229
float32_t wheelSpeed[DW_VEHICLE_NUM_WHEELS]
dwTransformation3f rigToRoadPlane
dwTime_t timestamp
Timestamp of the latest input data contributing to the calibration result.
dwValidityStatus validity
Validity of the message.
float32_t currentWheelRadius[DW_VEHICLE_NUM_WHEELS]
Current calibrated wheel radii values.
float32_t relativeTranslationCovariance[6]
dwEgomotionCalibrationState calibrationState
Calibration procedure state.
bool started
Flag indicating whether a calibration routine is running.
dwTransformation3f transformation
Current calibrated extrinsic transformation.
bool fulfilled
if false, the associated maneuver's motion is still required for a routine to complete its estimation
dwTransformation3f rigToChassis
dwQuaternionf rotationLocalFrame
uint32_t paddingDoNotUse[3]
dwOptionalf targetDurationSec
if valid, represents the expected maneuver duration (in seconds)
dwEgomotionCalibrationPropertiesInitializationType initialization
dwVector3d positionLocalFrame
dwEgomotionCalibrationPropertiesVariantType variant
dwEgomotionManeuverMotion motion
the motion of the maneuver
dwTime_t timestamp
Timestamp of the latest input data contributing to the calibration result.
dwTime_t computationTimestamp
dwOptionalf targetAccelerationMeterPerSecSquared
if valid, represents the expected motion acceleration (meters per second^2)
dwEgomotionManeuverStatus status
the status of the maneuver
dwVector3f rawLinearVelocity
dwVector3f gyroscopeBias
float32_t percentageComplete
The current calibration percentage complete status. Valid percentages are in the range [0,...
dwEgomotionUncertainty uncertainty
dwOptionalf targetSpeedMeterPerSec
if valid, represents the expected motion speed (meters per second)
dwEgomotionDirectionTypes vehicleRollingDirection
dwValidityStatus validity
Validity of the message.
dwEgomotionCalibrationState calibrationState
Calibration procedure state.
dwEgomotionManeuver maneuvers[DW_EGOMOTION_MANEUVER_MAX_ARRAY_SIZE]
the different maneuvers of the collection
dwEgomotionCalibrationState state
The current state of a calibration routine.
dwEgomotionResult pose
dwEgomotionVehicleIOState ioState
dwTransformation3f rigToTrailer
dwEgomotionManeuverMotionType type
represents the expected motion type of the maneuver
dwVector3f accelerometerBias
#define DW_EGOMOTION_MANEUVER_MAX_ARRAY_SIZE
Represents a collection of calibration maneuvers.
dwEgomotionManeuverMotionType
Enumeration of different motion types of an egomotion calibration maneuver.
dwEgomotionDirectionTypes
Defines the direction types of vehicle rolling / moving direction.
dwEgomotionCalibrationState
Defines the current state of an individual calibration.
dwEgomotionCalibrationPropertiesVariantType
Enumeration of different variant types of a calibration property.
dwEgomotionCalibrationPropertiesInitializationType
Enumeration of different initialization types of a calibration property.
@ DW_EGOMOTION_MANEUVER_MOTIONTYPE_ANY_TURN
@ DW_EGOMOTION_MANEUVER_MOTIONTYPE_FORWARD_AND_DYNAMIC_OBJECT
@ DW_EGOMOTION_MANEUVER_MOTIONTYPE_STOP
@ DW_EGOMOTION_MANEUVER_MOTIONTYPE_FORWARD
@ DW_EGOMOTION_MANEUVER_MOTIONTYPE_UNSPECIFIED
@ DW_EGOMOTION_MANEUVER_MOTIONTYPE_FORWARD_AFTER_STOP
@ DW_EGOMOTION_MANEUVER_MOTIONTYPE_FORCE32
@ DW_EGOMOTION_DIRECTION_FORWARD
@ DW_EGOMOTION_DIRECTION_UNKNOWN
@ DW_EGOMOTION_DIRECTION_BACKWARD
@ DW_EGOMOTION_DIRECTION_STOP
@ DW_EGOMOTION_CALIBRATION_STATE_FAILED
The routine has failed calibration.
@ DW_EGOMOTION_CALIBRATION_STATE_INVALID
The calibration state is invalid (e.g. when a door with a sensor is open or a mirror is moving)
@ DW_EGOMOTION_CALIBRATION_STATE_NOT_ACCEPTED
The routine hasn't accepted an estimate.
@ DW_EGOMOTION_CALIBRATION_STATE_ACCEPTED
The routine has accepted an estimate and calibration continues.
@ DW_EGOMOTION_CALIBRATION_PROPERTY_VARIANT_FORCE32
@ DW_EGOMOTION_CALIBRATION_PROPERTY_VARIANT_REGULAR
no special self-calibration condition applies
@ DW_EGOMOTION_CALIBRATION_PROPERTY_VARIANT_UNKNOWN
@ DW_EGOMOTION_CALIBRATION_PROPERTY_VARIANT_BOOTSTRAPPED
calibration values are initialized with previously-accepted value, but self-calibration is not runnin...
@ DW_EGOMOTION_CALIBRATION_PROPERTY_VARIANT_FAST_ACCEPTANCE
self-calibration was initialized with previously-accepted value and is running in "fast-acceptance" m...
@ DW_EGOMOTION_CALIBRATION_PROPERTY_INITIALIZATION_FORCE32
@ DW_EGOMOTION_CALIBRATION_PROPERTY_INITIALIZATION_PREVIOUSLY_ACCEPTED
calibration was initialized with previously-accepted values
@ DW_EGOMOTION_CALIBRATION_PROPERTY_INITIALIZATION_UNKNOWN
Struct representing extrinsics calibration with validity.
Struct representing wheel radius calibration.
Struct to represent a collection of calibration maneuvers.
Definition of static calibration properties.
Defines the current status of an individual calibration.
Aggregation struct of a calibration maneuver motion description together with its current runtime sta...
Definition of a single maneuver's expected motion and optional motion properties.
Struct to collect all status information associated with a maneuver.
Holds values required for reconstruction of Egomotion history.
@ DW_VEHICLE_NUM_WHEELS
Number of wheels describing the vehicle.
Definition: Vehicle.h:77
Defines a single-precision quaternion.
Specifies a 3D rigid transformation.
Definition: MatrixTypes.h:182