  In this paper, a simultaneous localization and mapping (SLAM) algorithm for
tracking the motion of a pedestrian with a foot-mounted inertial measurement
unit (IMU) is proposed. The algorithm uses two maps, namely, a motion map and a
magnetic field map. The motion map captures typical motion patterns of
pedestrians in buildings that are constrained by e.g. corridors and doors. The
magnetic map models local magnetic field anomalies in the environment using a
Gaussian process (GP) model and uses them as position information. These maps
are used in a Rao-Blackwellized particle filter (RBPF) to correct the
pedestrian position and orientation estimates from the pedestrian
dead-reckoning (PDR). The PDR is computed using an extended Kalman filter with
zero-velocity updates (ZUPT-EKF). The algorithm is validated using real
experimental sequences and the results show the efficacy of the algorithm in
localizing pedestrians in indoor environments.
