solving the slam problem for unmanned aerial vehicles using

9
Technical report from Automatic Control at Linköpings universitet Solving the SLAM Problem for Unmanned Aerial Vehicles Using Smoothed Estimates Zoran Sjanic, Martin A. Skoglund, Thomas B. Schön, Fredrik Gustafsson Division of Automatic Control E-mail: [email protected], [email protected], [email protected], [email protected] 25th April 2010 Report no.: LiTH-ISY-R-2971 Submitted to Reglermöte i Lund Address: Department of Electrical Engineering Linköpings universitet SE-581 83 Linköping, Sweden WWW: http://www.control.isy.liu.se AUTOMATIC CONTROL REGLERTEKNIK LINKÖPINGS UNIVERSITET Technical reports from the Automatic Control group in Linköping are available from http://www.control.isy.liu.se/publications.

Upload: others

Post on 01-Mar-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Solving the SLAM Problem for Unmanned Aerial Vehicles Using

Technical report from Automatic Control at Linköpings universitet

Solving the SLAM Problem forUnmanned Aerial Vehicles UsingSmoothed Estimates

Zoran Sjanic, Martin A. Skoglund, Thomas B. Schön,Fredrik GustafssonDivision of Automatic ControlE-mail: [email protected], [email protected], [email protected],[email protected]

25th April 2010

Report no.: LiTH-ISY-R-2971Submitted to Reglermöte i Lund

Address:Department of Electrical EngineeringLinköpings universitetSE-581 83 Linköping, Sweden

WWW: http://www.control.isy.liu.se

AUTOMATIC CONTROLREGLERTEKNIK

LINKÖPINGS UNIVERSITET

Technical reports from the Automatic Control group in Linköping are available fromhttp://www.control.isy.liu.se/publications.

Page 2: Solving the SLAM Problem for Unmanned Aerial Vehicles Using

AbstractIn this paper we present a solution to the simultaneous localization and map-ping (SLAM) problem for unmanned aerial vehicles (UAV) using a cameraand inertial sensors. A good SLAM solution is an important enabler forautonomous robots. Our approach is based on an optimization based for-mulation of the problem, which results in a smoother, rather than a filter.The proposed algorithm is evaluated on experimental data and the resultsare compared with accurate ground truth data. The results from this com-parisons are encouraging.

Keywords:

Page 3: Solving the SLAM Problem for Unmanned Aerial Vehicles Using

Solving the SLAM Problem for Unmanned AerialVehicles Using Smoothed Estimates

Zoran Sjanic, Martin Skoglund, Thomas B. Schon and Fredrik GustafssonDivision of Automatic Control

Linkoping UniversitySE-581 83 Linkoping, Sweden

Email: {zoran, ms, schon, fredrik}@isy.liu.se

Abstract—In this paper we present a solution to the simulta-neous localization and mapping (SLAM) problem for unmannedaerial vehicles (UAV) using a camera and inertial sensors. A goodSLAM solution is an important enabler for autonomous robots.Our approach is based on an optimization based formulation ofthe problem, which results in a smoother, rather than a filter.The proposed algorithm is evaluated on experimental data andthe results are compared with accurate ground truth data. Theresults from this comparisons are encouraging.

I. INTRODUCTION

Simultaneous localization and mapping is the problem of es-timating a map of the surrounding environment from a movingplatform while simultaneously localizing the platform. Usuallythese estimation problems involve nonlinear dynamics andnonlinear measurements of the environment. When computingSLAM estimates there are many things to consider which willaffect quality. To mention a few; How should the dynamics bemodelled? Which sensors are best suited for the environmentat hand? Are there demands on the algorithm to run in real-time or can the estimates be computed in a post-processingstep? What level of detail is needed in the map?

In applications of UAVs a detailed map is necessary if,for example, a landing in an unknown environment is tobe performed. The idea is to obtain a good estimate of thetrajectory and the map using all the measurements collectedduring the flight (or an appropriate part of it). In [1] thisoptimisation approach to SLAM, called square root Smoothingand Mapping (SAM), is described for a two-dimensionalproblem, where measurements and dynamics run at the samerate.

In this paper we present an iterative solution to the SLAMproblem based on square root smoothing of multirate mea-surements. The method aims at providing high quality SLAMestimates which could e.g. be used as a prior for comput-ing detailed terrain maps. In practical applications differentsensors deliver measurements at different rates. We extendthe SAM solution by concerning the three-dimensional case,multirate measurements using inertial sensors and camerameasurements. The algorithm is evaluated on experimentaldata from a structured indoor environment and compared withground truth data.

II. RELATED WORK

SLAM has been a popular field of research for morethan twenty years and is considered an important enabler forautonomous robotics. An excellent introduction to SLAM isgiven in the two part tutorial [2, 3] and for a thorough cover ofvisual based methods [4] is highly recommended. In the semi-nal work [5] the idea of a stochastic map is presented. The firstimplementation using this idea can be found in [6] where thethe estimates are computed with and extended Kalman Filter(EKF). There are by now quite a few examples of sucessfulEKF SLAM implementations, see e.g., [7, 8]. Another popularapproach is the FastSLAM method [9, 10] which uses particlefilters. These are known to handle nonlinearities very well.Both EKF SLAM and FastSLAM suffer from inconsistenciesdue to poor data association, linearization errors [11] andparticle depletion [12]. It is likely that similar problems occurwith other methods as well.

Digital cameras are today ubiquitous, and since they deliverinformation rich measurements at low cost they have becomethe most commonly used sensors in SLAM. This has spawneda field where the SLAM problem is solved with cameras only,see e.g. [13–16]. The camera only SLAM methods have manysimilarities with bundle adjustment techniques, [17], and thestochastic map estimation problem can be seen as performingstructure from motion estimation [18, 19]. These methods arecommon in the computer vision domain. Without any othersensors measuring the platform dynamics, the image framerate and the visual information contents in the environmentare limiting factors for the ego motion estimation and hencethe map quality.

Aircraft applications are very challenging for various rea-sons; The platform state dimension is usually large and quiteinvolved compared to ground based platforms, such as mobilerobots. Aerial vehicles cover large areas fast, resulting inhuge maps. Some examples of SLAM the applied to aerialapplications can be found in [20–24].

The recent years increase in computational power has madesmoothing an attractive option to filtering. One of the firstpublications where the trajectory is not filtered out to asingle estimate is [25] where rather the whole time historyis estimated with a delayed state information filter. Other,more optimisation like approaches are [1, 26–28] which all use

Page 4: Solving the SLAM Problem for Unmanned Aerial Vehicles Using

maximum likelihood estimates of the whole trajectory and afeature based map.

III. PROBLEM FORMULATION

The dynamic model and the camera measurements are onthe following form,

xt = f(xt−1, ut) +Bwwt, (1a)lt = lt−1, (1b)ytk = htk(xtk , ltk) + etk , (1c)

where xt and lt are vehicle and landmark states, respectively.The inertial measurements are modelled as inputs ut. Themeaning of ytk is a measurement relative to landmark ltkat time tk (this is because the measurements and the dy-namic model deliver data in different rates). In our case themeasurements are pixel coordinates in an image given bythe SIFT feature extractor [29]. The noise terms wt and etare assumed to be Gaussian and white. This is essentially aSLAM formulation that can be solved within a standard EKFframework, see e.g. [2, 5]. The resulting trajectory x0

0:N andlandmark estimate l0N can be used to linearise the dynamicsaround x0

t at time t as

x0t + δxt = f(x0

t−1, ut) + Ftδxt−1 +Bwwt, (2)

where δxt is a small deviation from x0t and Ft is the derivative

of f(xt−1, ut) with respect to xt−1 evaluated in x0t−1. The

measurement equation around l0N and x0tk

for the measurementat time tk is

ytk = htk(x0tk, l0N ) +Htkδxtk + JtkδlN + etk , (3)

where δlN is a small deviation from l0N , Htk is the derivativeof htk(xtk , lN ) with respect to xtk evaluated at x0

tkand l0N

and Jtk is the derivative of htk(xtk , lN ) with respect to lNevaluated at x0

tkand l0N .

By rearranging the terms in (2) and (3) we can formulatethe least-squares problem of finding the trajectory and mapdeviations that minimises the noise variance as

arg minδxt, δlN

N∑t=1

||wt||2Q−1

t

+K∑k=1

||etk ||2R−1tk

, (4)

where Qt = BwQtBTw .

Before we introduce the details of the model some coordi-nate frames definitions are necessary:

• Body coordinate frame (b), moving with the vehicle andwith origin fixed in the IMU’s inertial center

• Camera coordinate frame (c), moving with the vehicleand with origin fixed in the camera’s optical center

• Earth coordinate frame (e), fixed in the world with originarbitrary positioned. When coordinate frame is omittedfrom the states it is assumed that they are expressed inthe earth frame.

A. Dynamics

The dynamic model used in this application has 10 statesconsisting of p = [px py pz]T which is the position ofthe IMU, v = [vx vy vz]T which is the velocity of theIMU and qeb = [qeb0 qeb1 qeb2 qeb3 ]T which is the quaterniondefining the rotation of the IMU from the body to the earthframe. Accelerations are modelled as input ua = [ax ay az]T

and angular rates are modelled as time varying parametersω = [ωx ωy ωz]T rather then treat them as states. Landmarkstates are according to inverse depth parametrisation, [30], ofdimension 6. First three states, x, y and z, represent the 3Dposition of the vehicle when the landmark was first observed.Last three states describe a vector to the landmark in sphericalcoordinates parametrised with azimuthal angle ϕ, elevationangle θ and inverse distance ρ, giving l = [x y z θ φ ρ]T .Note that ϕ and θ are expressed in the earth coordinate frame,e, with z-axis pointed upwards. This means that a landmarkwith earth fixed coordinates [X Y Z]T is parametrised as

XYZ

=

xyz

+1ρm(ϕ, θ), (5a)

m(ϕ, θ) =

cosϕ sin θsinϕ sin θ

cos θ

(5b)

and landmark states are created from the normalised pixelcoordinates [u v]T in the following way

pc =

xyz

, (6a)

g =

gxgygz

= R(qebt )R(qbc)

uv1

, (6b)

ϕ = atan2(gy, gx), (6c)

θ = atan2(√

g2x + g2

y, gz

), (6d)

ρ =1d0. (6e)

Here,R(qbc) is the rotation matrix describing the rotation fromthe camera frame to the body frame, R(qebt ) is the rotationfrom the body frame to the earth frame, pc is the cameraposition when the landmark is observed and d0 is the initialdepth for the landmark. Finally, atan2 is a function that givesangles θ ∈ [−π, π] and is a variation of the arctan function.The complete landmark vector is of the dimension 6×nlandmarksand nlandmarks will vary depending on when new landmarks areinitiated. Because we have no knowledge of the motion of thevehicle and the map is static, the dynamics (1a)-(1b) in our

Page 5: Solving the SLAM Problem for Unmanned Aerial Vehicles Using

case becomespt+1

vt+1

qebt+1

︸ ︷︷ ︸xt+1

=

I3 TI3 00 I3 00 0 I4 + T

2 S(ωt)

ptvtqebt

︸ ︷︷ ︸xt

+

T 2

2 I3TI3

0

[R(qebt )ua,t + ge]︸ ︷︷ ︸

ut

+

T 2

2 I3 0TI3 0

0 T2 S(qebt )

︸ ︷︷ ︸

Bw(xt)

[wa,twω,t

]︸ ︷︷ ︸wt

, (7a)

lt+1 = lt, (7b)

where

wa,t ∼ N (0, Qa), Qa = σaI3, (8a)ww,t ∼ N (0, Qw), Qω = σωI3, (8b)

S(ωt) =

0 −ωx,t −ωy,t −ωz,tωx,t 0 ωz,t −ωy,tωy,t −ωz,t 0 ωx,tωz,t ωy,t −ωx,t 0

, (8c)

S(qebt ) =

−q1,t −q2,t −q3,tq0,t −q3,t q2,tq3,t q0,t −q1,t−q2,t q1,t q0,t

(8d)

andR(qebt )ua,t+ge is the accelerometer measurements rotatedfrom the body coordinate frame, to the earth coordinateframe, where ge = [0 0 − 9.81]T compensates for the earthgravitational field.

B. Measurements

The measurements in our setup are the features in theimages which are of dimension 2. Feature extraction isperformed with SIFT, [29], (C-code is downloaded fromhttp://web.engr.oregonstate.edu/∼hess/ ). The extracted fea-tures are then matched and associated with landmarks from thestate vector. The association during the EKF run is performedin the following way; all landmarks are first projected in theimage and the most probable landmarks are chosen by meansof spatial constraints. Then the SIFT feature descriptors for themost probable landmarks and features are matched. In this waya data association sequence is created for each image relatingmeasurements and landmarks in the state vector. It is assumedthat these associations are good enough, hence they can usedin all square root SAM iterations. The whole measurementvector ytk will have dimension 2 × nassociated features and isexpressed in normalised pixel coordinates. A measurementequation relating states and measurements is also needed. Ithas the general form

ytk = h(xtk , ltk)︸ ︷︷ ︸yc

tk

+etk , (9)

where

etk ∼ N (0, Rtk), Rtk = σfeaturesInassociated features . (10)

For a single landmark j, the measurement (9) (omitting thetime index for readability) looks like

lcj =

lcx,jlcy,jlcz,j

=

= R(qcb)R(qbe)(ρj(p− pcj

)+m(ϕj , θj)

), (11a)

ycj =

lcx,j

lcz,jlcy,j

lcz,j

. (11b)

In order not to use non-stable features (i.e. those that areinitialised and only measured once or twice), the landmarks areproclaimed usable first if they were measured and associated atleast three times. This is also a requirement for observability,since the dimension of the landmark state is 6 while thedimension of the measurement is 2.

C. Filtering

An initial EKF run is performed with this model in thestandard way with the state and covariance matrix time update,see e.g. [31],

xt+1|t = Ftxt|t +Bua,t, (12a)

lt+1|t = lt|t, (12b)

P xxt+1|t = FtPxxt|t F

Tt +Bw(xt|t)QBTw(xt|t), (12c)

where

Q =[Qa 00 Qω

], (13a)

Pt =[P xxt P xltP lxt P llt

]. (13b)

Note that in the time update only the vehicle state covariancematrix is updated. Also note that the noise covariance matrixBwQB

Tw is singular. This is due to two reasons; first, the

four parameter quaternion is an over parametrisation of thethree corresponding angles, and second, the velocity is neithermeasured nor an input, hence the covariance BwQB

Tw will

at most be of rank 6. This does not influence the EKFcalculations, but needs to be addressed in the case of thesquare root smoother. The measurement update is performedeach time an image is available (which here is 4 times slowerthan accelerations and angular rates) in the usual way[

xt|tlt|t

]=[xt|t−1

lt|t−1

]+Kt(yt − h(xt|t−1, lt|t−1)), (14a)

Kt = Pt|t−1CTt (CtPt|t−1C

Tt +Rt)−1, (14b)

Pt|t−1 = Pt|t−1 −KtCtPt|t−1 (14c)

where

Ct =[∂∂xt

h(xt, lt) ∂∂lth(xt, lt)

] ∣∣∣∣(xt,lt)=(xt|t−1,lt|t−1)

. (15)

Page 6: Solving the SLAM Problem for Unmanned Aerial Vehicles Using

D. Square Root SAM

Rather than merging measurements and predictions in afilter the basic concept of SAM is to minimize all themeasurement and trajectory errors in a least-squares sense. Itwould be possible to pose the nonlinear least squares problemgiven a dynamic model and measurement model which couldthen be solved iteratively with for example Gauss-Newton.In our setup we choose to consider the linearised dynamicand measurement models resulting in a linear least-squaresproblem.

In order to formulate the square root SAM problem we firstneed some definitions:

Ft ,∂f(xt−1, ut)

∂xt−1

∣∣∣∣xt−1=x0

t−1

(16)

is the Jacobian of the motion model.

Hjtk

,∂htk(xtk , lj)

∂xtk

∣∣∣∣(xtk

,lj)=(x0tk,l0

j)

(17)

is the measurement Jacobian of measurement k at time tk.

Jjxtk,∂htk(xtk , lj)

∂xtk

∣∣∣∣(xtk

,lj)=(x0tk,l0

j)

(18)

is the Jacobian of measurement k at time tk with respect tothe position where landmark j was initialised.

Jjtk ,∂htk(xtk , lj)

∂lj

∣∣∣∣(xtk

,lj)=(x0tk,l0

j)

(19)

is the Jacobian of measurement k at time tk of the states φj ,θj and ρj of landmark j.

From the EKF run an initial trajectory x0 and landmark l0

estimate is given and is therefor treated as a constant. Thelinearised process model at time t is then

x0t + δxt = Ft · (x0

t−1 + δxt−1) +But +Bw(x0t−1)wt. (20)

The linearised measurement equations are given by

yjtk = htk(x0tk, l0j )+Hj

tkδxtk +Jjxtk

δxtk +Jjtkδlj+ejtk . (21)

The least-squares problem for the prediction and measurementerrors is then

[δx∗t , δl∗j ] = arg min

δxt,δlj

N∑t=1

||Ftδxt−1 − Iδxt − at||2Q−1

t

+K∑k=1

||Hjtkδxtk + Jjxtk

δxtk + Jjtkδlj − cjtk||2R−1

tk

(22)

where at = x0t − Ftx0

t−1 − But and cjtk = yjtk − htk(x0tk, l0j )

and Qt = Bw(x0t−1)QBTw(x0

t−1). at and cjtk are predictionerrors of the linearised dynamics around x0

t and innovationsrespectively. Note that the second term in (22) could includeseveral Jacobians corresponding to different sensors at possi-bly different sampling rates. Now the problem can be solvedaccording to

θi+1 = arg minθ

||A(θi)θ − b(θi)||22, θ0 = 0. (23)

Following most of the notation from [1] an example of howthe structure of the A matrix looks like is illustrated in (24)and it is computed in the following way:

1) At time t = 1 the two landmarks are seen the first time,but landmarks are not initialised in the map until theyare measured a second time.

2) At time t = 5 the second camera measurement arrivesand landmark 1 and 2 are observed again and henceinitialised in the map.

3) At time t = 9 camera measurement three arrives andlandmark 2 is observed.

4) At time t = 13 camera measurement four arrives andlandmark 1 is observed.

A =[A11 0A21 A22

]=

−IF2 −I

F3. . .. . . −I

F6. . .. . . −I

F10. . .. . . −I

J1x1

H15 J1

5

J2x1

H25 J2

5

J2x9

H29 J2

9

J1x13

H113 J1

13

(24)

The square root SAM algorithm can be summarised inpseudo code as seen in Algorithm 1.

As in [1], the least squares problem is weighted, so it isassumed that all of the terms in (22) are multiplied withthe corresponding matrix square root of the inverse of thecovariance matrices for the system and the measurement noise.As already noted the covariance matrix of the system noiseis singular rendering the use of normal inversion impossible.In order to overcome this, we simply regularise the problemadding a matrix of the form ∆I to the covariance matrix,with ∆ being a small number, rendering the covariance matrixinvertible.

Square root SAM is implemented in general according to [1]but with some adjustments to cope with multirate signals likeIMU measurements that are sampled in 100 Hz and images ofsize 240×320 pixels that are sampled in 25 Hz. This algorithmrequires an initial trajectory, map and association between maplandmarks and features in the images. An initial trajectory isobtained with EKF SLAM, which also gives a map and dataassociation. It is assumed that these will be sufficient for theinitiation of the SAM iterations.

The 6 parameters of the inverse depth parametrisation alsoneeds to be handled, since the 2 dimensional measurements

Page 7: Solving the SLAM Problem for Unmanned Aerial Vehicles Using

will cause rank deficiency if not enough measurements ofthe landmarks are available. The inverse depth parametrisationwill also make the structure of the matrix in the square rootproblem different to [1] since measurements of the featuresare related to the to the pose where the feature was initialised.

IV. EXPERIMENTS

A. Experimental Setup

For the purpose of obtaining realistic data with goodground truth a synthetic environment was build up, see Fig.1. An IMU/Camera system mounted on the arm of theindustrial robot is then ”flown” above it. Fig. 2 illustratesthe IMU/camera and an image from the camera during theexperiment.

In a industrial robot the rotation and translation of the endtool is usually known with high accuracy. This allows forexcellent performance evaluation, which will be difficult if areal flight data is used where GPS or DGPS must be used asa ground truth and orientation is of less good quality as well.

B. Results

The results obtained with the above mentioned data set arepresented in Fig. 3 and Fig. 4 below. Ground truth trajectory isa reference trajectory for the robot. The actual robot trajectory

Algorithm 1 Multirate square root SAM

Input: x0 (initial trajectory and map), u (inputs), dataassociationOutput: xs (smoothed estimate of the trajectory and map)N = # IMU measurementsA = [ ]a = [ ]c = [ ]for i = 1 to N do

if image available thenpredict states, xi = f(x0

i−1, ui)use data association and calculate h(x0

i , l0i )

calculate A11 = [A11 Ai11]T ,

A21 = [A21 Ai21] and

A22 = [A22 Ai22] according to (16) - (24)

calculate ai = x0i − xi

calculate ci = yi − h(x0i , l

0i )

set a = [aT aTi ]T

set c = [cT cTi ]T

elsepredict states, xi = f(x0

i−1, ui)calculate A11 = [A11 A

i11]T

calculate ai = x0i − xi

set a = [aT aTi ]T

end ifend forbuild up A according to (24) and b = [aT cT ]T

solve the least squares problem (23)calculate xs = x0 + θ∗

Fig. 1: Synthetic environment used in the experiments.

(a) An image from the camera duringthe experiment.

(b) The combined strap down IMUand camera system.

Fig. 2: An image of the experimental environment in (a)acquired from the camera/IMU in (b).

was not possible to acquire during the experiment. However,since the industrial robot is very accurate, this should not bea problem.

We see that there are few landmarks in the elevated areasi.e. the wooden blocks. This is because the image resolutionwas only 240 × 320 pixels and the SIFT features are notstable in those areas. Both the smoothed speed of the camera(vt =

√(vxt )2 + (vyt )2) and resulting estimate from the EKF

are plotted in Fig. 5. We see that the smoothed speed is muchcloser to 0.1 m/s, which is the true speed.

V. CONCLUSIONS AND FUTURE WORK

The experimental results in Section IV-B indicates that thesquare root SAM trajectory, Fig. 4, and the speed estimates,Fig. 5 is an improvement of the initial EKF SLAM run.The sparse point cloud in Fig. 4, representing the landmarksestimate, of are good in areas at −0.5m height. This is dueto the previous mentioned problem of finding stable SIFTfeatures on the wooden blocks.

As mentioned in Section III-C, the covariance matrix ofthe system noise is singular and thus not invertible, makingthe problem impossible to solve unless some workaroundis implied. Our solution at the moment is to regularise thecovariance matrix and in that way make it invertible. This

Page 8: Solving the SLAM Problem for Unmanned Aerial Vehicles Using

−0.10

0.10.2

0.30.4

−0.3

−0.2

−0.1

0

0.1−1.2

−1

−0.8

−0.6

−0.4

−0.2

0

0.2

X [m]Y [m]

Z [m

]

Fig. 3: Smoothed trajectory in red, EKF trajectory in blue,”Ground Truth” trajectory in black. The black crosses arelandmarks.

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

−0.25

−0.2

−0.15

−0.1

−0.05

0−0.55

−0.5

−0.45

−0.4

X [m]Y [m]

Z [m

]

Fig. 4: Estimated smoothed landmarks and ground truth of theenvironment.

solution works, as seen in the Section IV-B, but it has someshortcomings. First, the regularisation will allow the stateswhere dynamics is exact to deviate from the model, but sincethe weights on those states are large, the deviation will notbe big. In this case, since the dynamics is exact, it shouldbe better to optimise over as an equality constraint. Thiswould result in a constrained least squares problem. Dependingon the problem at hand, minimization of the prediction andmeasurement errors in (23) can be rewritten as standardoptimization problems with for example equality constraints inboth the measurements and the dynamics. By adding differentregularisation terms in the minimization various kinds of noisedescriptions could possibly be handled better than in a filter.

The Second thing that needs to be improved is the map.As it is now the landmarks that are created based on the SIFTfeatures are too sparse. This is due to the low camera resolutionand that SIFT cannot find stable features in some areas. This

0 1 2 3 4 5 6 70

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16

0.18

0.2

Time [s]

Hor

izon

tal S

peed

[m/s

]

EKF vs Smoothed horizontal speed

Fig. 5: Smoothed speed of the camera in red and EKF in blue.

prevents us from creating a good terrain profile that could beused for landing applications. For this purpose a more densemap of the environment is needed. In [32, 33] dense terrainmaps and a refined trajectory are computed simultaneously.The same method can be used here, except that there is noneed to estimate the trajectory during map estimation.

REFERENCES

[1] F. Dellaert and M. Kaess, “Square Root SAM: Simultaneous Localiza-tion and Mapping via Square Root Information Smoothing,” Int. J. Rob.Res., vol. 25, no. 12, pp. 1181–1203, 2006.

[2] H. Durrant-Whyte and T. Bailey, “Simultaneous Localization and Map-ping: Part I,” IEEE Robotics & Automation Magazine, vol. 13, no. 12,pp. 99–110, June 2006.

[3] T. Bailey and H. Durrant-Whyte, “Simultaneous localization and map-ping (SLAM): Part II,” IEEE Robotics & Automation Magazine, vol. 13,no. 3, pp. 108–117, Sep. 2006.

[4] M. Chli, “Applying information theory to efficient SLAM,” Ph.D.dissertation, Imperial College London, 2009.

[5] R. Smith, M. Self, and P. Cheeseman, Estimating uncertain spatialrelationships in robotics. New York, NY, USA: Springer-Verlag NewYork, Inc., 1990.

[6] P. Moutarlier and R. Chatila, “Stochastic multisensory data fusion formobile robot location and environment modelling,” in In 5th Interna-tional Symposium on Robotics Research, 1989, pp. 85–94.

[7] J. Guviant and E. Nebot, “Optimization of the simultaneous localizationand map-building algorithm for real-time implementation,” IEEE Trans-actions on Robotics and Automation, vol. 17, no. 3, pp. 242–257, June2001.

[8] J. J. Leonard, H. Jacob, and S. Feder, “A computationally efficientmethod for large-scale concurrent mapping and localization,” in Pro-ceedings of the Ninth International Symposium on Robotics Research.Springer-Verlag, 2000, pp. 169–176.

[9] M. Montemerlo, S. Thrun, D. Koller, and B. Wegbreit, “FastSLAM:A factored solution to the simultaneous localization and mappingproblem,” in Proceedings of the AAAI National Conference on ArtificialIntelligence. Edmonton, Canada: AAAI, 2002.

[10] ——, “FastSLAM 2.0: An improved particle filtering algorithm forsimultaneous localization and mapping that provably converges,” inProceedings of the Sixteenth International Joint Conference on ArtificialIntelligence (IJCAI). Acapulco, Mexico: IJCAI, 2003.

[11] T. Bailey, J. Nieto, J. E. Guivant, M. Stevens, and E. M. Nebot,“Consistency of the ekf-slam algorithm,” in IROS, October 9-15, Beijing,China, 2006, pp. 3562–3568.

[12] T. Bailey, J. Nieto, and E. M. Nebot, “Consistency of the fastslamalgorithm,” in ICRA, May 15-19, Orlando, Florida, USA, 2006, pp. 424–429.

Page 9: Solving the SLAM Problem for Unmanned Aerial Vehicles Using

[13] A. J. Davison, I. D. Reid, N. D. Molton, and O. Stasse, “Monoslam:Real-time single camera slam,” IEEE Transactions on Pattern Analysisand Machine Intelligence, no. 29, 2007.

[14] A. J. Davison, “Real-time simultaneous localisation and mapping with asingle camera,” in In Proceedings. Ninth IEEE International Conferenceon computer vision, 2003, pp. 1403–1410.

[15] E. Eade, “Monocular simultaneous localisation and mapping,” Ph.D.dissertation, Cambridge University, 2008.

[16] G. Klein and D. Murray, “Parallel tracking and mapping for small arworkspaces,” in In ISMAR 2007: Proceedings of the Sixth IEEE andACM International Symposium on Mixed and Augmented Reality, 2007,pp. 225–234.

[17] R. I. Hartley and A. Zisserman, Multiple View Geometry in ComputerVision, 2nd ed. Cambridge University Press, ISBN: 0521540518, 2004.

[18] A. W. Fitzgibbon and A. Zisserman, “Automatic camera recovery forclosed or open image sequences,” in ECCV (1), ser. Lecture Notes inComputer Science, H. Burkhardt and B. Neumann, Eds., vol. 1406.Springer, 1998, pp. 311–326.

[19] C. Taylor, D. Kriegman, and P. Anandan, “Structure and motion intwo dimensions from multiple images: A least squares approach,” inProceedings of the IEEE Workshop on Visual Motion, October 1991.

[20] R. Karlsson, T. Schon, D. Tornqvist, G. Conte, and F. Gustafsson,“Utilizing model structure for efficient simultaneous localization andmapping for a uav application,” in Proceedings 2008 IEEE AerospaceConference, Big Sky, MT, USA, March 2008.

[21] F. Caballero, L. Merino, J. Ferruz, and A. Ollero, “Vision-based odom-etry and slam for medium and high altitude flying uavs,” Journal ofIntelligent and Robotics Syststems, vol. 54, no. 1-3, pp. 137–161, 2009.

[22] M. Bryson and S. Sukkarieh, “Architectures for cooperative airbornesimultaneous localisation and mapping,” Journal of Intelligent andRobotic Systems, vol. 55, no. 4-5, pp. 267–297, 2009.

[23] T. Lupton and S. Sukkarieh, “Efficient integration of inertial observationsinto visual slam without initialization,” in IROS. IEEE, 2009, pp. 1547–1552.

[24] ——, “Removing scale biases and ambiguity from 6dof monocular slamusing inertial,” in ICRA. IEEE, 2008, pp. 3698–3703.

[25] R. M. Eustice, H. Singh, and J. J. Leonard, “Exactly sparse delayed-statefilters for view-based slam,” IEEE Transactions on Robotics, vol. 22,no. 6, pp. 1100–1114, 2006.

[26] M. Kaess, A. Ranganathan, and F. Dellaert, “iSAM: Incremental smooth-ing and mapping,” IEEE Trans. on Robotics, TRO, vol. 24, no. 6, pp.1365–1378, Dec 2008.

[27] C. Bibby and I. Reid, “Simultaneous localisation and mapping indynamic environments (slamide) with reversible data association,” inIn Proceedings of Robotics: Science and Systems, 2007.

[28] M. B, M. Johnson-Roberson, and S. Sukkarieh, “Airborne smoothing andmapping using vision and inertial sensors,” in ICRA’09: Proceedings ofthe 2009 IEEE international conference on Robotics and Automation.Piscataway, NJ, USA: IEEE Press, 2009, pp. 3143–3148.

[29] D. Lowe, “Object recognition from local scale-invariant features,” inProceedings of the Seventh International Conference on ComputerVision (ICCV’99), 1999, pp. 1150–1157.

[30] J. Civera, A. Davison, and J. Montiel, “Inverse Depth Parametrizationfor Monocular SLAM,” Robotics, IEEE Transactions on, vol. 24, no. 5,pp. 932–945, Oct. 2008.

[31] T. Kailath, A. H. Sayed, and B. Hassibi, Linear Estimation. Prentice-Hall, Uppser Saddle River, New Jersey, 2000.

[32] J. F. Montgomery, A. E. Johnson, S. I. Roumeliotis, and L. H. Matthies,“The Jet Propulsion Laboratory Autonomous Helicopter Testbed: A plat-form for planetary exploration technology research and development,”Journal of Field Robotics, vol. 23, no. 3-4, pp. 245–267, 2006.

[33] R. A. Newcombe and A. J. Davison, “Live dense reconstruction witha single moving camera,” in To be published on IEEE Conference onComputer Vision and pattern Recognition 2010, 2010.