Aghamohammadixxx PDF
Aghamohammadixxx PDF
Aghamohammadixxx PDF
I. INTRODUCTION
2
models is developed for each feature extracted from the scan.
Incorporating these models in displacement estimation, results
in more accurate estimations. This paper is organized as
follows: section 2 describes the feature extraction and
matching algorithms in detail. Section 3 aims to calculate
optimal pose shift of robot between two consecutive scans
using matched feature pairs and their covariance. Section 4
demonstrates the experimental results and the concluding
results are given in last section.
II. FEATURE EXTRACTION AND MATCHING
Some techniques of data analysis are applied to the scan S,
provided by the scanner, in order to extract features from the
scan. Desired features are divided into two types: features
corresponding to the jump-edges and those corresponding to
the corners detected in the scan. Formal notation for the scan S
is given by:
x
S = ( p i )i =1,...,n , pi = i
yi
In order to detect jump-edges in scan S , scan points are
divided into some clusters consisting of consecutive scan
points in their natural order. As a result, every cluster features
a dedicated start point (pi) and an end point (pj), in which, i
and j are indices of points in whole scan S, and also i < j .
Therefore, kth cluster is defined by:
ck = { pm pm S , i m j }
Clustering procedure is as following: p1 c 1 and for all points
in scan like pi (i = 1,..., n) the distance di = pi +1 pi
calculated, then
p i +1 c k
p i +1 c k +1
if
if
is
( p i c k , d i d th )
( p i c k , d i > d th )
Fig. 1. Lines in black represent the environment, blue and red lines are the
acquired scans from pose i and j, respectively. Upper feature is varying
with respect to robots displacement, but the other feature is an invariant
one.
if ri > crs
pi is not a feature
otherwise
pi is a feature
represent pi in
Fig. 2. End cluster feature, established due to sensor low range, is variant
with respect to robots displacement.
3
algorithm is the best choice by its fair correctness and superior
speed. Thus, split-and-merge algorithm is used in here for line
fitting within each cluster. Due to the primary clustering,
merging stage is often not required, and if required it is very
fast.
The parameter tuple specifying a line reads as:
l q = q , nq , lenq , where, q is the angle between line and x
If next next
j or prei pre j (which one exists) exceeds
i
a maximum threshold, the pi and p j are not matched, and B
becomes infinity, otherwise B = 0 .
After dissimilarity matrix is constructed, at each step the
minimum value element of this matrix is chosen, its
corresponding row and column are omitted and correlated
features are matched, until all rows and columns of
dissimilarity matrix are omitted or the minimum value of
elements exceeds a maximum matching distance.
III. POSE SHIFT CALCULATION
Fig. 3. Blue dots represent a part of scan around pcc. pi and pj are scan
points, which have distance r from pcc and pcc1 is the point produces the
maximum perpendicular distance from the line connecting pi to pj.
cos( i + e )
p i n = ri + e ri
sin(i + e )
cos(i )
(2)
p i = ri
sin(i )
is a noisy measurement of point pi. e is a zero mean
in which,
(1)
pin
(3)
sin( i ) + e cos( i )
sin(i )
cos(i )
eob = ri e
+ (ari + b )
cos(
)
i
sin( i )
Second source of error in considering a scan point as a
4
feature, is a quantized nature of laser scanner rays' angles.
This issue causes that the point pi, considered as a feature
point, not necessarily be the same physical feature in the
environment. Particularly, when incidence angle between laser
scanner's i'th ray and surface of object related to pi is near to
zero or 180 degrees, this error is much considerable.
Quantization error for start(end)-cluster features is collinear
with the boundary tangent of the object [8], on which pi is
selected (see fig. 4).
(11)
Where
(12)
eqi = e qi E (e qi )
Assuming that ~
eobi and ~
eqi are independent:
i ) (13)
Cov (f k ) = E (f k fk )T (f k fk ) = Cov (eobi ) + Cov (eq
Fig. 4.
i +1
p i lies.
G
eq = t
(4)
G
In which t is a unit vector collinear with fitted line to scan
points around pi and is a random variable represents
T
sin( ) ] , where:
= atan 2 ( p p , p p
y
e
y
s
x
e
x
s
y
s
x
e
sin 2 ( )
-sin( ) cos( )
i
i
i
Cov (e
)= r 2
ob
i
2
i
-sin( ) cos( )
cos ( )
i
i
i
cos 2 ( )
sin( ) cos( )
i
i
i
+ a2 r 2 + b2
i
2
sin( ) cos( )
cos ( )
i
i
i
(14)
in which,
).
(5)
results into,
y
e
(6)
cos(
)
i
sin( i )
cos( i )
cos( i )
E (b )
= b0
sin(
)
i
sin( i )
(8)
2
2
qd G G
q d cos 2 ( i )
cos( i ) sin( i )
E i i t i t i T = i
2
3 cos( i ) sin( i )
sin 2 ( i )
Cov e
q
i
= E
E = f knew ( R f k pre + T )
k =1
C f1 f knew ( R f k pre + T )
k
(16)
5
fkpre and fknew are the k'th pair of matched features and m is the
Fig. 4. Melon, the mobile robot equipped with low range laser scanner
350
300
WUE
250
200
150
100
50
0
-200
-150
-100
-50
50
100
150
6
compared to that of histogram based or point-based method
(like IDC) and the algorithm is fast enough for real-time
localization in high speed robots. A comparison between
HAYAI and other algorithms speed is reported in [13].
400
V. CONCLUSIONS
250
350
300
connecting lines
200
150
100
50
0
-200
-150
-100
-50
50
100
150
Fig. 6. Reference scan is shown by '' and the new scan is shown by '+'.
Matched features are specified by red stars and connected to each other.
REFERENCES
[1]
[13]
[14]
[15]
[16]