Book Image

Enterprise Augmented Reality Projects

By : Jorge R. López Benito, Enara Artetxe González
Book Image

Enterprise Augmented Reality Projects

By: Jorge R. López Benito, Enara Artetxe González

Overview of this book

Augmented reality (AR) is expanding its scope from just being used in mobile and game applications to enterprise. Different industries are using AR to enhance assembly line visualization, guide operators performing difficult tasks, attract more customers, and even improve training techniques. In this book, you'll gain comprehensive insights into different aspects of developing AR-based apps for six different enterprise sectors, focusing on market needs and choosing the most suitable tool in each case. You'll delve into the basics of Unity and get familiar with Unity assets, materials, and resources, which will help you build a strong foundation for working on the different AR projects covered in the book. You'll build real-world projects for various industries such as marketing, retail, and automation in a step-by-step manner. This will give you hands-on experience in developing your own industrial AR apps. While building the projects, you'll explore various AR frameworks used in the enterprise environment such as Vuforia, EasyAR, ARCore, and ARKit, and understand how they can be used by themselves or integrated into the Unity 3D engine to create AR markers, 3D models, and components of an AR app. By the end of this book, you'll be well versed in using different commercial AR frameworks as well as Unity for building robust AR projects.
Table of Contents (10 chapters)

Working with AR 

AR projects need some basic elements to fulfill its function:

  • Digital support, mainly tablet, mobile phone, or glasses. These will be the devices we will use to recognize what we are seeing and incorporate the information into AR.
  • Sensors to perceive reality as a camera, GPS, 3D scanner, and so on. They are usually integrated into mobile devices.
  • An algorithm or application to understand the reality that is being observed, interpreted, and displayed with the associated information.
  • Digital content to enrich reality. This is all the information that you incorporate into AR.

The result is an interface in which reality is observed with additional information located in the space it needs to be in. The following subsections present different AR libraries and SDKs, as well as how they function.

ARToolKit – the first AR library

ARToolKit was the world's first open source software library and allows the creation of AR applications, in which virtual images overlap in the real world. It uses video tracking capabilities to calculate the position of the camera and the orientation relative to the position of the physical markers in real-time. Once the position of the real camera is established, the virtual camera is placed at the same point and a virtual layer of information, such as a 3D object, is superimposed on the real marker. ARToolKit was originally developed by Hirokazu Kato and the initial release was published in 1999 by the HIT Laboratory of the University of Washington. It is currently maintained as an open source project hosted at SourceForge with commercial licenses available at ARToolworks: http://www.artoolkitx.org/.

Introduction to the AR SDKs 

Now, we will introduce the AR SDKs that we will use in this book. From the first appearance of ARToolKit, AR SDKs have very much evolved. Let's introduce and describe the different SDKs we are going to use in this book to create our own AR experiences:

  • Vuforia
  • EasyAR
  • ARCore
  • ARKit

Let's talk a little bit about each of them.

Vuforia

Initially developed by Qualcomm, and currently run by PTC, Vuforia is one of the oldest and most well-known AR SDKs, and it's one of the most stable and best-performing pieces of software in the market. Vuforia offers a wide variety of features, including 2D and 3D tracking, markerless AR, and fiducial markers called Vumarks. It provides multiple examples and extra features, such as virtual buttons, runtime image target creation, and background video texture manipulation.

EasyAR

An AR engine that allows us to create AR solutions in an easy way and offers multiple AR features, including technology that recognizes and tracks the position, rotation, and scale of a previously selected image in the real world, such as a book cover, a photograph, or a business card. It allows us to map a real place and keep track of the objects within it and contains technology to localize and track the position and orientation of real 3D objects instead of flat images and features, which allow us to take videos of the AR scene while we are playing it.

ARCore

The first version was launched in February 2018 and is Google's platform for creating AR applications for Android and iOS. It makes use of different capabilities, such as motion tracking, to estimate the position and orientation of the mobile device regarding the real world; the environmental location, to find and track horizontal surfaces such as the ground, tablets, or walls; and light estimation, to place 3D elements realistically into the real world. Targeted at Android 7.0 and above, not all devices in the market support this technology, although this number has increased greatly since the first SDK version.

ARKit

Apple launched the first version of ARKit in 2017, along with Xcode 9 and iOS 11, to bring AR to iOS devices. The framework, which is included in Xcode, lets users place virtual content in the real world. Months after its official release, it added new features such as 2D image detection and face detection. In 2018, with the iOS 12 release, ARKit 2 was launched with new features such as 3D object tracking, adding realistic textures to the scenes, and creating multiuser AR experiences. At the time of writing this book, the latest version is iOS 13, with ARKit 3 promising a huge improvement on the current state as it will add a new way of interacting with virtual elements, such as hiding virtual objects when a person is detected in front of them. It also allows users to interact with 3D objects via gestures and capture not only facial expressions but the body motions of a person.

Now that we are acquainted with the main AR tools we will use throughout this book, let's look at how we will apply this software to different enterprise fields.