Marco Polo: Finding a friend with only distance and motion

· hardware · Source ↗

TLDR

  • Walkthrough of building range-only relative localization for wearable devices using UWB ranging and IMU data fused via an Extended Kalman Filter.

Key Takeaways

  • Single-antenna UWB gives distance via time-of-flight but no bearing; PDoA adds bearing but requires two antennas, making wearable integration impractical.
  • External trilateration with fixed anchors (like GPS) solves location cleanly but requires infrastructure the system explicitly avoids.
  • EKF chosen because it handles nonlinear measurement functions (square root for distance) and works with one UWB antenna and two devices only.
  • State vector tracks delta-x and delta-y in world frame; IMU acceleration is control input, UWB range is measurement; Kalman gain balances prediction vs. measurement trust.
  • Prompting wearers to move is a deliberate design choice: motion makes range-only localization observable where static ranging alone cannot determine bearing.

Hacker News Comment Review

  • No substantive HN discussion yet.

Original | Discuss on HN