torsdag 4 juni 2009

Så skapades Wii MotionPlus

Varför kokade Nintendo sina kretskort i tryckkokare? Vad hade de för användning av demonstrationsutrusning för Pokémonleksaker? Vad är Wii MotionPlus (Wii M+) och hur gick det till när den skapades?

Industridesign är inte enkelt. Bakom varje färdig produkt ligger en hel rad av förkastade prototyper. Att komma fram till vad som funkar kräver mycket arbete och mycket trail-and-error. Nintendo har publicerat en artikel om hur designprocessen till Wii MotionPlus gick till. Det är intressant läsning.

Wii MotionPlus är ett tillägg som man sätter fast i änden av Wii-kontrollen. Wii-kontrollen innehåller accelerometrar som kan känna av acceleration i x-, y- och z-led och en infraröd kamera som kan känna av Wii-sensorn man placerar över (eller under) sin teve. Problemet med Wii-kontrollen är dock att den inte kan känna av rotation. Den vet om du har svingat kontrollen och i vilken riktning, men vet inte hur du vridit kontrollen. Lösningen är Wii MotionPlus.

Wii MotionPlus innehåller ett gyro som gör det möjligt att avläsa rotation. Men gyro-teknik medför en del designbekymmer, dessutom skulle det visa sig vara klurigt att designa ett fäste till Wii MotionPlus som gjorde att den kunde sitta kvar i Wii-kontrollen trots att den skakas väldigt mycket.

Skapa ett gyro med tillräcklig hög precision
Ett normalt gyro kan göra avläsningar med en precision på 300 grader per sekund. En del spel kräver dock mycket högre precision än så för snabba rörelser så tekniken modifierades för att klara av att känna 1600 grader per sekund. Att någon skulle vrida kontrollen 4,5 varv per sekund kändes inte särskilt troligt. Men att kunna känna av så snabba rörelser ger problem med precision för små rörelser.

Tänk dig att du har tio sedlar. Om varje sedel är värd 20 kronor så kan du betala 0, 20, 40,..., eller 200 kronor. Om varje sedel istället är värd 100 kronor så kan du betala 0, 100, 200,..., eller 1 000 kronor. Gränssnittet för att överföra information från Wii MotionPlus till spelkonsollen fungerar likadant (fast i fler intervaller). Det betyder att om du vill kunna registrera gradförändringar upp till 1600 grader per sekund så är du tvungen att låta varje sedel vara värd 160 kronor (om man bara har tio steg). Men mindre rotationer så förlorar du då precision eftersom du bara har alternativen att skicka en signal för 0 eller 160 grader (160 grader är nästan ett halvt varv, vilket är ganska mycket).

För att lösa precisionsproblemet införde Nintendos ingenjörer dubbla signalsystem. Ett system för mindre gradförändringar där varje sedel var värd x/n-grader (där x är antal grader per steg för de större gradförändringarna och n är antal steg, det blir alltså 160/10 i mitt exempel, således 16 kronor). Då kan systemet känna av 0,16,32,..., eller 160 grader. Efter 160 grader kopplas det andra systemet, som kan känna av större rotationer, in. I praktiken använder Wii MotionPlus ett mycket störra antal steg och får då mycket högre precision. De två systemen som jobbar tillsammans gör att kontrollen kan känna av både väldigt små och väldigt stora rotationer.

Problem med för hög precision
Men det visar sig att ett gyro med så hög precision som den i Wii MotionPlus ställer till en massa problem. Temperatur, luftfuktighet och vindpustar kan ge utslag på kontrollen även om den ligger helt stilla vilket ställer till en massa problem. Ingenjörerna var tvungna att komma på ett sätta att få kontrollen att veta när den rörde sig (och skulle registrera rörelser) och när den var stilla (och inte skulle registrera rörelser). En idé var att introducera en extra sensor som skulle se till att nollpunkten, den punkt från vilken alla mätningar görs, låg stilla. Den idén skulle dock öka priset för Wii MotionPlus och kanske även storleken så den gick bort. En annan idé var att använda Wii-kontrollens accelerometer för att känna av om Wii-kontrollen rörde sig eller inte, men även den idén skrotades. I slutändan lyckades programmerare på Nintendo skapa en mjukvarulösning på problemet som inte innebar några ökade produktionskostnader.

Problem att få fäste
När Wii-kontrollen designades var det inte tänkt att man skulle behöva fästa något tungt i änden. Det sitter en kontakt och två hål som ska kunna hålla sladd till en nunchuck eller någon annan kontroll på plats, men den ska inte behöva klara av någon större påfrestning. Detta skapade problem när Wii MotionPlus skulle fästas vid kontrollen. Försök att använda vanlig plast ledde till att kontrollen började glappa efter viss användning (Nintendo tog till demonstrationsutrustning till en Pokémonleksak som de använde som för att glapptesta fästanordningen). Att förstärka själva pluggarna (som ska gå in i hålen vid sidan av kontakten) med stål ledde till att hålen förstördes istället för pluggen. Genom att använda en extra hållbar plastblandning till pluggarna gick det tillslut att få Wii MotionPlus att sitta fast som den skulle.

Ytterligare problem
Det skulle visa sig att gyron är väldigt känsliga för tryck, och plasthöljet som omsluter gyrona är gjord av Epoxy, en plast som sväller (och därmed utsätter gyrot för tryck) när den absorberar fukt. Det här problemet går att komma runt på olika sätt. Ett sätt är att se till så att komponenterna tillverkas i helt fuktfria miljöer och att de sedan täcks av ett tunt lager av något material som inte släpper igenom någon fukt. Det fungerade inte, fukt lyckades ta sig igenom. Nintendo valde istället att gå åt andra hållet och se till så att plasten var mättad med fukt från början, så att ingen mer fukt kunde absorberas. Men det visar sig att det tar ganska lång tid att få plast att mättas med fukt.

För att spara tid köpte ingenjörerna tryckkokare, sådana man använder för att koka ris väldigt snabbt, som de kokade komponenterna i. Det skulle säkerställa att de fick in så mycket vatten som behövdes på så kort tid som möjligt. Idén fungerade i testlabbet, men i praktiken skulle det vara svårt att integrera ett gäng tryckkokare på löpande bandet. Istället valde teamet att förse labbet med luftfuktare (och termostat) för att hålla luftfuktigheten (och temperatur) på rätt nivå så att plasten skulle få i sig rätt mängd fukt. Det gjorde att tryckkokarna inte behövde användas, men tiden för att få rätt luftfuktighet ökade till 48 timmar.

Som ni märker ligger det mycket tanke, arbete och tid bakom en färdig produkt som är lätt att glömma när man väl får den i handen. Det går förmodligen att berätta liknande historier om många produkter. Om ni vill läsa mer om hur det gick till när Wii MotionPlus designades, kolla in artikeln på Wii.com.

Wii MotionPlus släpps i Europa den 12 juni.