Hacker News new | past | comments | ask | show | jobs | submit login
Swipos-GIS/GEO, nationwide GNSS RTK correction for centimeter accurate location (admin.ch)
67 points by RedlineTriad 8 months ago | hide | past | favorite | 37 comments



It is worth mentioning that you can set up your own RTK installation buy grabbing 2 higher-end GNSS receivers¹, installing one of them in a fixed location with reasonable sky view, and measuring it in for a week or two. You can then feed correction data from that to your 2nd receiver. Search for RTKlib. (Some GNSS receivers even have built-in source & sink handling.)

Also, the GNSS software in most phones is sadly unable to accept the correction data from any of these systems, regardless of whether it's a nationwide network or your personal setup. This is purely a software limitation on the vendor GNSS stack, but sadly there is not enough demand for this. (An app will not fix this, we're talking vendor specific low level system code here.)

[¹] e.g. u-blox T/R series, but check specific descriptions about raw output/RTK capabilities, it changes between generations. You also want recent ones with RTCMv3, not RTCMv2.x.


> Also, the GNSS software in most phones is sadly unable to accept the correction data from any of these systems, regardless of whether it's a nationwide network or your personal setup. This is purely a software limitation on the vendor GNSS stack, but sadly there is not enough demand for this. (An app will not fix this, we're talking vendor specific low level system code here.)

I don't think that's true. Android surfaces raw GNSS measurements including carrier phase (sub wavelength measurements) to do centimeter level positioning through the raw measurements API [0].

There's even an API to specify the phone antenna phase pattern to correct the carrier phase measurements (source: I implemented it [1]). For those that aren't familiar, the idea is that the antenna pattern on phones isn't perfectly symmetrical, and depending on the direction of the incoming signal, it may appear longer. Knowing the antenna pattern, you can correct for this.

[0] https://developer.android.com/reference/android/location/Gns...

[1] https://developer.android.com/reference/android/location/Gns...


I wanted to play around with this! But too bad I have a Samsung Snapdragon :(

And it doesn't expose ADR/carrier phase.


Is that true even for the relatively new Android "raw GNSS" API? https://developer.android.com/develop/sensors-and-location/s...

I believe Google are using that themselves for their "urban canyon" GPS improvements: https://android-developers.googleblog.com/2020/12/improving-...


The API would provide pseudoranges and also the carrier phase on some phones, so it should be possible to calculate a solution with corrections.


Does this api improve on GPS drift?

Or is it up to the engineer to decide how to best to use these improvements?


The raw measurements API provides raw GNSS measurements so that somebody can implement their own position engine, and do things like RTK.

The corrections mentioned in the blog post are calculated by the phone (in Google Play Services, using Google's 3D building models) using the raw GNSS measurements, and provided back to the chipset to improve its position estimate (correcting for reflections and interference).


From what I can deduce, phone GPS just doesn't measure the proper signal data to do the correction. It's something like the offset of the signal frequency and timing.

It's not the software, it's the hardware.



I just learned that Switzerland has a nationwide RTK network for cm level positional accuracy using GPS, Galileo, GALILEO, and/or Beidou, GNSS systems. And they have a nice map of all the station locations[0].

It's a bit of shame that the pricing seems to be rather steep for frivolous use, but it seems to be rather new.

It would be interesting to see what possibilities a totally free nationwide RTK system would open up.

Swisstopo is a government organization that already provides many services like highly accurate maps for free.

[0] https://shop.swipos.ch/Map/SensorMap.aspx


> It's a bit of shame that the pricing seems to be rather steep for frivolous use

The pricing norms for RTK correction networks were set 20 years ago, when operating your own base station meant buying a second $20,000 dual frequency receiver, and taking an extra guy any time you go out to do a survey, whose job is just to guard the base station.

This made a $2000 a year network correction service seem like great value for money!

Some networks offer more affordable options these days - such as weekly and hourly licenses for drone pilots.


The swiss solution does come with per hour pricing but it's still 0.50 CHF / minute. Which is still very expensive for hobbyists.

I feel like the marginal costs for users is so low that it would be better if it were handled as a common good like GNSS systems themselves.


That is insane. My mower runs for ~100 minutes per day. This means 50CHF per day which as I see is around 50 euros. Home made base station cost with unicore gnss is around 220 euros…


The traditional use case was for surveyors to use it. In that regard it's pretty cheap.


This should be another crowdsourced sensor fabric network, like air quality sensors, AIS, ADS-B, distributed SDR, etc.


https://www.onocoy.com/ seems to be doing just that.

I have no affiliation, and no strong opinion on their specific approach, but I do find it interesting and have thought about running a node, especially since enjoying fiddling around with LoRa / Meshtastic.



We've got a ublox ZED-F9P feeding into that. Station name JasonWiebeDairy. We set it up for RTK for AgOpenGPS - a FOSS auto-steer/mapping/control for agriculture.


https://docs.centipede.fr/ Currently only really working in France and Hungary.


Finland has a free nationwide RTK network. It’s nominally only for testing and R&D use, tho, and you have to renew your account every three months.

https://www.maanmittauslaitos.fi/en/finpos/rtk

However, you can easily setup your own RTK base station for a few hundred bucks. Very convenient to use the free service to determine the static coordinates of your base station.


Luxembourg's RTK system is completely free to use: https://act.public.lu/fr/gps-reseaux/spslux1.html


In Portugal there are 2 already, one free and one paid. The free one was implemented almost 20 years ago.

It amazes me that a country like Switzlerland only now implemented such a service, and quite expensive, nonetheless.


It's been running since 2016 at least in Switzerland, I was using it back then. And well, nothing is cheap in Switzerland. :)


Which network in Portugal provides this service for free?


I'm not totally sure why, but it was free for nonprofit research (university) use until 1-2 years ago. Now it's still cheaper than for the rest of the users, but still very expensive also for researchers.


Andreas Spiess, the youtuber with a swiss accent, recently did a video on GNSS w/ RTK. https://www.youtube.com/watch?v=Oc1LBFDj2MA

Goes into detail about how to setup your own, join existing networks, even using fairly inexpensive tooling for your own RTK adventures.


I love his channel, and not only because of the accent. True no nonsense stuff. His videos about LoRa are brilliant.

I am especially gratefy for his video about power measurements of microcontrollers. It's really common sense for everyone with a little bit of electronics background but I've seen so many people (some who should have known better) just sticking a multimeter onto it and calling it a day that someone really explaining patiently and in simple terms, why this often does not really work is a godsend.


Sparkfun also has an interesting writeup on how you could set up a base station and feed into networks as well https://docs.sparkfun.com/SparkFun_RTK_Firmware/permanent_ba...


Many US states also have their own (free) CORS networks, primarily from transportation departments. NOAA helps keep track of them all. Not many of these are realtime unfortunately.

https://geodesy.noaa.gov/CORS/

US overview:

https://www.arcgis.com/apps/webappviewer/index.html?id=19038...


Real-Time Kinematic - Differential GNSS updates broadcasted by radio or other means that aid accuracy while moving. It was a Trimble (GPS) marketing term around 2000 just prior to SA that was able to defeat it and offer 10mm horizontal error and 1m vertical error.

Disclaimer: I worked on firmware on RTK radio gear.


There was a survey of available GNSS corrections services from a couple of years ago - some of these services are global and not limited to a single country:

https://medium.com/@mikehorton/what-is-a-mass-market-gnss-co...


I believe the various networks that supplement GPS/GNSS systems are called SBAS

(the USA has WAAS for aircraft)

and the fantastic opensource GPSTest app will show you what your device supports

https://github.com/barbeau/gpstest


You're confusing 2 different things here. SBAS gets you (roughly) from 5m to 1m, to meet requirements for aviation use. RTK gets you from 5m to <0.1m. Both use base stations to monitor deviations, but for RTK the base station is intended to be <100km from you and the data needs to have as little delay as possible. SBAS base stations are a few per continent & don't care about delay to the same degree.


The SB in SBAS stands for satellite based. RTK is ground station based.


It's always nice to see that RTK for-the-people is edging ever closer.

DIY kits from the likes of (no endorsement or vouching-for implied!) SparkFun and Ardusimple prove that the actual cost of basic entry to the tech is already under $2K, and probably under $1K.

It is a valuable ability for the average person to have available, because - whether we're talking about space, or time - everything benefits from accurate measurement.


In France and Hungary there is the centipede network https://docs.centipede.fr/


worth to mention … http://rtk2go.com/

RTK correction data is mainly free in Europe, just a hassle (eg state not nationwide) and a lot of paperwork todo, that’s why a lot of commercial providers exist…




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: