Topic outline

  • Welcome!

    You are a computer programmer at an engineering firm. Your boss recently attended a conference where he heard several lectures on 'Augmented Reality.' He is very excited about it, but can't explain what Augmented Reality is very well. He knows is that it can use the camera on your iPhone and label the things that your camera sees, but feels there are applications on other platforms as well, such as normal webcams or even special goggles.

    He wants you to investigate this technology further and find some possible applications that the company could pursue. At the end of your research, he wants you to:

    • give a short presentation to the board of directors about what Augmented Reality is,
    • pitch to them three ideas for a possible Augmented Reality application, and
    • describe some of the available Augmented Reality programming suites to implement these ideas, and what their benefits and limitations are.

    • What is Augmented Reality?

      Augmented Reality is essentially taking a view of the real world, and overlaying computer-generated data on top of it.  This video explains more:

      Read through the articles linked below to get a more in-depth explanation of Augmented Reality, and take the quiz to show your understanding.

    • Examples of Augmented Reality

      There are many possible applications for Augmented Reality.  To help you generate some ideas, this assignment will have you identify and catalogue several existing applications of AR, and why they are useful.

      For example, the following example shows how global elevation data can be used to overlay a virtual 3d representation over a flat 2d map of the same area.  This is useful because it can better represent the real-world location in virtual 3d than the 2d map; also, it could be used to help viewers interpret a 2d map better.

      Your assignment is to find three (3) examples of Augmented Reality, catalogue them each as a new entry in the database provided below, and explain how they are useful.  Use video and/or images as well as a few paragraphs to sufficiently describe the existing application.

    • How could we use this?

      Now that you have an idea of what's been done before, it's time to come up with some of your own ideas.  Submit three (3) possible new applications for Augmented Reality that are not currently covered in the wiki from the last assignment.

      Describe the problem each potential application is intended to address, and how your AR solution will do so.  Describe your AR app's general functionality by text, graphs, and/or illustrations.  Submit as a Word or PDF doc using the link below.

    • Augmented Reality Programming

      There are many different AR programming environments, with more being developed daily.  However, there seem to be three different methods used to identify the surroundings in the real world and draw the virtual content in relation to them.

      Sensors: The computer uses sensors like digital compasses, accelerometers, GPS, radar, etc to sense objects in the real world and draw the virtual data in relation to them.  These are most often used in vehicles and mobile phones.

      Fiduciary markers: This method refers to some easily-identifiable feature in the real world that the computer can visually detect as it analyzes the video feed from a camera.  The computer uses this marker as a reference point onto which to draw the virtual data over the real objects.  This term commonly refers specifically to black and white "barcode" symbols printed onto real objects.

      Markerless: This is a variant of the fiduciary marker system where the computer is programmed to detect markers that are not the black and white "barcode" symbols.  This could potentially be any feature in the real world as long as it is visually identifiable enough.  The complexity of detecting these features is greater, but has the capability to be more robust.

      Below are links to some AR programming tools available for use.  Visit each of the pages and beceome familiar with the methods they use and their capabilities.  Feel free to investigate them further to design and program your own Augmented Reality application!