Abstract
Every magnetic guide sensor reports where the magnetic tape is. The Naviq MTS160 also reports the angle at which the tape crosses the sensor. Does that second number make a measurable difference to how well an AGV follows the line? To find out, we drove the same differential-drive AGV around the same office track at the same speed with two controllers that differ only in their steering law: a position-only proportional controller tuned to its maximum stable gain, and a position + angle controller that adds the tape angle as a steering feedforward term.

1. Why Position Alone Is Not Enough
A position-only controller sees a single number: the lateral offset x of the tape under the sensor. It cannot tell whether that offset comes from the vehicle drifting on a straight or from the tape bending away into a curve. Both look identical until the error has grown, and both get the same reaction: a steering correction proportional to x.
On a curve this means the vehicle is always chasing the tape. The offset must build up before the correction is large enough, so the vehicle enters every curve late and exits it wide. The only way to tighten tracking is to raise the gain Kp, and the only limit on Kp is the onset of oscillation: sensor noise, wheel backlash and controller latency are all amplified with it.
The MTS160 reports a second number: the angle θtrack between the tape and the vehicle’s forward axis, alongside the position, at 1° and 1 mm resolution. On a straight the angle is zero even when the vehicle is offset; in a curve it is non-zero even when the vehicle is perfectly centered. It is exactly the information the position-only controller lacks, and it can be fed straight into the steering command as a feedforward term.
2. The Two Controllers
Both controllers compute a steering angle θctrl at the sensor location and pass it to the same kinematic model (Section 4) to obtain wheel speeds. The only difference is the control law.
Position-only:
Position + angle:
For the position-only controller, Kp was raised until the vehicle began to oscillate on straight sections and then backed off to the largest stable value, Kp=10. For the position + angle controller, the feedforward term does most of the steering in curves and the feedback gain only has to remove residual offset; Kp=1.5 gave the best results. Nominal speed was V=0.5 m/s for both.
3. Test Vehicle and Track
The testbed (Figure 2) is a compact differential-drive AGV with two independently driven rear wheels and a free front caster. A Raspberry Pi talks to the MTS160 and to both motor controllers over CAN; the control loop, written in Python, runs perception, navigation and steering at 100 Hz. Source code and derivations are published on GitHub [2].

The track (Figure 3) is a closed loop laid on an office floor with curves of varying radius, forks and merges, a crossing and a charging spur. Routing through the forks uses left/right markers read by the sensor, a short Navicode pattern arms the docking sequence, and a magnetic point marker at the charger gives a millimeter-accurate stop. These features are identical for both controllers; they are there to make the runs long and repeatable, not to be compared. Figure 4 shows the vehicle’s recorded trajectory around the loop.
4. From Steering Angle to Wheel Speeds
Both controllers share the same kinematic model, so the comparison isolates the effect of the steering law. The sensor is mounted a distance L ahead of the axle; the wheel separation is B and the wheel radius r. The velocity at the sensor has magnitude V and heading θ relative to the vehicle’s forward axis (Figure 5).
Rigid-body kinematics give the axle forward velocity Vb and yaw rate ωb:
The left and right wheel speeds follow as
and, dividing by the wheel radius, the wheel angular velocities commanded to the motor controllers are
At each 100 Hz cycle the controller evaluates (1) or (2), substitutes θctrl for θ, and sends ωl and ωr to the wheels. V is set by the navigation layer and held at 0.5 m/s except on the docking approach.
5. Results
Lateral error was logged at 100 Hz over multiple full laps with each controller, excluding the final docking sequence. Figure 6 overlays the two controllers over a representative curved segment. The position-only trace (green) shows the characteristic pattern of a reactive controller: the error grows on every curve entry, the high gain pulls it back hard, and it overshoots on the way out. The position + angle trace (orange) stays within a narrow band through the same curves, because the feedforward term starts the turn before any error has accumulated.
Figure 7 quantifies the absolute error over a region around a marker. Position + angle reduces the mean absolute error from 15 mm to 9 mm, a 40% improvement, and halves the 95th percentile from 30 mm to 15 mm. The second figure matters most in practice: it is the large, occasional deviations that clip a shelf or miss a pickup, and those are the ones the angle term removes.
Note that these gains were obtained with a feedback gain of 1.5 against 10. The position-only controller was already at the limit of stability; there was no headroom left to tune it closer. The position + angle controller had headroom to spare.
The same difference is visible to the naked eye. The clip below shows the sensor’s live view through one curve under each controller, slowed down. The red cross marks the center of the sensor’s front row, which is the target position: a perfectly tracking vehicle keeps the tape running through the cross. Watch how far the tape moves away from it: with position-only steering the tape drifts far off the cross as the curve begins and is only hauled back once the error is large, whereas with position + angle the tape barely leaves the cross through the whole curve.
6. What This Means in Practice
- Tighter tracking at the same speed, or the same tracking at a higher speed. The curve-entry transient that limits a position-only vehicle is largely gone.
- A more forgiving control loop. With the gain reduced almost sevenfold, the loop tolerates wheel backlash, tire wear, payload changes and sensor noise that would push a position-only controller into oscillation.
- Faster commissioning. The feedforward term needs no tuning; only the small residual gain does. The same settings carried over unchanged across our runs.
- Nothing else changes. Routing markers, Navicode and point-magnet docking behaved identically under both controllers; docking alignment stayed below 5 mm in 95% of trials.
Limitations: the runs were made on clean tape indoors on a small vehicle. Scaling to heavier, faster AGVs was not tested here, although the mechanism, anticipating curvature instead of reacting to it, is if anything more valuable as speed and mass increase.
7. Conclusion
Adding the tape angle to the steering law is a one-line change to a controller, but it turns line following from reactive into anticipatory. On the same vehicle and the same track, it reduced mean tracking error by 40% and halved the worst-case error, with a fraction of the feedback gain. For any tape-guided AGV that has to take corners at speed or hold a tight lane, the angle measurement is the difference between correcting behind the curve and steering into it.
The controller derivation behind equation (2) is explained step by step in Predictive Steering Control using Angle Measurement. To reproduce the comparison on your own vehicle, request a free MTS160 evaluation kit.
References
[1] Naviq MTS160 Product Page. Available: https://naviq.com/shop/mts160-magnetic-guide-sensor
[2] Controller Source Code and Derivations. Available: https://github.com/naviq-ch/naviqbot



