Roboter er på full fart inn i ulike industrier. For at de skal fungere best mulig, må de tilpasses oppgaven de skal løse – en form for evolusjon. I naturen overlever de individene som er best tilpasset miljøet. I robotikk brukes dette prinsippet for å forbedre og tilpasse robotene til oppgavene. Men kan det tenkes at vi går vi glipp av de beste ideene hvis en god robot blir utryddet på et tidlig tidspunkt i evolusjonen? Og kan vi ende opp med å satse på feil robot dersom evolusjonen bare ser på en enkelt del av den, i stedet for helheten?
Disse spørsmålene stiller forskere ved Universitetet i Oslo seg. De vil se om det er mulig å forbedre selve robot-evolusjonen.
De beste må overleve
Emma Stensby Norstein tar doktorgrad i robotbygging. Hun jobber ved Institutt for informatikk ved Universitetet i Oslo og bruker Darwins prinsipper og lego når hun vil forbedre robot-evolusjonen.
– Vi lager en populasjon med roboter og velger noen som muterer. Deretter velger vi ut de som har de beste egenskapene til å få barn. Så gjør vi dette over flere generasjoner og får en gradvis forbedring. Det er evolusjonær robotikk, forklarer Stensby Norstein.
Ved hjelp av datasimuleringer skal hun få programmer til å lage kreative forslag som forskerne ikke har tenkt på fra før, men da må hun sørge for at gode ideer kan overleve. I naturen forsvinner de artene som ikke tilpasser seg. For å unngå at dette skjer med robot-evolusjonen, kan hun programmere inn ulike kategorier. På den måten kan hun beholde de beste robotene i hver kategori.
Teorien må testes – derfor bruker de lego
For eksempel vil en robot med seks bein kanskje være raskere enn en med fire, men i noen situasjoner kan det tenkes at den med fire bein er bedre. Derfor er kategoriene viktige for å ivareta kreative forslag. Antall bein er et eksempel på hva en kategori kan være, for å vise at dette prinsippet kan brukes i robot-design generelt.
– Vi tester flere forskjellige kategorier – og forskjellige kombinasjoner av dem, sier Norstein. Noen kategorier er basert på bevegelsesmønsteret til robotens føtter, mens noen er basert på strukturen til robotens bein. Altså lengden på stengene eller hvor mange punkter de er koblet sammen på. Vi testet også en algoritme som automatisk definerer kategorier på egen hånd.
Hun håper at evolusjonsprogrammet kan bidra til å få fram ideer som forskerne ikke ville ha kommet på selv og bidra til mer mangfold, samtidig vil hun gjøre programmet så selvstendig som mulig:
– Tanken er å gi algoritmen det den trenger for å finne løsningene selv, forklarer hun.
Når evolusjonen har gått over 100.000 generasjoner, får Norstein et resultat. For å sjekke at teorien fungerer i praksis, bygger hun modeller av lego.
– Alle robotene jeg jobber med, er laget av ulike moduler, slik at de er enkle å ta fra hverandre og sette sammen, sier hun.
Ifølge henne kommer programmet ofte fram til løsninger som ikke egner seg i virkeligheten, men noe av målet med studien er å finne metoder som ivaretar kreative løsninger. Derfor må de testes.
– På grunn av fysiske begrensninger vil vi ikke kunne lage alle robotene. Hvis robotene for eksempel har lange bein, blir de veldig skjøre. Derfor må vi til slutt se på hva som faktisk er gjennomførbart, forklarer hun.
Kontrollen tåler ikke evolusjon
Det er flere utfordringer med ren evolusjon i utviklingen av roboter. En av dem er at den fysiske evolusjonen ikke alltid stemmer med programmeringen av robotene. Robotens hjerne også må tilpasse seg endringer av kroppen underveis.
– Et problem som ofte dukker opp, er at kontrollen blir tilpasset robotkroppen. Hvis kroppen endrer seg etterpå, vil ikke kontrollen tilpasse seg dette, forklarer Norstein. Hvis roboten får et femte bein, vil ikke kontrollen kunne styre dette.
Kontrollen tror at den har like mange bein som da prosjektet startet, og den vil ikke henge med når robotene muterer. For Norstein er det derfor viktig å finne en metode der kontrollen skjønner at det har skjedd en endring og at den også tilpasser seg underveis.
Hun forklarer det slik: Se for deg at du har en robot med tre bein. Den har en hjerne som passer til tre bein, og på denne måten går roboten fem meter. Så muterer den og får fire bein, men hjernen er tilpasset tre. Den klarer likevel å gå to meter, men kanskje den hadde gått syv meter om hjernen også hadde mutert? Norstein mener at robothjernen trenger å mutere sammen med kroppen, gjerne over tid med flere mutasjoner for at de skal fungere sammen.
– Det er viktig at kontrollen og beina tilpasser seg hverandre. Vi risikerer å gå glipp av reelle forbedringer hvis det er kontrollen som er problemet, forklarer Norstein.
Fungerer bedre enn vanlig evolusjon
I forsøket må alle robotene gjennom en gå-test. Hvor fort kan de ulike robotene bevege seg framover? Testen kjøres på to ulike typer underlag: Langhåret gulvteppe og vanlig linoleum. På flatt underlag kan det være en fordel med lange bein for å ta så lange steg som mulig. Hvis underlaget er ujevnt, må den også løfte beina. Det har ført til at Norstein har lagt inn en evolusjon av måten å bevege føttene på i evolusjonsprogrammet, samtidig som hun kan mutere for eksempel beinlengde.
– Vi lager en testrobot og ser hva som skjer. Kommer den til å ødelegge seg når den går? Når vi vet at den fungerer i virkeligheten, kan vi gå videre med flere simuleringer, sier hun.
Så langt viser testene med legoroboter at forskerne kommer frem til bedre roboter enn hvis de bare bruker vanlig evolusjon.
Artikkelen ble først publisert på Titan.uio.no