57 #ifndef DW_EGOMOTION_EGOMOTION_H__ 58 #define DW_EGOMOTION_EGOMOTION_H__ 60 #include <dw/core/Config.h> 277 dwEgomotionHandle_t obj);
354 dwEgomotionHandle_t obj);
375 dwEgomotionHandle_t obj);
448 size_t index, dwEgomotionHandle_t obj);
481 const dwTransformation* poseOld2New,
482 const dwTransformation* oldVehicle2World);
489 #endif // DW_EGOMOTION_EGOMOTION_H__
DW_API_PUBLIC dwStatus dwEgomotion_getMotionModel(dwMotionModel *model, dwEgomotionHandle_t obj)
Returns the type of the motion model used.
NVIDIA DriveWorks API: Core Types
float float32_t
Specifies POD types.
Combines IMU and ackerman motion model to estimate egomotion.
dwEgomotionDataField
Defines flags that indicate valid data fields.
Holds initialization parameters for the EgoMotion module.
DW_API_PUBLIC dwStatus dwEgomotion_initialize(dwEgomotionHandle_t *obj, const dwEgoMotionParameters *params, dwContextHandle_t ctx)
Initializes the Egomotion module.
DW_API_PUBLIC dwStatus dwEgomotion_addIMUMeasurement(const dwIMUFrame *imu, dwEgomotionHandle_t obj)
Adds an inertial motion unit measurement to the egomotion module.
DW_API_PUBLIC dwStatus dwEgomotion_addOdometry(dwMotionModelMeasurement measuredType, float32_t measuredValue, dwTime_t timestamp_us, dwEgomotionHandle_t obj)
Notifies the egomotion module of a new odometry measurement.
dwTime_t estimationPeriod
Auto update state estimation after a predefined period of time in [usec].
uint64_t dwTime_t
Specifies a timestamp unit, in microseconds.
DW_API_PUBLIC dwStatus dwEgomotion_getUncertainty(dwEgomotionUncertainty *result, dwEgomotionHandle_t obj)
Gets the current estimation uncertainties.
NVIDIA DriveWorks API: Core Methods
uint32_t validFlags
Bitwise combination of dwEgomotionDataField flags.
DW_API_PUBLIC dwStatus dwEgomotion_getEstimation(dwEgomotionResult *result, dwEgomotionHandle_t obj)
Gets the current estimated pose.
NVIDIA DriveWorks API: Core Exports
uint32_t historySize
Number of motion results to keep in the history (if 0 specified default of 1000 is used)...
DW_API_PUBLIC dwStatus dwEgomotion_getEstimationTimestamp(dwTime_t *timestamp_us, dwEgomotionHandle_t obj)
Gets the timestamp of the available estimation result.
DW_API_PUBLIC dwStatus dwEgomotion_update(dwTime_t timestamp_us, dwEgomotionHandle_t obj)
Runs the motion model estimation for a given timestamp.
dwStatus
Status definition.
DW_API_PUBLIC dwStatus dwEgomotion_addGPSMeasurement(const dwGPSFrame *location, dwEgomotionHandle_t obj)
Adds location measurement to the egomotion module.
DW_API_PUBLIC dwStatus dwEgomotion_getHistorySize(size_t *num, dwEgomotionHandle_t obj)
Returns the number of elements currently stored in the motion history.
struct dwEgomotionObject * dwEgomotionHandle_t
Combines IMU and Ackerman motion model to estimate egomotion as well as GPS location.
float32_t wheelBase
Wheel base of the vehicle.
dwEgoMotionSensorCharacteristics sensorNoise
Pass a sensor noise struct containing all information about sensor noise.
DW_API_PUBLIC dwStatus dwEgomotion_computeRelativeTransformation(dwTransformation *poseAtoB, dwTime_t timestamp_a, dwTime_t timestamp_b, dwEgomotionHandle_t obj)
Computes the relative pose between two timestamps in the past.
dwMotionModel
Defines the egomotion models.
DW_API_PUBLIC dwStatus dwEgomotion_reset(dwEgomotionHandle_t obj)
Resets the egomotion module.
float32_t imuSamplingRateHz
If known this entry shall indicate expected sampling rate in [Hz] of the imu sensor.
DW_API_PUBLIC dwStatus dwEgomotion_estimate(dwEgomotionResult *pose, dwEgomotionUncertainty *sigma, dwTime_t timestamp_us, dwEgomotionHandle_t obj)
Runs the motion model estimation for a given timestamp and predicts motion as it would happen for the...
An IMU frame containing sensor readings from the IMU sensor.
DW_API_PUBLIC dwStatus dwEgomotion_getHistoryEntry(const dwEgomotionResult **pose, const dwEgomotionUncertainty **sigma, dwTime_t *timestamp_us, size_t index, dwEgomotionHandle_t obj)
Returns an entry from the motion history that is currently available.
DW_API_PUBLIC dwStatus dwEgomotion_applyRelativeTransformation(dwTransformation *newVehicle2World, const dwTransformation *poseOld2New, const dwTransformation *oldVehicle2World)
Applies the estimated relative motion as returned by dwEgomotion_computeRelativeTransformation() to a...
dwMotionModel motionModel
Specifies the motion model to be used for pose prediction, for example, Ackermann principle based...
NVIDIA DriveWorks API: GPS
Holds egomotion result uncertainties.
Holds egomotion results that contain multiple fields.
struct dwContextObject * dwContextHandle_t
Context handle.
float32_t gyroNoiseDensityDeg
Expected zero mean measurement noise of the gyroscope, also known as Noise Density [deg/s/sqrt(Hz)] A...
dwTransformation imu2rig
Extrinsics from the IMU coordinate system to the vehicle rig coordinate system.
DW_API_PUBLIC dwStatus dwEgomotion_release(dwEgomotionHandle_t *obj)
Releases the egomotion module.
dwMotionModelMeasurement
Defines motion measurements.
Sensor measurement noise characteristics for the individual used sensors.
NVIDIA DriveWorks API: IMU
Valid measurements are velocity and steering angle.
A GPS packet containing localization information.