Skip to main content

Niantic Spatial VPS2

Niantic Spatial's Visual Positioning System 2 (VPS2) is the successor of both the original VPS and WPS, combining and expanding upon the functionalities of those features. VPS2 localizes users by querying and fusing multiple location signals to provide accurate, stable geo-positioning and orientation, even without any dedicated scanning or pre-mapping.

Coarse Localization

VPS2 leverages device AR tracking data and visual information to provide greater frame-to-frame stability than relying on GPS and compass alone, making it more suitable for AR applications. As the user moves around, VPS2 continuously maintains the device's position and orientation, improving stability and accuracy over long periods of time and long distances.

Course localization can be achieved anywhere in the world, without any dedicated scanning or pre-mapping.

Precise Localization

In mapped areas, VPS2 provides a higher level of localization. You can easily place, persist and share AR content with centimeter-level accuracy on a Niantic Spatial map.

Localizing to a Niantic Spatial map will also usually contribute to more accurate geo-positioning and orientation, although that will not always be the case, particularly for smaller maps.

While applications previously using VPS and WPS had to explicitly switch between WPS and VPS localization, VPS2 will attempt to automatically localize to available nearby maps and automatically select its best estimate of the device's geographic location.

note

As of the ARDK 4.0 beta version, automatic localization is only available for maps created through the new enterprise tooling for creating, uploading and managing maps as part of an organization. For mapped areas where high precision is critical, it is recommended to use the new Portal to manually align the map with the real world.

You can explicitly attempt to localize to any map, public or private, in the same manner as VPS; i.e, by tracking an anchor located on that map.

Anchors

As with the original VPS, an anchor represents a stable position and orientation in the real world that can be used to persist virtual content.

Anchors can be created, tracked, and removed using VPS2 in a similar manner to VPS. VPS2 also supports coarse anchor tracking, which allows the system to estimate an anchor's pose even when the device is not localized to a map. The accuracy of coarse anchor tracking is on the same scale as VPS2's other coarse estimates.

When the device is localized to a map, anchors are tracked with high precision and can be expected to line up with the world with centimeter-level accuracy.

These two modes allow developers to choose appropriate UX treatments based on the expected accuracy of the anchor pose estimate.

Best Practices

  • Strong network connection: By our best estimate, VPS2 requires 4 cloud localizations a second in order to accurately estimate the device's geographic position and heading.
note

When localization is attempted in a new location, the first response from the cloud will currently take in the range of 60+ seconds. We are working to reduce this time, but for now please write your application to accomodate for this delay.

  • Heads up camera: By the inherent nature of being a "visual" positioning system, VPS2 works best when the device camera is near eye-level and pointed at distinct features in the environment. Precise localization is only available when the device is localized on a map, which requires the mapped area to be in view. However, VPS2 will still provide coarse estimates when the device camera does not have features in view, as long as AR tracking is not lost.

Next Steps

VPS2 Locations Management:

note

To get started with the new Scaniverse and Portal pipelines for creating and managing VPS locations, refer to this document.

Using VPS2 with the Niantic SDK:

  1. Getting Started with VPS2
  2. Getting Geolocation with VPS2
  3. Placing Virtual Content with VPS2