Skip to content

Integrate EKF-Based Fusion of NDT Pose and Gyro Odometry Twist #755

Open

Description

@ytakano

Implement EKF localization in Awkernel to fuse NDT pose estimates and gyro odometry twist estimates, matching the behavior of the selected Autoware reference implementation. Produce periodic state estimates while handling asynchronous measurements and observation delays.

Scope:

  • Accept timestamped NDT pose and gyro odometry twist estimates with covariance
  • Implement state initialization, periodic prediction, and measurement updates
  • Preserve the reference state model, noise parameters, measurement gating, and delay-compensation behavior
  • Define coordinate-frame conventions, timestamp handling, and measurement buffering
  • Publish estimated pose and twist with covariance for downstream use
  • Define handling of missing, stale, rejected, and out-of-order measurements

Acceptance criteria:

  • State estimates and covariance match the reference within predefined tolerances under identical inputs, initialization, parameters, and prediction/update timing.
  • Tests cover straight motion, turning, stationary conditions, and different pose/twist input rates.
  • Delayed measurements, temporary NDT dropouts, and rejected observations are tested against documented expected behavior.
  • Initialization and reset behavior are reproducible and do not retain unintended state from previous runs.
  • Covariance outputs remain finite, symmetric, and positive semidefinite within defined numerical tolerances for valid test cases.
  • Prediction periods, measurement acceptance rules, and output timestamps are documented.
  • Execution time, scheduling delay, and memory usage are measured at representative input rates.
  • Test datasets, configurations, and reproduction steps are documented.

Out of scope:

NDT scan matching, gyro odometry computation, automatic initial-pose estimation, feedback of EKF estimates into NDT, and vehicle control.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions