The Monolith Design and Construction
The Monolith unit is based upon a conference podium design. The main aspects to be designed and created are:
· The box which will hold the electronics.
· The surface design - for the frame and the chosen FTIR method.
· The right choice of acrylic for the surface
· The IR LED Array
· The right hardware configuration
Surface construction
What plastic?
The correct type of surface material is paramount to the success of the touch screen surface. What determines the right choice is dependent on the method of infra red feedback used. Glass will happily work on the adaptation of Lee’s Wii multi touch whiteboard system, but it is worth noting that light distortion and reflection is common in glass so may cause unforeseen problems. The prototype created for this method did not show any ill effect of using glass. Standard glass cannot be used for FTIR as it will not facilitate internal reflection [1][6][7][10].
Cast acrylic has excellent optical transmission quality’s allowing around 98 per cent of light to pass through the material with only 2 per cent reflection which makes it perfect for internal reflection and so the FTIR method. Cast acrylic has no ill effect on any of the methods so seems the right all round material for surface computing and especially the convergence of DI and FTIR.
LED wiring method for FTIR
One method of creating the LED array which surrounds the cast acrylic sheet is to wire approximately 64 infrared LEDs in parallel within a square of rails constructed to fit around the sheet.
Holes are drilled into the rails for the LEDs so they are facing inwards to illuminate the edge of the acrylic sheet.
Once the LEDs have been placed into the hole, they are wired in parallel with 8 ohm resistors for every 8 LED’s all powered over a 12 volt DC adaptor.
Once the LED rails have been constructed they will then be slid onto the sides of the acrylic sheet and surrounded by a purpose built housing or covering to shield the electrics from damage and the user from electrocution.
To reduce cost LEDs in individual sets of 8 wired in parallel were also tested along two edges of the frame giving 24 LEDs along each edge. Again it worked quite well and gave adequate infra red blobs but a greater illumination was desired. At this stage LED ribbon usually used in high grade internal refraction for corporate signs or high power outside lighting was advised. .
IR LED ribbon
There are manufacturers who create LED ribbon for construction and garden aesthetics. At least one of these manufacturers have been persuaded by the touch screen community to manufacture Infra red LED ribbon.
These are excellent solutions for the enthusiast not comfortable at electronics, but are also being used more and more because of the greater illumination and angle of light achieved which is up to 120 degrees opposed to 45-60 using LED diodes from standard electrical hardware supplies. The ribbon supplies 60 LEDs per meter which floods the acrylic with infra red light. This was found to be by far the best solution and gave extremely responsive and high resolution infra red blobs for tracking. As so was chosen for the final monolith design.
Framing the screen
The IR ribbon or the LED rails need to be enclosed into an outer frame. This finishes the look of the unit but also protects the user from the electrics and the electrics from the user it also shields the user and tracking camera from stray infra red light.
The frame is designed with two layers (frames) with the IR arrays and then on later prototypes IR ribbon was sandwiched between. The two frame halves were constructed in very much the same way a standard picture frame is, with mitre joints glued and tacked together.
Projected Light Surface Diffusion
The surface of the screen that the IR and visual light is to be projected onto needs to be diffused so that the user can clearly see the computer interface and to limit infra red reflection from the rear surface. The best way of doing this is to place a sheet of architects vellum or tracing paper onto the underside of the screen, thin enough so the IR light can penetrate the sheet but enough so the visible light can be diffused [1]. Other people have used rear projection surfaces placed on the top of the acrylic which works well for the visual light projection but can only be used in the FTIR method with a transparent complaint surface(next section) as these rear projection screens filter out infrared light from the spectrum making DI impossible.
Compliant surface
FTIR is said to work best with a compliant surface[1][10], a surface laid on top of the acrylic which acts as a projecting surface, giving the user a direct contact with the graphics rather than when a diffuser is used below the screen, which gives a gap the thickness of the acrylic used.
The compliant surface temporarily bonds with the acrylic when pressure is applied; this triggers the frustration of the IR light within the acrylic. The added benefit of the compliant surface is the slight give of the material, adding finger pressure recognition to the multi touch screen.
The compliant surface tested on the monolith screen was a 2mm thick translucent silicone rubber sheet which acted as a projection sheet and adding pressure response to the screen. It worked reasonably well but the response I felt was greater using the bear acrylic so a complaint surface was not added.
Monolith Casing design
The casing design for the monolith was to mimic that of a traditional conference podium so as to be in keeping with what people expect to see on a conference stage. It has to be tall enough to be comfortable to stand at and deep enough for the projector to be able to project a large enough screen. It was decided around 900 mm would be the optimal height for most people and enough for the projector to throw a screen to fill enough of the available 600mmx600mm surface. There is an access panel fitted to the back of the unit for maintenance of the internal workings. Finally the unit is supported by four casters for easy movement over short distances.
The Signal Flow of The Monolith
To enable multi touch interfacing - we starts with the surface and the frustration of IR light from that surface. The surface is comprised of an 8mm thick piece of acrylic sheet which is surrounded by a length of IR LED ribbon. The ribbon lights the edge of the acrylic causing internal refraction that light within the acrylic sheet. When the sheet is touched the light is then frustrated and escapes at the touch point.
The points of touch where the IR light escapes are the basis for the multi touch tracking.
The light escaping the acrylic is then able to be tracked via a modified web camera. The web cam for the monolith was modified by opening the lens and removing the IR filter found in most domestic cameras. The purpose of this filter is to remove IR light from the captured image in general use. The function of the camera in the use within the monolith is to track the IR light released from the acrylic surface so this filter needs to be removed for this principal to work. Once this filter is removed a visual light (IR pass) filter is then added to filter out the visual light existing below the IR spectrum. Removing the visual light of the screen projected onto the surface is to ensure the visible spectrum does not interfere with the tracking of the finger touches.
The image then received by the camera is inputted into a software system (Tbeta/CCV) which is designed to track the location of the finger touches in relation to the interface projected onto the same screen. The system uses high level maths to form a relation ship between the locations of the touch in comparison to where that touch relates on the projected interface. This is done with a calibration screen projected onto the touch screen which indicates locations to be touched in a pre- designed order. The user touches the points in order, then the software watches for bright spots to appear on the screen. This enables the system it to know the exact position of the screen projection and touch points relating to it (for more information - please contact the NUI group creators of Tbeta and CCV).
Once the signal reaches the tracking software (Tbeta/CCV) the tracker converts the optical signal of the camera into data packets relating to X, Y co-ordinates of the location of the touch in relation to the graphical projection of the screen on the same surface. The tracking software then outputs this information in OSC a form of messaging originally designed to replace MIDI messaging used primarily in the sound and visual industries. This message can then be inputted directly into programs developed in various languages. C, C++, C#, Python, Java, Processing, Max MSP, Reaktor, superCollider and many more. However the interface designed for the monolith was always planned to be developed in AS3 which does not accept OSC messages. FLOSC is the bridging gap for this problem.
FLOSC
FLOSC is a java based program developed specifically for converting OSC messages into XML packets and vice versa for use with flash. This tool is an extremely powerful addition to a flash developer’s tool kit as it allows flash to communicate much more readily with programs developed not only in other languages but also flash to flash developments. It can communicate much quicker and with much more complexity than with flashes own XML sockets alone. FLOSC should be seen as a bridge for Flash to communicate it’s self to a much wider world of software development.
Flash and Multi touch
Once the OSC messages are converted into XML packets, the signal is in a relevant form for flash to pick up the signal and for the multi touch functionality to begin. The development of multi touch for flash is dependant on three external classes developed by the contributors to the NUI group – an open source community dedicated to all things multi touch. These classes enable –
· The input of the XML packets – The TUIO.as Class
· The conversion of this data to Events upon the stage - The TUIO.as Class
· The extension of the “MouseEvent” Class for added “TouchEvent” event listeners. – The TouchEvent.as Class
· The ability to rotate and scale objects using the new above events. – The RotatableScalable.as Class