Tango & Augmented Reality
Virtual
Reality and Augmented Reality are hot topics nowadays. Google has
provided a better solution for augmented reality development. This
article will summarize key concepts that you should know about Google
Tango. I suggest you to embrace Tango technology and make your systems
more cool and exciting. 😊
Introduction to Tango
Tango is an augmenting reality computing platform
provided by Google. It mainly uses computer vision to enable mobile
devices, such as smartphones and tablets, to detect their position
relative to the world around them without using GPS or other external
signals. This allows application developers to create user experiences
that include indoor navigation, 3D mapping, physical space measurement,
environmental recognition, augmented reality, and windows into a virtual
world
Tango Concepts
Tango uses computer vision give device the ability to understand the relativity to the world. It uses 3 core technologies;
- Motion-tracking: track movements and orientation in 3D space using pose. where it is and which way it’s facing.
- Area learning: remembers, store and recall environment data in a map that can be reused later, shared with other Tango devices, and enhanced with metadata such as notes, instructions, or points of interest. it can recognize that area again later.
- Improve the accuracy of the trajectory by performing "drift corrections."
- Orient and position itself within a previously learned area by performing "localization."
- Depth perception: understand the shape of your surroundings by detecting distances, sizes, and surfaces in the environment. It let virtual objects to be a part of actual environment.
Visual positioning service(VPS)-
a system for mapping indoor environments using core Tango technologies:
Motion Tracking, Area Learning, and Depth Perception. Using VPS,
developers can build location-based mobile AR experiences.
Tango Pose (more details)
Tango calculates the position and orientation frequently as the device move in the 3D space. A single instance out of it is called as a pose.
2 key components of a pose :
- Rotation- a quaternion
- Translation - 3D vector
Pose status :
Reactivity and Sensitivity to the the pose status changes should be considered while development of the application.
- INITIALIZING
- VALID
- INVALID
- UNKNOWN
Life cycle of pose status :
Tango Events (more details)
Primary Events
Sending and receiving sensor data from core activities
- The pose of the device.
- Frames and textures from a camera.
- Point clouds, which are generated via depth sensing.
Status events
Receiving Tango status
Tango Frames of references (more details)
base frame - fixed reference(measuring from)
target frame - its pose changes as the device move (measuring to)
Combinations :
Target Frame
|
Base Frame
|
COORDINATE_FRAME_DEVICE
|
COORDINATE_FRAME_START_OF_SERVICE
|
Pose of the device relative to the start of the tango service.
Target Frame
|
Base Frame
|
COORDINATE_FRAME_DEVICE
|
COORDINATE_FRAME_AREA_DESCRIPTION
|
pose
of the device, including corrections, relative to the loaded area
description's origin. It requires that area learning mode is turned on
or a previously created ADF(Area Description File) is loaded.
Target Frame
|
Base Frame
|
COORDINATE_FRAME_START_OF_SERVICE
|
COORDINATE_FRAME_AREA_DESCRIPTION
|
provides updates only when a localization event or a drift correction occurs.
Coordinate system
The coordination system follows the right hand rule. So there 2 system namely; right hand local and right hand android.
Right hand local level
Right Hand Android
Unity coordinate system
Converting Tango Pose data into the Unity Coordinate System
transformation
converts between the Project Tango START_OF_SERVICE (SS) coordinate
frame and the Unity World (UW) coordinate frame
transformation converts between the Unity Camera (UC) coordinate frame and the Tango Device (D) 
Multiply
the first conversion and then multiply the second conversion to get a
matrix that converts pose data between the Unity Camera (UC) coordinate
frame and the Unity World (UW) coordinate frame.
Languages and tools
Applications
- in-store navigation
- measurement and mapping utilities
- presentation and design tools
- Immersive games. (Immersive = generating a three-dimensional image that appears to surround the user.)
Concerns
Tango just won't work on any phone. It requires a lot of processing power and an array of special cameras and sensors. Only 2 devices, Lenovo phab 2 pro and Asus ZenPhone support it so far.

Among the service mentioned on the list, which one is the best?
ReplyDeleteNavigation Indoors with Startup