Interview with Ayush Sharma, Research Engineer Core Algorithms at Xsens
When marine engineers talk about heave, they refer to vertical motion: the up-and-down movement of a vessel or platform caused by waves. For offshore cranes, drilling platforms, or docking systems, compensating for that wave motion is critical.
With the latest firmware update, Xsens’ Sirius and Avior sensor modules evolve from AHRS to full industrial-grade MRUs - now providing real-time Heave output, computed directly onboard.
We spoke with Ayush Sharma, the engineer behind our new heave algorithm, to understand how Heave works, why it matters, and what makes Xsens’ implementation unique.
Q: What is “Heave” in simple terms?
Ayush:
Heave motion is the vertical up-and-down movement of a body. You’ll find it in many domains, but it’s especially relevant in the marine world, where ships and platforms constantly move vertically because of waves.
So, in plain language, heave is simply “how much are you moving up and down.”
Q: Why was this important to add to Xsens sensors modules?
Ayush:
Until now, our sensors measured orientation (roll, pitch, and yaw), but not the vertical displacement. With Heave, Xsens Sirius and Avior can now provide it: roll, pitch, yaw and heave. That turns them into industrial-grade MRUs, giving marine customers the complete motion reference they need for stabilization and compensation systems.
Q: So how does the sensor actually calculate Heave?
Ayush:
The principle is simple physics: we use double integration of acceleration.
Our IMUs already have accelerometers that measure acceleration. When you integrate acceleration once, you get velocity; integrate again, and you get position.
In theory that’s easy, but in practice it introduces errors - the estimated position does not align with the real motion in time. That’s where we add our “math magic”: corrections that align the estimated motion with the real one.
Q: What kind of corrections are needed?
Ayush:
Because of the timing mismatch, we made our heave filter adaptive. It is an auto-tuning filter which adapts to the real heave conditions and adjusts the misalignment.
Q: What other sensors are involved besides the accelerometer?
Ayush:
We also use the gyroscopes and orientation data.
If the IMU isn’t perfectly upright, for instance, if the vessel rolls or pitches, we need to know which direction “up” is. The orientation filter provides that reference so the algorithm can isolate the true vertical acceleration and ignore the rest.
Q: How fast and responsive is the Heave output?
Ayush:
It’s completely real-time. Once the sensor has converged, which takes about 40 seconds from startup, the heave output tracks motion one-to-one.
The algorithm runs at 100 Hz, so every second you get 100 data points of vertical displacement. That’s fast enough for active heave-compensation systems to react instantly.
Q: What accuracy were you able to achieve?
Ayush:
We measured ≤ 5 cm error for wave periods up to 29 seconds, and around 6 cm up to 40 seconds.
That’s a very strong range: wider than what we typically see in other MRUs on the market.

How the Xsens Heave filter adapts when the wave period suddenly changes.
Top: Heave position (pink = ground truth, blue = Xsens estimate).
Middle: detected heave period
Bottom: Heave error
Within ~40 s, the filter re-converges and returns to centimetre-level accuracy.
Q: Was it challenging to develop the algorithm and implement it on-device?
Ayush:
The main challenge wasn’t the math itself but making it run efficiently on the device firmware.
Heave calculation needs to happen in real time, so we had to optimize how the sensor processes acceleration without adding delay. Once we did that, it worked beautifully.
Q: Is this a completely new algorithm?
Ayush:
It’s built on classic double integration, but the correction method is something we developed ourselves. We have experimented with Heave before, but the phase-correction problem was never fully solved – until now.
Q: How did you test Heave performance?
Ayush:
We started with controlled lab tests using a motion robot that simulates wave motion.
We tested extreme cases, such as abrupt changes in wave period, to make sure the algorithm adapts quickly. In real marine conditions, wave changes are smooth, so the filter easily keeps up.
We’ll keep testing, using real ship-motion data, but we already know the results look very good.
Q: How do users enable Heave on their sensors?
Ayush:
It’s very simple. Existing Xsens Sirius and Avior users just install the new firmware and check the “Heave” box in MT Manager or via the SDK.
From that point, the sensor outputs roll, pitch, and heave automatically - no calibration needed.
Q: Which applications will benefit most?
Ayush:
Anywhere there’s wave-induced motion, and the need to carry on Active Heave Compensation: offshore cranes, drilling platforms, docking systems, marine survey equipment, even surface buoys.
Heave allows these systems to keep their payloads or instruments at a fixed position, even when the vessel or platform itself is moving.
Q: What’s next for Heave at Xsens?
Ayush:
We’ll continue validating it with partners and perform more testing.
Right now, Heave makes Xsens Sirius and Avior true industrial-grade MRUs, and that’s already a big step for our marine offering.