Technical report: positional drift in wearable sensor data from an open-field recording
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.
revisits ≥ 15 s apart
revisits ≥ 15 s apart
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.
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 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.
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.
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.
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.
Shuttle runs
Four shuttle runs back and forth along one straight line across the pitch, turning at each end.
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.
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.
| Clip | C1 | C2 | C3 | C4 | C5 | C6 | C7 | C8 |
|---|---|---|---|---|---|---|---|---|
| Xsens | ✓ | ✓ | – | – | ✓ | – | ✓ | ✓ |
| Catapult | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | – | – |
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.
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.
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.
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.
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.
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 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.
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.
Click a simulated row to see what that drift means on the pitch.
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.
Hover a dot for the clip.
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.
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.
preview