https://github.com/mohamedasad10/smartcity-ar
HONOURS PROJECT. An AR-based educational tool ๐ using Unity to visualize and explore urban planning enhancements for Cape Town's Foreshore Freeway Precinct, focusing on pedestrian access, public transport integration, mixed-use developments, and sustainable urban growth.
https://github.com/mohamedasad10/smartcity-ar
augmented-reality research-project theses
Last synced: 6 months ago
JSON representation
HONOURS PROJECT. An AR-based educational tool ๐ using Unity to visualize and explore urban planning enhancements for Cape Town's Foreshore Freeway Precinct, focusing on pedestrian access, public transport integration, mixed-use developments, and sustainable urban growth.
- Host: GitHub
- URL: https://github.com/mohamedasad10/smartcity-ar
- Owner: mohamedasad10
- Created: 2025-02-27T21:59:18.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-10-24T23:05:09.000Z (9 months ago)
- Last Synced: 2025-10-24T23:25:54.915Z (9 months ago)
- Topics: augmented-reality, research-project, theses
- Language: C#
- Homepage:
- Size: 54 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ๐ SmartCity AR
**An Augmented Reality viewer for sustainable urban planning in Cape Townโs Foreshore Freeway Precinct**

Google Sites Link: https://sites.google.com/myuwc.ac.za/smartcityar-masad-bandarkar/home
---
## ๐๏ธ Overview
SmartCity AR is an **Augmented Reality (AR)** application designed to help visualize urban planning proposals for **Cape Townโs Foreshore Freeway Precinct** โ an area affected by traffic congestion, poor pedestrian access, and underutilized spaces.
Traditional 2D maps and static diagrams fail to capture how different infrastructure systems interact in three dimensions. SmartCity AR bridges this gap by allowing **planners, architects, students, and the public** to explore 3D planning scenarios **interactively in real-world context**.
---
## ๐ฏ Project Goal
To develop an AR-based visualization tool that allows users to:
* **Compare** Sustainable vs Unsustainable planning scenarios.
* **Toggle** individual infrastructure layers such as roads, electricity, and water.
* **Simulate** traffic flow across major routes.
* **View** contextual information about city structures and proposed improvements.
---
## ๐ง Problem Statement
Cape Townโs Foreshore Freeway Precinct suffers from:
* **Chronic traffic congestion**,
* **Underutilized highway structures**, and
* **Limited pedestrian accessibility**.
Urban planning proposals are difficult to interpret because static tools canโt show 3D spatial relationships or mobility interactions. SmartCity AR provides an **interactive, immersive solution** to visualize and evaluate different urban design strategies.
---
## ๐งฉ Features
### ๐น Functional Features
| Feature | Description |
| :--- | :--- |
| **Toggle Scenarios** | โ
Toggle between Sustainable and Unsustainable scenarios. |
| **Layer Control** | โ
Enable/disable infrastructure layers โ Roads, Electricity, Water. |
| **Traffic Simulation** | โ
View realistic traffic flow simulation using object pooling. |
| **Model Navigation** | โ
Navigate the model using camera focus buttons. |
| **Contextual Info** | โ
Interactive info buttons for contextual pop-ups. |
| **Reset** | โ
Reset functionality to return to the main menu. |
### ๐น Non-Functional Features
* **Performance:** โก Fast scene load time (average: 4.8 seconds).
* **Frame Rate:** ๐ฎ Smooth performance at 30โ46 FPS on mid-range Android devices.
* **Usability:** ๐ฑ Mobile-friendly UI with large, accessible touch buttons.
* **Architecture:** ๐๏ธ Modular architecture for scalability and easy feature additions.
---
## ๐๏ธ System Architecture
The architecture follows a modular, layered design to separate UI, AR logic, and simulation systems for scalability and maintainability.
### Core Components
| Component | Description |
| :--- | :--- |
| `ARAppController.cs` | Controls AR initialization and scene management. |
| `UIController.cs` | Handles user input (toggles, buttons, navigation). |
| `SceneManager.cs` | Manages loading and visibility of infrastructure layers. |
| `RoadPath.cs` | Defines waypoints for vehicle movement. |
| `TrafficSpawner.cs` | Uses object pooling for efficient traffic simulation. |
| `CameraMoveTrigger.cs` | Handles camera transitions to key points of interest. |
---
## ๐ ๏ธ Tech Stack
| Layer | Technology |
| :--- | :--- |
| **Engine** | Unity 2022 |
| **Language** | C# |
| **AR Framework** | AR Foundation (ARCore compatible) |
| **3D Modeling** | Blender + Blender GIS (OpenStreetMap integration) |
| **Version Control** | Git + GitHub |
| **Target Platform** | Android (ARCore-supported devices) |
---
## ๐งช Testing
| Test Type | Focus | Outcome | Future Optimization |
| :--- | :--- | :--- | :--- |
| **Functional Testing** | Infrastructure toggles, camera navigation, scenario switching | โ
Passed | N/A |
| **Performance Testing** | Scene load time, FPS consistency | โ
Passed | N/A |
| **Edge Cases** | All layers + full traffic on entry-level device | โ ๏ธ Slight FPS drop below 30 | Implement Level-of-Detail (LOD) for traffic vehicles ๐ Planned |
---
## ๐ฑ How to Run
### ๐ง Requirements
* Unity 2022 or later
* Android device with ARCore support
* USB cable for device deployment
### โ๏ธ Setup Steps
1. **Clone the repository**
```bash
git clone [https://github.com/](https://github.com/)/SmartCity-AR.git
cd SmartCity-AR
```
2. Open the project in **Unity 2022**.
3. Ensure **AR Foundation** and **ARCore XR Plugin** are installed via the Package Manager.
4. Go to **Build Settings** โ **Android** โ **Build & Run**.
5. Launch the app on your AR-supported device.
---
## ๐ธ Screenshots / Demo
| Sustainable View | Unsustainable View | Traffic Simulation |
| :---: | :---: | :---: |
|
|
|
|
## ๐ References
* OpenStreetMap Data via Blender GIS
* Unity AR Foundation Documentation
* City of Cape Town โ Foreshore Freeway Precinct Redevelopment Reports
---
## ๐ก Future Work
* Add **real-time traffic data integration**.
* Implement **LOD (Level of Detail) optimization** for better performance.
* Develop a **web-based AR viewer** for accessibility without an app.
* Integrate **multi-user collaboration** using cloud anchors.
---
## ๐งโ๐ป Author
**Mohamed Asad Bandarkar**
* ๐ University of the Western Cape โ BSc Honours Computer Science
* ๐ง [mohamedasad11914@gmail.com]
* ๐ [LinkedIn Profile](https://www.linkedin.com/in/mabandarkar/) |
---