Go to the source code of this file.
Data Structures | |
| struct | dwEgomotionMeasurementParameters |
| Egomotion measurement parameters. More... | |
| struct | dwEgomotionVMOParameters |
| Vehicle motion observer parameters. More... | |
| struct | dwEgomotionWheelObserverParameters |
| Wheel observer parameters. More... | |
| struct | dwEgomotionVehicleMovingDirectionDetectorParameters |
| Vehicle moving direction detection parameters. More... | |
| struct | dwEgomotionIMUIntrinsics |
| IMU intrinsic parameters. More... | |
| struct | dwEgomotionSuspensionProperties |
| Suspension properties. More... | |
| struct | dwEgomotionParameters2 |
| Egomotion parameters. More... | |
Functions | |
| 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. More... | |
| DW_API_PUBLIC dwStatus | dwEgomotion2_initDefaultParams (dwEgomotionParameters2 *params) |
| Initializes the egomotion parameters to sane defaults applicable to most vehicles. More... | |
| 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. More... | |
| DW_API_PUBLIC dwStatus | dwEgomotion2_initialize (dwEgomotionHandle_t *const obj, dwEgomotionParameters2 const *params, dwContextHandle_t const ctx) |
| Initializes the egomotion 2.0 module. More... | |
| 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. More... | |
| DW_API_PUBLIC dwStatus | dwEgomotion2_getAccelerometerBias (dwVector3f *accBias, dwEgomotionConstHandle_t obj) |
| Get estimated accelerometer bias of the BASE IMU. More... | |
| DW_API_PUBLIC dwStatus | dwEgomotion2_getAccelerometerBiasByIndex (dwVector3f *accBias, uint32_t const sensorIndex, dwEgomotionConstHandle_t obj) |
| Get estimated accelerometer bias of a specific IMU. More... | |
| typedef enum dwEgomotionDirectionMode dwEgomotionDirectionMode |
Vehicle direction detection modes.
Egomotion can estimate the vehicle moving direction from different sources depending on vehicle platform capabilities.
Select DW_EGOMOTION_DIRECTION_FROM_SPEED_SIGN if the wheel tick increments and wheel speeds are signed, indicating forward and reverse driving unambiguously.
Select DW_EGOMOTION_DIRECTION_FROM_WHEEL_DIR_AND_GEAR if the wheel tick increments and wheel speeds are unsigned, such that forward and reverse driving cannot be distinguished from these signals alone.
Select DW_EGOMOTION_DIRECTION_FROM_SPEED_SIGN_AND_GEAR if the wheel tick increments and wheel speeds are signed with ambiguous region around 0 to be resolved based on target gear and current gear signals. dwEgomotionVehicleMovingDirectionDetectorParameters::ticksAmbiguousSpeedThreshold
The default configuration for production platforms is DW_EGOMOTION_DIRECTION_FROM_WHEEL_DIR_AND_GEAR.
Ground speed measurement types.
Egomotion can estimate vehicle ground speed from different sources depending on vehicle platform capabilities.
The default configuration for production platforms is DW_EGOMOTION_GROUND_SPEED_FROM_WHEEL_TICKS_AND_SPEEDS_BOTH_AXLES.
| typedef struct dwEgomotionIMUIntrinsics dwEgomotionIMUIntrinsics |
IMU intrinsic parameters.
| typedef struct dwEgomotionMeasurementParameters dwEgomotionMeasurementParameters |
Egomotion measurement parameters.
| typedef enum dwEgomotionMeasurementTypes dwEgomotionMeasurementTypes |
Measurements used by egomotion.
| typedef struct dwEgomotionParameters2 dwEgomotionParameters2 |
Egomotion parameters.
All parameters are required unless otherwise noted.
| typedef struct dwEgomotionSuspensionProperties dwEgomotionSuspensionProperties |
Suspension properties.
| typedef struct dwEgomotionVehicleMovingDirectionDetectorParameters dwEgomotionVehicleMovingDirectionDetectorParameters |
Vehicle moving direction detection parameters.
Used to inform egomotion on the moving direction of the vehicle.
| typedef struct dwEgomotionVMOParameters dwEgomotionVMOParameters |
Vehicle motion observer parameters.
Wheel observer parameters.
Vehicle direction detection modes.
Egomotion can estimate the vehicle moving direction from different sources depending on vehicle platform capabilities.
Select DW_EGOMOTION_DIRECTION_FROM_SPEED_SIGN if the wheel tick increments and wheel speeds are signed, indicating forward and reverse driving unambiguously.
Select DW_EGOMOTION_DIRECTION_FROM_WHEEL_DIR_AND_GEAR if the wheel tick increments and wheel speeds are unsigned, such that forward and reverse driving cannot be distinguished from these signals alone.
Select DW_EGOMOTION_DIRECTION_FROM_SPEED_SIGN_AND_GEAR if the wheel tick increments and wheel speeds are signed with ambiguous region around 0 to be resolved based on target gear and current gear signals. dwEgomotionVehicleMovingDirectionDetectorParameters::ticksAmbiguousSpeedThreshold
The default configuration for production platforms is DW_EGOMOTION_DIRECTION_FROM_WHEEL_DIR_AND_GEAR.
Definition at line 117 of file Egomotion2.h.
Ground speed measurement types.
Egomotion can estimate vehicle ground speed from different sources depending on vehicle platform capabilities.
The default configuration for production platforms is DW_EGOMOTION_GROUND_SPEED_FROM_WHEEL_TICKS_AND_SPEEDS_BOTH_AXLES.
Definition at line 84 of file Egomotion2.h.
Measurements used by egomotion.
| Enumerator | |
|---|---|
| DW_EGOMOTION_MEASUREMENT_STEERING |
|
| DW_EGOMOTION_MEASUREMENT_SUSPENSION |
|
| DW_EGOMOTION_MEASUREMENT_ANGULAR_ACCELERATION | IMU angular acceleration [rad/s^2]. |
| DW_EGOMOTION_MEASUREMENT_PROPER_ACCELERATION |
|
| DW_EGOMOTION_MEASUREMENT_ANGULAR_VELOCITY |
|
| DW_EGOMOTION_MEASUREMENT_LINEAR_GROUND_SPEED |
|
| DW_EGOMOTION_MEASUREMENT_LINEAR_BODY_SPEED | Linear body speed [m/s]. |
| DW_EGOMOTION_MEASUREMENT_WHEEL_TICKS | |
| DW_EGOMOTION_MEASUREMENT_WHEEL_SPEEDS |
|
| DW_EGOMOTION_MEASUREMENT_TRAILER_ANGLE |
|
| DW_EGOMOTION_MEASUREMENT_TYPES_COUNT |
|
Definition at line 61 of file Egomotion2.h.
| DW_API_PUBLIC dwStatus dwEgomotion2_getAccelerometerBias | ( | dwVector3f * | accBias, |
| dwEgomotionConstHandle_t | obj | ||
| ) |
Get estimated accelerometer bias of the BASE IMU.
| [in,out] | accBias | Pointer to dwVector3f to be filled with accelerometer biases [m/s^2]. |
| [in] | obj | Egomotion handle. |
| DW_API_PUBLIC dwStatus dwEgomotion2_getAccelerometerBiasByIndex | ( | dwVector3f * | accBias, |
| uint32_t const | sensorIndex, | ||
| dwEgomotionConstHandle_t | obj | ||
| ) |
Get estimated accelerometer bias of a specific IMU.
| [in,out] | accBias | Pointer to dwVector3f to be filled with accelerometer biases [m/s^2]. |
| [in] | sensorIndex | Identifier of IMU to get bias for |
| [in] | obj | Egomotion handle. |
| DW_API_PUBLIC dwStatus dwEgomotion2_initDefaultParams | ( | dwEgomotionParameters2 * | params | ) |
Initializes the egomotion parameters to sane defaults applicable to most vehicles.
This API does not set the required vehicle-specific parameters which must be provided separately.
See also dwEgomotion2_initParamsFromRig
| [in,out] | params | A pointer to the egomotion parameters to be filled out. |
| DW_API_PUBLIC dwStatus dwEgomotion2_initialize | ( | dwEgomotionHandle_t *const | obj, |
| dwEgomotionParameters2 const * | params, | ||
| dwContextHandle_t const | ctx | ||
| ) |
Initializes the egomotion 2.0 module.
Instantiates the subfunctions composing the overall module and allocates memory for their operation. Configuration of the module is provided by the params argument. Default parameters can be obtained from the dwEgomotion2_initParamsFromRig function.
| [in,out] | obj | A pointer to the egomotion handle to be set for the created module. |
| [in] | params | A pointer to the configuration parameters of the module. |
| [in] | ctx | Specifies the handler to the context under which the Egomotion module is created. |
| 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.
This empty state history instance can be used to deserialize from a binary representation of the state. After deserialization state can be queried with state API for it's content. The state can contain internally a history of up-to passed amount of elements.
| [out] | state | Handle to be set with pointer to created empty state. |
| [in] | historySize | State history size (maximum capacity). If left 0, a default size of 1000 is used. |
| [in] | ctx | Handle of the context. |
historySize is smaller than the egomotion internal history capacity, any retrieval of the state with dwEgomotion_getState will fill out this state's only with as much data as can fit, dropping oldest entries. This in turn would mean that calls to dwEgomotionState_computeRelativeTransformation might not succeed if requested for timestamp outside of the covered history. | 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.
This API is used to initialize parameters for egomotion 2.0.
| [in,out] | params | A pointer to the egomotion parameters to be filled out. |
| [in] | rigConfiguration | A pointer to the vehicle rig configuration. |
| [in] | imu1Name | Name of first IMU sensor as it appears in rig configuration. |
| [in] | imu2Name | Name of second IMU sensor as it appears in rig configuration. Optional, can be left null (1) (2). |
| [in] | imu3Name | Name of third IMU sensor as it appears in rig configuration. Optional, can be left null (1). |
| 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.
This API is used to initialize parameters for egomotion 2.0.
| [in,out] | params | A pointer to the egomotion parameters to be filled out. |
| [in] | rigConfiguration | A pointer to the vehicle rig configuration. |
| [in] | imu1Index | Index of first IMU sensor as it appears in rig configuration. |
| [in] | imu2Index | Index of second IMU sensor as it appears in rig configuration. Optional, can be set to UINT32_MAX (1) (2). |
| [in] | imu3Index | Index of third IMU sensor as it appears in rig configuration. Optional, can be set to UINT32_MAX (1). |