31#ifndef DW_FRAMEWORK_RELATIVE_EGOMOTION_IMU_NODE_HPP_
32#define DW_FRAMEWORK_RELATIVE_EGOMOTION_IMU_NODE_HPP_
48#include <dw/egomotion/Egomotion.h>
49#include <dw/roadcast/base_types/RoadCastPacketTypes.hpp>
74 static constexpr auto get()
76 return describeEnumeratorCollection<dwMotionModel>(
85 static constexpr auto get()
87 return describeEnumeratorCollection<dwEgomotionSpeedMeasurementType>(
97 static constexpr auto get()
99 return describeEnumeratorCollection<dwEgomotionLinearAccelerationFilterMode>(
130 DW_DESCRIBE_PORT(dwVehicleIOActuationFeedback,
"VEHICLE_ACTUATION_FEEDBACK"_sv),
151 describePass(
"UPDATE_IMU_EXTRINSICS"_sv, DW_PROCESSOR_TYPE_CPU),
152 describePass(
"UPDATE_WHEEL_RADII"_sv, DW_PROCESSOR_TYPE_CPU),
163 if (asyncResetNode !=
nullptr)
175 if (asyncResetNode !=
nullptr)
190 return DW_NOT_SUPPORTED;
195 return describeConstructorArguments<dwRelativeEgomotionIMUNodeInitParams, dwContextHandle_t>(
214 "estimateInitialOrientation"_sv,
218 "automaticUpdate"_sv,
222 "enableSuspension"_sv,
229 dwEgomotionSpeedMeasurementType,
230 "speedMeasurementType"_sv,
234 dwEgomotionLinearAccelerationFilterMode,
235 "linearAccelerationFilterMode"_sv,
239 "linearAccelerationFilterTimeConst"_sv,
243 "linearAccelerationFilterProcessNoiseStdevSpeed"_sv,
247 "linearAccelerationFilterProcessNoiseStdevAcceleration"_sv,
251 "linearAccelerationFilterMeasurementNoiseStdevSpeed"_sv,
255 "linearAccelerationFilterMeasurementNoiseStdevAcceleration"_sv,
259 dwContextHandle_t)));
264 const dwContextHandle_t ctx);
#define DW_DESCRIBE_C_ENUMERATOR(NAME)
Syntactic sugar calling describeEnumerator().
#define DW_DESCRIBE_UNNAMED_PARAMETER_WITH_SEMANTIC(TYPE_NAME, SEMANTIC_TYPE_NAME, args...)
#define DW_DESCRIBE_UNNAMED_PARAMETER(TYPE_NAME, args...)
#define DW_DESCRIBE_PARAMETER(TYPE_NAME, args...)
#define DW_DESCRIBE_PORT(TYPE_NAME, args...)
std::unique_ptr< Node > m_impl
static dwStatus guardWithReturn(TryBlock tryBlock, dw::core::Logger::Verbosity verbosity=dw::core::Logger::Verbosity::DEBUG)
virtual dwStatus setAsyncReset()=0
Set the async reset flag.
virtual dwStatus executeAsyncReset()=0
Executes a reset if the async reset flag is set.
virtual dwStatus preShutdown()=0
actions to be taken before node shutdown
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...
dwRelativeEgomotionIMUNode(const dwRelativeEgomotionIMUNodeInitParams ¶ms, const dwContextHandle_t ctx)
dwStatus executeAsyncReset() override
static constexpr auto describeParameters()
static std::unique_ptr< dwRelativeEgomotionIMUNode > create(ParameterProvider &provider)
static constexpr auto describePasses()
dwStatus preShutdown() override
dwStatus setAsyncReset() override
static constexpr auto describeOutputPorts()
static constexpr auto describeInputPorts()
dwEgomotionSpeedMeasurementType speedMeasurementType
dwConstRigHandle_t rigHandle
const char * vehicleSensorName
constexpr auto describePortCollection(Args &&... args)
constexpr std::tuple< dw::core::StringView, dwProcessorType > describePass(dw::core::StringView const &&name, dwProcessorType processorType)
dwMotionModel motionModel
dwSensorNodeProperties { uint64_t sensorId dwSensorNodeProperties
CalibratedIMUIntrinsics { dwVector3f gyroscopeBias dwCalibratedIMUIntrinsics
dwEgomotionLinearAccelerationFilterParams linearAccelerationFilterParameters
constexpr auto describeConstructorArgument(const Args &&... args)
const char * imuSensorName
constexpr auto describePassCollection(const Args &&... args)
CalibratedWheelRadii { float32_t currentWheelRadius[DW_VEHICLE_NUM_WHEELS] dwCalibratedWheelRadii
bool estimateInitialOrientation
static constexpr auto get()
static constexpr auto get()
static constexpr auto get()