Robots need to know where they are, how fast they are moving, and which way they are facing. Each sensor gives only part of the story, and every measurement contains noise or bias. Sensor fusion combines several imperfect measurements into one estimate that is more useful than any single sensor.
This matters for self-driving cars, drones, warehouse robots, and planetary rovers that must move safely through changing environments.
A Kalman filter is a common sensor fusion method that predicts the robot state using a motion model, then corrects that prediction using new sensor measurements. An IMU can track rapid changes in acceleration and rotation, wheel encoders measure wheel motion, and GPS gives global position but often updates slowly and noisily. The filter weights each source by its uncertainty, trusting precise measurements more and noisy measurements less.
The result is a smoother, more stable estimate of position, velocity, and orientation.
Key Facts
- Robot state can include position, velocity, and orientation, often written as x = [position, velocity, angle].
- Prediction step: x_pred = F x + B u, where F models motion and u is a control input.
- Measurement step: z = H x + noise, where z is the sensor reading and H maps the state to sensor space.
- Kalman gain: K = P H^T (H P H^T + R)^-1, where R is measurement noise covariance.
- Correction step: x_new = x_pred + K(z - H x_pred), where z - H x_pred is the measurement residual.
- Lower uncertainty gives a sensor more influence, while higher uncertainty gives it less influence.
Vocabulary
- Sensor fusion
- Sensor fusion is the process of combining measurements from multiple sensors to estimate a system state more accurately.
- Kalman filter
- A Kalman filter is an algorithm that updates a predicted state using noisy measurements and known uncertainties.
- IMU
- An inertial measurement unit is a sensor package that measures acceleration and angular velocity.
- Wheel encoder
- A wheel encoder measures how far a wheel has rotated so the robot can estimate distance traveled.
- Covariance
- Covariance describes the uncertainty in an estimate and how errors in different variables are related.
Common Mistakes to Avoid
- Treating all sensors as equally reliable is wrong because GPS, encoders, and IMUs have different noise levels, update rates, and failure modes.
- Ignoring the prediction step is wrong because the filter needs a motion model to estimate the state between sensor updates.
- Assuming GPS is always the best position source is wrong because GPS can be noisy, delayed, blocked indoors, or reflected by buildings.
- Forgetting sensor bias is wrong because small constant errors, such as IMU drift or wheel slip, can accumulate into large position errors.
Practice Questions
- 1 A robot predicts its 1D position as 10.0 m. A GPS measurement reads 12.0 m, and the Kalman gain is 0.25. Using x_new = x_pred + K(z - x_pred), what is the updated position?
- 2 A wheel encoder reports that a wheel with radius 0.10 m rotated 20 radians. Assuming no slipping, how far did the robot travel in meters?
- 3 A robot is indoors where GPS signals are weak, but its IMU updates quickly and its wheel encoders are accurate on the floor surface. Explain how a Kalman filter should change the influence of GPS compared with the IMU and encoders.