Artificiell Intelligens Laborationsrapport 2 Umeå Universitet Ht-2004 2004-10-19 En rapport av: Petter Hagman [dit02phn] Anders Lundström [dit02alm] Handledare: Daniel Ölvebrink [email protected] Therese Edvall [email protected] Artificiell Intelligens Laborationsrapport 2 Umeå Universitet Ht-2004 2004-10-19 Innehållsförteckning Innehållsförteckning ________________________________________________________ 2 Abstract ___________________________________________________________________ 3 Problem ___________________________________________________________________ 4 Syfte ______________________________________________________________________ 4 Metod ____________________________________________________________________ 4 Inledning __________________________________________________________________ 5 Vad är en robot? _________________________________________________________ 5 Artificiella agenter __________________________________________________________ 5 Problem med verkligheten _________________________________________________ 5 Sensorer ________________________________________________________________ 5 Effektorer _______________________________________________________________ 6 Robot paradigmer ___________________________________________________________ 7 Uppfatta, Planera och Agera. ______________________________________________ 7 Paradigmer _____________________________________________________________ 7 7 områden inom AI__________________________________________________________ 8 Robotar I verkligheten/vardagen _______________________________________________ 9 Diskussion _________________________________________________________________ 9 Källförteckning ____________________________________________________________ 11 Artificiell Intelligens Laborationsrapport 2 Umeå Universitet Ht-2004 2004-10-19 Abstract This report is about Robotics from an artificial intelligence perspective. It concerns robots, paradigms and problems/advantages with “AI” robots. It also concerns technical issues as sensors and effectors. Artificiell Intelligens Laborationsrapport 2 Umeå Universitet Ht-2004 2004-10-19 Problem Uppgiften var att vi skulle välja ett av de givna områdena inom artificiell intelligens och fördjupa oss. Vi skulle sedan presentera vår fördjupning i en projektrapport samt en muntlig redovisning där vi väljer ut vissa delar ur rapporten. Det område vi valt är robotiks. Syfte Syftet med den här uppgiften är att fördjupa oss inomområdet robotiks, för att sedan berätta för våra kurskamrater om området. Detta för att de ska få en övergripande bild över vad robotiks är och vilka problem man arbetar med på den sidan av artificiell intelligens. Metod För att komma fram till en uttömmande rapport studerade vi två olika böcker. Vi valde ut specifika avsnitt ur böckerna som vi studerade djupare och sedan skrev om. Efter detta avslutade vi arbetet med att diskutera problem och möjligheter med robotiks. Artificiell Intelligens Laborationsrapport 2 Umeå Universitet Ht-2004 2004-10-19 Inledning Vad är en robot? Amerikanska institutet definierar en robot som ”en programmerbar, multifunktions manipulator, designad att flytta material, delar, eller specifika apparater genom programmerade rörelser för att utföra en mängd olika uppgifter”. Kursboken använder dock inte den definitionen eftersom den i princip säger att en lyftarm med ett styrreglage är en robot. Boken definierar istället en robot som ”en aktiv, artificiell agent som opererar i den riktiga fysiska världen”. Med detta menas att det är en helt autonom robot som tar sina egna beslut utifrån den input/feedback den får från sina sensorer. I boken “Introduction to AI Robotics” av Robin R. Murphy så beskriver man en robot som en mekanisk varelse som kan fungera autonomt. Beskrivningarna stämmer alltså väl överens. Ordet robot kommer från det Tjeckiska ordet ”Robota”. Ordet kommer från en Tjeckisk teater från 1921 som handlar om hur en man skapar arbetare genom att sätta ihop olika biologiska delar. Dessa arbetare vara smarta nog att ersätta en människa i vilket arbete som helst men de var strikt begränsade att lyda riktiga människor i alla situationer. Lite löst så betyder ”robota” arbetande tjänare. Artificiella agenter Problem med verkligheten För oss är verkligheten relativt enkel att förstå och tolka, men för robotar är det inte riktigt lika självklar. Det finns fem huvudfaktorer som gör det så svårt för robotar att fungera autonomt i verkligheten. Verkligheten är oåtkomlig, ej deterministisk, ej episodisk, dynamisk och kontinuerlig. Den är oåtkomlig för att de sensorer som existerar endast kan uppfatta stimuli som är nära agenten. Den är icke deterministisk eftersom saker som inte går att förutse ändå inträffar, tex. att ett hjul går sönder eller att man halkar när man ska gå över gatan. Verkligheten är inte heller episodisk eftersom konsekvenser av ens handlande kan vara olika beroende på tiden, alltså saker och ting förändras. Man måste veta när det är lämpligt att agera omedelbart och när det är bättre att vänta eftersom verkligheten är dynamisk. Verkligheten är kontinuerlig. Detta innebär att tillstånd och handlingar är tagna utifrån systemets aktuella fysiska konfiguration och rörelsemönster så medför detta att det finns ett oändligt antal möjliga handlingar. Allt detta måste man ha i åtanke när man konstruerar algoritmer för att söka och planera. Sensorer Proprioceptiva sensorer är sensorer ger feedback om robotens fysiska läge, tex vilken vinkel armen har. Detta ökar robotens noggrannhet. Om en lyft arm som drivs av en motor lyfter ett ton eller ett gram så kommer armen att röra sig snabbare när den lyfter ett gram. Om roboten inte skulle ha proprioceptiva sensorer så skulle roboten missuppfatta ur långt den lyft ett tons vikten eftersom armen rör sig långsammare då. Men utrustad med sensorer så skulle den kunna lyfta vikten till den vet att den är på rätt höjd. Artificiell Intelligens Laborationsrapport 2 Umeå Universitet Ht-2004 2004-10-19 En annan viktig typ av sensorer är sensorer avsedda för att mätta kraft. Detta blir extra tydlig då en robot ska försöka att skrapa färg från ett fönster. Om roboten trycker för hårt mot fönstret så går glaset sönder och roboten måste då veta hur hårt han trycker och hur hårt han får trycka. En viktig typ av information som vi människor använder oss mycket av när vi bestämmer olika material på saker och ting är taktilt kännande, vi känner på ytan av ett material och känner distorsionen i ytan. Detta hänger ihop med kraftsensorerna och är viktigt för att kunna bestämma material. Sonar är en typ av ljud navigation och avståndsbedömning. Sonar ger bra information om objekt som är väldigt nära roboten och används ofta för att undvika kollisioner. Det används även ibland för att kartlägga robotens omgivning, i dessa fall så används många sonarsensorer som sätts fast runt roboten i olika riktningar. Kameror kan läsa av och tolka verkligheten, detta är dock väldigt svårt. På det här området är människan och djuren i dagsläget klart överlägsna. Synen är väldigt komplex och det handlar mycket om att fokusera på det som är väsentligt. Ett träd innehåller väldigt många del objekt och kan anses vara visuellt komplex. Vi människor lägger ingen tid på att analysera trädet, utan fokuserar istället på annat. En robot å andra sidan måste veta att den inte ska analysera trädet, men hur gör man för att en robot ska förstå att det inte är viktigt att analysera alla dessa olika typer av objekt? Hur vet en robot vad som är viktigt? Det finns massor med problem med användningen av kameror, samtidigt som det finns fördelar. Andra typer av sensorer som kan vara viktiga är sensorer för att uppfatta doft och ljud. Effektorer En effektor är en apparat som kan påverka omgivningen under robotens kontroll. Det finns två huvudkategorier av effektorer, förflyttning (locomotion) som syftar på att ändra robotens position i omgivningen och manipulation som syftar på att flytta saker i omgivningen. Det finns även en tredje kategori som handlar om att förändra utseende eller ändra andra typer av inställningar på objekt i omgivningen, men denna kategori har inte så mycket med robotiks att göra utan är mer en mekanik fråga. När det gäller effektorer så pratar man ofta om grader av frihet (degrees of freedom). En grad av frihet syftar på att en effektor kan påverka en enda grej, tex. om en effektor har en elmotor för att flytta sig framåt och bakåt så kan den bara påverka sin position i en riktning och har därför bara en grad av frihet. Om vi istället tittar på en bil som en effektor så kan vi konstatera att den har tre grader av frihet, den kan styra sin x och y position och sin riktning. Detta kallas totala grader av frihet. Om vi då begränsar utrymmet för en bil till väldigt litet så får bilden problem med att påverka sin riktning, den kan anta vilka x och y positioner som helst men inte vända på en ”femöring”. I detta fall så har bilen bara två grader av frihet, detta kallas kontrollerbara grader av frihet. Om gapet mellan totala grader av frihet och kontrollerbara grader av frihet är stort så innebär det att effektorn är svår att kontrollera. I bil exemplet så innebär detta att en bil är lätt att kontrollera på stora ytor och svårare att kontrollera på mindre ytor. Om en robot har mindre kontrollerbara grader av frihet än totala så sägs roboten vara icke holonomisk och om graderna av frihet är samma så är roboten holonomisk. Artificiell Intelligens Laborationsrapport 2 Umeå Universitet Ht-2004 2004-10-19 Det finns flera olika typer av förflyttnings effektorer, tex hjul i olika sammansättningar, ben av olika modeller eller olika modeller för svävare. Det är egentligen bara fantasin och tekniken som begränsar detta. På manipulations sidan finns det en mängd olika grip armar och händer. Alla dessa modeller har olika användnings områden och grader av frihet. Robot paradigmer Paradigmerna är olika sätt att se på saker för att lösa olika problem. Det finns en mängd olika paradigmer och det går inte att säga att någon är mer rätt än någon annan. Det är snarare så att olika paradigmer är lämpade för olika användningsområden. Självklart så finns det gamla paradigmer som i dagsläget är olämpliga eftersom det finns ersättare till dessa. Det finns några olika sätt att betrakta en robot och vi har tagit med en modell son handlar om att uppfatta, planera och agera. Den modellen beskrivs kortfattat nedan och sedan presenteras tre paradigmer som bygger på den uppfattningen. Uppfatta, Planera och Agera. Funktionerna hos en robot kan delas in i tre väldigt generella kategorier, uppfatta, planera och agera. Om en funktion tar information från robotens sensorer och producerar information som är användbar av andra funktioner så faller funktionen under uppfatta kategorin. Om en funktion tar in information och producerar en eller fler uppgifter för roboten så faller funktionen under planera kategorin. Om en funktion producerar kommandon, som roboten ska utföra i den fysiska världen, så faller funktionen under agera kategorin. Paradigmer Hierarkiskt paradigm: Den här paradigmen använder “top-down” principen, roboten känner av världen (uppfatta), utifrån det planerar (planera) den sin handling, sedan utför (agera) roboten den planerade handlingen. Reaktivt paradigm: Den här paradigmen kom i samband med att forskare inom AI undersökte hur levande intelligens, insekter och små djur, fungerade. Även dator utvecklingen bidrog till att paradigmen utvecklades. Datorer blev billigare och snabbare. Denna paradigm slänger helt och hållet ut planerings steget. Roboten handlar direkt efter sensorerna. Men för att kompensera borttagningen av planeringssteget kör man istället flera sensorer samtidigt och handlingen blir mittemellan vad de olika sensorerna säger. Tex. om roboten färdas framåt och en sensor upptäcker ett hinder så säger den åt roboten att svänga 90 grader åt något håll, samtidigt säger en annan sensor (som har målet i sikte) åt roboten att köra rakt fram, då tar roboten medelvärdet av dessa input och svänger 45 grader. Hybrid reflekterande/reaktivt paradigm: Den senaste och mest aktuella paradigmen är en blandning av de båda tidigare paradigmerna. Roboten planerar först hur den ska utföra en uppgift och delar upp dem i deluppgifter. Därefter handlar den som den reaktiva paradigmen, med sensorer direkt kopplade till handlingar. Under Artificiell Intelligens Laborationsrapport 2 Umeå Universitet Ht-2004 2004-10-19 handlandet kan planeraren ta in saker från sensorerna och lära sig nya saker om världen och planera om. 7 områden inom AI Robotar och AI är ett väldigt stort område och det är svårt att jobba med allt samtidigt pga. komplexiteten. Men för att tydliggöra vad man jobbar med inom robotiks och AI så kan man dela in det sju huvudkategorier. Alla dessa områden är viktiga inom robotiks även fast de är generella AI-problem. 1. Kunskaps representation: Med detta menas hur en robot representerar världen, sin uppgift och sig själv. Problemet är vilken algoritm använder man och vad använder man för datastruktur för att tex representera en bil? Hur hanterar algoritmen om endast en del av bilen är synlig? 2. Att förstå naturligt språk: Naturligt språk är svårt för en dator att tolka. En mening kan skrivas på exakt samma sätt men ändå betyda olika saker beroende på hur den sägs. Hur ska man göra för att en robot ska kunna tolka röstkommandon på naturligt språk? 3. Inlärning: Robotens förmåga att programera sig själv. Hur ska man göra för att en robot ska kunna lära sig nya saker som inte ligger i dess förprogrammerade domän. Kan en robot programmeras att lära sig av upprepningar? Eller kan en robot programmeras att lära sig av att sen någon annan (robot eller människa) utföra en uppgift? 4. Planering och problemlösning: Robotens förmåga att planera en uppgift för att nå ett mål eller nå målet på alternativa sätt då en väg inte fungerar som tänkt. Hur görs detta på optimalt sätt? 5. Inferens: Robotens förmåga att fylla i ofullständig information. Exempelvis avgöra om en svart fläck är en skugga eller ett hål? 6. Sökning: Robotens förmåga att, till ett givet stimuli, hitta rätt respons, i rymden av alla möjliga responser. Exempelvis Deep Blue, datorn som slog världsmästaren i schack, vilket drag i rymden av möjliga drag tjänar datorn mest på? 7. Syn: Människans synsinne har länge försökts imiteras i robotvärlden. Vi människor kan ofta visualisera eventuella följder, till en handling, i huvudet. Detta är en önskvärd förmåga hos robotar, men det är oerhört svårt. Artificiell Intelligens Laborationsrapport 2 Umeå Universitet Ht-2004 2004-10-19 Robotar I verkligheten/vardagen Vart och till vad används robotar idag? Och vart och till vad är robotar önskvärda i framtiden? De flesta avancerade robotarna som finns idag är fortfarande i utvecklings stadiet. Ingen robot som kan resonera finns idag, det finns robotar som kan söka i otroligt stora och avancerade träd för att hitta rätt svar, exempelvis Deep Blue. Detta kan likna resonemang men är i själva verket bara ett otroligt stort sökträd där olika grenar har olika vikter. De flesta robotar som finns idag och används är inte särskilt intelligenta. Det finns postrobotar som kan orientera sig i ett kontor där stolar flyttas och personer går omkring, dvs en föränderlig värld. Men de kör ändå efter ett förprogrammerat schema och då ett objekt blockerar vägen följer den ytterligare ett schema för att komma runt hindret. Det är ofta i, för människan, farliga arbetsplatser som robotar är önskvärda. Man skulle kunna tänka sig att man har intelligenta robotar för att rensa upp kärnkraftsolyckor, minfält osv. Överhuvudtaget vill vi ha robotar som gör jobb som vi inte vill göra själva. Diskussion Om man ska börja diskutera robotar som helhet så kan man säga att det finns oerhörda möjligheter i form av avancerade sensorer och effektorer. Det verkligt stora problemet är att få någonting intellektuellt, alltså i planeringsfasen och lite i uppfattningsfasen. Hur kan man få en maskin att uppfatta verkligheten på ett bra sätt och sedan resonera och tolka för att till sist utföra någonting utan yttre påverkan? Om man ska dra det till sin spets så kan väl säga att robotar idag är bra på det vi människor är dåliga på och dåliga på det absolut viktigaste, det vi är bra på, att tänka. Det skrämmande med situationen är att om vi skulle kunna designa ett artificiellt intellekt som fungerar så skulle förmodligen robotar bli bäst på allt inom en snar framtid. Det leder oss vidare in på de etiska aspekterna, borde vi egentligen ägna oss åt att konstruera en överman? Skulle inte det absolut leda till vår undergång? Det här är gamla klyschor som faktiskt inte går att bortse ifrån, men är detta vad vi vill? Man skulle kunna resonera vidare på det här och eventuellt se robotar som mänsklighetens barn. Så som klimatet utvecklas just nu här på jorden så kommer vi förmodligen ändå inte att överleva så många hundra år till. Det kanske tom idag är brist på tid för att hinna konstruera en efterföljare som ska kunna föra våran kunskap vidare när vi inte längre kan överleva här på jorden. Det här resonemanget är väl i och för sig av mer filosofisk karaktär och det kanske inte är lämpligt att gräva ner sig i det ämnet i den här rapporten. Men om man väljer att hålla på med AI så tycker vi att då ska man även ta ställning och aktivt resonera över de etiska aspekterna. Visst kan vi se en mängd fördelar med intellektuella robotar. De skulle kunna lösa problem som vi inte kan lösa. De skulle även kunna spara pengar för industrin eftersom de praktiskt taget skulle kunna jobba dygnet runt utan betalning. Ett tredje användningsområde är på det mer privata planet då de skulle kunna hjälpa oss med mer vardagliga sysslor. Frågan är om de skulle kunna nöja sig med att vara slavar? En lösning på det problemet är eventuellt att försöka skapa artificiell intelligens utan känslor, men är detta möjligt eftersom dom skulle kunna programmera sig själv? Eller är det så att en robot aldrig skulle kunna få riktiga känslor eftersom merparten av våra känslor är kopplade till kemiska substanser som får oss att må bra eller bli arg. I det fallet så skulle vi kanske aldrig få några problem med AI-robotar, åtminstone inte på det planet. Ett område som vi garanterat skulle få problem med är konkurrensen om arbete, eftersom robotar förmodligen skulle va överlägsna oss inom alla områden utom psykologi, politik, musik och andra konstnärliga ämnen. Men det är ju Artificiell Intelligens Laborationsrapport 2 Umeå Universitet Ht-2004 2004-10-19 omöjligt att alla ska jobba som politiker och konstnärer. Vilka problem vi nu stöter på i framtiden så är en sak klar, det finns i dagsläget väldigt många problem kvar att lösa inom AI och robotiks. Artificiell Intelligens Laborationsrapport 2 Umeå Universitet Ht-2004 2004-10-19 Källförteckning Artificiell Intelligence – a modern approach, 1995, Stuart Russell and Peter Norvig. Introduction to AI Robotics, 2000, Robin R. Murphy.