Inspiration & What it does

Our project opens the possibility for real-time navigation with 3D visualization. With indoor navigation as our starting point, we decided that navigation interface that users see on their screen should match the environment they experience around them for better guidance.

How we built it

First we use Project Tango to map a 3D environment and export the reconstruction as mesh layers. Next we clean up and smooth out the mesh layers with MeshLab. Finally we import the refined mesh into Unity and give it physical properties especially mesh collider. To provide navigation for any user, a small probe represented by a sphere will locate its target only through areas we defined as “walkable” while leaving a trail for the user to follow. The user could change the probe’s target at will in runtime with as simple an input as a keystroke or tap on the screen.

Now that we have the user features implemented, we started looking at the back end. In order to process the enormous point clouds, we mocked up a data structure with a Master, a Scene, and a Point level to efficiently add, remove, retrieve, and most of all correlate the data. The retrieval of the data will be directed by Euclideon Unlimited (www.euclideon.com) , which provides the most efficient point cloud search engine.

Technology & Acknowledgement

We use Project Tango to reconstruct 3D environments and MeshLab to smooth it out before importing it into Unity. With Unity, we add physics to the mesh, create navigation guide, add the probe, associate physics with the probe, implement navigation script, and implement UI script. CLion (Jetbrain product) is used to mock up the back end data structure.

What's next for Crystal Ball: Real-time navigation & 3D visualization

The inspiration is first sparked by our idea to provide navigation in large indoor spaces such as malls or airports, but soon we realize the potential of this project including real-time combat navigator, virtual reality tour, and so on. Of course, our development is quite primitive; in fact, none of us had Unity experience before! Therefore, we know there are many improvements to be made. Here’s a few short term development goals from where we are:

  1. Compress mesh objects by decreasing poly count without sacrificing resolution
  2. Implement and test mesh storage
  3. Explore Euclideon Unlimited algorithm
  4. Smooth out interaction between camera and environment

Here’s a few long terms goals we’d like to achieve

  1. Automating mesh export and import
  2. Automating mesh clean up and repair
  3. Successful mapping and navigating of an entire building If you have any question, any suggestion for improvement, or any interest to partner with us, please do not hesitate to contact us! Contact information can be found at the very end.

Team Members

Mark Jung Mark is a writer, of both code and stories. He is a freshmen engineering student in Northwestern University, majoring in Computer Science. He has never hacked before, and Vandyhacks is his first hackathon. Having experience in C, C++, python, HTML, and CSS, Mark is soaking up tools and languages day by day to become hacker capable enough to realize his child-like creativity and audacity. Mark also loves to eat. He can chomp up 40 wings, alone.

Harrison Yan A hard-working genius (officially recognized by Mark Jung), where his concentration will amaze you once more after his nimble mind. Harrison is a sophomore at Vanderbilt, majoring in Mechanical Engineering with minors in Computer Science and Engineering Management. He has never hacked before and Vandyhacks is his first hackathon, but he has experience from various labs and his technical background. Despite Harrison’s rigorous living style, he never lets go of his sense of humor and wild sparkles of creativity. Harrison cannot eat 40 wings alone, but he can eat boiled brocolli, a feat Mark can never pull off.

Harrison Yan harrison.yan@vanderbilt.edu Mark Jung gujung2022@u.northwestern.edu

Built With

Share this project:

Updates