Unit 11 · lesson
Coordinate Frames and Sensor Fusion
When several sensors estimate the same system, they rarely agree perfectly.
Sensor fusion is not "average all the numbers." It is the process of combining measurements according to what they observe, how uncertain they are, and which frame and time they belong to.
Two sensors, two strengths
Consider:
Wheel odometry
- frequent;
- smooth;
- drifts over distance;
- affected by slip.
External vision marker
- may provide global correction;
- only works when the marker is visible;
- may be noisy or delayed.
Together, they can be stronger than either alone.
Time matters
Suppose the camera result is 150 ms old.
The pose was correct when the image was captured, but the robot has moved since then.
A distributed robot system needs timestamps because "where?" and "when?" are connected questions.
Frames before fusion
Never combine pose data until the frames are clear.
camera frame
↓ transform
robot frame
↓ transform
map frame
A mathematically perfect fusion algorithm with the wrong transform will produce confidently wrong output.
Introductory fusion model
For this course, use a simple conceptual method:
- let odometry update motion continuously;
- compare it with an occasional global observation;
- calculate the disagreement;
- correct some or all of the accumulated error depending on confidence.
Later robotics courses can formalize this with filters.
Evidence table
| Source | Frame | Update rate | Strength | Known weakness |
|---|---|---|---|---|
| wheel odometry | robot/map estimate | high | smooth local motion | drift/slip |
| vision marker | camera/map | lower | absolute correction | visibility/latency |
| IMU heading | body | high | rotation change | bias/drift |
Build a table for your own hypothetical robot.
Then write one fusion rule in plain language and one case where the rule should refuse a measurement.
A robot that can reject bad evidence is often safer than one that always insists on having an answer.
Frames prevent coordinate arguments
Suppose a camera detects an object at:
x = 1.0 m
y = 0.2 m
Those numbers are incomplete until you know the frame.
They might mean:
- 1.0 m in front of the camera;
- 1.0 m east of the robot start;
- 1.0 m along a field coordinate system.
A transform connects frames.
camera frame
↓ known mounting transform
robot frame
↓ estimated robot pose
world frame
If the camera is mounted 0.25 m ahead of the robot center, treating camera coordinates as robot-center coordinates creates a systematic offset even when detection is perfect.
Fusion is not voting
Sensor fusion does not mean averaging every available number.
Different sensors provide different evidence:
- wheel encoders estimate relative travel well until slip accumulates;
- an IMU can provide rapid rotational information but may drift;
- a visual landmark can provide an external correction but may disappear;
- GPS can provide global position outdoors but has its own noise and availability limits.
A fusion design asks which source constrains which part of the estimate, at what rate, with what uncertainty.
Draw a frame tree for one robot and label every transform as either fixed or estimated. That one distinction exposes many localization mistakes.