Multi-Touch Table
During my senior year at The George Washington University, I created a multi-touch table and a multi-touch framework for building visually rich touchscreen applications. The framework features a hardware-accelerated drawing stack powered by OpenGL to perform computationally expensive graphics operations. The framework relies solely on vector graphics to render graphical components - including text and font - to support an infinitely scalable computing environment. The framework also integrates with Open Sound Control (OSC) and Table-Top User Interfaces Objects (TUIO) for processing multi-touch events.
Functional Requirements
The goal in designing and building a multi-touch table was to create a cheap, reliable and flexible environment to develop multi-touch applications and evaluate multi-touch interactions on horizontal surfaces. Specifically, the objective was to construct an environment which allows the exploration of new ways to interact with a multi-touch computing device. The relevant requirements were the following:
- Accessibility:
- The table must be designed such that it is possible to access the multi-touch surface from all sides.
- Finger & Marker Tracking:
- The multi-touch surface theoretically must be able to track an unlimited number of fingers on its surface. It must also be able to recognize fiduciary markers.
- Table Height:
- The table must at most be 70cm tall to allow interaction while being seated.
- Surface Size:
- The multi-touch surface must have a diagonal of at least 100cm.
Design
The Rear Diffused Illumination technique was chosen and used because the setup process was simple and offered numerous features which met all the specifications of this project. This technique uses a rear-projection system to create a visual touch surface, which also supports fiduciary markers. An acrylic surface covered with a projection diffuser is illuminated from inside an enclosed box with infrared light. Fingers and objects on top of the surface reflect the light back, becoming visible to a camera inside the box which s pointing up to the surface from below.
Diffuser Screen
A 3mm Acrylite 7D512 (Light Grey) rear-projection diffuser is used as the diffuser for this table.
Input
A PlayStation3 Eye is used to capture touch input. It provides a resolution of 640 x 480 pixels with a maximum frame rate of 60 frames per second, which performs well enough for the purposes of this table. The camera is mounted directly below the center of the touch surface to capture input. The camera has been stripped of most of its outer plastic to provide additional distance from the touch surface. The height of the camera with only the circuit board and the lens at is 4.0cm. With this metric it is possible to determine the projection view of the camera with the following formula:
y = height - 4.0cm
The PlayStation3 Eye has an adjustable field of view which can be set to 50 degrees or 75 degrees. The following are the formulas to calculate the viewing frustum of the camera with a field of view of 50 degrees and 75 degrees, respectively:
x = 0.89 * y
z = 0.66 * y
x = 0.122 * y
z = 0.94 * y
The camera uses the 75 degree field of view for the multi-touch table.
The stock filter of the camera has been replaced with an infrared band pass filter which blocks visible light and captures infrared wavelengths of approximately 850nm. This ensures that the camera only sees infrared light and that visible light sources - such as those from the projector or light sources in the environment - cannot be seen by the camera and hence do not interfere with recognition.
Illumination
As is traditional in a standard rear diffused illumination setup, four 850nm infrared illuminators are used as the primary light source. Each illuminator holds 48 LEDs and operates at 12V. They are mounted in the four corners of the table, pointing upwards to project the light towards the table surface.
Output
The space of the table is extremely limited given the size of the projector, which is approximately 11" x 13" x 5". Even though the projector is a short-throw projector specialized to project at small distances, a mirror was used to fold the projection path of the image. The mirror had to be adjusted carefully in order to produce an undistorted image. The projector in use is a NP500WS LCD Short Throw Wide HD Video Projector with a resolution of 1280 x 800 pixels, an aspect ratio of 16:10, and 2000 lumens. It produces an image size of approximately 102cm x 64cm.
Structure
The table itself it constructed out of oakwood.
Code, documentation and videos coming soon...