Nericell: Rich Monitoring of Road and Traffic Conditions Using Mobile Smartphones
Nericell: Rich Monitoring of Road and Traffic Conditions Using Mobile Smartphones
Nericell: Rich Monitoring of Road and Traffic Conditions Using Mobile Smartphones
ABSTRACT
We consider the problem of monitoring road and trac conditions in a city. Prior work in this area has required the deployment of dedicated sensors on vehicles and/or on the roadside, or the tracking of mobile phones by service providers. Furthermore, prior work has largely focused on the developed world, with its relatively simple trac ow patterns. In fact, trac ow in cities of the developing regions, which comprise much of the world, tends to be much more complex owing to varied road conditions (e.g., potholed roads), chaotic trac (e.g., a lot of braking and honking), and a heterogeneous mix of vehicles (2-wheelers, 3-wheelers, cars, buses, etc.). To monitor road and trac conditions in such a setting, we present Nericell, a system that performs rich sensing by piggybacking on smartphones that users carry with them in normal course. In this paper, we focus specically on the sensing component, which uses the accelerometer, microphone, GSM radio, and/or GPS sensors in these phones to detect potholes, bumps, braking, and honking. Nericell addresses several challenges including virtually reorienting the accelerometer on a phone that is at an arbitrary orientation, and performing honk detection and localization in an energy ecient manner. We also touch upon the idea of triggered sensing, where dissimilar sensors are used in tandem to conserve energy. We evaluate the eectiveness of the sensing functions in Nericell based on experiments conducted on the roads of Bangalore, with promising results.
Keywords
Sensing, Roads, Trac, Mobile Phones
1. INTRODUCTION
Roads and vehicular trac are a key part of the day-today lives of people. Therefore, monitoring their conditions has received a signicant amount of attention. Prior work in this area has primarily focused on the developed world, where good roads and orderly trac mean that the trac conditions on a stretch of road can largely be characterized by the volume and speed of trac owing through it. To monitor this information, intelligent transportation systems (ITS) [9] have been developed. Many of these involve deploying dedicated sensors in vehicles (e.g., GPS-based tracking units [12]) and/or on roads (inductive loop vehicle detectors, trac cameras, doppler radar, etc.), which can be an expensive proposition and so is typically restricted to the busiest stretches of road. See [3] for a good overview of trafc surveillance technologies and Section 2 for related work. In contrast, road and trac conditions in the developing world tend to be more varied because of various socioeconomic reasons. Road quality tends to be variable, with bumpy roads and potholes being commonplace even in the heart of cities. The ow of trac can be chaotic, with little or no adherence to right of way protocols at some intersections and liberal use of honking (The Nericell project webpage [11] includes a video clip of a chaotic intersection in Bangalore). Vehicles types are also very heterogeneous, ranging from 2-wheelers (e.g., scooters and motorbikes) and 3-wheelers (e.g., autorickshaws) to 4-wheelers (e.g., cars) and larger vehicles (e.g., buses). Monitoring such varied road and trac conditions is challenging, but it holds the promise of enabling new and useful functionality. For instance, information gathered via rich sensing could be used to annotate a map, thereby allowing a user to search for driving directions that would minimize stress by avoiding chaotic roads and intersections. To address this challenge, we present Nericell1 , a system for rich monitoring of road and trac conditions that piggybacks on mobile smartphones. Nericell orchestrates the smartphones to perform sensing and report data back to a server for aggregation. Indeed, smartphones include a range of sensing and communication capabilities, in addition to computing. A phone might include any or all of a microphone, camera, GPS, and accelerometer, each of which could
1 Nericell is a play on the word Nerisal, which means congestion in Tamil.
General Terms
Algorithms, Design, Experimentation, Measurement
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for prot or commercial advantage and that copies bear this notice and the full citation on the rst page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specic permission and/or a fee. SenSys08, November 57, 2008, Raleigh, North Carolina, USA. Copyright 2008 ACM 978-1-59593-990-6/08/11 ...$5.00.
be used for trac sensing functions. In addition, the phone would include a cellular radio (e.g., GSM), possibly with data communication capabilities (e.g., GPRS or UMTS). A mobile phone-based approach to trac monitoring is a good match for developing regions because it avoids the need for expensive and specialized trac monitoring infrastructure. It also avoids dependence on advanced vehicle features such the Controller Area Network (CAN) bus that are absent in the many low-cost vehicles that are commonplace in developing regions (e.g., the 3-wheeled autorickshaws in India). Moreover, it takes advantage of the booming growth of mobile telephony in such regions. For example, as of mid-2008, India had 287 million mobile telephony subscribers, growing at an estimated 7 million each month [15, 7]. Although the majority of users have basic mobile phones today, a large number of them, in fact more than the number of PC Internet users in India, access the internet on their phones [10], suggesting that the prospects of greater penetration of more capable phones are good. There are similar growth trends in many other parts of the world, with the total number of mobile subscriptions worldwide estimated at 3.3 billion [5]. Note that despite being mobile phone-based, our approach to trac monitoring is distinct from prior work based on remote tracking of mobile phones by cellular operators [39, 2, 1]. Our sensing and inferences goes beyond just monitoring location and speed information, hence requiring a presence on the phones themselves. Our focus in this paper is on the sensing component of Nericell; we defer a discussion of the larger system, including the aggregation server, to future work. Several technical challenges arise from our design choice to perform rich sensing and base the system on mobile smartphones. Nericell leverages sensors besides GPS accelerometer and microphone, in particular to glean rich information, e.g., the quality of the road or the noisiness of trac. The use of an accelerometer introduces the challenge of virtually reorienting it to compensate for the arbitrary orientation of the phone that it is embedded in. Furthermore, we need to design ecient and robust bump, brake and honk detectors in order to infer road and trac conditions. Moreover, since a smartphone is battery powered and is primarily someones phone, energy-eciency is a key consideration in Nericell. To this end, we employ the concept of triggered sensing, wherein a sensor that is relatively inexpensive from an energy viewpoint (e.g., cellular radio or accelerometer) is used to trigger the operation of a more expensive sensor (e.g., GPS or microphone). For eciency in communication and energy usage, each node processes the sensed data locally before shipping the processed data back to the server. The main contributions of this work are: (1) algorithms to virtually reorient a disoriented accelerometer along a canonical set of axes and then use simple threshold-based heuristics to detect bumps and potholes, and braking (Section 5); (2) heuristics to identify honking by using audio samples sensed via the microphone (Section 6); (3) evaluation of the use of cellular tower information in dense deployments in developing countries to perform energy-ecient localization (Section 7); and (4) triggered sensing techniques, wherein a lowenergy sensor is used to trigger the operation of a highenergy sensor (Section 8). Finally, we have implemented most of these techniques on smartphones running Windows Mobile 5.0 (Section 9).
There are two important issues that we do not address in this paper. One is the question of privacy of the users whose phones participate in Nericell. It may be possible to achieve good enough privacy simply by suppressing the identity of a participating phone (e.g., its phone number) when reporting and aggregating the sensed data. A more sophisticated privacy-aware community sensing approach that incorporates formal models of sharing preferences is presented in [32, 27]. The second issue is of providing incentives for participation in Nericell. Providing incentives for participation in such decentralized systems is an active area of research (e.g., [17]) and we may be able to leverage this for Nericell.
2. RELATED WORK
Intelligent transportation systems [9] have been proposed and built to leverage computing and communication technology for various purposes: trac management, routing planning, safety of vehicles and roadways, emergency services, etc. We focus here on work that is most relevant to Nericell. There has been much work on systems for trac monitoring, both in the research world and in the commercial space. Many of these systems leverage vehicle-based GPS units (e.g., as in GMs OnStar [12]) that track the movement of vehicles and report this information back to a server for aggregation and analysis. For instance, CarTel [29] includes a special box installed in vehicles to monitor their movements using GPS and report it back using opportunistic communication across a range of radios (WiFi, Bluetooth, cellular). This information is then used for applications such as route planning. Recent work on Surface Street Trac Estimation [42] also uses GPS-derived location traces but goes beyond just estimating speed to identifying anomalous trac situations using both the temporal and spatial distributions of speed. For instance, the authors are able to distinguish between trac congestion and vehicles halting at a trac signal. Operational services, both commercial and otherwise, have been built using GPS information as well as information from other trac sensors deployed in an area (inductive loop vehicle detectors, trac cameras, doppler radar, etc.). Examples include the Washington State SmartTrek system in the U.S. [22] (which includes, among other things, the Busview service [13], to track the city buses in the Seattle area), and the INRIX system [8] for predicting trac based on historical data. There has also been work on leveraging mobile phones carried by users as trac probes. Smith et al. [39] report on a trial conducted in Virginia in 2000, which was based on localizing mobile phones using information gathered at the cellular towers. This study made a number of interesting observations, including that the sample density (at the place and time of this study) was only sucient for estimating speed with moderate accuracy (within 10 mph = 16 kmph), and that there was a tendency to underestimate speed because of samples from stationary phones located near the roadway. Regardless, the rapid growth in mobile phone penetration has spurred the deployment of similar systems in other locations worldwide, including in Bangalore [2]. Much of the work on ITS has used GPS-based localization and some of it has used localization performed at cell towers.
However, there has been separate work on enabling a mobile phone to locate itself, whether based on GSM signals [40, 20], with a median accuracy under 100m in the outdoors measured in the Seattle area, or based on WiFi [21], with a median accuracy of 13-40m in an area with dense WiFi coverage. It is possible to use these localization techniques in the context of an ITS, either to complement GPS or as an alternative. Other forms of sensing, besides localization, have also been employed in ITS systems. Accelerometers are used for automotive safety applications such as detecting crashes to deploy airbags and to possibly also notify emergency services automatically (e.g., Veridian [30]). Accelerometers and strain gauges coupled with cameras have been used for structural monitoring of the transportation infrastructure [19]. In recent work, the Pothole Patrol (P 2 ) system [24] performs road surface monitoring by using special-purpose devices with 3-axis accelerometers and GPS sensors mounted on the dashboard of cars. It tackles the challenging problem of not only identifying potholes but also dierentiating potholes from other road anomalies. The use of a special-purpose device mounted in a known orientation, which simplies the analysis, is a key distinction of P 2 compared to our work on Nericell, which leverages smartphones that users happen to carry with them. To put it in context, our work on Nericell builds on prior work but is distinct from it in several ways. We do not replicate the signicant body of prior work on estimating the speed of trac ow [39, 42] and driving patterns [33] based on location traces, and presenting this information to users in an appropriate form [34]. Instead, Nericell focuses on novel aspects of sensing varied road and trac conditions, such as bumpy roads and noisy trac. Furthermore, Nericell uses smartphones that users happen to carry with them, depending only on capabilities that are already available in some phones and that are likely to be available in many more in the coming years. By piggybacking on an existing platform, Nericell avoids the need for specialized and potentially expensive monitoring equipment to be installed, whether on vehicles as in [24, 29] or as part of the infrastructure as in SmartTrek [22]. But building on top of a mobile phone platform introduces challenges, for instance, with regard to accelerometer orientation, energy eciency and device localization, which we address in Nericell. Finally, Nericell falls under the active area of research called opportunistic or participatory sensing [16] and can leverage ongoing research on challenges that are inherent to this area, e.g., data credibility and privacy.
Cellular data: e.g., GPRS, EDGE, UMTS, provided by the cellular radio. Local-area wireless: radios for local-area wireless communication (e.g., Bluetooth, WiFi). Sensing: Audio: microphone. Localization: GPS receiver. Motion: accelerometer, sometimes included for functions such as gesture recognition. Visual: camera, although Nericell does not make use of this at present. These capabilities are not only within the realm of engineering possibility, but in fact there exist smartphones on the market that include most or all of the above capabilities in a single package. For example, the Nokia N95 includes all whereas the HP iPAQ hw6965 includes all except an accelerometer and the Apple iPhone includes all except GPS. We emphasize, however, that Nericell does not require all participating phones to include each of these capabilities.
3.
EXPERIMENTAL SETUP
We discuss the hardware and software setup used for our work and the measurement data that we gathered.
Dates 03-Sep-07 19-Sep-07 20-Nov-07 22-Nov-07 25-Sep-07 28-Sep-07 30-Mar-08 08-Apr-08 13-Apr-08
Mode Phone Idle Bluetooth (BT) Idle BT Device Inquiry BT Service Discovery WiFi Idle WiFi Beacon (Sending) WiFi Scan (Receiving) GPS Microphone Accelerometer (per spec.) Accel. with Bluetooth
Life Time Includes Phone Idle 24h 18m 22h 13m 10h 46m 7h 53m 4h 39m 4h 36m 2h 59m 5h 32m 10h 54m 24h 5m 19h 56m
Power (mW) For given mode only 182.7 17.1 229.5 380.0 771.8 782.0 1298.8 617.3 223.2 1.65 40
8.54km
8.88km
Figure 1: Map of Ban- Figure 2: A typical galore with drive routes chaotic road intersection highlighted with variety of vehicles at loggerheads days. 2 We also gathered cellular tower measurements over the course of a few days in the Seattle area. Table 1 summarizes all of the data that we gathered on drives through trac. Figure 1 shows a map of Bangalore with the drive routes highlighted. In addition to drive data, we gathered accelerometer data over specic sections of road (selected for their bumps, potholes, etc.) at controlled speeds using a Toyota Qualis multiutility vehicle. The vehicles were driven by various drivers with the accelerometer placed in various locations back and middle seats, dashboard and the hand rest of the vehicle. We also recorded the sound of several vehicles honking. Figure 2 shows a typical chaotic intersection with dierent vehicle types, each approaching the intersection from a dierent direction and with little adherence to right of way protocols. These intersections are typically also characterized by signicant amount of braking and honking. A video clip of such a chaotic intersection in Bangalore, showing a lot of braking and honking, is available at [11].
4.
OVERVIEW
The richness of sensing that Nericell encompasses is motivated by the wide applicability we envisage for the system. The system could be used to annotate traditional trafc maps with information such as the bumpiness of roads, and the noisiness and level of chaos in trac, for the benet of the trac police, the road works department, and ordinary users. For instance, a user might search for a route that minimizes the number of chaotic intersections to be traversed, thereby optimizing for blood pressure rather than for distance or time. While these applications serve as the motivation, our focus in this paper is on the sensing component of Nericell, specically, on how to eciently use the accelerometer, microphone, GSM, and GPS sensors in mobile The only reason that the accelerometer measurements were made separately from the cellular measurements was that we procured the accelerometers later.
2
Table 2: Power usage for various activities smartphones to detect bumps and potholes, braking, and honking, and to determine location in an energy-ecient manner. In Section 5, we focus on sensing using a 3-axis accelerometer. Given that a mobile smartphone and its embedded accelerometer could be in any arbitrary orientation, we rst discuss our algorithm for virtually reorienting a disoriented accelerometer automatically. Using real drive data from reoriented as well as well-oriented accelerometers, we evaluate the ecacy of our reorientation algorithm as well as our simple heuristics to detect bumps and potholes, and braking. In Section 6, we describe how audio sensed using the microphone can be used to detect honks. In Section 7, we discuss and evaluate the accuracy of energy-ecient coarsegrain localization and trac speed estimation using GSM cellular tower information. Given the energy costs of the dierent sensors, as indicated in Table 2, Nericell only keeps its GSM radio (which has to be turned on anyway for the phone to function) and the accelerometer turned on continually. It uses input from these two devices to trigger the turning on of the other sensors, for instance, to obtain a precise location x using GPS. We discuss this and other examples of triggered sensing in Section 8. Note that each individual phone lters and processes its sensed data locally before reporting it to a server for aggregation. This not only cuts down on the cost of communication (including the energy cost entailed), it helps with privacy (for example, by not uploading raw audio feeds) and it also cuts down on the volume of extraneous data, not reective of road and trac conditions, that the aggregator has to contend with. For example, we lter out accelerometer readings arising from a user dgeting with their phone rather than from bumps in the road. Finally, we present our implementation status in Section 9 with the focus again on mobile phone-based sensing. Given the small scale of our experiments and testbed thus far, we have only developed a rudimentary server that simply aggregates processed data from the phones. In a large-scale system, the server would need algorithms to disambiguate and cluster data from the various phones, for example, as presented in [24]. The server would also need to orchestrate the phones to perform sensing in a manner that minimizes overall resource usage, for example, using an approach such as in [32].
5. ACCELERATION
In this section, we discuss how Nericell uses the accelerometer on a phone to sense road and trac conditions.
5.1 Framework
As noted in Section 3.2, we use a 3-axis accelerometer for our work. The accelerometer has a 3-dimensional Cartesian frame of reference with respect to itself, represented by the orthogonal x, y, and z axes. In addition, we dene a Cartesian frame of reference with respect to the vehicle that the accelerometer (or rather the phone that it is part of) is in. The vehicles frame of reference is represented by the orthogonal X, Y , and Z axes, with X pointing directly to the front, Y to the right, and Z into the ground. See Figure 3 for an illustration. Note the distinction between the lower case letters (x, y, z) used to represent the accelerometers frame of reference and the upper case letters (X, Y , Z) used to represent the vehicles frame of reference. If (x, y, z) is aligned with (X, Y , Z), we say that the accelerometer is well-oriented. Otherwise, we say that it is disoriented. The accelerometer readings along the 3 axes are denoted by ax , ay , and az . If the accelerometer is well-oriented, these readings would also correspond to aX , aY , and aZ along the vehicles axes. All acceleration values are expressed in terms of g, the acceleration due to gravity (9.8 m/s2 ). Also, we set the sampling frequency of the accelerometer to 310 Hz, unless noted otherwise. Finally, we note that ours is a DC accelerometer, which means that it is capable of measuring static acceleration. For instance, even when a well-oriented accelerometer is stationary, it reports az = 1g. In essence, the measurement reported by the accelerometer is a function of the force exerted on its sensor mechanism, not the textbook denition of acceleration as the rate of change of velocity. For the same reason, when the vehicle accelerates (which would represent a positive acceleration along X according to the textbook definition), our accelerometer would experience a force pressing it backwards and hence report a negative acceleration along X.
Pre-rotation followed by tilt would also result in non-zero ax and ay due to the eect of gravity. As explained in Appendix A, we have: pre = tan1 ( ay ) ax (2)
To estimate tilt and pre using Equations 1 and 2, we could identify periods when the phone is stationary (e.g., at a trac light) or in steady motion in a straight line, say using GPS to track motion. However, a simpler approach that we have found works well in practice is to just use the median values of ax , ay , and az over a 10-second window.3 The median value over a window of this length turns out to be remarkably stable, even during a bumpy drive. Intuitively, any spike in acceleration would tend to be momentary and would settle back around the median within a few seconds or less. For example, if the vehicle gets lifted up by a bump, thereby causing a spike in the g-force, it would descend back soon enough, causing a spike in the reverse direction; the median itself remains largely unaected. Thus by computing ax , ay , and az over short time windows, we are able to estimate tilt and pre on an ongoing basis. Any signicant change in tilt and pre would indicate a signicant change in the phones orientation. However, the converse is not always true. If the phone were carefully rotated about Z, tilt and pre would remain unaected. Although it was not an issue in our setting, if sharp turns at high speeds are likely, we would have to fall back on GPS to identify suitable periods for this estimation.
3
(3)
To estimate post , we rst estimate pre and tilt using Equations 1 and 2. We then identify an instance of sharp deceleration using GPS data and record the mean ax , ay , and az during this period. In our experiments, we use just the rst few seconds (typically 2 seconds) of the deceleration to compensate for the time lag in the speed estimate obtained from GPS. Note that we use the mean here, unlike the median used in Section 5.2.2, because we want to record the transient surge because of the sharp deceleration. Compared to estimating pre and tilt , estimating post is more elaborate and expensive, requiring GPS to be turned on. So we monitor pre and tilt on an ongoing basis, and only if there is a signicant change in these or there is other evidence that the phones orientation may have changed (Section 5.3), do we turn on GPS and run through the process of estimating post afresh. Figure 3: This gure illustrates the process of virtually reorienting a disoriented accelerometer. (a) shows the measurements made at a disoriented accelerometer, which unsurprisingly do not match with the measurements shown in (b), corresponding to a well-oriented accelerometer. However, after the disoriented accelerometer has been virtually reoriented, its corrected measurements shown in (c) match those in (b) quite well.
40
Speed (kmph)
30
1 2 3 4 5 6
pre /tilt /post 7o /38o /106o 174o /34o /-107o 174o /34o /-107o 4o /42o /12o 3o /44o /-1o -80o /42o /121o
20
10
0 0 5 10 15 20 25 30 35 40
Time (seconds)
x,X
1.5
y,Y
z,Z
0.5
Table 3: Cross-correlation between the X components of the disoriented accelerometer (ACL-3) and each of the well-oriented accelerometers (ACL-1 and ACL-2) across several episodes of acceleration and braking. We report the cross-correlation numbers for before (D-W ) and after (R-W ) virtual reorientation is performed, along with the reorientation angles. We also report the W -W cross-correlation numbers between the two well-oriented accelerometers, to provide a point of comparison. episodes and was changed between others. We observe that, in general, the the cross-correlation improves signicantly when we go from having a disoriented accelerometer to one that has been virtually reoriented. For example, in episode 1, the cross-correlation between ACL-3 and ACL-1 improves from 0.30 to 0.88 after virtual reorientation is performed. In some cases, the improvement is smaller, for example, going from 0.62 to 0.71 in episode 5. The reason for the smaller improvement in episode 5 is that the angles of pre-rotation (pre ) and post-rotation (post ) are small (3o and -1o , respectively). So even with disorientation, braking causes a surge in ax , albeit reduced in magnitude because of the tilt, tilt . We also observe that the cross-correlation numbers after virtual reorientation (the R-W columns) are comparable to those between the two well-oriented accelerometers (the W W column). Furthermore, these cross-correlation numbers, while high, are signicantly lower than the cross-correlation of 1.0 that perfect correlation would yield. The lack of perfection comes from noise spikes, which motivates our insistence in Section 5.4.3 and Section 5.4.1 on looking for sustained surges rather than momentary spikes to detect bumps and braking, unless the spikes are much larger in magnitude than those due to noise. To conclude, our results in this section suggest that with virtual reorientation, a disoriented accelerometer has the potential to be almost as eective as a well-oriented accelerometer for the purpose of monitoring road and trac conditions.
Acceleration (g)
0 0 -0.5 5 10 15 20 25 30 35 40
-1
Time (seconds)
x
1
0.5
Acceleration (g)
0 0 -0.5 5 10 15 20 25 30 35 40
-1
-1.5
Time (seconds)
X'
1.5
Y'
Z'
Acceleration (g)
0.5
0 0 -0.5 5 10 15 20 25 30 35 40
-1
Time (seconds)
Figure 4: Estimating the orientation of a disoriented accelerometer based on sharp deceleration starting at around 27 seconds: pre = 88o , tilt = 49o , post = 135o no signal. However, since our interest is in periods when there is a signal, say due to braking or a bump, we only consider the measurements during such periods of activity in our computation of cross-correlation. In the experiment we conducted, this would correspond to the X component during the episodes of acceleration and braking. Second, the presence of noise even during such periods of interest means that two accelerometers may not agree perfectly, even if they are both well-oriented. So, in addition to reporting the cross-correlation between the virtually reoriented accelerometer (ACL-3) and each of the well-oriented ones (ACL-1 and ACL-2), we also report the cross-correlation between the two well-oriented accelerometers (ACL-1 and ACL-2) to provide a point of comparison. Table 3 shows the cross-correlation numbers between each pair of accelerometers across several episodes of acceleration and braking. Each episode lasted 15-20 seconds and the accelerometer sampling frequency was set to 25 Hz, yielding a time series comprising 375-450 samples. The accelerometers were placed on the rear seat of a Toyota Qualis vehicle. The orientation of ACL-3 was held xed across certain pairs of
tive of drive quality. A high incidence of braking could be because of poor road conditions (e.g., poor lighting) that make drivers tentative or because of heavy and chaotic trafc. While GPS could be used to detect braking, doing so would incur a high energy cost, as indicated in Table 2. Furthermore, GPS-based braking detection is challenging at low speeds because of the GPS localization error of 3-6 m. So in Nericell, we focus on an alternative approach, namely, leveraging the accelerometer in a phone for braking detection. In general, braking would cause a surge in aX because the accelerometer would experience a force pushing it to the front. The surge can be signicant even when the brake is applied at low speed. If a vehicle travelling at 10 kmph brakes to a halt in 1 second, that would result in an average surge of 0.28g in aX and possibly much larger spikes. Figure 4(b) and (d) clearly show a sustained surge in aX corresponding to a braking event. The persistence of the surge over relatively long timeframes (a second or longer) makes brake detection an easier problem than detecting potholes where the signal lasts only fractions of a second (see Section 5.4.3). To detect the incidence of braking, we compute the mean of aX over a sliding window N seconds wide. If the mean exceeds a threshold T , we declare that as a braking event. In order to evaluate our braking detector, we need to establish the ground truth. Ideally, we would have liked to use data from the cars CAN bus for obtaining accurate information on the ground truth, but we did not have access to it. So for the evaluation presented in this section, we use GPS-based braking detection to establish the ground truth. To minimize the impact of GPSs localization error noted above, we employ a conservative approach that only considers sustained braking events that last several seconds. (See Section 5.4.2 for an evaluation of the same brake detector on sharp brakes at slow speeds with manually established ground truth.) Using a trace of GPS location estimates, say ...loci1 , loci , loci+1 , ..., we compute instantaneous speed at time i as distance(loci1 , loci+1 )/2. Once we have the instantaneous speed values, we dene a brake as deceleration of at least 1m/s2 sustained over at least 4 seconds (i.e., a decrease in speed of at least 14.4 kmph over 4 seconds). We use a 75-minute long drive over 35 km of varied trafc conditions to evaluate our braking detection heuristic. Using the GPS-derived ground truth described above, we detect a total of 45 braking events in this trace. This drive also includes data from two accelerometers, one well-oriented (ACL-1) and the other disoriented (ACL-3). The virtual reorientation procedure from Section 5.2 was applied to measurements from ACL-3, before it was fed into our braking detection heuristic. We set the parameters of the braking detection heuristic to correspond to the denition of a brake. We compute the mean of X-values over a N = 4 second window and depict results for threshold values of T=0.11g and T=0.12g (i.e., 10-20% more conservative than the 1m/s2 deceleration threshold applied on the GPS trace to establish the ground truth). The results of applying our braking detection heuristic are shown in Table 4. The percentage of false positives/negatives and also the magnitude of the change in speed during the false positive/negative events are shown. The rst observation is that the results using accelerometer ACL-1 agree quite well with the results using the reoriented accelerometer ACL-3. Thus, the virtual reorientation algorithm pre-
False Negative Rate Change in speed avg(max) 4.4% 15(16) 11.1% 16(18) 4.4% 15(16) 11.1% 16(18)
False Positive Rate Change in speed avg(min) 22.2% 12(10) 15.5% 12(9) 31.1% 12(9) 17.7% 12(9)
Pedestrian
Car
Time (seconds)
Figure 5: X-axis accel. for a car in trac and a pedestrian serves the characteristics of the accelerometer measurements suciently to allow the braking detector to work eectively. Second, while the false positive rates seem high at 15-31%, when we examine the trace, we nd that each of these false positive events actually correspond to a deceleration event, albeit of lesser magnitude than our earlier denition of a brake. Based on the GPS-derived ground truth, the average (minimum) speed decrease over four seconds at these events was 12 kmph (9 kmph), just short of our target of 14.4 kmph threshold. Note that a dierence of 5kmph over 4 seconds corresponds to a location change of 5.6 m, which is well-within the localization error of GPS. Even if the GPS estimates were accurate, the false positives would simply correspond to less sharp brakes and are thus not problematic. In the case of false negatives, the rate is lower overall at 4-11%. The few false negatives again correspond to borderline events, with an average (maximum) speed decrease of 15 kmph (18 kmph), which when compared to the threshold of 14.4 kmph is again well within the localization error of GPS.
be clearly seen and are also picked out by our braking detection heuristic from Section 5.4.1, with no false positives or negatives. Note that despite the low speed, and hence the surges due to the braking episodes lasting for a shorter duration than those in the drive in Section 5.4.1, the same setting of N =4 seconds works well because the surge, when averaged over a window of this duration, still exceeds the detection threshold of T =0.11g. The bottom curve in Figure 5 shows aX (oset by 1g for clarity) for a pedestrian. The accelerometer is placed in the subjects trouser pocket, which results in larger spikes in aX than if it were placed in a shirt pocket or in a belt clip. Despite the signicant spikes in aX associated with pedestrian motion, there is no surge that persists, unlike with the braking associated with stop-and-go trac. When we applied our brake detection heuristic to dierent pedestrian accelerometer traces (with the accelerometer placed in the trouser pocket, shirt pocket, bag etc.), no false positives (i.e., brakes) were detected. This limited evaluation suggests that our brake detection heuristic has signicant potential to be used to distinguish between vehicles in stop-and-go trac and pedestrians.
3 2.5 2
3 2.5 2
Acceleration (g)
Acceleration (g)
Figure 6: aZ when Figure 7: traversing a bump at low traversing a speed high speed
aZ when bump at
also found that it also caused a lot more false positives at high speeds. We suspect that small undulations in the road could be the cause of such false-positive dips. Motivated by the above observations, we utilize two bump detectors depending on the speed of the vehicle. At high speeds (25 kmph), we use the surge in aZ to detect bumps. This is identical to the z-peak heuristic proposed in [24], where a spike along aZ greater than a threshold is classied as a suspect bump. At low speeds, we propose a new bump detector called z-sus, which looks for a sustained dip in aZ , reaching below a threshold T and lasting at least 20 ms (about 7 samples at our sampling rate of 310 Hz). The exact duration for which the vehicles wheel falls, before it hits the bottom of the pothole, depends upon the geometry of the pothole as well as that of the vehicle itself. Only one of the vehicles wheels the one that passes over the pothole falls, while the remaining wheels are solidly grounded, so the rate of fall is slower and the duration longer than with free fall. At high speeds, even minor irregularities in the road cause the vehicle to bob up and down, resulting in sustained dips. This leads to a high rate of false positives when z-sus is applied at high speeds. We have empirically determined that at low speeds, looking for a sustained dip of at least 20 ms duration is a good indicator of bumps, and at high speeds, the z-peak algorithm performs well. Finally, to identify the vehicle speed for applying the appropriate bump detector, we can rely on GSM localization (Section 7) since we only need a coarse-grained estinate of speed, i.e., whether the vehicle is travelling at low speeds (<25 kmph) or not. The two bump detectors, z-peak from [24] and our new z-sus, were tested over two drives, one along a short section of road approximately 5 km long with a total of 44 bumps or potholes (labeled bumpy road), and another approximately 30km long with a total of 101 bumps or potholes from a mixture of bumpy roads interspersed with stretches of smooth highways (labeled mixed road). In the case of z-sus, a threshold of T = 0.8g was chosen by training over the bumpy road trace and then the same threshold was used over the longer mixed road trace for validation. In the case of z-peak, one could use techniques presented in [24] to dynamically tune the threshold for dierent speeds. However, here we illustrate the best-case scenario for z-peak by tuning the threshold parameter separately to its optimal values for low and high speeds, respectively. During each run, we obtained measurements from two well-oriented accelerometers, ACL-1 and ACL-2, as well as a disoriented accelerometer, ACL-3, that was virtually re-
Detector
Accel.
BUMPY road z-sus ACL-1 ACL-2 ACL-3 z-peak ACL-1 (1.45) ACL-2 ACL-3 MIXED road z-sus ACL-1 ACL-3 z-peak ACL-1 (1.45) ACL-3 z-peak ACL-1 (1.75) ACL-3
Speed < 25kmph FN FP 40 bumps total 25% 5% 30% 0% 23% 5% 28% 15% 20% 5% 30% 10% 62 bumps total 29% 8% 37% 14% 35% 6% 65% 21% 90% 0% 83% 0%
Speed 25kmph FN FP 4 bumps total 50% 0% 25% 0% 0% 50% 0% 125% 0% 125% 0% 200% 39 bumps total 18% 80% 0% 136% 5% 197% 3% 49% 51% 3% 41% 8%
25
SIGNAL
20
5kHz 4kHz
Frequency
15
10
Table 5: False positives/negatives (FP/FN) for bump detectors, z-peak and our new z-sus. The numbers in bold correspond to the hybrid approach of applying z-sus at low speeds and z-peak at high speeds. oriented. Our goal is to evaluate the bump detectors, both across the dierent accelerometers and across the two drives. The results are shown in Table 5. Note that, even though we show results for z-sus at both low and high speeds for completeness, we wish to reiterate that z-sus is targeted as a detector only for low speeds. We make several observations. First, while we have tuned both the detectors so that the false positive rate is kept low (<10%), the false negative rate for both the detectors is still quite high (20-30%). This can be explained partly by the diculty of establishing the ground truth, as noted above. Second, the false positive/negative rates show some variation across all three accelerometers (two well-oriented and one virtually reoriented) for both z-peak and z-sus, but the range of variation is limited for most of the cases. For example, false negative (positive) rates varies between 2030% (5-15%) for the bumpy road trace. This shows that the virtual reorientation preserves the essential characteristics of the accelerometer signal. Third, consider the case when speed is less than 25 kmph, where the optimal threshold for z-peak is 1.45g. Here z-sus outperforms z-peak, with lower false positive rates for attaining similar or better false negative rates. Finally, we note that if z-peak is tuned with a threshold of 1.75g, it performs best at high speeds, achieving 3-8% false positive rates on the mixed road trace (z-sus suers from unacceptably high false positive rates at high speeds).
Figure 8: Spectrogram of Figure 9: DFT of horn at the horn of a Toyota In- 1.6s nova minivan Phone KJAM (T=5) KJAM (T=7) KJAM (T=10) iPAQ (T=5) iPAQ (T=7) iPAQ (T=10) Exposed vehicle FP FN 38% 0% 0% 0% 0% 19% 19% 4% 0% 8% 0% 27% Enclosed FP 8% 0% 0% 0% 0% 0% vehicle FN 15% 23% 54% 19% 50% 81%
Table 6: False Positives/Negatives (FP/FN) of Honk detector the sound of a horn. In this section, we investigate a simple, heuristic-based approach for honk-detection. An approach that simply looks for spikes in sound power levels in the time domain performs quite poorly as it misses a lot of horn sounds that are muted inside an enclosed vehicle and also mistakes any loud noise as a horn. To motivate a more discriminating detector, Figure 8 depicts the spectrogram of a horn sound from 1.5s to 3s, i.e., a frequency versus time plot, with higher sound power depicted by darker shades of grey. The frequency harmonics are clearly visible (with a fundamental frequency under 500Hz) and there is considerable amount of energy around the 3kHz band, the region of highest human ear sensitivity [23]. Thus, we implement a simple detector that performs a discrete Fourier transform on 100ms audio samples and looks for energy spikes in the frequency domain. We dene a spike as an instantaneous sample that is at least T times the mean, where T ranges between 5 and 10. While one could design a detector that looks for the frequency harmonics in the spikes, we found that, in many horn audio samples, spikes corresponding to several frequencies in the harmonics were either muted or even absent. Based on empirical observations, we arrive at the following minimal heuristic for the detector: as long as there are at least two spikes, including at least one spike in the 2.5 kHz to 4 kHz region corresponding to the region of highest human ear sensitivity, we classify the audio sample as corresponding to a honk. Figure 9 plots the sound amplitude versus frequency based on a discrete Fourier transform performed on a window of 1024 audio samples (with an audio sampling rate of 11025 Hz) at time 1.6s of the horn sample depicted in Figure 8. Note that the spikes match well with the darker shades in the spectrogram and would indicate a honk per the heuristic noted above. To evaluate the performance of our honk detector, we use
6.
AUDIO
All phones have a microphone that can serve as a readilyavailable sensor. In this section, we discuss how the audio sensed through the mobiles microphone can be used for honk detection. Audio sensing does use signicant amount of power, although lower than WiFi or GPS on our iPAQ platform (Table 2), and is performed only on an as needed basis (see Section 8). Finally, note that the audio content never leaves the phone; only processed information such as the number of honks detected is sent to the Nericell server, alleviating privacy concerns to a large extent. Nericell uses honk detection to identify noisy and chaotic trac conditions like that at an unregulated intersection. There is considerable work in the eld of audio content classication [23, 28, 31] where researchers have used various machine learning approaches to detect, among other things,
audio traces collected using four phones simultaneously at a chaotic and noisy trac intersection. We use two HP iPAQs and two i-Mate KJAMs. One phone of each type was placed inside an enclosed vehicle and one of each type placed outside the vehicle. The latter emulates the phone being carried on an exposed vehicle such as a motorbike, which is common in developing regions. We establish the ground truth by listening to the audio clip from the phone placed outside the vehicle and manually identifying the honk times, with a granularity of 1 second. We then use the honk detector with dierent spike thresholds, T , to automatically identify honks and compare it with the ground truth. The audio trace was about 100 seconds in duration and had 26 honks from a variety of vehicles.4 The results are shown in Table 6. Assuming a null hypothesis of no honk, the detector suers false negatives, i.e. missed honk detection, mostly when the spikes in the 2.54kHz band are insignicant, while it suers false positives mostly when the spike threshold is low enough for other sounds to be mis-identied as honks. We make three observations based on these results. First, with a spike threshold that is large enough to avoid false positives, the honk detector performs better (i.e., has fewer false negatives) in the exposed vehicle scenario due to the higher sound power level. Second, the varying sensitivity of microphone in dierent phones can result in dierent number of honks being detected even on the same trace. These two observations indicate that when comparing honk data at dierent locations, care must be taken to separate out the data based on phone-type and ambient noise level before comparison. Third, a high spike threshold can substantially guard against false positives (0% for T 7 in this trace), though, it cannot eliminate it completely. In one of our audio traces, there was an instance of a spurious detection of a honk arising from the sound of a birds chirping, which displayed horn-like characteristics. In general, this detector will have false positives whenever the audio content has honk-like spectrogram characteristics (e.g., alarms). If these false-positives become signicant in some settings, a more sophisticated honk detector would be necessary. In future work, we plan to investigate machine learning based approaches for honk detection. Finally, the honk detector is very ecient. Our implementation running on the iPAQ phone consumes only about 58ms of CPU time to detect honks in 1 second worth of 16bit, 11025 Hz audio samples (i.e., a CPU utilization of 5.8%). Note that the CPU utilization would be further reduced in practice because honk detection would be triggered on-demand rather than run continuously, as discussed in Section 8.
7.
LOCALIZATION
Localization is a key component of Nericell, as it is in any sensing application. Each phone participating in Nericell would need to continuously localize its current position, so that sensed information such as honking or braking can be tagged with the relevant location. Thus, an energy-ecient localization service is a key requirement in Nericell. As discussed in Section 2, there are a variety of approaches for outdoor localization including using Global Positioning
4 The need to manually establish the ground truth by listening limits the length of the trace that is feasible to evaluate.
System (GPS), WiFi [21], and GSM [36, 20]. However, given the high energy consumption characteristics of the WiFi and GPS radios (see Table 2), these are not suitable for continuous localization in Nericell5 . Thus, we primarily rely on using GSM radios for energy-ecient coarse-grain localization and, as discussed in Section 8, we trigger the use of ne-grain localization using GPS when necessary. There has been some recent work on using GSM to perform localization in indoor [36] and outdoor environments [20]. In [20], authors show that GSM signal strength-based localization algorithms can be quite accurate, with median errors of 94m and 196m in downtown and residential areas, respectively, in and around Seattle. When we tried to apply these techniques to the GSM tower signal data we collected in Bangalore, we found that the characteristics of the data was signicantly dierent that these prior techniques were not applicable, as we elaborate on below. For example, we gathered one-hour long traces of the cell towers seen by four phones subscribed to four dierent providers, with two phones each placed at static locations in Seattle and Bangalore, respectively. In the Seattle traces, we found 28 and 17 unique tower IDs in total while, in the Bangalore traces, we found 93 and 62 unique tower IDs. Furthermore, in each of the Seattle traces, there was a stable set of 4 strongest tower IDs that were visible during the entire trace, while the stable set in the case of the Bangalore traces comprised just the 2 strongest tower IDs. 6 We believe that the signicantly higher number of unique tower IDs seen in the Bangalore traces, and the consequent reduction in the stability of the set of towers seen, is due to the high density of the GSM deployment in India. For example, the inter-tower spacing in India is estimated to be 100 meters compared to the typical international micro-cell inter-tower spacing of about 400 meters [38]. The high density of towers seen in the Bangalore trace creates signicant diculties for prior RSSI-based localization algorithms. For example, the RADAR-based ngerprint algorithm, which outperformed other algorithms considered in [20] when applied to the traces from Seattle, requires that the tower signature (a set of, upto 7, tower IDs) seen by the phone at a given time exactly match the tower signature stored in the database. The matched database entries that are the closest in signal strength space are then used for localization. In the above Bangalore trace, given 93 available towers and a phone exposing only the strongest 7 tower IDs at any given time, the probability of an exact match of a current signature with that in the database is quite small (a 4% probability of match, based on training data from 23 drives over 12 days in Bangalore), making these algorithms ineective. On the other hand, the high density of visible tower IDs suggests that even simple localization algorithms, such as the strongest signal approach used, for example, in dense indoor WiFi settings [18], may be eective. Thus, in this paper, we focus on evaluating the eectiveness of a strongest signal (SS)-based localization algorithm. This algorithm relies on a training database that maps the tower ID with the strongest-signal to an average latitude/longitude posi5 Similar costs have been reported for GPS on Nokia N95 phones in [25] 6 Note that a single physical tower could be associated with several tower IDs corresponding to dierent sectors and frequency channels.
Table 7: Localization and Speed estimate errors for SS tion obtained via GPS. During localization, the phone simply looks up its current strongest tower ID in the training database and returns the corresponding latitude/longitude position as its estimate. Based on our traces, we nd that the probability of nding a match with SS is 96% compared to 4% for the exact match approach, as indicated above. We compute the localization distance estimate error of the SS algorithm using a rich collection of cellular traces from Bangalore. We use 23 drives over 12 days in Bangalore as training data for building the tower ID database and use 10 drives over 5 days for validation (see Table 1). The training data covers a signicant portion of roads in the heart of Bangalore city (see Figure 1) while the validation drives comprise a subset of these roads. We use GPS-based localization data, collected during the same drives, as the ground truth for computing the error in our location estimates. The median localization error for SS in these validation drives is only 117m while 90th percentile error is 660m. For comparison, the median localization error for SS using our limited Seattle area traces (training data of 4 drives, validation on 1 drive) was higher at 179m but, as shown in [20], sophisticated RSSI-based localization algorithms may be applied in this setting to reduce the median error to under 100m. Trac speed monitoring is a direct application of localization. Using the SS algorithm, the median and 90th percentile error in the speed estimates over 100 second travel segments in the Bangalore validation traces were 3.4 kmph and 11.2 kmph, respectively. The median and 90th percentile relative error in the speed estimates were 21% and 70% respectively. Note that the relative error is high because of the slow speed of trac in Bangalore. The accuracy in absolute terms (the 3.4 kmph and 11.2 kmph gures noted above) is arguably more important for it would determine our ability to distinguish between trac that is crawling on a congested road and moving freely on a fast road. The results for the Bangalore validation traces are summarized in Table 7. In conclusion, with a high density of cell towers, as is the case in many of the rapidly growing cities of the developing world, we believe a simple strongest signal-based algorithm can provide reasonably accurate and energy-ecient localization and speed estimates. Note that, if the training database is sparse or out-of-date, the SS-based localization may not nd a match in the database for a location estimation. In order to increase robustness, we have also designed and evaluated a Convex Hull Intersection (CHI)-based localization scheme that matches on subsets of towers seen currently rather than matching exactly as used in the SS scheme. For details, please refer to [35].
the GSM radio and the accelerometer as low-energy sensors, and GPS and the microphone as high-energy sensors (see Table 2). The GSM radio is always kept on. The GSM radio is then used in conjunction with the accelerometer to trigger GPS and/or the microphone when needed. Specic instances of triggered sensing in Nericell include the following: Localization: GSM-based localization is used to trigger GPS to obtain an accurate location x on a feature of interest. Consider a phone that detects a major pothole in the road using its accelerometer measurements (Section 5.4.3). Since it uses GSM-based localization by default, the phone has an approximate idea of the location of this pothole. The next time the phone (or another participating phone, assuming information is shared across phones) nds itself in the same vicinity based on GSM information, it triggers GPS so that an accurate location x is obtained on the pothole. The energy savings can be very signicant, depending on the specic setting. For example, if the GPS is triggered when the GSM location estimate is within 500 m of the desired latitude/longitude and turned o when the desired location has been passed, then on a 20 km long drive, GPS would need to be turned on only 3.2% of the time (averaged over 10 runs). Virtual reorientation: The accelerometer (Section 5.2.2) and also user activity detection (Section 5.3) is used to determine that a phones orientation may have changed and hence the virtual reorientation procedure needs to be repeated. GPS is then triggered at such a time to help detect the braking episodes needed for reorientation (Section 5.2.3). We could optimize this further by using GSM localization or the accelerometer to determine that the phone is likely in a moving vehicle (based on changes in the GSM/accelerometer measurements) before triggering GPS. Honk detection: Braking detection (Section 5.4.1) could be used to trigger honk detection. If signicant levels of braking as well as honking are detected, it might point to trac chaos. We defer an evaluation of these triggered sensing techniques to future work.
9. IMPLEMENTATION
We have implemented all of the algorithms described in the paper, most of these on the HP iPAQ smartphone running Windows Mobile 5. The virtual reorientation algorithm runs on the HP iPAQ by gathering measurements from the Sparkfun WiTilt accelerometer via a serial port interface over its Bluetooth radio. The algorithm is implemented in Python and C#. The audio honk detection algorithm also runs on the HP iPAQ. This is implemented in C# and invokes an FFT library for the discrete fourier transform and the Windows Mobile 5 coredll library for capturing the microphone input. The GSM localization algorithm is the only one that does not currently run on the iPAQ, since the iPAQ does not expose the necessary cell tower information. The cell tower information used in our traces is obtained on the rebranded HTC Typhoon phones based on reading a xed memory location, that has been obtained via reverse-engineering and is well-known [20]. The localization algorithms are currently implemented in Perl and can easily be ported to the iPAQ, if and when the necessary cell tower information becomes accessible. At this time, we have implemented a simple C#
8.
TRIGGERED SENSING
Besides making ecient use of individual sensors, there is the opportunity for energy savings by employing sensors in tandem. A low-energy but possibly less accurate sensor could be used to trigger the operation of a high-energy and possibly more accurate or complementary sensor only when needed. Of the sensors in our current prototype, we deem
Audio Honk Detection GPS Reorientation of accel values Bump & Brake Detection Accelerometer
reviewers of Sensys 2008 provided insightful comments that have helped improve this paper. We thank them all.
11. REFERENCES
[1] AirSage Wireless Signal Extraction (WiSE) Technology. http://www.airsage.com/wise.htm. [2] Bangalore Transport Information System. http://www.btis.in/. [3] California Center for Innovative Transportation: Trac Surveillance. http://www.calccit.org/itsdecision/serv and tech/Trac Surveillance/surveillance overview.html. [4] Freescale MMA7260Q Accelerometer. http://www.sparkfun.com/datasheets/Accelerometers/ MMA7260Q-Rev1.pdf. [5] Global cellphone penetration reaches 50 pct. http://investing.reuters.co.uk/news/articleinvesting.aspx ?type=media&storyID=nL29172095. [6] HP iPAQ hw6965 Mobile Messenger Specications. http://h10010.www1.hp.com/wwpc/au/en/ho/WF06a/ 1090709-1113753-1113753-1113753-111792512573438.html. [7] India adds 83 mn mobile users in a year. http://timesondia.indiatimes.com/Business/India Business/India adds 83 mn mobile users in a year/ articleshow/2786690.cms. [8] INRIX Dynamic Predictive Trac. http://www.inrix.com/technology.asp. [9] Intelligent Transportation Systems. http://www.its.dot.gov/. [10] Mobile boom helps India reach Internet goal before time. http://economictimes.indiatimes.com/articleshow/ 2341785.cms. [11] Nericell project webpage. http://research.microsoft.com/research/mns/projects/ Nericell/. [12] OnStar by GM. http://www.onstar.com/. [13] SmartTrek: Busview. http://www.its.washington.edu/projects/busview overview.html. [14] SparkFun Wireless Accelerometer/Tilt Controller version 2.5. http://www.sparkfun.com/commerce/product info.php? products id= 254. [15] Telecom Regulatory Authority of India (TRAI) Press Release, July 2008. http://www.trai.gov.in/trai/upload/PressReleases/ 592/pr25july08no67.pdf. [16] D. Burke et al. Participatory Sensing. In World Sensor Web Workshop, 2006. [17] L. Buttyan and J.-P. Hubaux. Security and Cooperation in Wireless Networks. Cambridge University Press, 2007. [18] R. Chandra, J. Padhye, A. Wolman, and B. Zill. A Location-based Management System for Enterprise Wireless LANs. NSDI, 2007. [19] R. Chang, T. Gandhi, and M. M. Trivedi. Vision Modules for a Multi-Sensory Bridge Monitoring Approach. In IEEE Intelligent Transportation Systems Conference, 2004.
Table 8: Energy requirement of Nericell during a drive program to obtain GPS information from the GPS receiver on the iPAQ and use this for our localization needs. Finally, we have also implemented detectors for identifying user interactions, thereby pausing accelerometer and microphone-based sensing when the sensor data is invalid. This implementation is on Windows Mobile 5, which provides the necessary hooks to intercept keypad and mouse events, and also access to call log information for both incoming and outgoing calls.
10. CONCLUSION
Nericell is a system for rich monitoring of road and trac conditions using mobile smartphones equipped with an array of sensors (GPS, accelerometer, microphone) and communication radios. In this paper, we have focused on the sensing component of Nericell, specically on how these sensors and radios are used to detect bumps and potholes, braking, and honking, and to localize the phone in an energy-ecient manner. We have presented techniques to virtually reorient a disoriented accelerometer and to use multiple sensors in tandem, with one triggering the other, to save energy. Our evaluation on extensive drive data gathered in Bangalore has yielded promising results. We have a prototype of Nericell, minus GSM-based localization, running on Windows Mobile 5.0 Pocket PCs. In future work, we plan to do a deployment of Nericell on a modest scale, perform experiments on multiple types of vehicles, and investigate the application of machine learning to robust honk detection.
Acknowledgements
Several people wrote useful pieces of code that we have borrowed in our prototype of TracSense: Ramya Bharathi Nimmagadda (detecting user interaction with a phone), Nilesh Mishra (extracting GSM tower information), and Pei Zhang (a rudimentary TracSense server). The drivers of Japan Travels as well as Kannan and Srinivas endured several hours of driving experiments with patience. Ranjita Bhagwan, Geo Voelker, our shepherd Sam Madden and the anonymous
[20] M. Chen, T. Sohn, D. Chmelev, D. Haehnel, J. Hightower, J. Hughes, A. LaMarca, F. Potter, I. Smith, and A. Varshavsky. Practical Metropolitan-Scale Positioning for GSM Phones. In Ubicomp, 2006. [21] Y. Cheng, Y. Chawathe, A. LaMarca, and J. Krumm. Accuracy Characterization for Metropolitan-scale Wi-Fi Localization. In MobiSys, 2005. [22] D. J. Dailey. SmartTrek: A Model Deployment Initiative. Technical report, May 2001. Report No. WA-RD 505.1, Washington State Transportation Center (TRAC), University of Washington, http://www.wsdot.wa.gov/Research/Reports/500/ 505.1.htm. [23] D. Ellis. Detecting alarm sounds. In CRAC workshop, Aalborg, Denmark, 2001. [24] J. Eriksson, L. Girod, B. Hull, R. Newton, S. Madden, and H. Balakrishnan. The Pothole Patrol: Using a Mobile Sensor Network for Road Surface Monitoring. In MobiSys, 2008. [25] S. Gaonkar, J. Li, R. R. Choudhury, L. Cox, and A. Schmidt. Micro-Blog: Sharing and Querying Content through Mobile Phones and Social Participation. In MobiSys, 2008. [26] H. Goldstein. Classical Mechanics, 2nd Edition. Addison-Wesley, 1980. (Section 4.4 on The Euler Angles, pp. 143148). [27] B. Hoh, M. Gruteser, R. Herring, J. Ban, D. Work, J.-C. Herrera, A. M. Bayen, M. Annavaram, and Q. Jacobson. Virtual trip lines for distributed privacy-preserving trac monitoring. In MobiSys, 2008. [28] D. Hoiem, Y. Ke, and R. Sukthankar. SOLAR: Sound Object Localization and Retreival in Complex Audio Environments. In IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP), 2005. [29] B. Hull, V. Bychkovsky, K. Chen, M. Goraczko, A. Miu, E. Shih, Y. Zhang, H. Balakrishnan, and S. Madden. The CarTel Mobile Sensor Computing System. In SenSys, 2006. [30] W. D. Jones. Forecasting Trac Flow. IEEE Spectrum, Jan 2001. [31] H. Kim, N. Moreau, and T. Sikora. Audio Classication Based on MPEG-7 Spectral Basis Representations. IEEE Transactions on Circuits and Systems for Video Technology, May 2004. [32] A. Krause, E. Horvitz, A. Kansal, and F. Zhao. Toward Community Sensing. In ACM/IEEE International Conference on Information Processing in Sensor Networks (IPSN), 2008. [33] J. Krumm and E. Horvitz. Predestination: Where Do You Want to Go Today? IEEE Computer Magazine, Apr 2007. [34] C.-T. Lu, A. P. Boedihardjo, and J. Zheng. AITVS: Advanced Interactive Trac Visualization System . In ICDE, 2006. [35] P. Mohan, V. N. Padmanabhan, and R. Ramjee. Tracsense: Rich monitoring of road and trac conditions using mobile smartphones. Technical Report MSR-TR-2008-59, Microsoft Research, 2008.
[36] V. Otsason, A. Varshavsky, A. LaMarca, and E. de Lara. Accurate GSM Indoor Localization. In Ubicomp, 2005. [37] A. Rahmati and L. Zhong. Context for Wireless: Context-sensitive Energy-ecient Wireless Data Transfer. In MobiSys, 2007. [38] T. V. Ramachandran. How should spectrum be allocated? The Economic Times, Nov 2007. http://economictimes.indiatimes.com/Debate/ How should spectrum be allocated/articleshow/2520807.cms. [39] B. L. Smith, H. Zhang, M. Fontaine, and M. Green. Cellphone Probes as an ATMS Tool. Technical report, Jun 2003. Smart Travel Lab Report No. STL-2003-01, University of Virginia, http://ntl.bts.gov/lib/23000/23400/23431/ CellPhoneProbes-nal.pdf. [40] A. Varshavsky. Are GSM Phones THE Solution for Localization? In WMCSA, 2006. [41] E. W. Weisstein. Euler Angles. MathWorld A Wolfram Web Resource. http://mathworld.wolfram.com/EulerAngles.html. [42] J. Yoon, B. Noble, and M. Liu. Surface Street Trac Estimation. In MobiSys, 2007. Appendix A: Estimating the Angle of Pre-rotation Since the only acceleration experienced when stationary or in steady motion is along Z, aX = 0 and aY = 0. For a well-oriented accelerometer, we would also have ax = 0 and ay = 0. However, for a disoriented accelerometer, the prerotation followed by the tilt implies that x and y would, in general, no longer be orthogonal to Z, so ax and ay would be equal to the projections of the 1g acceleration along Z onto x and y, respectively. To calculate this, we rst consider the pre-rotation and decompose each of ax and ay into their components along X and Y , respectively. Then when the tilt (about Y ) is applied, only the components of ax and ay along X would be aected by gravity. Thus after the pre-rotation and the tilt, we have: ax = cos(pre )sin(tilt ) and ay = sin(pre )sin(tilt ). So, ay tan(pre ) = ax which yields Equation 2 for estimating pre . Appendix B: Estimating the Angle of Post-rotation We can compute aX by running through the steps of prerotation, tilt, and post-rotation in sequence, at each step applying the decomposition method used in Appendix A. pre Starting with just pre-rotation, we have aX = ax cos(pre )+ ay sin(pre ) and aYpre = ax sin(pre ) + ay cos(pre ). After pretilt tilt is also applied, we have aX = a pre cos(tilt ) az sin(tilt ) and aYpretilt = aYpre (aYpretilt remains unchanged because the tilt is itself about Y ). Finally, after pretiltpost post-rotation is also applied, we have aX = aX = pretilt pretilt aX cos(post )+aY sin(post ). Expanding this we have, aX = [(ax cos(pre ) + ay sin(pre ))cos(tilt ) az sin(tilt )]cos(post )+[ax sin(pre )+ay cos(pre )]sin(post ). To maximize aX consistent with a period of sharp decelX eration, we set its derivative with respect to post , dpost , to zero. So [(ax cos(pre )+ay sin(pre ))cos(tilt )az sin(tilt )] sin(post ) + [ax sin(pre ) + ay cos(pre )]cos(post ) = 0, which yields Equation 3 for estimating post .
da