3droad TMC
3droad TMC
3droad TMC
I NTRODUCTION
20XX IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or
promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works. DOI: No. XXXX
D ESIGN OVERVIEW
Measurement Basis
Modeling Steps
t0
On
t2
t1
Zn
Zb
Ob
Xn
Xb
On
Zn
Zb
Ob
Zb
Ob
t3
Xb
Ob
Xn
On
Zb
Xb
Ob
Xn
On
Zn
Zb
Xb
Ob
Xn
On
D ESIGN D ETAILS
In this section, We first formulate the modeling problem and define the accuracy metrics. Then, we describe the method details of 3Rd. We use the same
subsection names to show the relation to the brief
steps in 2.2.
Zb
Xb
measurement.
Xb
Xn
North
n
East
Moving direction
n
c (t)
Moving direction
n
cz(s)
Curve Projection on
Horizontal Plane
(1)
i{1...n}
1m
1m
10
X
n
1m
n
East
Curve Projection on
Latitud-Longitude Plane
North
line is the real road and the solid line is the modeling
results. Three measurements have the same maximum
error as 1m. = 1m seems a perfect result for a
road with several kilometers, but it may also mean
a sudden dangerous barrier, a bump or merely an
elevation measurement bias.
(4)
Height difference, though intuitive, could be confusing. Take upper part of Fig.4 for example, the dash
i{1...n}
(5)
Cnb (t)
(~annb (t)
~g )
(6)
(7)
(8)
(9)
~ 0 (t) = A(t)
~ Cnb (t ) ~an
A
GP Sk (t)
~ 0 (t)/|A
~ 0 (t)| Cnb (t) [0, 0, 1]T
A
3.2.3
(10)
(11)
Magnetometer Compensation
~ b (t) is a main contributer to
The local magnetic field M
l
the magnetometer readings in many cases, where (9)
~ b (t) = M
~ b as an unknown
does not hold. We treat M
l
l
constant parameter and calculate it during the learning step. Readings of the magnetometer are specially
rotated and scaled to reduce error. We present these
two approaches below.
First, any electric current and magnetic material
near the mobile phone generate magnetic fields,
~ b (t). Fig.5(a) is an in-door test.
which contribute to M
l
The mobile phone is hanged over a steel table from
~
70cm to 0cm. M(t)
is recorded with different distance
values and shown in dot points. The color of the
point indicates the distance; the darker the closer.
The black arrow is the negative gravity direction,
obtained by averaging accelerometer readings. The
angles between the black arrow and magnetometer
~
~
~ n i are constant if
readings hA(t),
M(t)i
h~g n , M
e
b
~
~ b (t) is definitely
Ml (t) = 0. The result shows that M
l
none zero and is a main component of the magnetic
fields in common cases.
The experiment in Fig.5(b) illustrates the possibility
to compensate Mln (t). We put the mobile phone screen
up on a chair that can rotate, and the sensor readings
are recorded at different angles until the rotation
forms a circle. The black arrow is the negative gravity
~
direction obtained by averaging A(t).
The hollow
points are the readings of the magnetometer and form
a circle. However, due to the impact of the material
of the chair and the mobile phone case, the center of
20
10
0
10
20
20
40
30
40
50
50
50
0
40
30
20
10
10
10
50
(a)
60
40
20
20
40
60
80
(b)
(12)
Second, the angle constraint does not hold for every sample in (11) and (12) due to various errors:
~ 0 (t), M
~ 0 (t)i =
~ en i. Those error could orighA
6 h~g n , M
inate from in-car magnetic field changes caused by
electronic devices or out-car magnetic field changes
caused by different terrains and buildings [11]. This
inequality makes Cnb (t) violate the orthogonality. The
~ 0 (t)
problem is relieved by adjusting the direction of A
~ 0 (t). We choose to adjust M
~ 0 (t) because M
~b
or M
estl
~
contains more error sources for two reasons: Mlb (t)
is not a strict constant due to several unpredictable
factors such as the mobile phone current, and the
rotation in closed loop does not form a perfect circle
because of the road slope angle variation.
~ 0 (t) in the plane determined by A
~ 0 (t)
We rotate M
0
~
and M (t). The new relation is obtained by vector
cross product:
~ = (A
~ 0 (t) M
~ 0 (t)) A
~ 0 (t)
M
~ /|M
~ | Cnb (t) [0, 1, 0]T
M
(13)
(14)
~ 0 (t) according to A
~ 0 (t) in (13) to meet
3) We rotate M
the angle constraint that restricts the direction of
the gravity and geomagnetic fields.
4) We normalize obtained vectors to reduce scalar
value error in (11) and (14)
5) The third column of Cnb (t) is estimated by (11).
The second column of Cnb (t) is estimated by (14).
The first column is determined by the other two
columns through the orthogonality.
The composition of Cnb (t) shows the essence of
the calculation. Consider the moving direction vector reading in b-frame d~b , the corresponding reading
d~n (t) = Cbn (t) d~b in n-frame is the slope angle that
we want to obtain. As Cbn (t) = (Cnb )T (t), dnz (t) is
determined by the third column of Cnb (t), which is
mainly measured by the accelerometer. The similar
observation holds for dny (t), which is mainly determined by the magnetometer. The conclusion is that
the accuracy of the slope angle calculated in this
method is mainly determined by the accelerometer.
3.3
Calculation Method
b
b
0
nbz
(t) nby
(t)
dCbn (t)
b
b
(t)
0
nbx
(t)
=Cbn (t) nbz
dt
b
b
nby (t) nbx (t)
0
b
=Cbn (t) T (~
nb
(t))
Gyroscope Calibration
d~n (t) = Cbn (t) d~b . Then, d~n (t) is transformed to d~n (s)
by aligning the time in GPS trace as (1). Road slope
angle (s) is determined by d~n (s) in (3). We contribute
to this simple calculation by fusing the measurement
data from different sensor sources.
10
20
40
Time(s)
60
80
slow down
error and x is the scale error. We perform one experiments to show the error properties of gyroscope, and
propose a simple scheme to reduce the bias error.
In the experiment, we record the reading of the
gyroscope in a static situation 4 . Results are shown
in Fig.6. The angle value is the integration of the
angular velocity, for example, x (t) =
Rcorresponding
t
Wx (ti )dti . This results shows that the low-cost
0
gyroscope has large bias error . The value of is
stable because the slope of the curve does not change
much. Therefore, we treat as a constant and update
it whenever the mobile phone is not moving. The
static period can be judged by the variance of the
acceleration. The gyroscope is calibrated in (16).
b
~ 0 (t) = W(t)
~
W
~
~ nb
(t)
(16)
3D Road Modeling
Angle (degree)
Angle(degree)
10
stopped
speed up
deceleration
zones(obstacles)
acc
acc without GPS
gyro
10
330
340
350
360
Time (s)
370
380
390
400
k
X
i=0
(17)
Mobile phone, as a personal device, incurs measurement diversity. We design a learning step in 3Rd
to unify the diversity while keep their manual adjustment minor. The diverse factors, specifically, the
position of the mobile phone holder and the in-car
magnetic field, are relatively stable, so we treat them
as the user profile and obtain them before the first use.
Since the user only need to perform this step once per
car with a fixed mobile phone holder, we believe this
learning process is of low overhead.
The learning process is finished by driving along a
path satisfying two requirements: First, the driving
starts at a certain direction and ends at a similar
direction. This requirement makes the vehicle rotate
for a circle and the in-car magnetic field can be calculated 3.2.3. Second, the path should be self-crossed.
The crossing points have the same height and can
be used as a constraint to calculate moving direction
d~b . A closed loop path concurrently satisfies the two
requirements, so that it is chosen in the learning step
of 3Rd design.
3.5.1 Learning: Local Magnetic Fields Calculation
~ b (t) based on two facts. One is that the
We calculate M
l
strength of the magnetic field inversely proportional
~ b (t)
to the cubic of the distance to the source, so M
l
is dominated by the source nearby. As the mobile
phone is fixed on the car, the magnetic sources such
as car body change directions the same as the mobile
phone. In the view point of the mobile phone, the
North
Up
d(t0)
Height
(t0)
(t0)
East
(18)
9
nq
X
m(t0)=arg min (cmx(ti)cx(ti))2+(cmy(ti)cy(ti))2
(20)
(t0 ) i=0
3) We fix (t0 ) to m (t0 ) and search (t0 ) to minimize the height difference at the crossing point:
m (t0 ) = arg min |cmz (tn ) cmz (t0 )|
(21)
(t0 )
25
20
15
10
5
0
1
I MPLEMENTATION
E VALUATION
0.5
0.5
(c) Results
10
5.2
The Benchmark
Start Point
CDF
5.1.2
Driving
Direction
The North
Slope Variantion
Uphill
10
Deceleration Zones
0
0
1
0.8
0.6
0.4
0.2
0
0
200
400
600
5.2.1
3D Modeling Overview
11
1
0.8
20
3Rd
0.6
3RdALL
Baro
0.4
GPS
0
0
10
GPS
Baro
Benchmark
3Rd
Google
40
Google
0.2
5
0
60
15
70
20
200
400
600
1
0.8
0.6
0.4
Baro
0.2
0
0
3Rd
2
1200
1400
1600
1200
1400
1600
800
1000
Horizontal Moving Distance (m)
15
Baro
Benchmark
3Rd
10
5
0
5
10
0
200
400
600
800
1000
TABLE 1
Method Components
0.8
0.6
0.4
0.2
0
0
10
20
30
40
50
60
Section
3.2.2
3.2.3
3.2.3
4
5
3.3.2
3.4.1
Method
Reduce the horizontal acceleration
~an
(t) through GPS
GP Sk
Compensate the magnetometer reading
~b
with local magnetic field M
l
Eliminate the impact of magnetometer on
angle measurement by rotating
Subtract the bias error from gyroscope
Fuse the measurement of two sensors
through filter
Abbr.
3Rd-1
3Rd-2
3Rd-3
3Rd-4
3Rd-5
aGPS||
zero
1
10
500
Benchmark
3Rd
3Rd-1
5
1400
1450
1500
1550
40
400
20
300
200
20
100
40
0
40
1600
1650
50
20
1700
(a) Accelerometer
0
20
40
3Rd-2
GPS
3Rd
4
2
0
2
4
6
8
12
200
(b) Magnetometer
Benchmark
3Rd
3Rd-5
3Rd Gyro
10
3Rd-2
3Rd 200
50
200
700
750
800
850
900
950
1000
1
0.8
0.8
3Rd
3Rd-2
0.4
3Rd-3
0.2
3Rd-5
2
3Rd
0.6
3Rd-1
0.6
0
0
100
Acc(m/s2 )
12
10
3Rd-1
0.4
3Rd-2
0.2
3Rd-3
0
0
3Rd-5
1
Barometer Altimeter
Barometer altimeter is an altitude measurement device based on barometric pressure. We compare our
results with data collected by Samsung Galaxy S
III which has embedded barometer. The input parameters, sea level pressure and temperature, are
requested from public database [19] in real time.
In Fig.11, Results tagged Baro show the barometer
13
altimeter achieves the best height measurement accuracy among legacy methods. Resent work [20] even
uses it as the elevation benchmark.
However, barometer does not fulfill the accurate
road modeling for three reasons. First, it is a height
measurement tool without directly providing road angle information. Differentiating on smoothed barometer measurement is a direct approach to obtain the
slope angle, but the smoothing parameter is normally
hard to obtain and the smoothing process reduces
the amplitude of slope angle. Baro in Fig.11(c) shows
the best signal we obtained by smoothing; obvious
randomness dominates slope details. This property
does not satisfy our slope angle accuracy requirement
in 3.1.3 and the impact on real example is shown
in 5.4. Second, barometer altitude is sensitive to
environmental factors such as the open and close of
the car window, air conditioner temperature and so
on [21]. Third, barometer is still a rare sensor. To our
knowledge, only five high-end mobile phone models
are equipped with MEMS barometer.
5.4
Application Example
Accurate modeling property, especially the angle variation in 3Rd, potentially enables new applications.
Take the motivating example in the first paragraph of
1. we show how the 3Rd model helps drivers detect
slippery road slope in bad weather.
The maximum friction coefficient between ice and
tire is about 0.1 [22], which means the maximum
slope angle resisting to slipping on a road covered
by ice is th = arctan(0.1). We take this value as the
threshold to detect the possible slippery slopes. In
this simple example, the evaluation road is divided
into segments with equal length of 20m. One segment
is considered as slippery if there are more than 1m
slope samples larger than th . We list the results in
Fig.14. The horizontal axis is the index of the road
segments. Pos indicates the slippery segments under
our definition. 3Rd has 5/86 = 5.8% mismatch when
compared with the results of benchmark. However,
when we carefully examine those mismatched points,
we find 4 of them are caused by GPS location misalignment and they do not affect real use at all.
The only false positive one is shown by the arrow.
Therefore 3Rd achieves 1/86 = 1.2% false positive and
0% false negative detection in this example. The best
known rival 3D model obtained by barometer 5.3.3
achieves 23/86 = 26.7% in the detection.
D ISCUSSION
Pos
3Rd
Benchmark
Baro
Neg
0
10
20
30
40
50
60
70
80
90
R ELATED W ORK
14
navigation, but navigation algorithms are not applicable to our scenario due to low sensor quality. The
study of using low-cost sensor in navigation focuses
on 2D scenarios [23], where the inertial sensors are
used to aid vehicle positioning when GPS is temporarily unavailable. One big problem in low-cost sensors
is their accuracy. Recent work A3 [24] proposes a
method to find the right time to calibrate gyroscope
according to the measurement from accelerometer
and magnetometer. However, their method cannot be
applied in in-car scenario since car body introduces
continuous bias in magnetometer measurement [11].
Work directly related to 3D road modeling can be
divided into three categories. The first kind equips
camera or laser scanner on vehicles to collect road
information. [6] uses the a vision based method to
detect road slope, but it does not provide exact angle
value. The laser scanner [5] is also a classical tool in
3D modeling. 3Rd is not based on optical method and
does not require special equipments. The second kind
is based on vehicle sensing. [2] uses mass effect on
heavy-duty vehicles to obtain road slope angle. Their
method is not scalable to normal vehicles. [1] uses
additional vehicle sensors to calculate road slope in
real time. 3Rd only needs a mobile phone. Third, aerial
images such as SRTM [4] can also be used to get
road height information. 3Rd additionally provides
accurate slope angle information in the model.
Some work uses mobile systems to sense road
conditions. Most of them differ from us by focusing
on the traffic condition or driving behavior [25] rather
than the detailed road shape. The most relevant one,
Pothole Patrol [26] uses the abnormal readings of
a mobile sensing platform to detect potholes when
the car goes over a pothole. 3Rd aims at providing
detailed road shape rather than identifying special
road patterns such as potholes or bumps. In [20],
they use USGS data to provide accurate elevation for
cyclist and use barometer as benchmark. As we show
in 5.3.3, barometer is not sufficient to fulfill road
angle accuracy requirement.
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]
[21]
[22]
[23]
[24]
[25]
[26]
C ONCLUSION
R EFERENCES
[1]