25
Ubiquitous and Mobile Computing Introduction to ARCore Manas Mehta Theodoros Konstantopoulos Skyler Kim Khulood Alkhudaidi Aritra Kundu Computer Science Dept. Worcester Polytechnic Institute (WPI)

Ubiquitous and Mobile Computing Introduction to ARCoreemmanuel/courses/cs528/F19/... · 2019-11-21 · Ubiquitous and Mobile Computing Introduction to ARCore Manas Mehta Theodoros

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ubiquitous and Mobile Computing Introduction to ARCoreemmanuel/courses/cs528/F19/... · 2019-11-21 · Ubiquitous and Mobile Computing Introduction to ARCore Manas Mehta Theodoros

Ubiquitous and Mobile Computing Introduction to ARCore

● Manas Mehta

● Theodoros Konstantopoulos

● Skyler Kim

● Khulood Alkhudaidi

● Aritra Kundu

Computer Science Dept.

Worcester Polytechnic Institute (WPI)

Page 2: Ubiquitous and Mobile Computing Introduction to ARCoreemmanuel/courses/cs528/F19/... · 2019-11-21 · Ubiquitous and Mobile Computing Introduction to ARCore Manas Mehta Theodoros

What is Augmented Reality?

● Projection of digital objects onto reality.● Large application with mobile phones.

Page 3: Ubiquitous and Mobile Computing Introduction to ARCoreemmanuel/courses/cs528/F19/... · 2019-11-21 · Ubiquitous and Mobile Computing Introduction to ARCore Manas Mehta Theodoros

The History of Augmented Reality?

Page 4: Ubiquitous and Mobile Computing Introduction to ARCoreemmanuel/courses/cs528/F19/... · 2019-11-21 · Ubiquitous and Mobile Computing Introduction to ARCore Manas Mehta Theodoros

Problems can be solved by AR

● Medical training● Education● Online Shopping● Logistics

Page 5: Ubiquitous and Mobile Computing Introduction to ARCoreemmanuel/courses/cs528/F19/... · 2019-11-21 · Ubiquitous and Mobile Computing Introduction to ARCore Manas Mehta Theodoros

What is ARCore?

- ARCore is Google’s Software development kit for building augmented reality experiences.

- ARCore uses three key technologies:● Motion Tracking● Environmental Understanding● Light estimation

Page 6: Ubiquitous and Mobile Computing Introduction to ARCoreemmanuel/courses/cs528/F19/... · 2019-11-21 · Ubiquitous and Mobile Computing Introduction to ARCore Manas Mehta Theodoros

Apps Using ARCore

Page 7: Ubiquitous and Mobile Computing Introduction to ARCoreemmanuel/courses/cs528/F19/... · 2019-11-21 · Ubiquitous and Mobile Computing Introduction to ARCore Manas Mehta Theodoros

Other Uses of ARCore

Page 8: Ubiquitous and Mobile Computing Introduction to ARCoreemmanuel/courses/cs528/F19/... · 2019-11-21 · Ubiquitous and Mobile Computing Introduction to ARCore Manas Mehta Theodoros

Setting Up Project for AR Core

● Add permissions and data to Android Manifest.

● Add dependency to android app’s build.gradle.

Page 9: Ubiquitous and Mobile Computing Introduction to ARCoreemmanuel/courses/cs528/F19/... · 2019-11-21 · Ubiquitous and Mobile Computing Introduction to ARCore Manas Mehta Theodoros

Creating AR Core Session

Page 10: Ubiquitous and Mobile Computing Introduction to ARCoreemmanuel/courses/cs528/F19/... · 2019-11-21 · Ubiquitous and Mobile Computing Introduction to ARCore Manas Mehta Theodoros

Tracking Planes in Scene

● Create GL Surface View in Activity. ● Create OpenGL program using Android calls.● Get trackable planes from AR Core Session.● Get Pose translation from AR Core Camera.● Draw Planes with OpenGL calls based off Plane

and Camera data.

Page 11: Ubiquitous and Mobile Computing Introduction to ARCoreemmanuel/courses/cs528/F19/... · 2019-11-21 · Ubiquitous and Mobile Computing Introduction to ARCore Manas Mehta Theodoros

Tracking Planes in Scene

Page 12: Ubiquitous and Mobile Computing Introduction to ARCoreemmanuel/courses/cs528/F19/... · 2019-11-21 · Ubiquitous and Mobile Computing Introduction to ARCore Manas Mehta Theodoros

Tracking Planes in Scene

Page 13: Ubiquitous and Mobile Computing Introduction to ARCoreemmanuel/courses/cs528/F19/... · 2019-11-21 · Ubiquitous and Mobile Computing Introduction to ARCore Manas Mehta Theodoros

Tracking Planes in Scene

Page 14: Ubiquitous and Mobile Computing Introduction to ARCoreemmanuel/courses/cs528/F19/... · 2019-11-21 · Ubiquitous and Mobile Computing Introduction to ARCore Manas Mehta Theodoros

Tracking Planes in Scene

Page 15: Ubiquitous and Mobile Computing Introduction to ARCoreemmanuel/courses/cs528/F19/... · 2019-11-21 · Ubiquitous and Mobile Computing Introduction to ARCore Manas Mehta Theodoros

Tracking Planes in Scene

Page 16: Ubiquitous and Mobile Computing Introduction to ARCoreemmanuel/courses/cs528/F19/... · 2019-11-21 · Ubiquitous and Mobile Computing Introduction to ARCore Manas Mehta Theodoros

Tracking Planes in Scene

Page 17: Ubiquitous and Mobile Computing Introduction to ARCoreemmanuel/courses/cs528/F19/... · 2019-11-21 · Ubiquitous and Mobile Computing Introduction to ARCore Manas Mehta Theodoros

Tracking Planes in Scene

Page 18: Ubiquitous and Mobile Computing Introduction to ARCoreemmanuel/courses/cs528/F19/... · 2019-11-21 · Ubiquitous and Mobile Computing Introduction to ARCore Manas Mehta Theodoros

Rendering Objects In AR

● Save .obj file in res folder. ● Create OpenGL program using Android calls.● Save anchor positions of places where objects

should be.● Use OpenGL program to render 3D object at

anchor point. ● Update render from OpenGL program on

SurfaceView Callback.

Page 19: Ubiquitous and Mobile Computing Introduction to ARCoreemmanuel/courses/cs528/F19/... · 2019-11-21 · Ubiquitous and Mobile Computing Introduction to ARCore Manas Mehta Theodoros

Prepare 3D Models for Render

Page 20: Ubiquitous and Mobile Computing Introduction to ARCoreemmanuel/courses/cs528/F19/... · 2019-11-21 · Ubiquitous and Mobile Computing Introduction to ARCore Manas Mehta Theodoros

Setting Anchors

Page 21: Ubiquitous and Mobile Computing Introduction to ARCoreemmanuel/courses/cs528/F19/... · 2019-11-21 · Ubiquitous and Mobile Computing Introduction to ARCore Manas Mehta Theodoros

Drawing Objects

Page 22: Ubiquitous and Mobile Computing Introduction to ARCoreemmanuel/courses/cs528/F19/... · 2019-11-21 · Ubiquitous and Mobile Computing Introduction to ARCore Manas Mehta Theodoros

AR Core Example

Page 23: Ubiquitous and Mobile Computing Introduction to ARCoreemmanuel/courses/cs528/F19/... · 2019-11-21 · Ubiquitous and Mobile Computing Introduction to ARCore Manas Mehta Theodoros

Other Features of AR Core

● Viewing 3D models in AR from an Android Browser.

● Augmented Faces + Face detection.● Cloud Anchor objects via AR Core

Cloud Anchor API.

Page 24: Ubiquitous and Mobile Computing Introduction to ARCoreemmanuel/courses/cs528/F19/... · 2019-11-21 · Ubiquitous and Mobile Computing Introduction to ARCore Manas Mehta Theodoros

Questions?

Page 25: Ubiquitous and Mobile Computing Introduction to ARCoreemmanuel/courses/cs528/F19/... · 2019-11-21 · Ubiquitous and Mobile Computing Introduction to ARCore Manas Mehta Theodoros

References

https://developers.google.com/ar/develop/java/quickstart

https://github.com/google-ar/arcore-android-sdk

https://learn.g2.com/history-of-augmented-reality

https://www.ualberta.ca/science/science-news/2018/january/augmented-reality-tech-see-under-skin-without-

scalpel

https://www.wikitude.com/blog-augmented-reality-101-ar-top-use-cases/

https://www.fi.edu/what-is-augmented-reality