• <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>
  • Compute Graph Framework SDK Reference  5.22
    All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
    dwRelativeEgomotionNode.hpp
    Go to the documentation of this file.
    1
    2//
    3// Notice
    4// ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
    5// NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
    6// THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
    7// MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
    8//
    9// NVIDIA CORPORATION & AFFILIATES assumes no responsibility for the consequences of use of such
    10// information or for any infringement of patents or other rights of third parties that may
    11// result from its use. No license is granted by implication or otherwise under any patent
    12// or patent rights of NVIDIA CORPORATION & AFFILIATES. No third party distribution is allowed unless
    13// expressly authorized by NVIDIA. Details are subject to change without notice.
    14// This code supersedes and replaces all information previously supplied.
    15// NVIDIA CORPORATION & AFFILIATES products are not authorized for use as critical
    16// components in life support devices or systems without express written approval of
    17// NVIDIA CORPORATION & AFFILIATES.
    18//
    19// SPDX-FileCopyrightText: Copyright (c) 2022-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
    20// SPDX-License-Identifier: LicenseRef-NvidiaProprietary
    21//
    22// NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
    23// property and proprietary rights in and to this material, related
    24// documentation and any modifications thereto. Any use, reproduction,
    25// disclosure or distribution of this material and related documentation
    26// without an express license agreement from NVIDIA CORPORATION or
    27// its affiliates is strictly prohibited.
    28//
    30
    31#ifndef DWFRAMEWORK_DWNODES_EGOMOTION_DWRELATIVEEGOMOTIONNODE_DWRELATIVEEGOMOTIONNODE_HPP_
    32#define DWFRAMEWORK_DWNODES_EGOMOTION_DWRELATIVEEGOMOTIONNODE_DWRELATIVEEGOMOTIONNODE_HPP_
    33
    34#include <dw/core/logger/Logger.h>
    35#include <dw/egomotion/base/Egomotion.h>
    36#include <dw/egomotion/2.0/Egomotion2.h>
    37#include <dw/egomotion/2.0/Egomotion2Extra.h>
    38#include <dw/roadcast/base_types/RoadCastPacketTypes.hpp>
    40#include <dwcgf/node/Node.hpp>
    43#include <dwcgf/pass/Pass.hpp>
    45#include <dwcgf/port/Port.hpp>
    47#include <dw/egomotion/errorhandling/ErrorHandlingParameters.h>
    48#include <dw/egomotion/errorhandling/Types.hpp>
    49#include <dwframework/dwnodes/common/channelpackets/DwframeworkTypes.hpp>
    50#include <dwframework/dwnodes/common/channelpackets/EgomotionState.hpp>
    51#include <dwframework/dwnodes/common/channelpackets/IMU.hpp>
    52#include <dwframework/dwnodes/common/channelpackets/SelfCalibrationTypes.hpp>
    53#include <dwframework/dwnodes/common/channelpackets/SensorCommonTypes.hpp>
    54#include <dwframework/dwnodes/common/channelpackets/VehicleIOValStructures.hpp>
    55
    56namespace dw
    57{
    58namespace framework
    59{
    60
    61static constexpr uint32_t DW_EGOMOTION_DISABLED_ERROR_IDS_ARRAY_SIZE = 32;
    62static constexpr uint32_t DW_EGOMOTION_MAX_DISABLED_ERROR_IDS = 512;
    63static_assert(DW_EGOMOTION_ERROR_ID_COUNT > sizeof(uint32_t) * DW_EGOMOTION_DISABLED_ERROR_IDS_ARRAY_SIZE, "Error ID count exceeds capacity of disabled error IDs bitfield (static param).");
    64static_assert(DW_EGOMOTION_ERROR_ID_COUNT >= DW_EGOMOTION_MAX_DISABLED_ERROR_IDS, "Max disabled error ids must be less than or equal to error id count");
    65
    67{
    68 // Unnamed parameters, automatically set by CGF framework based on their type
    69 dwConstRigHandle_t rigHandle;
    70 const char* imuSensorName;
    71
    72 // Named parameters, defined in Egomotion.graphlet.json. Please keep them in the same order.
    73 // Make sure to explictly set non-zero defaults to the same value as in graphlet.
    74 // GRAPHLET DEFAULT VALUES FOR BELOW PARAMETERS WILL OVERRIDE EGOMOTION'S INTERNAL AUTO-SELECTED DEFAULTS AND MUST
    75 // THEREFORE APPLY TO ALL CARS, BE SET TO THE SAME VALUE AS INTERNAL DEFAULT OR BE SET TO A RESERVED OR INVALID VALUE.
    76
    77 dwEgomotionGroundSpeedMeasurementTypes groundSpeedType{DW_EGOMOTION_GROUND_SPEED_COUNT};
    111 dwTime_t cycleTimeIMU;
    113 float32_t suspensionCenterHeight[2]{-1.F, -1.F};
    121 uint32_t wheelObserverPositionFuzzyLow{UINT32_MAX};
    122 uint32_t wheelObserverPositionFuzzyHigh{UINT32_MAX};
    134 float32_t vehicleMotionObserverReferencePoint[3]{-1.F, -1.F, -1.F};
    135 uint32_t drivenWheels{UINT32_MAX};
    160 dwLoggerVerbosity errorHandlingLogLevel{DW_LOG_SILENT};
    163 bool notifySEH{true};
    167};
    168
    169static_assert(DW_EGOMOTION_MAX_DISABLED_ERROR_IDS <= static_cast<size_t>(dw::egomotion::errorhandling::ErrorId::COUNT), "Max disabled error ids must be less than or equal to error id count");
    170
    184{
    185public:
    186 // coverity[autosar_cpp14_a7_1_5_violation] RFD Accepted: TID-2201
    187 static constexpr auto describeInputPorts()
    188 {
    189 // TODO(csketch): RFD -- user defined literal being interpreted as c style cast.
    190 // coverity[autosar_cpp14_a5_2_2_violation] RFD Pending: TID-1983
    192 DW_DESCRIBE_PORT(dwIMUFrame, "IMU_FRAME"_sv),
    193 DW_DESCRIBE_PORT(dwVehicleIOASILStateE2EWrapper, "VEHICLE_IO_ASIL_STATE"_sv),
    194 DW_DESCRIBE_PORT(dwVehicleIOQMState, "VEHICLE_IO_QM_STATE"_sv),
    195 DW_DESCRIBE_PORT(dwCalibratedExtrinsics, "IMU_EXTRINSICS"_sv),
    196 DW_DESCRIBE_PORT(dwCalibratedWheelRadii, "WHEEL_RADII"_sv));
    197 };
    198 // coverity[autosar_cpp14_a7_1_5_violation] RFD Accepted: TID-2201
    199 static constexpr auto describeOutputPorts()
    200 {
    201 // TODO(csketch): RFD -- user defined literal being interpreted as c style cast.
    202 // coverity[autosar_cpp14_a5_2_2_violation] RFD Pending: TID-1983
    204 DW_DESCRIBE_PORT(dwEgomotionStateHandle_t, "EGOMOTION_STATE"_sv),
    205 DW_DESCRIBE_PORT(dwEgomotionPosePayload, "EGOMOTION_POSE_PAYLOAD"_sv),
    206 DW_DESCRIBE_PORT(dwCalibratedIMUIntrinsics, "IMU_INTRINSICS"_sv),
    207 DW_DESCRIBE_PORT(dwValEgomotion, "VAL_EGOMOTION_DATA"_sv, PortBinding::OPTIONAL),
    208 DW_DESCRIBE_PORT(dwValEgomotion, "VAL_EGOMOTION_DATA_SECONDARY"_sv, PortBinding::OPTIONAL));
    209 };
    210 // coverity[autosar_cpp14_a7_1_5_violation] RFD Accepted: TID-2201
    211 static constexpr auto describePasses()
    212 {
    214 describePass(StringView{"SETUP"}, DW_PROCESSOR_TYPE_CPU),
    215 describePass(StringView{"ADD_IMU"}, DW_PROCESSOR_TYPE_CPU),
    216 describePass(StringView{"ADD_VEHICLE_STATE"}, DW_PROCESSOR_TYPE_CPU),
    217 describePass(StringView{"UPDATE_IMU_EXTRINSICS"}, DW_PROCESSOR_TYPE_CPU),
    218 describePass(StringView{"UPDATE_WHEEL_RADII"}, DW_PROCESSOR_TYPE_CPU),
    219 describePass(StringView{"PROCESS"}, DW_PROCESSOR_TYPE_CPU),
    220 describePass(StringView{"SEND_STATE"}, DW_PROCESSOR_TYPE_CPU),
    221 describePass(StringView{"TEARDOWN"}, DW_PROCESSOR_TYPE_CPU));
    222 };
    223
    224 static std::unique_ptr<dwRelativeEgomotionNode> create(ParameterProvider& provider);
    225
    226 dwStatus getEgomotionParameters(dwEgomotionParameters2& params);
    227
    228 // coverity[autosar_cpp14_a7_1_5_violation] RFD Accepted: TID-1984
    229 static constexpr auto describeParameters()
    230 {
    231 // TODO(csketch): RFD -- user defined literal being interpreted as c style cast.
    232 // coverity[autosar_cpp14_a5_2_2_violation] RFD Pending: TID-1983
    234 describeConstructorArgument<dwRelativeEgomotionNodeInitParams>(
    236 dwConstRigHandle_t,
    239 const char*,
    241 "imuIndex"_sv,
    244 dwEgomotionGroundSpeedMeasurementTypes,
    245 "groundSpeedType"_sv,
    248 bool,
    249 "sigPresenceRearWheelAngle"_sv,
    252 bool,
    253 "sigPresenceRearWheelAngleQuality"_sv,
    256 bool,
    257 "sigPresenceRearWheelAngleTimestamp"_sv,
    260 bool,
    261 "sigPresenceRearWheelAngleTimestampQuality"_sv,
    264 bool,
    265 "sigPresenceSuspensionLevel"_sv, 4,
    268 bool,
    269 "sigPresenceSuspensionLevelQuality"_sv,
    272 bool,
    273 "sigPresenceSuspensionLevelTimestamp"_sv,
    276 bool,
    277 "sigPresenceSuspensionLevelTimestampQuality"_sv,
    280 bool,
    281 "sigPresenceSuspensionLevelCalibrationState"_sv,
    284 bool,
    285 "sigPresenceWheelSpeedRedundant"_sv,
    288 bool,
    289 "sigPresenceWheelSpeedQualityRedundant"_sv,
    292 bool,
    293 "sigPresenceWheelTicksRedundant"_sv,
    296 bool,
    297 "sigPresenceWheelTicksDirectionRedundant"_sv,
    300 bool,
    301 "sigPresenceWheelTicksTimestampRedundant"_sv,
    304 bool,
    305 "sigPresenceWheelTicksTimestampQualityRedundant"_sv,
    308 bool,
    309 "sigPresenceFrontSteeringAngleHigh"_sv,
    312 bool,
    313 "sigPresenceFrontSteeringAngleControlQualityHigh"_sv,
    316 bool,
    317 "sigPresenceFrontSteeringTimestampHigh"_sv,
    320 bool,
    321 "sigPresenceIMUTimestampQuality"_sv,
    324 bool,
    325 "sigPresenceIMUAccelerometerOffsetZ"_sv,
    328 bool,
    329 "sigPresenceBrakeTorqueWheelsQuality"_sv,
    332 bool,
    333 "sigPresenceIMUStatus"_sv,
    336 bool,
    337 "sigPresenceIMUSequenceCounter"_sv,
    340 bool,
    341 "sigPresenceIMUTurnrateOffsetQualityStatus"_sv,
    344 dwTime_t,
    345 "timeOffsetSteering"_sv,
    348 dwTime_t,
    349 "timeOffsetSuspension"_sv,
    352 dwTime_t,
    353 "timeOffsetAngularAcceleration"_sv,
    356 dwTime_t,
    357 "timeOffsetProperAcceleration"_sv,
    360 dwTime_t,
    361 "timeOffsetAngularVelocity"_sv,
    364 dwTime_t,
    365 "timeOffsetWheelTicks"_sv,
    368 dwTime_t,
    369 "timeOffsetWheelSpeeds"_sv,
    372 dwTime_t,
    373 "cycleTimeSteering"_sv,
    376 dwTime_t,
    377 "cycleTimeSuspension"_sv,
    380 dwTime_t,
    381 "cycleTimeIMU"_sv,
    384 dwTime_t,
    385 "cycleTimeWheelEncoder"_sv,
    388 float32_t,
    389 "suspensionCenterHeight"_sv, 2,
    392 dwTime_t,
    393 "wheelObserverFixedStepSize"_sv,
    396 bool,
    397 "wheelObserverEnableFixedStep"_sv,
    400 float32_t,
    401 "wheelObserverProcessCovariance"_sv, 3,
    404 float32_t,
    405 "wheelObserverPositionVarianceLow"_sv,
    408 float32_t,
    409 "wheelObserverPositionVarianceHigh"_sv,
    412 float32_t,
    413 "wheelObserverSpeedVarianceLow"_sv,
    416 float32_t,
    417 "wheelObserverSpeedVarianceHigh"_sv,
    420 uint32_t,
    421 "wheelObserverPositionFuzzyLow"_sv,
    424 uint32_t,
    425 "wheelObserverPositionFuzzyHigh"_sv,
    428 float32_t,
    429 "wheelObserverSpeedFuzzyLow"_sv,
    432 float32_t,
    433 "wheelObserverSpeedFuzzyHigh"_sv,
    436 float32_t,
    437 "wheelObserverSpeedMax"_sv,
    440 float32_t,
    441 "wheelObserverAccelerationMax"_sv,
    444 float32_t,
    445 "wheelObserverAccelerationMin"_sv,
    448 dwTime_t,
    449 "directionDetectorDurationNoWheelTick"_sv,
    452 dwTime_t,
    453 "vehicleMotionObserverFixedStepSize"_sv,
    456 bool,
    457 "vehicleMotionObserverEnableFixedStep"_sv,
    460 float32_t,
    461 "vehicleMotionObserverProcessCovariance"_sv, 5,
    464 float32_t,
    465 "vehicleMotionObserverInitialProcessCovariance"_sv, 5,
    468 float32_t,
    469 "vehicleMotionObserverGroundSpeedCovariance"_sv, 3,
    472 float32_t,
    473 "vehicleMotionObserverReferencePoint"_sv, 3,
    476 uint32_t,
    477 "drivenWheels"_sv,
    480 float32_t,
    481 "errorHandlingVIOWheelSpeedRange"_sv, 2,
    484 float32_t,
    485 "errorHandlingVIOFrontSteeringAngleRange"_sv, 2,
    488 float32_t,
    489 "errorHandlingVIORearWheelAngleRange"_sv, 2,
    492 float32_t,
    493 "errorHandlingVIOFrontSteeringAngleOffsetRange"_sv, 2,
    496 float32_t,
    497 "errorHandlingVIOWheelTorqueRange"_sv, 2,
    500 float32_t,
    501 "errorHandlingVIOSpeedMinRange"_sv, 2,
    504 float32_t,
    505 "errorHandlingVIOSpeedMaxRange"_sv, 2,
    508 float32_t,
    509 "errorHandlingVIOBrakeTorqueWheelsRange"_sv, 2,
    512 float32_t,
    513 "errorHandlingVIOSuspensionLevelRange"_sv, 2,
    516 float32_t,
    517 "errorHandlingIMUSequenceCounterRangeDeprecated"_sv, 2,
    520 uint32_t,
    521 "errorHandlingIMUSequenceCounterRange"_sv, 2,
    524 float32_t,
    525 "errorHandlingIMUTurnrateRange"_sv, 2,
    528 float32_t,
    529 "errorHandlingIMUTurnrateOffsetRange"_sv, 2,
    532 uint32_t,
    533 "errorHandlingIMUTurnrateOffsetQualityRange"_sv, 2,
    536 float32_t,
    537 "errorHandlingIMUTurnrateAccelRange"_sv, 2,
    540 float32_t,
    541 "errorHandlingIMUAccelerationRange"_sv, 2,
    544 float32_t,
    545 "errorHandlingIMUAccelerationOffsetRange"_sv, 2,
    548 float32_t,
    549 "errorHandlingIMUTemperatureRange"_sv, 2,
    552 float32_t,
    553 "errorHandlingInternalAccelerationOffsetRange"_sv, 2,
    556 float32_t,
    557 "errorHandlingInternalAccelerationOffsetDriftSpeed"_sv, 2,
    560 float32_t,
    561 "errorHandlingInternalAccelerationOffsetShortTermSpan"_sv, 2,
    564 float32_t,
    565 "errorHandlingInternalGyroscopeOffsetDriftSpeed"_sv, 2,
    568 float32_t,
    569 "errorHandlingInternalGyroscopeOffsetShortTermSpan"_sv, 2,
    572 dwLoggerVerbosity,
    573 "errorHandlingLogLevel"_sv,
    576 uint32_t,
    577 "errorHandlingCyclesBetweenLogs"_sv,
    580 bool,
    581 "strictVIOMapping"_sv,
    584 bool,
    585 "notifySEH"_sv,
    588 bool,
    589 "enableDegradations"_sv,
    592 uint32_t,
    593 "disabledErrorIdsBitfield"_sv, DW_EGOMOTION_DISABLED_ERROR_IDS_ARRAY_SIZE,
    596 dw::core::FixedString<128>,
    597 "disabledErrorIds"_sv, DW_EGOMOTION_MAX_DISABLED_ERROR_IDS,
    599 describeConstructorArgument<dwContextHandle_t>(
    601 dwContextHandle_t)));
    602 }
    603
    606 const dwContextHandle_t ctx);
    607
    608 dwStatus preShutdown() override;
    609};
    610
    611} // namespace framework
    612} // namespace dw
    613
    614#endif // DWFRAMEWORK_DWNODES_EGOMOTION_DWRELATIVEEGOMOTIONNODE_DWRELATIVEEGOMOTIONNODE_HPP_
    #define DW_DESCRIBE_INDEX_PARAMETER_WITH_SEMANTIC(TYPE_NAME, SEMANTIC_TYPE_NAME, args...)
    #define DW_DESCRIBE_ARRAY_PARAMETER(TYPE_NAME, PARAM_NAME, ARRAY_SIZE, args...)
    #define DW_DESCRIBE_UNNAMED_PARAMETER(TYPE_NAME, args...)
    #define DW_DESCRIBE_PARAMETER(TYPE_NAME, args...)
    #define DW_DESCRIBE_PORT(TYPE_NAME, NAME, args...)
    The interface to access parameter values identified by name and/or (semantic) type.
    This node computes the vehicle state and relative motion over time using signals from IMU and wheelsp...
    static std::unique_ptr< dwRelativeEgomotionNode > create(ParameterProvider &provider)
    dwStatus getEgomotionParameters(dwEgomotionParameters2 &params)
    dwRelativeEgomotionNode(const dwRelativeEgomotionNodeInitParams &params, const dwContextHandle_t ctx)
    float32_t errorHandlingIMUTurnrateOffsetRange[2]
    Bounds on valid IMU Turnrate Offset, in rad/s. Order: Low Bound, Upper Bound.
    dwTime_t timeOffsetSteering
    Time offset of steering angle measurements. This value is subtracted from signal timestamp.
    dwTime_t timeOffsetWheelSpeeds
    Time offset of wheel speed measurements. This value is subtracted from signal timestamp.
    bool sigPresenceWheelTicksRedundant
    Signals if the VIO interface signal wheelTicksRedundant expected to be provided by the partner VAL cl...
    bool sigPresenceFrontSteeringAngleControlQualityHigh
    Signals if the VIO interface signal frontSteeringAngleControlQualityHigh is expected to be provided b...
    float32_t wheelObserverSpeedMax
    Maximum wheel speed, in rad/s, to which the state will be constrained (treated as error if error hand...
    bool strictVIOMapping
    If true, signals are read only from the sources agreed upon in technical safety concept....
    bool sigPresenceSuspensionLevelCalibrationState
    Signals if the VIO interface signal suspensionLevelCalibrationState is expected to be provided by the...
    float32_t errorHandlingVIOSuspensionLevelRange[2]
    Bounds on valid VIO Suspension Level Measurements, in m. Order: Low Bound, Upper Bound.
    float32_t errorHandlingIMUAccelerationOffsetRange[2]
    Bounds on valid IMU Acceleration Offset, in m/s^2. Order: Low Bound, Upper Bound.
    float32_t errorHandlingVIOFrontSteeringAngleRange[2]
    Bounds on valid VIO Front Steering Angle Measurements, in rad. Order: Low Bound, Upper Bound.
    float32_t errorHandlingIMUSequenceCounterRangeDeprecated[2]
    Bounds on valid IMU Sequence Counter, unitless. Order: Low Bound, Upper Bound. (deprecated)
    float32_t wheelObserverSpeedVarianceLow
    Speed variance when speed below speedFuzzyLow. Indicates region of low trust in wheel speed,...
    float32_t wheelObserverSpeedVarianceHigh
    Speed variance when speed above speedFuzzyHigh. Indicates region of high trust in wheel speed,...
    bool sigPresenceFrontSteeringTimestampHigh
    Signals if the VIO interface signal frontSteeringTimestampHigh is expected to be provided by the part...
    bool sigPresenceWheelSpeedRedundant
    Signals if the VIO interface signal wheelSpeedRedundant expected to be provided by the partner VAL cl...
    float32_t errorHandlingIMUTemperatureRange[2]
    Bounds on valid IMU Temperature, in deg C. Order: Low Bound, Upper Bound.
    static constexpr uint32_t DW_EGOMOTION_DISABLED_ERROR_IDS_ARRAY_SIZE
    bool sigPresenceIMUSequenceCounter
    Signals if the IMU sequence counter signal is provided.
    dwTime_t directionDetectorDurationNoWheelTick
    Threshold of no wheel ticks duration to determine whether the vehicle rolling direction is void or st...
    float32_t errorHandlingVIORearWheelAngleRange[2]
    Bounds on valid VIO Rear Wheel Angle Measurements, in rad. Order: Low Bound, Upper Bound.
    bool sigPresenceRearWheelAngleTimestamp
    Signals if the VIO interface signal rearWheelAngleTimestamp is expected to be provided by the partner...
    constexpr std::tuple describeConstructorArguments()
    float32_t errorHandlingIMUTurnrateAccelRange[2]
    Bounds on valid IMU Turnrate Acceleration, in rad/s^2. Order: Low Bound, Upper Bound.
    float32_t errorHandlingInternalAccelerationOffsetRange[2]
    Bounds on valid accelerometer offset for egomotion internal estimator, in m/s^2. Order: Low Bound,...
    float32_t vehicleMotionObserverInitialProcessCovariance[5]
    Initial process covariance parameters (continuous time, coefficients on diagonal)....
    bool sigPresenceSuspensionLevel[4]
    Signals if the VIO interface signal suspensionLevel is expected to be provided by the partner VAL cli...
    bool sigPresenceWheelTicksDirectionRedundant
    Signals if the VIO interface signal wheelTicksDirectionRedundant expected to be provided by the partn...
    float32_t errorHandlingInternalGyroscopeOffsetRange[2]
    Bounds on valid gyroscope offset for egomotion internal estimator, in rad/s. Order: Low Bound,...
    float32_t errorHandlingVIOSpeedMaxRange[2]
    Bounds on valid VIO Speed Max Measurements, in m/s. Order: Low Bound, Upper Bound.
    dwTime_t cycleTimeIMU
    Indicates the interval in microseconds between two IMU updates.
    float32_t wheelObserverSpeedFuzzyLow
    Region below which wheel speeds have low trust (variance adaptation), in rad/s.
    float32_t errorHandlingVIOSpeedMinRange[2]
    Bounds on valid VIO Speed Min Measurements, in m/s. Order: Low Bound, Upper Bound.
    uint32_t drivenWheels
    Indicates which traction configuration is used on this vehicle. 0=AWD, 1=FWD, 2=RWD.
    float32_t errorHandlingVIOFrontSteeringAngleOffsetRange[2]
    Bounds on valid VIO Front Steering Angle Offset Measurements, in rad. Order: Low Bound,...
    dwTime_t cycleTimeWheelEncoder
    Indicates the interval in microseconds between two wheel encoder updates (wheel speeds,...
    uint32_t errorHandlingIMUSequenceCounterRange[2]
    Bounds on valid IMU Sequence Counter, unitless. Order: Low Bound, Upper Bound.
    uint32_t wheelObserverPositionFuzzyHigh
    Region above which wheel position (tick) counters have high trust (variance adaptation),...
    bool sigPresenceWheelTicksTimestampRedundant
    Signals if the VIO interface signal wheelTicksTimestampRedundant expected to be provided by the partn...
    bool sigPresenceBrakeTorqueWheelsQuality
    Signals if the wheel brake torques quality signal is provided.
    float32_t wheelObserverProcessCovariance[3]
    Process covariance parameters (continuous time, coefficients on diagonal). Elements correspond to [po...
    bool vehicleMotionObserverEnableFixedStep
    When true, enables Vehicle Motion Observer fixed step mode.
    float32_t vehicleMotionObserverReferencePoint[3]
    Reference point used internally for computation, expressed in body coordinate frame....
    bool sigPresenceSuspensionLevelTimestamp
    Signals if the VIO interface signal suspensionLevelTimestamp is expected to be provided by the partne...
    dwTime_t timeOffsetProperAcceleration
    Time offset of linear acceleration measurements. This value is subtracted from signal timestamp.
    float32_t wheelObserverSpeedFuzzyHigh
    Region above which wheel speeds have high trust (variance adaptation), in rad/s.
    bool sigPresenceIMUAccelerometerOffsetZ
    Signals if the IMU Accelerometer offset for Z axis is provided.
    bool sigPresenceRearWheelAngleQuality
    Signals if the VIO interface signal rearWheelAngleQuality is expected to be provided by the partner V...
    constexpr PassDescriptorT< 0 > describePass(dw::core::StringView &&name, dwProcessorType processorType)
    dwTime_t cycleTimeSteering
    Indicates the interval in microseconds between two steering angle updates.
    bool sigPresenceSuspensionLevelTimestampQuality
    Signals if the VIO interface signal suspensionLevelTimestampQuality is expected to be provided by the...
    uint32_t disabledErrorIdsBitfield[DW_EGOMOTION_DISABLED_ERROR_IDS_ARRAY_SIZE]
    When a bit is set to true, the corresponding monitor is set as not applicable (disabled)....
    dwTime_t timeOffsetWheelTicks
    Time offset of wheel tick measurements. This value is subtracted from signal timestamp.
    bool sigPresenceWheelTicksTimestampQualityRedundant
    Signals if the VIO interface signal wheelTicksTimestampQualityRedundant expected to be provided by th...
    dwTime_t wheelObserverFixedStepSize
    Defines the step size when running the Wheel Observer in fixed step mode.
    float32_t vehicleMotionObserverGroundSpeedCovariance[3]
    Ground speed measurement covariance parameters (continuous time, coefficients on diagonal)....
    uint32_t errorHandlingIMUTurnrateOffsetQualityRange[2]
    Bounds on valid IMU Turnrate Offset Quality, unitless. Order: Low Bound, Upper Bound.
    float32_t errorHandlingInternalAccelerationOffsetShortTermSpan[2]
    Bounds on valid accelerometer offset short term span for egomotion internal estimator,...
    bool enableDegradations
    Whether errors shall lead egomotion to degrade or invalidate its outputs.
    dw::core::FixedString< 128 > disabledErrorIds[DW_EGOMOTION_MAX_DISABLED_ERROR_IDS]
    constexpr auto describePassCollection(const Args &&... args) -> std::tuple< Args... >
    constexpr auto describePortCollection(Args &&... args) -> dw::core::Tuple< Args... >
    float32_t wheelObserverPositionVarianceLow
    Position (tick) count variance when speed below positionFuzzyLow or above positionFuzzyHigh....
    bool sigPresenceWheelSpeedQualityRedundant
    Signals if the VIO interface signal wheelSpeedQualityRedundant expected to be provided by the partner...
    dwTime_t timeOffsetSuspension
    Time offset of suspension measurements. This value is subtracted from signal timestamp.
    float32_t wheelObserverPositionVarianceHigh
    Position (tick) count variance when speed between positionFuzzyLow and positionFuzzyHigh....
    bool sigPresenceRearWheelAngle
    Signals if the VIO interface signal rearWheelAngle is expected to be provided by the partner VAL clie...
    float32_t errorHandlingInternalAccelerationOffsetDriftSpeed[2]
    Bounds on valid accelerometer drift speed for egomotion internal estimator, in m/s^3....
    float32_t errorHandlingIMUAccelerationRange[2]
    Bounds on valid IMU Acceleration, in m/s^2. Order: Low Bound, Upper Bound.
    float32_t wheelObserverAccelerationMax
    Maximum wheel acceleration, in rad/s^2, to which the state will be constrained (treated as error if e...
    dwTime_t timeOffsetAngularAcceleration
    Time offset of angular acceleration measurements. This value is subtracted from signal timestamp.
    dwTime_t cycleTimeSuspension
    Indicates the interval in microseconds between two suspension level updates.
    dwTime_t timeOffsetAngularVelocity
    Time offset of angular velocity measurements. This value is subtracted from signal timestamp.
    bool sigPresenceIMUTurnrateOffsetQualityStatus
    Signals if the IMU sturnrate offset quality status signal is provided.
    float32_t errorHandlingInternalGyroscopeOffsetShortTermSpan[2]
    Bounds on valid gyroscope offset short term span for egomotion internal estimator,...
    bool sigPresenceSuspensionLevelQuality
    Signals if the VIO interface signal suspensionLevelQuality is expected to be provided by the partner ...
    float32_t wheelObserverAccelerationMin
    Minimum wheel acceleration, in rad/s^2, to which the state will be constrained (treated as error if e...
    bool sigPresenceIMUStatus
    Signals if the IMU Status signal is provided.
    bool wheelObserverEnableFixedStep
    When true, enables Wheel Observer fixed step mode.
    bool sigPresenceFrontSteeringAngleHigh
    Signals if the VIO interface signal frontSteeringAngleHigh is expected to be provided by the partner ...
    float32_t errorHandlingVIOWheelTorqueRange[2]
    Bounds on valid VIO Wheel Torque Measurements, in Nm. Order: Low Bound, Upper Bound.
    dwTime_t vehicleMotionObserverFixedStepSize
    Defines the step size when running the Vehicle Motion Observer in fixed step mode.
    float32_t suspensionCenterHeight[2]
    Indicates the suspension center height approximation used by egomotion, in meters,...
    bool sigPresenceRearWheelAngleTimestampQuality
    Signals if the VIO interface signal rearWheelAngleTimestampQuality is expected to be provided by the ...
    float32_t errorHandlingIMUTurnrateRange[2]
    Bounds on valid IMU Turnrate, in rad/s. Order: Low Bound, Upper Bound.
    uint32_t wheelObserverPositionFuzzyLow
    Region below which wheel position (tick) counters have low trust (variance adaptation),...
    float32_t vehicleMotionObserverProcessCovariance[5]
    Process covariance parameters (continuous time, coefficients on diagonal). Elements correspond (appro...
    static constexpr uint32_t DW_EGOMOTION_MAX_DISABLED_ERROR_IDS
    float32_t errorHandlingInternalGyroscopeOffsetDriftSpeed[2]
    Bounds on valid gyroscope drift speed for egomotion internal estimator, in rad/s^2....
    dwEgomotionGroundSpeedMeasurementTypes groundSpeedType
    Ground Speed Type (debug setting for AugResim only).
    bool sigPresenceIMUTimestampQuality
    Signals if the IMU Timestamp Quality signal is provided.
    float32_t errorHandlingVIOBrakeTorqueWheelsRange[2]
    Bounds on valid VIO Brake Torque Wheels Measurements, in Nm. Order: Low Bound, Upper Bound.
    float32_t errorHandlingVIOWheelSpeedRange[2]
    Bounds on valid VIO Wheel Speed Measurements, in rad/s. Order: Low Bound, Upper Bound.
    Definition: Buffer.hpp:41
    人人超碰97caoporen国产