Patent Publication Number: US-8972179-B2

Title: Method and apparatus to analyze GPS data to determine if a vehicle has adhered to a predetermined route

Description:
RELATED APPLICATIONS 
     This application is a continuation-in-part of prior application Ser. No. 11/675,502, filed on Feb. 15, 2007 and issued as U.S. Pat. No. 7,680,595 on Mar. 16, 2010, the benefit of the filing date of which is hereby claimed under 35 U.S.C. §120. Prior co-pending application Ser. No. 11/675,502 itself is a continuation-in-part of prior application Ser. No. 11/425,222, filed on Jun. 20, 2006, and issued as U.S. Pat. No. 7,564,375 on Jul. 21, 2009, the benefit of the filing date of which is hereby claimed under 35 U.S.C. §120. 
    
    
     BACKGROUND 
     As the cost of sensors, communications systems and navigational systems has dropped, operators of commercial and fleet vehicles now have the ability to collect a tremendous amount of data about the vehicles that they operate, including geographical position data collected during the operation of the vehicle. 
     Vehicle fleet operators often operate vehicles along predefined and generally invariant routes. For example, buses frequently operate on predefined routes, according to a predefined time schedule (for example, along a route that is geographically, as well as temporally defined). Determining the performance of a driver operating on such a predefined route can be a tedious task. 
     It would be desirable to provide such fleet operators with additional means for evaluating driver performance using data (such as Global Positioning System (GPS) data) collected from vehicles traversing a predefined route. 
     SUMMARY 
     One aspect of the novel concepts presented herein is a method of using data collected in connection with operation of a vehicle to evaluate a driver&#39;s performance while traversing the predefined route. Such a method is intended to be used in conjunction with routes where a vehicle is tasked with arriving at a plurality of predetermined locations, such that the vehicle is intended to arrive at each predetermined location during a corresponding predetermined time window. 
     In at least one exemplary embodiment, position data from the vehicle is collected as the vehicle travels to the plurality of different locations, the position data identifying a specific geographical location of the vehicle at a specific point in time. Then the position data is analyzed to determine whether the vehicle was at each predetermined location during the corresponding predetermined time window. Next, an exception report is automatically generated for each instance that the vehicle was not at one of the plurality of predetermined locations during the corresponding time window. 
     In a related embodiment, the step of analyzing the position data to determine whether the vehicle was at each predetermined location during the corresponding predetermined time window includes the steps of determining an actual geographic position of the vehicle during each time window, and comparing the actual geographic position of the vehicle with the plurality of predetermined locations, such that an exception report will be generated when the actual geographic position of the vehicle during the time window does not correspond to one of the plurality of predetermined locations. If desired, no exception report can be generated if the vehicle arrived at the corresponding predetermined location early. 
     In another related embodiment, the step of analyzing the position data to determine whether the vehicle was at a predetermined location during a predetermined temporal window includes the steps of determining an arrival time that the vehicle arrived at each of the predetermined locations, and comparing the arrival time with the corresponding time window for that location, such that an exception report will be generated when the arrival time is not within the corresponding time window. Again, if desired, no exception report need be generated if the vehicle arrived at the predetermined location early. 
     In at least one embodiment, the position data is conveyed to a remote computer for analysis, such that analysis of the position data is performed externally of the vehicle. In a preferred but not limiting embodiment, the position data is available in a networked computing environment. In at least one embodiment, the position data is stored by a company offering data management services to its clients, and clients can access exception report data and position data for each of their vehicles. 
     In a preferred but not limiting embodiment, the position data is conveyed to the remote computer while the vehicle is traveling to the plurality of different locations, such that the analysis of the position data is performed in real-time, and the step of automatically generating the exception report for each location is performed in real-time. If desired, each exception report can be automatically forwarded to a dispatcher responsible for the vehicle via at least one of an email message, an instant message, a voicemail message, or a popup window on a computer assigned to the dispatcher. 
     Generally, a dispatcher or other manager is able to define the plurality of locations to be visited, and the corresponding time windows for each location. The time windows can be the same for each location, or different time windows can be assigned to each location. The duration of the time windows can be tailored to meet specific needs. A bus service, which is relied upon by commuters, may desire to define relatively narrow time windows (such as plus or minus several minutes), while a garbage removal service or parcel delivery may desire to define relatively broader time windows. 
     In addition to being implemented as a method, the concepts disclosed herein can also be implemented as a memory medium storing machine instructions that when executed by a processor implement the method, and by a system for implementing the method. In such a system, the basic elements include a vehicle that is to be operated by a vehicle operator, a route data collection unit (such as a GPS tracking device), a data link (which can be integrated into the GPS unit), and a remote computing device. In general, the remote computing device can be implemented by a computing system employed by an entity operating a fleet of vehicles. Entities that operate vehicle fleets can thus use such computing systems to track and process data relating to their vehicle fleet. It should be recognized that these basic elements can be combined in many different configurations to achieve the exemplary method discussed above. Thus, the details provided herein are intended to be exemplary, and not limiting on the scope of the concepts disclosed herein. 
     The above noted method is preferably implemented by a processor (such as computing device implementing machine instructions to implement the specific functions noted above) or a custom circuit (such as an application specific integrated circuit). 
     This Summary has been provided to introduce a few concepts in a simplified form that are further described in detail below in the Description. However, this Summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. 
    
    
     
       DRAWINGS 
       Various aspects and attendant advantages of one or more exemplary embodiments and modifications thereto will become more readily appreciated as the same becomes better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein: 
         FIG. 1  is a high level logic diagram showing exemplary overall method steps implemented in accord with the concepts disclosed herein to utilize geographical position data collected while a vehicle is traversing a route to generate optimal route data, which can avoid the use of route planning software; 
         FIG. 2  is a functional block diagram of an exemplary computing device that can be employed to implement some of the method steps disclosed herein; 
         FIG. 3  is a flow chart showing method steps implemented in an exemplary embodiment in which a driver inputs data identifying the route, to facilitate identification of the corresponding optimal route data; 
         FIG. 4  is an exemplary functional block diagram showing the basic functional component used to implement the method steps of  FIG. 1 ; 
         FIG. 5  is a schematic block diagram of a first exemplary vehicle configured to collect the geographical position data employed in the method steps of  FIG. 1 ; 
         FIG. 6  is a schematic block diagram of a second exemplary vehicle configured to collect the geographical position data employed in the method steps of  FIG. 3 ; and 
         FIG. 7  is a high level logic diagram showing exemplary overall method steps implemented in accord with the concepts disclosed herein, and summarized above, to utilize geographical position data collected while a vehicle is traversing a route to generate an exception report whenever a vehicle does not arrive at a predetermined location during a predefined time window. 
     
    
    
     DESCRIPTION 
     Figures and Disclosed Embodiments are not Limiting 
     Exemplary embodiments are illustrated in referenced Figures of the drawings. It is intended that the embodiments and Figures disclosed herein are to be considered illustrative rather than restrictive. Further, it should be understood that any feature of one embodiment disclosed herein can be combined with one or more features of any other embodiment that is disclosed, unless otherwise indicated. 
     As used herein and in the claims that follow, the term specific route is intended to refer to a route between a starting location and an ending location that is intended to be traversed a plurality of times. For example, bus operators generally operate buses on a number of different specific routes, which are generally differentiated by a route number. A bus Route  51  might connect a shopping mall and an airport, while a bus Route  52  might connect the airport to a university. Route  51  and Route  52  are each different specific routes. A specific route may include one or more intermediate locations disposed between the starting location and the ending location, such intermediate locations representing geographical locations that the specific route intersects. A specific route may change over time; with intermediate locations being added or deleted from time to time. For example, bus Route  51  between the shopping mall and the airport may add or eliminate various bus stops between the airport and the shopping mall over time, but despite such changes, that bus route remains Route  51 , a recognizable specific route. For any given specific route, there may be more than one possible path connecting the locations defining the specific route (a path being a set of geographical coordinates that can be navigated in a specific order to traverse a specific route). The term actual route data as employed herein and in the claims that follow refers to a set of data including the geographical coordinates (i.e., geographical position data) navigated by a vehicle as it traverses a specific route. Traversing a specific route using different paths will thus yield different actual route data. The term optimal route (and optimal route data), as used herein and in the claims that follow, refers to a set of data including the geographical coordinates corresponding to a particular path that has been identified as being preferred to other possible paths that can be used to traverse a specific route. In absolute terms, the optimal route may not be the best possible path, it simply is the path that has currently been defined as the optimal route. Preferably, when a better path is identified, the optimal route is redefined. Standards for evaluating whether one path (i.e., one set of actual route data) is better than another path are discussed in greater detail below. 
       FIG. 1  is a high level flow chart showing the overall method steps implemented in accord with one aspect of the concepts disclosed herein, to utilize geographical position data collected from a vehicle traversing a specific route to determine optimal route data for that route. In a block  10 , a vehicle is equipped with geographical position sensors (such as a GPS unit), so that geographical position data can be collected when the vehicle is being operated. In a block  12 , the vehicle is operated to initially traverse a specific route with the GPS unit activated, and collects geographical position data corresponding to the specific route. As noted above, various techniques can be used to determine the initial route (i.e., the initial path). For example, the initial route can be planned using maps, local knowledge of roads and traffic patterns, with the use of route planning software (although in at least one embodiment, no route planning software is employed), or some combination thereof. In a block  14 , the GPS data collected while traversing the route initially are stored (in at least one embodiment, the GPS data are stored as a “fingerprint” of different geographical positions encountered during traversal of the route) and are designated as the optimal route data (that is, it is assumed that the first traversal of the route corresponds to an initial optimal traversal of the route). Note that actual route data (i.e., GPS data) are used to define the optimal route. As noted above, in some embodiments, additional data collected while the vehicle traverses the route are included in the actual route data that is used to define the optimal route data. The additional data can include, but are not limited to, engine hours accumulated traversing the route, mileage traveled while traversing the route, engine temperature measured while traversing the route, oil temperature measured while traversing the route, coolant temperature measured while traversing the route, and engine RPMs measured while traversing the route. 
     In a block  16 , the route is subsequently traversed again, also using a vehicle equipped to collect GPS data, and this subsequent traversal generates actual route data. In a block  18 , the actual route data for the subsequent traversal are compared to the optimal route data. In a simple exemplary embodiment, such a comparison only determines the data that corresponds to the least time required to complete the route. If in a decision block  20 , it is determined that the subsequent route data represents an improvement over the optimal route data (i.e., if the actual route data for the subsequent traversal is more efficient than the optimal route data), the previous optimal route data are replaced with the subsequent actual route data (i.e., the subsequent route data then becomes the new optimal route data) in a block  22 . It should be recognized that many parameters other than time required to complete the route can be used to evaluate whether the subsequent traversal of the route was performed more efficiently than the alternative traversal of the route. Factors such as those identified above with respect to the additional data can be used to compare the optimal route data with subsequently obtained actual route data. Whenever an improvement is identified, the actual route data for the subsequent traversal of the route can automatically be applied to replace the optimal route data, or a route manager can be informed of the improvement, so that the route manager (or other pertinent individual tasked with making such a decision) can determine whether the optimal route data should be replaced with the subsequently obtained actual route data. Once the subsequently obtained actual route data are used to redefine the optimal route, then the method is ready to collect additional actual route data during yet another subsequent traversal of the route, as indicated by the link between block  22  and block  16 . 
     Referring once again to decision block  20 , if it is determined that the subsequent traversal of the route is not more efficient than the optimal route as defined by the optimal route data, then in a decision block  24 , it is determined whether any deviations between the optimal route data and the actual route data collected in the subsequent traversal have occurred. Such deviations can include missed stops, additional mileage required to complete the route, additional time required to complete the route, higher engine RPMs required during completion of the route, more fuel required during completion of the route, higher engine temperature reached during completion of the route, higher oil temperature reached during completion of the route, higher coolant temperature reached during completion of the route, and/or that a predefined boundary based on the optimal route was breached (for example, the driver ran a personal errand, or took the vehicle home rather than to a fleet yard). If so, then in a block  26  an exception report is generated. The method is then ready to collect additional actual route data for the next (i.e., yet another) traversal of the route, as indicated by the link between block  26  and block  16 . Note that generation of an exception report may result in a disciplinary action, if it is determined that a driver of the vehicle violated a fleet policy. In some cases, a deviation will be permissible, because the deviation was required due to traffic conditions, such as accidents or road construction. It should also be recognized that an exception report may not be generated until any deviation exceeds a predefined value. For example, a fleet operator may determine that any reduction in time required to complete a traversal of the route never requires an exception report (as such a reduction in time is generally considered beneficial). Other fleet operators may want exception reports generated even when the deviation represents an increase in efficiency, so that the route manager can study route data representing increases in efficiency. Still other fleet operators may allow deviations of up to a certain percentage change (or other predefined limit) before an exception report is issued, recognizing that regularly changing traffic patterns will cause subtle variations in the route data. 
     Referring once again to decision block  24 , if no deviation is identified, then the method is ready to collect additional actual route data for yet another subsequent traversal of the route, as indicated by the link between block  24  and block  16 . 
     Note that the method described above enables optimal route data to be initially defined, and then regularly dynamically updated when improvements are identified, without requiring the use of route planning software. It should also be recognized that some fleet operators may choose to intentionally vary a subsequent traversal of a route from the optimal route, in order to determine if the variation leads to an improvement. Such intentional variations can be instituted on a case-by-case basis (for example, when exception reports note a trend of decreasing efficiency over time, perhaps due to changes in long term traffic patterns, routes, or traffic volumes), or can be regularly (i.e., periodically) scheduled (e.g., on a weekly, bi-weekly, or monthly basis, it being understood that such intervals are intended to be exemplary and not limiting). 
     Fleet operators generally operate vehicles over a plurality of different routes. Several techniques can be used to enable optimal route data for a particular route to be correlated to actual route data collected during subsequent traversal of the route. The vehicle operator can input a route identifier (ID) into a data input device that is logically coupled with the geographical position sensor employed to track the vehicle&#39;s position as it traverses the route. The route ID can then be incorporated into the actual route data, such that when the actual route data are compared to the optimal route data, the route ID enables the corresponding optimal route data to be identified (because the corresponding optimal route data will include the same route ID). Alternatively, the actual route data can be compared to the optimal route data for all of the fleet operator&#39;s routes, until a best match is found. The geographical positions in each set of actual route data and in each set of optimal route data can be considered analogous to fingerprints, and conventional data processing techniques can be used to rapidly determine which set of optimal route data most closely corresponds to a set of subsequently obtained actual route data. Unless the subsequent traversal of a specific route varies significantly from the optimal route as defined by the optimal route data, the subsequently collected actual route data should be able to be matched to the corresponding optimal route data. It should be understood that the time window concept discussed in greater detail with respect to  FIG. 7  (where a route includes a plurality of destinations, and the vehicle is scheduled to arrive at each destination within a predetermined time window) can be used to define a route fingerprint as well, such that the time a vehicle was at a particular location can also be used to distinguish different routes from one another. 
     In general, analysis of the actual route data (i.e., comparing subsequently obtained actual route data to previously determined optimal route data) will be carried out by a remote computing device. The remote computing device in at least one embodiment comprises a computing system controlled or accessed by the fleet operator. The remote computing device can be operating in a networked environment, and in some cases, may be operated by a third party under contract with the fleet operator to perform such services.  FIG. 2  schematically illustrates an exemplary computing system  250  suitable for use in implementing the method of  FIG. 1  (i.e., for executing blocks  18 ,  20 ,  22 ,  24 , and  26  of  FIG. 1 ). Exemplary computing system  250  includes a processing unit  254  that is functionally coupled to an input device  252  and to an output device  262 , e.g., a display (which can be used to output a result to a user, although such a result can also be stored). Processing unit  254  comprises, for example, a central processing unit (CPU)  258  that executes machine instructions for carrying out an analysis of data collected in connection with operation of the vehicle to determine how closely a subsequent traversal of a specific route corresponds to the optimal route. The machine instructions implement functions generally consistent with those described above with respect to blocks  18 ,  20 ,  22 ,  24 , and  26  of  FIG. 1 , as well as those described below in a block  36  and a block  38 , with respect to  FIG. 3 . CPUs suitable for this purpose are available, for example, from Intel Corporation, AMD Corporation, Motorola Corporation, and other sources, as will be well known to those of ordinary skill in this art. 
     Also included in processing unit  254  are a random access memory (RAM)  256  and non-volatile memory  260 , which can include read only memory (ROM) and may include some form of memory storage, such as a hard drive, optical disk (and drive), etc. These memory devices are bi-directionally coupled to CPU  258 . Such storage devices are well known in the art. Machine instructions and data are temporarily loaded into RAM  256  from non-volatile memory  260 . Also stored in the non-volatile memory are an operating system software and ancillary software. While not separately shown, it will be understood that a generally conventional power supply will be included to provide electrical power at voltage and current levels appropriate to energize computing system  250 . 
     Input device  252  can be any device or mechanism that facilitates user input into the operating environment, including, but not limited to, one or more of a mouse or other pointing device, a keyboard, a microphone, a modem, or other input device. In general, the input device will be used to initially configure computing system  250 , to achieve the desired processing (i.e., to compare subsequently collected actual route data with optimal route data, to identify any deviations and/or efficiency improvements). Configuration of computing system  250  to achieve the desired processing includes the steps of loading appropriate processing software into non-volatile memory  260 , and launching the processing application (e.g., loading the processing software into RAM  256  for execution by the CPU) so that the processing application is ready for use. Output device  262  generally includes any device that produces output information, but will most typically comprise a monitor or computer display designed for human visual perception of output. Use of a conventional computer keyboard for input device  252  and a computer display for output device  262  should be considered as exemplary, rather than as limiting on the scope of this system. Data link  264  is configured to enable data collected in connection with operation of a vehicle to be input into computing system  250  for subsequent analysis to compare subsequent route data with optimal route data, to identify any deviations and/or efficiency improvements. Those of ordinary skill in the art will readily recognize that many types of data links can be implemented, including, but not limited to, universal serial bus (USB) ports, parallel ports, serial ports, inputs configured to couple with portable memory storage devices, FireWire ports, infrared data ports, wireless data communication such as Wi-Fi and Bluetooth™, network connections via Ethernet ports, and other connections that employ the Internet. 
       FIG. 3  is a high level flow chart showing the overall method steps implemented in accord with another exemplary embodiment for comparing subsequent route data with optimal route data, to identify any deviations and/or efficiency improvements. In a block  30 , a user (hereinafter referred to as the operator, since generally, the user will be the operator of the vehicle, although it should be recognized that other individuals, such as fleet maintenance personnel or supervisors can be assigned to carry out this and other tasks discussed herein) inputs route identification data into a memory, so that the route identification data can be combined with other data to generate a data set corresponding to a specific vehicle operated during a specific period of time. As noted above, such a route ID facilitates correlation of subsequently collected actual route data with previously identified optimal route data, enabling a comparison of the subsequent route data with the optimal route data to be made. In general, the memory can be incorporated into the vehicle (such as memory associated with an onboard computing device or a geographical positioning sensor, such as a GPS unit), or the memory can be associated with a portable electronic device (such as a portable electronic data collection device used by the operator to collect the other data). In a block  32 , operational data corresponding to operation of the vehicle are collected. This data will at least include the geographical position data that is included in the actual route data. As described in greater detail below, other data can also be added to the actual route data. The other data can be collected before the vehicle is operated over a specific predefined route (such as pre-trip vehicle inspection data), or the other data can comprise operational/vehicle parameters collected during operation of the vehicle over a specific predefined route (data such as brake temperature data, engine temperature data, coolant temperature data, and tire pressure data, although it should be recognized that such types of data are intended to be exemplary rather than limiting on the scope of this approach), or both types of data. In a block  34 , a data set (i.e., the actual route data) comprising the route ID data input by the operator, the geographical position data, and any other operational data (i.e., the other data—if used) is conveyed to a remote computing device via a data link. It should be recognized that, depending on the specific configuration of the vehicle, the data set can be conveyed after a trip over a specific predefined route has been completed, or in real-time while the route is being traveled by the vehicle (the real-time embodiment requires a vehicle to be equipped with a wireless communications data link) In a block  36 , the data set is analyzed to identify a specific predefined route over which the vehicle has been operated (i.e., the data set is parsed to identify the route ID, which is then used to identify a particular one of the plurality of predefined routes over which the vehicle traveled, to enable the corresponding optimal route data to be identified). In a block  38 , the corresponding optimal route data are compared with the actual route data, to identify any deviations and/or efficiency improvements. Generally as discussed above, if the actual route data represent an improvement over the optimal route data, the actual route data replace the optimal route data (i.e., a new optimal route is defined based on the subsequently collected actual route data representing the improvement). Exception reports can be generated to note any deviations between the subsequently collected actual route data and the optimal route data. 
       FIG. 4  is a schematic block diagram of exemplary functional components that can be employed to implement the method steps of  FIG. 1 . The components include a GPS unit  40 , a transmitter  42 , which may also have a corresponding receiver—not shown (or other data link), and a remote computing device  44  (generally as described above). It should be recognized that many GPS units are available that already incorporate a transmitter, such that a separate transmitter may not be required. It should be understood that the concepts disclosed herein can be used with other types of geographical position sensors/systems, and the use of the term GPS is intended to be exemplary, rather than limiting. 
       FIG. 5  is a schematic block diagram of an exemplary vehicle configured to collect the geographical position data employed in the method steps of  FIG. 1 . A vehicle  50  includes GPS unit  54  (which in this embodiment, includes a transmitter, although it should be recognized that a GPS unit without a transmitter can be coupled with a transmitter or other data link to achieve similar functionality). GPS unit  54  is coupled to ignition system  52 , so that geographical position data are collected only when the ignition system is on (this configuration is intended to be exemplary, but not limiting). 
       FIG. 6  is a functional block diagram of exemplary functional components of a vehicle employed to implement the method steps of  FIG. 3 . A vehicle  60  includes GPS unit  64  (which in this embodiment, includes a transmitter, although it should be recognized that a GPS unit without a transmitter can be coupled with a transmitter or other data link to achieve similar functionality). GPS unit  64  is optionally coupled to ignition system  68 , so that geographical position data are collected only when the ignition system is on (such a configuration is intended to be exemplary, but not limiting). Vehicle  60  further includes sensors  66 , and an ID data input  62 . 
     In general, route identification data input  62  comprises a keyboard or function keys logically coupled to GPS unit  64 . It should be recognized, however, that other data input structures (i.e., structures other than keyboards) can instead be implemented, and that the concepts disclosed herein are not limited to any specific identification data input device. The operator can also use a handheld electronic data collection device to scan a token that uniquely corresponds to a specific one of the plurality of the predefined routes. For example, the operator can be provided with a plurality of tokens, each of which uniquely corresponds to a different one of the plurality of predefined routes, such that the user selects the appropriate token, and uses the handheld electronic data collection device to scan the appropriate token to input the ID for the selected route. Many different tokens/sensor combinations can be implemented. Barcodes and optical scanners represent one combination, while radio frequency identification (RFID) tags and RFID readers represent another such combination. The advantage of a token/sensor combination is that the handheld electronic data collection device is not required to incorporate a keypad for entry of the route identification data. As a further alternative, the route identification data can be entered verbally, using voice recognition software that can recognize and interpret the verbal input. In embodiments where the route identification data are entered into a portable electronic data collection device, the portable electronic data collection device can also be employed to collect other operational/vehicle data (i.e., operational data other than GPS data, monitored by sensors  66 ). Alternatively, the other operation data collected from sensors  66  can be conveyed to an onboard computer, or to GPS unit  64 , to be combined with the GPS data and the route ID data, to provide the actual route data for transmittal to the remote computing device. The other operational data can include inspection data and/or data collected from sensors incorporated into the vehicle (e.g., sensors configured to collect data such as engine temperature data, oil temperature data, brake temperature data, tire pressure data, and tire temperature data, it being understood that such types of data are intended to be exemplary, rather than limiting). 
     It should be recognized that alternative configurations to enable the actual route data for a subsequent traversal of a specific route to be conveyed to a remote computer can be employed. For example, GPS data and the route ID data can be stored in an onboard computer, and then conveyed to a remote computer by a variety of different data links, including hard wired data transmission, wireless data transmission, and data transmission accomplished by carrying a portable data storage device from the vehicle to the site of the remote computer. The specific type of data link employed is not significant. Those of ordinary skill in the art will recognize that data can be communicated in a variety of different ways, including, but not limited to, via serial data ports, parallel data ports, USB data ports, infrared communication ports, Firewire ports, and/or using radio frequency transmitter/receivers that are linked in communication. 
       FIG. 7  is a high level logic diagram showing exemplary overall method steps implemented in accord with the concepts disclosed herein, and summarized in the Summary of Invention section above, to utilize geographical position data collected while a vehicle is traversing a route to generate an exception report whenever a vehicle does not arrive at a predetermined location during a predefined time window. 
     In a block  70 , a vehicle is equipped with geographical position sensors (such as a GPS unit), so that geographical position data can be collected when the vehicle is being operated. In a block  72 , a route including a plurality of predetermined locations is defined, with a time window being assigned to each predetermined location. The duration of the time window for each predetermined location can be varied to suit the needs of the user. An operator of a bus fleet will likely desire relatively narrow time windows (such as time windows on the order of a few minutes or less in duration), whereas an operator of a fleet of refuse collection vehicles may be comfortable with relatively broader time windows. The time window can be defined as a specific point in time T, plus or minus (or both) an amount X. 
     In a block  74 , the defined route is traversed using the vehicle equipped to collect GPS data or position data, which identifies a specific geographical location of the vehicle at a specific point in time. The resolution of the position data can vary. The position data can be collected every second, which will generate a relatively large data set. The position data can be collected every minute, which will generate a relatively smaller data set. These time resolutions are simply exemplary, and are not intended to be limiting. The time resolution controlling the frequency of the position data collection should be selected such that the frequency is smaller than the time window. 
     Once the position data is collected, it is automatically analyzed to generate an exception report whenever a vehicle does not arrive at a predetermined location during a predefined time window, using a computing device or a custom circuit. While the position data could be analyzed by such a processor onboard the vehicle, in general the position data will be conveyed via a data link to a remote computing device. If the position data is conveyed to the remote computing device in real time (by using a wireless data link) the analysis can be performed in real-time, to alert dispatchers of problems encountered in meeting the route schedule in real-time. 
     An exemplary analysis in indicated in a decision block  76 , wherein for each predetermined location it is determined whether the time window was met. If not, then an exception report is generated in a block  78 . The logic then terminates or loops back (as shown) to a block  74  where additional position data is collected. If in decision block  76  it is determined that the time window was met for the predetermined location, then the logic terminates or loops back (as shown) to a block  74  where additional position data is collected. 
     The exception reports have several uses. They may be used to counsel or discipline drivers who do not pay sufficient attention to executing their assigned routes properly. However, they can also indicate that the predetermined route is unworkable, and should be modified (perhaps due to changes in traffic patterns or weather conditions). 
     As discussed generally above, route ID data and data identifying specific drivers can be included in the position data, such that the exception reports can uniquely identify specific drivers and specific routes. 
     Although the concepts disclosed herein have been described in connection with the preferred form of practicing them and modifications thereto, those of ordinary skill in the art will understand that many other modifications can be made thereto within the scope of the claims that follow. Accordingly, it is not intended that the scope of these concepts in any way be limited by the above description, but instead be determined entirely by reference to the claims that follow.