Skip to content

3.4 Positioning Technologies

3.4.1 Overview of Positioning Technologies: Outdoor and Indoor

Outdoor positioning has mature space-based infrastructure; indoor positioning is mostly an arena of short-range wireless technologies. The fundamental question facing engineers is how to trade off accuracy, cost, coverage, and power consumption. An AGV weaving through dense shelving and docking automatically at pickup ports requires decimeter or even centimeter-level positions; for a connected truck driving through a campus, a few meters of outdoor accuracy is already enough for the dispatch center to tell which warehouse it is near. The two scenarios represent an engineering balance that recurs throughout IoT positioning.

Outdoor Positioning: Global Coverage from Satellites

The most mature outdoor positioning technology rests on global navigation satellite systems (GNSS): the American GPS (Global Positioning System), China's BeiDou Navigation Satellite System (BDS), Russia's GLONASS (Global Orbiting Navigation Satellite System), and Europe's Galileo Navigation Satellite System. A receiver captures timing signals from at least four satellites and uses differences in signal arrival time to solve for its three-dimensional coordinates and its receiver clock bias.

Engineering practice distinguishes three typical modes by service class. Single-point positioning relies only on the satellites' broadcast signals; in open, unobstructed conditions a civilian receiver's position estimate is typically at the meter level — enough for vehicle navigation and personnel position reporting. Differential GNSS (DGNSS) applies corrections broadcast by ground reference stations to bring the error down to sub-meter, suiting precision agricultural operations. Real-Time Kinematic (RTK) positioning has the reference station send carrier-phase observations to the rover in real time, resolving centimeter-level relative positions, at the cost of deploying additional base stations or purchasing a service.

GNSS signal attenuation is pronounced under physical obstruction. Urban street canyons lined with high-rises, underground garages, tunnels, and indoor spaces can hardly receive satellite signals reliably. Nearly every IoT positioning system needs a dual-mode design: satellites outdoors, radio indoors.

Indoor Positioning: The Scenario Decides the Selection

Indoors there is no globally unified infrastructure, and building layouts, metal shelving, and moving crowds all disturb radio signals. The mainstream options engineers face concentrate on three technologies: Wi-Fi, Bluetooth Low Energy (BLE), and Ultra-Wideband (UWB).

Wi-Fi positioning has the broadest installed base: it reuses existing access points, the receiver scans the signal strength of surrounding APs, and position is estimated with an attenuation model or fingerprinting — typical accuracy between one and ten meters. Its greatest advantage is zero additional hardware investment; the price is that moving shelves and fluctuating crowd density visibly degrade fingerprint-map accuracy.

Bluetooth positioning usually builds on arrays of BLE beacons. Fixed beacons broadcast packets at set intervals, the receiver estimates distance from signal strength, and multi-point triangulation reaches meter-level accuracy. BLE beacons draw very little power — a coin cell can keep one broadcasting for more than a year — and per-beacon cost is relatively low. They are common in scenarios with undemanding accuracy requirements, such as mall floor navigation and exhibition-hall guides.

Ultra-Wideband (UWB) is the highest-accuracy commercial option for indoor positioning today. UWB uses extremely narrow nanosecond-scale pulses to measure time of flight (ToF) or time difference of arrival (TDoA) directly. Under line-of-sight conditions, UWB accuracy is generally 10–30 cm, approaching centimeter-level under the best conditions. The cost is equally direct: each UWB anchor or tag costs noticeably more in hardware than a BLE or Wi-Fi module, and an independent network of anchors must be deployed.

The comparison table below is given as ranges from engineering experience (the author's experience; for selection reference only). Actual accuracy varies significantly with environment, device model, and algorithm implementation.

Table 3-2 Comparison of Outdoor and Indoor Positioning Technologies

TechnologyTypical accuracy (open/line-of-sight conditions)CoverageEndpoint powerDeployment costTypical applications
GNSS (single-frequency civilian)Meters to tens of metersGlobal (mainly outdoor)MediumLowVehicle tracking, personnel position reporting
GNSS + RTKCentimeter-levelOutdoor + base-station coverageHighHighestAgricultural autopilot, engineering surveying
Wi-Fi fingerprintingMeters to tens of metersBuilding scaleLow (reuses endpoints)Near-zero (reuses APs)Mall navigation, personnel check-in
BLE beaconsMeter-levelTens of metersVery lowLowIndoor guidance, visitor-flow statistics
UWB (ToF/TDoA)10–30 cm (near centimeter-level at best)Tens of metersMediumMedium-highAGV positioning, warehouse robots
Geomagnetic fingerprintingA few metersIndoorVery lowVery low (endpoint software only)Alternative for handset indoor positioning

Multi-Technology Fusion and Scenario Trade-offs

Real IoT projects rarely depend on a single positioning technology. A typical smart-warehouse design: outdoor vehicles use GNSS (with RTK) to navigate to the warehouse door; once inside, the AGV switches to UWB to hold a decimeter-level position among the shelves; meanwhile the asset tags on every rack broadcast their position periodically through BLE beacons for slot-level inventory counts. This nested "GNSS + UWB + BLE" layering is, in essence, solving positioning needs at different levels with different tiers of accuracy and cost.

The heart of a positioning design is finding the balance point among accuracy requirements, environmental coverage area, and total cost of ownership. When accuracy demands exceed what single-frequency GNSS or Wi-Fi fingerprinting can deliver, a more expensive option that yields continuous, reliable positions must be brought in. Conversely, if the scenario only needs to know "which zone is the person in," BLE beacons usually offer far better value than UWB. With the selection logic of outdoor and indoor positioning technologies now clear, the core question that remains is this: how are raw measurements such as RSSI and ToF solved into concrete coordinates?

Figure 3-7 Indoor/Outdoor Positioning: Coverage & Accuracy Spectrum (Illustrative)Typical accuracy ranges of mainstream positioning technologies — GNSS, Wi-Fi, BLE, UWB — across outdoor, indoor, and semi-outdoor environments. The axis is accuracy in meters on a log scale, coarse on the left to fine on the right; background colors mark outdoor, semi-outdoor transition, and indoor zones.Figure 3-7 Indoor/Outdoor Positioning: Coverage & Accuracy Spectrum (Illustrative)Typical accuracy ranges of mainstream positioning technologies — GNSS, Wi-Fi, BLE, UWB — across outdoor, indoor, and semi-outdoor environments, to build an intuitive sense for technology selection.Outdoor Coverage ZoneOpen and unobstructed; stable satellite receptionSemi-Outdoor Transition ZoneStreet canyons and overpasses limit signals; accuracy degrades sharplyIndoor Coverage ZoneRelies on Wi-Fi / BLE / UWB / geomagnetic infrastructure4Accuracy progressionAccuracy progressionAccuracy progressionGNSS Single-FrequencyOutdoor · meters to 10s of metersOutdoor · centimeter levelGNSS+RTK1Wi-Fi FingerprintingIndoor · meters to 10s of meters3BLE BeaconIndoor · meter levelUWBIndoor · decimeter level2Geomagnetic FingerprintIndoor · several meters10m5m1m0.5m0.1m← CoarseFine →Positioning accuracy (m · log scale)1GNSS+RTK delivers the best outdoor accuracy, but base-station deployment is costly.2UWB is the indoor accuracy champion, but anchor networks and tag costs limit coverage and density.3Wi-Fi and BLE cost the least to deploy and suit zone-level positioning, but cannot support fine-grained operations.4Semi-outdoor transition zones (e.g. loading docks) often blend GNSS and BLE for smooth handover.Satellite (GNSS)Wi-FiBLEUWBGeomagnetic (backup)Light blue = outdoor zoneLight yellow = semi-outdoor transitionLight gray = indoor zoneBar width = typical accuracy range (left edge ≈ coarsest, right edge ≈ finest)Figure 3-7 Coverage and accuracy spectrum of indoor/outdoor positioning technologies. The horizontal axis is positioning accuracy in meters (log scale); each technology is a horizontal bar whose width spans its typical accuracy range. Background colors distinguish three environment zones: outdoor (light blue), semi-outdoor transition (light yellow), and indoor (light gray).
Figure 3-7 Indoor/Outdoor Positioning: Coverage & Accuracy Spectrum (Illustrative)

Editor's note: The accuracy and cost figures in Table 3-2 and Figure 3-7 are qualitative ranges the author draws from years of engineering experience. They are not assertions about any specific vendor's products or test results, and serve only as a selection reference for readers during solution planning.

3.4.2 Positioning Algorithm Fundamentals: Triangulation and Fingerprinting

Once a signal reaches the receiver, the raw data is only arrival time or signal strength — neither is a coordinate by itself, and both must pass through position solving before they become geographic (x, y) or even (x, y, z). The mainstream technical routes for sensing-layer positioning reduce to two schools: triangulation and fingerprinting. The former is geometric solving; the latter resembles map matching. This section starts from the basics of ranging, then analyzes the principles, engineering boundaries, and typical applicable scenarios of the two algorithms.

The Physical Basis of Ranging Methods

Whether triangulation or fingerprinting, the first step is acquiring signal feature values. Three ranging methods are in common use, each with its own signal type and accuracy boundary.

RSSI (Received Signal Strength Indicator). The receiver measures received signal strength and back-estimates distance through a signal propagation model (typically the log-distance path-loss model). Wi-Fi and Bluetooth beacons mostly follow this approach. Its advantage is extremely low hardware cost — nearly every radio chip provides an RSSI register. The defect is equally obvious: signal strength is heavily affected by multipath, obstruction, and antenna orientation, which can push distance errors to several meters. RSSI therefore suits only meter-level, cost-sensitive applications. In AIoT practice, the endpoint can apply simple low-pass or Kalman filtering to the RSSI sequence to smooth single-point fluctuation.

ToA (Time of Arrival). The propagation time from transmitter to receiver is measured and multiplied by the speed of light to obtain distance. GPS and UWB rely mainly on this method. ToA demands extremely tight time synchronization: 1 nanosecond of clock error corresponds to roughly 30 centimeters of distance bias, so UWB chips must carry dedicated hardware for nanosecond-level timestamp capture. Under line-of-sight conditions ToA reaches centimeter-level accuracy, but in non-line-of-sight (NLOS) conditions signal reflections introduce extra delay and a systematic positive bias. Weighted least squares can suppress these gross errors to a degree.

AoA (Angle of Arrival). An antenna array measures the signal's angle of arrival, and two or more angles intersect to fix position. Bluetooth 5.1 introduced AoA support; computing phase differences across the antenna array is the main hardware and computing cost. AoA's engineering advantage is that only two reference nodes are needed to determine a direction line in a two-dimensional plane, but the array's size and calibration difficulty limit its adoption on small-form-factor devices.

The core engineering trade-off among the three: RSSI trades cost for accuracy, ToA trades bandwidth and power for accuracy, AoA trades hardware complexity for accuracy. In IoT projects, the RSSI-plus-triangulation combination is most common, while UWB plus ToA serves sub-meter scenarios such as robot docking or fine-grained asset inventory.

Three-Point Positioning and Least-Squares Refinement

The geometric idea of triangulation comes from school-level analytic geometry: given the coordinates of three reference points and the distances from the target point to those three, the target's coordinates can be solved from the intersection of three circles. This is the mathematical foundation of GNSS and most indoor positioning systems.

Figure 3-8 Trilateration Positioning PrincipleIdeally the three ranging circles meet at one point; measurement error turns the point into an overlap region, and least squares takes the coordinate with the minimum squared error inside it.Figure 3-8 Trilateration Positioning PrincipleIdeally the three ranging circles meet at one point; measurement error turns the point into an overlap region, and least squares takes the coordinate with the minimum squared error inside it.0102030405060X (m)01020304050Y (m)d1 = 36.0 md2 = 37.0 md3 = 29.0 mA (0, 0)B (60, 0)C (30, 50)Q least-squares estimate (29.4, 20.9)T true target (30, 20)Blue = core capability; orange = intelligence/risk pathFigure 3-8 Principle of trilateration. Under ideal conditions the three ranging circles would intersect at exactly one point, but real measurements carry RSSI fluctuation or ToA clock error, producing an overlapping region; least squares then picks the point with the minimum sum of squared errors as the final position.
Figure 3-8 Trilateration Positioning Principle

Figure 3-8 shows the idealized abstraction. In real engineering, every distance measurement carries noise — RSSI fluctuation, ToA clock offset, extra delay from multipath — and the three circles will most likely not intersect at exactly one point but form a blurred intersection region. At this point, three-point positioning must be upgraded to the least-squares method.

Assume N reference nodes (N ≥ 3), each contributing one equation:

[ (x - x_i)^2 + (y - y_i)^2 = d_i^2 ]

This is an overdetermined system. The essence of least squares is finding the (x, y) that minimizes the sum of squared residuals across all equations. The standard solution linearizes the system into the matrix equation (\mathbf{A}\mathbf{p} = \mathbf{b}) and solves it through the pseudo-inverse. When ranging errors follow a Gaussian distribution, the least-squares solution is statistically optimal. Engineering practice more often uses weighted least squares (WLS), assigning larger weights to more trusted range measurements to suppress NLOS gross errors.

Case: triangulation from Wi-Fi RSSI. Suppose an office tower's atrium has 4 calibrated Wi-Fi access points (APs). An inspection robot scans the RSSI values of nearby APs and estimates distances through a path-loss model. Because of signal fluctuation, a single AP's ranging error can reach several meters. With only 3 APs doing three-point positioning, the intersection region may be a blurred area of large diameter. Adding the fourth AP and applying least squares lets four equations constrain the solution together; the errors average out and the stability of the output coordinates improves markedly.

Fingerprinting: Offline Survey, Online Matching

Triangulation presupposes that the reference nodes' exact coordinates are known before deployment and that a propagation model can be assumed. But in large-scale indoor venues such as malls, airports, and underground garages, multipath reflection pushes the RSSI-to-distance mapping far away from the classical model, and triangulation accuracy collapses. Fingerprinting offers another route: instead of relying on a propagation model, it matches positions directly against signal features measured in the actual environment.

Fingerprinting runs in two phases:

  • Offline survey: grid points are laid out across the target area at a fixed spacing (typically 0.5–2 meters). At each grid point, a feature vector is collected for every wireless signal that can be detected. Each dimension of the vector corresponds to the RSSI value of a certain AP or Bluetooth beacon (undetectable sources are filled with -100 dBm). This vector is called the "fingerprint." All fingerprints together with their physical coordinates form the fingerprint database. The survey requires a person or a robot carrying a terminal to scan point by point, and the workload grows linearly with area.

  • Online matching: the endpoint scans the signal vector at the current moment and compares it against the records in the fingerprint database. The most common matching method is K-Nearest Neighbors (KNN): compute the Euclidean distance from the query vector to every fingerprint point, select the K fingerprints with the smallest distances (typically K = 3–5), then weight-average their coordinates by inverse distance to obtain the final position estimate. Too small a K is vulnerable to single-point noise; too large a K averages over a region and loses accuracy.

Case: a Wi-Fi fingerprinting experiment. Take an open-plan office area of several hundred square meters, sampled at roughly 1-meter spacing to yield several hundred fingerprint points, each recording the RSSI values of multiple surrounding APs. In the online phase, after the terminal scans the current RSSI vector, KNN (K = 3) matching selects the 3 fingerprint points with the smallest distances and weight-averages their coordinates by inverse distance. In field measurements, this method's average positioning error is usually better than triangulation error in the same environment. In recent years, some practices have begun replacing KNN with lightweight neural networks, turning fingerprint matching into a classification or regression problem — at the price of more offline training data and endpoint-side compute.

Fingerprinting's core strength is strong multipath resilience — it puts the environment's multipath reflections to work directly as "features" rather than "interference." It has two main weaknesses: the survey cost grows linearly with area, and environmental change (shelves rearranged, APs moved) leaves the fingerprint database stale and in need of periodic refresh. Crowdsourcing can ease the survey cost: mobile terminals carrying a positioning app passively collect fingerprints during normal use, and the cloud fuses them into incremental updates of the fingerprint database.

Engineering Trade-offs Between the Two Algorithms

Triangulation and fingerprinting have no absolute winner; the choice depends on a project's preconditions. The table below summarizes the key decision points.

Decision conditionRecommended routeEngineering reason
Reference-node coordinates exact, propagation model tractableTriangulation (least squares)Exploits known geometry; low deployment cost; no database to build
Severe multipath, inaccurate propagation modelFingerprintingModel-free; absorbs multipath directly as features
Large positioning area (tens of thousands of square meters and up)TriangulationFingerprint survey cost rises steeply
Environment changes frequently (goods moved, renovation)TriangulationFingerprinting needs repeated surveys; high maintenance cost
Many existing Wi-Fi/Bluetooth terminalsFingerprinting (crowdsourced)Fingerprints collected passively; reduces active survey workload
Absolute centimeter-level coordinates requiredUWB + ToA + triangulationFingerprinting's absolute accuracy is limited by grid spacing

Before fixing the algorithm backbone, settle one engineering question: do you actually need "absolute coordinates" or "zone determination"? The former suits triangulation; the latter is fully covered by fingerprinting's KNN. This one decision sets the direction of all subsequent hardware and software investment.

3.4.3 Multi-Source Fusion Positioning in Practice

No single positioning technology covers everything. GPS loses lock as soon as it moves indoors, UWB accuracy collapses behind metal shelving, and Wi-Fi fingerprints jump around after the environment changes. Engineers respond by making several technologies complement one another — the strengths of one covering the weaknesses of another. The mathematical framework behind this is multi-source fusion positioning: position data from different sensors is weighted and integrated to output a final result more reliable than any single source.

Engineering Boundaries of Single Technologies

  • GPS/BDS: meter-level in open outdoor ground, but the signal cuts off completely indoors, and multipath error in urban high-rise canyons can reach tens of meters.
  • UWB: 10–30 cm under line of sight, approaching centimeter-level under the best conditions; the first choice for high-accuracy indoor positioning. But once blocked by metal shelving or the human body, NLOS (non-line-of-sight) error deteriorates sharply and can jump several meters in severe cases.
  • Wi-Fi RSSI fingerprints: low deployment cost and wide coverage, but RSSI fluctuates heavily under multipath, temperature and humidity shifts, and people walking; after the environment changes the fingerprint database must be recollected.
  • BLE beacon zones: low power and low cost, suited to zone-level positioning. Beacon battery life is finite, and maintenance cost is often underestimated.
  • IMU + wheel encoders: good short-term relative accuracy, but bias drift accumulates over time, and pure dead reckoning becomes unacceptable after a few minutes.

The goal of fusion is not to chase a world record in single-point accuracy, but to guarantee that at any moment at least one trusted source is working, and that the system provides a position with uncertainty, so that upper-layer tasks (such as AGV path planning) can make safe decisions based on confidence.

Example: Multi-Source Fusion Positioning for a Warehouse AGV

In an automated warehouse, an AGV must carry a pallet from A to B, a route of about 200 meters passing through dense shelving areas and semi-open aisles. The design is as follows (all values are illustrative for this example and do not represent any specific product's specifications):

  • Primary positioning source: UWB. Roof-mounted anchors cover the main aisles, 10–30 cm under line of sight, approaching centimeter-level under the best conditions.
  • Auxiliary correction source: BLE beacons. Installed at rack bases and on the floor; when the AGV passes, an event is triggered and the position is forcibly corrected to the beacon's coordinates. Each beacon passed greatly compresses accumulated drift.
  • Continuous dead-reckoning source: IMU + wheel encoders. Maintains short-term relative accuracy and bridges UWB occlusion gaps.

The working-mode switching logic:

  1. Normal: UWB supplies continuous coordinates at about 10 Hz; the Kalman filter corrects with UWB observations, and the IMU only dead-reckons through the gaps.
  2. UWB occluded: the AGV moves deep into the racks, and the UWB update rate drops or jumps. The filter automatically inflates the UWB observation-noise covariance, lowers its weight, and switches to IMU dead reckoning as the primary. Position uncertainty grows gradually, with BLE beacons as the fallback.
  3. Passing a BLE beacon: the BLE scan triggers an event-type observation, the position is forcibly set to the beacon's coordinates (observation-noise standard deviation set to 3 m), and after weighted fusion the uncertainty shrinks sharply.
  4. Back under UWB coverage: UWB returns as the primary mode.

Kalman Filter: The Fusion Backbone

The most classic fusion tool is the Kalman filter. The pseudocode below, based on a simplified two-dimensional constant-velocity model, shows its core loop. In real engineering the state vector can extend to six dimensions (position, velocity, attitude), but the principle is the same.

c
// Kalman filter pseudocode: 2D position + velocity fusion
// state x = [pos_x, pos_y, vel_x, vel_y]^T
// observation z = [measured_x, measured_y]^T

x = {0, 0, 0, 0};
P = diag({1000, 1000, 1000, 1000});  // high initial uncertainty
Q = diag({0.1, 0.1, 0.1, 0.1});      // motion-model process noise
R = diag({5.0, 5.0});                 // default observation noise

while (running) {
    dt = getDeltaTime();

    // ---------- prediction ----------
    F = { {1,0,dt,0}, {0,1,0,dt}, {0,0,1,0}, {0,0,0,1} };
    x = F * x;                    // constant-velocity state transition
    P = F * P * F^T + Q;

    // ---------- observation source selection ----------
    if (uwbAvailable()) {
        R = diag({0.5, 0.5});     // UWB high trust, small noise
        correct(uwbPos, R);
    } else if (bleDetected()) {
        R = diag({3.0, 3.0});     // BLE low trust, large noise
        correct(blePos, R);
    } else {
        // no observation, pure prediction, uncertainty keeps growing
        continue;
    }
}

void correct(z, R) {
    H = { {1,0,0,0}, {0,1,0,0} };
    y = z - H * x;                // observation residual
    S = H * P * H^T + R;         // innovation covariance
    K = P * H^T * inv(S);        // Kalman gain
    x = x + K * y;               // state update
    P = (I - K * H) * P;         // covariance update
}

The key point is that the magnitude of the Kalman gain (K) is controlled by the observation noise (R): the smaller the (R), the larger the (K) and the higher the observation's weight; the larger the (R), the more the filter trusts the motion model's prediction. In the pseudocode above, UWB's (R) is 0.5 and BLE's is 3.0, so BLE only acts to suppress drift when UWB is unavailable and does not overly disturb the primary source.

Deployment Considerations

Timestamp alignment. Different sensors sample on independent clocks, and before filtering all data must be aligned to the system clock (NTP synchronization on the edge node, for example, or synchronization through RTC pulses). If the time offsets are too large, the fused output tends to oscillate. In practice, all sensor data usually carries hardware timestamps and is linearly interpolated onto the system clock before filtering.

Sensor-failure detection. With only 1–2 anchors visible, UWB can output coordinates far off the truth. A common strategy: compute the observation residual (the norm of the innovation vector), and if it exceeds three times the current observation-noise standard deviation, discard the observation or down-weight it (for example, temporarily inflate (R) by a factor of 10). BLE beacons likewise need a plausibility check on signal strength.

Compute constraints. For two-dimensional positioning the state matrix is 4×4 and inversion is cheap (inverting a 4×4 matrix takes only tens of floating-point operations); an ARM Cortex-M4 MCU runs the filter steadily at 50–100 Hz. If the design extends to three dimensions and adds a barometer and magnetometer, it is advisable to run the filtering on the edge gateway's processor, with the main MCU outputting only raw observations.

Engineering payoff. The real payoff of multi-source fusion positioning lies not in single-point accuracy but in the balance of coverage and robustness — however the environment changes, the system always holds a usable position with a confidence attached. Engineers need to manage three capabilities: the source-selection strategy (which source to trust, and when), noise modeling (quantifying each source's uncertainty, best obtained through offline calibration), and deployment operations (keeping every beacon and anchor continuously available, with periodic inspection of batteries and mounting positions).

Fusion is not a one-off tuning exercise but a continuously iterating process: every change in the field environment — new shelving added, metal equipment moved — may call for recalibrating some sources' noise parameters. A mature positioning system retains the fused positioning logs, uses them to analyze each source's behavior offline, and updates some parameters online accordingly.

Figure 3-9 Multi-Source Fusion Positioning: Single-Technology Limits & AGV FusionEach positioning technology has limits; the AGV fuses UWB primary, BLE correction, and IMU dead reckoning, weighted by observation noise in the Kalman filter.Figure 3-9 Multi-Source Fusion Positioning: Single-Technology Limits & AGV FusionThe goal is not record-setting point accuracy, but at least one trusted source working at all timesEngineering Limits of Single TechnologiesGPS/BDSMeter-level outdoors, lost indoorsUrban-canyon multipath: tens of metersUWBCentimeter-level with LOS; indoor first choiceMetal blockage worsens NLOS errorWi-Fi FingerprintingLow cost, wide coverageThe fingerprint map must be recollected after changesBLE BeaconLow power and cost, zone-levelBattery life is finite; maintenance is underestimatedIMU + EncodersGood short-term relative accuracyBias drift accumulates over timeAGV Warehouse Fusion: Primary + Correction + Dead ReckoningPrimary source: UWB (~10 Hz)Roof anchors cover main aislesKalman filter corrects with UWB observationsUnder blockage, inflates observation covariance and lowers weightWorkhorse in normal modeAuxiliary correction: BLE beaconsAt rack bases and on the floor; triggers events when passedPosition snap-corrected to beacon coordinatesObservation noise SD set to 3 m, fused by filter weightingEach beacon pass greatly shrinks accumulated driftContinuous dead reckoning: IMU + wheel encodersMaintains short-term relative accuracyFills UWB blockage gapsPure dead reckoning without observations; uncertainty keeps growingBecomes primary when UWB is blockedKalman Filter: Observation Noise R Controls WeightSmaller R gives larger Kalman gain K and higher observation weight; UWB has R=0.5, BLE has R=3.0 — BLE only suppresses drift when UWB is unavailableTimestamp alignment (hardware timestamps + linear interpolation) · observations discarded when residuals exceed 3σ · 4×4 matrix inversion runs steadily at 50–100 Hz on an M4Figure 3-9 Every single positioning technology has its limits; the AGV uses UWB as primary source, BLE as correction source, and IMU + wheel encoders for continuous dead reckoning, with a Kalman filter weighting observations by noise R and outputting positions with uncertainty for upper-layer safety decisions.
Figure 3-9 Multi-Source Fusion Positioning: Single-Technology Limits & AGV Fusion

From Industrial Software to AI Agents · Building a multi-protocol, cloud-native, open-source industrial IoT platform ready to evolve toward AI agents