What's next for ARIT- A New Perspective on RIT Campus

Inspiration

While brainstorming ideas for Brickhack, our group wished to build something useful for our community while also being something that utilizes an actively developed technology. Over the course of an hour, many ideas blossomed and wilted until finally, we came upon ARIT.

What it does

ARIT is an Augmented Reality app that utilizes the GPS locations of RIT buildings and a phone's camera to layer on the name of building to construct an interactive map of RIT. By pointing your phone towards a certain building, its name will be displayed on the screen. Tapping on the name will enlarge it and show some details about that building. This could be highly useful for people exploring the campus for the first time, or for the hundredth time and just didn't take the time to learn all the buildings yet.

How I built it

We started by data retrieval, which proved to be the easy part of the operation. We found the official maps.rit.edu website already loads a single JSON file with over 500 RIT landmarks, many of which are buildings. We wrote some short Node.js utilities to parse this data into a usable form that could be directly included in our application, which included not only building information, but also an entire polygon surrounding that building.

We began building our app in Unity, since we noticed that Google ARCore should be able to work cross-platform through Unity. After several hours of working at this since none of us really knew Unity initially, we opted to go a different route due to the Unity API not working quite the way we desired- which sadly involved dropping Android support.

The final rendition of ARIT was built in Xcode using Swift, so that we could utilize the iOS platform's built-in ARKit. We utilized a fairly popular open-source project from GitHub called ARKit-CoreLocation to combine accurate AR technology with the GPS coordinates we parsed from maps.rit.edu. This library helped us get started quickly, but we still had to write a decent amount of additional code and modification to the library.

Challenges I ran into

The challenge that we ran into was that originally we attempted to make this app multiplatform. But after extensive hours attempting to utilize vector math, the haversine formula and Unity, the program crashed and burned. Soon after feeling lost on how to get our app to correctly set up the nameplates for buildings, Bradley found the open-source project that solved a lot of our problems.

Accomplishments that I'm proud of

The biggest thing to feel proud of was when the team went outside in 13-degree weather to test out the app on the entirety of campus. Seeing the names accurately display on their respective building was the most stunning thing of the night even though we almost lost our hands to icy falls and frostbite.

What I learned

We all learned what a hackathon is like, all being first-timers! We certainly learned about some of the challenges of programming location-based Augmented Reality apps, giving us a new appreciation for apps like Pokemon Go who manage to get everything to work reasonably well together, especially in a cross-platform manner.

What's next for ARIT- A New Perspective on RIT Campus

One major limitation of ARIT in its present state is that the JSON data file is integrated with the app, so it cannot be easily updated. We could create a HTTP server with this JSON file to more easily change it dynamically, or perhaps more interestingly, apply the same app to places other than RIT.

Sticking with the RIT application, there are still many places to go. For one thing, we could achieve platform parity by going back and making the Android version originally in our plans. For another, we could include more information about buildings in the popup, including historical information and current events. Yet another future enhancement could involve showing the fastest route to walk from one building to another.

Built With

Share this project:

Updates