Lego Prosjekt 2

Prosjekt 2 er å lage en form for gressklipper, som stopper når den kommer en gitt avstand til et object, så snur den. Dette var en relativt kompleks oppgave på den tiden, og var ganske krevende. Det var vanskelig å få den til å gå uendelig, men fortsatt motta ekstern input igjennom knappen montert på den, for at den skulle stanse. 

Hva lærte jeg? 

Dette var en videreutvikling av det vi lærte fra det første prosjektet, og mye mer komplekst enn det vi på gruppen forventet. Løkker blir benyttet mye her, og gir forskjellige kondisjoner. Vi benyttet en while true løkke, som er aktiv så lenge programmet er aktivt, eller til en linje som inneholder break som kommando blir kjørt. Programmet kjører i et "tilfeldig" mønster, og kjører med en gitt fart til den møter på et objekt. Når den ultra soniske sensoren plukker opp et object foran sensoren, oppfatter programmet det, stanser framover bevegelsen og svinger unna objektet. Koden vår benytter en random int, med mulige vinkler fra 180 til -180. Dette gjør at den kan dekke et større område, siden den vil navigere i et tilsynelatende tilfeldig mønster. Dette gjør den til du trykker på knappen igjen. Å implementere disse forskjellige funksjonene, når man hadde lite erfaring med spesielt hvordan lego EV3-en tolket python kode var krevende. 

Her lærte jeg for det meste å skrive ryddig og logisk kode, som gjør sin nytte, men ikke stort mer. Lærte og bedre hvordan motor kontrollen fungerer, og leste meg mer opp om hvordan tilfeldige verdier fungerer. Nyttig lærdom og er det som heter debounce, som gjør at man ikke bytter verdien til en boolean mer enn en gang, mens knappen er trykket. Uten det gikk roboten bare i en loop, hvor det var mer tilfeldig når den startet å kjøre. 

Hva var det beste jeg fikk ut av det? 

Jeg ville sagt at det var det sosiale. Alle på gruppen var til stede og jobbet med koden sammen, og kunne le av den når den feilet av helt ulogiske grunner. Debugging er det mest fagrelevante jeg kan nevne, ettersom den interaktive terminalen til EV3-klossen ble veldig nyttig. 

Hvordan kan dette benyttes i arbeidslivet?

Det er mange automatiserte tjenester som blir utviklet nå, hvor man vil at de skal være flinke til å følge en rute. Dette er som i selvkjørende biler eller varehus automatisering. Men, der hvor vi liker tilfeldigheten er ved feks robotgressklippere (Som vi har "laget" her) og robotstøvsugere. Hvis de hadde snudd med den samme vinkelen hver gang, så hadde du fått store områder som ikke blir rengjort. Der må det innføres "tilfeldighet", eller benytte algoritmer og kart som vet hvor de har kjørt før, og kan da navigere ditt det ikke er kjørt over enda.