Skip to main content
Version: 1.12.0

Why Use VLSDK

What is VLSDK?

VLSDK is a package used to estimate the 6DOF of a device in real-time within a 3D space built through ARC eye.

The video below shows real-time global position calculation using VLSDK. The black object represents the real-time position of the camera calculated through VLSDK, while the red, blue, and green objects represent VL response results recognized based on the image. By using VLSDK, you can obtain the camera's real-time position in 3D space without writing a single line of code.

vlsdk overview

This is because VLSDK automatically performs various functions internally. Below is an explanation of the features performed by VLSDK.

VL Requests

VLSDK processes requests to the ARC eye VL API internally, allowing you to use the VL API easily without additional effort. Tasks such as acquiring camera image buffers, setting region-specific Invoke URLs, determining response validity, and configuring request intervals are executed without writing code. The calculated results are immediately applied to the Main Camera and reflected in the rendering output.

Coordinate System Conversion

The coordinate system used by ARC eye VL for sending and receiving responses is the ROS coordinate system. Since this coordinate system differs from the one used in Unity, using VL response results directly in Unity may yield unexpected results. VLSDK performs coordinate system conversion internally, providing an environment where SDK users can always use Unity's coordinate system.

coordinate

Network Delay Compensation

Depending on the network environment, there may be delays between VL requests and responses. This can result in receiving past global position values instead of the current global position. VLSDK implements a network delay compensation algorithm that ensures you always receive the current global position value regardless of response delays.

VL + VIO Fusion Algorithm

VLSDK fuses real-time local position calculations with high-accuracy global position information to calculate the global position in real-time.

In the image below, the leftmost video shows the result of estimating the position using only VL. While the spatial position is accurately estimated, the augmented object's position fluctuates significantly due to the inability to estimate the position in real-time. The middle video shows the result of fusing VL with the smartphone's VIO. Although the position is more stable than when using only VL, it still fluctuates. The rightmost video shows the result of fusing VL and VIO with various correction algorithms implemented in VLSDK. The spatial position is estimated stably and accurately.

AR 원리2

GPS-Based VL Request Region Selection

When using dozens of VL APIs in a single service, it is necessary to implement a method to select the appropriate VL API for each region. VLSDK provides a GPS Guide feature that allows you to assign VL APIs to GPS regions, enabling the use of pre-configured VL APIs based on the region.

Dataset Mode

VLSDK supports a special dataset mode that allows you to record and utilize real-world environment data. This enables development and testing in an environment identical to the real world without having to visit the actual site.

dataset mode