Mindstorm, robot- og reguleringskurs

Like dokumenter
Oppgave 1.1 Kjør rett fram Programmere roboten til å kjøre rett fram ved å bruke begge motorer. Deretter rygge tilbake.

Mars Robotene (5. 7. trinn)

Brukerveiledning til programmering av LEGO Mindstorm NXT-roboter

Elektronikk og programmering av ubrukelige roboter

super:bit-oppdraget Lærerveiledning Versjon 1, august 19.

Her skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den.

Kom i gang med. Åpne nettleseren, gå til: Velg «New Project».

Zelio Soft grunnkurs. Zelio Logic reléerstatter programmering

Kom i gang med micro:bit

Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å falle over skjermen.

Tetris. Introduksjon. Skrevet av: Kine Gjerstad Eide. Lag starten på ditt eget tetris spill!

Hvilken BitBot går raskest gjennom labyrinten?

Brukerveiledning Privatisering av datamaskinen For avgangselever våren 2017

Kan micro:biten vår brukes som et termometer? Ja, den har faktisk en temperatursensor!

Om du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1.

Bruksanvisning Unitronics Vision

Laget av Atle Hybertsen Høst 2017

Soloball. Introduksjon. Steg 1: En roterende katt. Sjekkliste. Skrevet av: Geir Arne Hjelle

Bruksanvisning - hovedpunkter Floalarm K 4

PXT: Himmelfall. Introduksjon. Skrevet av: Helene Isnes og Julie Revdahl

PXT: Det regner mat! Introduksjon. Steg 1: Grunnlag. Sjekkliste. Skrevet av: Helene Isnes

Quha Zono. Brukermanual

Astrokatt. Introduksjon. Steg 1: En flyvende katt. Sjekkliste. Scratch. Skrevet av: Geir Arne Hjelle

Brukergrensesnittet i LabVIEW

En to-timers oppskrift for å bygge og programmere en Arduino-drevet strikk-

Steg 1: Hvordan styre figurer med piltastene

Kan micro:biten vår brukes som en terning? Ja, det er faktisk ganske enkelt!

Hurtigstartguide KUBO CODING+

ebeam Edge består av en elektronisk penn (sender), mottaker, programvare og USB kabel. USB kabelen kobles til i mottakeren.

Verden. Introduksjon. Skrevet av: Kine Gjerstad Eide og Ruben Gjerstad Eide

Verden. Steg 1: Vinduet. Introduksjon

PLS PC-øving nr. 3 Global Label og Local Label, flagg og CJ

PXT: Hermegåsa. Introduksjon. Skrevet av: Felix Bjerke og Tjerand Silde

PXT: Hermegåsa. Steg 1: Sjekk at du har riktig utstyr. Sjekkliste. Introduksjon

Beskrivelse av styring av lys, varme og ventilasjon i et rom.

PROGRAMMERING AV SPILL

GEOGEBRA (3.0) til R1-kurset

Steg 1: Katten og fotballbanen

Start et nytt PXT-prosjekt, for eksempel ved å gå til makecode.microbit.org (

PXT: Bjelleklang. Introduksjon. Skrevet av: Kolbjørn Engeland, Julie Revdahl

Tegnespillet. Introduksjon:

Hvordan du kommer i gang med LOGO.

Brukermanual Findmy dataprogram

og Java

Kodetime for Nordstrand barneskole

Tips og triks til FLL teknologi

Bygge en kube. Introduksjon. Steg 1: Lage en ny mod. Skrevet av: Pål G. Solheim

Lærerveiledning - Straffespark

Steg 0: Installere Pygame Zero

GeoGebraøvelser i geometri

Av LäraMera Program AB og Leripa AB. Kristina Grundström

Høgskolen i Østfold Avdeling for informasjonsteknologi. Programmering av PLS-styrt Modellandsby ved hjelp av Phoenix Profinet / PCWorX

Hvor i All Verden? Del 3. Introduksjon. Steg 0: Forrige gang. Sjekkliste. Skrevet av: Geir Arne Hjelle

Innhold: ISTC-kontroller Oppsett av intelligent styring

Eksterne enheter Brukerhåndbok

Hvis du gjenkjenner ett av disse to bildene over så er dere på vår ASP-server.

Hvor i All Verden? Del 3 Erfaren Scratch PDF

Betjeningspanel (bilde)

5 Kjøring i kryss. Kjøring i kryss

Oppkobling av RGB lyslist

Hvor i All Verden? Del 1. Introduksjon. Steg 1: Styr et helikopter. Skrevet av: Geir Arne Hjelle

WORKSHOP BRUK AV SENSORTEKNOLOGI

KYBERNETIKKLABORATORIET. FAG: Dynamiske systemer DATO: OPPG.NR.: DS3 MOTOR GENERATOROPPGAVE I

VMware Horizon View Client. Brukerveiledning for nedlasting, installasjon og pålogging for fjerntilgang

Frantic Felix Ekspert Scratch

Brukerveiledning. Koblingsur. Art.nr RevB NO

KYBERNETIKKLABORATORIET. FAG: Kybernetikk DATO: OPPG. NR.: R134 TEMPERATURREGULERING

medemagruppen P Q ver Oktober 2011 Bruksanvisning Joystick DX2

Tryll bort heksa. Introduksjon. Sjekkliste Følg instruksjonene på lista. Huk av etter hvert. Test. Lagre 2/8

Elevmanual for ROBOLAB Utvikler

Bruksanvisning. Styreboks DX2 Rem550

Sprettende ball Introduksjon Processing PDF

Hurtigveiledning for styring og kontroll av roboter med LEGO MINDSTORMS for Schools

INF1510 Oblig #1. Kjetil Heen, februar 2016

Brukerveiledning. SuperTalker. Pb. 24, 1451 Nesoddtangen, Tlf:

Steg 1: Piler og knappetrykk

Startpakka 3D Hurtigguide

Steg 1: Installere programvaren

Eksamen vår 09. Theodor Brenne Bondevik & Herman Blankenburg

Spøkelsesjakten. Steg 1: Lag et flyvende spøkelse. Sjekkliste. Introduksjon

Dette eksemplet forutsetter at du allerede har gjennomgått Kom i gang med tavler 1.

Hvor i All Verden? Del 2. Introduksjon. Steg 0: Forrige gang. Skrevet av: Geir Arne Hjelle

KYBERNETIKKLABORATORIET. FAG: Industriell IT DATO: OPPG.NR.: LV4. LabVIEW Temperaturmålinger BNC-2120

Bygge en kube. Steg 1: Lage en ny mod. Sjekkliste. Introduksjon

Inf109 Programmering for realister Uke 5. I denne leksjonen skal vi se på hvordan vi kan lage våre egne vinduer og hvordan vi bruker disse.

Hei verden Introduksjon Swift PDF

Skilpaddekunst. Steg 1: Møt skilpadden. Sjekkliste. Introduksjon. Turtles

Hei verden. Introduksjon. Steg 1: Sette opp Xcode. Skrevet av: Andreas Amundsen

Norgestur. Introduksjon. Steg 1: Et norgeskart. Sjekkliste. Scratch. Skrevet av: Geir Arne Hjelle

Gode nettopplevelser med. Home Premium. Brukerveiledning

ToPlayer. Introduksjon: Skrevet av: Ruben Gjerstad Eide og Kine Gjerstad Eide

1. Rullende navn, s 3 2. Smilefjes, s 5 3. Skritteller, s 7 4. Orakel, s 9 5. Stein, saks og papir, s Kompass, s 14

Betalingsterminal problemhåndtering

Steg 1: Lag en scene og legg til figurer

Norsk informatikkolympiade runde. Sponset av. Uke 46, 2015

Blinkende lysdiode Introduksjon Arduino Lærerveiledning

Brukerveiledning til oppgaven IPad selfie.

LEGO NXT. Lærerveiledning

Kanter, kanter, mange mangekanter. Introduksjon: Steg 1: Enkle firkanter. Sjekkliste. Skrevet av: Sigmund Hansen

Transkript:

Mindstorm, robot- og reguleringskurs Kursets mål: Sett seg inn i reguleringsteknikk og deretter planlegge, bygge og programmere en robot for å løse et gitt problem. 1

Reguleringsteknikken Reguleringsteknikken gjennomgås ikke spesifikt i dette materiellet med kan studeres i denne linken: https://www.geogebra.org/material/show/id/8044 Sentralenheten (PLS) Mindstormrobotens hjerne er en sentralenhet (PLS=programmerbar logisk styring). Til denne kan vi koble opptil fire sensorer/trykknapper (inngang 1, 2, 3 og 4). Verdiene fra disse blir benyttet sammen med programmet i samme enhet for å bestemme hvilke utgangssignaler som skal gis til motorene (utgang A, B og C). Utgangsinngangene = signaler fra sensor + program. Noen viktige elementer i oppbygging av programmene i Mindstorm Her vil de viktigste elementene bli gjennomgått i det visuelle programmeringsspråket som benyttes av Mindstormroboten. Når programmet er ferdig og vi ønsker å teste dette i roboten kobler vi en USB-kabel mellom PC og roboten. Vi trykker så på play knappen for overføring og start av programmet. 2

Løkke (loop) Løkken som er avbildet i figuren til venstre vil bli gjentatt i det uendelige. I slutten av løkken kan vi også legge inn et vilkår som gjør at programmet går videre om vilkåret er oppfylt ellers går det tilbake til begynnelsen av løkken og repeterer denne (figuren til høyre). Løkke uten vilkår (uendelig løkke) Løkke med vilkår (her vil programmet gå ut av løkka når trykksensoren koblet til inngang 1 trykkes inn) Forgreining (vilkår) Programmet vil gjennomføre øverste rad når trykknappen er trykt inn og nederste rad når trykknappen er ute 3

Sekvenskjøring To forskjellige måter å lage en sekvenskjøring: vha løkker og vha ventefunksjonen. Sekvens med bruk av løkker: 1. løkke er ferdig når en trykknapp trykkes inn, 2. løkke er ferdig etter 30 sekunder og 3. løkke etter 1000 ganger. Deretter starter programmet fra begynnelsen Sekvens med bruk av løkker Sekvens med bruk av ventemodus: Her ser vi at programmet venter ved det første ikonent. Når trykknappen trykkes inn går programmet videre og starter motorene CB før den på nytt går i ventemodus. Sekvens med bruk av ventefunksjonen. Logiske blokker og dataledninger For å gjennomgå de forskjellige logiske funksjonene kan dere med fordel gå til denne siden: Digitalteknikk. Hver av de to trykknappene gir et signal. Disse to signalene mates inn i den logsike blokken som her er definert som en OG/AND funksjon. Hvis begge knappene er trykt inn vil den gi et på-signalen til forgreininga om å gjennomføre den øverste linja, ellers gjennomfører den den nederste linja. 4

Matematikkblokker Matematikkblokken trenger to verdier. Verdiene mates inn på A og B til venstre på matteblokken. I dette eksemplet er det bare en verdi fra lyshetsmåleren som mates inn på inngang A. Verdi B defineres inne i matteblokken `45`. På utgangen # kan vi så hente differansen mellom A og B. Variabel For å gjøre programmet mere oversiktelig, kan vi med fordel benytte variabler. Vi definerer først de forskjellige variablene i redigeringsmenyen/definer variabler. Deretter tar vi fram variabelkofferten og plasserer den foran programløkka. Vi skriver inn verdien til variabelen. Husk, variabelen må nå være i skrivemodus. Senere i programmet når vi skal benytte variabelen plasserer vi inn den samme variabelkofferten, men nå må den være i lesemodus. Se figuren til høyre. 5

Motorstyring: Motorene kan styres vha. to forskjellige moduler, bevegelsesmodulen eller motormodulen. Til bevegelsesmodulen er det alltid knyttet to motorer. En styring kan ofte løses med begge disse modulene. Programmeringen vil ofte bli noe enklere når bevegelsesmodulen benyttes. Den har imidlertid vist seg å være noe mindre eksakt i bevegelsen sammenlignet med en løsning der motormodulen benyttes. Bevegelsesmodul For å styre robotens motorer kan vi benytte en bevegelsesmodul. To motorer er koblet til denne modulen. Nederst i figuren er så de forskjellige parametrene definert for modulen. Om vi heller vi ha en dynamisk styring kan vi ved å klikke innenfor den røde sirkelen få fram en fot med mange innganger og utganger. Disse inngangene vil overstyre parametrene. I figuren til høyre har vi benyttet lyssignalet til å bestemme hvor fort roboten skal bevege seg. Motormodul For å styre robotens motorer kan vi også benytte en motormodul. Nederst i figuren er så de forskjellige parametrene definert for modulen. Dersom vi heller vil ha en dynamisk styring kan vi ved å klikke innenfor den røde ovalen få fram en fot med mange innganger og utganger. Disse inngangene vil overstyre parametrene. Vi trenger bare en modul for å styre roboten. I figuren til høyre har vi benyttet lyssignalet til å bestemme hvor fort motor A skal rotere. 6

OPPGAVER Oppgave 1 Gruppen skal bygge en robot som benytter avstandsmåleren «øynene» til å styre roboten. a) Roboten skal kjøre rett fram til den nærmer seg et hinder. Da skal den stoppe, snu seg 120 grader for så å fortsette rett framover. Lag et program som består av en sekvens med to trinn. b) Roboten skal kjøre rett mot en vegg. Når den nærmer seg veggen skal den svinge mer og mer slik at til slutt kjører den parallelt med veggen. I denne oppgaven kan man med fordel ta utgangspunkt i følgende program. Dataledninger mangler og må legges til. 7

Oppgave 2, kjøring av Mindstormrobot rundt en bane løst på to forskjellige måter I disse øvelsene skal vi gjennomgå grunnleggende reguleringsteknikk. Vi starter først med en enkel av/på regulering og fortsetter så med en proporsjonalitetsregulator. For disse begge oppgavene er formålet å få en Mindstorm robot til å følge en bane. En lyssensor sender ut lys og leser så av det reflekterte lyset fra underlaget. Høyt lysnivå betyr at den er utenfor banen og lavt lysnivå at den er på banen. Roboten programmeres slik at den forsøker å ligge på grenselinja mellom lyst og mørkt. Blir det for mørkt svinger den ut mot grenselinja og blir det for lyst svinger den inn mot grenselinja. Som grunnleggende forberedelse benytt denne modellen.. Mindstormroboten kjører rundt banen. a) Banekjøring vha. av/på regulering En av/på regulering er en veldig enkel regulering, to tilstander, av/på, høyre/venstre. Bilen i geogebramodellen kan utstyres med en av/på regulator som hele tiden forsøker å kjøre bilen i sikksakk etter grensen mellom det svarte og det hvite. Prøv dette ut i geogebraprogrammet. Deretter programmerer du programmet og installerer programvaren i Mindstorm roboten. Roboten er nå klar til å kjøre rundt banen. Hvis det blir problem med roboten under sikk/sakkkjøringen kan det være at lyssensoren må kalibreres mot hvitt og svart underlag, se eget kapittel. Programforslag til denne oppgaven med forklaring. 8

b) Banekjøring vha proporsjonalitetsregulator En p-regulator eller proporsjonalitetsregulator er et eksempel på en kontinuerlig regulering. Bilen i geogebramodellen kan utstyres med en regulator der svingingen avhenger av hvor langt vekk den er fra grenselinja mellom hvitt og svart på banen. Dette gir en mye mykere kjøring uten sikk/sakkinga i forrige oppgave. Prøv dette ut i geogebramodellen. Forsøk å konstruere et program som får roboten til å fungere på denne måten. Overfør programmet så til Mindstormroboten. Roboten er nå klar til å kjøre rundt banen. Her kan man med fordel lage en konkurranse mellom elever/elevgrupper om hvem som får sin «Formel 1» bil raskest rundt banen. De skal under denne prosessen også se hvordan forsterkningen og robotens hastighet påvirker stabiliteten. Hvis det blir problem med roboten under kjøringen kan det være at lyssensoren må kalibreres mot hvitt og svart underlag, se eget kapittel. I disse to blokkene definerer vi robotens ønskede hastighet og P- regulatorens forsterkning Her starter loopen Her skriver vi inn lysnivået=skalverdien (grenselinja mellom lyst og mørkt) Utsnitt av et programforslag med beskrivelse av hvor programmets parameter defineres. 9

Oppgave 3 Dere skal benytte samme reguleringsteknikktankegang for en robot som benytter andre sensorer: mikrofon eller avstandsmåler. Gruppen skal planlegge, bygge, samt programmere en robot til å løse et på forhånd veldefinert problem. Oppgave 4, større selvstendig gruppeoppgave Gruppen skal planlegge, bygge, samt programmere en robot til å løse et på forhånd veldefinert problem. Kreativitet og fantasi verdsettes og belønnes. Det kan sikkert for mange være nyttig å studere andre prosjekter som allerede har vært gjennomført. Her er en slik samling av ulike prosjekter på nettet. Studer gjerne hvordan programmene er oppbygd og lær av dette. Forskjellige varianter av sorteringsroboter eller et robotkjæledyr kan være andre eksempler på prosjekter. Stikkordsliste for sluttprøve Regulering Forskjell mellom styring & regulering Reguleringssløyfe med begreper Riktig innstilling av forsterkning (avhengig av prosessens hastighet & forstyrrelsens størrelse) Transmitter: omformer av målesignal til standardsignal (0-10V og 4-20mA) Typiske egenskaper som skal reguleres: o temperatur T, o nivå L (level), o trykk P (pressure) og o gjennomstrømming F (flow) Programmering sensortyper løkke (loop) sekvens forgreining (vilkår) logisk modul (OG, ELLER) dataledning matematikkmodul 10

Kalibrering av lysmåleren for oppgaven 3 Før oppstart må du gjennomføre en kalibrering av lysmåleren. Vi ønsker at roboten skal følge grenselinja mellom hvitt og svart på banen. For å få dette til må roboten vite hva forventet lysnivå er på denne linjen. Vi måler det reflekterte lyset i det hvite området og det svarte området. Kalibreringsverdien vil så være gjennomsnittet av disse to verdiene. For å kalibrere robotens lyshetssensor gjør vi følgende. Roboten må være koblet til PC en med USB kabelen. Mindstormsprogrammet startes. Klikk så på ikonet for lyssensoren. Avlest verdi fra lyshetsmåleren vises nede i skjermens venstre hjørne. Plasser lyshetsensorens målehode over det hvite området. Noter lysnivå. Plasser lyshetsensorens målehode mitt på den svarte kjørebanen. Noter lysnivå. Du beregner så det gjennomsnittlige lysnivå. Vi ønsker at roboten skal bevege seg i grenseområdet mellom svart og hvit. Denne verdien mater vi så inn i robotprogrammene 11