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