Difference between revisions of "Magic Lens"

From Immersive Visualization Lab Wiki
Jump to: navigation, search
(Resources)
(TO DO)
 
(45 intermediate revisions by 2 users not shown)
Line 4: Line 4:
  
  
===Progress Updates===
+
===Significant Updates===
* Feburary 12 : Enabled access to dtrack on MagicLens CalVR plugin. MagicLens can now track and interpret movement of sensors based on dtrack's given orientation/rotation values.
+
* June 6: Implemented core functionality based on "Generalized Perspective Projection, Robert Kooima, August 2008"
  
* Feburary 1 : Client-end(Android Device) can now handle custom IP addresses.
+
* May 7: Enabled camera position and perspective manipulation on android client with accordance to motion trackers.
  
* January 18 : Configured workspace and OpenSceneGraph for android.
+
* April 26: Sample camera tracking manipulation tested on viewer on desktop.
  
 +
* March 12: Enabled camera position manipulation on android client with accordance to motion trackers.
  
 +
* February 27: Implemented view-frustum updating on android client with accordance to motion trackers.
  
===TO DO===
+
* Februrary 26: Resolved several TCP/IP packet/connection issues and began transforming android client using values passed from dtrack.
* Pass/Calculate rotation values to client-side (Android) version of Magic Lens
+
* Add the rotation matrices to Scene Graph, and watch the magic happen!
+
  
 +
* February 14: Implemented necessary library functions from dtrack API (Angles, Position Matrices, etc.). Allowed access to shared memory location in order to pull values from the Sensors to the server.
  
 +
* Feburary 12 : Enabled access to dtrack on MagicLens CalVR plugin. MagicLens can now track and interpret movement of sensors based on dtrack's given orientation/rotation values.
 +
 +
* Feburary 1 : Client-end(Android Device) can now handle custom IP addresses.
 +
 +
* January 18 : Configured workspace and OpenSceneGraph for android.
 +
 +
===TO DO===
 +
* Tweak current rotation functionality.
 +
* Enable headtracking to alter the perspective of view on android.
 +
* Enable debugging or simulator mode for android to display data and enable default position.
 +
* <s>Figure out what dtrack values are scaled to</s>
 +
* <s>Pass/Calculate rotation values to client-side (Android) version of Magic Lens</s>
 +
* <s>Add the rotation matrices to Scene Graph, and watch the magic happen!</s>
  
 
===Known Bugs/Issues===
 
===Known Bugs/Issues===
* Connection Issues - Android application connects to CalVR only on Rubble and Gneiss ~ Needs to open up firewall permissions (port 28888) on other computers before being able to connect
+
* Current version allows the camera to rotate incorrectly.
* Android application occasionally freezes or crashes without warning
+
* Connection Issues  
 +
** Needs to open up firewall permissions (port 28888) on the computer before being able to create a connectable server
 +
** Server connection hangs if Android client is not forcibly quit before CalVR closes (Workaround: '''Always force close Android client before closing CalVR''')
  
 
==Additional Information==
 
==Additional Information==
Line 28: Line 44:
 
* Tracking device panning and replicating movement on CalVR
 
* Tracking device panning and replicating movement on CalVR
 
* Heading tracking and replicating displaced object on device
 
* Heading tracking and replicating displaced object on device
 +
* Expand to interaction and application with Archaeological artifacts
 +
* Communication between other plugins
  
  
Line 40: Line 58:
  
 
===Resources===
 
===Resources===
* /usr/local/trackd/etc/trackd.conf Dtrack Memory Location
+
 
* file:///home/calvr/CalVR/doc/html/classcvr_1_1PluginHelper.html#a50da32d210cff2d68c4564cb189953a7
+
'''Computers that can connect using MagicLens:'''
* [http://www.isotton.com/devel/docs/C++-dlopen-mini-HOWTO/C++-dlopen-mini-HOWTO.html Open Dynamic Libraries]
+
 
 +
*Gneiss - xxx.xxx.119.202
 +
*Rubble - xxx.xxx.119.176 (Android Application Default)
 +
*Shale  - xxx.xxx.118.124
 +
 
 +
'''Local'''
 +
* Starting and Stoping Dtrack commands
 +
** ps -ef | grep trackd
 +
** /home/calvr/trackd start
 +
** /home/calvr/trackd stop
 +
* Dtrack Memory Location
 +
** /usr/local/trackd/etc/trackd.conf
 +
* Plugin Helper Functions
 +
** file:///home/calvr/CalVR/doc/html/classcvr_1_1PluginHelper.html#a50da32d210cff2d68c4564cb189953a7  
 +
'''Online'''
 +
 
 
* [http://developer.android.com/reference/packages.html Android API]
 
* [http://developer.android.com/reference/packages.html Android API]
* [http://beej.us/guide/bgipc/output/html/multipage/shm.html Accessing Shared Memory Locations]
+
* [http://www.isotton.com/devel/docs/C++-dlopen-mini-HOWTO/C++-dlopen-mini-HOWTO.html Open Dynamic Libraries]
 +
* [http://www.openscenegraph.org/projects/osg/wiki/Support/Tutorials/CameraControl OSG Camera Control Tutorial]
 +
* [http://www.cs.utah.edu/~thompson/vissim-seminar/on-line/CruzNeiraSig93.pdf CAVE Paper]

Latest revision as of 15:18, 13 June 2013

Contents

Project Overview

The project is building upon the work found in the prior project ArtifactVis with Android Device. The goal of MagicLens is to allow the user to use an android device as a "magical lens" to view the world. The device will update its perspective on the world depending on its location in the world. Additonally head tracking will affect how the world is displayed depending on how it is viewed by the user.


Significant Updates

  • June 6: Implemented core functionality based on "Generalized Perspective Projection, Robert Kooima, August 2008"
  • May 7: Enabled camera position and perspective manipulation on android client with accordance to motion trackers.
  • April 26: Sample camera tracking manipulation tested on viewer on desktop.
  • March 12: Enabled camera position manipulation on android client with accordance to motion trackers.
  • February 27: Implemented view-frustum updating on android client with accordance to motion trackers.
  • Februrary 26: Resolved several TCP/IP packet/connection issues and began transforming android client using values passed from dtrack.
  • February 14: Implemented necessary library functions from dtrack API (Angles, Position Matrices, etc.). Allowed access to shared memory location in order to pull values from the Sensors to the server.
  • Feburary 12 : Enabled access to dtrack on MagicLens CalVR plugin. MagicLens can now track and interpret movement of sensors based on dtrack's given orientation/rotation values.
  • Feburary 1 : Client-end(Android Device) can now handle custom IP addresses.
  • January 18 : Configured workspace and OpenSceneGraph for android.

TO DO

  • Tweak current rotation functionality.
  • Enable headtracking to alter the perspective of view on android.
  • Enable debugging or simulator mode for android to display data and enable default position.
  • Figure out what dtrack values are scaled to
  • Pass/Calculate rotation values to client-side (Android) version of Magic Lens
  • Add the rotation matrices to Scene Graph, and watch the magic happen!

Known Bugs/Issues

  • Current version allows the camera to rotate incorrectly.
  • Connection Issues
    • Needs to open up firewall permissions (port 28888) on the computer before being able to create a connectable server
    • Server connection hangs if Android client is not forcibly quit before CalVR closes (Workaround: Always force close Android client before closing CalVR)

Additional Information

Project Goals

  • A sophisticated and intuitive user experience
  • Tracking device panning and replicating movement on CalVR
  • Heading tracking and replicating displaced object on device
  • Expand to interaction and application with Archaeological artifacts
  • Communication between other plugins


Developers

Software Developer

  • Tony Chan
  • Michael Chao

Project Advisor

  • Jurgen Schulze


Resources

Computers that can connect using MagicLens:

  • Gneiss - xxx.xxx.119.202
  • Rubble - xxx.xxx.119.176 (Android Application Default)
  • Shale - xxx.xxx.118.124

Local

  • Starting and Stoping Dtrack commands
    • ps -ef | grep trackd
    • /home/calvr/trackd start
    • /home/calvr/trackd stop
  • Dtrack Memory Location
    • /usr/local/trackd/etc/trackd.conf
  • Plugin Helper Functions
    • file:///home/calvr/CalVR/doc/html/classcvr_1_1PluginHelper.html#a50da32d210cff2d68c4564cb189953a7

Online