Design & Selection · Module 02
Accuracy vs precision, resolution vs accuracy, rate vs latency
A sensor can be precise and wrong, finely resolved and inaccurate, fast and late. This guide separates the four pairs with numbers.
Assumptions: Simple static statistics and a constant-speed latency estimate. The example numbers are illustrations, not a product. The calculations are executed by the site’s tests.
1. Engineering problem
Datasheets and conversations use these words loosely. A sensor that repeats to 6 mm but is 12 cm off will misplace every obstacle the same wrong way; a 1 mm resolution says nothing about error; a 10 Hz rate with 50 ms of delay means the data you use is already up to 150 ms old.
2. When is this needed?
- Comparing sensors from different vendors.
- Explaining a sensor’s behaviour on the robot.
- Setting latency and calibration requirements.
3. Selection and design decisions
| Pair | First term | Second term | Why confusing |
|---|---|---|---|
| Accuracy vs precision | Accuracy: closeness to the true value; systematic error (bias) | Precision: repeatability; random error (noise) | A precise sensor can be inaccurate; averaging reduces noise but not bias; calibration fixes bias |
| Resolution vs accuracy | Resolution: smallest change the output can show | Accuracy: error against truth | A reading with 1 mm steps can be off by centimetres |
| Rate vs latency | Rate: samples per second | Latency: delay from the physical event to usable data | A high-rate stream can be late; low rate adds waiting time on top of latency |
| Datasheet vs real world | Datasheet: figure at stated, favourable conditions | Real world: behaviour in your environment and system | Mounting, time sync, temperature, targets and calibration are not in the datasheet |
4. Advantages and disadvantages
- Calibrate to remove bias; average or filter to reduce noise (at the cost of lag).
- Increasing the rate shortens the waiting term of latency but can raise bandwidth and compute.
- Higher resolution rarely improves accuracy unless the sensor was resolution-limited.
5. Requirements and constraints
- Accuracy needs a reference you trust (a surveyed target or a better instrument).
- Latency must be measured end to end on the real system.
- Statistics need enough samples (dozens, not five); five are used here only to keep the example readable.
6. Architecture
physical event ─▶ sensor sampling ─▶ driver ─▶ transport ─▶ processing ─▶ your algorithm
└ rate (period) ┘└────────── latency ──────────────┘7. Implementation
import statistics
true_range = 5.000
readings = [5.12, 5.11, 5.13, 5.12, 5.12] # five repeated measurements of the same target
mean = statistics.fmean(readings)
bias = mean - true_range # accuracy error (systematic)
sd = statistics.pstdev(readings) # precision (random scatter)
print(round(mean, 3), round(bias, 3), round(sd * 1000, 1))
quantise = lambda x, step: round(round(x / step) * step, 6)
print(quantise(5.1234, 0.01), quantise(5.1234, 0.1)) # resolution 1 cm vs 10 cm
period, transport, processing, speed = 0.100, 0.020, 0.030, 2.0 # 10 Hz sensor; seconds; robot speed m/s
latency = transport + processing # delay from measurement to use
worst_age = latency + period # data can also wait a full period for the next sample
print(round(latency * 1000), round(worst_age * 1000), round(worst_age * speed, 2))Printed (checked by the site’s tests):
5.12 0.12 6.3
5.12 5.1
50 150 0.3Reading it: five readings of a target at 5.000 m average 5.12 m. The bias (accuracy error) is 0.12 m; the scatter (precision) is only 6.3 mm: precise and inaccurate, so averaging will not help but a calibration offset will. Quantising 5.1234 m to 1 cm gives 5.12 m and to 10 cm gives 5.1 m: resolution limits what you can see, not how right it is. A 10 Hz sensor with 20 ms transport and 30 ms processing has 50 ms latency and, since a reading can wait up to a full 100 ms period, data up to 150 ms old: at 2 m/s the robot has moved 0.3 m.
8. Real examples
- A LiDAR range offset of a few centimetres from the mounting reference: a bias, fixed by calibration.
- An IMU with low noise but a warm-up bias drift: precise, increasingly inaccurate.
- A camera at 30 Hz delivered after a 100 ms driver buffer: fast rate, long latency.
9. Failure scenarios
- Averaging a biased sensor and believing the average is right.
- Using the rate as the latency.
- Accepting a 1 mm resolution as 1 mm accuracy.
- Ignoring the waiting term when rates are low.
10. Troubleshooting
- Measure a known target repeatedly: the mean minus truth is the bias, the standard deviation is the precision.
- Check resolution by stepping the target in small increments and watching the output steps.
- Measure latency end to end (see the bag-latency guide).
- Fix bias by calibration, noise by filtering, latency by pipeline changes and delayed-measurement handling.
11. Validation
- Bias and scatter reported separately, with sample size and conditions.
- Latency distribution (mean, maximum) measured on the integrated robot.
- The example prints the values above (executed by the site tests).
12. Engineering checklist
13. Further references
- Metrology vocabulary (accuracy, precision, resolution): general measurement texts, for example the ISO/BIPM guides to measurement vocabulary. Not fetched here.
Related on FixTheRobot
- Sensor Calibration and Synchronization SLAM · Lesson