Multi-touch screen Abstract Auteur: Nick Van den Vonder & Dennis De Quint Promotoren: Jeroen Doggen, Artesis Hogeschool Antwerpen Kristof Valkenborgh, Item Solutions
10 Juli 2009
Inleiding Om de driejarige opleiding Bachelor in de elektronica – ICT af te sluiten kregen we de kans om de onze bachelorproef in een professionele omgeving te realiseren. We hebben stage gelopen bij het bedrijf Item Solutions, een bedrijf gespecialiseerd in het ontwikkelen van software in de .NET omgeving van Microsoft. Tijdens stage hebben we een multi-touch screen ontwikkeld. Allereerst hebben we de verschillende bestaande technieken en technologieën grondig onderzocht zodat we in een latere fase een keuze zouden kunnen maken welke methode het beste bij de gewenste mogelijkheden aansloot. De verschillende multi-touch schermen die momenteel op de markt beschikbaar zijn voldeden niet aan de eisen en aan het budget van Item Solutions. Om een ideale oplossing te vinden werd besloten om zelf een prototype te ontwikkelen. Dit prototype wordt verder uitwerkt tot een volledig afgewerkt product. Het multi-touch scherm zal door Item Solutions gebruikt worden om diverse nieuwe toepassingen en bedrijfsprocessen mogelijk te maken.
Probleemstelling Tot op heden was het enkel mogelijk om een computer te bedienen met behulp van muis en toetsenbord. Hierdoor kan er maar één functie tegelijkertijd uitgevoerd worden. Door gebruik te maken van een multi-touch screen kunnen we op een andere manier interageren met de computer. Zo hopen we dat er een meer natuurlijke interactie zal plaatsvinden tussen mens en machine door gebruik te maken van handbewegingen.. Met ons project hebben we dit onder handen genomen. We vervangen de muis en het toetsenbord door een zelf ontwikkeld scherm. De vingers nemen de plaats in van de muis. Op het virtueel toetsenbord wordt ook getypt met de vingers. Een multi-touch screen heeft het grote voordeel ten opzichte van een normaal touch screen dat je het zowel met meerdere vingers als met meerdere mensen tegelijk kan bedienen. Hierdoor worden totaal nieuwe toepassingen mogelijk gemaakt.
2
Resultaten We hebben succesvol een prototype van een multi-touch screen gemaakt volgens het FTIR principe. Dit prototype is een volledig functioneel systeem, opgebouwd met standaardcomponenten die voor een bescheiden prijs op de markt beschikbaar zijn. Bij het opstarten van de multi-touch tafel worden door middel van een opstartscript automatisch de nodige drivers en programma’s gestart en geladen. Hierdoor wordt het scherm gedetecteerd en kunnen multi-touch events opgevangen worden. De gebruiker hoeft met andere woorden niets te configureren of in te stellen, dit wordt automatisch uitgevoerd door het opstartprogramma dat automatisch wordt ingeladen bij het opstarten van Windows. Als operating system hebben we gekozen voor Windows 7. Deze keuze hebben we gemaakt omdat Item Solutions een gecertificeerde Microsoft partner is, en omdat Windows 7 reeds standaard over ingebouwde multi-touch functies berschikt. Via een open-source applicatie, Multi Touch vista genaamd, waarin we zelf enkele aanpassingen hebben aangebracht, kunnen we de multi-touch functies die in Windows 7 zijn ingebouwd gebruiken zonder dat we een externe Mouse driver nodig hebben.. De blobdetectie is het belangrijkste onderdeel van het gehele systeem. Een blob is een aanraakpunt op het oppervlak. Deze punten worden door de infrarood camera geregistreerd . Een programma dat een blob detecteert en registreert noemen we een tracker. Als tracker hebben we gebruik gemaakt van de open-source applicatie Community Core Vision (CCV). De tracker stuurt de data via het TUIO protocol, dat gebaseerd is op het Open Sound Control, door naar een client applicatie zoals bijvoorbeeld Multi Touch Vista. De data wordt doorgestuurd over een UDP transport laag omdat de tijdsvertraging hierbij klein is en er geen error detectie bij aankomst van de data wordt uitgevoerd. Het controleren en herzenden van de data is immers overbodig vanwege het real-time karakter van het multi-touch screen. Het eindresultaat is dat de gebruiker, door middel van natuurlijke handbewegingen met een Windows 7 computer, kan interageren en gebruik kan maken van de in Windows 7 ingebouwde multi-touch functies. Het volledige systeem kan ook met enkele Flash demo’s getest worden. De Flash demo’s maken gebruik van het FLOSC protocol om data van de tracker te ontvangen. FLOSC werkt principieel op dezelfde manier als TUIO. FLOSC wordt vooral bij flash applicaties gebruikt omdat het rechtstreeks gegevens kan uitwisselen met Macromedia flash versie 5 of hoger. Een van de indrukwekkendste demo’s is de foto demo waar men verschillende foto’s kan herplaatsen, vergroten en verkleinen. Zie naar onze blog voor een demo: http://eaict-multitouch.blogspot.com/2009/03/demo.html
3
Technologieën FTIR Een projector projecteert de video- out van een computer op een horizontaal scherm, van onder- of bovenaf. Het scherm bestaat uit plexiglas en een projectiedoek. Op de zijkant van het plexiglas is een rij infrarode leds gemonteerd die hun infrarood licht in de plaat richten. Door de totale interne breking (total internal reflection), blijven de infrarood stralen binnen het plexiglas bij weerkaatsingen. Wanneer er iets op het scherm wordt geplaatst, bijvoorbeeld een vinger, wijzigt de brekingsindex, waardoor het IR licht op dat punt naar buiten de plaat wordt gericht. Een infrarood camera (of webcam zonder IR filter) vangt het infrarode licht op. Vervolgens zal de tracker de coördinaten bepalen en deze doorzenden naar de eindapplicaties.
Frustrated Total Internal Reflection1
1
http://wiki.nuigroup.com/FTIR
4
TUIO TUIO is een open protocol dat de gegevens zoals touch events en tangible object statussen (fiducials) doorzendt. Het protocol encodeert data van een tracker applicatie en TUIO cliënt libraries voor allerlei programmeer omgevingen en als applicaties die het protocol ondersteunen. TUIO is gebaseerd op OpenSoundControl (OSC) en werkt op dezelfde manier. TUIO kan dus makkelijk geïmplementeerd worden op elk platform dat OSC ondersteunt. OSC werkt op breedband netwerk snelheden en kan data versturen over meerdere transport protocollen, maar het meest gebruikte is UDP vanwege de snelste overbrenging van data naar de bestemming.
Dataoverdracht via het TUIO protocol2
Multi Touch Vista (MTV) MTV is een user input management layer die input van verschillende soorten trackers kan behandelen zoals bijvoorbeeld Touchlib en CCV die gebruik maken van TUIO. MTV laat dat toe dat standaard applicaties herschaald en geroteerd worden in een multi-touch stijl. MTV is een framework met een gestandaardiseerde input waarop multi-touch input Windows Presentation Foundation (WPF) applicaties kunnen gebouwd worden. MTV ondersteund Windows 7, vista en XP. In MTV zit een driver voor Windows 7 waardoor we gebruik kunnen maken van al de ingebouwde multi-touch functies van Windows 7.
2
http://www.tuio.org/
5
Verdere uitwerking Omdat wij een technologisch prototype hebben ontwikkeld voor het bedrijf was het de hoofdzaak om de technologie werkend te krijgen zonder naar het visuele design van de tafel te kijken. In een volgende fase zal een mooi uitziend product ontwikkeld worden op basis van ons prototype. Item Solutions gaat dit prototype als basis gebruiken voor de verdere ontwikkeling van een grotere tafel die volgens hetzelfde systeem werkt. De grotere tafel zou minstens aan 10 tot 20 mensen tegelijk plaats moeten bieden. De tafel zal dan hoofdzakelijk gebruikt worden om taken te verdelen tussen de verschillende werknemers, en de werknemers zullen dan zo zichtbaar projecten aan zich kunnen toekennen door middel van naamkaarten naar zich toe te slepen. Item Solutions heeft ook een vestiging in Hongarije. Het is de bedoeling om daar ook een multi touch tafel te plaatsen. Er wordt momenteel gewerkt aan een toepassing die het mogelijk maakt om interactie tussen beide tafels te verwezenlijken. Via het kaartensysteem zal men kaarten die op de tafel in het buitenland liggen naar zich toe kunnen slepen. Dit gaat de samenwerking tussen beide vestigingen vergemakkelijken en versnellen omdat er nu ook via het kaartensysteem gewerkt wordt, maar er nu steeds een foto van de ligging van de kaarten moet genomen worden. Deze foto wordt momenteel via mail naar de vestiging in het buitenland opgestuurd. Item Solutions kan zich nu toespitsen op het schrijven van multi-touch applicaties in de .NET omgeving van Microsoft. Het bedrijf kan zo grote en belangrijke projecten binnenhalen zonder zeer grote investeringen te doen, zoals de aankoop van bestaande multi-touch tafels zijn, bijvoorbeeld Microsoft Surface
6
Besluit: Het maken van een multi-touch screen is heel leerzaam geweest. We hebben nieuwe dingen ontdekt waarvan we dachten dat ze onmogelijk waren. Na het nodige opzoekwerk en onderzoek hebben we besloten om FTIR te gebruiken. Dit leek ons de beste technologie om een multi-touch screen te ontwikkelen. Met deze kennis zijn we gestart met het maken van een prototype. Dit prototype heeft ons geholpen verschillende problemen die niet waren te voorzien op te lossen. Wanneer dit prototype werkte hebben we enkele bestaande demo’s getest. Tijdens het testen hebben we Tbeta en later CCV zeer goed kunnen en leren afstellen. Als laatste stap hebben we Multi Touch Vista aangepast zodat het correct samenwerkt met onze hard- en software. Een van de grootste beproevingen was het schrijven van een opstartscript. Dit auto startup programma hebben we geschreven in C# en zorgt ervoor dat de nodige drivers en applicaties (zoals de blob tracker) automatisch op de achtergrond worden opgestart. Van nul een multi-touch screen bouwen gaat niet vlot zonder grondige voorstudie. Tijdens de ontwikkeling kom je een hele boel hindernissen tegen die je moeilijk kon voorzien. Het oplossen van deze moeilijkheden was één van de uitdagingen bij het maken van ons multi-touch screen.
7