DriveWorks SDK Reference
5.16.65 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-2023 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
103
104// This amounts to max(EgomotionManeuverMotionType) + 1, i.e. the required size of
105// an array if these enum values are interpreted as array offsets.
106#define DW_EGOMOTION_MANEUVER_MOTIONTYPE_COUNT 5
107
116
123
125{
128
130typedef struct dwEgomotionPose
131{
140 int64_t extraFlags;
145
146 // Timestamp of *computation*, not timestamp of validity. Warning!
148
149 // Sequence ID
150 uint32_t sequenceId;
152
155{
158
161
165
168{
174
177{
180
183{
187
190{
194
197{
199 size_t size;
201
204{
207
210
213
217
220{
223
226
229
233
234#ifdef __cplusplus
235}
236#endif
237
241#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:195
A light weighted 16 Btyes status to be carried over along with each DW C struct instance that can ind...
Definition: TypesExtra.h:226
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.
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
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_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