Artikel top billede

(Foto: Computerworld)

Lav en multitouch-overflade

Smøg ærmerne op, og få fuld kontrol over din pc med den nyeste brugerflade.

Af Redaktionen, Alt om Data

Denne artikel er oprindeligt bragt på Alt om Data. Computerworld overtog i november 2022 Alt om Data. Du kan læse mere om overtagelsen her.

Vi elsker alle at hoppe med på vognen. Der er intet mere tilfredsstillende end at være med i den fælles begejstring og styre lige mod hæder eller nederlag. Da Steve Jobs tog en iPhone op af lommen i januar 2007, var begejstringen total, og alle marketingcheferne krævede, at deres varegrupper havde ordet ”multitouch” på listen over funktioner.

Men hvor de multinationale foretagender er nødt til at udnytte Jordens kostbare ressourcer for at være med i multitouch-revolutionen – for ikke at tale om at bruge millioner af dollars på forskning og design – kan vi være med blot med en tom æske og et webcam.

Det geniale ved multitouch ligger i softwaren. Hardwaren kan spænde fra barnligt overforenklet til vildt detaljeret og dyrt. Det kan betale sig at begynde fra grunden, for det kræver næsten ingen investering.

Man kan alligevel eksperimentere og lege med multitouch-software. Når man bevæger sig fra den enkle hardware, føjer man flere og flere raffinementer til sporesystemet. Det vender vi tilbage til.

Det var måske nok Apple, der gjorde multitouch til hvermandseje, men teknologien har været under udvikling i årtier. Formålet er at lade folk interagere med en skærm på en mere naturlig facon, hvilket fører til begrebet ”naturlig brugerflade”.

Der er blevet udviklet et antal standardsystemer til at lade software spore menneskers fingre. Nogle af dem kan laves derhjemme, andre kan ikke. De tunge drenge bruger modstandsdygtige eller kapacitive skærme til deres produkter. Det er teknologier, der er bygget ind i displayet, og som man derfor ikke uden videre kan kopiere derhjemme, medmindre man genbruger sådan en enhed.

Parat til at røre

De fire mest udbredte former for multitouch-systemer til hjemmebrug er total intern refleksion, spredt belysning, lysplan og spredt overfladebelysning. De bruger alle et webcam af den ene eller anden art til at spore og genkende brugerens gestus, og de lader softwaren stå for multitouch-sporing.

Bortset fra det grundlæggende arrangement, vi skal beskæftige os med her, har vi også brug for en lyskilde – nærmere betegnet infrarød – og en lcd-skærm skal give os visuel feedback. Hvis man læser dokumentationen til en hvilken som helst form for multitouch- eller et andet fysisk sporesystem, såsom Wii, finder man masser af henvisninger til infrarødt lys.

Det er der flere grunde til. For det første er det usynligt for det menneskelige øje, og det betyder, at man kan bruge infrarød belysning, uden at vi bemærker det. For det andet ligger disse systemer ofte oven på det egent- lige synlige billede via belysning enten bagfra eller fra oven eller ved hjælp af en lcd-skærm. Sporing af infrarød belysning udelukker, at softwaren bliver forvirret af et billede af en hånd i stedet for en rigtig hånd.

Belysningen kan komme fra en lang række infrarøde led’er. Som vi skal se senere, leverer de belysning til en række forskellige konstruktioner, og da de er infrarøde, påvirker de ikke den bagprojektion, man måske har tænkt sig at bruge.

Den anden vigtige grund til at vælge infrarødt lys er, at selv et enkelt webcam kan opfange infrarødt lyst foruden synligt lys. Et umodificeret webcam er fint til vores enhed, fordi vi kun har med synligt lys at gøre, men den omstændighed, at et webcam kan ændres, så det kun kan opfange infrarødt lyst, hjælper os senerehen med at lave mere avancerede overflader.

Multitouch i kassen

I denne artikel forenkler vi sagerne ved at bruge den enkle teknik, der omfatter spredt belysning. Det betyder, at der hverken er bag- eller forprojektion. Vi viser dog, hvordan du kan inddrage det, i slutningen af artiklen.

Den grundlæggende opsætning bruger omgivende eller kunstigt lys i værelset til at kaste skygger fra hænderne på multitouch-overfladen. Et kamera, der er anbragt bag skærmen, overvåger skyggerne og sætter softwaren i stand til at spore dine fingre.

Den største udfordring ved enhver form for lysspredning består i at skabe ensartet belysning over hele skærmen, således at der bliver kastet skarpe skygger over hele overfladen.

Man kan opnå bedre resultater ved at justere rumbelysningen, men softwaren omfatter også kalibreringsværktøjer. Det største problem ligger i visse dele af overfladen, der virker mørkere end andre, hvilket forhindrer skyggegenkendelse. Til trods for det er softwaren avanceret nok til at genkende flere input samtidig, og den kan opfange en hånd, der svæver over skærmen.

Vi har konstateret, at akrylark i A3-størrelse har det ideelle format, fordi det giver rigelig plads til begge hænder. Med A4 får man rigelig plads til én hånd. Det bedste sted at købe Perspex eller akrylark er på eBay.

Du skal bruge et ark, der er mindst 4 millimeter tykt, ellers bliver det lidt for fleksibelt. Et ark på 40×30 centimeter (A3) bør koste omkring 60 kroner inklusive forsendelse, og et A4-ark bør koste det halve.

Hvis du vil gøre den færdige enhed flot, kan du altid ramme det ind eller beskære akrylen med en sav, så den passer til en egnet kasse – cirka A4. Vi har konstateret, at en tom vinkasse har en god størrelse til dette projekt.

Til vores spredningsoverflade kan vi slippe af sted med at bruge almindeligt laserprinterpapir – jo tyndere desto bedre, idet det skal lade en del lys trænge igennem, for at skyggesporingen kan virke. Hvis du har noget kalkerpapir, kan det være et godt bud. Det skal simpelthen beskæres og tapes stramt på akryloverfladen.

Dernæst skal du anbringe webcam’et på bunden af kassen. Det kan man gøre med dobbeltklæbende tape, gaffa, eller hvad man nu har ved hånden. Lav et hul i kassen til usb-kablet, og sørg for, at webcam’et er fokuseret på det plan, hvor overfladen skal anbringes. Klæb overfladen fast oven på kassen.

Klik med fingrene

Nu til den software, der står for at føle dine fingre. Gå til http://ccv.nuigroup.com, og download værktøjet Community Core Vision. Det kan man få til Windows, Mac OS og Linux. Pak det ud, find den eksekverbare fil Community Core Vision, og kør den. Giv den et øjeblik til at komme i gang.

Nu får du kontrolskærmbilledet, der afspiller en optagelse af håndbevægelser. Den giver dig en forestilling om de ønskede resultater. Til venstre ser du det originale billede, der kommer fra webcam’et. Til højre ser du de endelige spordata, der bliver brugt til at overvåge dine fingerspidser. Det bør vise klare hvide klatter, der markerer fingre eller genstande, som er placeret på overfladen.

Kom i gang ved at vælge ’Use camera’ under kildebilledet til venstre. Så begynder videoafspilningen. De fire områder nedenunder er filtre, der kan bruges til kilden, før den endelige bearbejdelse. ’Smooth’ er god til at fjerne støj. Med vores printerpapir skulle indstillingen være ret høj.

Filtret ’Highpass’ fjerner yderligere klatter og støj fra billedet. Det er mindre vigtigt til spredt belysning, men det kan hjælpe med til at eliminere falske positiver med andre teknikker såsom lysplan, der belyser overfladen. Endelig er der ’Amplify’, der er meget praktisk, og som påvirker de essentielle kontaktområder ved at gøre hvide områder stærkere.

Vi havde glæde af indstillingen ’Min and max blob size’ under det sporede billede. Hvis du bruger fingrene i stedet for genstande, er den med til at indsnævre de sporede pletter til områder på størrelse med en finger.

Det er en god ide at lege med indstillingerne og justere rumbelysningen, fordi systemet tilsyneladende arbejder bedst med fladt, homogent lys snarere end med et skarpt, direkte spotlys.

Når du mener, at du får konstant, genkendelig sporing af fingerspidserne, skal du køre kalibreringssekvensen. Den lader softwaren tilpasse skærmobjekter til fingerbevægelser ved at oversætte kameraplads til skærmplads.

Kalibreringsprocessen er vigtig af hensyn til nøjagtigheden, men den første del af processen er beregnet til installationer med bagprojektion. Den sikrer, at skærmen er firkantet og synlig på vores touch-overflade. Efter det trin skal du gennemgå kalibreringsprocessen ved at berøre de centrale punkter på din multitouch-overflade, der svarer til dem på skærmen.

Nu er din multitouch-overflade klar til brug. Husk at gemme indstillingerne, men lad Community Core Vision køre. Du kan bruge ’Communication’-sektionen til højre til at videregive sporinformation til forskellige programmer, herunder flash-baserede programmer.

NUIGroup leverer en række smarte flash-eksempler, som du kan hente gratis på http://ccv.nuigroup.com. Til mere generel brug kan man få en musedriver til Windows på http://nuigroup.com/forums/viewthread/3447, der fungerer godt.

Vores enkle lille kasse er god nok til at afprøve al denne software, men du har måske lyst til at gå videre. I så fald skal du læse tekstboksen Byg en bedre boks.

God fornøjelse med det!

Selv Microsofts Kinect bruger et simpelt webcam med ir-funktioner i sin kerne til at generere dybdeinformation ved siden af et almindeligt rgb-billede. Et mere typisk webcam er i stand til at opfange infrarødt lys, men funktionen er blokeret med et filter. I billige apparater er filtret en plasticfilm, som man kan tage ud, men i nogle modeller er filtret sluttet til linsen, som derfor skal udskiftes.

Når det infrarøde filter er fjernet, skal du tilføje et synligt lys-filter, også kendt som et båndpasfilter, til at fjerne det synlige lys. Du kan købe et, men den billigste mulighed er at bruge et stykke 35 millimeter-film.

Et simpelt webcam er nok til vores lille kasse, men sådan er det ikke altid. Opløsningen begynder som regel ved 320×240, men et kamera på 640×480 vil være bedre til at bibeholde præcisionen på større overflader.

Kameraets framerate afgør, hvordan systemet reagerer – 30fps er fint, og det kan de fleste modeller levere. Mere højtydende enheder kan klare 120fps, hvilket er praktisk, hvis du vil lave et interaktivt projekt. PlayStation 3’s kamera leverer 640×480 ved 30fps (eller 120fps ved 320×240), og det er et ideelt valg, fordi det også har et infrarødt filter, der kan fjernes.

Man kan selv lave en multitouch-overflade på fire måder. Her har vi lavet et system med spredt belysning. Den første indlysende forbedring ville være at tilføje et projiceret videobillede til overfladen, enten bagfra eller forfra.

I praksis skal det skaleres noget op, men så er det også perfekt til offentlige præsentationer. Vi kunne også modificere webcam’et, så det blev ir-følsomt. Det kræver, at man tilføjer ir-belysning, enten fra lamper, man kan købe i butikkerne, eller fra led’er.

Her bruger vi stadig skyggegenkendelse til at identificere fingerspidser og genstande. De tre andre teknikker – total intern rekleksion, lysplan og spredt overfladebelysning – praktiserer alle nøjagtig kamerabaseret ir-genkendelse ved at sende infrarødt lys enten langs med eller inden i panelets overflade. Det kommer fra en række infrarøde led’er, der er placeret langs med akrylets kant eller lige over overfladen.

TIR er mindre attraktiv, for teknikken kræver, at overfladen skal være dækket med siliciumgummi, hvis de internt reflekterede infrarøde stråler skal sprede sig ved fingerkontakt. DSI er attraktiv, fordi den giver en pæn overflade, men den kræver det dyrere endlighten-akryl, som reflekterer infrarødt lys internt ud af sin overflade. Endelig er der lysplan, der bliver dannet ved, at man lader infrarødt lys stråle over berøringsoverfladen, som regel fra to sider.

Det er sjovt at lave sin egen multitouch-overflade, men den ender altid med at blive voluminøs. Den iboende ulempe ved at bruge et kamerasystem er, at det kræver megen plads med tilstrækkeligt jævnt lys.

Hvis du foretrækker at investere i en specialbygget multitouch-grænseflade, er der flere muligheder. For eksempel er de fleste nye bærbare i dag udstyret med multitouch-touchpads. Deres størrelse er begrænset, men man kan zoome og rotere billeder med fingrene.

Til desktopbrugere er Wacom Bamboo Touch den nemmeste måde at føje multitouch-teknologi til systemet. Det 15 centimeter store aktive område er lige stort nok til at være nyttigt, og desuden er det en komplet tablet-brugerflade. Der er Apple Magic Trackpad, der mangler en Windows-driver, selvom et driftigt foretagende, Power Plan 7, har planer om snart at levere fuld understøttelse (http://trackpad.powerplan7.com).

Til dem, der er mere til flash, er der Microsoft Surface, der allerede findes en række steder, blandt andet i kasinoer i form af skræddersyede installationer. Samsung lancerer et mere tilgængeligt produkt i 2011: SUR40 Surface 2.0.

Surface er stadig interessant, fordi det har præsenteret nogle af de mest spændende demoer af multiplayerspil, vi har set. Det kan genkende og reagere på op til fem spillere og virkelige objekter på samme tid.

[themepacific_accordion]
[themepacific_accordion_section title="Fakta"]

Det skal du bruge:

[/themepacific_accordion_section]
[themepacific_accordion_section title="Fakta"]

Hack Wii

[/themepacific_accordion_section]
[themepacific_accordion_section title="Fakta"]

Jeff Han

[/themepacific_accordion_section]
[themepacific_accordion_section title="Fakta"]

Lcd-display

[/themepacific_accordion_section]
[/themepacific_accordion]