Map Matching For Intelligent Speed Adaptation
Map Matching For Intelligent Speed Adaptation
Map Matching For Intelligent Speed Adaptation
Nerius Tradi sauskas1 , Jens Juhl1 , Harry Lahrmann1 , Christian S. Jensen2 [email protected], [email protected], [email protected] Department of Planning and Development, Aalborg University, Denmark [email protected] Department of Computer Science, Aalborg University, Denmark
2 1
Abstract
The availability of Global Navigation Satellite Systems enables sophisticated vehicle guidance and advisory systems such as Intelligent Speed Adaptation (ISA) systems. In ISA systems, it is essential to be able to position vehicles within a road network. Because digital road networks as well as GPS positioning are often inaccurate, a technique known as map matching is needed that aims to use this inaccurate data for determining a vehicles real road-network position. Then, knowing this position, an ISA system can compare the vehicles speed with the speed limit in effect and react appropriately. This paper presents an on-line map matching algorithm with an extensive number of weighting parameters that allow better determination of a vehicles road network position. The algorithm uses certainty value to express its belief in the correctness of its results. The algorithm was designed and implemented for use in the large scale ISA project Spar p a farten. Using test data and data collected from project participants, the algorithms performance is evaluated. It is shown that algorithm performs correctly 95% of the time and is capable of handling GPS/DR errors in a conservative manner.
track the movements of vehicles is one of many such opportunities. Knowledge of a users position enables content providers to offer location-based services. Recently, the trafc research community has developed a substantial interest in Intelligent Speed Adaptation (ISA). ISA systems use a vehicles road network position to extract the speed limit in effect, thus enabling various solutions to prevent drivers from speeding. A digital road network with comprehensive speed limit information and the GPS position of a vehicle are used to determine the vehicles road network location. The allowed speed limit is then extracted from the digital road network and compared to the actual driving speed. If speeding occurs, depending on the ISA type, the system takes action that ranges from signaling the speeding to the driver through an information device to physically limiting the speed of the vehicle. It is very important to identify the correct speed limit, to increase the performance and user acceptance of the ISA system. ISA trial projects take place in many different countries around the world ([1, 2, 11, 12, 13, 18, 20]). After the selected availability (SA) was switched off in May 2000, GPS position accuracy improved dramatically. Using an off the shelf standard GPS receiver, the error can vary from 5 to 25 meters [5, 8, 19]. In urban areas, constructions such as high buildings, ramps, and tunnels obscure the line of sight to the GPS satellites, which may result in signal multipaths or even a loss of signal. This increases the positioning error or might lead to a complete blackout where no position is provided. To avoid a total loss of positioning, GPS 1
Introduction
The proliferation of mobile computing devices and the increased accuracy of Global Navigation Satellite Systems (GNSS) such as the Global Positioning System (GPS) open new opportunities for telematics applications. Systems to monitor and
is sometimes coupled with a dead reckoning (DR) unit that provides vehicle speed and movement direction information. Using sophisticated methods such as Kalman Filter [10], it is possible to fuse GPS and DR information to track the position of user quite accurately, even if the GPS positioning has been unavailable for some time. ISA systems are real-time systems, meaning that positioning on the road must be done every time a GPS/DR position is received. This is quite challenging, as GPS positions sometimes deviate from the actual vehicle location by more than 50 meters [10]. The real-time algorithm that performs the positioning in the road network is called an on-line map matching algorithm. This contrasts off-line map matching algorithms which are applied after a trip is over and all the positions from the start to end point are known. Off-line map matching is more accurate than on-line map matching, as more information (i.e., concerning the future movement) is available. Several proposals exist for on-line map matching. Quddus et al. [14] provide a summary of different on-line and off-line map matching algorithms and describe the disadvantages of each approach. The initial problem of map matching was perhaps rst dened by Berstein and Kronhauser [3]. Later followed improved techniques, by White et al. [6], that pay special attention to intersection area. Taylor et al. [15, 16] propose a novel map matching procedure that uses differential GPS. The proposed road reduction lter (RRF) algorithm uses differential corrections and height, which leads to improved performance. A complex off-line map matching algorithm was recently developed by Bratkatsoulas et al. [4] that uses the Fr echet distance to map match GPS data samples recorded every 30 seconds. We are not aware of any proposals of map matching algorithms for ISA systems. Rather, reports on ISA projects tend to concentrate on the social aspects, performance, and acceptability of the overall system. In contrast, we present an on-line map matching algorithm that has been shown to perform successfully in ISA trials [17]. The algorithm uses sophisticated map matching techniques covering a wide variety of parameters. It adopts a self-evaluation mechanism that uses a unique certainty value that reects the belief in the correct2
ness of the map matching. The paper presents a framework that includes a description of the general map matching steps; it covers certainty calculations for the map matching and execution time constraints; and it denes the speed map used and the ISA requirements for map matching. The performance of the algorithm is studied empirically using a large amount of data collected in various areas in the county of North Jutland, Denmark. These areas include different types of roads, e.g., city streets with nearby tall buildings, roads in forests, a tunnel (length: 582 meters), and open rural roads with good visibility. This variation is important to ensure a thorough evaluation. The paper is outlined as follows. Section 2 denes the framework and requirements for map matching in ISA systems. In Section 3, the proposed on-line map-matching algorithm is presented and explained in detail. A thorough analysis of the algorithm is provided in Section 4. Conclusions and possible directions of future work are covered in Section 5.
Various map matching techniques use similar procedures, digital map structures, and positioning data to locate the position of a moving vehicle in a road network. In this section, key aspects and quality assurance techniques in relation to map matching algorithms for ISA systems are described without dening a particular map matching algorithm.
2.1
Map matching algorithms usually have two phases (some algorithms skip a step or include an extra step). Some algorithms perform special operations to determine a better match for the rst GPS position data received. After the rst match is done, the subsequent map matching follows a standard map matching pattern. The algorithms can be divided into two basic parts: 1. Startup or identication of the initial polyline in the digital road network.
2. Tracking or identication of subsequent poly- step. The most usual approach is to select the point lines in the digital road network to form the on the polyline that is closest to the vehicle position. This is done by projecting a point onto polyroute along which the vehicle is moving. line. A more sophisticated approach proposed by In rst part, the initial map matching is done for Quddus et al. [14] uses the weighted average of two the rst GPS points received to determine the poly- points. This method includes the fusion of the disline in the digital road network on which the vehi- tance traveled since the last map matching and the cle is located. The correct outcome of rst step is GPS projection on the link. very important, as the algorithms use the link connectivity or road topology to determine the follow2.2 Map Matching Certainty ing polylines of the vehicles movement path. Some algorithms simply skip the initial polyline ISA system performance depends highly on the identication step and use a general map matching scale, accuracy, and completeness of the digital steps to process all the position data: road network map; on the accuracy of the GPS/DR 1. Extract the required information from posi- unit; and on the result of the map matching algorithm. The digital road network should contain all tion data received. polylines, and the polyline information should be 2. Select candidate polylines from the digital up to date with the real world. The GPS/DR unit performance depends highly on the satellite posiroad network. tion in the sky and their visibility from the vehi3. Use a specic algorithm for determining the cle location. The GPS accuracy is expressed in atmost suitable polyline among the candidate tributes available from the NMEA sentences emitpolylines. ted by a GPS receiver (SAT, representing the num4. Determine the vehicle position on the selected ber of satellites visible; HDOP, representing the horizontal dilution of precision; FOM, representpolyline. ing the gure of merit). If any of these parameters In the rst step, the information from the exceed threshold values, the probability of correct GPS/DR unit is extracted and converted to an ap- map matching is very low. The algorithm itself must provide information propriate format (unied coordinate and metric on how condent it is in its map matching resystem consistent with the digital road network). In the second step, the candidate polylines are sult. Due to low GPS signal quality, the algorithm selected. Usually the polylines that are within a should not make a map matching or express the represet threshold value from the vehicle position are sult as an unqualied guess. Sometimes there exselected. Another approach is to select the n poly- ist polyline selection problems, as there might be lines closest to the vehicle position and temporarily more than one polyline with weight values that are close to the highest weight. In such cases, the best store them as the candidate polylines. The third step uses specic algorithms and tech- candidate should be selected, but the doubt in the niques to select the best polyline among the can- correctness should be expressed, too. The certainty value can be used to handle outdidates. The most common approach is to use weights. Different weights for different attributes liers. Outliers are the position xes that do not are assigned to the polylines, and the polyline with match the pattern of traveling and usually involve highest sum of weights is selected. Some algo- sudden changes in heading as well as rapid posirithms use techniques that reduce the set of can- tion shifts. Greenfeld [7] and Quddus et al. [14] didate polylines. They lter out polylines that describe steps for how to handle outliers in an offare perpendicular to the vehicle movement direc- line algorithm. The main idea in previously protion [16] or that do not have an intersection with a posed solutions is to postpone the map matching of outliers and only map match them when the next previously map matched polyline. The nal step is to determine the vehicle posi- correct polyline has been identied. In an ISA systion on the polyline selected during the previous tem scenario, this is not possible as on-line map 3
matching is used. The best possible guess is re- conservative map matching algorithm must be implemented. quired at any time. A conservative map matching algorithm makes a careful and user-benecial selection of a poly2.3 Execution Time Constraints line and speed limit in a situation that is uncerThe map matching should be done in less than tain. Specically, a conservative map matching a second, which is the typical duration between algorithm should always select the right polyline two consecutive positions received from a GPS/DR (and speed limit) in certain situations, and it should unit. The limited computational power and mem- make a user-benecial polyline (and speed limit) ory capacity of an on-board unit (OBU) is to be selection in uncertain situations that incurs the lowsued to provide a position x for every received est loss for the system. Put differently, in these latGPS/DR point. In many cases, the retrieval of the ter situations, it should select the highest possible data from the GPS/DR unit and the working time of speed limit. map matching algorithm cause slight delays. Thus, estimation of a vehicles real position a few seca onds ahead on an estimated polyline can be per- 3 Map Matching for Spar p formed. farten
2.4
The map matching of a vehicles position onto a digital road network enables ISA systems to extract the proper speed limit. The speed limit must be stored in a map. The speed limits in the digital road network can be dened in various ways. The speed limits might be dened for each polyline, or they may be given by polygons covering areas with the same speed limit. Speed limits can also have a valid time, as some streets might be closed during the day and open by night, or the speed limits may 3.1 Setup and General Steps be lower at night than during the day. As an input, the map matching algorithm receives 2.5 ISA Requirements to Map Matching a position x from a GPS/DR unit every second. The GPS unit is a 12-channel receiver that sends all A map matching algorithm always returns one the information available, and the DR unit consists polyline and a position on that polyline. For ISA of an odometer that sends the vehicle speed value. systems, the speed limit associated with a polyline The polylines are extracted from a speed map of is also provided. In some cases, the map matching the county of North Jutland. All registered roads can be uncertain due to high GPS/DR positioning (road polylines) of the county have speed values error or multiple candidate polylines with weights assigned for each allowed movement direction. For close to the maximum weight. the rest of Denmark, only highway information is The wrong map matching of small number of stored. For all the other land areas in Denmark, GPS/DR positions for ISA system is not necessar- the speed limit is set to 80 km/h. For areas outily problematic as long as the speed limit on the side Denmark, no map matching and ISA control map matched polyline is the same as that of the is done. Map matching and other system maintereal polyline on which the vehicle is driving. In nance functions are performed by an OBU. The such a case, the correct speed limit is maintained. OBU has limited computational power (only inOtherwise, the wrong speed limit is selected, caus- teger representation, lack of trigonometrical funcing ISA system user irritation and dissatisfaction. tions) and limited main memory (up to few hunTo decrease and possibly avoid such situations, a dreds of kilobytes). The map matching algorithm 4
The map matching algorithm is developed for the Spar p a farten [17] ISA project that takes place in the county of North Jutland in Denmark. The project aims to reduce the speeding among young drivers. Drivers get OBU installed in their cars, and if they obey the speed limits, they get a discount on their car insurance. The Spar p a farten project uses the on-line map matching algorithm to detect the user position on the road and to select the right speed limit.
is performed within a second and consists of six ror code (via the certainty value). The ISA system is responsible for the graceful handling of situasteps (see Figure 1). tions where map matching is not possible. In the third step, the candidate polylines are identied. The algorithm selects at most the 12 polylines nearest to the vehicle GPS position. Due to specic the map format, candidate polylines can be no further than 750 meters away. These polylines are used to assign weights, and the one with the biggest overall weight is selected. If no candidate polylines are found within the threshold value, the map matching algorithm returns an error code via the certainty value.
(a) No intersection
(b) Intersection
Figure 1: Steps of map matching algorithm Initially, the data is extracted and converted to a common unit of measure. It is then checked whether the GPS data are reliable. This is done by comparing the GPS speed data with the odometer speed data. The allowed difference should not exceed a 5 km/h threshold. If the speed difference is within the allowed threshold, the angle direction change is checked. The direction change is a value representing the difference between the previous and current directions, and it is proportionally connected with the speed: direction change speed < 1000. This formula works only if the speed is expressed in km/h and the direction change is an angle in degrees. This equation checks that cars are not making turns with higher than 0.5G force. If a sharp turn is detected and the equation is violated, the GPS positions is most probably an outlier. If any of these checks fail, the algorithm stops the map matching of the current position and returns an er5
Figure 2: Polyline join example The fourth step checks the distance to the intersection point. Usually the end points of a polyline are located as intersections, but in the speed map we use, this is not the case. Some end points represent the start or end of a speed limit on given road (see 2(a)). Thus polyline end points that connect only two polylines with the same street code are not interpreted as intersection points. Only polyline end points that intersect with polylines that have different street codes are considered as intersections (see 2(b)). The street code represents the street real-world street name. If any intersection point is closer than the threshold value pardistknude from a given GPS position, the algorithm stops map matching and returns error code through the certainty value. The threshold value for pardistknude is by default set to 10 meters. If all the previous steps succeed, the map matching can be done. The algorithm proceeds to analyze the candidate polylines with different criteria,
assigning weights to each. The polyline with the highest nal weight value is selected and its matching certainty value is calculated. The bigger the difference between the two polylines with greatest weight and different speed values is, the more certain the map matching result is. The calculation of weights is explained in Sections 3.23.9. The last step of the map matching algorithm is to calculate the point position on the selected polyline. The vehicle position is acquired by simply projecting the point onto the selected polyline. If the point is projected to an extension of a polyline, the closest end point of the polyline is selected. As the output result, the algorithm returns the map matched position, the certainty value, and the speed limit of the polyline on which the vehicle is driving. The ISA system uses the latest securely map matched speed limit if map matching fails (due to the reasons mentioned above).
3.3
3.2
Weight W 2 is assigned to each polyline for being a continuation of the previously map matched polyline. This weight represents the reasoning that vehicles tend to drive on the same road most of the time. If the polyline has the same road number as the previously map matched polyline, the maximum weight of 30 is added. If the polyline is not an extension of the previous one, but has an end point near the GPS position, a weight of 10 is assigned. Otherwise, zero weight is assigned. if code(polyline) == code(previous polyline) then W 2 30 else if dist to intersection(point, polyline) < 20 then W 2 10 else W2 0 Algorithm 2: Calculation of weight W 2
A polyline is assigned a weight according to its proximity to the GPS point being map matched. It is natural to assume that the closer a polyline is to the point, the higher the assigned value should be. The distance used is that between the GPS point and the point on the polyline that is closest to the GPS position. Weight W 1 is assigned as follows: if dist(point, polyline) < parmaxdi then W 1 parcmaxdi + (parmaxdi dist(point, polyline))/2 else if dist(point, polyline) < parnuldi then aa parcmaxdi 100/(parmaxdi parnuldi) kk parcmaxdi aa parmaxdi/100 W1 kk + aa dist(point, polyline)/100 else W1 0 Algorithm 1: Calculation of weight W 1 Parameter parmaxdi and parnuldi is set to 10 and 80 meters, respectively. The formula assures that points that are closer than parmaxdi meters get the highest value. If the polyline is between parmaxdi and parnuldi meters away, the weight varies linearly, and zero weight is assigned if the polyline is further than parnuldi meters away from the GPS position. 6
3.4
Weight W 3 is assigned to polylines according to their speed limit value. A polyline that has the same speed limit value as the previously map matched polyline gets a non-zero weight value. The weight is calculated differently for two speed groups: city (all speeds limits that do not exceed 80 km/h) and highway (all speed limits that exceed 90 km/h). This variation was made to give higher weight values for the cars driving on a highway. Weight W 3 nicely complements weight W 2, as it assumes that cars are driving on the highway rather than exit from the highway. The odometer speed is selected as the vehicles speed. if speedlimit(polyline) == speedlimit(previous polyline) then if speedlimit(polyline) > 80 then W 3 20 + 20 odometer speed/80 else k 20 odometer speed/50 if k > 20 then k 20 W 3 20 + k else W3 0 Algorithm 3: Calculation of weight W 3
3.5
Polylines that represent one-way roads have zero speed limit in the direction in which it is prohibited to drive. A conservative approach is taken as there might be an error in the map. This weight also solves the problem of selecting the right polyline on highways. If a polyline is one-way and its direction is against the vehicle movement direction then weight W 4 is set to 100; otherwise, the weight is zero. if against direction(point, polyline) then W 4 100 else W4 0 Algorithm 4: Calculation of weight W 4
weight is added. The presence of a connection between the polylines through one or more intermediate polyline(s) is not taken into account, and the polylines are considered as non connecting. The weight is especially useful at intersection areas, as polylines that intersect with the map matched polyline get higher weights and become more likely to be selected. if intersect(f, polyline, previous polyline) then W 6f partopologi ccf actor/100 else W 6f 0 if intersect(b, polyline, previous polyline) then W 6b partopologi ccf actor/100 else W 6b 0 W 6 W 6f + W 6b Algorithm 6: Calculation of weight W 6
3.6
If the polyline with the shortest distance is not the polyline with the highest weight, a special weight W 7 is added. The initial value of this weight is 5, and its value is increased by 5 every time the same polyline is closest, but does not have the highest Algorithm 5: Calculation of weight W 5 weight. The weight is reset if the closest polyline In Algorithm 5 mod(angle, 90) returns an angle has changed. in the interval [0, 90]. This weight was added to avoid problems with
Polylines whose bearing is similar to the vehicle movement direction are assigned higher values for weight W 5. It is well known that GPS position dilution may occur when a vehicle is stationary [14]. To deal with this problem, we check the odometer speed. If the vehicle is stationary (speed is zero) then the direction of previous, non-stationary position is chosen. For highway polylines, a 4 degrees adjustment is made to produce better results at exit ramps. if odometer speed == 0 then dir(point) dir(previous point) if speed(polyline) > 80 then dir(point) dir(point) 4 W 5 150 (90 abs(mod(dir(point) dir(polyline), 90)))/90
The polylines that have a common intersection point have their weight increased by partopologi ccf actor/100 where partopologi is a parameter with a value of 150 and ccfactor is an average certainty value (dened in detail in Algorithm 9) for the last 5 map matched points. If the map matching is done for the rst time, ccf actor is assigned a default value of 5.
3.8
3.7
Weight W 6 for topology consists of two parts: forward and backward polyline connection similarities. The weight is added to polylines that have the same intersection point as the previously map matched polyline end point in the forward (or backward) vehicle movement direction. If the polylines have no common connection point, a zero 7
parallel roads. Figure 3 shows a vehicle that is moving from South to North (crosses represent GPS positions and dots represent map matched positions). After an intersection, the algorithm continues to map match the vehicle to road #1 because all the weight calculations favor that road. From point P5 , weight W 7 is added to road #2 and reaches value 20 at point P8 , which is sufcient to change the map matching result. This situation is common when a new road is built parallel to an old.
certainty value is [0, 100], where 0 represents the lowest and 100 represents the highest certainty. If the certainty value is below the threshold value, set to 25, the ISA system does not trust the map matching, and no actions for possible speeding are taken. certainty (max weight next max weight) 100/max weight if certainty <= 25 then Map matching is uncertain. Algorithm 9: Calculation of certainty value Figure 3: W7 weight example if closest polyline is not with the highest weight previous shortest polyline = shortest polyline then W 7 W 7 + 5 else W 7 0 Algorithm 7: Calculation of weight W 7 All the constant numbers in our individual weight calculation algorithms are selected to provide the best results for the given speed map of the county of North Jutland. Other maps or more tests with parameter values may lead to a different set of parameters that yield the best performance of the map matching algorithm.
3.9
Total Weight and Certainty Value Calculation This section reports on empirical evaluations of
the map matching algorithm. We rst analyze the map matching using a known route. We performed visual inspections to check the correctness of the map matching, and we report failures using statistical analysis. Second, we use data received from vehicles participating in the Spar p a farten project. This data covers much of the county of North Jutland. In both parts, the data used is real, and the map matching was performed while the vehicles involved were driving using project equipment. As the algorithm was specically developed for an ISA system, the most important criterion is the correct speed extraction from the digital road network.
Empirical Evaluation
The weights described so far are calculated for each candidate polyline, and a total weight is obtained by adding these up. The polyline with the highest total is selected. total weight W1 + W2 + W3 + W4 + W5 + W6 + W7 Algorithm 8: Calculation of total weight Once the above calculations for polylines are made, the polyline with the highest total weight is selected. Then vehicle position on the selected polyline is determined by projecting GPS point to the closest point onto the selected polyline. If the projection is made on the extension of the polyline, then the closest end point is selected. This algorithm was developed for an ISA system with the objective of extracting the correct speed limit. The certainty of the map matching is estimated by comparing the weights of two polylines. The total weight of the selected polyline (the polyline with the maximum total weight) is compared with the total weight of the polyline that has the greatest weight value and has a different speed limit. The bigger the difference between these two weights, the more reliable the map matching is. If all candidate polylines have the same speed limit, the certainty value is maximum. The range of the 8
4.1
Setting
The digital speed map covers the entire county of North Jutland, which has an area of 6, 170 km2 and approximately 22, 000 km of private and public roads. A total of 80% of these roads are rural roads and have a speed limit of 80 km/h [9]. In addition to these roads, also the national and county roads outside the county are contained in the map if they have a speed limit that exceeds 80 km/h. The Spar p a farten project is thus one of the rst ISA-projects that deals with a larger rural area.
Figure 4: Test tripthe vehicle was driving from West to East. The Spar p a farten project uses a 12-channel, single frequency GPS receiver and a vehicle odometer as the DR unit. GPS/DR unit information is received every second, and map matching is done using an on-board unit. The current speed information is displayed on a screen in the vehicle. If the map matching is uncertain or there are errors, the most recent speed limit is displayed in parentheses, and the ISA system takes no action in case of speeding. tions and decelerations (31.1%).
4.3
4.2
The test trip is 72 km long and starts in the Western part of the county and ends in an Eastern suburb of Aalborg (see Figure 4). The trip duration was 76 minutes and took place between 4 p.m. and 6 p.m. on the July 2, 2006. The average HDOP value is about 1.70, and the average number of satellites visible is 6.84. The test vehicle was driving on rural roads 90% of the distance and was driving on urban road the remaining distance. During the test, the certainty value was high (interval [26, 100]) 95.38% of the time. The map matching had low certainty (interval [0, 25]) during 0.11% (corresponding to 5 seconds) of the trip. No map matching was performed 4.5% of the trip due to errors (206 seconds). Most of the errors (63.6%) were due to a too high HDOP value. The other main error was a too big difference between the GPS and the odometer speed during fast accelera9
The data analyzed in this section is log data from the Spar p a farten project that has data from 50 participants that are located in the county of North Jutland. The dataset considered consists of nearly 10 million of GPS positions from the period from August 1 to December 1, 2006. The algorithm exhibits high performance and works well 95.30% of the time. The rest of the time (see Figure 6), the map matching certainty is considered to be insufcient; thus, the ISA system takes no action even if actual speeding occurs. In 4.39% of the total time, no map matching is done at all, which is due to errors. Figure 7 shows the distribution of the map matching errors. The value 1 is returned if no road near the GPS/DR position was found. The value 11 is returned when there is a too big difference between the odometer and the GPS speed values. The value 12 is returned if the direction change is too big for the given speed. The value 15 is returned when there are too few satellites to get a position. The value 16 is returned if the rst positions are blocked by a tunnel, a garage, or other outdoor objects. The value 17 is returned when the GPS speed exceeds 220 km/h. The value 18 is returned when the HDOP value is greater than 5
Figure 6: Distribution of certainty value, % and proper GPS positioning is unlikely to be possible. Finally, the value 99 is returned when the vehicle is driving outside Denmark. In Figure 7, it is seen that the main reason for no map matching is a too weak GPS signal, which is expressed as a high HDOP value (error 18). This can happen when driving between tall buildings in cities or on rural roads with nearby tall trees. Another reason for no map matching is the inability to nd a nearby road (error 1, 21.72%). This can occur when the HDOP value is high or when a rural road is missing from the map. The too high speed difference between the odometer and the GPS values (error 11, 17.30%) occurs due to fast acceleration or deceleration. The odometer
Figure 7: Distribution of map matching errors, % can show the speed instantly, while the GPS value lags a little. Yet another signicant reason for no map matching is the so-called side acceleration (error 12, 5.43%) due to too high vehicle direction changes at high speeds. These points most probably are GPS outliers and are thus skipped. The last four reasons occur in less than 2% of the cases and are not important. The maximum distance between the GPS/DR point and the map matched point with low certainty values (interval [0, 25]) reaches 150.62 meters; with high certainty values (interval [26, 100]), the distance reaches 154.43 meters. A high maximum map matching error can be caused by a vehicle driving on a road in a rural area that is covered
10
Figure 8: Map matching distance, % by tall trees and where there are no other roads to map match to. These are extreme cases and appear rarely in the test data. Figure 5 shows that the average map matching distance is 18.67 meters for low certainty values and only 9 meters for high certainty values. The overall map matching error for all map matchable certainty values (interval [0, 100]) is 9.04 meters. Figure 8 shows the relation between the map matching distance and the percentage of points covered by that percentage. It is seen that 78.70% of all map matched points have a matching distance that is less than 10 meters. It is also seen that 99.02% are map matched within 80 meters. Only less than 1% of extreme cases are map matched between 80 and 160 meters.
the ISA system takes no action to prevent speeding. The use of the certainty value also allows to deal with loss of the satellite signal and to handle GPS position outliers. The algorithm is designed to provide conservative, user-benecial speed limit selection when the certainty value is low. Initial tests were performed on individual vehicles while developing the algorithm and testing its parameters. The tweaked parameters are adopted for the road network of the county of North Jutland. Starting summer of 2006, the deployment of the Spar p a farten project began, and we currently have 50 participants. The volume of GPS position data allows thorough statistical evaluation and delivers new insights into the algorithms performance and the performance of the overall ISA system. Performance analyses show that the algorithm performs correctly 95% of time with an average map matching distance of just a bit above 9 meters. Based on data from the Spar p a farten project, we have identied areas where the algorithm can be improved. As part of future work, we will continue the analysis of data and map matching quality, and we will adjust the map matching parameters. We also aim to enhance the self-evaluation capability of the algorithm. Currently, no map matching is done when the GPS signal has errors. However, in some cases, map matching can be improved using odometer speed and traveled distance. Small hardware enhancements like the use of turn signal information would provide additional knowledge in situations near intersections and highway exits.
This paper denes an on-line map matching algorithm designed and implemented especially for ISA systems and currently being used in a large scale trialthe Spar p a farten project. The algorithm works on hardware with limited CPU and memory resources and yet performs within strict time constraints. The algorithm provides the best possible map matching. It extracts speed information for a map matched polyline and calculates a value that captures how certain the algorithm is that the speed limit is correct. In case of low certainty, 11
http://www.rws-avv.nl/prosper/ [4] Sotiris Brakatsoulas, Dieter Pfoser, Randall ISA_NVF2004_Peltola.pdf. Salas, and Carola Wenk. On map-matching vehicle tracking data. In VLDB, pages 853 [14] M. Quddus, W. Ochieng, L. Zhao, and 864, 2005. R. Noland. A general map matching algorithm for transport telematics applications. [5] Martin Brandi, Ole Runge Madsen, NikoGPS Solutions Journal, 7(3), pages 157167, laj Mller Nielsen, and Jesper Runge Mad2003. sen. INFATI Test af GPS-njagtighed og digitale kort med hastighedesgrnser. Technical report, Aalborg University, Den- [15] G. Taylor and G. Blewitt. Virtual differential GPS & road reduction ltering by map mark, 2001. http://www.trg.dk/ matching. In ION99, 1999. projekter/infati/notat4.pdf. [16] [6] C.E.White, D.Bernstein, and A.L.Kornhauser. Some map matching algorithms for personal navigation assistants. Transportation Research Part C, 2000. [17] G. Taylor, G. Blewitt, D. Steup, S. Corbett, and A. Car. Road Reduction Filtering for GPS-GIS Navigation, 2001. Aalborg Universitet, Nordjyllands Amt, and Topdanmark. Spar p a farten . http:// www.sparpaafarten.dk.
[7] Joshua S. Greenfeld. Matching GPS observations to locations on a digital map. 81th Annual Meeting of the Transportation Research [18] University of Leeds and the Motor IndusBoard, 2002. try Research Association (MIRA). Intelligent Speed Adaptation. http://www. [8] Paul Heide. INFATI Hardware og Softits.leeds.ac.uk/projects/isa/. ware. Technical report, Aalborg University, Denmark, 2001. http://www.trg.dk/ [19] US DoD. Global positioning system stanprojekter/infati/notat2.pdf. dard positioning service performance standard. October 2001. [9] Jens Juhl, Poul Heide, Harry Lahrmann, and Sonne Ian Berg. Spar p a farten . Technical [20] Alex van Loon and Lies Duynstee. Inreport, Aalborg University, Denmark, 2006. telligent Speed Adaptation (ISA): A Successful Test in the Netherlands. [10] L.Zhao, W.Y.Ochieng, M.A.Quddus, and http://www.rws-avv.nl/pls/ R.B.Noland. An Extended Kalman Filter Alportal30/docs/911.PDF. gorithm for Integrating GPS and Low Cost Dead Reckoning System Data for Vehicle Performance and Emmision Monitoring. The Journal of Navigation, 2003. [11] Monash University Accident Research Centre. In-vehicle ITS and Young Novice Driver Safety. http://www.monash.edu.au/ muarc/projects/its.html. [12] Monash University Accident Research Centre. Intelligent Speed Adaptation and Heavy Vehicles. http://www.monash.edu. au/muarc/projects/its.html. [13] Harri Peltola, Juha Tapio, and Riikka Rajamki. Intelligent Speed Adaptation (ISA) - recording ISA in Finland. 12