Chronological Work Log

 

6.15.05

Began investigating compiling the AR tools for tutorial -- 39 build errors related to "#include" framework files (location).  PM - Song fixed file locations; builds ok!

 

6.16.05

Ran SimpleTest; built with no errors but ran w/errors associated w/OpenGL & GLUT.  Downloaded and installed GLUT 3.8 to the Frameworks directory per Song's discovery.  Got same errors upon running SimpleTest again--#1 = object non-aligned pointers being freed (various 6) and #2 = GLUTInit being called a second time.  SimpleLite ran fine.

 

6.17.05

Looked at code to try to determine difference between running SimpleLite and buggy, non-running SimpleTest code.  Discovered different "gsub" includes used.  Got AR cube in SimpleLite to spin.

 

6.21.05

Learned proper way to include Mac OS X GLUT Frameworks.  Learned difference between gsub.h & gsub_Lite.h and why SimpleLite runs and SimpleTest doesn't (kind of).  It's related to two GLUTInit functions being called--one in gsub.h (used by SimpleTest) kicks the program out.  Completed an XCode/GLUT tutorial to learn how to properly develop Carbon C applications for Mac OS X in XCode and how to compile and use GLUT to produce simple graphics, manipulations, and animations.

 

6.23.05

Went through the code for the C AR program "SimpleTest" line-by-line, researched the functions, figured out what it did and how, and analyzed its structure for possible reasons for its not working.  The main procedure ends with "return (0)" and includes a call to a procedure called "init" which contains the function "GLUTInit".  This could be the cause of our error where GLUTInit is called a second time.  However, Song pointed out that the video paths did not seem to be opening the same as they do in the program "simpleLite" so even if the GLUTInit problem is solved, there may be other reasons preventing "SimpleTest" from running correctly.

 

6.24.05

Worked on analyzing the difference in the procedures between "SimpleTest" and "SimpleLite".  SimpleLite looks like original code for the ARToolkit; SimpleTest's documentation notes it has been modified and also lacks some of the standard ARToolkit comments, indicating it may have simply been added to the kit by third party.  Altered code for SimpleTest and got it to actually run and open up the video camera settings window correctly and open up a graphics window/context.  However, the graphics window was dark and did not relay video signal.  We believe the code may just not work on the Mac or may be incomplete (some functions seem to be missing and would require inclusion of three long procedures from SimpleLite which would make the two programs practically the same.  However, a possibility struck me that differences in the include OpenGL libraries may be preventing the programming from being able to draw the video in the graphics window (will mod these lines of code next time to test).  Also planning on compiling SimpleTest on a Windows machine to test if it's simply a Mac Unix issue or if it simply won't work on either machine because it's buggy and incomplete.  Interestingly, an AR demo downloaded off the internet for Mac that produces a virtual fireworks display runs with the title "SimpleLite" appearing on the Program Menu Bar.  We also realized that  by making the necessary changes to SimpleTest to make it work and making it practically the same as SimpleLite then the only difference between them is the inclusion of "gsub_lite.h" instead of "gsub.h".  gsub_lite.h adds some simplified functions but at the loss of several functionalities including stereoscopic HMD and GLUT event monitors.  However, tests showed that both gsub.h and gsub_lite.h could run simultaneously without problems so SimpleLite could still access the stereoscopic HMD and GLUT event functions by simply adding the inclusion of the gsub.h file in addition to gsub_lite.h and calling the appropriate functions.  Also, by noting that the drawing procedures for the cube was different in SimpleTest vs. SimpleLite we stumbled across the OpenGL/GLUT functions required to draw other shapes.  We were able to produce a hovering sphere off the marker instead of the cube and got it to spin, etc.  The only thing missing is the understanding of how to apply textures and shading to the objects in order to get Song's spinning planets.  We found some tutorials to learn how to do this and will look at these next session.

 

6.26.05

The OpenGL library difference theory turned out to not be the answer.  The #include code in "SimpleTest" is actually the same as in "SimpleLite", just written in a convoluted way.  We attempted to setup and compile SimpleTest on a Windows machine but ran out of time due to the number of pre-reqs that needed to be loaded first.  We will attempt to complete this next session as well as learning about adding textures to our 3D virtual objects.

 

6.27.05

Went through tutorials for coloring and texturing objects with GLUT.  Learned how to do it but couldn't compile it to do so.  We think this is due to not adding/linking all the correct libraries.  The specific code required is not long and we feel we could get it to go with time but agreed that we can't allow ourselves to get behind dealing with these details instead of investigating the other AR technology options first.  If we decide that ARToolkit is going to be our choice, then we will go back and spend the time to get this to work for us.  We didn't explore the installation of ARToolkit on the Windows machine due to networking problems that prevented us from installing the required pre-req's.  This will be done in pm to prepare for next session.

 

6.28.05

While preparing pre-req's to run ARToolkit and MXR Toolkit on Windows, the thought occured that perhaps the reason SimpleTest won't run on Mac is because it is using commands accessing DirectShow drivers (for PC).  A DirectShow driver installation is listed as a requirement for the PC installation of ARToolkit but not for Mac.  Downloaded/installed Visual C++ Express 2005, DirectX 9 SDK, Direct Show video library, glut, and open gl for windows.

 

6.29.05

Tried to include missing frameworks and libraries that were indicated when we tried to compile glut and DSVideo. Failed.  Next we'll move on to DART under Song's direction. We'll return to the last step of ARToolkit and MXRToolkit at a later date once we can ascertain the problem with Windows.

 

6.30.2005

Song downloaded and installed DART 2.0 for Mac OS X.

 

7.5.2005

Tried to run DART test file LiveVideo. Unsuccessful.

 

7.6.2005

Tried to run DART tutorial 1.3 test file for camera test. Unsuccessful. Do we have the right type of camera. What type of camera do we have? We may have more sucess with DART when we get a fast PC.  Web design sketches.

 

7.7.2005

Started work on website.

 

7.8.2005

Continued work on website.

 

7.11.2005

Successfully ran Dart test file MarkerTracking.dir using primitive objects. Solution was adding the right file path for data files and changing video size to 320x240.  Unsuccessful in using shockwave 3d models instead though the objects would work when just dragged and dropped onto the timeline.  Wrote an email to the Georgia Tech peeps for help on using Shockwave 3D objects instead of the primitives.  Found that DART has the ability to use tracking methods other than simple fiducial marker tracking, including GPS, InertiaCube, and Intersense products.  This would be a very big plus allowing the arena to be free of the clutter of cryptic visual markers everywhere one needed augmented content to appear.

 

7.12.2005

Got response on email inquiry.  Tried resetting scale of objects and changing duration of actors on the timeline to no avail.  Tried to create a Shockwave object that replicated the primitive in every way including size (6cm) and default textures but still got no display of the augmented object.  Primitives work fine.  Got an additional offer for help by someone willing to look at importing our Shockwave 3D object in place of the primitive.  Waiting for reply.  Song suggested her computer did not meet the minimum recommended requirements.

 

7.13.05

Still waiting for that reply.  Making a short screen capture video to document DART success so far.

 

7.14.05

Caught up on our documentation.  Looked at script and focused on one part of code regarding model hierarchies and display but didn't know where to go from there.  Got response from Maribeth pointing out the solution in that area we had focused on.  Figured out that  the marker patterns used by DART are mapped to the same coordinate system, creating a mega-pattern.  Officially requested and was granted webspace from Gavin.

 

7.15.05

Tried to get propeller/plane animation to appear unsuccessfully.  Couldn't even get the plane to appear.  Attempted rescaling the plane with no success.  Decided to create a more simple test animation of a cube that would oscillate on x, y, and z axes.  The cube appeared but didn't animate.

 

7.18.05

Song suggested looking at the LINGO behavior for playing keyframe animations.  This led to the discovery of the "Actor Actions" DART event which allowed one to play an animation upon receiving a "cue".  A simple time-based cue set to start playing the animation immediately allowed us to successfully see the cube/axes animation.  Based on this success, we tried the more complex plane/propeller Shockwave 3D model animation and were also successful with this.  However, in doing so we noted several artifacts with regard to the translation of models from Cinema 4D to Shockwave 3D format--deformations and array copy instances and some textures didn't appear to work.

 

7.19.05

Continuing from the previous day's success, we investigated how to initiate different kinds of cues to start, stop, and manipulation animations.  Specifically, we were able to use the keyboard to control animation sequences.  This may prove to be very useful since we may pass SMS type messages between Mission Control and the Window to control augmented content.  We successfully placed two separate augmented objects upon the stage.  Figured out how to standardize model scales.  Discovered this by changing the size of a planet that our little Star Trek ship orbited without changing the scale of the ship.  Exported models aren't given absolute units but are simply given relative numerical values, therefore having objects of the same scale is as simple as having the overall sizes be numerically close.  Successfully associated augmented content with  a different set of fiducial markers.  We experimented somewhat to no avail with changing marker orientation definitions to learn more about them.  Found a weird off-ratio tracking problem with some files but this was fixed by rebuilding the .dir file.  We figured out how to standardize the augmented models' orientation and how the axes were translated upon import/export.  This was related in part to figuring out the mapping and the world coordinate system for both the markers and how the objects were displayed in the augmented view.

 

7.20.05

Looked at DART Wizardry and Physics.  Wizardry appears to allow communication between to different DART applications using standard IP addressing (cool).  This may also lead to a technical solution to Mission Control/Hubble Window communications.  The Physics behaviors would allow gravity and other aspects to be added to our 3D models with "relative" ease.  Spent 4 hours trying to catch up on documentation but not getting much done due to video compression problems.  Emailed Gavin about FTP access problem.

 

7.21.05

After giving up, we decided to live with out-of-sync audio in a Flash Video (FLV) format for video documentation of our successes.  Caught up on remaining documentation and started to work on putting our site together and uploading it.  Practically finished with DART investigation but would like to see how a DART application appears on the PC especially since it is likely that a mobile Hubble Window will be on a PC platform due to Apple's lack of such products.

 

7.22.05

Uploaded first version of website.

 

7.26.05

Started searching websites for grant info.

 

7.27.05

Found a few good grants that may be applicable from NSF and NASA.

 

7.28.05

Emailed Ray regarding making contacts with the Chabot Space & Science Center for possible partnership.  Read more in-depth about grant options.

 

7.29.05

Received reply from Ray who suggested we contact James since he thought that former students had partnered before with Chabot.

 

8.1.05

Began searching for corporate grants.  Searched for different tracking options and costs/benefits.  Most systems are expensive (~$10,000+).  Remembering that Conspiritus had used a tracker of some sort, we go to their website and try to send them an email to find out what they went with and why.

 

8.2.05

Continued searching for corporate grants.  Found the IDEAS grant which sounds ideal. Settled on a few different AR tracker options.  Need further investigation.  Low cost option with high range but possibly bad accuracy and tethered to field antenna is DC magnetic tracker, SpacePad used for many VR games.  ~$1000

 

8.3.05

Visited the Exploratorium to get content, design, and construction ideas.

 

8.4.05

Continued searching for corporate and government grants.

 

8.5.05

Continued searching for corporate and government grants.  Song added a PayPal donate button since we're now looking into funding possibilities.

 

8.10.05

We investigated another possibility discussed in our original project proposal--markerless, feature-based tracking.  We downloaded and test ran two demo programs from the CV Lab in Lausanne.  One tracks facial features and adds AR glasses and a mustache.  This tracked X, Y, & Z position information but seemed buggy and would not track pitch, roll, and yaw orientation information unlike the code they're using in their own labs.  The other demo would only track the specific cover of a book they had programmed.  It appeared it might be possible to change this tracking data, but it used a very unusual format that didn't appear to be very often used or well-documented elsewhere on the web.

 

8.19.05

Brainstormed content idea shift towards human relationship with the heavens/space throughout history.

 

8.23.05 - 8.24.05

Continue web search and bookmarking possible products which may serve as a sensor-based tracker instead of, or in addition to, optical fiducial markers.  Worked on adding our original proposal presentation video to the site.  Project Management areas were also updated.  Start web search and bookmarking possible products which may serve as our "Hubble Window".

 

8.25.05

To make sense of the overwhelming number of window platform options Song begins work on a spreadsheet to compare the different features, options, and drawbacks of each viable product.   Stephen begins work on a spreadsheet to compare the different features, options, and drawbacks of each viable AR tracking product.

 

8.26.05

Looking for advice from Conspiritus earlier in the week on tracking sensor technology, we discovered that Steve Kearsley works for the Exploratorium.  Finally got ahold of him today.  He provided a few tracking ideas to build upon with regard to use of the Teleo boards and how we might be able to use them because they have Actionscript drivers which may be accessible from Macromedia's Director which DART uses. He couldn't give us much with regard to partnership opportunities or sensor specifics.

 

8.29.05

Project Management areas were updated.

 

8.31.05

Visited the U.S.S. Hornet for video, stills, and information with relation to its role in the retrieval of the Apollo 11 and 12 astronauts.

 

9.2.05

Discussed user environment and dome room projection possibilities.  Song brought up the idea of having the table be in the same geometric pattern of the Stonehenge arrangement or other for relation to cosmological influence on architecture and interface design.  A hexagonal-based table would be good and would allow for six "sectors" of information to be displayed around the table for viewing from different points of view.  Finished spreadsheet and main analysis of window platform and AR tracking options.  If a tablet PC is used, we are leaning toward the HP Compaq TC1100--lightweight, powerful, and relatively inexpensive for a tablet PC (~$1000).

 

9.4.05

Song developed some concept sketches for a dome room user environment with projections on the walls.

 

9.5.05

Did some research on symbolic representation of the planets and their glyphs.

 

9.6.05

Searched the web for more "low-level" sensor technologies that we could use in conjunction with Teleo boards if we decide to make our own motion tracking sensor and program the transformations ourselves in DART.  Found a good option with respect to performance and price--6DOF IMU (Inertial Measuring Unit), ~$450.  Due to the unlikelihood of a partnership and outside funding, we re-evaluate the details of our comparison "component-based system".  Discovering new AR Tracking options (should we use them), the component-based system seems like it could be quite powerful (better in some respects) compared to using a tablet PC and nearly half the cost.  The only real drawback is the time to develop, construct, test, and troubleshoot.

 

9.7.05

Far behind, we begin to seriously look at the grant deadlines, eligibility, and requirements for application.  The deadline for the IDEAS grant we'd bookmarked had already passed some time ago.  Most have.  The others will not award to individuals--just organizations.  We need a partner but are quickly giving up hope on getting suggestions from CSU faculty on who might be receptive.  We don't feel like we have the time to "cold call" those we're interested in, and budget/content-wise it is starting to look like we could pull off a good project without a partner or external funding source.

 

9.8.05

We decided to try to search around for foundation grants and such that WILL make awards to individuals (or through schools).  We found a few but their deadlines had also passed.  I thought this might be the case initially where we would have had to apply in the Spring to get funded for the following year but it would have been problematic to apply for a grant at that time since we had not broken up into project teams and had no project to propose yet.  Most of the "multimedia" grants we found seemed to also only target film projects.  Our program 9and project's) particular niche seems to be a hard area to find funding for.  We pretty much agree at this point that we're pretty much on our own with regard to funding.

 

9.10.05

Song discovered some information indicating that 3D panels defining markers in the shape of a cube/room is possible.  Though we had an idea on this earlier this summer, we didn't know where to begin.  Song's discovery led to Stephen finding resources explaining how to perform the necessary mathematical matrix calculations required to define a matrix panel of virtually any shape (2D or 3D) for strategic placement of world coordinate markers within the user's environment.

 

9.11.05

Project Management areas were updated.