How to get started on your own FTIR Multi-touch device Chris Delbuck
Transcription
How to get started on your own FTIR Multi-touch device Chris Delbuck
How to get started on your own FTIR Multi-touch device Chris Delbuck Spring 2007 DAI627: Digital Media 4 Prof. Paul Catanese Some things you should know first. Multi-touch is a term used for a touch based interface system that allows for multiple input points (in this case derived from touching a surface). Some of the inclusive benefits of a multi-touch system are: 1) suitable for multiple users 2) freedom from the cursor 3) higher quality input. FTIR: Frustrated Total Internal Reflection (or the frustration of Total Internal Reflection) This is the primary physical property that allows for this multi-touch approach to be possible. Total Internal Reflection is an “optical phenomenon” that occurs in transparent materials, in this case clear acrylic. Different mediums reflect, bend or pass light depending the angle at which the light approaches the surface. In this usage we want to keep the light utilzed for this method trapped inside the acrylic. The frustration occurs when a finger or other material with a higher refractive index come in contact with the medium conducting the total internal reflection. Acrylic: For the FTIR Multi-touch approach, clear acrylic sheet (”plexiglass”) is an optimal medium to use to achieve total internal reflection. However there are some individuals who have managed to achieve the TIR with polycarbonate materials. 1/4” thick Acrylic sheet is preferable because it will remain rigid enough for touch interaction and will be narrow enough to create more dense internally reflected light. Infrared Light (IR): Since this approach will use computer sourced projection and computer vision it is important to use a combination visible and non-visible (or near visible) light with each being designated to one of the components. The visible light will be reserved for display so the user has visual feedback to their engagement with the device. The IR (non-visible) will be used for the total internal reflection and a video camera to capture the points (touches) where the light is frustrated. IR light is light that exceeds a 750nm wavelength (visible light exists from 380 - 750nm). Since we cannot see it, the IR light can exist simultaneous to the visible light of the projection. The range of IR light used for this can range from 750 - 950nm, the decision will be made of the application and setting of its use and surrounding ambient light. A list of essential materials. Acrylic Sheet: 1/4” in thickness is optimal. The greater the thickness, the less number of reflections that occur, though this can be compensated with more IR light (would not suggest anything over 1/2“). Anything below 1/4” becomes potentially too flexible for touch and counterproductive to successful total internal reflection. Width and height are completely up to the application and usage of the multi-touch system. Camera: A CCD based camera that has the ability to send a digital signal to the computer is necessary to capture the points of frustrated light. A black and white camera is absolutely fine if not optimal for this application because more precise capture from black to white (or 0.0 - 1.0) can be achieved. Some USB webcams can be used for this, however higher quality Firewire based cameras are optimal. Lens: A lens that does not have an IR coating or filter integrated into it. Some webcams have a small layer of film that acts as an IR filter which can be removed. Visible Light Blocker: A means to prevent visible light from entering the camera is necessary, only the frustrated IR light from the acrylic is required to be captured. Common 35mm photographic negative film is a perfect material. Pull out any length from the roll (cartridge) and expose to direct sunlight for at least 5 - 10 minutes, then have the film processed at any lab. The returned material should be completely visibly opaque and dark in nature. Cut the film negative to size to fit between the lens and the image sensor of the camera (sometimes double layering is necessary). Projector: For the user to have a direct visual correlation to where their fingers engage the surface, a projection onto that surface is necessary. Any typical computer sourced projector should work in this application. Keep in mind different projectors have varying angles, so calculate the desired size of projection to the require distance the projector must have from the surface. If you are projecting a 4:3 ratio image you will probably want a piece of acrylic that will have a visible area also close to 4:3. IR LEDs: Light Emitting Diode’s will be the light source for the total internal reflection within the acrylic. You can choose LEDs with a visible light range from 750-950nm, depending on how much IR light might be ambient in the area. 840-850nm is typically a safe option. LEDs are typically 5mm in diameter, only go larger if the acrylic is thicker than 1/4”. The most important specification you must look for is the beam angle. Total angle of 80° is the maximum allowable for this process. Make sure when purchasing of the beam angle is referenced as total or half angle, half angle should be 40°. You will also need an adequate power source, resistors and length of quality copper wire for the LED configuration you choose. The number of LEDs needed depends on how large the area of touch surface is required. To achieve a high level of light, use one LED for every inch on the vertical (left and right) edges. Computer: One that can interface with the camera and projector being used. As well as adequate enough to process the video signal and drive a resulting projection. Two computers can be used, one for each task, with some communication bridge between them. Materials subject to variation. Framing and Structure: Something will be required to hold the Acrylic in place as well as hold the IR LEDs flush to the edges of the acrylic. Either wood or metal can work. Something sturdy enough to hold up the acrylic and keep it in place when used. I found some very cheap wood frames at IKEA that worked perfectly. I lined up the acrylic in between the two frames, secured the pieces with tape and clamps, then drilled through all three pieces uniformly. This allowed me to secure all pieces with four bolts and nuts. Adhesives: Some various tapes and glue are always helpful to keep things in place either permanently or temporarily. Projection Surface: One of the largest areas subject to variation is how to place the projection onto the relatively transparent surface. Since the nature of TIR is subject to frustration, its important to have a surface for projection that does not set off the FTIR effect. If between the projector and the acrylic, allows for IR light to pass through. Other Surfaces: Since bare acrylic is not necessarily the easiest to drag fingers across it becomes troublesome as an effortless touch surface, in fact the FTIR method requires some force from the fingers to activate. Ideally a “zero-force” approach with easy gliding would be the best for a worthwhile experience with the multi-touch system. FTIR in further depth. As light passes into the sides of the acrylic, it will remain reflected as long as the angle which it approaches the surfaces is less than 42.1° (the angle of total internal reflection of acrylic to air). Once something comes in contact to the surface of the acrylic with a higher refractive index, the internal reflection is frustrated and light will leave the acrylic at that point. Acrylic LED Internal Reflection Light beyond critical angle Frustrated Light Projection and other material layering. In my work I ended up using 4mm thick sheet of Mylar with a single matte side. This could lay flat against the back side of the acrylic and not set off the FTIR, it is also a very nice projection material as well. Some individuals have found a combination of layers that achieve this. Silicone Rubber and Rear Projection Screen allow for easy gliding and near zero-force FTIR. Utilizing clear silicone rubber (either a poured from a two part curing compound or pre-made sheet) no more than 1mm thick directly on the topside of the surface and then gray rear projection screen material on top of that seems to be one of the best configurations for an easy to use multi-touch system. The nature of the Silicone Rubber allows for a great deal of projected light to pass through, and only sets of the FTIR upon touch. The Projection Screen delivers great image quality from the projection and as very easy surface to engage with fingers. My Approach Another Approach Projection Screen Silicone Rubber Acrylic Mylar Acrylic Projection Projection LED configuration and acrylic edge preparation. Various approaches can be tackled in order to conduct TIR of IR light within the acrylic medium. Some individuals arrange LEDs on all 4 sides of the material, while others only do 1. I decided to do the left and right sides of the surface, placing an LED at every inch in the length of the surface that would be utilized for a touch area. What is also very important, is the preparation of the acrylic edges. Typically when the acrylic is cut with a saw, the edges are left very rough, which is not optimal for light transmission. There are various approaches to purifying the edge of any grain or roughness and have an appropriate clarity for the IR LEDs. One option is to use various grades of sand paper (in the order by grit, 100, 200, 400 and then 800) then polishing with either copper or brass polish. With mine, I opted to have the supplier use a router and flame polish the edges. This produced a very good edge quality for the infrared light. Hardware configuration. Most calibration to achieve an accurate visual correspondence to the physically touched area will occur in software, it is important to understand the relation where all of the components will exist. Though this is not the only configuration possible (mirror to alter placement can work) this is the arrangement in basic principle. The camera and projector must be placed on the opposite side of the surface from the user, being able to project and capture, visible and IR light respectively. 12VDC IR LIGHT IR CAMERA VIEWPOINT FRUSTRATIONS DIGITAL PROJECTOR SENDS IMAGE TO PROJECTOR IMAGE ANALYSIS SENDS IMAGE TO COMPUTER VISUAL GENERATED COMPUTER ESCAPED LIGHT Image Analysis & Visual Generation. For this proof of concept, it is necessary to illustrate the connection between where a user touches and how the device visually reacts to engagement. It is necessary for the furstrated areas (touches) to become seen by the IR sensitive camera. Then that signal is sentto the computer. The image is analyzed and based on development can include calibration, the resulted analysis is the generation of a visual response back to the surface where the user interacts with it. The left is a still from the IR Camera The Right is the projected image Image Analysis & Visual Generation. (cont.) The image being delivered from the camera to the computer is a grayscale image that will have white spots on a mostly dark background. The white spots come from where the internal reflection of the IR light in the acrylic is frustrated. The camera captures the touch areas as bright white blobs. These blobs captured by the camera are the main component to how the computer will interpret the image and generate a resulting visual response to the touches. Using blobDetection by v3ga (processing library), I was able to capture the image coming from the camera. In addition to camera capture, the software also allows for finding bright areas apart from dark areas in the image. These blobs are found based on areas in the image that fall above a set brightness level. Each blob detected is analyzed and has certain attributes computed. Each blob has an overall width and height, which is used to also find a center. The edge of the blob is broken up into edge points. The software can return the edge points one at a time, or two at a time to be used to create a line. There is also the functionality to access blobTriangles which takes two edge points at a time and the center point to return three points which can be used as vertices. Amongst the aforementioned types of data the blobDetection will return there are others as well. In most cases, centers will typically be the primary information be used, just to most accurately pin-point where the user is interacting. However the edges and triangle information could easily be used as a means to interpret pressure being applied by the user. Perhaps a blob generated by the palm of a hand touching the surface could create a different response than a fingertip. The Final Product. (Conclusion) Essentially the goal of this project was to at least get to a stage where the hardware was working with the FTIR approach and generating something basically responsive. This was achieved, and even on a simple level of reaction, still was very engaging for the small audience that was the first to witness the project in its “completed” form. Going through two prototypes in hardware was definitely a consumer of energy and work hours. The second prototype (shown below) was much more managable since I used prefabricated framing materials which were modified for this project. If this had been done as part of a group project with the knowledge and resources of the product designers in DAI, the end product could be something more substantial and applicable for public use. The possible software development for this hardware approach is almost endless. Since there is such a freedom for software development, the applications are almost equally broad. I believe the freedom from the tether of the mouse and keyboard are part of the fundamental quality to this technology, how that freedom is used is up to the developer. A Budget and Suggested Purchases. There are a varying array of materials that can be used for this project. There are the necessary items along with the options for low-end to high-end technology. I’ve also included a couple of alternative materials which would lead toward a better multi-touch experience. Essential components 1/4” Acrylic Flame Polishing Framing (wood or metal) Screws and Braces IR LEDs + Resistors Power Supply Mylar Copper Two-Wire $5.50 / sq ft. $1 per linear foot $25 - $75 $20 (72) 20° 850nm with Resistors | $38 $10 - $20 $3 - $5 per foot | 36”(w) 24¢ per foot The following can change dramatically on selection Camera / Lens / Housing $200 Optoma EP747 Projector $1499 Personal Computer $2000 Other suggested materials Rear Projection Screen $15.70 per yard / 55”(w) Silicone Rubber Sheet $36 per foot / 36”(w) Purchasing Resrouces 1/4” Acrylic IR LEDs + Resistors Mylar TAP Plastics www.tapplastics.com www.electronicpartsforless.com (custom packages) Arch www.archsupplies.com Rear Projection Screen Rosebrand www.rosebrand.com Silicone Rubber Sheet Acme Rubber www.acmerubber.com Online Literature Resources. NUI Group - http://www.nuigroup.com Features wiki and a message board with global members discussing their own multi-touch experiments and projects. Compliant Surface http://nuigroup.com/forums/viewthread/6/ Multi-Touch Interaction Research - http://cs.nyu.edu/~jhan/ftirtouch/index.html Low-cost multi-touch sensing through frustrated total internal reflection by Jeff Han http://portal.acm.org/citation.cfm?doid=1095034.1095054 Synthesis and control on large scale multi-touch sensing displays by Jeff Han http://portal.acm.org/citation.cfm?id=1142269 Multi-Touch Systems that I have Known and Loved by Bill Buxton http://www.billbuxton.com/multitouchOverview.html