Localization fusion module for HD maps.
The localization fusion module takes results from camera, radar, and lidar localization and provide a more robust and accurate result to localize the vehicle in an HD map.
- Note
- SW Release Applicability: These APIs are available in NVIDIA DRIVE Software releases.
|
| DW_API_PUBLIC dwStatus | dwLocalizationFusion_initialize (dwLocalizationFusionHandle_t *localizationFusion, uint32_t maxLocalizationResultsCount, const dwConstMapHandle_t map, dwContextHandle_t context) |
| | Create a new localization fusion module. More...
|
| |
| DW_API_PUBLIC dwStatus | dwLocalizationFusion_localize (dwLocalizationResult *fusedResult, const dwLocalizationResult *localizationResults, size_t numResults, const dwTransformation3f *currToPrev, const dwEgomotionRelativeUncertainty *currToPrevUncertainty, dwTime_t timestamp, dwLocalizationFusionHandle_t localizationFusion) |
| | Update localization fusion model with new measurements If timestamp is identical to the previous timestamp, rerun localization. More...
|
| |
| DW_API_PUBLIC dwStatus | dwLocalizationFusion_predictLocalization (dwLocalizationResult *predicted, const dwLocalizationResult *prev, const dwTransformation3f *predictedToPrev, const dwEgomotionRelativeUncertainty *predictedToPrevUncertainty, dwTime_t predictionTimestamp) |
| | Predict a localization result to a given timestamp using relative egomotion. More...
|
| |
| DW_API_PUBLIC dwStatus | dwLocalizationFusion_release (dwLocalizationFusionHandle_t localizationFusion) |
| | Releases the localization fusion module. More...
|
| |
| DW_API_PUBLIC dwStatus | dwLocalizationFusion_reset (dwLocalizationFusionHandle_t localizationFusion) |
| | Reset localization fusion state to default values. More...
|
| |
| DW_API_PUBLIC dwStatus | dwLocalizationFusion_setMap (dwConstMapHandle_t map, dwLocalizationFusionHandle_t localizationFusion) |
| | Sets a new HD Map to localize to. More...
|
| |
◆ DW_LOCALIZATION_FUSION_MAX_INPUT_COUNT
| #define DW_LOCALIZATION_FUSION_MAX_INPUT_COUNT 3 |
◆ dwLocalizationFusionHandle_t
◆ dwLocalizationFusion_initialize()
Create a new localization fusion module.
- Parameters
-
| [out] | localizationFusion | Handle to the localization module being initialized. |
| [in] | maxLocalizationResultsCount | The maximum number of localization results to fuse. |
| [in] | map | Handle to the maps module used for map data. |
| [in] | context | Handle to the current driveworks context. |
- Returns
- DW_INVALID_ARGUMENTS - if given arguments are invalid
DW_FAILURE - if localization could not be initialized
DW_SUCCESS
◆ dwLocalizationFusion_localize()
Update localization fusion model with new measurements If timestamp is identical to the previous timestamp, rerun localization.
- Parameters
-
| [out] | fusedResult | Fused localization result |
| [in] | localizationResults | Array of results to be fused into localization fusion module state |
| [in] | numResults | number of input localization results |
| [in] | currToPrev | The relative transformation mapping the current frame's pose to the previous frame's pose. Previous denotes the timestamp of the last time dwLocalizationFusion_localize was called. If this is the first time calling dwLocalizationFusion_localize, the identity transformation is expected. |
| [in] | currToPrevUncertainty | The uncertainty of the relative transformation. If this is the first time calling dwLocalizationFusion_localize, any arbitrary uncertainty is accepted. |
| [in] | timestamp | The timestamp at which to fuse. |
| [in] | localizationFusion | Handle to the localization fusion module. |
- Returns
- DW_INVALID_HANDLE - if given handle is invalid
DW_INVALID_ARGUMENTS - if given arguments are invalid
DW_OUT_OF_BOUNDS - if numResults greater than DW_LOCALIZATION_FUSION_MAX_INPUT_COUNT
DW_SUCCESS
◆ dwLocalizationFusion_predictLocalization()
Predict a localization result to a given timestamp using relative egomotion.
This function is useful for fusing localization measurements at different timestamps.
- Parameters
-
| [out] | predicted | The output predicted localization result. |
| [in] | prev | The localization result to predict. |
| [in] | predictedToPrev | The relative transformation mapping the prediction frame's pose to the old frame's pose. |
| [in] | predictedToPrevUncertainty | The uncertainty of the relative transformation. |
| [in] | predictionTimestamp | The timestamp to predict the localization result for. This timestamp must be greater than the timestamp in old. |
- Returns
- DW_INVALID_ARGUMENTS - if given arguments are invalid
DW_SUCCESS
◆ dwLocalizationFusion_release()
Releases the localization fusion module.
- Parameters
-
| [in] | localizationFusion | Handle to the localization fusion module being released. |
- Returns
- DW_INVALID_HANDLE - if given handle is an invalid handle
DW_INVALID_ARGUMENTS - if given handle is NULL DW_SUCCESS
◆ dwLocalizationFusion_reset()
Reset localization fusion state to default values.
- Parameters
-
| [in] | localizationFusion | Handle to the localization fusion module. |
- Returns
- DW_INVALID_HANDLE - if given handle is invalid
DW_SUCCESS
◆ dwLocalizationFusion_setMap()
Sets a new HD Map to localize to.
The new map is assumed to have consistent road segment IDs with the old map.
- Parameters
-
| [in] | map | Handle to the maps module used for map data. |
| [in] | localizationFusion | Handle to the localization fusion module. |
- Returns
- DW_INVALID_HANDLE - if given handle is invalid
DW_SUCCESS