Hacker News new | ask | show | jobs
by ajlburke 2683 days ago
I've done some work in "parallel worlds" overlaid on top of the real one by latitude/longitude, using the cool "ARCL" library - and the biggest headache I've found for location-based AR (instead of the type that just scans the room or a table) is that even little variations in GPS positioning can really interfere with the experience.

The first time you see virtual objects linked to a real-world place, it's magical - but that magic quickly goes away when everything suddenly shifts 10 (or 50) meters to the east because your device got updated GPS info.

I've become much more aware of how much "cheating" happens in driving / map apps to cover up these hiccups - ever take an exit and your map still shows you driving down the highway for a while? That kind of cheating probably won't work in an AR space.

This is technology that will no doubt improve, but it's definitely one of those "final 5% is 50% of the work" nuisances where just a small amount of inaccuracy can wreck the illusion.

6 comments

This is a Hard Problem because no fixed reference frame exists for registering position. For many applications we pretend that exists but with sufficient resolution (centimeter) the illusion of a fixed reference frame is shattered. Many companies, like Microsoft, want/need near pixel perfect registration. The challenge is worse than people imagine.

GPS positioning does not provide a fixed reference frame, even when it works as advertised, as it assumes some properties of reality are constant that are actually variable. But let's assume that it does provide a fixed reference frame for the sake of argument.

Physical objects are not fixed in any global reference frame. They can move quite a bit throughout the day, exhibiting significant Brownian and regular displacement relative to their mean position. No big deal, we'll just use a local reference frame, like the geometry of buildings and objects, right?

Local geometric relationships we treat as fixed are also quasi-randomized throughout the day. For example, the distance between two buildings can vary by centimeters over a day. With enough measurements you can sort of average out the local noise, but the precision is much worse than people find desirable.

We can't precision measure our way out of this problem because the things we measure don't sit still.

High-precision registration in physical reality is generally believed to be an AI-complete problem. This is a major hurdle for the vision of AR most companies have. You have a huge number of contradictory positioning cues, all of which are constantly changing, from which you need to synthesize a coherent positioning model that matches the one humans naturally perceive.

No, it's not an "AI-complete problem". It's just hard. With GPS for coarse position, inertial sensors for movement, depth sensing, and SLAM for fine position, it can work.[1] The drone industry and DARPA are working hard on this.[2] Right now, you can do it, but not with cell phone grade hardware.

[1] https://www.youtube.com/watch?v=iZ1psxcMvrQ [2] https://www.spar3d.com/blogs/the-other-dimension/nanomap-sla...

You can't build repeatable models of space for high-accuracy registration with big drone or car hardware either, I've worked with both. The geometry of space may rhyme but it never repeats. Those links don't address registration.

If you measure the environment with high-precision and use that to construct a geometric model of the space, and then come back a week later and measure it with the same instruments, the two spaces won't be congruent even for objects we normally think of as invariant, and the variability is sometimes surprising in magnitude. The noise floor for repeatable measurement out in the physical world is centimeters in most cases, regardless of the instrument precision used to measure it. This isn't a problem if you don't need particularly high-precision but people are inventing applications that do.

The software challenge is trying to position relative to previous measurements of the same space when the myriad positioning cues are contradictory. Knowing which of the totality of cues are relevant in context so that the software can appropriately adapt its positioning behavior to the change in geometry is the part that is usually deemed AI-complete by the people I know that have been working in the space a long time. There are many infamous example cases of humans being able to correctly register contradictory positioning information in context that we don't know how to algorithm our way out of currently.

Some of the drone work we did was actually measuring how the geometry of "fixed" spaces varies over time. The world around us moves a lot more than humans can perceive.

OK. I've never worked tighter than 15cm, for automatic driving, so I haven't seen that.
If you are able to: 1. Narrow down your GPS coordinate to within the nearest 50 meter radius (really crappy GPS signal.) BUT 2. Are able to use the physical structures surrounding the user to pinpoint the actual precise GPS coordinate. Which Google can do using streetview data.

Then you will be able to triangulate and locate the user quite accurately as long as they are above ground and outside.

And you get this: https://www.youtube.com/watch?v=XWbY5jdJnHg (Interestingly, this just came out today)

With the work that Google is doing for in-door-mapping, this might also work indoors as well as underground, I don't know.

But it seems like the location accuracy for location-based AR is being "solved" right now. Unfortunately, the way it's done can only be done by somebody like Google or a company who can afford to collect streetview level data (maybe Apple can afford to do the same here.)

[Edit] Plus, if you're talking about parallel worlds, Google could even use the Streetview data to potentially pre-render the alternate world over the real world and only send the data back the user after they manage to triangulate them. This way they don't need to do that in real-time, reducing the latency of rendering something over the real world structures.

> but that magic quickly goes away when everything suddenly shifts 10 (or 50) meters to the east because your device got updated GPS info.

"The principle of generating small amounts of finite improbability by simply hooking the logic circuits of a Bambleweeny 57 Sub-Meson Brain to an atomic vector plotter suspended in a strong Brownian Motion producer (say a nice hot cup of tea) were of course long understood – and such generators were often used to break the ice at parties by making all the molecules in the hostess’s undergarments leap simultaneously one foot to the left, in accordance with the Theory of Indeterminacy."

Have you tried turning off the Bambleweeny 57 Sub-Meson Brain?

Yeah, GPS alone is not enough.

This product uses an auxiliary GNSS antenna and software to provide centimeter level precision: https://sitevision.trimble.com/

This doesn't really make sense. GNSS is simply a reference to a receiver's ability to access any navigation constellation, that is, GPS, plus GLONASS, Beidou, and Galileo, operated by Russia, China, and the EU respectively.

Just about any modern GPS receiver in a dedicated device has this capability. This may not be the case for mobile devices for cost reasons. The Ublox NEO-M8N, for example can concurrently receive signals from 3 GNSS constellations and has a single unit price around $15.

The thing is, all those satellites don't necessarily help precision as they tend to cover different geographic regions. There aren't a lot of Beidou sats passing over the US, for example.

What does help are augmentation services like WAAS, SBAS, or EGNOS which provide regional GPS correction data originating from known, fixed points in the region.

Differential GPS works similarly and can offer greater precision, but requires a different receiver in a whole other part of the RF spectrum.

Finally, all this precision comes at a cost, that being time. If you want centimeter level accuracy it can take a fair bit of time to get a good fix. In my experience, a couple minutes with a good modern receiver.

That's very cool - thanks for sharing!
I might be oversimplifying this - couldn't companies that want to take part in the parallel world set up local sensors around their building to estimate position to a much more accurate degree?

I'm thinking along the lines of "Want to be a Pokemon gym? Place these devices around your public space and we'll overlay our AR reality while people are there!"

> everything suddenly shifts 10 (or 50) meters to the east because your device got updated GPS info.

Seems like you could 'debounce' GPS updates where you know it hurts to make changes. Not that different from maps' cheating. But the resolution of GPS and its challenges related to ground clutter will always be a thorn in the side of AR applications like this one.