IEEE Robotics & Automation Magazine - December 2013 - 90

between the two locally referenced poses is computed using
Algorithm 1 and is then converted to the relative transformation between the global reference poses of the two submap coordinate frames.
To reduce the computational complexity of SLAM, we
introduce two strategies. First, the current pose stored in
the map can have a single loop closure constraint using
Algorithm 1. Second, the largest loop closure constraint
among multiple loop closure candidates is selected for the
current pose. These strategies are necessary to apply a
pose graph optimization technique in a low-cost embedded
system because the computational complexity is proportional to the number of poses and the number of loop closure constraints.
In this study, the visual compass output obtained in a certain short trajectory {x i, ..., x i +k} is used to construct a loop
closure constraint that describes only a rotational angle
between the two poses x i and x i +k . This is because the proposed visual SLAM algorithm corrects the robot trajectory to
be estimated as nodes of the graph using the spatial constraints identifying the relative transformation between poses.
Assume that a set of correction angles of the visual compass
{Di VC corr.(x idx(j)), j = 1, f, n} is obtained in a part of the short
trajectory {x i, ..., x i +k} , where idx (j) is an index of the pose
with the correction angle obtained by the visual compass.
Here, the average correction angle Di VC avg.corr. for the set of
correction angles {Di VC corr.(x idx(j)), j = 1, f, n} is used to
obtain the loop closure constraint that describes a rotational
angle Di (z i +k, i) between the two poses x i and x i +k , as
Di (z i +k, i) = i (x i) - (i (x i +k) + Di VC

),

avg.corr.

(10)

where i (x i) and i (x i +k) are the orientations of the two poses x i
and x i +k , respectively. In our tests, the weight of the rotational
angle Di (z i +k, i) required to compute (1) was set to a relatively
high value compared to that of the rotational angle term in the
loop closure constraint obtained using Algorithm 1 because
the visual compass orientation was comparatively accurate.
This scheme allows the visual compass to smoothly reduce
the orientation errors of the robot trajectory to be estimated
as nodes of the graph.
Pose Graph Optimization
Whenever the current submap is closed, the alignment of
local submaps is performed by minimizing a sum of
weighted square costs expressed by spatial constraints
between the global reference poses of the submap coordinate frames. Such a formula is equal to (1) because all of the
constraints between the submaps mean the relative transformations between poses. Therefore, the locally referenced
poses in each submap and the global reference poses of the
submap coordinate frames can be corrected by the same
pose graph optimization method.
In (1), 6 (which is the inverse of compounding operation
5) [16] is a nonlinearity function. In this article, the constraint
z i, j and the nonlinearity function h (x i, x j) are given by
90

*

IEEE ROBOTICS & AUTOMATION MAGAZINE

*

DECEMBER 2013

Dx (z i, j)
z i, j = >Dy (z i, j)H
Di (z i, j)
DX i, j cos (i (x i)) + DYi, j sin (i (x i))
+ h (x i, x j) = >-DX i, j sin (i (x i)) + DYi, j cos (i (x i))H, (11)
i (x j) - i (x i)
where x i =[x (x i), y (x i), i (x i)] T , x j =[x (x j), y (x j), i (x j)] T , DX i, j =
(x (x j) - x (x i)), and DX i, j = (y (x j) - y (x i)) . The nonlinearity of
(11) arises from the orientation i (x i) of the pose x i . An
approach for efficiently solving (1) is to linearize a constraint z i, j
with respect to the orientation i (x i) [23]. The linearized form of
(11) is given by
Dx (z i, j) cos (i (x i)) - Dy (z i, j) sin (i (x i))
z i, j (linearized) = >Dx (z i, j) sin (i (x i)) + Dy (z i, j) cos (i (x i))H
Di (z i, j)
x (x j) - x (x i)
(12)
+ h (x i, x j) (linearized) = > y (x j) - y (x i)H .
i (x j) - i (x i)
The covariance matrix W -i, 1j (linearized) of z i, j (linearized) can also be
represented by
W -i, 1j (linearized) = J z W -i, 1j J Tz ,

(13)

where J z is the Jacobian matrix 2z i, j (linearized) /2z i, j , and W -i, 1j
is the covariance matrix of z i, j .
Using (12) and (13), (1) is represented in a linearized version and can be solved by a linear solver that handles a linear
least-square problem such as AX = B [23]. The covariance
matrix of the solution is used to define the covariance matrix
W -i, 1 of any pose x i in the graph. There is a major problem in
using the linearized version of (1), which is that the linearization errors cannot be avoided due to orientation errors of the
poses. The orientation errors will have a severe effect on the
performance of SLAM. Therefore, the linearized version of
(1) will hold for real-world applications, when the orientation
errors are small. To overcome this problem, the visual compass has been developed using the orthogonal structure characteristics of an indoor environment and is applied to accurately make the loop closure constraint that represents a
rotational angle between nonconsecutive poses.
To more efficiently solve the linearized version of (1), the
location and orientation terms of the poses are separately estimated in this article. First of all, the orientation terms of the
poses in (1) are directly corrected by a linear solver because
the correction of the orientation terms in this article is a linear
estimation problem. The corrected orientations are again
used to compute (12) and (13), and the linearized version of
(1) is obtained. Here, the location terms are only considered
in estimation and are corrected by a linear solver that computes the linearized version of (1).
In summary, the pose graph optimization method presented in this section solves two linear estimation problems to



Table of Contents for the Digital Edition of IEEE Robotics & Automation Magazine - December 2013

IEEE Robotics & Automation Magazine - December 2013 - Cover1
IEEE Robotics & Automation Magazine - December 2013 - Cover2
IEEE Robotics & Automation Magazine - December 2013 - 1
IEEE Robotics & Automation Magazine - December 2013 - 2
IEEE Robotics & Automation Magazine - December 2013 - 3
IEEE Robotics & Automation Magazine - December 2013 - 4
IEEE Robotics & Automation Magazine - December 2013 - 5
IEEE Robotics & Automation Magazine - December 2013 - 6
IEEE Robotics & Automation Magazine - December 2013 - 7
IEEE Robotics & Automation Magazine - December 2013 - 8
IEEE Robotics & Automation Magazine - December 2013 - 9
IEEE Robotics & Automation Magazine - December 2013 - 10
IEEE Robotics & Automation Magazine - December 2013 - 11
IEEE Robotics & Automation Magazine - December 2013 - 12
IEEE Robotics & Automation Magazine - December 2013 - 13
IEEE Robotics & Automation Magazine - December 2013 - 14
IEEE Robotics & Automation Magazine - December 2013 - 15
IEEE Robotics & Automation Magazine - December 2013 - 16
IEEE Robotics & Automation Magazine - December 2013 - 17
IEEE Robotics & Automation Magazine - December 2013 - 18
IEEE Robotics & Automation Magazine - December 2013 - 19
IEEE Robotics & Automation Magazine - December 2013 - 20
IEEE Robotics & Automation Magazine - December 2013 - 21
IEEE Robotics & Automation Magazine - December 2013 - 22
IEEE Robotics & Automation Magazine - December 2013 - 23
IEEE Robotics & Automation Magazine - December 2013 - 24
IEEE Robotics & Automation Magazine - December 2013 - 25
IEEE Robotics & Automation Magazine - December 2013 - 26
IEEE Robotics & Automation Magazine - December 2013 - 27
IEEE Robotics & Automation Magazine - December 2013 - 28
IEEE Robotics & Automation Magazine - December 2013 - 29
IEEE Robotics & Automation Magazine - December 2013 - 30
IEEE Robotics & Automation Magazine - December 2013 - 31
IEEE Robotics & Automation Magazine - December 2013 - 32
IEEE Robotics & Automation Magazine - December 2013 - 33
IEEE Robotics & Automation Magazine - December 2013 - 34
IEEE Robotics & Automation Magazine - December 2013 - 35
IEEE Robotics & Automation Magazine - December 2013 - 36
IEEE Robotics & Automation Magazine - December 2013 - 37
IEEE Robotics & Automation Magazine - December 2013 - 38
IEEE Robotics & Automation Magazine - December 2013 - 39
IEEE Robotics & Automation Magazine - December 2013 - 40
IEEE Robotics & Automation Magazine - December 2013 - 41
IEEE Robotics & Automation Magazine - December 2013 - 42
IEEE Robotics & Automation Magazine - December 2013 - 43
IEEE Robotics & Automation Magazine - December 2013 - 44
IEEE Robotics & Automation Magazine - December 2013 - 45
IEEE Robotics & Automation Magazine - December 2013 - 46
IEEE Robotics & Automation Magazine - December 2013 - 47
IEEE Robotics & Automation Magazine - December 2013 - 48
IEEE Robotics & Automation Magazine - December 2013 - 49
IEEE Robotics & Automation Magazine - December 2013 - 50
IEEE Robotics & Automation Magazine - December 2013 - 51
IEEE Robotics & Automation Magazine - December 2013 - 52
IEEE Robotics & Automation Magazine - December 2013 - 53
IEEE Robotics & Automation Magazine - December 2013 - 54
IEEE Robotics & Automation Magazine - December 2013 - 55
IEEE Robotics & Automation Magazine - December 2013 - 56
IEEE Robotics & Automation Magazine - December 2013 - 57
IEEE Robotics & Automation Magazine - December 2013 - 58
IEEE Robotics & Automation Magazine - December 2013 - 59
IEEE Robotics & Automation Magazine - December 2013 - 60
IEEE Robotics & Automation Magazine - December 2013 - 61
IEEE Robotics & Automation Magazine - December 2013 - 62
IEEE Robotics & Automation Magazine - December 2013 - 63
IEEE Robotics & Automation Magazine - December 2013 - 64
IEEE Robotics & Automation Magazine - December 2013 - 65
IEEE Robotics & Automation Magazine - December 2013 - 66
IEEE Robotics & Automation Magazine - December 2013 - 67
IEEE Robotics & Automation Magazine - December 2013 - 68
IEEE Robotics & Automation Magazine - December 2013 - 69
IEEE Robotics & Automation Magazine - December 2013 - 70
IEEE Robotics & Automation Magazine - December 2013 - 71
IEEE Robotics & Automation Magazine - December 2013 - 72
IEEE Robotics & Automation Magazine - December 2013 - 73
IEEE Robotics & Automation Magazine - December 2013 - 74
IEEE Robotics & Automation Magazine - December 2013 - 75
IEEE Robotics & Automation Magazine - December 2013 - 76
IEEE Robotics & Automation Magazine - December 2013 - 77
IEEE Robotics & Automation Magazine - December 2013 - 78
IEEE Robotics & Automation Magazine - December 2013 - 79
IEEE Robotics & Automation Magazine - December 2013 - 80
IEEE Robotics & Automation Magazine - December 2013 - 81
IEEE Robotics & Automation Magazine - December 2013 - 82
IEEE Robotics & Automation Magazine - December 2013 - 83
IEEE Robotics & Automation Magazine - December 2013 - 84
IEEE Robotics & Automation Magazine - December 2013 - 85
IEEE Robotics & Automation Magazine - December 2013 - 86
IEEE Robotics & Automation Magazine - December 2013 - 87
IEEE Robotics & Automation Magazine - December 2013 - 88
IEEE Robotics & Automation Magazine - December 2013 - 89
IEEE Robotics & Automation Magazine - December 2013 - 90
IEEE Robotics & Automation Magazine - December 2013 - 91
IEEE Robotics & Automation Magazine - December 2013 - 92
IEEE Robotics & Automation Magazine - December 2013 - 93
IEEE Robotics & Automation Magazine - December 2013 - 94
IEEE Robotics & Automation Magazine - December 2013 - 95
IEEE Robotics & Automation Magazine - December 2013 - 96
IEEE Robotics & Automation Magazine - December 2013 - 97
IEEE Robotics & Automation Magazine - December 2013 - 98
IEEE Robotics & Automation Magazine - December 2013 - 99
IEEE Robotics & Automation Magazine - December 2013 - 100
IEEE Robotics & Automation Magazine - December 2013 - 101
IEEE Robotics & Automation Magazine - December 2013 - 102
IEEE Robotics & Automation Magazine - December 2013 - 103
IEEE Robotics & Automation Magazine - December 2013 - 104
IEEE Robotics & Automation Magazine - December 2013 - 105
IEEE Robotics & Automation Magazine - December 2013 - 106
IEEE Robotics & Automation Magazine - December 2013 - 107
IEEE Robotics & Automation Magazine - December 2013 - 108
IEEE Robotics & Automation Magazine - December 2013 - 109
IEEE Robotics & Automation Magazine - December 2013 - 110
IEEE Robotics & Automation Magazine - December 2013 - 111
IEEE Robotics & Automation Magazine - December 2013 - 112
IEEE Robotics & Automation Magazine - December 2013 - 113
IEEE Robotics & Automation Magazine - December 2013 - 114
IEEE Robotics & Automation Magazine - December 2013 - 115
IEEE Robotics & Automation Magazine - December 2013 - 116
IEEE Robotics & Automation Magazine - December 2013 - 117
IEEE Robotics & Automation Magazine - December 2013 - 118
IEEE Robotics & Automation Magazine - December 2013 - 119
IEEE Robotics & Automation Magazine - December 2013 - 120
IEEE Robotics & Automation Magazine - December 2013 - 121
IEEE Robotics & Automation Magazine - December 2013 - 122
IEEE Robotics & Automation Magazine - December 2013 - 123
IEEE Robotics & Automation Magazine - December 2013 - 124
IEEE Robotics & Automation Magazine - December 2013 - 125
IEEE Robotics & Automation Magazine - December 2013 - 126
IEEE Robotics & Automation Magazine - December 2013 - 127
IEEE Robotics & Automation Magazine - December 2013 - 128
IEEE Robotics & Automation Magazine - December 2013 - 129
IEEE Robotics & Automation Magazine - December 2013 - 130
IEEE Robotics & Automation Magazine - December 2013 - 131
IEEE Robotics & Automation Magazine - December 2013 - 132
IEEE Robotics & Automation Magazine - December 2013 - 133
IEEE Robotics & Automation Magazine - December 2013 - 134
IEEE Robotics & Automation Magazine - December 2013 - 135
IEEE Robotics & Automation Magazine - December 2013 - 136
IEEE Robotics & Automation Magazine - December 2013 - 137
IEEE Robotics & Automation Magazine - December 2013 - 138
IEEE Robotics & Automation Magazine - December 2013 - 139
IEEE Robotics & Automation Magazine - December 2013 - 140
IEEE Robotics & Automation Magazine - December 2013 - 141
IEEE Robotics & Automation Magazine - December 2013 - 142
IEEE Robotics & Automation Magazine - December 2013 - 143
IEEE Robotics & Automation Magazine - December 2013 - 144
IEEE Robotics & Automation Magazine - December 2013 - 145
IEEE Robotics & Automation Magazine - December 2013 - 146
IEEE Robotics & Automation Magazine - December 2013 - 147
IEEE Robotics & Automation Magazine - December 2013 - 148
IEEE Robotics & Automation Magazine - December 2013 - 149
IEEE Robotics & Automation Magazine - December 2013 - 150
IEEE Robotics & Automation Magazine - December 2013 - 151
IEEE Robotics & Automation Magazine - December 2013 - 152
IEEE Robotics & Automation Magazine - December 2013 - 153
IEEE Robotics & Automation Magazine - December 2013 - 154
IEEE Robotics & Automation Magazine - December 2013 - 155
IEEE Robotics & Automation Magazine - December 2013 - 156
IEEE Robotics & Automation Magazine - December 2013 - 157
IEEE Robotics & Automation Magazine - December 2013 - 158
IEEE Robotics & Automation Magazine - December 2013 - 159
IEEE Robotics & Automation Magazine - December 2013 - 160
IEEE Robotics & Automation Magazine - December 2013 - 161
IEEE Robotics & Automation Magazine - December 2013 - 162
IEEE Robotics & Automation Magazine - December 2013 - 163
IEEE Robotics & Automation Magazine - December 2013 - 164
IEEE Robotics & Automation Magazine - December 2013 - 165
IEEE Robotics & Automation Magazine - December 2013 - 166
IEEE Robotics & Automation Magazine - December 2013 - 167
IEEE Robotics & Automation Magazine - December 2013 - 168
IEEE Robotics & Automation Magazine - December 2013 - 169
IEEE Robotics & Automation Magazine - December 2013 - 170
IEEE Robotics & Automation Magazine - December 2013 - 171
IEEE Robotics & Automation Magazine - December 2013 - 172
IEEE Robotics & Automation Magazine - December 2013 - 173
IEEE Robotics & Automation Magazine - December 2013 - 174
IEEE Robotics & Automation Magazine - December 2013 - 175
IEEE Robotics & Automation Magazine - December 2013 - 176
IEEE Robotics & Automation Magazine - December 2013 - Cover3
IEEE Robotics & Automation Magazine - December 2013 - Cover4
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2023
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2022
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2021
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2020
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2019
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2018
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2017
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2016
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2015
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2014
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2013
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2012
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_june2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_march2011
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_december2010
https://www.nxtbook.com/nxtbooks/ieee/roboticsautomation_september2010
https://www.nxtbookmedia.com