VisionNav is an innovative Augmented Reality (AR) based indoor navigation application designed to tackle the challenges of navigating large, complex indoor environments. Developed by a team of researchers at the University of Windsor, this project integrates cutting-edge AR technology with robust database management and pathfinding algorithms to provide an intuitive and immersive wayfinding experience.
- AR-Enhanced Navigation: Overlays digital directional cues onto the user's real-world view.
- QR Code Localization: Utilizes strategically placed QR codes for accurate positioning.
- SLAM Integration: Implements Simultaneous Localization and Mapping for real-time environment mapping.
- NavMesh Pathfinding: Employs Unity's NavMesh tool for efficient route calculation.
- Dynamic Obstacle Avoidance: Real-time path adjustments for unexpected obstacles.
- Multi-Floor Navigation: Seamless guidance across multiple levels of a building.
- User-Friendly Interface: Intuitive design suitable for users of all technical proficiencies.
- Frontend: Unity, ARCore
- Backend: Node.js
- Database: MongoDB
- AR Framework: ARCore
- 3D Modeling: Blender
- Version Control: Git
- Clone the repository:
- Install Unity 2020.3 LTS or later.
- Open the project in Unity.
- Install the following Unity packages:
- ARCore
- ARFoundation
- NavMeshComponents
- Set up the backend:
- Install Node.js and npm
- Navigate to the backend directory
- Run
npm install
to install dependencies
- Set up the database:
- Install MongoDB
- Create a new database named "visionnav"
- Import the provided map data and QR code locations
-
Configure the connection strings in the Unity project to point to your backend server and database.
-
Build the project for Android (minimum API level 24).
-
Install the VisionNav app on your Android device.
-
Launch the app and grant necessary permissions (camera, location).
-
Navigate to an entrance point of the building where a QR code is located.
-
Scan the QR code to initialize your location:
- Hold your device steady and point the camera at the QR code
- The app will vibrate and display a confirmation when successfully scanned
-
Once your location is initialized, use the search function to select your destination.
-
Follow the AR overlay instructions:
- Directional arrows will guide you along the optimal path
- Waypoints will indicate key turning points or landmarks
-
If you encounter an obstacle, the app will automatically recalculate your route.
-
For multi-floor navigation:
- Follow the AR indicators to the nearest staircase or elevator
- The app will guide you to the correct floor and continue navigation
-
If you deviate from the suggested path, the app will recalculate and provide updated directions.
-
Upon reaching your destination, the app will display a confirmation message.
Note: Ensure good lighting conditions for optimal QR code scanning and AR performance. If you experience any issues with localization, try rescanning the nearest QR code.
Check out our video demo for a comprehensive look at VisionNav in action.
- Localization Accuracy: ±1.2 meters
- Average QR Code Scan Time: 1.5 seconds
- Pathfinding Calculation Time: 0.3 seconds
- Frame Rate: 30-60 FPS (device-dependent)
- AR Positioning Drift: <0.5 meters per 100 meters traveled
- Improving performance in dynamic environments
- Enhancing QR code scanning in various lighting conditions
- Expanding entry point options for navigation initialization
- Implementing voice assistant features for improved accessibility
- Extending support to iOS devices
- Abhishek Solanki (Team Lead) - GitHub
- Meet Patel
- Harshkumar Sabhaya
- Nishant Jethva
We would like to thank the University of Windsor for their support and resources in making this project possible.
This project is licensed under the MIT License.