Cruise ships, by virtue of being at sea, have unique, interesting problems, so we chose to take a look at Carnival's challenge for SwampHacks 2020.
What it does
Nautical NavAR is an augmented reality app that helps guests navigate on-board a cruise ship. It uses AR targets to determine a guest's position, as opposed to GPS which is problematic to use for positioning on a ship due to it being in motion.
How We built it
We used Unity / C#, with Vuforia Engine for the target tracking. We also used Vuforia's Image Target Manager, a cloud interface used to train databases (that are then run on the phone) that recognize image targets.
Challenges We ran into
Finding suitable images to make into targets was difficult at first - counter-intuitively, more complicated images are better suited for tracking than simpler images, due to the ability to recognize distinct features.
Vuforia's Image Target Manager went offline the night / morning before demo time, and as a result we only had trained 4 targets in our database. Luckily another team lent us the image target database for their project, which gave us another 8 to work with.
Accomplishments that We're proud of
Getting to apply graph theory for pathfinding.
What We learned
It was our first time using VBU Vuforia does not autofocus by default, which subtly affects target recognition if not accounted for.
What's next for Nautical NavAR
We discovered that a quirk of Vuforia's FIRST_TARGET world center mode combined with intertial / extended tracking potentially allow AR targets to act as anchor points. Since the directions would no longer be tied directly to individual AR targets, this could potentially reduce the number of anchor points that would need to be deployed.