Sensor drift

Technical report: positional drift in wearable sensor data from an open-field recording

How consistent sensor positions stay over time

We organised a testing session on the Pafos FC training ground to check how FitWise performs against two established systems: an Xsens motion-capture suit and Catapult GPS vests, worn by first-team athletes. But when we compared our measurements with the sensors', we found one factor that kept affecting the results: drift. Over tens of seconds, the sensors' positions appear to wander away from where the camera sees the athletes.

This report is the first in a series of studies from that session. It focuses on sensor drift and how we detect it with a single fixed camera. The next study compares FitWise with both sensor systems.

Download the report PDF · 27 pages · October 2026
First page of the technical report
13–20 cm
Xsens drift between
revisits ≥ 15 s apart
23–31 cm
Catapult drift between
revisits ≥ 15 s apart
FitWise Validation Programme

From the lab to the training ground

At FitWise we run a validation programme to learn how accurate our system is and where it can be applied: in the lab, in training and in games. The first study compared FitWise with an Xsens motion-capture suit in the CYENS studio in Nicosia. The natural next step was a real training ground, measuring against Xsens and against the Catapult GPS vests clubs use in training and games.

Setup

Study setup

The session took place on 21 September 2026, on a grass pitch at the Pafos FC training centre in Yeroskipou, Cyprus. We installed a static camera on a tripod on the stand at the side of the pitch, and laid out the course with cones.

The Sony camera on a tripod on the stand, looking over the railing at the cones on the pitch

The camera

We used the same off-the-shelf camera as in the lab: a Sony α6700 with the standard E PZ 16–50 mm kit lens, recording 4K at 59.94 frames per second. It stood on a tripod on the stand at the side of the pitch and stayed in place for the whole session. For this report the video is used only as a record of where things appear in the image: no calibration and no 3D reconstruction.

An athlete being fitted with the inertial suit, straps with sensors on his arms and legs

The Xsens suit

The athletes wore an Xsens inertial motion-capture suit: small sensors strapped to the head, torso, arms, legs and feet, each combining an accelerometer, a gyroscope and a magnetometer. From them the suit computes the positions of 23 body segments, 60 times a second. The suits and the data export came from CYENS in Nicosia, who also hosted our lab study.

Staff fitting an athlete with a Catapult GPS vest and Xsens sensors before a run

The Catapult vest

Over their shirts the athletes wore Pafos FC's own Catapult vests, with a GPS unit in a pouch between the shoulder blades: the tracking system clubs use every day in training and in games. It reports the athlete's position on the pitch 10 times a second, plus a speed channel. The club shared the session's Catapult data with us.

Protocol

Running protocol

Five Pafos FC first-team athletes took part. Each ran three parts in one go: a snake through the cones, four shuttle runs and a final sprint. We turned the layout so that the athletes ran across the camera's line of sight rather than towards it. Two members of the FitWise team then ran the same course in the Xsens suit only; the Catapult vests were worn by the club's players.

The snake

The athlete weaves across the course row by row through the cones, from the near side of the pitch to the far side, changing direction at the end of every row.

The snake, seen by the fixed camera. Sped up 2×.

Shuttle runs

Four shuttle runs back and forth along one straight line across the pitch, turning at each end.

The shuttle runs. Sped up 2×.

The sprint

A final sprint along the diagonal of the course. With about 40 m of straight line available, most sprints were really high-speed runs: a true sprint needs more room to slow down.

The final sprint. Sped up 2×.

Not every take produced data from all three systems. An Xsens foot sensor came loose during two of the shuttle runs, and one recording started late. Eight clips made it into the analysis; three of them, C1, C2 and C5, have the camera, Xsens and Catapult together.

ClipC1C2C3C4C5C6C7C8
Xsens✓✓––✓–✓✓
Catapult✓✓✓✓✓✓––
Comparison

Comparing the sensor readings

Next, we compared FitWise's measurements with each sensor's. Over a few seconds everything lined up well; over longer spans, it drifted apart for every athlete.

Coming soon
Video: the three systems on one run
The fixed-camera footage with the Xsens and Catapult positions drawn on it, sliding off the athlete over time.

We were not the first to see this. Boltes et al. (2021) tracked an Xsens suit with a calibrated overhead camera and found its trajectory drifting away from the camera's, by up to 0.35 m over a 50-second walk and 0.87 m over 310 seconds.

Xsens and Catapult are established systems, and each reports positions through its own internal model of the world. So instead of calling the differences errors, we asked a narrower question:

Does each sensor system report the same position for the same place over time?

To answer it, we need to line the sensors up in time, choose a reference, and compare revisits of the same place from a few seconds to a minute apart.

Before calling it drift, we also tested ten other explanations, such as camera movement, timing errors and keypoint artefacts. Validation and simulation on the recorded data point to drift in the sensor data each time; the report covers every test.

Sync

Aligning the data in time

The camera, the Xsens suit and the Catapult vest each run on their own clock. We use the video as the master clock: every frame carries a timestamp, none is dropped or repeated, and each sensor gets one fixed time offset per clip.

This works because, over a few seconds, the systems agree closely: sensor positions match the image within keypoint noise, and Catapult's speed channel matches the speed of its positions to within 1%. Drift builds up only over longer spans. That is also a precondition: a sensor that drifted a lot within seconds would leave no short-span baseline to compare against.

Reference

The fixed camera as the position reference

When so much is moving (the athletes, the sensors, each system's own model of the world), you need something that stays put. Here that is the camera: fixed on the stand for the whole session, it sees a spot on the pitch at the same pixel every time.

Using video as the reference is not new. Boltes et al. (2021) treated a calibrated camera system as ground truth for an Xsens suit, and a review of 48 tracker validation studies recommends references that capture the athlete's actual path, video-based tracking among them (Luteberget and Gilgien, 2020). We take the idea one step further: the camera here needs no calibration at all.

The video is used only as a record of where in the image things happen, with no 3D reconstruction. When the athlete steps on the same spot twice, the image shows the same pixel both times. A drift-free sensor reports the same position both times; a drifting one reports two, and the gap grows with the time between the visits.

The spot of the first visitThe athlete now, in the imageWhere the sensor puts the athlete

The same spot on the pitch, seen by the fixed camera in clip C2. Left: the first visit. Right: a later visit in the same direction. The camera sees the athlete back on the spot; the sensor's own track, mapped into the image, puts the athlete somewhere else. Without drift the red marker would sit on the athlete.

Reading the athlete's position from the image

The image side of every comparison comes from the FitWise body-pose model, which marks the athlete's joints in pixels on each frame. At each footfall we compare the ankle with the Xsens foot segment. While the athlete runs, we compare the neck with the midpoint of the Xsens shoulders and with the Catapult vest, which sits between the shoulder blades. The method does not depend on this model: the same points could just as well be marked by hand.

Coming soon
FitWise neck and Catapult vest
A still frame with the FitWise neck point, the Catapult position and the distance between them.
Coming soon
FitWise neck and Xsens neck
The FitWise neck point against the midpoint of the Xsens shoulders on the same frame.
Coming soon
FitWise ankle and Xsens footfall
The FitWise ankle at the moment of a footfall against the Xsens foot segment.
How each sensor is compared with the image: the FitWise point and the sensor position on the same video frame.
Findings

Position agreement decreases with time between visits

For a drift-free sensor, the misfit between what the image shows and what the sensor predicts should be the same whether two visits are one second or one minute apart. We find that for both Xsens and Catapult it is not constant: the median misfit grows with the time between visits.

The chosen momentThe athlete back near that spotWhere the sensor puts the athlete

Clip C2 from the fixed camera, at the chosen moment, with the athlete's path through the clip. Drag the slider or click the path to choose a moment; every later pass near the same spot, in the same direction, shows where the athlete is in the image and where the sensor's own track puts the athlete. Without drift each red marker would sit on its white dot.
Agreement by time between visits
Agreement between the image and each sensor, by time between the two visits: the median misfit (or the correlation) between the displacement seen in the image and the one the sensor predicts, for the Xsens footfalls, the Xsens neck and the Catapult neck. Growth compares revisits 1–5 s apart with those more than 15 s apart; intervals from a block bootstrap, one-sided p < 0.003.

The Xsens footfalls go from 14 to 36 px; the Xsens neck agrees almost exactly. Catapult starts higher, at 22 px, because its positions are noisier and carry no height, and grows further, to 56 px. At the longest gaps, displacements come out both too long and too short, which is what a shift in a changing direction does, rather than a scale error.

Misfit of every pair of visits by time apart
One pair of visitsMedian, from the report
Every pair of visits behind the chart above, from all eight clips (a random sample of up to 1,500 pairs per sensor): the misfit against the time between the two visits. The line is the median from the report. A few Catapult pairs above 200 px sit on the top edge.

Sizing the drift with simulated data

To read the growth in physical terms, we reran the whole test on simulated data with the same motion, timing, revisits and keypoint noise as the recording, adding drifts of known size. Without drift the curves stay flat. A sensor that wanders randomly by about 8 cm over a minute is already picked up. The growth we see in the recording is about what a sensor sliding steadily by 1 cm every second would produce.

Coming soon
Switch the drift level
One full-height view. On top, the fixed-camera footage with the real sensor positions and a simulated sensor with the chosen drift projected into the image; below, the misfit by time between visits for both. The toggle switches between the simulated drifts (none, random walks of three sizes, a steady slide, a slow rotation); the real recording always stays on.
Growth of the misfit for known injected drifts and for the recording
Simulated, with a known injected driftThis recording

Click a simulated row to see what that drift means on the pitch.

Growth of the median misfit from short gaps (1–5 s) to long ones (over 15 s); bars show 95% intervals.

Converted into centimetres across the camera's line of sight, the drift between revisits at least 15 seconds apart is about 13 to 20 cm for Xsens over a median run of 97 m, and 23 to 31 cm for Catapult over 99 m. The along-the-line component is not measured, so the total drift is larger.

Consistency across clips

We find that each of the five Xsens and six Catapult clips shows the same pattern: the misfit grows with the time between visits, though by different amounts. Two Xsens clips, C1 and C7, grow less than the others.

Each clip as seen by the fixed camera. When the athlete later comes back to the same spot, running the same way, the white dots show where the image puts the neck on each return and the coral markers where the sensor's own track puts it; the line between them is the misfit. Below, the same frame zoomed in. "Revisits only" plays the moments with a return at half speed and skips the rest.
Growth of the median misfit per clip

Hover a dot for the clip.

Growth of the median misfit per clip, px. A clip at zero would show no drift.

In C1, C2 and C5 both sensors are compared against the same video frames, so any image-side problem (camera motion, video timing, keypoint artefacts) would show in both alike. Instead, in C1 the Xsens footfalls stay nearly flat while Catapult grows, and in C5 Xsens grows late while Catapult is already high. That points to the sensors, not the video.

Misfit of Xsens and Catapult on the same clips
Xsens · footfallsCatapult · neck

Clips C1, C2 and C5, where both sensors are compared against the very same video frames: the misfit of each pair of visits against the time between them (up to 600 pairs per sensor and clip). Lines: the median of the pairs in each time band.
Implications

Wearables are validated on distance and speed, rarely on position

Validation studies of tracking devices mostly check distance and speed (Luteberget and Gilgien, 2020), usually over a small area and trials of seconds to a couple of minutes. A slowly changing error in position hardly shows in those numbers: a drift of 1 cm per second changes the distance between two 10 Hz samples by at most a millimetre. Yet it decides whether a sensor reports the same position for the same place half a minute later.

Drift barely affects speed and acceleration. A steady drift of 1 cm/s adds a constant velocity, so it changes speed by about 0.01 m/s and acceleration not at all. That is well inside the speed errors reported in validation studies: 0.14 m/s for a Catapult Vector S8 against an optical reference (Ellens et al., 2025) and 0.07 m/s for sport GNSS receivers against a geodetic reference (Gløersen et al., 2018). What drift does affect is position over longer spans: where on the pitch an action happened, distance covered within a zone, and positions compared across a drill or matched to video.

What this means in practice

We find that speed, acceleration and other readings built from short spans of motion are barely affected. Readings that compare positions over longer spans, or align a whole clip with one fixed transform, are.

The method itself is the more general result. With an ordinary fixed camera and no calibration, field model or 3D reconstruction, it measures a sensor's consistency with itself over time. It complements short validations against a reference system by testing instantaneous position, which they rarely address.

Limitations

This is a first study, with clear limitations: one session, five Xsens and six Catapult clips of one to two minutes, so few independent units and wide intervals. Part of the Xsens evidence rests on two weakly growing clips. Only the drift across the camera's line of sight is measured, so the total drift is larger. The image keypoints are model outputs; their influence was tested but cannot be fully excluded.

We hope this study adds to the conversation about drift and how it affects positional data from on-field recordings.

About us. FitWise is a commercial company, not an academic lab. We develop and sell a camera-based tracking product that may compete with the systems tested here. The results describe these recordings only, not the Xsens or Catapult systems in general, and the full method is in the report so that others can check it.

The whole session on the Pafos FC training ground, 09:19 to 12:23, sped up 270×.
First page
preview
First page of the technical report
Technical report · full methods and results Positional drift in the sensor data of an open-field recording Detection from a fixed camera without a camera model The derivation of the local image mapping, the correlation criterion and its statistics, results for both sensors, the conversion to centimetres, the comparison with previous work, and all ten ablations.
Download the reportPDF · 27 pages · October 2026