Fantomaten

Haptiska gränssnitt ger nya möjligheter för blinda personer

 

 

Examensarbete

Calle Sjöström

Lund 1997

 

 


Abstract in english


 

Sammanfattning

Denna rapport behandlar haptiska användargränssnitt och dess möjligheter för blinda personer.

Haptiska gränssnitt använder känsel och rörelse för att överföra information mellan i detta fall en människa och en dator.

För blinda människor är datorer ett viktigt verktyg, men de används idag av de flesta som textmaskiner. Grafiska användargränssnitt som Windows har gjort datorer tillgängliga och lättare användbara för allmänheten, men grafiken underlättar inte för synskadade utan den är snarare ett hinder eftersom den ännu är helt otillgänglig utanför den visuella världen.

Windows och andra grafiska användargränssnitt skulle kunna bli ett bra verktyg även för synskadade personer om man skapade en koppling mellan det grafiska gränssnittet och ett haptiskt gränssnitt. Detta är tanken bakom "Känn Windows". Denna rapport beskriver inledande användartester med likformiga haptiska och grafiska gränssnitt som kan ligga till grund för "Känn Windows".

Hårdvaran i det gränssnitt som presenteras här är "the PHANToM", en produkt från SensAble Technologies Inc. Mjukvaran är skriven i C++ med stöd av pragramvarupaketet GHOST, även det från SensAble.

Rapporten innehåller två huvudavsnitt:

  1. Människan. Här behandlas användartest med grafiska och haptiska gränssnitt.
  2. Tekniken. Här behandlas teknik och programmering kring de gränssnitt som testats.

Sökord:

the PHANToM, Känn Windows, haptiska gränssnitt, Fantomaten, blind, känsel, synskada, handikapphjälpmedel

 


Innehåll

Sammanfattning *

CERTEC och Fantomaten *

Avsnitt 1. Människan *

Inledande teori *

Vad är ett "haptiskt gränssnitt"? *
Blinda personers inlärning
*
Våra frågeställningar *
Våra mål *

Tidigare arbete *

Känn Windows - att arbeta i ett grafiskt gränssnitt med känseln *

Hur blinda personer använder datorer idag *
Windows för blinda användare *
Varför Windows om man inte ser? *
Räcker inte det som redan finns? *
Var börjar vi? *

The Memory House *

Memory House A *
Synmemory *
Memory House B *
Memory 6 och 12 *
Problematiken i memory
*
Andra träningsprogram
*
Eye *
En liten villa *
3D-sculpt *
Webtouch Lite *
Multy *
Multy-3D *
Effects *

Provanvändningen *

Test i känselmiljö *
Test av programmet i normal grafisk miljö *
Resultatet *
Testerna med blinda användare visar att *
Andra allmänna reflexioner *
Resultatet i siffror *
Personliga kommentarer *
Anna *
Bertil *
Clara *
Dagmar *
Erik *
Fredrik *
Gittan *
Henrik *
Ingvar *
Specialfallen: Henrik och Fredrik *
Henrik *
Fredrik
*

Avsnitt 2. Tekniken *

Hårdvaran - the PHANToM *
Teknisk beskrivning av the PHANToM *
GHOST *
Kännetecknande för GHOST *
Grafik och GHOST *
Byggblocken i GHOST *
Abstrakta basklasser *
Klass för grupperande noder *
Klasser för geometrinoder *
Klasser för dynamiknoder *
Klasser för the PHANToM *
Klasser för effektnoder *
Klasser för manipulatornoder *
Klass för scenen och speciella datatyper *
Att använda GHOST *
Programmets uppbyggnad *
quitButton-grenen *
Button-grenen *
Floor-grenen *
Problem i programmeringen *
GHOST använder objekt och döljer kraftberäkningarna *
Knäppningar i fingret när man läser in ljudet till knappen *
Vibrationer i hörnen *
Datorkrav *

Samarbete kring Fantomaten *

Finansiering *

Nästa steg *

Referenser *

Appendix 1. Resultat från loggning av memorytesterna i klass 5c *

Appendix 2. Instruktioner för memory *

Memory 6 och 12 *
Memory House B/A *

 


CERTEC och Fantomaten

CERTEC, Centrum för Rehabiliteringsteknisk Forskning, vid Lunds tekniska högskola arbetar med mötet mellan mänskliga behov och tekniska möjligheter. Normalt utgår vi från människans olika behov och utvecklar teknik från den aspekten. Ibland kan det vara motiverat att börja i andra änden.

I detta fall har vi utnyttjat en teknik som tagits fram för andra ändamål, nämligen the PHANToM från Sensable Technologies. Vi har modifierat och byggt ut systemet så att den kan svara mot olika behov hos en funktionshindrad människa.

The PHANToM påminner om en mycket liten robotarm. the PHANToM är en robot som gör så att man kan känna virtuella objekt. Längst ut på robotarmen sitter en hylsa som man sätter in sitt pekfinger i. Vad fingret sedan får uppleva, styrs av vad som finns programmerat i en dator. En tydlig skillnad mellan the PHANToM och en vanlig robot är att användaren rör roboten, istället för att roboten rör sig själv. Roboten kan sedan tala om för användaren vad som händer genom att hålla emot och om man vill det kan den även röra sig på olika sätt. The PHANToM finns i ett par olika varianter, en kan sättas fast i bordet ungefär som en skrivbordslampa. Den andra varianten står själv på en platta direkt mot bordet. Dessutom finns the PHANToM nu i tre olika storlekar.

Med the PHANToM kan man till exempel flytta omkring sitt pekfinger i ett virtuellt rum och känna hur fingret stöter emot väggar, tak och golv. På golvet kan man känna ett halvklot, och i luften hänger en fritt svävande sfär. Man kan också få känna hur man puttar till en boll. Bollen studsar mot väggen eller andra bollar och efter ett tag kommer den tillbaka och slår mot fingret. Bollarna känns olika beroende på hur tunga och stora de är. Och det tar olika lång tid för dem att komma tillbaka beroende på hur långt bort väggen är. Man kan också känna på mycket mer komplicerade saker än bollar och kuber. I ett av våra program finns en modell av ett hus. Huset är en gammal villa och man kan känna det lutande taket, små takfönster och en hall på husets ena gavel. Man behöver alltså inte kunna röra mer än ett finger för att få ta del av det som man annars måste ha en hög rörelseförmåga för att kunna utföra.

Avsikten med att göra en "Fantomat" av the PHANToM är att människor med olika handikapp skall kunna få nya känselupplevelser som kompensation för bristande möjligheter att se eller vidröra saker på annat sätt. Till känselupplevelsen kan man för dem som har nytta av det också lägga bild och ljud. Fantomaten är både multimedia och virtual reality fast på ett helt nytt sätt.

 


Avsnitt 1. Människan

Inledande teori

Vad är ett "haptiskt gränssnitt"?

Ett centralt begrepp i denna rapport är användargränssnitt. Windows är ett exempel på ett grafiskt användargränssnitt. Ett haptiskt gränssnitt använder haptik istället för grafik. Haptik innefattar dels att känna med fingertopparna, dels att tolka rörelser av hela kroppsdelar dvs. det som ibland kallas muskelsinnet. För vår del är det viktigt att ett haptiskt gränssnitt använder både känsel och rörelse i båda riktningarna. Lätt förenklat kan man säga att användaren rör sig och ger datorprogrammet information den vägen. Programmet i sin tur kan ge användaren information genom att göra så att användaren känner olika saker. Både själva apparaten the PHANToM och de virtuella objekt som man känner på är delar i det haptiska gränssnittet mellan datorn och användaren.

Blinda personers inlärning

Hur gör egentligen en blind person för att ta reda på saker om sin omgivning? På vilket sätt och vad kan blinda personer känna igen medhjälp av känseln?

Jag har ofta använt begreppet "inre bilder". Gunnar Karlsson har visat att barndomsblindas förståelse av rumslighet kan delas in i tre olika huvudformer:

  1. förståelse i form av bildupplevelse
  2. förståelse i form av föreställning
  3. förståelse i form av vetskap.

Mitt begrepp "inre bilder" kan jämföras med Karlssons "Förståelse i form av bildupplevelse". För en seende person innebär termen "bild" något visuellt. Men blinda personer använder också ordet bild för att beskriva perceptuella upplevelser. Detta skall alltså inte tolkas som en visuell bild.

Våra frågeställningar

Vi har frågat oss hur blinda personer med hjälp av känseln kan skapa inre bilder. Denna studie ger inte svar på den frågan, men det står klart att man med hjälp av virtuell känsel via Fantomaten kan skapa sig inre bilder. Dessa bilder kan bl.a. användas som jämförelse med tidigare minnesbilder och för att navigera i en virtuell eller verklig miljö.

Våra mål

Ett konkret mål för oss är att ge blinda personer nya möjligheter att använda en dator. Detta kan underlätta och ge nya metoder för t.ex. kommunikation, inlärning och tillgänglighet till offentlig information.

Dessutom har vi långt framskridna planer på att testa hur Fantomaten kan hjälpa personer med andra typer av handikapp. T.ex. bör rörelsehindrade personer kunna ha stor nytta av en personlig robot med haptisk styrning.

Tidigare arbete

CERTEC har arbetat med Fantomaten sedan tidigt på våren 1995. Det största arbetet har lagts på synskadetillämpningar, men mycket av det utvecklingsarbete vi har gjort lägger en allmän grund för olika handikapptillämpningar med Fantomaten, och vi har gjort en del testprogram för rörelsehindrade. Våra tre största program (som inte beskrivs vidare i denna rapport) är:

  1. "Rita med fingrarna" – Ett ritprogram där åtta färger på skärmen har en associerad struktur som man kan känna med Fantomaten. Blinda personer kan alltså känna en något av en bild som de antingen kan ha ritat själva eller har fått ifrån någon annan.
  2. "Kurvor och ytor" – Ett program där gör det möjligt att känna på kurvor och ytor baserade på matematiska ekvationer. Idén är att försöka "sensualisera" matematik för blinda elever på motsvarande sätt som man visualiserar matematiken med grafer i vanlig undervisning.
  3. "Ubåtar eller minkar" – Ett haptiskt sänka skepp-spel. Man spelar sänka skepp med ljud och känsel. Ett program som blivit populärt bland våra testpersoner och kanske det första datorspelet någonsin som kan spelas av en dövblind person.

Mer information om CERTECs tidigare arbete med Fantomaten finns i rapporten "Fantomaten® – the PHANToM för handikappade barn." (CERTEC 1:96) samt på http://www.certec.lth.se/publications/cert96-1/

Känn Windows -
att arbeta i ett grafiskt gränssnitt med känseln

Alla Windows-system som används idag baseras helt och hållet på att användaren skapar överblick och en inre bild av systemet med hjälp av synen. Som seende användare får man efter hand en känsla för placeringen av menyer, knappar osv. på skärmen. Som synskadad användare däremot saknar man helt nyttan med det här systemet. Windows-gränssnittet är i själva verket oftast svårare att använda än de gamla textbaserade systemen. Den överblick som en seende användare får i ett Windows-system utgör med andra ord ett hinder för en synskadad person. Att Windowsmiljön ändå är attraktiv för blinda beror bland annat på den mängd datorprogram som finns tillgängliga i Windows.

Hur blinda personer använder datorer idag

Datorer har bl.a. gett synskadade människor mycket större tillgänglighet till skriven text eftersom text i en dator lätt kan läsas på en punktdisplay eller läsas upp av en talsyntes. De flesta synskadade datoranvändare använder bara textbaserade program, trots att Windows och Macintosh gjort så att många, många fler kan göra mycket, mycket mer med en dator.

En punktdisplay ser oftast ut som ett mycket speciellt tangentbord. På tangentbordet finns förutom vanliga knappar en uppsättning sk. punktceller. Varje punktcell kan visa ett tecken med Braille-skrift. Det fungerar så att små plastpiggar kan fås att sticka upp ur hål i punktcellen, och man läser av tecknet med fingrarna som om man läste vanlig punktskrift stansad på ett tjockt papper. Oftast använder man 40 eller 80 punktceller i en rad. På det sättet kan man läsa en halv eller en hel rad text på en DOS-skärm. När man har läst färdigt raden trycker man på pil ner och punktdisplayen byter till att visa nästa rad.

Via talsyntes kan man få skriven text uppläst i en högtalare. Oftast är det ett kort som man sätter in i datorn och som automatiskt läser upp texten i en högtalare. Talsynteser låter än så länge inte särskilt mänskliga utan mer som en robot som pratar (vilket det ju nästan är).

Det finns också helt mjukvarubaserade talsynteser. Det är alltså program som använder datorns vanliga processor och ljudkretsar för att översätta text till tal. Vitsen med detta är att man inte behöver något extra instickskort i datorn.

Windows för blinda användare

Både talsyntes och punktdisplay är alltså mycket bra hjälpmedel för att läsa text, och text på datorform finns det gott om. Däremot kan dessa system inte hantera grafik och det får som direkt följd att grafiska gränssnitt som Microsoft Windows och MacOS kräver ytterligare anpassningar för att fungera bra för blinda.

Det är här som Fantomaten kan få en central roll. Med "Känn Windows" är idén att man skall kunna känna Windows om man inte kan se det. En blind användare kan då känna menyer, knappar och fönster och på så sätt skapa sig en inre bild av hur systemet är upplagt.

Vi hoppas alltså på att man kan komma åt bristen på översikt genom att istället för grafik använda haptik. Vår hypotes är att man med Fantomaten snabbt skall kunna lära sig känna var det finns menyer, knappar, dialogrutor osv i Windows. Detaljerna däremot, t.ex. vad som står på en knapp, bör förmedlas antingen med tal eller via en punktdisplay.

Varför Windows om man inte ser?

Det finns flera skäl för att använda Windows på sin dator, även om man är blind. Det största enskilda skälet är nog att i princip alla nya program görs för Windows. En av våra testare ville t.ex. koppla in sin synthesizer till datorn. Det är normalt inga som helst problem att göra det, men eftersom han inte kunde köra Windows på sin dator så gick det inte. Han kunde inte få tag på några program som fungerade på hans dator som bara körde DOS.

Ett annat argument för Windows är att det är det vanligaste systemet på vanliga arbetsplatser. Om blinda kan använda samma system som seende på sina datorer så vinner man mycket. Dels kan de olika användarna lättare skicka dokument mm. mellan varandra, dels kan man hjälpa varandra när saker och ting inte går som det ska.

Räcker inte det som redan finns?

Det finns idag system som underlättar för blinda att köra Windows. Man jobbar med ljudsignaler för att följa muspekaren och talsyntes eller punktdisplay för att läsa texten. Det största problemet med denna typ av utrustning är att den inte underlättar särskilt mycket när det gäller att få översikt över systemet. Dessutom är det närmast omöjligt att tolka bilder och annan grafik med de hjälpmedel som finns idag.

Fantomaten och Känn Windows utesluter i princip inget av de hjälpmedel som finns idag. Tvärtom kompletterar systemen varandra. Med Fantomaten kan man känna saker i tre dimensioner, det är alltså möjligt att göra program som översätter grafik till något som man kan känna och man kan få en översättning av windowsmiljöns upp, ner, höger och vänster till en kännbar miljö med samma uppbyggnad. Och det är en klar fördel om blinda människor och seende har samma inre bild av datorskärmen. Då kan man börja hjälpa varandra utifrån en gemensam grund och det blir en helt annan sak att säga t.ex. "START-knappen finns nere i vänstra hörnet."

Var börjar vi?

Att göra om hela Windows så att man kan förstå och styra det med känsel innebär förstås en ordentlig arbetsinsats. Vi måste börja med något mindre och detta har vi kallat "the House". Efter en tid kom tanken på ett Memoryspel in i bilden och programmet blev "the Memory House".

The Memory House

Namnet "the House" kommer ifrån att vi ville göra ett program med flera våningar och lite olika saker att göra på varje våning. Från början var tanken att göra ett hus med sju våningar och sju knappar eller motsvarande på varje våning. Senare har vi minskat huset till fem våningar och fem knappar på varje våning.

De ursprungliga tanken med "the House" var:

  1. att utvärdera ett gränssnitt som bygger på en kombination av rörelse, känsel, tal och ev. punktskrift
  2. att demonstrera systemet för olika grupper
  3. att testa olika känsel-tolkningar av de olika objekten i ett grafiskt gränsnitt.

Av detta kan man säga att punkt 1 och 2 är uppfyllda, men att punkt 3 inte har genomförts fullt ut.

Förutom det ovanstående har "the House" gett oss möjlighet att jämföra hur samma uppgift kan lösas via likformiga gränssnitt men med olika sinnen. Vi har nämligen gjort samma program i olika utföranden, dels som vanligt windowsprogram som körs med mus och skärm, dels som ett fantomatprogram där man känner och styr allt via Fantomaten. Båda programmen har samma ljud och layout så det enda väsentliga som skiljer dem åt är om man använder rörelse/känsel eller rörelse/syn för att köra programmet.

"The Memory House" är som sagt utformat som ett memoryspel. Man spelar i ett hus med fem våningar och varje våning har fem knappar.

Fantomatprogrammet (se bilden här intill) har också ett grafiskt gränssnitt för att ge möjlighet att filma och se vad som händer. Våningarna syns inte men man känner ett tak/golv mellan varje knapprad. Genom att trycka till lite extra kan man gå igenom till nästa våning. För att underlätta för användaren att navigera i systemet finns en röst som säger vilken våning man kommit till. Detta "våningsprat" uppfattades mycket olika av de olika provanvändarna, mer om det senare.

Knapparna i programmet känns som avfasade block som sitter fast på väggarna. Genom att trycka knappen in mot väggen får man höra det ljud som hör till just denna knapp. Knappens dynamiska egenskaper gör att man känner ett knäpp när knappen är nästan helt intryckt.

Uppgiften för testpersonen är att hitta par av ljud. 12 olika ljud på 24 av knapparna skall paras ihop. Man tar ett par genom att trycka på två knappar med samma ljud direkt efter varandra, när man lyckats med detta så försvinner båda knapparna från spelplanen. Den knapp som inte hör ihop med någon annan kallar vi för Svarte Petter och om man trycker på Svarte Petter får man först en varning, men andra gången så kommer alla de tagna paren tillbaka och man får börja om. I Appendix 2 finns en utförlig instruktion till testpersonerna.

Memory House A

Memoryt finns i ett par olika varianter med olika användningsområden. Det första haptiska memoryt kallas "Memory House A" och har stått som modell även för synmemoryt. I Memory House A finns knapparna både på bakväggen och på sidoväggarna. Se bild 2. Varje våning har tre knappar på bakväggen och en på varje sidovägg.

Synmemory

Synmemoryt ser exakt likadant ut som Memory House A. Men det körs alltså med musen istället för fantomen och man kan förstås inte känna något i detta program. Synmemoryt finns dock i en ljudvariant och en bildvariant. Ljudvarianten har samma ljud som Memory House A/B. Bildmemoryt har istället en bild som visas vid respektive knapp när man trycker på den.

Memory House B

I Memory House B finns alla knappar på den bakre väggen. Detta är något lättare att hantera dels eftersom knapparna är närmare varandra och dels eftersom alla knappar trycks in åt samma håll. I övrigt är ljud och regler exakt de samma som för Memory House A.

Memory 6 och 12

Som träningsprogram har vi också använt memoryspel utan våningar och med 6 respektive 12 knappar. Knapparna i memory 6 och 12 har samma form som knapparna i de större memoryspelen, men som man ser på bilderna är knapparna större och ligger tätare i Memory-6/12. Ljuden är inte heller samma som i Memory House A/B.

Problematiken i memory

För att lyckas bra i Fantomatmemoryt krävs flera olika saker. Om man bara tittar på resultatet i form av tid och antal knapptryckningar så missar man lite av det bakomliggande. Jag har försökt notera och jämföra hur personerna klarat memoryt med följande indelning:

För att lyckas med fantomen måste man ha ett delvis speciellt handlag. Eftersom man bara känner i en punkt krävs det att man rör sig mer än när man känner som vanligt. Dessutom kan man inte ta i hur mycket som helst för då trycker man in knappar utan att märka det etc.

Att minnas vilken knapp ett ljud ligger på eller vilket kort som har vilken bild är huvudsvårigheten i ett vanligt memory. I mina tester verkar det som om de vuxna användarna försöker minnas någon sorts koordinat för ljudet, medan barnen mera placerar in knapp och ljud i en inre bild av spelplanen.

Åtminstone i Fantomatmemory så visar det sig att barnen generellt lyckas bättre än de vuxna på denna punkt.

Även om man vet vilken knapp man vill trycka på så är det inte säkert att man hittar tillbaka till den. Dels så kan man ha uppfattat fel när man första gången tryckte på knappen, att man inte var där man trodde helt enkelt. Dels kan man göra motsvarande fel när man letar upp knappen igen. Det är ungefär som att hitta tillbaka till en trevlig restaurang i en stad som man inte känner så väl. Det är lätt hänt att man inte exakt minns hur man kom dit och det kan också hända att man inte går på precis den gata man tänkt sig när man skall försöka hitta tillbaka.

En av tjejerna (Clara) som testade hade inga som helst problem att hitta knapparna och paren, men Svarte Petter ställde till problem för henne. Hon arbetade snabbt jämfört med många andra, men hon kunde inte så lätt minnas en knapp som är "farlig" när hon koncentrerade sig till 100% procent på att hitta par.

Andra träningsprogram

Förutom "the Memory House" har provanvändarna fått testa ett antal olika program, både från Sensable Technologies och från CERTEC. I många fall har jag gjort noteringar även från körningarna av dessa program. Dessa program har också fått fungera som allmän träning och introduktion till Fantomaten. (Se nästa avsnitt.)

 

Eye

Ett enkelt testprogram med ett halvklot på golvet och en sfär som hänger fritt i luften. Alla objekt är fasta.

En liten villa

En modell av en gammal villa. Villan saknar skorsten men har takfönster och en utbyggnad vid den förmodade ingången.

3D-sculpt

Imponerande demo från Sensable. På golvet ligger ett lager lera som man kan göra hål och spår i med fantomatfingret. Samtidigt som man modellerar känner man vad man gör och man kan ändra styvheten i leran med ett skjutreglage på bakväggen

Webtouch Lite

Ett förenklat program som ger möjlighet att känna på objekt som definierats i VRML-filer. VRML är egentligen ett format för 3D-grafik, och bilder som man känner på är ursprungligen gjorda som bilder att se på. Programmet har fortfarande brister, men det visar en mycket intressant koppling mellan datorgrafik och känsel.

Multy

Två block och två halvklot som är rörliga. Blocken och kloten har olika tyngd och storlek vilket man kan känna när man slår till dem.

Multy-3D

Två kuber som även går att lyfta från golvet. Kuberna har samma storlek men olika tyngd. Detta program finns också för två fantomer. Då kan man lyfta ett block mellan tummen och pekfingret.

Effects

Ett program som demonstrerar olika typer av känseleffekter som man kan åstadkomma med the PHANToM. De effekter som finns i detta program är vibration, begränsat rörelseområde och förstorad tröghet.

 

 

 

Provanvändningen

Test i känselmiljö

Jag har i denna omgång testat Fantomaten och "the Memory House" med 4 barn och 5 vuxna personer. Alla är blinda eller gravt synskadade.

Alla provanvändare har först fått bekanta sig med fantomen. De har provat våra enklare memoryspel och flera program från Sensable Technologies. Dessa förberedelser har tagit ca en timme. Ingen av provanvändarna har provat Fantomaten mer än en gång tidigare.

Hela provningen har videofilmats och jag har dessutom loggat alla knapptryckningar och förflyttningar mellan våningarna.

Den provning som jag redovisar nedan har gjorts med Memory House B. (Se beskrivning av programmen i förra avsnittet.) En del av provanvändarna har sedan också testat Memory House A. Dessa tester finns dock inte med i sammanfattningen eller statistiken.

I vissa fall har jag avbrutit testerna när uppgiften uppenbart varit alldeles för komplicerad.

Test av programmet i normal grafisk miljö

Som referens har synmemoryt testats av 21 seende elever i klass 5. Varje elev har kört både ljudvarianten och bildvarianten. Hälften började med ljud och den andra hälften började med bild. Resultatet visar att det för det flesta krävs längre tid och fler knapptryckningar för att bli klara med ljudmemoryt. Jag har använt medelvärdena från ljudvarianten av synmemoryt för att jämföra med de blinda testpersonernas resultat. En fullständig logg över resultatet av hela synmemoryt finns i Appendix 1. Jag kommenterar inte resultatet i detta test vidare eftersom jag i första hand vill ha det som jämförelse vid testerna med blinda användare.

 

Antal knapptryckningar

Tid

Medelvärde alla tester

68

2 min 59 s

Medelvärde bild

63

2 min 08 s

Medelvärde ljud

73

3 min 47 s

Tabell 1. Resultat av tester med 21 seende elever i klass 5.

Resultatet

Jag redovisar först sammanfattande resultat och några allmänna kommentarer. Därefter ger jag några korta kommentarer för var och en av testpersonerna för att förtydliga och fördjupa bilden. Testpersonerna har fingerade namn för att jag skall kunna diskutera specifika iakttagelser utan att äventyra någons personliga integritet.

Testerna med blinda användare visar att

Flera av de blinda klarade programmet på samma antal knapptryckningar som de seende, men de blinda tog nästan alltid längre tid på sig. Detta tyder på att Fantomatkänsel kan ge tillräcklig säkerhet och kan skapa en fungerade inre bild, även av en helt virtuell miljö. Men det krävs ett mer genomarbetat gränssnitt för att Fantomatkänsel skall vara effektiv. Dessutom kan det förstås krävas mer träning för användarnas del.

Kan de blinda användarna nå samma tider som de seende? Ja, vissa kan i alla fall. Henrik är ett exempel på det. Däremot vet vi inte om alla kan bli lika snabba eller om den stora spridningen kommer att hålla i sig även efter en längre tids användning.

Två blinda användare, Bertil och Henrik, var mycket säkra och även snabba. De kunde utan problem mäta sig med många av de seende användarna, både när det gäller fart och antal knapptryckningar. Många av de andra blinda testpersonerna spelade säkert och klarade sig bra men tog lång tid på sig. Bland de testpersoner som klarade sig åtminstone hyfsat bra kan man också se att de kan snabba upp spelet om de tillåter sig att göra lite mera fel.

Det finns en metodisk skillnad mellan barn och vuxna. De tester som hittills gjorts tyder på att barnen har lättare för att spela memory. Dvs. de kan liksom seende barn lättare än vuxna minnas var de olika korten ligger någonstans. Däremot verkar det som om de vuxna testpersonerna generellt har lättare för "fantom-motoriken". Delvis kompenserar dessa svårigheter varandra så att den totala skillnaden mellan grupperna blir inte så stor, men det märks en tydlig skillnad i sättet att arbeta. De vuxna jobbar lugnare och trycker oftast på den knapp de har tänkt sig, men de har inte alltid så lätt att minnas vilken knapp de skulle trycka på. Barnen jobbar mer impulsivt. Gunnar Karlsson förklarar "vuxna blindas större känslighet vid taktil perception" med deras större rörelseförmåga. Han menar vidare att blinda personer kan förväntas förbättra sin varseblivning av objekt i världen genom att förbättra sin rörelseförmåga. Detta stöds också av min jämförelse mellan testpersonerna Fredrik och Henrik (se sid. *).

Gruppen blinda användare har klart större spridning i resultatet. Detta speglar förstås delvis att gruppen består av människor med olika ålder, kön, bakgrund osv. Gruppen som testat synmemory hade inte alls motsvarande resultatspridning, men där rör det sig om en klass barn i ungefär samma ålder.

Likväl tror jag att man kan dra någon slutsats av den större spridningen:

  1. Det verkar som att det krävs mycket olika lång tid för att komma underfund med hur man skall hantera Fantomen.
  2. Vana och skicklighet att arbeta med känseln i det dagliga livet hjälper även när man skall använda Fantomaten. Henrik som direkt var en mycket säker fantomatanvändare arbetar som massör. I det jobbet måste han jobba mycket med fingertoppskänsel för att veta var och hur han skall massera. Henriks säkerhet från det vanliga arbetet hjälper honom uppenbarligen även när han skall använda Fantomaten. Motsatsen är inte lika tydlig, men ett exempel kan vara Fredrik som inte lyckades så bra med Fantomaten och som också verkade ha en del motoriska problem rent allmänt.

Andra allmänna reflexioner

För att kunna känna av knapparna på en våning i Memory House måste man röra fingret lite upp och ner, alltså inte bara i sidled. Det säkraste sättet att söka av en våning är att vågformigt röra sig upp och ner samtidigt som man sveper i sidled. Det är nämligen nästan omöjligt att vara säker på att man rör sig precis horisontellt eller vertikalt. Detta är också en av anledningarna till att Memory House B är enklare än Memory House A, The House A har ju längre mellan knapparna vilket gör det svårare att söka sig från knapp till knapp. Henrik upptäckte snabbt hur han skulle söka igenom våning efter våning och det gav honom bra resultat på både House B och House A. I det här fallet kan man förenkla för användaren genom att ha en skåra i väggen mitt för knapparna. Då kan man lätt följa rakt från knapp till knapp även om någon knapp är borta.

När man tagit ett par försvinner knapparna och det kan mycket väl förekomma liknande situationer i vanliga program också. Många windowsprogram har t.ex. menyer som där man inte alltid kan se samma saker. Bra windows-program markerar inaktiva menyval genom att göra menytexten grå. På så sätt finns allt på samma plats i menyn, men man märker ändå att vissa val inte är aktiva för tillfället. Detta är förmodligen ännu mer viktigt i program som görs för blinda användare. För en blind människa blir ju varje förändring i miljön en onödig svårighet. Det blir alltså extra svårt att spela känselmemory när knapparna efter hand försvinner, då försvinner ju också det man hade att orientera sig efter. I ett allmänt haptiskt gränssnitt bör man analogt med vanliga Windows införa en markering som känns även där knappen är borta.

Användarna uppfattade "våningspratet" mycket olika. Med våningspratet menar jag rösten som säger vilken våning man kommit till varje gång man går upp eller ner. Rösten säger helt kort "ett", "två" osv. när man byter våning. De flesta av provanvändarna tyckte att rösten var till stöd och utnyttjade den när de orienterade sig. Många användare refererar till ett visst ljud i stil med "längst till höger på femman". Någon testare tyckte istället att rösten var otroligt störande. Hon lyckades inte alls koncentrera sig så länge rösten var på. Resultat liknande detta har också observerats av forskare som experimenterat med "earcons" eller ljud-ikoner. Ljudikonerna fungerade bra i den meningen att man snabbt kunde lära sig eller förstå vad de betydde. Däremot tyckte många användare att systemet var oanvändbart eftersom de upplevde ljuden som mycket störande.

Resultatet i siffror

 

Antal Par

Tid
(min:s)

Antal
Tryck

Klarade spelet

Antal
S.Petter

Kommentar
Anna

6

12:26

--

Nej

2

För svårt memory
Bertil

12

10:36

71

Ja

1

 
Clara

12

06:56

82

Ja

1

 
Dagmar

12

14:35

139

Ja*

1

 
Erik

12

13:00

73

Ja

2

 
Fredrik

1

06:36

29

Nej

2

Dålig motorik
Gittan

2

12:41

--

Nej

2

Svårt med "Memory-minnet"
Henrik

12

05:50

58

Ja

1

 
Ingvar

12

23:38

143

Ja*

3

 
Medelvärde

08:29

94

     
Jämför medel för seende

03:47

73

     

* Ungefär samma antal knapptryckningar som de sämsta på synmemoryt.

Personliga kommentarer

Dessa kommentarer består till stor del av de anteckningar som jag gjort i samband med varje test. Anteckningarna är delvis reviderade och kompletterade under genomgången av videoupptagningarna från testerna.

Testerna har genomförts i den ordning de står här. Detta kan ha en viss betydelse eftersom jag blev tvungen att göra några förändringar av programmen efter första testet.

Anna

Flicka 9 år, nästan helt blind.

Anna har egen dator i skolan och kan använda den självständigt. Hon har modem och ringer upp till HADAR för att brevväxla mm. Anna klarade de flesta mindre programmen bra och hon tyckte det var roligt. Anna provade också Webtouch med ansiktet, men hon tyckte inte att det fungerade särskilt bra. Många av detaljerna i Webtouch gör det till program som inte passar för blinda trots att idén att omvandla 3D-grafik till 3D-haptik förstås skulle kunna ge blinda människor många nya möjligheter.

Anna klarade de mindre memoryspelen utan problem. Memory 12 gick både snabbt och säkert, Anna hade full koll på vad hon gjorde. Tyvärr var inte Memory House B klart när hon testade utan hon fick gå direkt på House A och det blev lite för svårt. Anna tröttnade på att försöka hitta par och började istället leka med programmets olika ljud. Detta är anledningen till att hon inte har något resultat i sammanfattningen.

Med utgångspunkt från hennes resultat på de andra programmen tror jag att hon skulle ha presterat ungefär medelresultat i Memory House B.

Anna skulle vilja ha Fantomaten till att känna av TV:n och spela TV-spel eller Nintendo. "Blinda ska väl också kunna titta på TV."

Bertil

Pojke 9 år, gravt synskadad.

Bland uppvärmningsprogrammen visade det sig att Effects fungerade bra för Bertil. Knapparna (ganska låga och avlånga) var ganska enkla att använda och effekterna var roliga. Villan var OK men Bertil blev lite störd av att huset inte stod på marken utan hängde i luften. Efter detta test modifierade jag detta program bl.a. så att huset står på marken istället. Bertil spelade memory-12 helt utan problem.

Memory House B gick bra! Bertil verkade ha roligt, och han tog det som en utmaning. Bertil fick i sin första körningen ganska lång tid men klarade spelet med bara 71 knapptryckningar. Andra gången han körde gick det mycket fortare (6 min 36 s) men han fick några fler knapptryckningar. Memory House A verkade lite för svårt för att vara roligt.

Bertil gjorde ett bra jobb för att komma ihåg var Svarte Petter var och arbetade mycket metodiskt. Han kunde minnas att Svarte Petter låg på samma ställe som två gånger tidigare. Han verkade ha nytta av våningarna och våningsnummer.

Clara

Flicka 9 år, helt blind.

Clara provade alla småprogram i en rasande fart. Hon tyckte att det var roligt men ville ha mer! Hon körde Memory 6/12 och det gick ganska bra. Clara är ganska otålig, men hon försökte ändå på riktigt.

Claras största problem verkade vara Svarte Petter, hon tryckte flera gånger på den. Jag fick intrycket att hon koncentrerade sig på de vanliga korten och glömde bort Svarte Petter efter en liten stund. Efter lite träning gick dock Memory House B bra och Clara fick inte oväntat en av de bästa tiderna men inte riktigt lika bra på antalet knapptryckningar. Efter att ha lyckats en gång så körde hon samma bana igen (utan att blanda korten) och det gick mycket bra. Hon verkade minnas ganska bra var korten fanns eftersom det gick mycket fort och säkert jämfört med första gången på samma bana.

Clara tyckte att det våningarna och våningspratet var bra.

Dagmar

Kvinna ca 50 år, synsvag sedan födseln, helt blind sedan 10-årsåldern.

Dagmar gick igenom alla småprogrammen utan att bli alltför upphetsad även om det gick ganska bra. Hon var lite mer road av de mindre memory-programmen. Både Memory 6 och 12 gick mycket bra.

Hon provade först vanliga Memory House B men det gick inte alls bra. Hon tyckte att våningsnumrena störde väldigt mycket. Inte förrän jag gjort om programmet så att våningarna inte kändes alls tyckte hon att det var acceptabelt. I denna version kunde hon enkelt hitta knapparna och trycka på dem. Däremot hade hon fortfarande ganska svårt att para ihop ljuden.

Efter testerna pratade vi lite mera och Dagmar sade att hon enkelt kunde skapa sig en inre bild av knapparna och rummet i Memory 6/12. Hon tyckte också att hon kunde passa in ljud på en viss knapp i sin inre bild. Däremot kunde hon inte alls hålla reda på hur knapparna satt i vanliga Memory House B. Det blev bara ett stort "sammelsurium".

Det verkar hittills som om de vuxna har lättare att hantera knapparna som sådana medan barnen är ganska mycket bättre på memoryspelandet.

Erik

Man ca 40 år, blind sedan 20-årsåldern.

Erik arbetar som datorutbildare och är mycket van användare av dator med talsyntes. Han läser punktskrift men inte flytande.

Erik gick igenom provprogrammen intresserat och ganska noga. Han kände tydligt den utskjutande bollen i "eye" och kunde också tolka modellen av villan. Vi provade flera olika VRML-filer i Webtouch och det var roligt men inte alls effektivt egentligen. VRML för blinda lämpar sig nog mer för ritningar eller kartor. Många av VRML-filerna fungerar dessutom inte alls pga att datorn är för långsam. (Testerna har körts på en Pentium Pro 200 MHz.)

Erik körde memory 6 och 12 snabbt och lätt. Han säger sig också skapa en inre bild av rummet han känner på. Det var inga problem alls på de små memory-spelen. Även det stora Memory House B gick bra. Erik arbetade klart långsammare än en seende användare, men med stor noggrannhet och säkerhet. Tyvärr tryckte han på Svarte Petter istället för rätt knapp på slutet. Men det var mycket långt efter han hade fått varningen och sedan dess hade miljön ändrats en hel del eftersom flera knappar försvunnit.

Erik tyckte att våningsnumren var till stöd och inte särskilt störande. Han refererade ofta till våningarna med dess nummer.

Fredrik

Pojke 10 år, helt blind

Fredrik provade de vanliga programmen. Han hade i början mycket svårt med att känna sakerna, jag tror att han försökte känna som vanligt, nästan med hela handen. Men med Fantomaten måste man ju röra sig ganska mycket för att känna och man känner bara med fingertoppen. Efter en stund gick det dock bättre, och han tyckte det var roligt.

Fredrik tyckte att villan kändes mera som ett torn, kanske för att taket är så spetsigt. I 3D-sculpt var han till en början väldigt hårdhänt med leran. Han tryckte hela vägen ner till botten direkt. Han ville från början mest trycka och inte känna så mycket. Vi körde 3D-sculpt ganska länge och mot slutet började han lära sig att trycka och känna försiktigt också. Han verkade fascinerad när han kom på att han kunde känna vad han gjort också och inte bara trycka.

Vi körde ett Memory 12 ett par gånger och det gick ganska bra, men inte obehindrat.

När vi skulle prova Memory House var Fredrik mycket trött, han hade koncentrerat sig länge och mycket. Det gick inte bra alls. Jag tror det största problemet var att han tryckte väldigt hårt hela tiden. För att känna knapparna skall man helst vara lite lätt på handen, annars trycker man in knapparna utan att känna det. Vi avbröt efter en stund eftersom det inte kändes meningsfullt att fortsätta.

Fredrik verkade klara av att känna och förstå de stora sakerna efter lite träning, men däremot tror jag att knapparna mm. kräver ganska mycket träning i hans fall.

Hur skall man träna fram det mera försiktiga kännandet? Fredrik verkade trycka väldigt hårt i flera olika situationer och kanske inte känna sig fram så mycket. Ett sätt att träna kan vara att använda 3D-sculpt och verkligen uppmana till att trycka försiktigt och känna efter vad som hänt kontinuerligt. Det verkar vara mycket svårare att köra memory när man trycker så mycket som Fredrik gör.

Gittan

Kvinna 60-årsåldern, barndomsblind.

Gittan provade allt en gång per styck. Fascinerad över att känna med ena handen när den andra inte kunde känna alls. Gittan spelade memory-12 utan några som helst problem. Men när hon kom till Memory House gick det inte alls lika bra. Hon spelade hyfsat säkert, men verkade inte orka spela på allvar. Hon klarade ganska bra att hitta knappar osv. men hon verkade ha klart svårt att minnas var ljuden hörde hemma. Efter tolv minuter tryckte hon medvetet på Svarte Petter och då avbröt vi, hon hade då klarat tre par.

Gittan säger att barndomsblinda har sämre allmän rumsuppfattning än de som någon gång har sett. Det kan kanske påverka om man skall försöka göra planskisser eller modeller av rum. Hon själv verkade inte kunna tyda att huset var ett hus på egen hand. Hon höll med helt och hållet när jag sa hus, men det kom inte spontant. Hennes första idé var att det var en trappa, och det är kanske inte så konstigt eftersom det går i nivåer.

Henrik

Man 30-årsåldern, helt blind

Henrik har inte alls provat Fantomaten tidigare. Han är blind sedan slutet av sjuttiotalet. Till vardags jobbar han med friskvård allmänt och massage i synnerhet.

Henrik gick igenom de vanliga demoprogrammen. Han ville ibland hjälpa till och känna med hela handen, men inte med både vänster och höger. (Fast han hade nästan parkerat vänsterarmen under bordet för att den inte skulle vilja vara med.)

Villan kände han igen efter en stund, men det gick inte direkt. Henrik jobbade genomgående lugnt och metodiskt. Det verkade som om han tog i lagom hårt nästan med en gång.

När vi körde memoryspelen jobbade han mycket säkert. De mindre spelen gick helt utan problem. Även memory-B klarade han enkelt. När vi körde memory-A höll han med om att det var svårare, men gav inte alls upp för det. Tvärtom så spelade han med stor säkerhet och iver även det svåraste memoryt flera gånger.

Henrik använde också en speciell taktik för att undvika Svarte Petter: När han hittat den såg han till att tömma den våningen på andra kort så att han inte skulle behöva vara där mera. Ett enkelt knep, men det underlättar förstås mycket. Henrik verkade generellt arbeta mycket säkert. Han tyckte också att det var mycket roligt. Han sa själv att han levde sig in i spelet och stängde ute andra "oväsentliga" intryck.

Ingvar

Man 40-årsåldern, helt blind

Ingvar jobbade genomgående ganska långsamt. Han klarade det mesta men det gick inte så fort och han verkade inte lika säker som t.ex. Henrik. Ingvar skulle förmodligen kunna bli mycket bättre med lite mer träning.

Specialfallen: Henrik och Fredrik

Istället för att försöka göra alltför mycket statistik med ett underlag av få personer så försöker jag här beskriva specialfallen i min testgrupp. Specialfallen i sig kan ju mycket väl ge mer information än en samling mycket väl underbyggda medelvärden.

Jag har valt att ytterligare beskriva Henrik och Fredrik.

Henrik

En av Henriks första kommentarer när han kände på det lilla huset var "Det liknar ju sparbankens hus som man stoppar pengar i." Senare tyckte han om samma hus att man skulle lägga till en skorsten för att det skulle bli riktigt bra. Henrik kunde alltså jämföra sin känselbild med sina tidigare erfarenhetsbilder, förmodligen både gamla synbilder och känselbilder.

Han kunde också enkelt både hitta och använda stopp-knappen i programmen.

Programmet med rörliga kuber brukar inte så många klara av. Programmets konstruktion gör att man inte känner kuberna om man sveper med fingret direkt mot golvet. Och eftersom kuberna är rörliga så flyttar de sig oftast när man kommer emot dem. Det är inte så lätt att hålla reda på saker som dels rör sig och dels inte är helt enkla att känna. Henrik klarade det genom att mycket försiktigt röra sig en bit ovanför golvet. När han hittat en kub kunde han köra in den i ett hörn och känna på den mera noggrant där. Han kunde utan några större problem konstatera att båda kuberna var ungefär lika stora, men att den ena var mycket tyngre än den andra.

När Henrik körde 3D-sculpt noterade han att det är lättare att modellera när man drar fingret mot sig än när man trycker det ifrån sig. Dessutom är det lättare att arbeta fram/bakåt än i sidled. Detta stämmer ofta i vanliga livet också, och är kunskap som kan och bör användas både av programmerare och användare.

Han arbetade mycket metodiskt i memory-programmen. I det första memory-12 började han direkt känna av hur knapparna låg utan att trycka på dem. Han började i nedre vänstra hörnet och utforskade sedan miljön därifrån. Han verkade vara noga med att ha en referenspunkt att utgå ifrån. När han var färdig med själva utforskandet kunde han ofta röra fingret direkt från en knapp till en annan, utan att behöva svepa längs väggen. Han hade alltså skaffat sig någon form av inre bild som fungerade mycket bra att navigera efter. Flera gånger rörde han sig med samma säkerhet som en seende kan göra utan att behöva känna sig fram.

När det blev dags för de större memory-spelen kunde han använda sin gamla taktik i en något utvidgad form. Han började som tidigare i nedre vänstra hörnet. Han kände sig fram i höjdled och i sidled, men han behövde inte känna på varje knapp för sig. Han kände däremot på ett smart sätt och kunde utifrån sina gamla erfarenheter från de mindre memoryspelen bygga ut sin bild till en fullständig beskrivning av miljön.

Jag noterar också att Henrik spelar snabbare och snabbare ju färre kort det finns kvar, precis på samma sätt som en seende som har full översikt över korten.

När han tagit ett par kontrollerar han snabbt att knappen är borta med ett Z-svep.

Henriks system med referenspunkter är viktigt för alla som vill göra haptiska gränssnitt. Jag hävdar att

  1. Man behöver referenspunkter i sin känselmiljö. Ju mer komplicerad miljön är, desto fler referenspunkter behöver man. Referenspunkter skall vara lätta att hitta och gå att identifiera om och om igen.
  2. Saker som man vill ska vara lätta att hitta men som inte själv är en referenspunkt skall på något sätt ligga nära en referenspunkt.

Fredrik

Fredrik kunde inte identifiera huset själv. Och han tyckte inte riktigt att det var ett hus även när jag sa det till honom. Han tyckte att allt var alldeles för spetsigt och vasst. Han undrade vad huset och bollarna var gjorda av för något. Det är inte helt lätt att förklara att det bara är information, databitar bakom alltihop.

Fredrik verkade ha svårt att ta lagom mycket. Oftast använde han mycket små rörelser och kände inte på helheten. När han skulle känna i större banor verkade det ändå som om han rörde sig slumpmässigt och han missade ofta knappar som han bara kom i närheten av. Jag tror att det är viktigt att försöka arbeta på något sätt systematiskt när man söker av ett område med Fantomaten. Men jag tror också att man skulle kunna underlätta för mera fritt sökande genom att ändra lite i programmen. Som alla fantomprogram fungerar idag modelleras fingret som en oändligt liten punkt. Man kan inte känna något om inte denna punkt är i direkt kontakt med något objekt. Om man istället låter fingret vara en större sfär skulle man kunna känna av stora områden med lite mindre noggrannhet men med mycket mindre risk att missa något.

Fredriks största problem verkar annars vara att han rör fingret för lite. Ofta försöker han känna med bara millimeterstora rörelser och det ger mycket lite information tillbaka. Dessutom trycker han ofta ganska hårt mot den yta som han känner på vilket även det försvårar själva kännandet. Jag ser just nu ingen möjlighet att adaptivt anpassa programmens kraftinställningar efter användaren och på så sätt kompensera denna typ av problem. Däremot skulle man kanske kunna utveckla speciella träningsprogram vars egentliga uppgift är att så att säga lära användaren att känna med fantomen.

 


Avsnitt 2. Tekniken

Systemet Fantomaten är byggt kring the PHANToM från Sensable Technologies. Här följer en ingående beskrivning av själva hårdvaran, the PHANToM, och de olika delarna i mjukvaran.

Hårdvaran - the PHANToM

The PHANToM är en kommersiellt tillgänglig produkt från Sensable Technologies. När CERTEC började använda the PHANToM fanns det endast ett tiotal exemplar i hela världen, och produkten hade många ofullkomligheter. Dessutom var stödet för programutvecklare mycket svagt och det har egentligen inte blivit bättre förrän GHOST introducerades i början av 1997.

CERTECs första fantom var av "skrivbordslampe-modellen", eller modell T som den kallas numera. Idag är alla fantomer som säljs av modell A. A-modellen är monterad på en platta som man kan ställa direkt på bordet utan att behöva skruva fast den. A-modellen är alltså lättare att hantera än T-modellen, men Sensable har också förbättrat konstruktionen på många andra sätt så att de nya fantomerna är mycket mera tillförlitliga än de vi började vår verksamhet med. Det finns numera också tre olika storlekar på the PHANToM. CERTECs alla fantomer har storleken 1.0.

 

Teknisk beskrivning av the PHANToM

I systemet the PHANToM ingår tre delar: själva armen, en förstärkarbox och ett interfacekort till datorn. Förutom detta behövs en kraftfull dator. Teoretiskt sett fungerar fantomen med ny programvara på en Pentium 166 MHz, men jag rekommenderar ingenting mindre än en Pentium Pro 200 MHz.

Det mest innovativa i uppfinningen the PHANToM är själva armen. Man har fingret i en hylsa av plast som sitter längst ut på armen. När man rör sig omkring registreras rörelserna av tre optiska pulsgivare vid armens fäste. Givarsignalerna går direkt till interfacekortet som integrerar pulserna till en absolut vinkel. Datorprogrammet läser av vinklarna från kortet och omvandlar fantomkoordinaterna till rätvinkliga koordinater. Utifrån informationen om var användaren har sitt finger beräknas den kraft som användaren skall känna från fantomen. Själva kraften ges av tre DC-motorer som sitter monterade på samma plats som givarna. Förstärkarlådan innehåller en analog förstärkare för varje motor samt i de nya fantomerna en del skyddskretsar.

Armen är gjord av aluminium i de vanliga fantomerna. Den största modellen har en arm av kolfiberarmerad plast.

Tekniska data för the PHANToM:

Upplösning nominellt 0,03 mm (860 dpi)
Arbetsområde 13 x 18 x 25 cm
Motkraft av friktion i systemet 0,04 N
Maximal kraft av motorerna 8,5 N
Tröghet (som upplevd massa i fingertoppen) <75 g
Bottenplattans storlek 18 x 25 cm

Tabell 2. Tekniska data för the PHANToM A 1.0

GHOST

Sensable Technologies lanserade våren 1997 ett nytt programutvecklingspaket för the PHANToM. Paketet kallas GHOST vilket står för General Haptics Open Software Toolkit. GHOST är ett objektorienterat programbibliotek som fungerar som stöd för utvecklare av program för the PHANToM.

CERTEC har ingått i det team som betatestat GHOST innan den officiella lanseringen. Jag har alltså i arbetet med "The Memory House" använt två betaversioner av GHOST och även arbetat aktivt med Sensable Technologies med diskussioner kring GHOSTs design.

GHOST är portabelt och stöder alla varianter av the PHANToM. Program som skrivs för GHOST går alltså att köra på både gamla och nya fantomer, även fantomer av olika storlek fungerar med samma program, men här får man vara lite försiktig eftersom objekten normalt har konstant storlek. GHOST finns nu för NT 3.51 eller 4.0 på PC och Irix 6.2 på Silicon Graphics Onyx och Indigo II.

Kännetecknande för GHOST

Med GHOST representeras den haptiska miljön som en hierarkisk uppsättning av geometriska objekt och rumsliga (spatiala) effekter. I ett GHOST-program är abstraktionsnivån sådan att programmeraren koncentrerar sig på en "haptisk scen", objekten på scenen och objektens statiska respektive dynamiska egenskaper. Därtill finns globala haptiska effekter, t.ex. vibration, som är helt oberoende av objekten. Tidigare bestod program för the PHANToM till mycket stor del av kraftberäkningar, nu sköt alltså den delen istället av GHOST.

Den haptiska delen av programmen bildar en trädstruktur med scenen som rot. Interna noder i trädet används för att gruppera objekt, ange rotation och skalning av grupper (grenar) och ange dynamiska egenskaper. Ändnoderna eller löven på trädet innehåller själva det geometriska objektet. Löven har också orientering och skala relativt sina fadernoder (sin gren).

Användarens finger, eller hylsan längst ut på fantomen beroende på hur man ser det, representeras som en punkt i det haptiska rummet. GHOST beräknar automatiskt de krafter som uppkommer mellan interaktionspunkten och de olika objekten. De beräknade krafterna räknas om till moment för de olika motorerna på the PHANToM.

Program för GHOST har möjlighet att använda två olika interaktionspunkter. Dessa är:

  1. Den fysiska positionen för fingret/hylsan.
  2. Ytkontaktpunkten (SCP, Surface Contact Point). SCP är den beräknade position som fingret skulle ha haft om det befann sig på ytan av objektet. (Den verkliga positionen för fingret projicerad på den yta på objektet som man rör vid.) I verkligheten sjunker fingret in en bit innanför ytan vilket ger oönskade effekter nära hörn och vid tunna objekt. För kraftberäkningarna i GHOST används alltid SCP.

Om man inte använder SCP så måste man dela in objekten i delar där kraften skall riktas åt olika håll. I bilden ovan visas en genomskärning av en tunn spetsig list. Utan SCP riktas kraften till vänster i listens vänstra halva och till höger i listens högra halva. Problemet här är att man lätt kan trycka sig igenom halva listen och så trillar man ut på andra sidan eftersom kraften plötsligt ändrar riktning. Med SCP så riktas alltid kraften från den verkliga positionen mot SCPn. På detta sätt trillar man alltså inte igenom även om objektet är mycket tunt. För att komma runt till andra sidan måste man alltså i detta fall röra fingret upp över kanten vilket är mycket mera verklighetstroget än att man kan gå rakt igenom väggen.

Grafik och GHOST

GHOST i sig generar ingen grafik alls. Däremot innehåller GHOST en callback-mekanism som gör att programmeraren kan använda vilket grafikpaket som helst och få grafik som är synkroniserad med den haptiska miljön. För "the Memory House" (och de flesta av Sensables demoprogram) används 3D-paketet OpenGL för grafiken.

Byggblocken i GHOST

GHOST är skrivet i C++ och består av klasser och datatyper organiserade i ett stort träd, två mindre träd och en uppsättning fristående klasser.

Bild 15. Intern trädstruktur i GHOST

Abstrakta basklasser

De abstrakta klasserna används som bas för de andra klasserna och är själva inte del av nodgrafen i programmen.

gstNode Abstrakt basklass för alla noder
gstTransform Abstrakt basklass som ger möjlighet till 3D-transformationer och callbackfunktioner för noder.
gstShape Abstrakt basklass för geometrinoder
gstDynamic Abstrakt basklass för dynamiknoder

Klass för grupperande noder

Hierarkarkiska eller grupperande noder ger möjlighet att behandla ett helt underliggande träd som en enhet. Den enda nu existerande grupperande klassen heter gstSeparator. gstSeparator ger också möjlighet att skapa underträd utifrån VRML-filer.

gstSeparator Klass för hierarkiska noder, tillåter gruppering av underliggande noder till ett underträd.

Klasser för geometrinoder

GHOST tillåter två olika sorters geometrinoder. Den ena sorten är olika geometriska grundelement som kuber, sfärer, koner etc. Den andra sorten är objekt som är uppbyggda av sammanfogade trianglar (polygonuppbyggda objekt).

Alla geometrinodsklasser är underklasser till gstShape och geometrinoderna är de enda som tillåter formförändring.

gstCube Klass för kubiska objekt
gstCone Klass för koner
gstCylinder Klass för cylindrar
gstSphere Klass för sfärer
gstTorus Klass för ringar
gstPolyMesh Klass för polygonuppbyggda objekt

Klasser för dynamiknoder

Dynamiknoder används för att ge speciella dynamiska egenskaper till en geometrinod eller ett underträd. Dynamiska egenskaper tillåter objekten att röra sig på olika sätt. Oftast specificeras här objektens massa och eventuell upphängning etc.

gstButton Klass för tryckknappars dynamik
gstDial Klass för vridknappars dynamik
gstSlider Klass för skjutkontrollers (reglars) dynamik
gstRigidBody Klass för dynamik hos stela men i rummet rörliga kroppar

Klasser för the PHANToM

Dessa klasser används för att komma åt det fysiska tillståndet hos själva fantomen.

gstPHANToM Representerar fantomen
gstPHANToM_SCP Representerar ytkontaktpunkten. Denna nod är beroende av en associerad gstPHANToM-nod.
gstBoundary Abstrakt basklass för rummet.
gstBoundaryCube Underklass till gstBoundary för att skapa avgränsningar för det rum som innehåller alla objekten

Klasser för effektnoder

GHOST innehåller ett antal klasser för att skapa effekter som inte är kopplade till ett speciellt objekt.

gstEffect Abstrakt basklass för effektklasser
gstBuzzEffect Ger en vibration i fingret
gstConstraintEffect Begränsar tillåtet rörelseområde till ett plan, en linje eller en punkt.
gstInertiaEffect Adderar extra masströghet till fingret

Klasser för manipulatornoder

Manipulatornoder tillåter förflyttning, formförändring och rotation av geometriska objekt med kraftåterkoppling.

gstManipulator Abstrakt basklass för manipulatorklasser
gstTranslateManip Klass för förflyttnings med kraftåterkoppling
gstRotateManip Klass för rotation med kraftåterkoppling
gstScaleManip Klass för skalning med kraftåterkoppling

Klass för scenen och speciella datatyper

Scenklassen utgör basen för själva reglerprocessen. Scenklassen styr också kommunikationen mellan reglerprocessen och resten av programmet.

GHOST definierar och använder ett antal datatyper enligt listan nedan.

gstScene Handhar nodgrafen och äger reglerprocessen
gstPlane Klass som representerar ett plan
gstPoint Klass som representerar en punkt i ett tredimensionellt rum
gstTransformMatrix Homogen 4x4 transformationsmatris
gstVector Klass för tredimensionella vektorer

 

Att använda GHOST

Ett GHOST-program innehåller normalt kod för följande:

Huvudprogrammet måste alltså starta den haptiska reglerprocessen och den exekverar sedan separat med en helt annan hastighet än huvudprogrammet och logiken. För att den haptiska simulering skall fungera bra krävs att reglerprocessen hålla en konstant frekvens som helst inte understiger 1 kHz. De program som vi har idag låter grafiken och huvudprogrammet exekveras så fort som det går med den datorkraft "som blir över" när reglerprocessen går på 1 kHz. I de flesta fall innebär detta att grafiken uppdateras med en frekvens i storleksordningen 20-30 Hz.


Programmets uppbyggnad

I ett GHOST-program är den sk. nodgrafen en mycket viktig del. Nodgrafen beskriver programmets haptiska egenskaper. Nodgrafen byggs upp av dynamiska kopplingar mellan objekt när programmet initieras.

Man kan t.ex. göra en tryckknapp genom att koppla ihop ett separatorobjekt, ett knappdynamikobjekt och en kubobjekt. Separatorn kopplas sedan till trädets rot när man vill att knappen skall kännas.

Det kan verka omständigt att det behövs minst tre delar för att göra en enkel tryckknapp, men styrkan i systemet är friheten att välja utformning och dynamik fritt från varandra. Man kan alltså göra knappar runda, fyrkantiga, koniska osv. eller hitta på en egen form. Man kan också välja fritt mellan olika dynamiska beteenden t.ex. tryckknapp, vridknapp eller skjutregel.

En annan styrka med den dynamiska kopplingen mellan objekten är att man kan lägga till eller ta bort objekt ut trädet medan programmet är igång. I "the Memory House" kan man t.ex. stänga av allt som känns genom att trycka på h-knappen (h=haptics on/off). Det som händer i programmet är att hela hapticScene tillfälligt tas bort från trädet så att bara själva rummet är kvar. När man gör detta så känns ingenting annat än rummets väggar. Bilden på skärmen ser dock ut som vanligt eftersom grafiken inte styrs av vilka objekt som känns.

Anledningen till att man alltid har ett separatorobjekt först i grenen är att man vill låta separatorn innehålla objektets ursprungliga position och orientering. Dynamiska objekt rör sig när man trycker på dem, men för att ställa in var objektet skall befinna sig från början så flyttar man alltså hela separatorn. När man sedan trycker på knappen så ändras dynamikens position i förhållande till separatorn.

Scene och PHANToM är standardobjekt som alltid behövs för att programmet skall fungera. workSpaceH används också nästan alltid och ger väggar, tak och golv till själva rummet som man rör sig i.

Grenarna under hapticScene är det som gör programmet till något speciellt och jag skall beskriva varje gren för sig. Jag börjar med det enklaste.

quitButton-grenen

QuitButton är som det låter en knapp för att avsluta programmet. Det här är typexemplet på en tryckknapp i ett GHOST-program. Koden ser ut så här:

gstSeparator *QuitButtonSep = new gstSeparator;
gstButton *QuitButtonDyn = new gstButton; 
gstCube *QuitButtonCube = new gstCube;
hapticScene->addChild(QuitButtonSep);
QuitButtonSep->addChild(QuitButtonDyn);
QuitButtonSep->setTranslate(quit_button_pos);
QuitButtonDyn->addChild(QuitButtonCube);
QuitButtonDyn->setEventCallback(QuitButtonCB,scene);
QuitButtonCube->setScale(QUIT_BUTTON_WIDTH/2);

Sensable skickar med en klass speciellt för stoppknapppar, men jag har valt att göra en egen knapp eftersom jag vill kunna styra vad som händer när programmet avslutas. T.ex. så måste logfilen stängas på ett kontrollerat sätt och det sker inte om man använder Sensable’s stoppknapp.

Button-grenen

Den här grenen innehåller alla knapparna eller korten för memoryspelet. ButtonSep[] är en vektor som innehåller pekare till separatorobjekt för alla knapparna. Dynamiken är en vanlig knappdynamik, men ButtonCube är lite speciell.

De första varianterna av memory hade vanliga rätblock (dvs. omskalade kuber) som objektet man känner på. När jag testade dessa första program tyckte jag att kuberna gjorde programmet onödigt komplicerat. Det är lite svårt att komma upp på den plana ytan eftersom kanterna på knappen är helt vinkelräta mot väggen.

Genom att fasa av sidorna på knappen kan man göra det lättare att komma upp på tryckytan på knappen och den blir också mer lik vanliga tryckknappar. De fasade knapparna är dock inte perfekta, många som kör memory utan att se trycker på den sneda ytan på sidan av knappen och inte på toppen. Detta till trots har jag valt att använda de fasade knapparna i alla memory-program.


För att göra själva formen har jag definierat en klass, gstButtonShape, som använder en gstPolyMesh för att skapa knappformen. GstPolyMesh är en subklass till gstShape som används för att skapa geometriska objekt uppbyggda av sammanfogade polygoner, i detta fall enbart trianglar.

Den vitala koden i gstButtonShape är ganska enkel. Det mest komplicerade är egentligen att få rätt orientering på alla delytor. Vänder man siffrorna fel för någon av trianglarna blir nämligen den ytan kännbar bara inifrån istället för bara utifrån som man normalt vill.

Här följer större delen av koden för knappens geometri.

#define num_vertices 8
#define num_triangles 12
static double buttonShapeVertices[num_vertices][3]=
{
{ 1, 1, 0.0},
{ 1,-1, 0.0},
{-1,-1, 0.0},
{-1, 1, 0.0},
{ .6, .6, .4},
{ .6,-.6, .4},
{-.6,-.6, .4},
{-.6, .6, .4},
};
static int buttonShapeTriangles[num_triangles][3]=
{
{0,1,3},
{1,2,3},
{0,4,1},
{4,5,1},
{1,5,6},
{1,6,2},
{2,6,3},
{6,7,3},
{4,3,7},
{4,0,3},
{5,4,7},
{5,7,6},
};
// Default constructor. 
gstButtonShape::gstButtonShape() : gstSeparator()
{
Shape = new gstPolyMesh(
num_vertices,buttonShapeVertices,
num_triangles,buttonShapeTriangles);
Shape->setOptimize(1);
Shape->setSmoothing(0);
this->addChild(Shape);
};

Floor-grenen

Denna gren representerar de genomträngliga golven/taken mellan våningarna. Tyvärr stöder inte GHOST genomträngliga objekt alls i nuvarande version. (Jfr beskrivning av SCP sid *.) Genomträngliga väggar är inget komplicerat om man programmerar på kraftnivå. Med GHOST däremot försöker Sensable hjälpa programmerarna genom att lägga ett objektlager ovanpå kraftlagret. Som programmerare behöver man då inte kunna så mycket om reglerteknik eller hur man skall lägga ut krafter för att åstadkomma känslan av ett visst objekt.

Det är möjligt att Sensable kommer lägga till stöd för genomträngliga objekt i senare versioner av GHOST, men den finns alltså inte ännu. Ett möjlig lösning på problemet med genomträngliga objekt är att göra hela programmet utan GHOST, med rena kraftberäkningar rakt igenom. Detta skulle dock innebär andra problem som antagligen skulle vara minst lika tidskrävande att lösa.

Den lösning som jag till slut valde bygger på att golv och tak är kopplade till en knappdynamik. Med denna lösning finns det bara ett golv och ett tak, och man befinner sig alltid mellan golvet och taket. När golvet eller taket trycks in har jag gjort programmet så att både golv och tak flyttas ett snäpp upp eller ner beroende på om man tryck på taket eller golvet. Resultatet blir att det känns som om man tryckt sig igenom golvet och kommit ut på våningen under.

Denna lösning fungerade ganska bra från början. Det blev dock ibland problem på grund av att man hamnade under golvet eller ovanför taket. Även om problemet inte uppkom så ofta så är det allvarligt eftersom man inte kan fortsätta spelet om detta händer. Dessutom går man upp och ner ganska mycket så sannolikheten att drabbas någon gång under ett spel är långt ifrån oväsentlig.

För att lösa detta är geometrin för golv och tak nu uppbyggd med en polymesh. Golvet består av bara två trianglar sammansatta till en kvadratisk yta. Vitsen med detta är att golvet då inte blir kännbart från undersidan. Om man skulle några hamna under golvet eller ovanför taket så innebär det alltså inga problem med denna lösning eftersom ingenting hindrar dig från att gå tillbaka till rätt område. Och när man väl är tillbaka mellan golvet och taket så fungerar allt som vanligt igen. Faktum är att man mycket sällan upplever att man blivit av med golvet eller taket eftersom man nästan alltid av bara farten hamnar rätt mycket snabbt även om man kanske hamnade utanför gränserna direkt efter att golv och tak flyttats.

Den intressanta koden i det här sammanhanget är callback-funktionen som anropas när golv eller tak har tryckts in.

/**********************

** floorEventCB **

**********************/

void floorEventCB(gstTransform *, void *eventData, void *param) {

// The user-defined argument is the floor number.

int *floor_num = (int *)param;

// Get the button state from the event id.

gstEvent *event = (gstEvent *)eventData;

if (event->id == gstButton::PRESSED){

if (*floor_num==1){

// moving up

if (activeFloor==0)

floors[0]->translate(gstPoint(0.0,50.0,0.0));

floors[0]->translate(gstPoint(0.0,20.0,0.0));

floors[1]->translate(gstPoint(0.0,20.0,0.0));

activeFloor++;

if (activeFloor==5) floors[1]->translate(gstPoint(0.0,50.0,0.0));

}

else if (*floor_num==0){

// moving down

if (activeFloor==5) floors[1]->translate(gstPoint(0.0,-50.0,0.0));

floors[1]->translate(gstPoint(0.0,-20.0,0.0));

floors[0]->translate(gstPoint(0.0,-20.0,0.0));

activeFloor--;

if (activeFloor==0) floors[0]->translate(gstPoint(0.0,-50.0,0.0));

}

time(&ltime);

logfile << "Våning nr:\t" << activeFloor << "\t\t\t" << asctime(localtime(&ltime));

switch (activeFloor){

case 0:{

if (sayFloor_on)

PlaySound ("sounds\\floor1.wav",NULL,SND_ASYNC);

break;

}

case 1:{

if (sayFloor_on)

PlaySound ("sounds\\floor2.wav",NULL,SND_ASYNC);

break;

}

case 2:{

// osv…

}

}

}

 

Problem i programmeringen

GHOST använder objekt och döljer kraftberäkningarna

Ett av problemen i programmeringen var att få till de genomträngliga golven och taken som beskrivs ovan. Orsaken till att detta blev ett problem är alltså att man i GHOST definierar de objekt som skall kännas och anger egenskaper för dem. Egenskaper som "genomtränglig" eller "flytande" finns dock inte med på listan av vad man kan göra med GHOST idag.

En tanke som jag hade i början var att lägga till en magnetisk effekt på knapparna. Jag ville testa om det var enklare att hitta rätt om knapparna drog till sig fingret med en ganska svag kraft. På kraftnivån är det inte särskilt komplicerat att simulera en magnetisk effekt. Man kan inte riktigt använda fysikens lagar för en punktladdning eftersom kraften blir för stor när man kommer nära objektet, men med en modifierad funktion kan man få ett resultat som känns bra.

Problemet är återigen att GHOST inte tillåter att man specificerar krafter. Det närmaste man kommer är att definiera en gstEffect. Det möjliggör en magnetiskt effekt som den vi vill ha, men GHOST tillåter bara en effekt åt gången. Om man vill ha två punktladdningar så tas den första automatiskt bort så fort man lägger till den andra. Lösningen på detta problem blev så komplicerad att jag har valt bort magneteffekten tills vidare.

Knäppningar i fingret när man läser in ljudet till knappen

Som jag beskrev under rubriken "Att använda GHOST" (sid *) så kör datorn flera processer parallellt när ett GHOST-program är igång. Det är också viktigt att reglerprocessen går med konstant hastighet.

Dessa realtidskrav orsakar en del problem i "the Memory House". När man trycker på någon knapp så spelas knappens ljud upp i högtalarna, men innan ljudet spelas upp måste en WAV-fil läsas in från hårddisken. Inläsningen tar inte alls lång tid, men den medför ändå ibland en viss försening i reglerloopen vilket i sin tur medför att det knäpper till i tryckknappen.

Delvis kan man lösa problemet genom att läsa alla filer från disken i början av programmet, då sparas mycket av informationen i minnet så att det går fortare att läsa in ljuden när de ska användas på riktigt. Tyvärr räcker inte detta riktigt till när man har många ljud som i "the Memory House".

Vibrationer i hörnen

I hörnen av rummen är fantomarmen mycket nära sitt yttersta läge och i vissa fall kan detta ge en del instabilitetsproblem. Beroende på hur egenskaperna hos de ytor man känner på kan man ibland drabbas av små vibrationer i hörnen.

Man kan komma undan dessa problem genom att anpassa objektegenskaperna eller genom att minska rummets storlek något så att man inte kör så nära fantomens gränser. Vill man använda ett större arbetsområde så finns möjligheten att använda the PHANToM 1.5 som har 1,5 gånger så lång arm som våra PHANToM 1.0.

Datorkrav

Vi använder idag datorer av typ Pentium Pro 200 med Windows NT för våra fantomer. Det har hittills gett tillräckliga prestanda i normala fall.

För att kunna köra Fantomatprogram och vanliga program parallellt krävs en dator med minst två processorer. På så sätt har man alltid kraft att köra reglerloopen med full fart även om datorn jobbar hårt med annat. En dator med flera processorer skulle förmodligen också lösa problem med att diskaccess försenar reglerloopen som när knappljuden läses in.

Samarbete kring Fantomaten

Ett informellt samarbete kring Fantomaten initierades vid ett möte på CERTEC i februari 1997. Närvande på mötet var:

Harry Svensson, Tomtebodaskolans Resurscenter, Stockholm, (harry@trc.se)
Gunnar Jansson, psykolog, Uppsala Universitet, (Gunnar.Jansson@psyk.uu.se)
Karin Jönsson, HADAR, Malmö, (Karin.Jonsson@hadar.amu.se)
Ulf Larsson, HADAR, Malmö, (Ulf.Larsson@hadar.amu.se)
Eva Lindstedt, ögonläkare (Eva.Lindstedt@elisyn.se)
Bodil Jönsson, CERTEC (Bodil@certec.lth.se)
Kirre Rassmus Gröhn, CERTEC (Kirre@certec.lth.se)
Calle Sjöström, CERTEC (Calle.Sjostrom@certec.lth.se)

I Fantomatsammanhang har vi också haft kontakt med bland andra:

Gunilla Lundén, KFB
Krystyna Asarnoj, KK-stiftelsen
Gunnar Karlsson, Pedagogiska institutionen, Stockholms Universitet
Syncentralen i Jönköping
Aleksandar Kostov, the Faculty of Rehabilitation Medicine
, University of Alberta, Canada
William Harwin, the Department of Cybernetics, University of Reading, England
Chetz Colwell, Sensory Disabilities Research Unit, University of Hertfordshire, England

Finansiering

Projektet Fantomaten finansieras dels via projektbidrag och dels av CERTECs egna medel. Nuvarande externa finansiärer är:

Kommunikationsforskningsberedningen, KFB

Statens Institut för Handikappfrågor i skolan, SIH

Norrbacka Eugenia stiftelsen via
Handikappinstitutet

Helfrid och Lorentz Nilssons stiftelse

Nästa steg

Resultaten av testerna som redovisats här ger oss anledning att fortsätta arbetet för att göra Windows tillgängligt för blinda personer.

Ett annat intressant uppslag från denna studie är att utforska möjligheten att göra program som anpassar sig till sin användare. Beroende på styrka, rörlighet och känslighet skulle man kunna anpassa kraft- och ytparameterar så att användaren får bästa möjliga gränssnitt.

Utöver det som har anknytning till denna studie så planerar vi att via ett haptiskt gränssnitt studera finmotorik hos fumliga autistiska människor. Vi har sett indikationer på att dessa människor i vissa sammanhang kan hantera det haptiska gränssnittets renodlade interaktion mycket bra.

Referenser

Karlsson , Gunnar m.fl. (1992-1996). Rapport 68, 74, 77, 84 och 88. Psykologiska Institutionen, Stockholms Universitet

Sjöström, Calle. (1996). Fantomaten – the PHANToM för handikappade barn. CERTEC, Lunds Teniska Högskola.

http://www.certec.lth.se/research/projects/fantomat/
Fantomatens hemsida på CERTEC.

http://www.certec.lth.se/research/projects/fantomat/phantasticon.html
En sammanfattning av CERTECs tidiga arbete med Fantomaten

http://www.sensable.com
Sensable Technologies tillverkar och säljer the PHANToM.

http://touchlab.mit.edu
MIT Touch Laboratory

http://www.asel.udel.edu/sem/research/haptics/
University of Delaware, använder the PHANToM som hjälpmedel för blinda personer

http://www.ai.mit.edu/projects/handarm-haptics/haptics.html
MIT Artificial Intelligence Laboratory. Här föddes the PHANToM.

 


Appendix 1.
Resultat från loggning av memorytesterna i klass 5c

Alla körningar

Körning nummer

Ljud/ bild

Kille/ tjej

Antal tryck

Tid

06-03-1997 08:39:18

1

ljud

tjej 1

93

00:04:40

06-03-1997 08:44:32

2

bild

tjej 1

53

00:01:22

06-03-1997 08:46:02

3

bild

tjej 2

49

00:03:21

06-03-1997 08:51:50

4

ljud

tjej 2

102

00:09:23

06-03-1997 09:03:56

5

ljud

tjej 3

59

00:03:36

06-03-1997 09:08:31

6

bild

tjej 3

67

00:02:33

06-03-1997 09:11:21

7

bild

tjej 3

112

00:04:06

06-03-1997 09:16:16

8

bild

tjej 4

43

00:01:25

06-03-1997 09:18:23

9

ljud

tjej 4

73

00:03:47

06-03-1997 09:23:18

10

ljud

tjej 5

65

00:03:32

06-03-1997 09:29:46

11

bild

tjej 5

41

00:01:14

06-03-1997 09:31:06

12

bild

tjej 6

49

00:01:31

06-03-1997 09:34:28

13

ljud

tjej 6

47

00:02:04

06-03-1997 09:37:55

14

ljud

tjej 7

41

00:02:19

06-03-1997 09:40:39

15

bild

tjej 7

47

00:01:30

06-03-1997 10:15:03

16

bild

kille 1

45

00:01:22

06-03-1997 10:16:48

17

ljud

kille 1

71

00:03:07

06-03-1997 10:21:18

18

ljud

tjej 8

144

00:07:05

06-03-1997 10:28:57

19

bild

tjej 8

47

00:01:28

06-03-1997 10:30:49

20

bild

tjej 9

134

00:05:37

06-03-1997 10:38:15

21

ljud

tjej 9

57

00:03:02

06-03-1997 10:42:59

22

ljud

tjej 10

69

00:03:25

06-03-1997 10:47:30

23

bild

tjej 10

45

00:01:26

06-03-1997 10:49:29

24

bild

kille 2

51

00:01:26

06-03-1997 10:51:47

25

ljud

kille 2

51

00:02:23

06-03-1997 10:55:26

26

ljud

kille 3

136

00:06:31

06-03-1997 11:02:35

27

bild

kille 3

67

00:01:55

06-03-1997 11:04:39

28

bild

kille 4

87

00:03:22

06-03-1997 11:09:29

29

ljud

kille 4

47

00:02:33

06-03-1997 11:12:55

30

ljud

kille 5

63

00:03:50

06-03-1997 11:18:12

31

bild

kille 5

83

00:02:27

06-05-1997 12:08:12

1

ljud

tjej 11

55

00:03:06

06-05-1997 12:11:35

2

bild

tjej 11

55

00:01:35

06-05-1997 12:13:24

3

ljud

tjej 11

43

00:01:43

06-05-1997 12:15:12

4

ljud

kille 6

74

00:04:16

06-05-1997 12:21:11

5

bild

kille 6

52

00:01:24

06-05-1997 12:22:55

6

ljud

kille 6

80

00:02:59

06-05-1997 12:27:24

7

bild

kille 7

55

00:01:57

06-05-1997 12:29:34

8

ljud

kille 7

51

00:02:34

06-05-1997 12:32:53

9

ljud

tjej 12

131

00:05:23

06-05-1997 12:38:40

10

bild

tjej 12

43

00:01:12

06-05-1997 12:39:57

11

bild

kille 8

107

00:02:59

06-05-1997 12:44:07

12

ljud

kille 8

74

00:02:44

06-05-1997 12:47:17

13

ljud

kille 9

53

00:03:06

06-05-1997 12:51:39

14

bild

kille 9

59

00:01:36

Medelvärden alla

68

00:02:59

Bara bildkörningar
06-03-1997 08:44:32

2

bild

tjej 1

53

00:01:22

06-03-1997 08:46:02

3

bild

tjej 2

49

00:03:21

06-03-1997 09:08:31

6

bild

tjej 3

67

00:02:33

06-03-1997 09:11:21

7

bild

tjej 3

112

00:04:06

06-03-1997 09:16:16

8

bild

tjej 4

43

00:01:25

06-03-1997 09:29:46

11

bild

tjej 5

41

00:01:14

06-03-1997 09:31:06

12

bild

tjej 6

49

00:01:31

06-03-1997 09:40:39

15

bild

tjej 7

47

00:01:30

06-03-1997 10:15:03

16

bild

kille 1

45

00:01:22

06-03-1997 10:28:57

19

bild

tjej 8

47

00:01:28

06-03-1997 10:30:49

20

bild

tjej 9

134

00:05:37

06-03-1997 10:47:30

23

bild

tjej 10

45

00:01:26

06-03-1997 10:49:29

24

bild

kille 2

51

00:01:26

06-03-1997 11:02:35

27

bild

kille 3

67

00:01:55

06-03-1997 11:04:39

28

bild

kille 4

87

00:03:22

06-03-1997 11:18:12

31

bild

kille 5

83

00:02:27

06-05-1997 12:11:35

2

bild

tjej 11

55

00:01:35

06-05-1997 12:21:11

5

bild

kille 6

52

00:01:24

06-05-1997 12:27:24

7

bild

kille 7

55

00:01:57

06-05-1997 12:38:40

10

bild

tjej 12

43

00:01:12

06-05-1997 12:39:57

11

bild

kille 8

107

00:02:59

06-05-1997 12:51:39

14

bild

kille 9

59

00:01:36

Medelvärden bild

63

00:02:08

Bara ljudkörningar
06-03-1997 08:39:18

1

ljud

tjej 1

93

00:04:40

06-03-1997 08:51:50

4

ljud

tjej 2

102

00:09:23

06-03-1997 09:03:56

5

ljud

tjej 3

59

00:03:36

06-03-1997 09:18:23

9

ljud

tjej 4

73

00:03:47

06-03-1997 09:23:18

10

ljud

tjej 5

65

00:03:32

06-03-1997 09:34:28

13

ljud

tjej 6

47

00:02:04

06-03-1997 09:37:55

14

ljud

tjej 7

41

00:02:19

06-03-1997 10:16:48

17

ljud

kille 1

71

00:03:07

06-03-1997 10:21:18

18

ljud

tjej 8

144

00:07:05

06-03-1997 10:38:15

21

ljud

tjej 9

57

00:03:02

06-03-1997 10:42:59

22

ljud

tjej 10

69

00:03:25

06-03-1997 10:51:47

25

ljud

kille 2

51

00:02:23

06-03-1997 10:55:26

26

ljud

kille 3

136

00:06:31

06-03-1997 11:09:29

29

ljud

kille 4

47

00:02:33

06-03-1997 11:12:55

30

ljud

kille 5

63

00:03:50

06-05-1997 12:08:12

1

ljud

tjej 11

55

00:03:06

06-05-1997 12:13:24

3

ljud

tjej 11

43

00:01:43

06-05-1997 12:15:12

4

ljud

kille 6

74

00:04:16

06-05-1997 12:22:55

6

ljud

kille 6

80

00:02:59

06-05-1997 12:29:34

8

ljud

kille 7

51

00:02:34

06-05-1997 12:32:53

9

ljud

tjej 12

131

00:05:23

06-05-1997 12:44:07

12

ljud

kille 8

74

00:02:44

06-05-1997 12:47:17

13

ljud

kille 9

53

00:03:06

Medelvärden ljud

73

00:03:47

 


Appendix 2.
Instruktioner för memory

Memory 6 och 12

På bakre väggen finns 6/12 knappar i rader och kolumner. Varje knapp har ett ljud som spelas upp när man trycker på knappen. Knappen har fasade kanter och känns lite som gummi (jfr. modellen). Knapparna trycks in mot bakväggen.

Upppiften är att para ihop ljuden. Det finns alltså hälften så många ljud som knappar, och det gäller att trycka på två knappar med samma ljud direkt efter varandra. När man hittat ett par och tryckt på båda knapparna direkt efter varandra försvinner båda knapparna och det paret är taget. Spelet är slut när alla par är tagna.

Memory House B/A

Memory House liknar de mindre memoryspelen men här finns istället 25 knappar. Knapparna är fördelade på 5 våningar och varje våning har alltså 5 knappar var.

Mellan varje våning finns ett golv/tak. Golven och taken känns som en vanlig vägg, men om trycker till lite så kommer man igenom till andra sidan. Man behöver alltså inte göra något speciellt för att byta våning. Varje gång man byter våning läser datorn upp vilken våning man kommit till. (Detta kan man stänga av om man vill.)

I House B finns alla knappar på den bakre väggen, precis som i memory-6 och 12. Knapparna är dock något mindre för att få plats. I House A däremot finns knapparna både på bakväggen och på sidoväggarna. Varje våning har då tre knappar på bakväggen och en på varje sidovägg.

Med 25 knappar blir det 12 par och en knapp över. Den sista knappen är Svarte Petter, och Svarte Petter skall man undvika. Första gången man trycker på Svarte Petter för man en varning och inget mer händer. Om man trycker på Svarte Petter igen så kommer alla par man tidigare tagit tillbaka. Man får alltså börja om igen från början. En liten tröst är dock att korten inte blandas utan de ligger på samma plats som från början.

Spelet är slut när alla par är tagna och bara Svarte Petter är kvar.