Compute Graph Framework SDK Reference  5.16
dwRelativeEgomotionNode.hpp File Reference

Go to the source code of this file.

Classes

class  dw::framework::dwRelativeEgomotionNode
 This node computes the vehicle state and relative motion over time using signals from IMU and wheelspeed sensors. More...
 
struct  dw::framework::dwRelativeEgomotionNodeInitParams
 

Namespaces

namespace  dw
 
namespace  dw::framework
 

Variables

static constexpr uint32_t dw::framework::DW_EGOMOTION_DISABLED_ERROR_IDS_ARRAY_SIZE = 32
 
static constexpr uint32_t dw::framework::DW_EGOMOTION_MAX_DISABLED_ERROR_IDS = 512
 

Class Documentation

◆ dw::framework::dwRelativeEgomotionNodeInitParams

struct dw::framework::dwRelativeEgomotionNodeInitParams
Class Members
dwTime_t cycleTimeIMU Indicates the interval in microseconds between two suspension level updates.
dwTime_t cycleTimeSteering Time offset of wheel speed measurements. This value is subtracted from signal timestamp.
dwTime_t cycleTimeSuspension Indicates the interval in microseconds between two steering angle updates.
dwTime_t cycleTimeWheelEncoder Indicates the interval in microseconds between two IMU updates.
dwTime_t directionDetectorDurationNoWheelTick Minimum wheel acceleration, in rad/s^2, to which the state will be constrained (treated as error if error handling is active). Must be negative.
FixedString< 128 > disabledErrorIds[DW_EGOMOTION_MAX_DISABLED_ERROR_IDS] When a bit is set to true, the corresponding monitor is set as not applicable (disabled). The position of the bit in the array corresponds to the error ID (starting from LSB=0).
uint32_t disabledErrorIdsBitfield[DW_EGOMOTION_DISABLED_ERROR_IDS_ARRAY_SIZE] Whether errors shall lead egomotion to degrade or invalidate its outputs.
uint32_t drivenWheels Reference point used internally for computation, expressed in body coordinate frame. Should be near to IMU mounting location. Important: does not affect reference point of egomotion output estimates.
bool enableDegradations
uint32_t errorHandlingCyclesBetweenLogs
float32_t errorHandlingIMUAccelerationOffsetRange[2] Bounds on valid IMU Acceleration, in m/s^2. Order: Low Bound, Upper Bound.
float32_t errorHandlingIMUAccelerationRange[2] Bounds on valid IMU Turnrate Acceleration, in rad/s^2. Order: Low Bound, Upper Bound.
uint32_t errorHandlingIMUSequenceCounterRange[2] Bounds on valid IMU Sequence Counter, unitless. Order: Low Bound, Upper Bound. (deprecated)
float32_t errorHandlingIMUSequenceCounterRangeDeprecated[2] Bounds on valid VIO Suspension Level Measurements, in m. Order: Low Bound, Upper Bound.
float32_t errorHandlingIMUTemperatureRange[2] Bounds on valid IMU Acceleration Offset, in m/s^2. Order: Low Bound, Upper Bound.
float32_t errorHandlingIMUTurnrateAccelRange[2] Bounds on valid IMU Turnrate Offset Quality, unitless. Order: Low Bound, Upper Bound.
uint32_t errorHandlingIMUTurnrateOffsetQualityRange[2] Bounds on valid IMU Turnrate Offset, in rad/s. Order: Low Bound, Upper Bound.
float32_t errorHandlingIMUTurnrateOffsetRange[2] Bounds on valid IMU Turnrate, in rad/s. Order: Low Bound, Upper Bound.
float32_t errorHandlingIMUTurnrateRange[2] Bounds on valid IMU Sequence Counter, unitless. Order: Low Bound, Upper Bound.
float32_t errorHandlingInternalAccelerationOffsetDriftSpeed[2] Bounds on valid accelerometer offset for egomotion internal estimator, in m/s^2. Order: Low Bound, Upper Bound.
float32_t errorHandlingInternalAccelerationOffsetRange[2] Bounds on valid IMU Temperature, in deg C. Order: Low Bound, Upper Bound.
float32_t errorHandlingInternalAccelerationOffsetShortTermSpan[2] Bounds on valid accelerometer drift speed for egomotion internal estimator, in m/s^3. Order: Low Bound, Upper Bound.
float32_t errorHandlingInternalGyroscopeOffsetDriftSpeed[2] Bounds on valid gyroscope offset for egomotion internal estimator, in rad/s. Order: Low Bound, Upper Bound.
float32_t errorHandlingInternalGyroscopeOffsetRange[2] Bounds on valid accelerometer offset short term span for egomotion internal estimator, in m/s^2. Order: Low Bound, Upper Bound.
float32_t errorHandlingInternalGyroscopeOffsetShortTermSpan[2] Bounds on valid gyroscope drift speed for egomotion internal estimator, in rad/s^2. Order: Low Bound, Upper Bound.
dwLoggerVerbosity errorHandlingLogLevel Bounds on valid gyroscope offset short term span for egomotion internal estimator, in rad/s. Order: Low Bound, Upper Bound.
float32_t errorHandlingVIOBrakeTorqueWheelsRange[2] Bounds on valid VIO Speed Max Measurements, in m/s. Order: Low Bound, Upper Bound.
float32_t errorHandlingVIOFrontSteeringAngleOffsetRange[2] Bounds on valid VIO Rear Wheel Angle Measurements, in rad. Order: Low Bound, Upper Bound.
float32_t errorHandlingVIOFrontSteeringAngleRange[2] Bounds on valid VIO Wheel Speed Measurements, in rad/s. Order: Low Bound, Upper Bound.
float32_t errorHandlingVIORearWheelAngleRange[2] Bounds on valid VIO Front Steering Angle Measurements, in rad. Order: Low Bound, Upper Bound.
float32_t errorHandlingVIOSpeedMaxRange[2] Bounds on valid VIO Speed Min Measurements, in m/s. Order: Low Bound, Upper Bound.
float32_t errorHandlingVIOSpeedMinRange[2] Bounds on valid VIO Wheel Torque Measurements, in Nm. Order: Low Bound, Upper Bound.
float32_t errorHandlingVIOSuspensionLevelRange[2] Bounds on valid VIO Brake Torque Wheels Measurements, in Nm. Order: Low Bound, Upper Bound.
float32_t errorHandlingVIOWheelSpeedRange[2] Indicates which traction configuration is used on this vehicle. 0=AWD, 1=FWD, 2=RWD.
float32_t errorHandlingVIOWheelTorqueRange[2] Bounds on valid VIO Front Steering Angle Offset Measurements, in rad. Order: Low Bound, Upper Bound.
uint32_t groundSpeedType Egomotion state history size, default 1000 if left 0.
uint32_t historySize
const char * imuSensorName
bool notifySEH If true, signals are read only from the sources agreed upon in technical safety concept. If false, valid signals are read from any available source.
dwConstRigHandle_t rigHandle
bool sigPresenceBrakeTorqueWheelsQuality Signals if the IMU Accelerometer offset for Z axis is provided.
bool sigPresenceFrontSteeringAngleControlQualityHigh Signals if the VIO interface signal frontSteeringAngleHigh is expected to be provided by the partner VAL client and is valid.
bool sigPresenceFrontSteeringAngleHigh Signals if the VIO interface signal wheelTicksTimestampQualityRedundant expected to be provided by the partner VAL client and is valid.
bool sigPresenceFrontSteeringTimestampHigh Signals if the VIO interface signal frontSteeringAngleControlQualityHigh is expected to be provided by the partner VAL client and is valid.
bool sigPresenceIMUAccelerometerOffsetZ Signals if the IMU Timestamp Quality signal is provided.
bool sigPresenceIMUSequenceCounter Signals if the IMU Status signal is provided.
bool sigPresenceIMUStatus Signals if the wheel brake torques quality signal is provided.
bool sigPresenceIMUTimestampQuality Signals if the VIO interface signal frontSteeringTimestampHigh is expected to be provided by the partner VAL client and is valid.
bool sigPresenceIMUTurnrateOffsetQualityStatus Signals if the IMU sequence counter signal is provided.
bool sigPresenceRearWheelAngle Ground Speed Type (debug setting for AugResim only).
bool sigPresenceRearWheelAngleQuality Signals if the VIO interface signal rearWheelAngle is expected to be provided by the partner VAL client and is valid.
bool sigPresenceRearWheelAngleTimestamp Signals if the VIO interface signal rearWheelAngleQuality is expected to be provided by the partner VAL client and is valid.
bool sigPresenceRearWheelAngleTimestampQuality Signals if the VIO interface signal rearWheelAngleTimestamp is expected to be provided by the partner VAL client and is valid.
bool sigPresenceSuspensionLevel[4] Signals if the VIO interface signal rearWheelAngleTimestampQuality is expected to be provided by the partner VAL client and is valid.
bool sigPresenceSuspensionLevelCalibrationState Signals if the VIO interface signal suspensionLevelTimestampQuality is expected to be provided by the partner VAL client and is valid.
bool sigPresenceSuspensionLevelQuality Signals if the VIO interface signal suspensionLevel is expected to be provided by the partner VAL client and is valid (order: FL, FR, RL, RR).
bool sigPresenceSuspensionLevelTimestamp Signals if the VIO interface signal suspensionLevelQuality is expected to be provided by the partner VAL client and is valid.
bool sigPresenceSuspensionLevelTimestampQuality Signals if the VIO interface signal suspensionLevelTimestamp is expected to be provided by the partner VAL client and is valid.
bool sigPresenceWheelSpeedQualityRedundant Signals if the VIO interface signal wheelSpeedRedundant expected to be provided by the partner VAL client and is valid.
bool sigPresenceWheelSpeedRedundant Signals if the VIO interface signal suspensionLevelCalibrationState is expected to be provided by the partner VAL client and is valid.
bool sigPresenceWheelTicksDirectionRedundant Signals if the VIO interface signal wheelTicksRedundant expected to be provided by the partner VAL client and is valid.
bool sigPresenceWheelTicksRedundant Signals if the VIO interface signal wheelSpeedQualityRedundant expected to be provided by the partner VAL client and is valid.
bool sigPresenceWheelTicksTimestampQualityRedundant Signals if the VIO interface signal wheelTicksTimestampRedundant expected to be provided by the partner VAL client and is valid.
bool sigPresenceWheelTicksTimestampRedundant Signals if the VIO interface signal wheelTicksDirectionRedundant expected to be provided by the partner VAL client and is valid.
bool strictVIOMapping
float32_t suspensionCenterHeight[2] Indicates the interval in microseconds between two wheel encoder updates (wheel speeds, wheel ticks, wheel directions).
dwTime_t timeOffsetAngularAcceleration Time offset of suspension measurements. This value is subtracted from signal timestamp.
dwTime_t timeOffsetAngularVelocity Time offset of linear acceleration measurements. This value is subtracted from signal timestamp.
dwTime_t timeOffsetProperAcceleration Time offset of angular acceleration measurements. This value is subtracted from signal timestamp.
dwTime_t timeOffsetSteering Signals if the IMU sturnrate offset quality status signal is provided.
dwTime_t timeOffsetSuspension Time offset of steering angle measurements. This value is subtracted from signal timestamp.
dwTime_t timeOffsetWheelSpeeds Time offset of wheel tick measurements. This value is subtracted from signal timestamp.
dwTime_t timeOffsetWheelTicks Time offset of angular velocity measurements. This value is subtracted from signal timestamp.
bool vehicleMotionObserverEnableFixedStep Defines the step size when running the Vehicle Motion Observer in fixed step mode.
dwTime_t vehicleMotionObserverFixedStepSize Threshold of no wheel ticks duration to determine whether the vehicle rolling direction is void or stop, in microseconds.
float32_t vehicleMotionObserverGroundSpeedCovariance[3] Initial process covariance parameters (continuous time, coefficients on diagonal). Elements correspond (approximatively) to [pitch, roll, v_x, v_y, v_z] states.
float32_t vehicleMotionObserverInitialProcessCovariance[5] Process covariance parameters (continuous time, coefficients on diagonal). Elements correspond (approximatively) to [pitch, roll, v_x, v_y, v_z] states.
float32_t vehicleMotionObserverProcessCovariance[5] When true, enables Vehicle Motion Observer fixed step mode.
float32_t vehicleMotionObserverReferencePoint[3] Ground speed measurement covariance parameters (continuous time, coefficients on diagonal). Elements correspond to [v_x, v_y, v_z] along body coordinate frame.
float32_t wheelObserverAccelerationMax Maximum wheel speed, in rad/s, to which the state will be constrained (treated as error if error handling is active). Must be positive.
float32_t wheelObserverAccelerationMin Maximum wheel acceleration, in rad/s^2, to which the state will be constrained (treated as error if error handling is active). Must be positive.
bool wheelObserverEnableFixedStep Defines the step size when running the Wheel Observer in fixed step mode.
dwTime_t wheelObserverFixedStepSize Indicates the suspension center height approximation used by egomotion, in meters, above ground. Order: Height of longitudinal X axis, Height of lateral Y axis.
uint32_t wheelObserverPositionFuzzyHigh Region below which wheel position (tick) counters have low trust (variance adaptation), in increment per successsive wheel encoder measurement cycles.
uint32_t wheelObserverPositionFuzzyLow Speed variance when speed above speedFuzzyHigh. Indicates region of high trust in wheel speed, in rad^2/s^2.
float32_t wheelObserverPositionVarianceHigh Position (tick) count variance when speed below positionFuzzyLow or above positionFuzzyHigh. Indicates region of low trust in wheel position (tick) counters, in rad^2.
float32_t wheelObserverPositionVarianceLow Process covariance parameters (continuous time, coefficients on diagonal). Elements correspond to [position, speed, acceleration] states.
float32_t wheelObserverProcessCovariance[3] When true, enables Wheel Observer fixed step mode.
float32_t wheelObserverSpeedFuzzyHigh Region below which wheel speeds have low trust (variance adaptation), in rad/s.
float32_t wheelObserverSpeedFuzzyLow Region above which wheel position (tick) counters have high trust (variance adaptation), in increment per successsive wheel encoder measurement cycles.
float32_t wheelObserverSpeedMax Region above which wheel speeds have high trust (variance adaptation), in rad/s.
float32_t wheelObserverSpeedVarianceHigh Speed variance when speed below speedFuzzyLow. Indicates region of low trust in wheel speed, in rad^2/s^2.
float32_t wheelObserverSpeedVarianceLow Position (tick) count variance when speed between positionFuzzyLow and positionFuzzyHigh. Indicates region of high trust in wheel position (tick) counters, in rad^2.