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. |