Robotstøvsuger

Oppdraget er å utforske og utvikle en modell for en robotstøvsuger, og designe programmer for å simulere eller kontrollere robotstøvsugerens bevegelser i et rom.

Innledning

Oppdraget kan gjøres avgrenset eller avansert, avhengig av tilgjengelig tid og elevenes nivå. I beskrivelsen vektlegges hvordan elevene kan arbeide med hovedområdet modellering. Til modellering hører kunnskap om hva slags problemer som egner seg for å løses av en datamaskin, hvordan disse kan brytes ned i delproblemer, og hvordan løsninger kan utformes.

Slik gjør du

Innledende oppgave, i smågrupper:

Elevene utforsker og definerer egenskapene en robotstøvsuger bør ha. Her er det mulig å ta utgangspunkt i hensikten med en robotstøvsuger, og se på de ulike modellene som eksisterer på markedet. Spørsmål som kan hjelpe elevene i gangmed arbeidet:

  • Hvilke egenskaper må en robotstøvuger ha, og hvilke kan den ha?
  • Finnes det forskjellige løsninger på hvordan robotstøvsugere kan utføre oppdraget sitt?
  • Hvordan sikre at støvsugeren dekker hele det aktuelle arealet? (Må den støvsuge hele arealet hver gang?)
  • Hva kan den enkleste løsningen være?

I arbeidet med å definere egenskapene til robotstøvsugeren kan elevene bes om å skille mellom problemer som kan løses ved hjelp av programmering, slik som kontroll og styring av roboten, og problemer som må løses av design og utforming av den fysiske roboten (for eksempel motor, hjul etc. som lar roboten bevege seg rundt i rommet). De kan selv definere hvilke overordnede oppgaver roboten må løse, og dele disse inn i mindre problemer som de kan programmere løsninger for.

Lage skisse-program:Elevene kan lage et program (for eksempel i Scratch) som illustrerer bevegelsene til en robotstøvsuger, sett ovenifra. Underveis kan elevene presentere ulike løsninger for klassen, og diskutere fordeler og ulemper med disse. Hvilke algoritmer er mest hensiktsmessig for å sikre å få støvsuget hele rommet? Hvilke vil gjøre at robotstøvsugeren bruker kortest mulig tid på arealet? Hva kan beste løsningen være for en mest effektiv støvsuging? Hvordan kan koden skrives enklest mulig for dette?

En mulig organisering er at grupper av elever jobber med å løse ulike problemer, feks at noen arbeider med styring av roboten, noen med hvordan den skal bevege seg mest effektivt i et rom, hvordan den skal unngå å falle ned trapper etc.

Mulig utvidelse: programmere en fysisk robot

Bruk erfaringene fra utviklingen av skisseprogrammet til å programmere en fysisk robot (for eksempel LEGO-robot eller Sphero) til å jobbe som en robotstøvsuger. Elevene kan teste programkoden sin i praksis og utføre forbedringer basert på observasjoner og tidtakinger.

Elevene kan lage en prototype av robotstøvsugeren med eget design. De kan ta hensyn til brukervennlighet, og se på praktiske løsninger knyttet til for eksempel opplading av roboten, samling og tømming av støv. Hvordan skal roboten oppdage hindringer, og hvordan komme utenom disse. Kanskje dette er utfordringer det kan finnes programmerbare løsninger på?

Mål

Kompetansemål:

  • Omgjøre problemer til konkrete delproblemer, vurdere hvilke delproblemer som lar seg løse digitalt, og utforme løsninger for disse
  • Bruke flere programmeringsspråk der minst ett er tekstbasert.
  • Bruke grunnleggende prinsipper i programmering, slik som løkker, tester, variabler, funksjoner og enkel brukerinteraksjon
  • Utvikle og feilsøke programmer som løser definerte problemer, inkludert realfaglige problemstillinger og kontrollering eller simulering av fysiske objekter
  • Overføre løsninger til nye problemer ved å generalisere og tilpasse eksisterende programkode og algoritmer.

Læringsmål:

  • kan definere oppdraget til en robotstøvsuger
  • Eleven kan forklare hvilke del-problemer som må løses av robotstøvsugeren, slik som navigasjon, søking, støvsuging, unngå hindringer, returnere til ladestasjon osv.
  • kan finne mulig tekniske løsninger på et praktisk problem
  • kan utvikle programkode og algoritmer som løser problemet

Utstyr

  • Datamaskin eller nettbrett
  • Ulike programmeringsverktøy og språk kan benyttes for å simulere støvsugeren, feks. Scratch, Python eller JavaScript
  • Dersom skolen har tilgang til det kan ulike roboter eller droner med fordel benyttes (Lego NXT, Spheros, Arduino eller Raspberry Pi) og tilhørende programvare og apper for å programmere disse

Tips

Tilpasning til ulike elevgrupper

Oppdraget åpner for en videreføring der elevene kan implementere løsningen sin. Dette kan gjøres på ulike måter: som en simulering i Scratch, ved hjelp av tekstbaserte språk, eller ved å programmere fysiske roboter og til og med bygge robotene selv.

Problemene som elevene skal finne løsninger på, vil ha ulik vanskelighetsgrad. Det kan for eksempel  være enklere å skrive koden som gjør at roboten snur når den møter en hindring, enn å finne den optimale algoritmen for å rengjøre et rom effektivt. Videre kan kompleksiteten økes ved å tildele arealer med ulik vanskelighet på det støvsugeren skal rengjøre. Et umøblert, kvadratisk rom er enklere enn et møblert rom med krinker og kroker etc.

Det går også an å bygge en programmerbar robot ‘fra bunnen av’ med Raspberry PI eller arduino, og utforme skroget i tre eller 3D-print. Et prosjekt av denne størrelsen bør trolig kombineres med aktiviteter i andre fag som for eksempel naturfag, matematikk og kunst- og håndverk. 

Vurdering

Denne oppgaven kan bli meget omfattende, med mange involverte deloppgaver. Det kan derfor være aktuelt å gjennomføre vurderingen i flere etapper, der de enkelte stegene i prosessen vurderes for seg. Blant elementene som kan vurderes er hvor godt elevene har klart å bryte ned problemet i delproblemer, hvor godt de begrunner valgene av løsning, hvor effektivt løsningen deres utfører oppdraget, og hvorvidt de klarer å benytte seg av egen og andres eksisterende programkode i implementasjonen.

Elevene kan lage skisser av hvordan robotstøvsugere kan forflytte seg over arealet den skal støvsuge. De kan dokumentere modelleringsprosessen ved bilder, presentasjoner, tekst og muntlige presentasjoner.

Elevene bør lage en form for kravspesifikasjon for robotstøvsugeren sin som beskriver hvilke oppgaver den skal utføre. Kravspesifikasjonen kan med fordel inneholde beskrivelser av ønsket funksjonalitet, vist gjennom flytdiagram eller pseudo-kode (kode beskrevet i naturlig språk, feks. “Hvis hindring foran; unngå hindring. Ellers: Kjør rett frem”).

Vurdering kan gis på grunnlag av kvaliteten på foreslått løsning og hvor godt elevene kan begrunne sine valg. Det kan være gode grunner til å velge bort komplekse løsninger for en mer gjennomførbar løsning.

 

Lag et læringsopplegg

Har du gjennomført et læringsopplegg i skole eller barnehage som andre pedagoger kan ha interesse av? Del det gjerne på denne siden.

Relaterte opplegg

Relaterte blogginnlegg

  • Koding, Bee-Bot og 4 åringar

    Vad är en robot frågar Elin? Det är en sak som går och låter "eeek eeek eeek" 4 åringen rör armarna fram och tillbaka.
  • Arduino for alle

    Å jobbe med strømkretser, bygging, forståelse av instruksjoner og tegninger, programmering og å oppleve mestring er blant noe av elevene på 5. trinn på Brundalen skole har oppnådd ved å jobbe med Arduino i noen uker.
  • Gulrot-piano med Arduino

    Gulrot og Arduino går godt sammen, om en vet hva en skal gjøre. Dette har elever på mellomtrinnet funnet ut av, og de storkoser seg når de jobber med dette opplegget.

Finn oss på sosiale medier