Localization software

Localization Techniques

Localization techniques involve measuring the distance / angle between devices, typically in the context of ultra-wideband (UWB) technology, where devices are categorized as anchors and tags. Anchors are stationary units, while tags are mobile nodes requiring tracking. Tag tracking is achieved by measuring the distance or angle relative to the anchors.

Name Mode Support UWB chip Supported language(s)
TWR infrastructure / P2P Qorvo DW3000, Qorvo DW1000 C, C++
TDoA infrastructure Qorvo DW3000, Qorvo DW1000 C, C++
PDoA infrastructure / P2P Qorvo DW3000 C, C++

Positioning Engine

Measuring distance or angles in relation to anchors alone lacks practicality; a global position must be established. This is accomplished through a positioning engine. To determine the ideal positioning engine for your needs, parameters such as accuracy, robustness, complexity, and scalability must be assessed.

Name Input type Supported language(s) Description
Extended Kallman Filter Distances / time differences Python The Extended Kalman Filter is a recursive algorithm used for estimating the state of a linear dynamic system from a series of noisy measurements, by predicting the state’s current value based on past observations while incorporating uncertainty into its calculations.
Least Squares Distances / time differences Python The least squares algorithm is a mathematical method for finding the best-fitting line through a set of data points by minimizing the sum of the squares of the differences between observed and predicted values.
Particle Filter Distances / time differences Python The Particle Filter is a probabilistic algorithm used for estimating the state of a nonlinear dynamic system through a set of particles, each representing a possible state, which are iteratively updated based on measurements and system dynamics, making it particularly suitable for nonlinear and non-Gaussian estimation problems such as localization and trackings.

Installation Cost Reduction Techniques

Installing a localization system can be costly endeavor, especially in systems where many nodes are present. Manual measurement of anchor node positions is typically required, and if an anchor relocates, the entire process must be repeated. Cost reduction techniques are available which determine the position of anchors automatically. Discover some of our algorithms below.

Name Input type Supported language(s) Description
Multi-hop self-calibration inter-anchor ranges Python The multi-hop self-calibration algorithm enables the localization of anchors even in scenarios with multi-hop links, considering all distance measurements between different anchors and employing a physics-based optimization technique to localize each individual anchor accurately.
Tag-assisted self-calibration tag-anchors ranges Python In scenarios where Line-of-Sight (LoS) links between anchors are insufficient for position determination based solely on inter-anchor distances, this algorithm corrects these errors by utilizing additional data from an additional tag, thereby enhancing localization accuracy.

Accuracy Enhancing Techniques

Non-Line-of-Sight (NLOS) links can introduce inaccuracies in distance measurements, significantly affecting the overall performance of positioning systems. The UWB Expertise Hub offers Machine Learning (ML) techniques capable of rectifying errors made by the system.

Name Input type Supported language(s) Description
ML-based error correction for TDoA CIRs, timestamps Python It is possible for Machine Learning (ML) model to learn Errors made by for example Non-Line-of-Sight (NLoS) links and correct these errors. Whereafter, a positioning engine can be used for positioning. This ML model does this for the TDoA technique.
ML-based error correction for TWR CIRs, distances Python It is possible for Machine Learning (ML) model to learn Errors made by for example Non-Line-of-Sight (NLoS) links and correct these errors. Whereafter, a positioning engine can be used for positioning. This ML model does this for the TWR technique.
ML-based error correction for AoA CIRs Python It is possible for Machine Learning (ML) model to learn Errors made by for example Non-Line-of-Sight (NLoS) links and correct these errors. Whereafter, a positioning engine can be used for positioning. This ML model does this when angle information is present.

Get in touch