190 likes | 311 Views
CS480, Project Group #5 Nicholas Fleming, Jeremy Keczan , Brandon Pugh, Melville Stanley April 21, 2010. CampusView : Open-source Augmented Reality. Project Background. Augmented Reality is new technology – experimentation started in the 60’s, but the term itself wasn’t coined until 1992.
E N D
CS480, Project Group #5 Nicholas Fleming, Jeremy Keczan, Brandon Pugh, Melville Stanley April 21, 2010 CampusView: Open-source Augmented Reality
Project Background • Augmented Reality is new technology – experimentation started in the 60’s, but the term itself wasn’t coined until 1992. • Information from the virtual world is combined with the user’s view of the physical world. • Early Examples: • First-down line in televised football • Head-up Display in aircraft • Modern Examples: • AR Browsers on mobile devices: Wikitude, Layar, AcrossAir, Yelp
The Problem and the Opportunity • People need an easy way to learn about their surroundings on campus. • Mobile devices are becoming more powerful and ubiquitous. • Maps have limited information, harder to read, and become out of date. • No public-domain AR implementations.
Requirements • Provide an AR view of WVU Campus • Open Source • Free • Open Architecture – Data Layers • Contains information for WVU students, faculty, staff, and visitors. • Keeps the users’ position data secure and untraceable.
Architecture Overview • 3 Main System Components: • Client Application • iPhone App, Objective-C • Directory Server • Web service and Web application, PHP • Data Servers • Web services, open implementation
Client Application • Runs on iPhone 3GS • Augmented Reality view displays data from multiple sources • Depends on: • GPS receiver • Digital Compass • Camera • Accelerometer • Wireless Data Network
Data Servers • One Data Server for each Data Source. • Data Sources are represented as layers shown to the user in the Augmented Reality view. • Implemented as a web service: typically Apache/PHP/MySQL. • Can reside on separate physical servers anywhere on the Internet.
Data Server Implementations • Building Information • Names and abbreviations • Services available • Parking Information • Lot locations • Required permit or fees • Twitter Posts • Nearby activity that happened recently
Directory Server • Provides a listing of all available Data Sources • Client Application retrieves the list when it starts up, allows users to choose which Data Sources they are interested in. • Implemented as a web service: Apache / PHP / MySQL. • Web application used for administration.
How CampusView is different • Decentralized – Anyone can create data sources. • Open source – Anyone can contribute and improve the system. • Other implementations are highly commercialized.
Test Plans • Unit Tests – Added and performed as code is written. Used to detect harmful code changes (aka regression testing). • Integration Tests – For testing the interoperability of system components: • Client <-> Directory Server • Client <-> Data Servers • Acceptance Tests • Can we see and configure our Data Sources? • Can we see building information when looking at a building? • Can we see parking information when looking at a parking lot? • Can we see Tweets when the Twitter layer is enabled?
Project Plan • Server implementations will need to be completed before the system can be fully tested. • Development of Client and Server software will overlap. • Some team members will focus on client, some on server.
Development Requirements • Macintosh workstation – XCode and iPhone SDK only run on Intel-based Macintosh machines • Apple iPhone Developer Certification – required for testing code on iPhones • iPhone 3GS • Server hosting costs
Expected Outcomes • Complete implementations of Client Application and supporting servers. • Source code will be reused by others who wish to experiment with AR. • Students will have a resource for campus information. All project source code for Client Application, Directory Server, and Data Server reference implementations is to be released under the Limited GNU Public License, allowing it to be reused in any academic or commercial project.
Conclusion • First open-source consumer-level AR system • Open client/server architecture that allows for well-distributed 3rd-party data sources