# Patent

## Title
Position accuracy testing system

## Abstract

Accuracy of a positioning device may be determined without requiring the device to be at any specific location, such as a test location. Instead of comparing the reported location and directional data to a known location and directional data, the present technology may use multiple discrete location and directional reports for comparison with the reported data at multiple locations. The multiple comparisons are used to assess the relative accuracy of the positional telematics system. The reported location may be a GPS location or from another positioning system.

## Background
CROSS REFERENCE TO RELATED APPLICATIONS
The present application is continuation of and claims priority to U.S. patent application Ser. No. 13/681,083 filed Nov. 19, 2012 and entitled “Position Accuracy Testing System,” to be issued as U.S. Pat. No. 9,163,948 on Oct. 20, 2015, which claims the priority benefit of U.S. Patent Application Ser. No. 61/561,227, titled “Position Accuracy Testing System,” filed Nov. 17, 2011, the disclosures of which are incorporated herein by reference.


BACKGROUND OF THE INVENTION
Description of the Related Art
Positioning systems are used to determine the position of a device. One example of a positioning system is the Global Positioning System (GPS). GPS uses a series of space-based satellites to send signals which indicate the time the signal was transmitted, and the precise orbital information for the sending satellite. A GPS device receives the signals and determines the distance to each satellite. The distances to the satellites can be used with the known locations of the satellites to determine the location of the device.
Though the GPS system works well in theory, the accuracy of the readings from a GPS device may be affected by many factors. For example, distressed wires, improper installation, and other issues may affect the accuracy of the readings from a GPS device.
Methods exist for detecting the accuracy of a GPS device, but they have disadvantages. One method involves placing the device at a specific location, taking a reading from the device of the purported GPS coordinates, and comparing the reading to the known GPS coordinates for the specific location. Though this method provides a measure of the accuracy of the GPS unit at the specific location, it can be inconvenient to place the GPS device at the specific location—for example when the GPS device is used in a vehicle located a great distance away.
There is a need in the art for conveniently measuring the accuracy of GPS devices.
SUMMARY OF THE CLAIMED INVENTION
Accuracy of a positioning device may be determined without requiring the device to be at any specific location, such as a test location. Instead of comparing the reported location and directional data to a known location and directional data, the present technology may use multiple discrete location and directional reports for comparison with the reported data at multiple locations. The multiple comparisons are used to assess the relative accuracy of the positional telematics system. The reported location may be a GPS location or from another positioning system.
Accuracy of positional data may be determined by first selecting positional data points retrieved for a vehicle moving on a road to compare to geo-data points for the road. The positional data points may then be compared to the geo-data points. The accuracy of the positional data points may be determined based on the comparison.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1A illustrates an exemplary system for determining the accuracy of a GPS device.
FIG. 1B illustrates an exemplary application for processing GPS data.
FIG. 2 illustrates an exemplary method for determining the accuracy of a GPS device.
FIG. 3 illustrates an exemplary method for selecting GPS data to analyze.
FIG. 4 illustrates an exemplary method for comparing GPS data to geo-data.
FIG. 5 is a chart plotting distance vs. percentage of devices determined to be within a distance.
FIG. 6 is another chart plotting distance vs. percentage of devices determined to be within a distance.
FIG. 7 is a block diagram of an exemplary system for implementing a computing device.



DETAILED DESCRIPTION
The present technology determines the accuracy of a positioning device without requiring the device to be at any specific location, such as a test location. Instead of comparing the reported location and directional data to a known location and directional data, the present technology may use multiple discrete location and directional reports for comparison with the reported data at multiple locations. The multiple comparisons are used to assess the relative accuracy of the positional telematics system. The reported location may be a GPS location or another positioning system.
The present technology is useful in that the analysis may be conducted using locational and directional data collected from positional-equipped telematics systems which are actively used, such as vehicle tracking devices. As such, the vehicle trackers need not be brought to a specific location to determine the accuracy of the devices. Rather, the analysis may be performed based on past data collected for each device.
FIG. 1A illustrates an exemplary system for determining the accuracy of a GPS device. The system of FIG. 1A includes vehicle 110, positioning satellites 125 and 130, wireless tower 135, positioning server 140, network 145, network server 150 and application server 155.
Vehicle 110 may be any vehicle or device that may travel along a road which are associated with geo-data. A road as referred to herein may include a public road, private road, highway, freeway, residential street, driveway, or other thoroughfare on which a vehicle may travel. The vehicle may be an automobile, shipping truck, motorized cycle, or some other vehicle. The geo-data may identify the location, heading, and typical speed (or range of speed) associated with different points on a road, path, highway, or other travel route for the vehicle.
The vehicle may include a positioning device 115 and cellular communication system 120. Positioning device 115 may receive signals from one or more positioning satellites 125 and 130 and determine its location based on the received signals. The positioning satellites may be part of a global, national or local positioning system. For example, the positioning satellites may be part of the Global Positioning System (GPS), and the positioning device may be a GPS device. As a GPS device, positioning device 115 may receive a signal from multiple GPS satellites, process the signals to determine a location for each satellite, and determine a location for itself (and therefore the vehicle).
Cellular communication system 120 within vehicle 110 may receive data from positioning device 115 and communicate the positioning data in position coordinates (e.g., GPS coordinates), identification data and other data by cellular communication to cellular tower 135. Devices 115 and system 120 may communicate via a wired connection, wireless connect (e.g., a radio frequency connection), or both. Cellular communication system 120 may be attached to a vehicle 10, a device within vehicle 10 but associated with a user (e.g., a cellular phone), or other device capable of communicating over a cellular network. Cellular tower 135 may then communicate the location information received for vehicle 110 to positioning server 140, which may be a GPS server. Though cellular networks and communication systems are discussed herein, other communication networks may be used to communicate the GPS and identity data to an application, such as but not include satellite communication technology.
Network server 150 may communicate with positioning server 140 through network 145 and with application server 155. Network server 150 may be implemented as one or more servers implementing a network service. The network server may receive positioning data, perform preliminary processing on the data, and provide the positioning data to application server 155. Positioning server 140, network server 150, and application server 155 may be implemented using the computing device discussed below with respect to FIG. 7.
Network 145 may facilitate communication of data between different servers, devices and machines, such as positioning server 140, network server 150, and application server 155. The network may be implemented, for example, as a private network, public network, intranet, the Internet, a wide area network, a local area network, or a combination of these networks.
Application server 155 may be implemented as one or more servers, includes application 160 and may communicate with network server 150 and other devices (not illustrated in FIG. 1). Application 160 may receive positioning data associated with positioning device 115 and received from network server 150, process the positioning data along with geo-data, and provide accuracy information related to the positioning data. A method for determining the accuracy information is discussed in more detail below with respect to FIG. 2.
FIGS. 1B-7 are discussed with reference to a GPS system. It is intended that the reference to a GPS system is for discussion purposes only, and that other positioning systems can be used with the present technology.
FIG. 1B illustrates an exemplary application for processing GPS data. The application of FIG. 1B may provide more detail for application 160 of FIG. 1. Application 160 may include a GPS data selection module 162, geo-data management module 164, and data comparison module 166. The GPS data selection module 162 is stored in memory and may be executed to receive GPS data from positional server 140, select a portion of the GPS data to use in determining the accuracy of positional device 115, and perform GPS data management functions. Geo-Data Management Module 164 is stored in memory and may be executed to access and process Geo-Data for comparison and processing along with GPS Data, as well as perform other data management functions for the geo-data. Data Comparison Module 166 is stored in memory and may be executed to compare selective GPS data and Geo data and provide output through an interface of Application Server 155.
It is intended that each of modules 162, 164, and 166 may be made of one or more modules, may be combined, and that more or fewer software modules may be used for determining the accuracy of a positioning device 115. The modules may be stored and executed on application server 155, on a mobile device (not illustrated in FIG. 1A), or distributed over several computing devices (servers, mobile devices, and so forth).
FIG. 2 illustrates an exemplary method for determining the accuracy of a GPS device. The method of FIG. 2 begins with capturing GPS Data for one or more vehicles at step 210. GPS data may be captured using one or more positioning devices 115 on each vehicle 110. The GPS data may be captured for one vehicle or several vehicles, as well as one or more fleets of vehicles. Capturing the data may include receiving satellite signals at positioning device 115, determining a location for the positioning device 115 from the signals, and transmitting location information by cellular communication system 120 to positioning server 140.
The GPS data may be received at the application server at step 215. The GPS data captured at Vehicle 110 may be received by Application Server 155 via network 145 and network server 150. In addition to the GPS signal data, the GPS data transmitted from vehicle 110 to, ultimately, application 160 may also include the calculated location, heading and speed of positioning device 115. Vehicle identification information, positional device identification, and a time stamp for when the data was collected and may also be transmitted as GPS data to application server 160.
GPS data is selected for analysis as step 220. The selected GPS data may be most likely to be useful in detecting the accuracy of positioning device 115. For example, the selected GPS data may represent a location that is nearby an isolated location for which geo-data is available. Selecting GPS data to analyze is discussed in more detail below with reference to FIG. 3.
The selected GPS data is compared to corresponding geo-data to determine the accuracy of the positioning system associated with the GPS data at step 225. The comparison of the GPS data to the Geo-Data may be performed in any of one or more ways. For example, GPS data may include a location, heading and speed. The location and heading may be compared to geo-data location data and a heading derived from the direction of a road associated with the location. For example, at an isolated location not in proximity to other roads and at which the position data was collected for the moving vehicle, there is a low likelihood that the GPS data could be confused with a multiple roads. This allows for a more accurate comparison with geo data for the correct corresponding road. GPS speed data may be compared to expected speed information for a geo-data roadway. Comparing GPS data to corresponding Geo-Data is discussed in more detail with respect to FIG. 4.
Once the GPS data is compared to the corresponding Geo-Data, the GPS accuracy information is reported at step 230. The data may be reported in a variety of levels, for example by vehicle fleet, vehicle type, individual vehicle, position device installer, position device model, time of day, location of device, and other data. Some data, such as the mean accuracy and standard deviation of accuracy for speed and heading may be calculated by application 160. A sorting of the data by positional device installer may be achieved, for example, by accessing a table that correlates the installer for each positional device identification from which GPS data is received.
The method of FIG. 3 illustrates an exemplary process for selecting GPS data to analyze. Method of FIG. 3 provides more detail for step 220 of the method of FIG. 2. First, a GPS data point to be analyzed is selected at step 310. The GPS data point to be analyzed may be selected in a remote area having only one road within a threshold distance, such as fifty feet, a hundred feet, or some other distance. A determination is then made as to whether the location for the selected GPS point is within a threshold of a geo-data point location according to geo-data in step 315. For example, the selected GPS point may be 50 feet, 60 feet, 70 feet, 100 feet, or some other threshold distance away from the nearest point (on a road) in the geo-data. If the location for the selected GPS point is not within a threshold of a geo-data point, the selected GPS point is not used for comparing with the geo-data and the method of FIG. 3 ends with respect to that GPS point. Additional GPS data points may be selected and processed according to steps 315 through 335.
If the location for the selected GPS point is within a threshold of the geo-data point, a determination is made at step 320 as to whether the heading for the selected GPS point is within a threshold of a geo-data point heading at step 320. The heading threshold may be a certain range, for example within ninety degrees. The heading of the geo-data point may be determined from a series of points around the particular point being considered (for example, the line formed by adjacent points along the same road). If the heading for the selected GPS point is within a threshold of the geo-data point heading, the method of FIG. 3 continues to step 325. If the selected GPS point heading is not within a threshold of the geo-data point heading, then the selected GPS point may not be selected for comparison with the geo-data an the method ends at step 335.
A determination is made as to whether the speed for the selected GPS point is within a threshold of the geo-data point road speed at step 325. The speed for the GPS data points is communicated in the GPS data received from the positional device 115. The speed for the geo-data point may be entered manually, looked up in a table containing the posted speed limit for the road, or accessed in another manner. In some embodiments, the threshold may be set at 10 or 20% below of the posted speed limit, within 10 mph or 20 mph of the posted speed limit, or some other threshold. If the speed for the selected GPS is not within a threshold of the geo-data point speed, the GPS point is not selected for comparison at step 335. If the speed is within a threshold of the geo-data point speed, the selected GPS point will be used for comparison at step 330.
In the method of FIG. 3, three comparisons were performed to determine if a GPS point would be suitable to compare with geo-data point. Using all three comparisons was discussed for exemplary purposes only. Selecting GPS data to compare with geo-data may be performed using one, two or all three of the comparisons, as well as based on other comparisons or conditions which utilize the data available to application 160.
FIG. 4 is a method which illustrates an exemplary process for comparing GPS data points to geo-data points. The method in FIG. 4 provides more detail for step 225 in the method of FIG. 2. First, geo-data points are retrieved for a road at step 410. The retrieved geo-data points may include the one or more points within a threshold of the GPS data points (see discussion of FIG. 3) as well as surrounding points or points along the same road.
One of the selected GPS point locations is then compared to the nearest geo-data point location at step 415. The locations can be compared in terms of horizontal distance apart and vertical distance apart. The selected GPS point heading is then compared to a geo-data point heading at step 420. The GPS point heading is accessed from the GPS data transmitted from positional device 115. The geo-data heading data may be determined from multiple geo-data points for the same road. The speed for the GPS point is then compared to the speed of the geo-data point at step 425.
The difference for each comparison of steps 415-425 is recorded and the accuracy between the GPS point and geo-data is determined at step 430. The accuracy may be determined by several means. For example, the accuracy may be determined by calculating a percentage difference of the expected location of the geo-data and the actual location of the GPS data. The accuracy may also be determined by calculating the mean and standard deviation of the accuracy, calculated as a percentage difference, of several comparisons between the GPS data points and geo-data points along a road.
FIG. 5 illustrates a chart plotting distance versus percentage of devices that were determined to be within a distance of a geo-data road. As illustrated, over eighty-five percent of the positional devices sampled were determined to be within 10 meters from the geo-data road most closely associated with the GPS data points reported by the positional device. The present invention also reports that ninety-five percent of the positional devices provided data that was within 20 meters from the geo-data road.
FIG. 6 illustrates another chart plotting distance versus percentage of devices which are determined to be within a distance. As illustrated in FIG. 6, a particular vehicle, identified as “Veh 175203”, is associated with GPS data that is not as accurate as other vehicles (indicated by other lines in the chart of FIG. 6). As such, it is determined that the positional device installed on “Veh 175203” is likely not performing as intended, and the owner of the vehicle can be notified accordingly.
FIG. 7 illustrates an exemplary computing system 700 that may be used to implement a computing device for use with the present technology. System 700 of FIG. 7 may be implemented in the contexts of the likes of positional sever 140, network server 150, and application server 160. The computing system 700 of FIG. 7 includes one or more processors 710 and memory 720. Main memory 720 stores, in part, instructions and data for execution by processor 710. Main memory 720 can store the executable code when in operation. The system 700 of FIG. 7 further includes a mass storage device 730, portable storage medium drive(s) 740, output devices 750, user input devices 760, a display system 770, and peripheral devices 780.
The components shown in FIG. 7 are depicted as being connected via a single bus 790. However, the components may be connected through one or more data transport means. For example, processor unit 710 and main memory 720 may be connected via a local microprocessor bus, and the mass storage device 730, peripheral device(s) 780, portable storage device 740, and display system 770 may be connected via one or more input/output (I/O) buses.
Mass storage device 730, which may be implemented with a magnetic disk drive or an optical disk drive, is a non-volatile storage device for storing data and instructions for use by processor unit 710. Mass storage device 730 can store the system software for implementing embodiments of the present invention for purposes of loading that software into main memory 720.
Portable storage device 740 operates in conjunction with a portable non-volatile storage medium, such as a floppy disk, compact disk or Digital video disc, to input and output data and code to and from the computer system 700 of FIG. 7. The system software for implementing embodiments of the present invention may be stored on such a portable medium and input to the computer system 700 via the portable storage device 740.
Input devices 760 provide a portion of a user interface. Input devices 760 may include an alpha-numeric keypad, such as a keyboard, for inputting alpha-numeric and other information, or a pointing device, such as a mouse, a trackball, stylus, or cursor direction keys. Additionally, the system 700 as shown in FIG. 7 includes output devices 750. Examples of suitable output devices include speakers, printers, network interfaces, and monitors.
Display system 770 may include a liquid crystal display (LCD) or other suitable display device. Display system 770 receives textual and graphical information, and processes the information for output to the display device.
Peripherals 780 may include any type of computer support device to add additional functionality to the computer system. For example, peripheral device(s) 780 may include a modem or a router.
The components contained in the computer system 700 of FIG. 7 are those typically found in computer systems that may be suitable for use with embodiments of the present invention and are intended to represent a broad category of such computer components that are well known in the art. Thus, the computer system 700 of FIG. 7 can be a personal computer, hand held computing device, smart phone, mobile computing device, workstation, server, minicomputer, mainframe computer, or any other computing device. The computer can also include different bus configurations, networked platforms, multi-processor platforms, etc. Various operating systems can be used including UNIX, Linux, Windows, Macintosh OS, Palm OS, and other suitable operating systems.
The foregoing detailed description of the technology herein has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the technology to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. The described embodiments were chosen in order to best explain the principles of the technology and its practical application to thereby enable others skilled in the art to best utilize the technology in various embodiments and with various modifications as are suited to the particular use contemplated. It is intended that the scope of the technology be defined by the claims appended hereto.

## Claims

1. A computer-implemented method for determining accuracy of vehicular positional data, the method comprising:
receiving a first location dataset from a first positioning device associated with a first vehicle, the first location dataset identifying a first plurality of locations of the first vehicle generated by the first positioning device while the first vehicle traverses a route, wherein the first positioning device includes a Global Positioning System (GPS) receiver;
storing the received first location dataset in a memory of a computing device;
retrieving a second location dataset identifying a second plurality of locations along the route;
calculating a plurality of location accuracies, wherein each location accuracy is based on one of a plurality of location differences, wherein each location difference is a difference between one of the first plurality of locations and a corresponding location of the second plurality of locations;
calculating a mean accuracy of the first positioning device by calculating a mean of the plurality of location accuracies;
identifying that the first positioning device associated with the first vehicle is not accurate based on the mean accuracy of the first positioning device; and
transmitting a notification to the first positioning device associated with the first vehicle, the notification identifying that the first positioning device is not accurate.

2. The method of claim 1, further comprising calculating a standard deviation of the plurality of location accuracies, wherein identifying that the first positioning device is not accurate is based on the standard deviation of the plurality of location accuracies.

3. The method of claim 1, wherein the first location dataset also includes a first plurality of heading data points corresponding to the first vehicle while the first vehicle traverses the route, and wherein the second location dataset also includes a second plurality of heading data points along the route, wherein calculating the mean accuracy of the first positioning device also includes calculating a mean of a plurality of heading accuracies; and further comprising:
calculating the plurality of heading accuracies, wherein each heading accuracy is based on one of a plurality of heading differences, wherein each heading difference is a difference between one of the first plurality of heading data points and a corresponding heading data point of the second plurality of heading data points.

4. The method of claim 1, wherein identifying that the first positioning device is not accurate includes identifying that the mean accuracy of the first positioning device crosses a pre-determined threshold value.

5. The method of claim 4, further comprising calculating a standard deviation value associated with the mean accuracy of the first positioning device, wherein the pre-determined threshold value is based on the standard deviation value.

6. The method of claim 1, wherein the notification identifies the mean accuracy of the first positioning device.

7. The method of claim 1, wherein identifying that the first positioning device associated with the first vehicle is not accurate is based on identifying that the mean accuracy of the first positioning device is not as accurate as a second mean accuracy of a second positioning device associated with a second vehicle.

8. The method of claim 7, wherein the first vehicle and the second vehicle are of a same vehicle type, are in a same vehicle fleet, or some combination thereof.

9. The method of claim 1, wherein the GPS receiver of the first positioning device generates the plurality of locations of the first vehicle based on receipt of one or more wireless communications from one or more GPS satellites.

10. The method of claim 1, wherein the first location dataset also includes a first plurality of speed data points corresponding to the first vehicle while the first vehicle traverses the route, and wherein the second location dataset also includes a second plurality of speed data points along the route, wherein calculating the mean accuracy of the first positioning device also includes calculating a mean of a plurality of speed accuracies, and further comprising:
calculating the plurality of speed accuracies, wherein each speed accuracy is based on one of a plurality of speed differences, wherein each speed difference is a difference between one of the first plurality of speed data points and a corresponding speed data point of the second plurality of speed data points.

11. The method of claim 1, wherein the first positioning device is located in the first vehicle.

12. The method of claim 1, wherein the first location dataset is conveyed from the first positioning device via a cellular network.

13. The method of claim 1, wherein the second plurality of locations along the route are generated by one or more secondary positioning devices corresponding to one or more secondary vehicles.

14. A system for determining accuracy of vehicular positional data, the system comprising:
a communication transceiver that receives a first location dataset from a first positioning device associated with a first vehicle, the first location dataset identifying a first plurality of locations of the first vehicle generated by the first positioning device while the first vehicle traverses a route, wherein the first positioning device includes a Global Positioning System (GPS) receiver, wherein the communication transceiver also receives a second location dataset identifying a second plurality of locations along the route;
a memory to store instructions; and
a processor coupled to the memory, wherein execution of the instructions by the processor causes the processor to:
store the received first location dataset in the memory,
calculate a plurality of location accuracies, wherein each location accuracy is based on one of a plurality of location differences, wherein each location difference is a difference between one of the first plurality of locations and a corresponding location of the second plurality of locations,
calculate a mean accuracy of the first positioning device by calculating a mean of the plurality of location accuracies,
identify that the first positioning device associated with the first vehicle is not accurate based on the mean accuracy of the first positioning device, and
transmit a notification to the first positioning device associated with the first vehicle, the notification identifying that the first positioning device is not accurate.

15. The system of claim 14, wherein the first location dataset is conveyed from the first positioning device via at least one of a radio frequency wireless transmission or a cellular network wireless transmission.

16. The system of claim 14, further comprising the first positioning device, wherein the GPS receiver of the first positioning device generates the plurality of locations of the first vehicle based on receipt of one or more wireless communications from one or more GPS satellites.

17. The system of claim 14, wherein the second plurality of locations along the route are generated by one or more secondary positioning devices corresponding to one or more secondary vehicles.

18. The system of claim 14, wherein execution of the instructions by the processor causes the processor to calculate a standard deviation of the plurality of location accuracies, wherein identifying that the first positioning device is not accurate is based on the standard deviation of the plurality of location accuracies.

19. The system of claim 14, wherein identifying that the first positioning device is not accurate includes identifying that the mean accuracy of the first positioning device crosses a pre-determined threshold value.

20. A non-transitory computer readable storage medium of a computing device having embodied thereon a program, the program being executable by a processor of the computing device to perform a method for determining accuracy of vehicular positional data, the method comprising:
receiving a first location dataset from a first positioning device associated with a first vehicle, the first location dataset identifying a first plurality of locations of the first vehicle generated by the first positioning device while the first vehicle traverses a route, wherein the first positioning device includes a Global Positioning System (GPS) receiver;
storing the received first location dataset in the non-transitory computer readable storage medium of the computing device;
retrieving a second location dataset identifying a second plurality of locations along the route;
calculating a plurality of location accuracies, wherein each location accuracy is based on one of a plurality of location differences, wherein each location difference is a difference between one of the first plurality of locations and a corresponding location of the second plurality of locations;
calculating a mean accuracy of the first positioning device by calculating a mean of the plurality of location accuracies;
identifying that the first positioning device associated with the first vehicle is not accurate based on the mean accuracy of the first positioning device; and
transmitting a notification to the first positioning device associated with the first vehicle, the notification identifying that the first positioning device is not accurate.