Over Geo Positioning and Tracking
Last updated
Last updated
The Over app aims at making the users live various AR experiences depending on where they are. For this reason, the app uses the GPS device data to track the user’s geographical position.
The data obtained from the GPS report the geographical coordinates and the relative accuracy level. The value of this last data does not allow precise positioning of the AR contents. Moreover, in addition to the metric accuracy error, there is a percentage uncertainty not guaranteed in the location; this causes a potential reception of anomalous data, which also deviates a few tens of meters from the actual position. An augmented reality experience that relies only on GPS for anchoring content is approximate, uncertain, and not sufficiently stable.
The first development phase focused on the matching between localization and coordinates of the hexagonal OVRLand, and then moved on to work out a method for positioning contents in an augmented reality beyond the GPS limits.
The logical concept is to merge two positioning technologies: SLAM, with high local accuracy, and GPS, which works at a global level, so as to identify similar data and cancel anomalous data.
SLAM is a technology that, thanks to the use of a camera, recognizes key elements of the framed environment and creates a three-dimensional point map. This map allows you to calculate the camera position very precisely compared to other physical objects around it. The conceptual innovation that led us to an optimal result was to understand that, SLAM technology makes it possible to add a variable to the GPS information that was not usable so far: time.
In fact, the system detects GPS data recorded at a specific point in time and compares them with those surveyed at a later moment. This is made possible by checking any modification of local positioning data returned by the SLAM technology.
We assume that the user is using his device in a given geographical position. Following the activation of the GPS and the framing of the surrounding environment by means of the camera, two data blocks are identified: the position in geographical coordinates, and the position of the camera relative to the framed environment.
We assume latitude α, longitude β and a position related to the surrounding environment equal to coordinates in meters x = 0 and y = 0 (point of origin). The GPS reports a hypothetical accuracy datum of 5 meters.
If the user moves two meters to the right, given the accuracy of the SLAM technology, the coordinates of the position become x = 2 and y = 0.
The expectation is that the GPS also registers the same position but, given its inaccuracy, notifies a shift of one meter in the opposite direction with an accuracy of 4 meters.
The purple area represents the expected GPS data, the blue the recorded ones.
Analyzing them independently we have no possibility of understanding which of the two data shows the information of the correct user coordinates, but intersecting the uncertainties of the two data we identify a more accurate uncertainty area (orange area). The localizing datum is then approximated at the center of the intersection zone. The consideration of more than two recorded moments allows to constantly improve the determined position provided by the GPS.
This technology makes it possible to better compensate for the inaccuracy due to GPS geolocation technology without additional tools, technologies, or methodologies that help to correctly position the virtual elements in the world.
Two possible techniques have been identified. The first involves the use of a graphic “Target” recognizable by the system. Given its size, position, and exact inclination in the world, the “Target” can provide the device with its correct geographical coordinates.
We assume that we are in a historical square where, on a façade of a building, a fresco has been painted, or, in front of the door, at a shopping center where a sign is affixed.
Framing one of these images, if previously uploaded to the system, the app is able to recognize these images thanks to the use of computer vision algorithms (SIFT / SURF).
These technologies provide the inclination with which we are framing the “Target” images and, consequently, the direction in which the user is positioned relative to the latter. By also entering the “Target” image size, you can calculate the exact distance between the target and the device (user). In this way, we obtain the relative distance vector (offset). Adding the information previously obtained, that is the geographical position of the image and its inclination, to the relative distance vector you can easily calculate the exact geographical coordinates of the device.
Once these coordinates are obtained, SLAM technology proceeds with anchoring the contents, which can be positioned at the desired point with higher precision compared to the information given exclusively by GPS.
The second methodology for the recognition of the user’s coordinates consists of the prior scanning of the place of interest by recording the points that the SLAM uses to anchor the contents.
To use this technique, a figure is required (OVRLandscanner) that goes to the physical place during the development phase and that, through the Over app, scans the surface where you want to show the experience. The information collected (position and scanned points) provide a precise map of the environment in which the augmented reality contents will appear.
New generation GPS, GNSS, is already present on the market and represents a possible strengthening of the methods adopted for OVR. SLAM technology is in constant development and the implementation of 2D image recognition or 3D models would improve the AR experience. Bluetooth Beacons, on the other hand, will allow accurate for location recognition even in places where GPS does not provide accurate data, such as building interiors.