Localizing a Differential-Drive Robot using an Unscented Kalman Filter (UKF)

Autonomous Robot Navigation [E160] – Final Project

The final project was a culmination of multiple labs, each requiring a two page report:

Final Project

Background

The Kalman Filter (KF) is a filtering and prediction technique for continuous systems; however, it is only limited to linear Gaussian systems. In order for the Kalman filter to be correct, its derivation relies on linear transformations. One method of applying this filter to nonlinear systems is to instead use a first-order Taylor series estimate. In a previous lab, we implemented a particle filter, which can be used to approximate most distributions with enough particles; however, particle filters are computationally expensive. The benefit of the Kalman filter is its closed form solution, making a very fast technique for Gaussian systems The unscented Kalman filter (also known as sigma-point belief propagation) is another method of linearizing nonlinear systems, for use in Kalman filtering. Instead of linearizing a system, like the EKF, the UKF propagates sigma points through the non-linear transformation. Sigma points are located at the mean and symmetrically along the main axes of the covariance.

Link to the final presentation: E160 UKF Final Presentation

Project Definition

Localize a differential drive robot in a known map, using an algorithm more accurate than an extended Kalman filter and more efficient than a particle filter.

Materials

The robot used in this report is a small, two-pound differential drive robot, shown in the figure below. The diameter of each wheel is 6.95 cm +/- 0.01 and the distance between the center of the two wheels is 14.15 cm +/- 0.01. Each wheel also has an encoder that is capable of measuring the relative rotation of each wheel with a resolution of 4.36*10^{-3} rad/tick.

The E160 differential drive robot.

Map

The particle filter was tested in simple hallway. The hallway has a footprint of approximately 4 meters by 4 meters, the specific measurements are shown in the figure below. To overcome the sensor’s limited range, the robot’s trajectory was place next to the walls.

Overhead map of the hallway.

UKF Algorithm

The following UKF pseudocode is from Chapter 4 of Sebastian Thrun’s text: Probabilistic Robotics.

Robot State

The UKF state consisted of three variables: the two dimensional position (x,y) and the robot’s heading (theta).

Experiment 1 – Convergence

This experiment looked at convergence rates for different types of initial disturbances.

Simulation

Theta-offset: Converged 4/5 times

XY-offset: Converged 5/5 times

Experiment 2 – Passive Tracking

Simulation

RMSE: 0.0331 m

Hardware

RMSE: 0.1841 m

Experiment 3 – Feedback Control

Simulation

RMSE: 0.0389 m

Hardware

RMSE: 0.1914 m

Experiment 4 – UKF and Particle Filter Comparison

Simulation

UKF RMSE: 0.0496 m

Particle Filter RMSE: 0.0183 m