Skip to content

Higher Education & Research

Relative numbers nobody could use, referenced to magnetic north

Autonomous vehicle testing was producing position and rotation relative to wherever the vehicle happened to start, which made every run internally consistent and impossible to compare against any other. Referencing the whole system to magnetic north turned it into data a person could reason about, and it is still collecting.

Client
A university-affiliated autonomous vehicle test range
Duration
Ongoing, still in service
Team
1 engineer, with the platform vendor
Year
2024–present

The situation

What we walked into.

There was no acquisition system. Autonomous vehicle testing was generating exactly the data the program needed and none of it was being captured in a form anybody could analyze afterward.

What the vehicle platform did report was relative: position and rotation expressed against wherever that vehicle happened to power on. Each run was therefore internally consistent and mutually incomparable: two runs of the same maneuver produced two coordinate frames, and no amount of post-processing recovers a shared reference that was never recorded.

The platform itself was a third-party device, built and maintained by its vendor, which meant the work had to be done alongside somebody else’s firmware rather than inside our own.

Approach

How we sequenced it.

Each step had to be independently valuable. That constraint is what let the client stop at any point without being stranded.

  1. Step 01

    Establish a common reference

    Magnetic north, taken as the common frame every run is expressed against. That single decision is what converts a set of unrelated coordinate frames into a dataset: runs become comparable to each other, to the map, and to the physical range they happened on.

  2. Step 02

    Build the acquisition path

    Capture, timestamping and storage for data that had previously existed only in flight. The constraint throughout was that a test run cannot be repeated cheaply, so a dropped sample is a lost run rather than an inconvenience.

  3. Step 03

    Work the vendor’s defects rather than around them

    The platform had PWM faults that surfaced under real test conditions. We diagnosed them and contributed code to the vendor rather than building compensation into our own layer, because a workaround for somebody else’s bug is a permanent liability that nobody remembers is there.

  4. Step 04

    Hand over something that keeps running

    The system was left operable by the people who use it, which is the reason it is still in service rather than the reason it was delivered on time.

What was built

The parts that mattered.

  • No prior system existed; the data was being generated and discarded.
  • Relative-to-startup coordinates cannot be reconciled after the fact; the reference has to be recorded at capture time.
  • Vendor firmware defects were fixed upstream rather than compensated for locally.
  • Still acquiring, years after handover.

Results

What changed, and how we know.

None of these is a number, because none of them should be: they are states of the delivered system rather than measurements of it. Each says what it is and what it rests on.

Referenced to magnetic north
One frameRuns became comparable to one another and to the range itself, which is the difference between a log and a dataset.
Never decommissioned
Still in serviceThe system has run continuously since handover, operated by the program rather than by us. It is the longest-running thing on this page.
Vendor defects fixed at source
UpstreamPWM faults were diagnosed and contributed back to the platform vendor, so the fix belongs to the device rather than to a compensation layer somebody would later have to maintain.

Built with

  • Magnetometer-referenced heading
  • Inertial position and rotation
  • Third-party vehicle platform
  • PWM motor control
  • Time-series capture and storage

Services involved

Next step

Tell us what’s breaking.

Forty-five minutes, no charge, no deck. We’ll tell you what we’d do, what it would likely cost, and whether the problem is in the hardware at all.

Reply
A person replies, not a sequence: within one business day, from someone who would be on the engagement.