Pose Initializer
Pose Initializer
Pose Initializer is an orchestration module (not an estimator) responsible for providing initial pose during system cold start or localization loss. It coordinates GNSS, NDT alignment service, and EKF reset to achieve a coarse-to-fine initialization process.
Initialization Flow
Pose Initializer Complete Initialization Flow
AUTO Mode
AUTO mode is the standard automatic initialization flow. First, stop_check_module confirms the vehicle is stationary. Then EKF and NDT triggers are paused. Next, a coarse pose is obtained from GNSS with map height fitting. Then ndt_align_srv service is called, which internally uses TPE (Tree-Structured Parzen Estimator) algorithm to generate 200 particle hypotheses, performs NDT alignment and scoring for each hypothesis, and selects the optimal particle as the precise pose.
Sub-modules
| Sub-module | File | Responsibility |
|---|---|---|
GnssModule | gnss_module.cpp | GNSS pose acquisition, timeout check, map height fitting |
LocalizationModule | localization_module.cpp | NDT/YabLoc alignment service client wrapper |
EkfLocalizationTriggerModule | ekf_localization_trigger_module.cpp | EKF activation/deactivation |
NdtLocalizationTriggerModule | ndt_localization_trigger_module.cpp | NDT activation/deactivation |
StopCheckModule | stop_check_module.cpp | Vehicle stationary check |