• No results found

Chapter 3 SLAM Simultaneous Localization and Mapping

3.2 SLAM Techniques

There are many ways to approach solving SLAM. Most popular approaches are probabilistic in nature, using Bayesian inference to estimate the pose and map. The text [21] gives a thorough explanation of several fundamental approaches to probabilistic SLAM.

Probabilistic SLAM seeks to estimate the posterior probability function given in Equation (3.1) [21]. In this function, the pose ¯Tt is the pose at the

sampling instant t, z1:t represents the sensor data recorded up to time t, and

u1:t gives the control inputs to the robot up to time t.

P T¯t, M | z1:t, u1:t



(3.1) This probability function is estimated and updated by sequentially apply- ing time-update and measure-update steps. The time update step uses the motion model P T¯t+1 | ¯Tt, u1:t+1. The motion model finds the probability

inputs u1:t+1 up to time t + 1. This motion model is incorporated into the

pose and map posterior during the time-update, giving the new pose and map posterior.

P T¯t+1, M | z1:t, u1:t+1



The measurement update step then uses observation model P zt+1 | ¯Tt+1, M



to incorporate a new set of measurements zt+1 into the pose and map poste-

rior. This produces the fully updated posterior. P T¯t+1, M | z1:t+1, u1:t+1



Three of the most well-known classes of probabilistic SLAM are EKF- SLAM, GraphSLAM, and FastSLAM.

3.2.1

EKF-SLAM

EKF-SLAM is a widely used probabilistic SLAM approach. It uses an Ex- tended Kalman Filter (EKF) to estimate Equation (3.1) as a Gaussian distri- bution. The approach assumes uncorrelated zero mean Gaussian noise terms wt and vt in the motion and observation models given in Equation (3.2).

The functions f(·) and h(·) are non-linear deterministic equations modeling the motion and sensor observations of the robot.

¯

Tt+1 = f ¯Tt, ut+1 + wt+1

zt+1 = h ¯Tt+1, M + vt+1 (3.2)

These equations and their Taylor series based linearizations are used to develop the Extended-Kalman filter equations used to estimate µt and Σt,

the mean and covariance terms for the multivariate Gaussian approximation of Equation (3.1).

3.2.2

GraphSLAM

GraphSLAM makes use of the Extended Information Filter (EIF) [21]. Sim- ilar to EKF-SLAM, this approach approximates Equation (3.1) as a multi- variate Gaussian, but does so using the canonical parameterization of the Gaussian. It finds the information matrix Ωt and the information vector ξt

in addition to the mean vector µt. A derivation of the canonical parameteri-

zation is given in Chapter 3.5 of [21]. The canonical parameterization terms are related to their standard counterparts in Equation (3.3).

Ω = Σ−1 ξ = Σ−1µ (3.3)

3.2.3

FastSLAM

FastSLAM [50] is a particle filter [51],[52] based SLAM approach. It estimates Equation (3.1) by factoring it into separate posteriors, with one for the robot poses and one for each landmark in the map. This factorization is made possible by the observation that the location of individual landmarks of a map are conditionally independent of each other given the poses of the robot. The re-factorization is given in Equation (3.4) [21].

P T¯t, M | z1:t, u1:t = P ¯Tt | z1:t, u1:t

 Y

m∈M

P (m | z1:t, u1:t) (3.4)

The pose posterior is estimated using a particle filter. Each particle consists of a pose hypothesis and an individual EKF for each landmark m in the map M . This approach allows FastSLAM to maintain different data-landmark associations in separate particles, making it more robust to data association problems than EKF-SLAM or GraphSLAM. FastSLAM owes its name to the fact that it can be implemented in logarithmic time complexity, giving it computational advantages over EKF [21].

3.2.4

Trajectory-Oriented SLAM

In its standard formulation, SLAM seeks to estimate the pose of the robot and the location of landmarks in the map. An alternate approach, termed trajectory-oriented SLAM, instead seeks to estimate the robot’s trajectory

in the form of a sequence of discrete poses [48].

This approach is particularly useful when working with a large amount of sensor data, such as the scans produced by a laser range finder. In these situations it is more reliable and simpler to align the scans rather than use them to identify landmarks [48].

One such variant is consistent pose estimation (CPE) [53],[54],[55],[56]. In CPE, the robot’s poses are represented as the nodes of a graph. The edges in the graph give the constraints between nodes as the rigid transformations between the nodes’ poses. Each edge connecting two poses ¯Ti and ¯Tj has

an observation T0i,j giving the true transformation between the poses. The transformation ˜Ti,j that aligns the scans taken at those two nodes is termed

the measurement. This measurement ˜Ti,j is modeled as the observation T0i,j

corrupted by additive zero-mean Gaussian noise vi,j [53].

˜

Ti,j = T0i,j + vi,j

SLAM, formulated in this manner, is a GraphSLAM variant. The optimal length n sequence of trajectories ¯T can be found by minimizing Equation (3.5) [57]. In this equation, e(Ti, Tj, ˜Ti,j) is a vector error function composed of a

quaternion in vector form concatenated with a translation vector. Together, these terms measure how well the transformation between poses Ti and Tj

matches the measurement ˜Ti,j. The set C is the set of all edges in the pose

graph. The information matrix Ωi,j is the inverse of the edge covariances.

¯ T =T¯1, . . . , ¯Tn ¯ T = argmin {T1∈SE(3)...Tn∈SE(3)} X <i,j>∈C

e(Ti, Tj, ˜Ti,j)T Ωi,j e(Ti, Tj, ˜Ti,j) (3.5)

The map when using CPE is not found explicitly. It can be obtained by merging the scans taken at each pose.