Positioning and timing
Centimetre-level pose of the sensor head on a common GPS time base.
The positioning subsystem records where the sensor head is, and how it is oriented, at every measurement block. This turns a moving sensor into a set of measurements from many known positions. It also gives an estimate of target depth that does not depend on the signal amplitude.
7.1Why position matters
When the sensor passes over a target at constant height, the received signal as a function of position forms a peak. Its width is set by geometry. For a coincident coil over a small sphere, the full width at half maximum equals 0.90 times the depth.
Depth obtained from the width does not depend on the size of the target. This matters because signal amplitude alone cannot separate a small shallow object from a larger deep one (Chapter 3). With depth known, amplitude gives size, and size together with the product \(\sigma a^2\) from the spectrum gives an estimate of conductivity.
The measurement also depends strongly on coil height. From \(|V| \propto r^{-6}\), a change in distance \(\mathrm{d}r\) changes the signal by \(\mathrm{d}V/V = -6\,\mathrm{d}r/r\). At 20 cm, raising the coil by 1 cm reduces the signal by about 30%. Coil height is therefore measured directly with a time-of-flight ranger.
With 21.3 ms blocks and a walking speed of 0.5 m/s the sensor moves 1.1 cm per block, which samples the peak adequately. With pose known for every block, a head with one transmitter and three receivers views the target from many directions during a pass. This provides the tensor columns that it cannot measure from a single position (Chapter 5).
7.2Sensors
7.2.1Inertial measurement unit
Integrating acceleration twice converts an uncorrected accelerometer bias \(b\) into a position error of \(\tfrac12 b t^2\). For a bias of 1 mg this reaches 2 cm after 2 s, 12 cm after 5 s and 49 cm after 10 s. The IMU is therefore used only to interpolate between absolute position fixes and to measure tilt.
7.2.2Magnetometer
The magnetometer measures heading from the Earth's static field. Close to the transmit coil the coil's own alternating field dominates: with a moment of 0.9 A·m² it is 181 µT at 10 cm, compared with the Earth's 50 µT. The coil field falls as \(1/r^3\). At 50 cm it is 1.45 µT, which limits the heading error to 3.3°, and at 1 m it is 0.18 µT (0.4°). The magnetometer is therefore mounted at least 50 cm above the coil. Heading is also disturbed by steel near the survey area and is treated as a slowly corrected estimate.
7.2.3Satellite positioning
Table 7.1.Satellite positioning options.
| Receiver | Horizontal error | Suitability |
|---|---|---|
| Standard GNSS (phone class) | 2 to 5 m | Unsuitable; larger than the signal peak by two orders of magnitude |
| RTK GNSS, dual-frequency receiver with base station | 1 to 2 cm | Required |
| PPK (same hardware, corrections applied afterwards) | 1 to 2 cm | Alternative without a radio link; no live map |
The RTK antenna is mounted at the top of the pole for a clear view of the sky, about 1.5 m above the coil. An unmeasured tilt \(\theta\) moves the coil by \(L\sin\theta\) relative to the antenna, which is 2.6 cm per degree and 13 cm at 5°. The IMU tilt estimate is used to project the antenna position down to the coil.
7.2.4Camera
A camera facing the ground tracks surface texture from frame to frame (visual odometry). Its drift grows with distance travelled, typically 0.5 to 1%, and not with time. Combined with the IMU it continues to work under tree cover, where RTK degrades. A single camera cannot measure absolute scale, but the time-of-flight ranger measures the camera height and provides it. A global-shutter camera is used because a rolling shutter distorts images under vibration. Visual odometry fails on featureless or moving surfaces and in poor light; the IMU bridges such periods.
7.3Mechanical arrangement
The pole and all mountings near the coils are non-metallic. The lever arm from antenna to coil centre is measured to the millimetre during assembly and verified by the rotation test in task T3.1.
7.4Timing and fusion
Position fixes come from the GNSS clock, induction samples from the codec clock and video frames from the camera clock. The GNSS pulse-per-second signal connects them. It is recorded on a codec input, which places GPS time in the audio stream with one-sample resolution (20.8 µs at 48 kHz). It also drives an LED in the camera's field of view, so each frame can be assigned a GPS time. The AC coupling of the codec input converts the pulse into a pair of spikes; edges are detected rather than levels.
Table 7.2.Positioning performance targets (milestone M2).
| Quantity | Target | Verification |
|---|---|---|
| Horizontal position of coil centre | ≤ 2 cm (1σ) | Ten passes over a marked target from different headings |
| Coil height above ground | ≤ 3 mm | Comparison with a measured reference surface |
| Timing between induction and pose | ≤ 1 sample | PPS edge in audio stream against GNSS time tag |
| Depth from peak width at 20 cm | ±1.5 cm | Buried calibration sphere at known depth |