Docs menu
State estimation
How the car estimates its speed, heading and position: wheel odometry, the IMUs, SLAM and the particle filter, and how each is calibrated.
Every controller needs to know how fast the car is going and, on a map, where it is. Wheel odometry gives a fast, drifting estimate. The IMU measures rotation directly. SLAM and the particle filter correct position against a map. Lecture 7 (notes), Lecture 8 (notes) and Lecture 9 (notes) of the course cover the filters these pages use.
- Wheel odometryHow vesc_to_odom_node turns the VESC's motor speed and the servo command into speed, yaw rate and a dead-reckoned pose on /odom, and why its heading drifts.
- IMU fusionimu_bridge: calibrated IMU topics in car axes, a health verdict, a Kalman-filtered speed that rejects wheelspin, the measured steering angle, and gyro odometry for SLAM.
- SLAM and localizationHow slam_toolbox builds the map and corrects odometry drift, and how the particle filter localizes the car on a saved map with GPU ray casting.
- Odometry calibrationCalibrate the speed gain, the servo centre, the steering gain and the steering limits with a tape measure and a browser wizard.
Checked against
car 1 commit 881c409
and
car 2 commit 779c060, before the two workspaces merged.