About the Client

The client is one among the largest in-house game development team with a  global Network of more than 40 studios around the world.

They are dedicated to enrich the lives of players by developing high-quality games that resonate with all kinds of personalities, bring people together, and allow everyone to learn and grow while having fun.

About the Project

The client was looking to build a mobile based indoor navigation system powered by augmented reality for their employees , which helps them in locating the various services and departments present in the building.

The two main challenges they want to address through this platform is to help the employees to feel at home in this very big house and encourage the employees to have more face to face interactions with their colleagues.

Challenges

Develop an Augmented Reality based indoor navigation system to achieve the following;

  • The user can download the app and  visualizing the exact route in the field of view of their smartphone / tablet
  • The application should guide the user to the exact destination with visual indications such as lines and arrows using AR.
  • The possibility to search and select destinations within a building
  • The user can view the orientation within buildings.
  •  The user can view the  guiding bars when selected on an amenity
  • Nearby amenities can be viewed in the AR screen, when placed over

Implementation

The power of Augmented Reality or AR is the foundation of this PoC.

AR allows us to add layers of visual information about the real world around us using devices such as our own smartphones.

This helps us to generate experiences that provide relevant knowledge about our environment, and we also receive that information in real time.

The concept of providing indoor navigation has been tackled by many using various types of technology.

We provided a successful solution by combining ARKIT/ARcore and React Native to provide a smooth user experience for indoor navigation  positioning with accuracy and seamless tracking.

Apple ARKit image (1)      ARCore image

ARKit1 is a tool for the development of Augmented Reality for Apple’s iOS. In March 2018, ARKit 1.5 was released.

The significance of this is that the tool now supports vertical/horizontal surface recognition; this is crucial for our Augmented Reality tool to work.

Using ARKit we can detect a wall as a vertical surface and estimate our distance to the surface.

Determining the surface area of any objects which are regular/irregular in shape is then simple.

ARCore is an SDK developed by Google that allows augmented reality applications to be built. ARCore does the similar functionality of ARkit for Android Phones in doing the measuring function.

The release of Apple’s ARKit and Google’s ARCore significantly improved the robustness of AR apps, offering a seamless and effortless AR experience.

The coordination system created by ARKit or ARCore has its origin in the location of the user at the moment the tracking has been initialized, resulting in different coordinates with each start of the application.

In order to establish a permanent coordinate system, the application needs to know where the virtual space should be placed within the real-world environment.

The reason for choosing React Native for the mobile application is due to its compatibility with the two major mobile platforms, Android and iOS.

The Solution

A complete Augmented Reality based mobile application solution for indoor navigation with less resource-intensive and more accurate results in handling AR location and routing were provided with the following components:

  • Android and iOS mobile application for end users
  • Web application for admin to manage the platform
LOCATION TRACKING USING iBEACONS
  1. GUI – Displays augmented reality video with current position of user on the map
  2. AR navigation – places AR objects based on image identification
  3. Map Guidance – Locates Mobile device on the Map
  4. Image recognition engine – Detects the location of user based on the video frames captured from user’s mobile device
  5. Location Module – Locates mobile device based on the location id received from beacon
  6. Video frames are transferred to IR device and receives object results
  7. Localization module receives sensory data and by fusing it with other information returns location of the mobile device

High Level Architecture

High level architecture image

Technology Stack Used

Module Recommended Technology Stack
Front End  HTML, CSS, AngularJS
Back End Java Spring MVC 3
iOS Swift
Android Java, XML
Database MySQL

Screens

Looking for a similar App ?