Om robotar och AI
Robotar blir en allt vanligare del av vårt samhälle. Vad består en robot av, hur fungerar den och vad innebär det om en robot har artificiell intelligens?
Använd denna presentation (pdf med kommentarer) och handledning för att prata om robotar och AI med eleverna.
Det finns även diskussionsfrågor att använda efter presentationen.
Vad är en robot?
En robot är en maskin som styrs av en dator och som kan utföra fysiskt arbete. Roboten är programmerad att fungera självständigt, utan direkt styrning av en människa, och för att kunna variera sina uppgifter utifrån vad den uppfattar från sin omgivning via sensorer.
Man kan säga att en robot kan tänka, känna, göra och prata - men bara om människor har programmerat den till att kunna det.
Tänka - göra olika val utifrån det som den uppfattar i sin omgivning
Känna - ta in information från sin omgivning viasensorer
Göra - utföra fysiska uppgifter
Prata - kommunicera genom inspelat tal eller någon annan form av kommunikation
Ordet robot kommer från "robota" på tjeckiska, vilket betyder träl eller tvingad arbetskraft.
Möt Erika Lyxell som jobbar på företaget Ericsson. Hon är med och skapar robotar och AI för nutid och framtid. Här berättar hon mer om vad robotar är för något och om hur de kan hjälpa oss människor
Vad består en robot av?
En robot består både av hårdvara (fysiska delar) och mjukvara (program).
Roboten har en kropp i form av ett chassi med fasta och rörliga delar som någon sorts armar eller verktyg för att gripa och lyfta, samt ben alternativt hjul eller larvfötter för att förflytta sig.
Roboten har även sensorer som fungerar som robotens sinnen och gör så att roboten kan ta in information om vad som händer i omgivningen:
Syn - kamera, ljussensor, IR-kameror som läser av värme
Hörsel - ljudsensor, mikrofon
Känsel - t.ex. temperatursensor, ultraljudssensor som känner av avstånd, elektromagnetsensor som känner av magnetiska fält
Lukt - "nässensorer" som kan känna av lukt
Smak - nanosensorer som kan känna av smaker
Robotens hjärna består av en eller flera datorer som styr vad roboten ska göra. Här inuti finns mjukvara, de program som körs för att roboten ska utföra sina uppgifter och för att den ska kunna göra olika val beroende på vad den uppfattar med sina sensorer.
Vidare har roboten en eller flera motorer som gör att den kan röra sig och utföra olika fysiska arbetsuppgifter. För att motorn ska fungera har roboten också en kraftkälla, oftast elektrisk som t.ex. batterier, och elektronik som leder strömmen genom roboten.
Vad kan en robot göra?
Robotar kan både se ut på massor av olika sätt och utföra mängder av tänkbara och otänkbara uppgifter. Tidigare användes robotar kanske främst för att göra tråkiga eller farliga saker, sådant som vi människor inte ville utföra själva. Men idag finns det robotar inom alla möjliga områden.
Bönder kan använda robotar för att mjölka kor eller klippa får och det finns robotar som du kan ha hemma för att dammsuga eller klippa gräset.
Fabienne Cap på företaget Furhat Robotics berättar och visar hur den sociala roboten Furhat fungerar och hur den kan hjälpa oss människor
Robotar i rymden och i djupet
Det finns robotar som hjälper oss att utforska sådant som vi människor har svårt för att utforska själva. Det kan vara ute i rymden, som t.ex. på Mars dit vi människor än så länge inte har kunnat ta oss. Det kan vara djupt under vattnet för att undersöka havsbotten och leta efter gamla minor eller sjunkna skepp. Det finns arkeologrobotar som utforskar inuti pyramider. Och det finns små små robotar som läkare kan skicka in med en kamera i kroppen för att hitta orsaker till sjukdom eller använda för att utföra svåra operationer.
Robotar gör tråkiga saker
Det finns industrirobotar som arbetar med att konstruera och montera ihop små eller stora produkter i fabriker. Här kan robotar till exempel vara bra för att utföra tunga lyft, farliga arbetsuppgifter eller sådant som blir väldigt repetativt och tråkigt i längden för en människa. Nu för tiden utvecklar industrin nya typer av robotar som även kan arbeta tillsammans med oss människor - samarbetsrobotar som ABB:s YuMi.
Sociala robotar
Det finns även sociala och kommunikativa robotar som kan arbeta inom exempelvis skola, sjukvård och äldrevård och som är skapade för att interagera med oss människor på olika sätt. Här är några exempel:
AV1 heter en norsk robot som används i skolan för barn som inte har möjlighet att delta fysiskt, exempelvis på grund av sjukdom. Roboten blir ställföreträdande i skolan och eleven kan genom en kamera se allt som pågår samt kommunicera genom mikrofon, som den styr med en app hemifrån.
Furhat är en svensk robot som bland annat används av Stockholm stad i ett projekt med att låta robotar jobba som lärarassistenter.
Sophia kallas en humanoid robot som är byggd för att vara så lik en människa som möjligt och som kallas för "världens första robotmedborgare" efter att ha fått medborgarskap i Saudiarabien.
PARO är en japansk sälrobot som används som sällskap för sjuka barn och äldre inom sjukvården.
Det finns flera andra robotar som föreställer djur så väl som människor och som är till för interagera med oss på olika sätt. Och så finns det såklart robotar som är leksaker och till för att underhålla!
Hur styrs en robot?
Det är alltid människor som styr vad en robot ska och inte ska göra. Det gör vi genom att programmera roboten. Roboten har en eller flera datorer som innehåller mjukvara, program. Det är dessa program som talar om hur roboten ska utföra sina uppgifter och hur den ska göra olika val beroende på vad den uppfattar med sina sensorer.
Datorns program tar in information utifrån som input (indata) och bestämmer hur roboten ska reagera, det vill säga vilken output (utdata) den ska ge ifrån sig. Programmet innehåller programkod, algoritmer, som är instruktioner för hur roboten ska lösa olika uppgifter.
Villkor
När du skriver koden till robotens program använder du villkor för att tala om för roboten vad den ska göra i olika situationer. Villkor styr om och när något ska hända. Det kan beskrivas som ”om det här händer, då ska du göra så här, annars gör något annat”.
Ett villkor kontrollerar om någonting är sant eller falskt. Sanningsvärdet är binärt vilket innebär att det bara kan ha två värden, 1 eller 0, vilket är vad datorn förstår. Här kommer ett exempel. Du har programmerat en robot som kan laga pannkakor. Så här skulle det kunna se ut i koden:
Roboten kollar om villkoret, alltså om pannkaka är beställd, är sant eller falskt. Om en pannkaka har blivit beställd så är villkoret sant. Då måste roboten börja jobba och laga pannkakan! Om ingen har beställt pannkaka så är villkoret falskt, då får roboten vänta och göra ingenting under tiden. Villkoret är alltid antingen sant eller falskt, aldrig mitt emellan!
Robotens schema
Med hjälp av ett flödesschema kan du beskriva vad du vill att din robot ska göra, vilket output (utdata) den ska ge beroende på vad den får för input (indata) från sin omgivning. Här är ett exempel på hur ett sådant flödesschema kan se ut:
Nu är det här såklart inte ett fullständigt schema över hur en pannkaksrobot skulle kodas, eftersom varje liten del i att tillaga pannkakor skulle behöver preciseras i exakta och fullständiga algoritmer för att roboten ska förstå vad den ska göra.
Robotstyrning och AI
Även om det alltid är människor bakom robotarnas program, finns det även robotar som kan styras av andra robotar. Det kallas för robot-to-robot och betyder att en robot är programmerad att överföra instruktioner till en annan robot. Och så finns det robotar som är programmerade att kunna lära sig saker och utvecklas på egen hand. Det kallas för AI, artificiell intelligens.
Vad är AI?
AI, artificiell intelligens, betyder konstgjord intelligens och handlar om att försöka få robotar och datorprogram att efterlikna människors intelligens. Robotar med AI programmeras för att självständigt kunna lära sig om sin omgivning och förstå den för att göra egna val. Om en robot har AI behöver vi människor alltså inte tala om för roboten exakt vad den ska göra, utan den kan lära sig att förstå det själv. Men det här är ett område som fortfarande är rätt nytt och vi vet ännu inte heller om den mänskliga intelligensen någonsin helt och hållet kan efterliknas med algoritmer.
Maskininlärning
Maskininlärning är ett sätt att träna robotar och datorprogram till lära sig om sin omgivning genom att låta dem testa olika algoritmer på stora mängder data (input/indata) och se om algoritmen verkar göra "rätt" eller "fel". Programmet lär sig regler och mönster för hur den ska tolka sin omgivning. Ansiktsigenkänning är exempel på hur detta kan användas och även olika tjänster för rekommendation, t.ex. att du kan bli tipsad om musik som du kan tänkas gilla. Det handlar ju om att tjänsten har tolkat input från dig, musik som du lyssnat på tidigare, och omvandlar det till output i form av nya musiktips som liknar den musik du brukar lyssna på.
AI hjälper till
AI kan användas inom alla möjliga områden för att tolka stora datamängder och göra olika val utifrån det. Exempel på AI-lösningar är självkörande bilar, chattbotar inom t.ex. vård och kundtjänst, och såklart robotar som kan arbeta tillsammans med oss människor inom olika yrken.
Men det finns också en oro för att AI-lösningar kan förstärka fördomar och stereotypa bilder av omgivningen. Det kan ske genom att programmet använder sig av indata som förstärker dessa stereotyper, eller algoritmer som är skapade utifrån ett alltför snävt perspektiv som inte inkluderar alla.
AI lär av idag
Om vi till exempel skulle använda data från de senaste 10 åren för att träna en AI-tjänst till att identifiera vilka egenskaper som är viktiga för att bli en programmerare, skulle antagligen AI-tjänsten säga att "vara en man" är en viktig egenskap. Detta eftersom det statistiskt sett har varit fler män än kvinnor som arbetat som programmerare under den perioden. Men det säger ju egentligen ingenting om att män skulle ha egenskaper som gör att de är bättre på att programmera!