Den sociala humanoiden Kismet
Innehåll 1. Inledning... 1 2. Kismets hårdvara... 2 2.1. Visuell hårdvara... 2 2.2. Auditiv hårdvara... 2 2.3. Uttryckshårdvara... 2 2.4. Vokal hårdvara... 3 3. Kismets ramverk... 3 3.1. Särdragssystem... 3 3.2. Perceptionssystemet... 4 3.3. Uppmärksamhet... 5 3.4. Motivation... 6 3.5. Beteende... 7 3.6. Motor... 9 3.6.1. Motorfärdighetssystemet... 9 3.6.2. Ansiktsanimeringssystemet... 9 3.6.3. Vokala Uttrycksystemetet... 10 3.6.4. Det visuella motorsystemet... 10 4. Diskussion... 12 Referenser... 13
1. Inledning Kismet är en humanoid autonom robot som utvecklades i syftet att vara en social robot som utvecklades i the sociable machines project i slutet av 90-talet. Att en robot är en humanoid innebär att den efterliknar människan. Roboten består av ett huvud som är 1,5 gånger så stort som ett mänskligt huvud. Det som var inspirationen till roboten Kismet var hur ett spädbarn lär sig att kommunicera med vuxna i dess omgivning. Roboten är speciellt inriktad på relationen mellan ett spädbarn och dess vårdnadshavare. Roboten kommunicerar genom att uttrycka sina känslor med hjälp av ansiktsuttryck och tal, alltså ett slags förkroppsligande av sina känslor. Kismet har en förmåga att få personer att uppleva känslor. Robotar med känslor har länge funnits inom science fiction och har en hjälpande roll till människan. Kismet är början på den här typen av robotar och något som kommer inspirera till framtida artificiell intelligens. 1
2. Kismets hårdvara Kizmets hårdvara hanterar input i form av visuell, auditiv och kroppsuppfattande sensorisk input. Robotens output består av tal, olika ansiktsuttryck och förmågan att röra på huvudet samt ögonen. Den här delen behandlar hårdvarorna som tar hand om detta. 2.1. Visuell hårdvara I det visuella systemet hos Kismet finns fyra CCD färgkameror som sitter på ett stereoskopiskt seende huvud. (Beskriv vad detta är). Det finns flera olika typer av CCDkameror på Kismets huvud som uppfyller olika funktioner. De CCD-kameror som är placerade på mitten av huvudet används för att bestämma vad roboten ska uppmärksamma, även för att beräkna avstånd. De resterande två CCD-kamerorna är av typen foveal och sitter i Kismets pupiller, de används för ögonigenkänning. Kismet har tre frihetsgrader som den kan använda för att styra sin syn och även tre frihetsgrader som används för att styra nacken. De frihetsgrader som används är drivna av servomotorer från Maxon DC. Dessa har hög upplösning och är viktiga för att positionen för rörelserna blir rätt. De är även därför Kismets ögon kan röra sig som en människas, vilket bidrar till den sociala interaktionen med Kismet känns autentiskt. 2.2. Auditiv hårdvara Det auditiva systemet består av en trådlös mikrofon som kan användas av en människa för att påverka robotens beteende. Det auditiva stimuli som kommer från mikrofonen förs vidare till en PC som körs med LINUX där talet processas och känns igen. Sedan förs det till en annan PC som körs med MT, där processas mönster i talet vilket gör att Kismet kan förstå talarens känslomässiga avsikter, detta sker i realtid. 2.3. Uttryckshårdvara Det är via uttryckssystemet som Kismet kan styra sina ansiktsuttryck. Detta system består av 15 frihetsgrader. Ansiktsuttrycken kan med dessa ändras för att visa olika typer av känslor. 2
Kismet kan till exempel vika bak sina öron för att visa irritation. Utöver det kan roboten även blinka med ett öga i taget och ändra sina ögonbryn för att visa att den är ledsen. 2.4. Vokal hårdvara Kismets tal görs med hjälp av artikulatorisk syntetisering. Eftersom att Kismet är avsedd att ha samma egenskaper som ett spädbarn är rösten inställd för att låta som ett litet barn. 3. Kismets ramverk Kismets ramverk består av sex stycken delsystemen, dessa är särdrags-, perceptions-, auditiva-, uppmärksamhets-, motivations-, beteende- och motorsystemet. 3.1. Särdragssystem Det som särdragssystemet består av är ett lågnivå visuellt perceptionssystem och ett lågnivå auditivt perceptionssystem. Det som det visuella gör är att ta fram visuella mönster som har en responsiv effekt på spädbarn. Det är dessa lågnivåmönster som sedan hjälper Kismet att skilja på stimuli i form av människor och stimuli i form av andra saker. Kismet kan urskilja människor med hjälp av hudfärg, ögonigenkänning och rörelse. Genom det visuella systemet kan roboten även upptäcka hot. För att känna igen färg finns det tre stycken 8-bit färgkanaler, röd, grön och blå, som kommer in till Kismet via dess kameror. De färgkanalerna blir sedan transformerade till fyra komplementära färgkanaler, röd, grön, blå och gul. Transformationen går till så att varje färgkanal som leder in i Kismet blir normaliserad, detta genom att ta ett viktat medelvärde på de tre färgkanalerna. Resultatet av det här är en 2D-karta som innehåller de mättade färgerna, röd, grön, blå och gul och pixeln med färgen blir mer intensiv. Även rörelser representeras med en 2D-karta. Kismet detekterar rörelser genom att beräkna temporala skillnader. Hudtoner är något som roboten söker efter då den vill hitta ansikten. Detta gör den genom att använda sig av en funktion som väger pixlarna emot bilder av hudtoner tagna ifrån Kismets egna kamera. Kizmet har även förmågan att upptäcka ögon. Förutsättningarna för att Kismet ska kunna detektera ögon är att avståndet inte är för stort. Det som metoden för ögonigenkänning går ut på är att leta efter ovala former som även är hudfärgade. Det som Kismet letar efter är ögon, som då är som två mörka fläckar, omringade av ljusare partier av 3
hud. För att kunna göra detta får inte huvudet var roterat för mycket, ögonen måste vara relativt horisontella för att Kismet ska upptäcka dem. För att ta reda på hur nära något befinner sig beräknar Kismet genom en matchning mellan båda dess kameror. Det som roboten gör är att leta efter likheter mellan kluster av pixlar. För att mäta likheten använder sig den av normaliserad korskorrelation. Kismets kameror analyserar även områden runt klustren för att ta reda på om de är av samma topologi, samma geometriska form. Om det inte är samma topologi avfärdas det och det sker ingen matchning. Men annars om de har samma topologi kan Kismet avgöra avståndet. Kismet har en förmåga att upptäcka saker som dyker upp snabbt i dess visuella fält. Kamerornas output förändras när något befinner sig framför kamerorna. Genom att lägga ihop differensen mellan bildernas pixlar får man ut ett värde. Värdet blir större om ett objekt befinner sig i närheten av roboten. För att möbler och liknande inte ska påverka värdet tar Kismet bara in sådant som rör sig hastigt. Detta resulterar i att det går att smyga sig på Kismet. Roboten uppfattar sådant som befinner sig nära och är i hög hastighet som hot. Hur snabbt något rör sig visas på rörelsekartan, ju högre hastighet desto mer aktivering visas på kartan. Eftersom att rörelsekartan visar aktivering då Kismet rör sitt eget huvud vilket gör att föremål ser ut att vara i rörelse och utgöra hot, stängs funktionen av. Ett extra filter har lagts in för att undvika detta, det som görs är att jämföra bildens utkant med dess center. Eftersom att Kismets egen rörelse skapar en jämn aktivering över hela kartan söker Kismet efter lokal aktivering. Kismets har även ett lågnivå auditiva perceptionssystem jobbar i realtid och tar fram mönster som gör att roboten kan urskilja människans röst ifrån andra typer av ljud. Även tillgivenhet kan kännas igen av roboten samt hur turtagning sker. Alla dessa delar gör att Kismet kan utforma ett språk med hjälp av imitation under en längre period. 3.2. Perceptionssystemet Det som perceptionssystemet gör är att samla in alla mönster som tas in av särdragssystemet och göra percept av dem. Dessa percept kan i sin tur ha en inverkan på bland annat Kismets beteende och motivation. Kismet har en specifik releaser kopplad till var och en av dess beteenden och känslor. Dessa releasers har funktionen att avgöra ifall tillräckligt mycket stämmer in och därmed uppfyller kraven för att Kismet ska reagera. 4
3.3. Uppmärksamhet Uppmärksamhetssystemet tar in visuella percept och letar efter typiskt utstickande eller relevanta för tidpunkten. Kismets huvud rör sig sedan för att vara riktad mot dessa utstickande percept vilket gör att roboten kan rikta sin uppmärksamhet ditåt. Efter att ha riktat uppmärksamheten kan sedan roboten anpassa sitt beteende efter det som fångat dess uppmärksamhet. Kismet är skapad för att vara en social robot och därför är det viktigt att samma saker som en människa finner intressant även är intressanta för roboten. Detta är viktigt för kommunikationen mellan Kismet och en människa. Robotens uppmärksamhet riktar sig därför åt samma saker som ett spädbarns uppmärksamhet skulle rikta sig mot. Kismets uppmärksamhetssystem som man kan se i bild 1 nedan, består av två steg, det förmedvetna(preattentive) steget och det begränsade kapacitetssteget. I det förmedvetna steget processar Kismet visuell information som finns i hela synfältet, detta är för Kismet hudfärg, färg och rörelser. I det begränsade kapacitetssteget sker processer som ögonigenkänning, igenkänning av ansiktsuttryck och objektidentifiering. I detta steg analyserar Kismet inte hela synfältet utan tar en del i taget. Processerna är under uppmärksamhetskontroll vilket sker med hjälp av de visuella stimuli, uppgiftsdrivande influensen och habituering. Kismets beteende styr alltså dess perception och perceptionen styr robotens beteende. Bild 1 En modell av Kismets uppmärksamhetssystem. På bild 2 kan man se hur Kismets uppmärkssamhetssystem reagerar på olika stimuli. Den övre raden visar bilder från Kismets kamera medan den undre visar hur uppmärksamhetssystemet reagerar på bilderna. I det första bildparet ser man att Kismet reagerar på ansiktet på mannen. 5
När mannen rör på objektet blir objektet mer utstickande för Kismet och hans fokus hamnar på leksaken. Bild 2 Uppmärksamhetssystemets reaktion på stimuli. 3.4. Motivation Kismets motivationssystem består av motivationer och känslor. Motivationerna är homoestatiska regleringsmekanismer. Känslorna som roboten får kan vara positiva eller negativa. Ifall roboten får positiva känslor kan den luta sig mot objektet och ifall det är negativa känslor som uppstår kan den rygga tillbaka. Kismet har sex stycken känslor, dessa är ilska, avsky, glädje, sorg och överraskning. Homeostatisk reglering är något som djur använder sig av, det är det som gör att djur kan överleva. Detta består av kritiska parametrar som måste uppfyllas genom att djuret kommer i kontakt med ett stimuli. För ett djur kan detta vara exempelvis mat, mat krävs för att överleva och djuret måste därför komma i kontakt med mat. Djuret vill alltså upprätthålla alla sina parametrar så att dess behov blir uppfyllda. Kismets mål är att lära sig av människor som den interagerar. Därför har den motivationer som hjälper den till detta mål, dessa är den sociala driften, stimuleringsdriften och trötthetsdriften. Nämnda motivationer får Kismet att vilja socialisera, leka och känna av trötthet. Kismets parametrar är uppfyllda och befinner sig i homeostatisk balans när den har en bra interaktion. En bra interaktion är när roboten inte blir under eller överstimulerad. När Kismet blir understimulerad leder det till att han blir uttråkad, efter en längre tid kan detta tillstånd även leda till sorg. Känslorna som Kismet känner kan tydligt visas på robotens ansiktsuttryck och interaktionen kan därifrån anpassas av människan. Känslorna hos Kismet 6
kan triggas av olika händelförlopp som anses viktiga för Kismets välmående. När något har triggat igång en känsla skapas en relation mellan miljön och Kismet. Saker som har en positiv inverkan på roboten uppmuntras vilket gör att den motiveras till det som skapat känslan. Negativ inverkan har motsatt effekt och roboten försöker istället att undvika sådana situationer. Det som triggar igång känslorna hos Kismet är sådant som även triggar igång känslor hos människor. Detta gör det lätt för människan att förstå Kismet och underlättar för den sociala interaktionen. 3.5. Beteende I beteendesystemet sker valet av beteende som ska bli aktiverat och under hur lång tid. Att välja beteende är inte så lätt, det finns många beteenden att välja mellan och alla har sitt eget intresse och mål. För att välja används en medlingsmekanism där roboten överväger beteendets relevans, sammanhang, uthållighet och ändamålsenlighet. Beteendesystemet består av tre förgreningar, social, trötthet och stimulering, som i sin tur är uppdelade i tre nivåer med olika funktionaliteter. Bild 3 En modell av beteendesystemets tre nivåer. 7
Nivå 0 är den funktionella nivån, här bestäms det vilket beteende som väljas för att uppfylla någon av de tre motivationerna. Det kan vara för att tillfredsställa det sociala genom att interagera med människor. Stimulering genom att leka med leksaker eller vila för att uppfylla trötthetsmotivationen. Det beteende som blir valt väljs beroende på vilket behov som är störst och delvis av omgivningen. Detta genom input som fås från de olika förgreningarna. Nivå 1 är miljöregleringsnivån, den här nivån går ut på att skapa en interaktion som ger lagom stimulans för Kismet. Nivån är uppdelad i tre beteenden, dessa är sökning, undvikande och engagemang. Sökningen söker efter olika stimuli beroende på vad den letar efter. Ifall den söker efter att tillfredsställa det sociala söker den efter hudfärgade stimuli och om den söker efter att tillfredsställa stimulans söker den efter färgglada stimuli. Undvikandet sker genom att skapa avstånd från ett stimuli. Detta kan bero på flera anledningar, att det är fel typ av stimuli, att det utgör ett hot eller att det är irriterande. Engagemang handlar om att roboten har fått sitt önskade stimuli och kan engagera sig i det genom social aktivitet eller genom lek. Nivå 2 är nivån för beskyddande beteende och lekbeteende. Det finns tre olika typer av beskyddande beteende dessa är flykt, tillbakadragande och avvisande beteende. Flyktbeteendet används när Kismet känner sig hotad av något, det här beteendet resulterar i att Kismet sluter ögonen, grimaserar och vänder sig bort ifrån hotet. Det tillbakadragande beteendet kommer igång när roboten känner att något är otrevligt. Roboten visar detta beteende genom sociala ledtrådar till det som stör den för att försöka ändra på det störande momentets beteende. Det avvisande beteendet handlar främst om att roboten inte fått det stimuli den egentligen eftertraktade, detta visas som avsky. Lekbeteendet anpassas efter vad det är som Kismet leker med, detta består utav fyra olika beteenden. Dessa beteenden är kallande, hälsning, hänsyn och turtagning. Det kallande beteendet använder sig Kismet av vid försök att få uppmärksamhet av en person i synhåll genom att kalla på denne. Detta gör roboten för att försöka få öga mot öga interaktion. Hälsningsbeteendet används när roboten har åstadkommit öga mot öga interaktion. Det som roboten vill är att starta en social interaktion, hälsningen består av ögonkontakt, ett leende och vickande av öronen. Hänsyn handlar om att vara öppen för interaktion med något som är öga mot öga men inte talar till roboten. Detta görs genom ögonkontakt och lite tal då och då från Kismets sida. Turtagningen handlar om att ha en konversation med en människa med hjälp av turtagning. För att göra detta måste roboten ta upp ledtrådar om när det är dennes tur att tala, 8
lyssna på människan, ta turen själv och producera tal. 3.6. Motor Motorsystemet är det system som styr ansiktsuttrycken hos Kismet och hur roboten rör sig, systemet består av fyra stycken delsystem, dessa är motorfärdighet-, ansiktsanimering-, det vokala uttryck- och det visuella motorsystemet. 3.6.1. Motorfärdighetssystemet Motorfärdighetssystemet är det system som koordinerar de andra systemen så att de kan sköta sina uppgifter, det vill säga, röra ansiktet och så vidare. 3.6.2. Ansiktsanimeringssystemet Ansiktsanimeringssystemet är det system som sköter de olika ansiktsuttrycken hos Kismet. Med sina ansiktsuttryck förmedlar Kismet känslor. De ansiktsuttryck som roboten har är skapade på ett sådant sätt att de upplevs som trovärdiga och lätta att läsa av för en människa. För att öka trovärdigheten är det smidiga övergångar mellan Kismets olika ansiktsuttryck. Den teknik som Kismet använder sig av är baserad på interpolation över ett tredimensionellt utrymme. De tre dimensionerna är upphetsning, värdet på ett objekt och ståndpunkt. Känslorna som Kismet kan visa är representerade i utrymmet och ligger på en speciell plats. Genom att röra sig i utrymmet förändras Kismets känslor. Bilden nedan visar det tredimensionella utrymmet med Kismets känslor. 9
Bild 4 Det tredimensionella utrymmet med Kismets känslor. 3.6.3. Vokala Uttrycksystemetet Känslor är något som påverkar hur vi talar, de påverkar till exempel hur snabbt vi talar. Detta är något som Kismet försöker efterlikna i sitt uttryckande tal. Kismets tal består av olika toner som genereras av en talsyntes. När roboten talar rör sig munnen vilket är viktigt för social kommunikation. Läpparna på Kismet rör sig i olika mönster beroende på vad det är för ljud som roboten gör. 3.6.4. Det visuella motorsystemet Det visuella motorsystemet hos Kismet är likt det vokala inspirerat efter människans visuella system. Människans ögon fungerar på det sättet att något som ligger i det perifiera synfältet, i ögats utkant, inte ses lika tydligt som något som ligger i fovean, ögats mittpunkt. För att se något tydligt måste det alltså ses med fovean. När ögat tittar på ett objekt i rörelse följer ögat objektet genom små rörelser. Ögonen jobbar oftast tillsammans och rör sig i samma mönster, ett undantag är när de iakttar ett näraliggande objekt, då vänder de sig inåt mot varandra och skelar. Kismet har inga problem med att efterlikna de delar av människans visuella system där ögonen rör sig i samma mönster. Men när ögonen ska röra sig mot varandra kan det blir det 10
svårare för Kismet, ett fel i detta kan leda till att ögonen börjar röra sig oberoende av varandra. 11
4. Diskussion Kismet är en robot som är utvecklad för att vara en social robot. Robotens bygger på hur en människa är uppbyggd. Den försöker ge en illusion av mänskligt beteende genom att reagera på samma sätt som en människa skulle göra. Eftersom Kismet kan få personer att känna saker leder det till att de uppfattar roboten som socialt intelligent. Detta beror på att Kismets beteende är likt människans och för att det är en humanoid som ser ut som människan. Sociala robotar är något som har utvecklats ännu mer sedan Kismet skapades och kommer att fortsätta utvecklas ännu mer med tiden. Som exempel på utvecklingen efter Kismet finns det en emotionell humanoid. Denna robot heter Nadine och är en receptionist. Hon känner igen de som hon träffat förr och är en humanoid som ser ut som en människa. Rösten är också förbättrad sedan Kismets tid. 12
Referenser Andersson, N. (2006). Robots, Transduction, Dingpolitik: Cynthia Brezeal's Kismet and the social life of a thing. TOPIA, 69-90. Hämtat från http://topia.journals.yorku.ca/index.php/topia/article/viewfile/13269/22389 Beciri, D. (den 23 04 2009). Robots which feel - robot Kismet. Robaid. Hämtat från http://www.robaid.com/robotics/robots-which-feel-robot-kismet.htm den 04 01 2016 Breazeal, C. (u.d.). http://www.ai.mit.edu/projects/humanoid-robotics-group/kismet/kismet.html. Hämtat från http://www.ai.mit.edu/projects/humanoid-robotics-group/kismet/kismet.html den 03 01 2016 UPI Sceience news. (den 02 01 2016). New Social Robot Nadine Has a Personality. Newsfactor. Hämtat från http://www.newsfactor.com/story.xhtml?story_id=003000ameqel# den 07 01 2016 13