Skip to content

Camera Drift in ARCore #225

Description

@achuvm

Hi,

We are currently using ARCore's NDK and both us and our users are noticing some drastic camera drifts without any notifications on ARCore's side of things.

What we see is that the camera position is being updated and moved farther and farther away even though the user is sitting still. During this time we are also monitoring the ArCamera's TrackingState and it is neither AR_TRACKING_STATE_PAUSED nor AR_TRACKING_STATE_STOPPED. As a result, there's no way for us, or our users to determine that the given positions are invalid.

I've attached the logs for one occurrence of this issue below.

If you take a look at the logs, you can see that the ArCamera starts off reporting Unavailable (our wrapper for PAUSED or STOPPED) and is returning [0,0,0] initially.

Once tracking initializes, the position seems to be stable for about 12 seconds before beginning to drift out to z=-45 all the while reporting that the camera is normal (our wrapper for ArCamera's Tracking state).

Once the z position hits -45, then the ArCamera begins again to report Unavailable before reverting back to normal, drifting out to z=-50, and then settling on z=-18.

The entire time this is happening, I am simply sitting down and looking forward at my monitor (there is a window to the side of it).

One peculiar thing to note is that the issue of drifting seems to happen to our Pixel and Pixel 2 (both are non-XL) devices a lot more than on our S8+ device we have here. With the S8+, this is rarely, if at all an issue, but with a Pixel, the drift seems to happen often after starting ARCore.

Logs for this issue: camera_drift.txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions