The AR Workbench: A Complete Co-located Reach-in Mirror-Based ...
The AR Workbench: A Complete Co-located Reach-in Mirror-Based ...
The AR Workbench: A Complete Co-located Reach-in Mirror-Based ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Marlon Richert, Master’s <strong>The</strong>sis, Friday, 23 February, 2007<br />
arm. Second, the current setup is <strong>in</strong>herently limited <strong>in</strong> the k<strong>in</strong>d of tools it can<br />
simulate, s<strong>in</strong>ce the handle does not conta<strong>in</strong> any moveable parts. For example, it is<br />
quite unfeasible to use it to control virtual scissors, wire cutters, clamps or tongs,<br />
s<strong>in</strong>ce there is no way of <strong>in</strong>dicat<strong>in</strong>g whether the tools should be opened or closed.<br />
Add<strong>in</strong>g a simple button to the handle that the user can press with their thumb<br />
should alleviate this problem. Unfortunately, the requirements did not foresee <strong>in</strong><br />
this.<br />
Performance of the roles module when us<strong>in</strong>g only a few Role–Target<br />
comb<strong>in</strong>ations with only few Sensors and Regions, respectively, is good, as the<br />
system causes no noticeable additional delay beyond that already present <strong>in</strong> the<br />
real-time stereoscopy. However, add<strong>in</strong>g more comb<strong>in</strong>ations with a greater number<br />
of Sensors and Regions causes the number of B<strong>in</strong>ds necessary to implement the<br />
logical conjunctions to grow exponentially due to the number of possible Sensor–<br />
Region permutations, dramatically <strong>in</strong>creas<strong>in</strong>g startup times and memory usage of<br />
the system—though fortunately not responsiveness. <strong>The</strong> system could avoid this if<br />
IPF supported <strong>in</strong>tersection check<strong>in</strong>g between Regions, <strong>in</strong>stead of only between<br />
Pivots and Regions, but unfortunately, it does not. In addition, you normally do not<br />
want all Pivots of one Role to be <strong>in</strong> one Sensor but rather only have adjacent Pivots<br />
<strong>in</strong> the same sensor, s<strong>in</strong>ce callbacks only execute when all Pivots <strong>in</strong> one Sensor have<br />
entered a Region. Depend<strong>in</strong>g on the shape and function of the act<strong>in</strong>g object, this<br />
can become a comb<strong>in</strong>atorial problem lead<strong>in</strong>g to an explosion <strong>in</strong> the number of<br />
Sensors as well, further compound<strong>in</strong>g the problem. Thus, the system currently works<br />
best with virtual tools that have very specific and local <strong>in</strong>teraction po<strong>in</strong>ts, such as<br />
po<strong>in</strong>ters, hooks and forks.<br />
One of the ma<strong>in</strong> sources of complication with the implementation of the software<br />
is the fact that IPF was simply never <strong>in</strong>tended for highly <strong>in</strong>teractive virtual<br />
environments. It has good support for triggers, buttons and timers, but no real<br />
support for, for example, collision check<strong>in</strong>g, bound<strong>in</strong>g boxes or cont<strong>in</strong>uous<br />
<strong>in</strong>teraction. This has been an ongo<strong>in</strong>g source of frustration dur<strong>in</strong>g the development<br />
of the software. All <strong>in</strong> all, IPF turned out to be a significantly limit<strong>in</strong>g factor <strong>in</strong> the<br />
development of the system, necessitat<strong>in</strong>g complicated workarounds for the absence<br />
of certa<strong>in</strong> features <strong>in</strong> IPF, such as, for example, the creation of Sensors <strong>in</strong> order to<br />
compensate for the lack of true collision detection support. <strong>The</strong> creation of these<br />
and others workaround caused a lot of overhead that could have perhaps been<br />
better spent on elsewhere had the project made use of a development platform<br />
better tailored to VR <strong>in</strong> general and highly <strong>in</strong>teractive VR <strong>in</strong> particular.<br />
Notwithstand<strong>in</strong>g all the above, however, the system can still def<strong>in</strong>itely be used to<br />
implement all k<strong>in</strong>ds of application. First, the system is def<strong>in</strong>itely suitable for<br />
implement<strong>in</strong>g the visionary scenarios outl<strong>in</strong>ed <strong>in</strong> chapter 4. Indeed, food therapy<br />
and the Book of Life def<strong>in</strong>itely belong to the realm of possibilities with the f<strong>in</strong>al<br />
workbench prototypes. Second, many other applications also come to m<strong>in</strong>d. One<br />
example would be an application with which an architect could view a 3D model of a<br />
bluepr<strong>in</strong>t and lift off the roof or remove a wall with the use of a virtual tool. Another<br />
example would be games, such as virtual air hockey or table tennis. In short, the<br />
system might have its shortcom<strong>in</strong>gs, but it is still def<strong>in</strong>itely functional and useful.<br />
42