1
votes

I am mapping real-world coordinates to the ARKit/SceneKit world and I am finding that at times, the rotation of the world is off.

My understanding that is that when using the following configuration, true north is -Z.

let configuration = ARWorldTrackingConfiguration()
configuration.worldAlignment = .gravityAndHeading

Also True North can only be calculated by knowing your current location. I am assuming that the GPS location is taken to a certain accuracy and applied to find out the True North heading.

I would like to know what accuracy ARKit uses in order to decide whether I need to perform some sort of offset or average and adjust the camera to compensate.

If the heading is off then items that are a few hundred metres away will tend to be noticeable. Also if the GPS location accuracy changes, I assume that the True North heading will also change and everything will move.

My goal is to stabilise items within the ARKit world.

1

1 Answers

0
votes

In my experience, it usually comes in to be within 5-10 deg. If you are trying to render content repeatedly in a certain magnetic direction, it works relatively well.

However, if you are trying to render content in a GPS location it will not be very accurate unless you are rendering things far away (a few hundred meters as you mentioned).

There is no real way to "average" out the error, that is simply a limitation of the sensors onboard and errors in the environment (ferrous material, large buildings etc.). There are some (experimental) ways to use the camera to locate yourself more accurately, especially in larger cities. Google products like "Sturfee"