Survey of Autonomous Vehicle Tracking With GPS Navigation Systems
I for one, am very thankful for the Global Positioning System (GPS). While most animals in nature are born with an innate sense of direction, I was born with natural misdirection. That’s why I use my phone’s GPS to get everywhere I’m going. GPS is a relatively old technology that could find new uses in autonomous vehicles or cars with advanced driver assistance systems (ADAS). Everyone is busy trying to find the right mix of sensors to navigate by, and GPS is certainly going to be one of them. Once you know exactly how GPS works you can better understand its limitations and potential. That promise is shown in several emerging technologies that could use GPS to help automobiles drive themselves.
How Does GPS Work?
The United States government developed GPS back in the 80’s through the air force and maintains it to this day. Originally this system was only made available to the military and was used to guide boats, aircraft, or other vehicles. It uses a constellation of satellites that transmit data at precise times, which allows receivers to determine their position. In the past, the government degraded the signals available to the general public to reduce its accuracy. Now, that policy has ended and we are able to utilize the network to its full potential.
There are at least two dozen satellites that form the backbone of GPS. These satellites transmit three different signals: their ID codes, Ephemeris data, and Almanac data. Receivers on the ground need Ephemeris and Almanac data from at least 3 satellites to determine their location. The Almanac information gives the receiver a general idea of where satellites are in the sky and lets it estimate which ones should currently be visible. Once the receiver has connected with 3 or more satellites it uses the Ephemeris data, which contains a much more accurate location and time, to find its position. At least three satellites are required for that because the receiver’s 2D whereabouts are triangulated. In order to get a read on 3D location you’ll need to connect to a 4th satellite. Receiving data from more than 4 satellites will increase the accuracy of your tracking.
Before the 2000’s that accuracy was purposely limited by the US government. They didn’t want anyone to be able to use this system against them, so they attenuated the outgoing data randomly in order to limit its veracity. Back then a civilian GPS receiver could only calculate position to within 100 meters. Today the Air Force no longer interferes with GPS signals and we can use the satellite constellation to calculate location within 3 meters.
The GPS constellation orbits the Earth constantly.
GPS Limitations
GPS is an incredibly useful technology that has revolutionized travel worldwide. It does, however, lack some things that would make it particularly useful for autonomous vehicles. The first shortfall is its accuracy, which makes it unsuitable for most ADAS applications. The second problem is that it requires line of sight to satellites, which is not always possible when driving in cities.
While an accuracy of 3 meters is more than adequate for general navigation systems in cars, it’s not quite enough for ADAS features. If my car is going to change lanes by itself it can’t miss the lines by 9 feet, it needs to be within inches. There is no easy solution for this problem, though many people have worked out possible fixes.
There is also the problem of “urban canyons.” In many large cities tall buildings can block GPS signals. Since a receiver needs a line of sight to at least 3 satellites in order to calculate a rough location this is a big issue. If my car is piloting itself using GPS and suddenly loses 4/6 satellites I could crash. This problem is also a hard one to solve, but fortunately neither of these are insurmountable.
Urban canyons can block or distort incoming GPS signals.
Next Generation GPS
Despite its flaws, GPS is far too useful to give up on using. That’s why several technologies have been developed to solve, or at least mitigate, some of the accuracy and line of sight problems. These include things like: differential GPS, Precise Point Positioning, and multiple sensor fusion.
-
Differential GPS - This kind of scheme uses a base station with a known position to increase the accuracy of GPS. By using a signal coming from a precise point near the ground a receiver can determine its location within centimeters instead of meters.
-
Precise Point Positioning (PPP) - This method focuses on the calculation aspect of GPS in order to improve its accuracy. In order to enable PPP, you’ll need to use a dual-band receiver. By using two layers of satellite signals you can get centimeter-level precision. The downside is that PPP takes a lot of processing and time.
-
Multiple Sensor Fusion - Multi-sensor fusion is already common in the automotive world, and can also be applied to GPS. In this case an accelerometer can be paired with a receiver to keep tracking location when satellites are lost. This arrangement is already used to track units through tunnels and can be easily implemented for urban canyons.
GPS has been helping us get around since its inception. First tracking users down to 100 m and now to within 3 m, these receivers help me drive every day. Someday they might be able to drive for me, but some problems will have to be solved first. In order to be reliably used for ADAS features a GPS receiver will need to have centimeter accuracy and be able to continue tracking position even when it loses satellites. There are a variety of fixes available, but differential GPS requires physical base stations, and PPP takes a little too long to come up with results. At least the tracking problem should be solvable by integrating other sensors with GPS.
The problems that GPS faces are nothing compared with the complexities of developing software for ADAS enabled vehicles. Luckily there’s an easier fix for that than for GPS. TASKING has developed a variety of software tools that are specifically targeted for the automotive industry. Their products like standalone debuggers and static analysis tools can help you speed up your development and make your programs more efficient.
Have more questions about GPS? Call an expert at TASKING.