GPS – GNSS – RTK – IMU
Who is who?
What are all these abbreviations? Aren’t they synonyms? Mhh, well in some places you can say IMU and it will cover all of the above, but in most other places people will be confused. So let’s sort this out, step by step.
GPS = Global Positioning System, this what we all knew and thought thats the satellites in the orbit, giving us location info. Not. First its full name is NAVSTAR GPS, and this beautiful name is of course an acronym for Navigational Satellite Timing and Ranging – Global Positioning System. And this system is owned by the US Department of Defense. And as such, it is covering the areas of interest for the US. Also the US can alter, change or deactivate the system at any time. That concerned users, most military users around the globe. The only solution was to launch own satellites into the orbit. Which many countries have done. And thats where the naming-confusion began. You maybe have heard about Galileo, Beidou or GLONASS? These are in fact other countries “NAVSTAR-GPS”. Thats why we came up with a new name for all of them: GNSS = Global Navigation Satellite System
When using such devices you may want to pay attention which GNSS your device can receive and process. You also should take a closer look to where you are and what time it is. There is not a particular good coverage of GPS satellites in Sweden under wintertime around noon, for example. When we tried running tests with some US receivers that only could “see” GPS satellites we had a very small test window of one hour, during noon, where we had 4 satellites at maximum in view. Modern receivers for non-military use usually cover several GNSS but make sure your equipment and your test location match!
Satellites in sight?
Why is that important? Isn’t one enough to send us the location? Nope! These satellites are not even sending positions. Actually they are just sending their name and the date. Time and date. Thats all. The receiver on earths surface then collects as many satellite transmissions as he can get and calculates its own position based on that info. You guessed right, it is a pretty advanced calculation and you would need to know which satellite used to be when on which orbit so that you can triangulate your own position by the differences is actual time transmitted by the satellites. The bare minimum to make this possible is 4 satellites! But wait… its the minimum! Its getting a lot better, more stable and faster with 7-12 or even more satellites. Thats what we normally use as lower trigger point to stop measurements, 7 satellites. And still, with only this kind of measurement we “only” reach 10m accuracy.
Getting it more right
But how can standard GNSS systems dive into the 1m-accuracy domain? With a very neat trick actually. Instead of only using the time information of the satellites these devices also use the carrier phase and even the phase shift between the signals transmitted from the satellites to improve the calculation! And this requires very fast hardware, which is why it is not that long ago that standard GNSS devices have gotten so much better. But thats only meter accuracy, nice for smartphones, but actual measurements?
Getting it really right
Back in the day, we recorded our GPS traces and reprocessed them a few days later. Because it took a day or two to get the actual satellite positions from the server. This data was slow, expensive and hard to work with. Especially when huge sets of data needed to be reprocessed / corrected. This is still done today for some measurements (Geology/Construction) but not that common anymore in the automotive domain. Mostly because we are not that interested into our absolute position on the planet. More like in our relative position towards other objects. Like the distance between two vehicles, or a vehicle and the certain parts of infrastructure. Thats where we talk about RTK = Real Time Kinematik. Here we use a base station, with known location. This base station needs to “see” the same satellites as our mobile measurement rover. Than the receiver can calculate its position relative to the base station by the deviations in the signals received, and we are down to 1-2cm accuracy.
Getting it wrong again
In theory we are around 1-2cm accuracy. Given a good data transfer from the base station to the rover (the protocol for that is called NTRIP btw.), good visibility of enough satellites for both receivers and no bigger deviations on the satellites orbits as well as no atmospheric events (clouds, pressure changes, etc). Ahh, and we should also just move horizontally. Not that I want to get into flat-earth-theory here, but the accuracy is best in the horizontal plane. Steep hills make it quite hard to get the position right. Which is why many GNSS systems use preloaded maps, which help to interpret the location info. But for use on construction and automotive testing sites, at sea or even in air this alone will not do the trick!
Closing in on the real deal
So how can we track movement of planes, vessels, cars, people, dummies, robot platforms? We use a IMU = Inertial Measurement Unit. These device usually can measure specific force and angular rates. That would require a 3-axis accelerometer(Fx,Fy,Fz) and a 3-axis gyroscope (Pitch, Roll, Yaw) and would get us 6-DOF IMU. Meaning a 6 degrees of freedom inertial measurement unit. Many systems also use a magnetometer to catch the earths magnetic field and also barometric sensors to calculate the altitude. Thats why you can find tech specs naming 9-DOF IMU. Now we have quite a lot of sensor data, with different sampling speeds, different errors, different drifts. We just add some math in form of a Kalman filter to fuse all of this data and we get: quite reliable positioning! How reliable? Well- it depends- you can guess you would like to tune the math quite differently regarding if you want to position a plane (having fast changes in Z direction) or a vehicle test platform (almost only moving in X and Y and also at low speeds). Thats why you often need to choose the application in the setup menu of your device. Thats also why there are more options to your filters and sometimes even more than just Kalman to choose from.
How difficult is it really? We all have been there, days of setup work and still no good data. And not to mention a particular red device from GB…. Some of these units are really so advanced that the setup for a beginner can easily turn into a task for several weeks. But we learned that the “military grade” IMU we all use that often in Automotive is quite overkill for many tasks. So we took a 10 times (!) cheaper device, in the around 4.000 EUR area and set it up for a nice demonstration what you could do with a full blown industrial IMU with RTK GNSS.
The XSENS MTi-680G GNSS/INS comes with a very easy and modern software. This software can also manage NTRIP data. But wait- from where do we get the RTK data without a base station? The good news is: There are several services that provide base station data for you! These services run properly over 4G/LTE networks. In the video below you see the MTi-680G device with its antenna connected on top in Michaels right hand. This device is connected by cable to a computer running the XSENS software. Connected over a mobile WiFi hotspot the software on the computer grabs data from a base station nearby, sends it to the MTi680 device, which than performs all calculations and sends its own position on the planet back to the computer (CAN and USB), where we can process and record this data.
So how to showcase the amazing accuracy of such system? Do the worst thing possible: Use it near buildings, cars, in complex terain and also only make only very small movements holding it loose in one hand. Enjoy the movie: Paint by numbers for engineers!