|
|
NVIDIA DriveOS Linux NSR SDK API Reference
|
7.0.3.0 Release
|
Go to the documentation of this file.
46 #ifndef DW_EGOMOTION_2_0_EGOMOTION2_H_
47 #define DW_EGOMOTION_2_0_EGOMOTION2_H_
49 #include <dw/egomotion/base/Egomotion.h>
50 #include <dw/egomotion/base/EgomotionState.h>
51 #include <dw/egomotion/errorhandling/ErrorHandlingParameters.h>
52 #include <dw/egomotion/utils/IMUBiasEstimatorParameters.h>
411 char const* imu1Name,
412 char const* imu2Name,
413 char const* imu3Name);
460 uint32_t
const imu1Index,
461 uint32_t
const imu2Index,
462 uint32_t
const imu3Index);
556 #endif // DW_EGOMOTION_2_0_EGOMOTION2_H_
dwEgomotionSuspensionProperties suspension
Suspension parameters.
float32_t accelerometerBias[3]
Initial accelerometer bias (offset) values. Leave 0 if unknown.
DW_API_PUBLIC dwStatus dwEgomotion2_getAccelerometerBiasByIndex(dwVector3f *accBias, uint32_t const sensorIndex, dwEgomotionConstHandle_t obj)
Get estimated accelerometer bias of a specific IMU.
@ DW_EGOMOTION_MEASUREMENT_WHEEL_SPEEDS
struct dwEgomotionObject * dwEgomotionHandle_t
Egomotion Handle.
size_t imuCount
Number of IMUs used simultaneously, in range [1, DW_EGOMOTION_IMU_COUNT_MAX].
dwVehicleWheelEncoderProperties wheelEncoder
Wheel encoder parameters.
uint32_t imuSensorIndices[DW_EGOMOTION_IMU_COUNT_MAX]
Sensor Ids of used IMU sensors. Order must match for all IMU parameter specification arrays.
size_t stateHistorySize
Internal state history size, in number of elements.
@ DW_EGOMOTION_MEASUREMENT_ANGULAR_ACCELERATION
IMU angular acceleration [rad/s^2].
float32_t accelerationMax
Maximum wheel acceleration, to which the state will be constrained (treated as error if error handlin...
dwGenericVehicle vehicle
Vehicle parameters.
struct dwEgomotionWheelObserverParameters dwEgomotionWheelObserverParameters
Wheel observer parameters.
dwTime_t stepSize
Wheel Observer prediction step size.
dwTransformation3f imuExtrinsics[DW_EGOMOTION_IMU_COUNT_MAX]
IMU extrinsics, transformation from IMU coordinate frame to vehicle rig coordinate frame....
bool fixedStep
Whether wheel observer operates in fixed step or variable step operation during measurement updates.
struct dwRigObject const * dwConstRigHandle_t
Handle representing the const Rig interface.
dwVector3f referencePoint
Reference point used internally, expressed in rig coordinate frame.
dwVector2f centerHeight
Roll (x) and pitch (y) center heights.
dwEgomotionGroundSpeedMeasurementTypes
Ground speed measurement types.
@ DW_EGOMOTION_GROUND_SPEED_COUNT
struct dwEgomotionParameters2 dwEgomotionParameters2
Egomotion parameters.
dwTime_t stepSize
VMO prediction step size.
DW_API_PUBLIC dwPointCloudRangeImageCreatorParams const *const const dwContextHandle_t ctx
@ DW_EGOMOTION_MEASUREMENT_SUSPENSION
DW_API_PUBLIC dwStatus dwEgomotion2_initialize(dwEgomotionHandle_t *const obj, dwEgomotionParameters2 const *params, dwContextHandle_t const ctx)
Initializes the egomotion 2.0 module.
DW_API_PUBLIC dwStatus dwEgomotion2_initDefaultParams(dwEgomotionParameters2 *params)
Initializes the egomotion parameters to sane defaults applicable to most vehicles.
Wheel encoder parameters.
uint32_t positionFuzzyHigh
Upper end of high trust in wheel position (tick) counters, inclusive (variance adaptation).
float32_t speedVarianceLow
Speed variance when speed below speedFuzzyLow.
float32_t chiSquaredInnovationGate
Chi-squared value used to reject outlier speed measurements.
struct dwEgomotionSuspensionProperties dwEgomotionSuspensionProperties
Suspension properties.
dwEgomotionVehicleMovingDirectionDetectorParameters vehicleMovingDirectionDetector
Vehicle moving direction detector parameters.
float32_t gyroscopeBias[3]
Initial gyroscope bias (offset) values. Leave 0 if unknown.
struct dwEgomotionVMOParameters dwEgomotionVMOParameters
Vehicle motion observer parameters.
Egomotion measurement parameters.
@ DW_EGOMOTION_MEASUREMENT_LINEAR_GROUND_SPEED
@ DW_EGOMOTION_MEASUREMENT_STEERING
DW_API_PUBLIC dwStatus dwEgomotion2_initParamsFromRigByIndex(dwEgomotionParameters2 *params, dwConstRigHandle_t rigConfiguration, uint32_t const imu1Index, uint32_t const imu2Index, uint32_t const imu3Index)
Initializes the egomotion parameters to sane defaults given vehicle configuration.
dwEgomotionDirectionMode
Vehicle direction detection modes.
dwVehicleSuspensionProperties properties
Suspension angular gradient around X- and Y-axis.
Parameters for error handling related logic.
struct dwEgomotionMeasurementParameters dwEgomotionMeasurementParameters
Egomotion measurement parameters.
bool enableSuspensionSensorsUsage
Enable usage of suspension sensor signals.
DW_API_PUBLIC dwStatus dwEgomotion2_initParamsFromRig(dwEgomotionParameters2 *params, dwConstRigHandle_t rigConfiguration, char const *imu1Name, char const *imu2Name, char const *imu3Name)
Initializes the egomotion parameters to sane defaults given vehicle configuration.
@ DW_EGOMOTION_GROUND_SPEED_FROM_WHEEL_SPEEDS_REAR_AXLE
Ground speed from wheel speeds only rear axle (Wheel observer is disabled)
@ DW_EGOMOTION_DIRECTION_FROM_SPEED_SIGN_AND_GEAR
Vehicle Moving Direction based on signed wheel encoder and gear information.
size_t stateHistorySize
Number of state estimates to keep in the history (if 0 specified default of 1000 is used).
DW_API_PUBLIC dwStatus dwEgomotion2_initializeState(dwEgomotionStateHandle_t *state, size_t const historySize, dwContextHandle_t ctx)
Initializes an instance of the egomotion 2.0 state history.
float32_t speedVarianceHigh
Speed variance when speed above speedFuzzyHigh.
float32_t groundSpeedCovariance[3]
Measurement covariance parameters (continuous time, coefficients on diagonal).
int64_t dwTime_t
Specifies a timestamp unit, in microseconds.
float float32_t
Specifies POD types.
@ DW_EGOMOTION_MEASUREMENT_TRAILER_ANGLE
Defines a three-element floating-point vector.
@ DW_EGOMOTION_DIRECTION_FROM_WHEEL_DIR_AND_GEAR
Vehicle Moving Direction based on unsigned wheel encoder, wheel direction and gear information.
@ DW_EGOMOTION_GROUND_SPEED_FROM_WHEEL_TICKS_AND_SPEEDS_BOTH_AXLES
Ground speed from wheel ticks and speeds both axles (Wheel observer is enabled)
struct dwEgomotionStateObject * dwEgomotionStateHandle_t
dwTime_t durationNoWheelTickThreshold
Threshold of no wheel ticks duration to determine whether the vehicle rolling direction is void or st...
dwEgomotionIMUGyroBiasEstimatorParameters gyroBiasEstimator
IMU gyroscope bias estimator parameters.
dwVector3f velocityMin
Minimum linear velocity along each axis, to which the state will be constrained (treated as error if ...
dwEgomotionMeasurementTypes
Measurements used by egomotion.
dwVector3f velocityMax
Maximum linear velocity along each axis, to which the state will be constrained (treated as error if ...
struct dwEgomotionIMUIntrinsics dwEgomotionIMUIntrinsics
IMU intrinsic parameters.
DW_API_PUBLIC dwStatus dwEgomotion2_getAccelerometerBias(dwVector3f *accBias, dwEgomotionConstHandle_t obj)
Get estimated accelerometer bias of the BASE IMU.
float32_t positionVarianceHigh
Position (tick) count variance when tick increment between positionFuzzyLow and positionFuzzyHigh.
float32_t speedFuzzyLow
Region below which wheel speeds have low trust (variance adaptation).
@ DW_EGOMOTION_DIRECTION_COUNT
@ DW_EGOMOTION_GROUND_SPEED_FROM_WHEEL_TICKS_AND_SPEEDS_REAR_AXLE
Ground speed from wheel ticks and speeds rear axle (Wheel observer is enabled)
dwEgomotionErrorHandlingParameters errorHandling
Error handling parameters.
@ DW_EGOMOTION_GROUND_SPEED_FROM_LINEAR_SPEED
Ground speed from signed vehicle linear speed at rear axle center (Wheel observer is disabled)
dwEgomotionIMUIntrinsics imuIntrinsics[DW_EGOMOTION_IMU_COUNT_MAX]
IMU intrinsics. Leave 0 initialized if unknown. Order must match the imuSensorIndices.
IMU intrinsic parameters.
@ DW_EGOMOTION_GROUND_SPEED_FROM_WHEEL_SPEEDS_BOTH_AXLES
Ground speed from wheel speeds only both axle (Wheel observer is disabled)
float32_t bodySpeedCovariance[3]
[m^2/s^2, m^2/s^2, m^2/s^2]
dwEgomotionGroundSpeedMeasurementTypes groundSpeedType
Indicates the source for ground speed.
float32_t initialProcessCovariance[5]
[rad^2, rad^2, m^2/s^2, m^2/s^2, m^2/s^2]
Vehicle moving direction detection parameters.
dwEgomotionDirectionMode mode
Mode of Vehicle Moving Direction Detector.
IMU accelerometer bias estimator parameters.
struct dwContextObject * dwContextHandle_t
Context handle.
@ DW_EGOMOTION_DIRECTION_FROM_SPEED_SIGN
Vehicle Moving Direction based on signed wheel encoder information.
float32_t processCovariance[5]
Process covariance parameters (continuous time, coefficients on diagonal).
float32_t processCovariance[3]
Process covariance parameters (continuous time, coefficients on diagonal).
uint32_t positionFuzzyLow
Lower end of high trust in wheel position (tick) counters, inclusive (variance adaptation).
dwTime_t cycleTime[DW_EGOMOTION_MEASUREMENT_TYPES_COUNT]
Expected cycle time of each measurement type.
float32_t speedFuzzyHigh
Region above which wheel speeds have high trust (variance adaptation).
Vehicle motion observer parameters.
dwStatus
Status definition.
struct dwEgomotionVehicleMovingDirectionDetectorParameters dwEgomotionVehicleMovingDirectionDetectorParameters
Vehicle moving direction detection parameters.
float32_t speedMax
Maximum wheel speed, to which the state will be constrained (treated as error if error handling is ac...
IMU gyroscope bias estimator parameters.
float32_t longitudinalGroundSpeedInnovationGate
Variance multiplier value used to reject outlier ground speed measurements.
@ DW_EGOMOTION_MEASUREMENT_TYPES_COUNT
DW_API_PUBLIC dwPointCloudRangeImageCreatorParams const *const params
@ DW_EGOMOTION_IMU_COUNT_MAX
Max number of IMUs supported.
dwEgomotionMeasurementParameters measurements
Measurement parameters.
const NvSciSyncObj *const obj
float32_t accelerationMin
Minimum wheel acceleration, to which the state will be constrained (treated as error if error handlin...
@ DW_EGOMOTION_MEASUREMENT_WHEEL_TICKS
bool automaticUpdate
Automatically update state estimation.
@ DW_EGOMOTION_MEASUREMENT_ANGULAR_VELOCITY
dwEgomotionVMOParameters vehicleMotionObserver
Vehicle motion observer parameters.
float32_t ticksAmbiguousSpeedThreshold
Speed below which driving direction from wheel tick increments and speeds can be ambiguous.
struct dwEgomotionObject const * dwEgomotionConstHandle_t
Const Egomotion Handle.
bool fixedStep
Whether vmo operates in fixed step or variable step operation during measurement updates.
float32_t positionVarianceLow
Position (tick) count variance when tick increment below positionFuzzyLow.
dwEgomotionWheelObserverParameters wheelObserver
Wheel observer parameters.
Wheel observer parameters.
size_t stateHistorySize
Internal state history size, in number of elements.
dwTime_t delay[DW_EGOMOTION_MEASUREMENT_TYPES_COUNT]
Timestamp offset ("delay") of each measurement type, relative to its advertised timestamp.
@ DW_EGOMOTION_MEASUREMENT_PROPER_ACCELERATION
dwEgomotionIMUAccBiasEstimatorParameters accBiasEstimator
IMU accelerometer bias estimator parameters.
@ DW_EGOMOTION_MEASUREMENT_LINEAR_BODY_SPEED
Linear body speed [m/s].
Defines a two-element single-precision floating-point vector.