ELE610 Prosjekter i robotteknikk, høst 2018.

Størrelse: px
Begynne med side:

Download "ELE610 Prosjekter i robotteknikk, høst 2018."

Transkript

1 Stavanger, 21. september 2018 Det teknisknaturvitenskapelige fakultet ELE610 Prosjekter i robotteknikk, høst RobotStudio-del, oppgave 4. Også i denne fjerde RobotStudio oppgaven skal dere etter hvert kjøre programmet på en av de virkelige ABB robotene. Her skal vi sette opp kommunikasjon mellom Matlab og RobotWare, det vil si kontrolleren (ABB roboten), og fra Matlab fortelle roboten hva vi ønsker den skal gjøre. Før der gjør oppgavene på laboratorium E458 skal dere lese om Sikkerhet på robotlab. Godkjenning foregår ved at dere viser at roboten på E458 gjør det som en ønsker, og leverer rapport med RAPID-kode på canvas, det er ingenting annet som trenger å være med i rapporten. Merk at denne oppgaven kan være svært tidkrevende hvis dere skal lage perfekte løsninger for alle deloppgavene. Det er med hensikt laget slik for at også de flinkeste og raskeste blant dere skal få noe å bryne seg på. Men mange av dere vil oppleve at dere ikke kommer i mål med øving 4 innenfor tidsrammen, hver øving har normert tid på timer per student. Derfor vil denne øvinga godkjennes hvis dere har løst delene og har med ei timeliste som viser at hver av dere har brukt mer enn 15 timer på dette. 4 Styre robot fra Matlab For oversikten sin del er også denne oppgaven delt opp i flere punkt, og vi starter med oversikt over brukte filer. 4.0 Introduksjon I denne oppgaven er det flere filer dere trenger, og noen dere klarer dere uten men som likevel kan være nyttige og gi litt hint om hvordan ting kan gjøres. Eller kanskje bare øke forvirringen? Merk at også mange av disse filene, kanskje Karl Skretting, Institutt for data- og elektroteknikk (IDE), Universitetet i Stavanger (UiS), 4036 Stavanger. Sentralbord Direkte E-post: karl.skretting@uis.no.

2 i andre versjoner, er tilgjengelige fra andre steder også. Erfaring fra denne øvinga skal kunne brukes som startgrunnlag for videre arbeid med robotene, kanskje bacheloroppgave eller prosjekt i faget ELE630. Her er en oversikt over filer: Vi kan i denne øvinga ta utgangspunkt i samme pack-and-go fila som før Pack-and-go-fil, UiS E459 jun17.rspag, TriplePen.rslib, modell av verktøyet. For å tegne figuren som lages i Matlab kan dette verktøyet, eller den enkle pennen brukes. TriplePen.mod, modul med RAPID kode for verktøyet. Kun for del 4.5. abbcom.zip, Pakke fil med flere Matlab funksjoner for kommunikasjon med robot. Merk at av en eller annen grunn virker kommunikasjonen bare for 32 bits Matlab. MatlabCom.mod, en modul med RAPID kode som kan brukes for å utføre kommandoer sendt fra Matlab. Merk at Matlab program som sender kommandoer ikke er laget her. Det er deres oppgave. lab4 bane.m, definerer x-, y-, og z-koordinater for bane som kan overføres til kontroller for å styre roboten. Prinsippet for kommunikasjon. Prinsippet for å styre roboten fra Matlab er ganske enkelt. Matlab kan, via PC SDK, lese verdier fra kontrolleren (RAPID) og skrive til disse. Dette kan også gjøres mens programmet kjøres. Når en fra utsiden går inn og endrer på verdier i et program som kjører er det helt nødvendig at en vet hva en gjør, ellers kan det fort bli feil. PC SDK (Software Development Kit) er et ABB verktøy som brukes for å skreddersy løsninger for ABB kunder. For mer informasjon se ABB PC SDK nettside, her står den hele og fulle sannhet. Men det kan være at det er enklere (å komme litt igang) ved å finlese abb*.m filene nedenfor. Jeg har laget noen Matlab-filer som prøver å forenkle bruk av PC SDK noe. De virker godt når ingenting feil skjer og når det en skal gjøre er med i filene her. I denne første oppgaven er det forhåpentligvis slik. I siste oppgave trenger dere gjerne noe ekstra og må bruke funksjoner direkte i PC SDK. Ta gjerne help for hver enkelt for litt mer informasjon og se koden for detaljer. M-filene er: 2

3 abbcom abbedit abbmain abbmaster abbnew abbread abbstring abbtext abbwrite Lager en struct som brukes for kommunikasjon med en ABB robot Editerer felt fra ABB RAPID variabel lagert i en struct Script for å teste abb*.m funksjoner og MatlabCom module i RAPID Spør om master-tilgang til en robot Lager en struct med noen felt fra ABB RAPID variabel Leser noen felt fra ABB RAPID variabel til en struct Lar Matlab lage en string av ABB RAPID struct som.stringvalue Lar Matlab lage en text av ABB RAPID struct Skriver struct til ABB RAPID variabel på robot Disse filene er installert på../documents/matlab/common katalogen på PCer på E458. Det kan være en fordel å se på disse filene (og PC SDK) i fred og ro, før dere er på laboratoriet. Pakk derfor gjerne ut filene i deres egen PC og se på de der. Er RobotStudio også installert kan dere finne dokumentasjonen for PC SDK og lese litt på den, i hvert fall for de kommandoer og dataobjekt som er brukt i m-filene. Det er svært omfattende og derfor ikke helt enkelt å få oversikt over, men det er rimelig ryddig organisert. Dokumentasjonen kan finnes ved å skrive PC SDK i søkefeltet under startmenyen i Windows. Før du fortsetter kan du gjerne forsikre deg om at kommunikasjon fra PC (stasjonære på E458) til robotene virker med abb*.m filene. Se på FlexPendanten for en av robotene, på ProgramData-fanen, hva program, modul og variabelnavn som brukes og velg deg en passende variabel, gjerne en num eller et robtarget. Lag en tilsvarende variabel i Matlab-kommandolinjevinduet som en struct med abbnew(). Deretter kan du opprette kommunikasjon med roboten med abbcom(). Les variabelen med abbread() og vis den med disp(abbtext(..)) og disp(abbstring(..)). Hvis dette nå samsvarer med det som viser i ProgramData-fanen på FlexPendanten er det bra. Editer verdier i Matlab variabelen med abbedit(). Sjekk gjerne at endringen er gjort med disp(abbtext(..)) eller disp(abbstring(..)). Be om skrivetilgang på roboten med abbmaste() og skriv de endrede data til roboten med abbwrite(). Hvis det som nå viser i ProgramData-fanen på FlexPendanten er det samme som i den endrede Matlab variabelen er det bra. 4.1 Gå i ring Her skal dere starte med å endre i stasjonen slik at en kan en felles programmodul som kan kjøres på begge robotene. Det er en fordel siden en da kan kjøre programmet på den roboten som er ledig, men også en utfordring siden bord (work object) er ulikt plassert i forhold til hver enkelt robot, og ikke minst at de gjerne har ulikt verktøy montert. Når en bevegelse til en målpunkt gis i programmet brukes både verktøy og workobject, og her skal vi bruke navn som kan brukes for begge robotene, ttool og wobjbord. Denne programmodulen skal inneholde fire punkt definert 50 mm over bordplata, de kan være i posisjoner (-150,-100), (150,-100), (150,100) og (-150,100). 3

4 Det skal også være definert to baner, en som går med klokka og en som går mot klokka. For å lage dette i stasjonen for Rudolf så sletter en først det som er, alternativt kan en endre. Under Home og Paths&Targets slettes bane Path 10 og punkt under workobjects. En kan så gå til RAPID og åpne programmodul EnkelPenn, her oppretter en et nytt verktøy ttool som er identisk med tenkel- Penn ved å kopiere kodelinja. En går så til programmodul E459RPennTest 1 og kaller denne heller for E459Test41, det skal nå være en modul for testing av enkle bevegelser over bordet. En kan kopiere inn wobjbordn fra programmodul E459GriperTest for Norbert. En bør også bytte oframe og uframe delene i definisjonen av disse work object. Så legger en til ei ekstra linje med wobjbord, som nå settes helt lik wobjbordr. Til slutt kan linjene for wobjbordr og wobjbordn kommenteres bort. Nå må en riktig nok endre wobjbord etter hvilken robot en har, men det får en tåle. Alternativet er å ha ekstra modul, eller å ha work object med sammen men verktøy slik som ttool. Videre lages målpunkt og to baner, en mot klokka og en med klokka. Bruk ttool og wobjbord. Lag også en funnksjon PROC GaaIRing() som går enten banen med eller mot klokka om og om igjen. Dette kan styres av en global logisk variabel clockwise. Når simulering nå virker bra for Rudolf fortsetter en med å få Norbert til å gjøre det samme. En går til RAPID og åpne programmodul GriperSim, her oppretter en et nytt verktøy ttool som er identisk med tgriper ved å kopiere kodelinja. En sletter programmodul E459GriperTest og kopierer inn E459Test41 i stedet. Så redigerer en ei linje i denne modulen, wobjbord må endres til å bli likt wobjbordn. Nå synkroniserer en til stasjonen, og går så i stasjonen, Homefane, og fjerner det som ikke trengst lenger. Det er for eksempel gamle punkt under wobj0 og wobjbordn. En kan gjerne også fjerne klossen på bordet. Nå bør begge robotene gå fint i ring med klokka når simulering kjøres. Dere legger gjerne merke til en feil for Norbert. Rektangelet som banen går i har ikke samme orientering som bordet. Dette skyldes at x-akse for wobjbordn og wobjbord er parallelt med kortsida for bordet, og kan ordnes ved å rotere work object -90 grader omkring z-aksen. Gjør dette. Husk synkronisering. Sjekk at stasjon og program for både Rudolf og Norbert stemmer, merk at Rudolf og Norbert har hver sin kopi av programmodul E459Test41 og at kun ei linje er forskjellig mellom disse. 4.2 Enkel kommunikasjon Nå har vi vist at samme program kan brukes for å styre Norbert som Rudolf, det er bare ei linje, wobjbord, som må endres. Derfor velger vi nå å fjerne Norbert fra modellen som brukes i simulering, også transportbånd og bord ved 1 Flere av filene og navnene som er brukt for ABB robotene har med E459 siden det var romnummeret på robotlaboratorium før ombygging av rom i vestfløyen sommeren

5 vinduet kan fjernes. Stasjonen lagres så med navn lab4 2.rsstn. Også navn for program kan endres, til for eksempel E459Rudolf2, og lagres. Nå skal programmet endres slik at en kan enkelt snu retning for banen ved å endre verdien for en logisk variabel, for eksempel clockwise. Jeg har ennå ikke sett noen enkel måte dette kan gjøres på i simulering mens roboten kjører, TPReadFK kan bare brukes når roboten stopper opp og venter på svar. Vi får vente til vi er på laboratoriet før vi ser den fine effekten av å endre verdi for clockwise samtidig som programmet faktisk kjører. For å få dette til slik at retning endres raskt så bør målpunktene lagres i et array, og en kan gjerne legge til ekstra punkt midt på hver linje. Da har en 8 punkt i array. Ved å bruke en konstant npunkt for å angi hvor mange punkt en har i arrayet så får en noe større fleksibilitet. Hovedløkka i programmet kjøres mange ganger (WHILE TRUE), og er ganske enkel: En går til et punkt i lista (MOVEL), punktet er gitt med indeks ipunkt, deretter økes eller minkes ipunkt avhengig av verdi for clockwise, merk at en alltid må ha ipunkt mellom 1 og npunkt. På denne måten sjekkes ønsket retning en skal gå i oftere enn om hele banen skulle kjøres. Sjekk at dette virker i simulering, sjekk begge retninger. Lagre filer. Test på roboten. Start Matlab (32 bits versjon). Hvis dere ikke har installert 32-bits versjon av Matlab på deres bærbare PC (noe dere normalt ikke har) er det gjerne enklest å bruke en av de to PCene som er like ved ABB-robotene, brukernavn Robot og passord abb. Begge disse har 32-bits versjon av Matlab installert men også 64 bits versjon så pass på at riktig versjon startes. Når Matlab har startet her er en i (eller går til)../documents/matlab katalogen, der er det ei oppstartsfil ele610.m som dere skal kjøre. En katalog../documents/matlab/common, der nødvendige filer for kommunikasjon med robot er installert, settes da inn i søkestien og Matlab går til katalog for deres gruppe, etter at dere har skrevet deres gruppenummer. Start RobotStudio på PCen, her kan dere gjerne bruke deres egen bærbar PC. koble til en ev de fysiske kontrollerne via nettverket og last RAPID programmet dere har laget E459Rudolf2 inn på roboten. Nå kan programmet kjøres på samme måte som vi har kjørt programmene for tegning og flytting av klosser. Videre i oppgaven er det enklest å sette roboten over i automatisk mode og kjøre programmet slik. Det kan alternativt kjøres manuelt men da må en holde sikkerhetsbryteren inne selv i lang tid. For automatisk mode må bryteren på robotkontrolleren i maskinrommet på sørsida av robotene settes til automode, en godkjenner dette på FlexPendanten, og trykker så på lysknappen attmed bryteren på robotkontrolleren for å få Motors on. Så kan programmet startes med symbolet på FlexPendanten. Merk at når roboten kjører i automatisk modus så er sikkerhetsbarrieren aktiv og alt personell må være utenfor sikkerhetssonen omkring robotene. Programmet deres får nå roboten 5

6 til å bevege seg i en rektangulær bane over bordet. Tilbake på Matlab så kan dere nå koble dere til ønsket robot kontroller med rc = abbcom( Rudolf ); % eller Norbert Ta gjerne først help abbcom for å se hva denne fila skal gjøre, eller dere kan åpne fila fra../documents/matlab/common og se på kommandoene som ligger bak. Se gjerne på resultatet, rc variabelen er en struct i Matlab med flere felt noen felt er vanlige variabler, tall eller tekststrenger, mens andre er spesielle (pekere til) PC SDK objekter. Til disse objektene er det knytta både datafelt og funksjoner. Det kan være at rc = abbcom( Rudolf ); ikke klarer å opprette forbindelsen, da kan en prøve en gang til og det vil da ofte bli opprettet forbindelse. Dere oppretter så en Matlab-variabel som brukes for å overføre data mellom Matlab og RAPID. rclockwise = abbnew(char( T ROB1, E459Rudolf2, clockwise ), bool ); Første argument her er et tekstarray som består av programnavn (alltid T ROB1), modulnavn og variabelnavn, andre argument er datatype. Disse argumentene må samsvare med slik det er i (programmet som kjører i) roboten. Utargumentet rclockwise er en vanlig struct i Matlab. Denne er laget slik at den gjenspeiler strukturen for datatypen i RAPID, for en logisk variable er det ganske enkelt men noe større for et målpunkt. Matlab kan lese hva denne variabelen er i robot kontrolleren med rclockwise = abbread(rc, rclockwise); For å endre verdi på en variabel i RAPID trenger en Master-tilgang på kontrolleren. Det kan en få med rc = abbmaster(rc); Hvis dette har gått bra kan en endre verdi i Matlab variabelen rclockwise og deretter skrive den til RAPID rclockwise.value = rclockwise.value; rclockwise = abbwrite(rc, rclockwise); De to siste kommandoene her kan gjentas og en skal da se at hver gang skifter roboten retning. Til slutt kan en gjerne frigjøre skrivetilgangen slik at en igjen kan bruke FlexPendanten rc.mmaster.release(); Her kaller en Release funksjonen for rc.mmaster objektet. Når dette virker er denne delen gjort. 4.3 Jogge robot fra Matlab I denne oppgaven skal en fra Matlab sende kommandoer som styrer roboten, (jogging). Her kan en utvide det som ble gjort i forrige del og endre på RAPID 6

7 kode og Matlab fil. RAPID koden i programmet må lages slik at den passer med Matlab instruksjonene som setter verdier i RAPID variabler og slik at roboten gjør det som forventes her. Dere kan velge å gjøre det enkelt, med kun kommandoer for stegvise bevegelser x, y, og z-retning. Dere kan eventuelt også legge til kommandoer for å bevege enkel akse til en bestemt vinkel, sette alle vinkler til en utgangsposisjon, eller øke/redusere en aksevinkel med et gitt antall grader. Planlegg på forhånd hvordan dere vil ha kommandoene som sendes, og hvordan dere vil lage brukergrensesnittet i Matlab for å gi inn disse kommandoene. Brukergrensesnittet i Matlab kan lages ferdig før dere er på robotlaboratoriet. Hint Det kan være flere måter å løse dette på. Jeg velger å å vise et lite eksempel der en i RAPID programmet har flere variabler som Matlab skal få lov å endre under kjøring. VAR num mlcmd := -1; VAR num mlsteg := 10;! [mm] VAR robtarget p0 := Target_10;! et punkt over bordet VAR num dx := 0; VAR num dy := 0; VAR num dz := 0; Den viktigste her er mlcmd som er et heltall som Matlab setter for å fortelle roboten hva den skal gjøre. Denne antas å være 0 (eller negativ) når roboten er ferdig med å gjøre dette og Matlab kan gi neste kommando. På denne måten blir det alltid en stopp (pause) mellom hver kommando, noe som i enkelte sammenhenger kan være uheldig men her tolereres. I neste deloppgave er et litt mer avansert eksempel der denne stoppen kan unngås. I dette eksempelet er hovedløkka i RAPID programmet en evig løkke WHILE TRUE DO IF (mlcmd <> 0) THEN TEST mlcmd CASE 1 : dx := dx + mlsteg; CASE 2 : dx := dx - mlsteg; CASE 3 : dy := dy + mlsteg; CASE 4 : dy := dy - mlsteg; CASE 5 : dz := dz + mlsteg; CASE 6 : dz := dz - mlsteg; ENDTEST mlcmd := 0;! gir kontroll til Matlab MoveL Offs(p0, dx, dy, dz),vspeed,fine,uispen\wobj:=wobord; ENDIF WaitTime 0.01; ENDWHILE Fra Matlab kan en da sette mlcmd og mlsteg og eventuelt andre parametre hvis en lager en mer fullstendig løsning. Dette kan gjerne gjøres på en litt 7

8 mer elegant måte enn det som ble gjort i forrige oppgave, der en bare brukte kommandolinjegrensesnittet. Dessverre gir ikke Matlab direkte kontroll med tastetrykk på tastaturet, det gjør at en ikke kan styre med piltaster og PgUp og PgDn. Brukergrensesnittet i Matlab kan lages avansert hvis en bruker Figure og de muligheter en har til å lager bokser, slidere og brytere der, som for eksempel i boxcar gui.m oppgave 1 i FPGA del. Det er dessverre ganske omfattende og etter mitt syn komplisert å lage selv forholdsvis enkle GUI (graphical user interface) på denne måten. Et enkelt alternativ er å bruke menu og input funksjonene. Noen linjer i m-fil som bruker dette kan være: valg = -1; % bruker har ikke gitt inn ønsket sitt steg = -1; % heller ikke noe nytt ønsket steg while (valg < 0) (valg == 7) valg = menu( Velg kommando :,... x++,... % 1 x--,... % 2 y++,... % 3 y--,... % 4 z++,... % 5 z--,... % 6 Gi ønsket steg,... % 7 Avslutt ); % 8 if valg == 7 steg = input( Gi ny verdi for steg [mm] : ); end % mer her... end 4.4 Sette robotbane fra Matlab En stor utfordring ved å programmere roboter er å bestemme punkt og baner roboten skal gå til etter hvert, altså på grunnlag av observasjoner gjort mens programmet går. En vet da altså ikke på forhånd, eller en kan ikke på forhånd sjekke og optimalisere banen som roboten skal følge og dermed kan det oppstå både feil og klossete bevegelser. I denne oppgaven skal en fra Matlab sende kommandoer og punkt som styrer roboten. Her kan en utvide det som ble gjort i forrige del og endre på RAPID kode og Matlab fil. Det kan fort bli ganske mye å holde orden på for hvert program en lager på denne måten. Jeg prøvde derfor å samle de RAPID variabler og programdeler (funksjoner) som ofte er felles i slike program til en egen modul, MatlabCom.mod. Her er mlcmd brukt i forrige del splittet i to variabler, en som indikerer det roboten gjør og en som indikerer det Matlab ønsker roboten skal gjøre etterpå.!de viktigste variabler VAR num nmatlabcomwrd := 0;! What Robot Does 8

9 VAR num nmatlabcomwmw := 0;! What Matlab Wants robot to do next I denne RAPID koden har jeg lagt til rette for å sende store (uendelige) datamengder til RAPID for å kjøre (uendelig) lange baner. Det er gjort ved at det er tenkt at vi har to array med punkt, et array med bane som RAPID kjører, og et array med bane som RAPID skal kjøre etterpå. Når en bane (et array) er kjørt ferdig skifter RAPID uten stans til neste bane og kjører den som en fortsettelse av forrige bane. De to array skifter da betydning. Mens RAPID kjører en bane kan Matlab klargjøre neste bane ved å skrive inn data til den og sette at denne banen skal kjøres neste gang, sette nmatlabcomwmw. Jeg har valgt å bruke tre array for hver bane, for henholdsvis x-, y- og z-data, og dermed er det totalt seks array med data i MatlabCom.mod. I tillegg er det variabler for å vise hvor mye av array som brukes, fra MatlabCom.mod: CONST num nmatlabcommaxlen := 50; VAR num nmatlabcomarrayx1{nmatlabcommaxlen}; VAR num nmatlabcomarrayy1{nmatlabcommaxlen}; VAR num nmatlabcomarrayz1{nmatlabcommaxlen}; VAR num nmatlabcomlen1 := 0;! så mange element som brukes i array over VAR num nmatlabcomarrayx2{nmatlabcommaxlen}; VAR num nmatlabcomarrayy2{nmatlabcommaxlen}; VAR num nmatlabcomarrayz2{nmatlabcommaxlen}; VAR num nmatlabcomlen2 := 0;! så mange element som brukes i array over Det viste seg også å være utfordrende å skrive til RAPID array fra Matlab. Løsningen som jeg fikk til å virke er ikke så elegant som en kanskje kunne ønske, men det virker. Det ble opprettet en num variabel rnum som så ble brukt i en kommando med form ArrayX.WriteItem(rNum, ri); for å skrive en verdi til et element i et array, her ArrayX. ri gir indeks for array, og her må en merke seg at denne indeksen brukes på en PC SDK funksjon WriteItem og der er det indeksering fra 0, selv om både Matlab og RAPID har indeksering fra 1. Oppgaven: Oppgaven deres er å sende punkt fra Matlab til RAPID. Disse punkta utgjør en bane, og RAPID kjører så denne banen når den er ferdig. Mens roboten går denne banen skal en sende over neste bane, fortsettelsen av den totale banen, og roboten skal så, uten stans, fortsette med neste bane når forrige bane er ferdig. Planlegg på forhånd hvordan dere vil ha kommandoene som sendes, og hvilke RAPID variabler som skal endres fra Matlab. Dere kan gjerne bruke MatlabCom.mod her, men enklere alternativ kan også velges. Brukergrensesnittet i Matlab kan lages ferdig før dere er på robotlaboratoriet. Dere må også tenke (først og siden gjøre) både på ryddighet og funksjonalitet i RAPID kode. 9

10 Noen flere hint er: La variabler starte med prefiks etter type: ttoolnavn, probtarget, ncounter (type num), wobjworkobject, o.s.v. Tenke mer robusthet for programmet, gjerne ved å bruke strukturer som PROC,..., ERROR,... RETRY; ENDPROC. Gi relevant og fortløpende informasjon om akser og mulige uheldige ting (problemer) som kan oppstå eller har oppstått. Bruk TPWrite for å skrive (feil)meldinger. Funksjonen CJointT vil gi informasjon om vinkel for hver av de 6 aksene på roboten, en kan også la Matlab lese robotens vinkelposisjoner. CalcJointT kan brukes for en vilkårlig (neste) punkt og sjekke om punkt kan nås. Funksjoner CPos, CRobT og flere til kan brukes for å finne andre nå-verdier (current). I stedet for MoveL vil ofte MoveJ eller MoveAbsJ gi bedre bevegelser, men de må bare brukes når det ikke er et krav med lineær bevegelse og bane ikke gir kollisjoner. Det blir ofte sirkelbevegelser, og dermed kan det være at de gå ned i for eksempel bordflata. I stedet for WaitTime i ei løkke så kan en gjerne bruke WaitUntil. 4.5 Tegne blomst Som en siste test kan en bruke pennen på Rudolf og tegne blomsten som lages med lab4 bane.m. Hvis en bruker TriplePen så er det i utgangspunktet bare definisjon av de ulike pennene (tool) en trenger å kopiere inn. Men en kan gjerne se på de andre definisjonene av ulike variabler og funksjoner og på hvordan disse kan brukes i eksemplene på slutten. Særlig kan det være nyttig å se hvordan vi her kan bytte mellom ulike farger. Prøv gjerne å lage programmet slik at en kan velge hvilken farge som skal brukes, eller kanskje til og med tegne tre blomster (inni hverandre) med ulik farge? 10

ELE610 Prosjekter i robotteknikk, vår 2016.

ELE610 Prosjekter i robotteknikk, vår 2016. Stavanger, 12. januar 2016 Det teknisknaturvitenskapelige fakultet ELE610 Prosjekter i robotteknikk, vår 2016. RobotStudio-del, oppgave 4. Også i denne fjerde RobotStudio oppgaven skal dere etter hvert

Detaljer

ELE610 Prosjekter i robotteknikk, vår 2017.

ELE610 Prosjekter i robotteknikk, vår 2017. Stavanger, 30. november 2016 Det teknisknaturvitenskapelige fakultet ELE610 Prosjekter i robotteknikk, vår 2017. RobotStudio-del, oppgave 3. For denne tredje RobotStudio oppgaven skal dere etter hvert

Detaljer

ELE610 Prosjekter i robotteknikk, vår 2018.

ELE610 Prosjekter i robotteknikk, vår 2018. Stavanger, 14. desember 2017 Det teknisknaturvitenskapelige fakultet ELE610 Prosjekter i robotteknikk, vår 2018. RobotStudio-del, oppgave 3. For denne tredje RobotStudio oppgaven skal dere etter hvert

Detaljer

ELE610 Prosjekter i robotteknikk, vår 2015.

ELE610 Prosjekter i robotteknikk, vår 2015. Stavanger, 2. mars 2015 Det teknisknaturvitenskapelige fakultet ELE610 Prosjekter i robotteknikk, vår 2015. RobotStudio-del, oppgave 2. I denne andre RobotStudio oppgaven skal dere til slutt kjøre programmet

Detaljer

ELE610 Prosjekter i robotteknikk, høst 2017.

ELE610 Prosjekter i robotteknikk, høst 2017. Stavanger, 21. juni 2017 Det teknisknaturvitenskapelige fakultet ELE610 Prosjekter i robotteknikk, høst 2017. RobotStudio-del, oppgave 1. I denne første oppgaven skal dere bli kjent med ABB RobotStudio

Detaljer

ELE610 Prosjekter i robotteknikk, vår 2015.

ELE610 Prosjekter i robotteknikk, vår 2015. Stavanger, 29. januar 2015 Det teknisknaturvitenskapelige fakultet ELE610 Prosjekter i robotteknikk, vår 2015. RobotStudio-del, oppgave 1. I denne første oppgaven skal dere installere ABB RobotStudio,

Detaljer

Bygg et Hus. Steg 1: Prøv selv først. Sjekkliste. Introduksjon. Prøv selv

Bygg et Hus. Steg 1: Prøv selv først. Sjekkliste. Introduksjon. Prøv selv Bygg et Hus Introduksjon I denne leksjonen vil vi se litt på hvordan vi kan få en robot til å bygge et hus for oss. Underveis vil vi lære hvordan vi kan bruke løkker og funksjoner for å gjenta ting som

Detaljer

Bli Kjent med Datamaskinen Introduksjon ComputerCraft PDF

Bli Kjent med Datamaskinen Introduksjon ComputerCraft PDF Bli Kjent med Datamaskinen Introduksjon ComputerCraft PDF Introduksjon Vi begynner med å bygge en enkel datamaskin. Etter å ha brukt litt tid på å bli kjent med hvordan datamaskinen virker, bruker vi den

Detaljer

Bygg et Hus. Introduksjon. Steg 1: Prøv selv først. Skrevet av: Geir Arne Hjelle

Bygg et Hus. Introduksjon. Steg 1: Prøv selv først. Skrevet av: Geir Arne Hjelle Bygg et Hus Skrevet av: Geir Arne Hjelle Kurs: Computercraft Tema: Tekstbasert, Minecraft Fag: Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregåe skole Introduksjon I denne leksjonen

Detaljer

For å sjekke at Python virker som det skal begynner vi med å lage et kjempeenkelt program. Vi vil bare skrive en enkel hilsen på skjermen.

For å sjekke at Python virker som det skal begynner vi med å lage et kjempeenkelt program. Vi vil bare skrive en enkel hilsen på skjermen. Kuprat Skrevet av: Geir Arne Hjelle Kurs: Python Tema: Tekstbasert Fag: Norsk Klassetrinn: 5.-7. klasse, 8.-10. klasse Introduksjon I dette kurset skal vi introdusere programmeringsspråket Python. Dette

Detaljer

Sprettball Erfaren ComputerCraft PDF

Sprettball Erfaren ComputerCraft PDF Sprettball Erfaren ComputerCraft PDF Introduksjon Nå skal vi lære hvordan vi kan koble en skjerm til datamaskinen. Med en ekstra skjerm kan vi bruke datamaskinen til å kommunisere med verden rundt oss.

Detaljer

JS: Grunnleggende JavaScript Nybegynner

JS: Grunnleggende JavaScript Nybegynner JS: Grunnleggende JavaScript Nybegynner Web Introduksjon I denne oppgaven skal du lære helt enkle og grunnleggende elementer av JavaScript. Du vil lære om variabler, if-setninger, funksjoner og løkker.

Detaljer

Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes canvas. 1 Øving med systemidentifikasjon.

Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes canvas. 1 Øving med systemidentifikasjon. Stavanger, 23. juni 2017 Det teknisknaturvitenskapelige fakultet ELE620 Systemidentifikasjon, 2017. Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes canvas. Innhold

Detaljer

TDT4110 IT Grunnkurs Høst 2014

TDT4110 IT Grunnkurs Høst 2014 TDT4110 IT Grunnkurs Høst 2014 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Auditorieøving 1 Navn: Linje: Brukernavn (blokkbokstaver): Oppgavesettet

Detaljer

Verden. Steg 1: Vinduet. Introduksjon

Verden. Steg 1: Vinduet. Introduksjon Verden Introduksjon Processing Introduksjon Velkommen til verdensspillet! Her skal vi lage begynnelsen av et spill hvor man skal gjette hvilke verdensdeler som er hvor. Så kan du utvide oppgava til å heller

Detaljer

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

Verden. Introduksjon. Skrevet av: Kine Gjerstad Eide og Ruben Gjerstad Eide Verden Skrevet av: Kine Gjerstad Eide og Ruben Gjerstad Eide Kurs: Processing Tema: Tekstbasert Fag: Matematikk, Programmering, Samfunnsfag Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon Velkommen

Detaljer

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

Norgestur. Introduksjon. Steg 1: Et norgeskart. Sjekkliste. Scratch. Skrevet av: Geir Arne Hjelle Scratch Norgestur Skrevet av: Geir Arne Hjelle Kurs: Scratch Språk: Norsk bokmål Introduksjon Bli med på en rundreise i Norge! Vi skal lage et spill hvor du styrer et helikopter rundt omkring et kart over

Detaljer

Steg 1: Katten og fotballbanen

Steg 1: Katten og fotballbanen Straffespark Skrevet av: Erik Kalstad og Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill Fag: Matematikk, Programmering Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon Vi skal

Detaljer

JS: Grunnleggende JavaScript

JS: Grunnleggende JavaScript JS: Grunnleggende JavaScript Skrevet av: Lars Klingenberg Kurs: Web Tema: Tekstbasert, Nettside Fag: Matematikk, Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole Introduksjon

Detaljer

Matematikk Øvingsoppgaver i numerikk leksjon 4 m-ler

Matematikk Øvingsoppgaver i numerikk leksjon 4 m-ler Matematikk 1000 Øvingsoppgaver i numerikk leksjon 4 m-ler I denne øvinga skal vi lære oss å lage m-ler små tekstler som vi bruker i MATLAB-sammenheng. Der nst to typer m-ler: Funksjonsler og skript. Funksjonsler

Detaljer

Straffespark Introduksjon Scratch Lærerveiledning

Straffespark Introduksjon Scratch Lærerveiledning Straffespark Introduksjon Scratch Lærerveiledning Introduksjon Vi skal lage et enkelt fotballspill, hvor du skal prøve å score på så mange straffespark som mulig. Steg 1: Katten og fotballbanen Vi begynner

Detaljer

Robotinvasjon Introduksjon ComputerCraft PDF

Robotinvasjon Introduksjon ComputerCraft PDF Robotinvasjon Introduksjon ComputerCraft PDF Introduksjon Vi har sett enkle datamaskiner. Nå skal vi leke oss med roboter, og finne ut hvordan vi kan få dem til å gjøre forskjellige ting for oss. Steg

Detaljer

TDT4102 Prosedyre og Objektorientert programmering Vår 2015

TDT4102 Prosedyre og Objektorientert programmering Vår 2015 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2015 Øving 3 Frist: 2014-02-07 Mål for denne øvinga:

Detaljer

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

Om du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1. Pingviner på tur Skrevet av: Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill Fag: Programmering Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon Velkommen til Scratch. Vi skal

Detaljer

Dagens tema: 12 gode råd for en kompilatorskriver

Dagens tema: 12 gode råd for en kompilatorskriver Dagens tema: 12 gode råd for en kompilatorskriver Hvordan sjekke navn? Testutskrifter 12 gode råd Hva skal gjøres med navn? Sjekking av navn En kompilator må også sjekke riktig navnebruk: Det må ikke forekomme

Detaljer

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

Kan micro:biten vår brukes som en terning? Ja, det er faktisk ganske enkelt! Microbit PXT: Terning Skrevet av: Geir Arne Hjelle Kurs: Microbit Språk: Norsk bokmål Introduksjon Kan micro:biten vår brukes som en terning? Ja, det er faktisk ganske enkelt! Steg 1: Vi rister løs Vi

Detaljer

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

Hvor i All Verden? Del 1. Introduksjon. Steg 1: Styr et helikopter. Skrevet av: Geir Arne Hjelle Hvor i All Verden? Del 1 Skrevet av: Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill Fag: Matematikk, Programmering, Samfunnsfag Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon

Detaljer

Start et nytt Scratch-prosjekt. Slett kattefiguren, for eksempel ved å høyreklikke på den og velge slett.

Start et nytt Scratch-prosjekt. Slett kattefiguren, for eksempel ved å høyreklikke på den og velge slett. Norgestur Introduksjon Bli med på en rundreise i Norge! Vi skal lage et spill hvor du styrer et helikopter rundt omkring et kart over Norge, mens du prøver å raskest mulig finne steder og byer du blir

Detaljer

Steg 1: Vår første datamaskin

Steg 1: Vår første datamaskin Bli Kjent med Datamaskinen Skrevet av: Geir Arne Hjelle Kurs: Computercraft Tema: Tekstbasert, Minecraft Fag: Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregåe skole Introduksjon

Detaljer

TDT4102 Prosedyre og Objektorientert programmering Vår 2015

TDT4102 Prosedyre og Objektorientert programmering Vår 2015 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2015 Øving 4 Frist: 2014-02-14 Mål for denne øvinga:

Detaljer

Tegneprogram Journeyman Scratch PDF

Tegneprogram Journeyman Scratch PDF Tegneprogram Journeyman Scratch PDF Introduksjon I dette prosjektet lager vi et tegneprogram slik at du etterpå kan lage din egen kunst. Du kan tegne med forskjellige farger, bruke viskelær, lage stempler

Detaljer

Arbeidskrav 1. Se fremdriftsplanen for innleveringsfrist. Emneansvarlig: Olav Dæhli 1

Arbeidskrav 1. Se fremdriftsplanen for innleveringsfrist. Emneansvarlig: Olav Dæhli 1 Arbeidskrav 1 Se fremdriftsplanen for innleveringsfrist Emneansvarlig: Olav Dæhli 1 Skjemaer Løsningen skal inneholde minst 3 skjemaer (Forms) Ett av skjemaene skal være en meny som kan åpne de andre skjemaene

Detaljer

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59

Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59 Oblig 4 (av 4) INF1000, høsten 2012 Værdata, leveres innen 9. nov. kl. 23.59 Formål Formålet med denne oppgaven er å gi trening i hele pensum og i å lage et større program. Løsningen du lager skal være

Detaljer

Hvor i All Verden? Del 3 Erfaren Scratch PDF

Hvor i All Verden? Del 3 Erfaren Scratch PDF Hvor i All Verden? Del 3 Erfaren Scratch PDF Introduksjon Hvor i All Verden? er et reise- og geografispill hvor man raskest mulig skal fly innom reisemål spredt rundt i Europa. Dette er den siste av tre

Detaljer

if-tester Funksjoner, løkker og iftester Løkker og Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS

if-tester Funksjoner, løkker og iftester Løkker og Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS Løkker og if-tester Gløer Olav Langslet Sandvika VGS 29.08.2011 Informasjonsteknologi 2 Funksjoner, løkker og iftester Læreplansmål Eleven skal kunne programmere med enkle og indekserte variabler eller

Detaljer

ToPlayer. Steg 1: Kom i gang med metodene setup og draw. Gjør dette: Introduksjon:

ToPlayer. Steg 1: Kom i gang med metodene setup og draw. Gjør dette: Introduksjon: ToPlayer Introduksjon Processing Introduksjon: Nå skal vi lage et spill som to personer kan spille mot hverandre. Vi har kalt det ToPlayer, men du kan kalle det hva du vil. Målet er å dytte en figur, eller

Detaljer

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

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 Kom i gang med 2 I dette heftet skal vi gjøre oss kjent med micro:bit og lære å programmere med blokk-kode. Heftet inneholder seks ulike prosjektoppgaver med differensiert innhold og tema. 1. Rullende

Detaljer

Hvilken BitBot går raskest gjennom labyrinten?

Hvilken BitBot går raskest gjennom labyrinten? Hvilken BitBot går raskest gjennom labyrinten? I fokusuka i IT skal vi jobbe praktisk, nærmere bestemt ved å bruke naturvitenskaplig metode for å løse en oppgave. Denne metoden er sentral i naturfag og

Detaljer

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

Norgestur. Introduksjon. Steg 1: Et norgeskart. Sjekkliste. Skrevet av: Geir Arne Hjelle Norgestur Skrevet av: Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill Fag: Matematikk, Programmering, Samfunnsfag Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon Bli med på

Detaljer

Del 4 Noen spesielle C-elementer

Del 4 Noen spesielle C-elementer Del 4 Noen spesielle C-elementer 1 RR 2016 Header-filer inneholder Prototypene til funksjonene i standard biblioteket Verdier og definisjoner som disse funksjonene bruker #include #include

Detaljer

Start et nytt Scratch-prosjekt. Slett kattefiguren, for eksempel ved å høyreklikke på den og velge slett.

Start et nytt Scratch-prosjekt. Slett kattefiguren, for eksempel ved å høyreklikke på den og velge slett. Hvor i All Verden? Del 1 Introduksjon Hvor i All Verden? er et reise- og geografispill hvor man raskest mulig skal fly innom reisemål spredt rundt i Europa. I denne første leksjonen vil vi se på hvordan

Detaljer

Skilpaddefraktaler Erfaren Python PDF

Skilpaddefraktaler Erfaren Python PDF Skilpaddefraktaler Erfaren Python PDF Introduksjon Vi vil nå jobbe videre med skilpaddekunsten fra tidligere. Denne gangen skal vi tegne forskjellige figurer som kalles fraktaler. Fraktaler er figurer

Detaljer

Shellscripting I. Innhold

Shellscripting I. Innhold Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Shellscripting I Tor Halsan 19.08.2010 Lærestoffet er utviklet for faget LN199D Scripting av Servere Resymé: Leksjonen er første innføring

Detaljer

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.

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 Processing Introduksjon Lag starten på ditt eget tetris spill! Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å

Detaljer

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

ToPlayer. Introduksjon: Skrevet av: Ruben Gjerstad Eide og Kine Gjerstad Eide ToPlayer Skrevet av: Ruben Gjerstad Eide og Kine Gjerstad Eide Kurs: Processing Tema: Tekstbasert Fag: Matematikk, Programmering Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon: Nå skal vi

Detaljer

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

Kanter, kanter, mange mangekanter. Introduksjon: Steg 1: Enkle firkanter. Sjekkliste. Skrevet av: Sigmund Hansen Kanter, kanter, mange mangekanter Skrevet av: Sigmund Hansen Kurs: Processing Tema: Tekstbasert, Animasjon Fag: Matematikk, Programmering, Kunst og håndverk Klassetrinn: 8.-10. klasse, Videregående skole

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1010 Objektorientert programmering Eksamensdag: 6. juni 2013 Tid for eksamen: 09.00 15.00 Oppgavesettet er på 5 sider. Vedlegg:

Detaljer

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

Her skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den. PXT: Stein, saks, papir Skrevet av: Bjørn Hamre Kurs: Microbit Introduksjon Her skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den. Steg 1: Velge tilfeldig

Detaljer

Arbeidskrav 1. Se fremdriftsplanen for innleveringsfrist. Emneansvarlig: Olav Dæhli 1

Arbeidskrav 1. Se fremdriftsplanen for innleveringsfrist. Emneansvarlig: Olav Dæhli 1 Arbeidskrav 1 Se fremdriftsplanen for innleveringsfrist Emneansvarlig: Olav Dæhli 1 Skjemaer Løsningen skal inneholde minst 3 skjemaer (Forms) Ett av skjemaene skal være en meny som kan åpne de andre skjemaene

Detaljer

Innhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java

Innhold uke 4. INF 1000 høsten 2011 Uke 4: 13. september. Deklarasjon av peker og opprettelse av arrayobjektet. Representasjon av array i Java INF høsten 2 Uke 4: 3. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Mål for uke 4: Innhold uke 4 Repetisjon m/ utvidelser:

Detaljer

Hvordan skrive Flok og Flass kode? I mange tilfelle er det svært enkelt:

Hvordan skrive Flok og Flass kode? I mange tilfelle er det svært enkelt: Hvordan skrive Flok og Flass kode? I mange tilfelle er det svært enkelt: inchar INC inint INI Tegnet eller tallverdien kommer i I registeret. outchar OUTC outint (n) OUTI n outline OLIN I Flink maskinen

Detaljer

Python: Intro til funksjoner. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Python: Intro til funksjoner. TDT4110 IT Grunnkurs Professor Guttorm Sindre Python: Intro til funksjoner TDT4110 IT Grunnkurs Professor Guttorm Sindre Snart referansegruppemøte Viktig mulighet for å gi tilbakemelding på emnet Pensumbøker Forelesninger Øvingsforelesninger Veiledning

Detaljer

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

Tetris. Introduksjon. Skrevet av: Kine Gjerstad Eide. Lag starten på ditt eget tetris spill! Tetris Skrevet av: Kine Gjerstad Eide Kurs: Processing Introduksjon Lag starten på ditt eget tetris spill! Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett

Detaljer

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

Hvor i All Verden? Del 2. Introduksjon. Steg 0: Forrige gang. Skrevet av: Geir Arne Hjelle Hvor i All Verden? Del 2 Skrevet av: Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill Fag: Matematikk, Programmering, Samfunnsfag Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon

Detaljer

Kodetime for Nordstrand barneskole

Kodetime for Nordstrand barneskole Kodetime for Nordstrand barneskole av Veronika Heimsbakk og Lars Erik Realfsen 1 Hva er Processing? Processing er et programmeringsspråk som er gratis, og tilgjengelig for alle! Man kan programmere i Processing

Detaljer

Pong. Oversikt over prosjektet. Steg 1: En sprettende ball. Plan. Sjekkliste. Introduksjon

Pong. Oversikt over prosjektet. Steg 1: En sprettende ball. Plan. Sjekkliste. Introduksjon Pong Introduksjon Pong er et av de aller første dataspillene som ble laget, og det første dataspillet som ble en kommersiell suksess. Selve spillet er en forenklet variant av tennis hvor to spillere slår

Detaljer

TDT4102 Prosedyreog objektorientert programmering Vår 2016

TDT4102 Prosedyreog objektorientert programmering Vår 2016 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyreog objektorientert programmering Vår 2016 Øving 4 Frist: 2016-02-12 Mål for denne øvingen:

Detaljer

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

Hvor i All Verden? Del 3. Introduksjon. Steg 0: Forrige gang. Sjekkliste. Skrevet av: Geir Arne Hjelle Hvor i All Verden? Del 3 Skrevet av: Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill Fag: Matematikk, Programmering, Samfunnsfag Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon

Detaljer

ELE610 Prosjekter i robotteknikk, vår 2017.

ELE610 Prosjekter i robotteknikk, vår 2017. Stavanger, 23. januar 2017 Det teknisknaturvitenskapelige fakultet ELE610 Prosjekter i robotteknikk, vår 2017. Bildefangst-del, oppgave 2. Hensikten med denne øvingen er å kunne bruke et ueye XS kamera

Detaljer

Forberedelser: Last ned bildefiler

Forberedelser: Last ned bildefiler Tegneprogram Skrevet av: Oversatt fra Code Club UK (//codeclub.org.uk) Oversatt av: Helge Astad og Anne-Marit Gravem Kurs: Scratch Tema: Blokkbasert Fag: Matematikk, Programmering, Kunst og håndverk Klassetrinn:

Detaljer

Steg 1: Hvordan styre figurer med piltastene

Steg 1: Hvordan styre figurer med piltastene Labyrint Skrevet av: Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill Fag: Programmering Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon I dette spillet vil vi kontrollere en

Detaljer

Dagens tema: 12 gode råd for en kompilatorskriver. Sjekking av navn. Lagring av navn. Hvordan finne et navn?

Dagens tema: 12 gode råd for en kompilatorskriver. Sjekking av navn. Lagring av navn. Hvordan finne et navn? Dagens tema: 12 gode råd for en kompilatorskriver Hva skal gjøres med navn? Sjekking av navn Hvordan sjekke navn? Testutskrifter 12 gode råd En kompilator må også sjekke riktig navnebruk: Det må ikke forekomme

Detaljer

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

Soloball. Introduksjon. Steg 1: En roterende katt. Sjekkliste. Skrevet av: Geir Arne Hjelle Soloball Skrevet av: Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill Fag: Matematikk, Programmering Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon Vi skal nå lære hvordan vi

Detaljer

Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell' og det andre er for å skrive kode i.

Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell' og det andre er for å skrive kode i. Skilpaddeskolen Skrevet av: Oversatt fra Code Club UK (//codeclub.org.uk) Oversatt av: Bjørn Einar Bjartnes Kurs: Python Tema: Tekstbasert Fag: Programmering, Kunst og håndverk Klassetrinn: 8.-10. klasse

Detaljer

3. Introduksjon til prosjektet Hringr. Scratch fra scratch Enkel programmering for nybegynnere

3. Introduksjon til prosjektet Hringr. Scratch fra scratch Enkel programmering for nybegynnere 3. Introduksjon til prosjektet Hringr 29 Sammenlikninger hvis og hvis-ellers Vi mennesker bruker sammenlikninger hundrevis av ganger hver eneste dag. Når vi utfører oppgaver, når vi tenker og når vi jobber.

Detaljer

Oppgave 1 - Linux kommandolinje (%)

Oppgave 1 - Linux kommandolinje (%) Løsningsforslag Eksamen høst 2017 Operativsystemer Oppgave 1 - Linux kommandolinje (%) a) pwd b) ps Oppgave 2 - Bash-scripting (%) a) ping -i 5 www.hin.no b) ping -c 1 www.hin.no ping -c 1 -t 1 www.hin.no

Detaljer

Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes It s learning. med Kalman-filter og RLS.

Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes It s learning. med Kalman-filter og RLS. Stavanger, 9. august 2016 Det teknisknaturvitenskapelige fakultet ELE620 Systemidentifikasjon, 2016. Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes It s learning.

Detaljer

Øvingsforelesning 1 Python (TDT4110)

Øvingsforelesning 1 Python (TDT4110) Øvingsforelesning 1 Python (TDT4110) Introduksjon, Kalkulasjoner Ole-Magnus Pedersen Oversikt Praktisk Info Repetisjon fra sist Oppgaver for øving 2 2 Praktisk Info Last opp øvinger på Blackboard før godkjenning

Detaljer

Hvor i All Verden? Del 2 Erfaren Scratch PDF

Hvor i All Verden? Del 2 Erfaren Scratch PDF Hvor i All Verden? Del 2 Erfaren Scratch PDF Introduksjon Hvor i All Verden? er et reise- og geografispill hvor man raskest mulig skal fly innom reisemål spredt rundt i Europa. Dette er den andre leksjonen

Detaljer

Steg 1: Lag bakken og få den til følge med

Steg 1: Lag bakken og få den til følge med 3D-flakser, del 2 Skrevet av: Gudbrand Tandberg og Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill, Animasjon Fag: Matematikk, Naturfag, Kunst og håndverk Klassetrinn: 5.-7. klasse, 8.-10. klasse

Detaljer

Klask-en-Muldvarp. Introduksjon. Skrevet av: Basert på MITs "MoleMash for App Inventor 2"-guide (

Klask-en-Muldvarp. Introduksjon. Skrevet av: Basert på MITs MoleMash for App Inventor 2-guide ( Klask-en-Muldvarp Skrevet av: Basert på MITs "MoleMash for App Inventor 2"-guide (http://appinventor.mit.edu/explore/ai2/molemash.html) Oversatt av: Hanne Johnsen Kurs: Appinventor Tema: App, Blokkbasert

Detaljer

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Plenumsregning 1: Kapittel 1 Mathias Barra Matematisk institutt, Universitetet i Oslo 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 MAT1030 Diskret Matematikk

Detaljer

Programmeringsspråket C Del 3

Programmeringsspråket C Del 3 Programmeringsspråket C Del 3 Kjell Åge Bringsrud E-mail: kjellb@ifi.uio.no Dynamisk allokering Ofte trenger man å opprette objekter under kjøringen i tillegg til variablene. Standardfunksjonen malloc

Detaljer

Programmeringsspråket C Del 3

Programmeringsspråket C Del 3 Programmeringsspråket C Del 3 Michael Welzl E-mail: michawe@ifi.uio.no 8/25/10 inf1060 1 Dynamisk allokering Ofte trenger man å opprette objekter under kjøringen i tillegg til variablene. Standardfunksjonen

Detaljer

Velkommen til INF2100

Velkommen til INF2100 Kursopplegg Velkommen til INF2100 Jeg er Dag Langmyhr (dag@ifi.uio.no). Dagens tema: Hva går kurset ut på? Bakgrunn for kurset Hvordan gjennomføres kurset? Hvordan får man det godkjent? Pause (med registrering

Detaljer

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000 Leveringsfrist Oppgaven må leveres senest fredag 30. september kl 16.00. Viktig: les slutten av oppgaven for detaljerte leveringskrav. Formål Formålet

Detaljer

Vi skal nå programmere et romskip som flyr rundt på skjermen. For å ha kontroll på bevegelsen vil vi bruke to variable, fartx og

Vi skal nå programmere et romskip som flyr rundt på skjermen. For å ha kontroll på bevegelsen vil vi bruke to variable, fartx og Lunar Lander Ekspert Scratch PDF Introduksjon Lunar Lander ble opprinnelig utviklet på slutten av 1970-tallet. Målet med spillet er å lande et romskip på månen. Selve kontrollen av romskipet ble videreført

Detaljer

Brukerveiledning For Installasjon Av PCKasse. v1.01

Brukerveiledning For Installasjon Av PCKasse. v1.01 Brukerveiledning For Installasjon Av PCKasse v1.01 Installasjonsveiledning Innholdsfortegnelse 1 Innledning...2 1.1 Introduksjon...2 1.2 Hvordan PCKasse virker...2 2 Skritt for skritt forklaring:...3

Detaljer

Mattespill Nybegynner Python PDF

Mattespill Nybegynner Python PDF Mattespill Nybegynner Python PDF Introduksjon I denne leksjonen vil vi se litt nærmere på hvordan Python jobber med tall, og vi vil lage et enkelt mattespill. Vi vil også se hvordan vi kan gjøre ting tilfeldige.

Detaljer

Velkomment til å installere BAS21

Velkomment til å installere BAS21 Velkomment til å installere BAS21 Du har nå kommet til siden hvor du kan installere programpakken BAS21, en komplett programpakke for bedrifter. Å komme igang med BAS21 er enklest ved å følge disse 4 punktene:

Detaljer

Kom i gang med micro:bit

Kom i gang med micro:bit Kom i gang med micro:bit Kenneth Fossland, Brundalen skole 2019 Bilde: flickr.com makecode.microbit.org https://docs.google.com/document/d/1rjglb2tczwjhzcrklfyxhhn6vguuj-1jdt9ivuvbpu0/edit#heading=h.7s5hifmcog5y

Detaljer

Hangman. Level. Introduksjon

Hangman. Level. Introduksjon Level 2 Hangman All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your club. Introduksjon

Detaljer

Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre Python: Løkker TDT4110 IT Grunnkurs Professor Guttorm Sindre Denne uka Vi trenger å Støttes av Hente data fra bruker Vise data til bruker Lagre data i minnet for bruk videre i programmet Fra tastatur:

Detaljer

Bakgrunnen for INF2100. Velkommen til INF2100. Prosjektet. Hva gjør en kompilator?

Bakgrunnen for INF2100. Velkommen til INF2100. Prosjektet. Hva gjør en kompilator? Kursopplegg Velkommen til INF2100 Bakgrunnen Bakgrunnen for INF2100 Jeg er Dag Langmyhr (dag@ifi.uio.no). Dagens tema: Hva går kurset ut på? Bakgrunn for kurset Hvordan gjennomføres kurset? Hvordan får

Detaljer

Administrasjon av FLT-Sunnhordland Web-side

Administrasjon av FLT-Sunnhordland Web-side Administrasjon av FLT-Sunnhordland Web-side 1. For å administrere web-sida, gå til denne linken: http://flt-sunnhordland.no/wp-admin 2. Logg inn med brukernavn: avd107 passord: 3. Etter

Detaljer

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

PXT: Det regner mat! Introduksjon. Steg 1: Grunnlag. Sjekkliste. Skrevet av: Helene Isnes PXT: Det regner mat! Skrevet av: Helene Isnes Kurs: Microbit Tema: Elektronikk, Blokkbasert, Spill Fag: Matematikk, Programmering Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole Introduksjon

Detaljer

Snurrige figurer. Steg 1: En snurrig figur. Sjekkliste. Introduksjon

Snurrige figurer. Steg 1: En snurrig figur. Sjekkliste. Introduksjon Snurrige figurer Nybegynner Scratch Introduksjon Det er ganske enkelt å lage interessante animasjoner i Scratch. Her skal vi se hvordan vi kan flytte og snurre på figurer for å skape spennende mønstre.

Detaljer

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

PXT: Himmelfall. Introduksjon. Skrevet av: Helene Isnes og Julie Revdahl PXT: Himmelfall Skrevet av: Helene Isnes og Julie Revdahl Kurs: Microbit Tema: Elektronikk, Blokkbasert, Spill Fag: Programmering, Matematikk Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole

Detaljer

Mamut Enterprise Travel CRM

Mamut Enterprise Travel CRM Mamut Enterprise Travel CRM Tilleggsproduktet Mamut Enterprise Travel CRM gir deg muligheten til å ta med deg arbeidet på en bærbar datamaskin ut av kontoret. Du arbeider da på en kopi av den sentrale

Detaljer

Teknologi og Forskningslære

Teknologi og Forskningslære Teknologi og Forskningslære Besøk ved Universitetet i Agder Campus Grimstad Mekatronikk Lab D2 024 1. Desember 2015 KKG Teknologi og Forskningslære, 2015. Side: 1 Faglærer KKG: Jan Erik Berg UiA: Geir

Detaljer

Hendelser Apprentice ComputerCraft PDF

Hendelser Apprentice ComputerCraft PDF Helser Apprentice ComputerCraft PDF Introduksjon I denne leksjonen skal vi se nærmere på hvordan datamaskinene bruker såkalte helser for å reagere på ting som tastetrykk, museklikk og så videre. Etterhvert

Detaljer

Verden - Del 2. Steg 0: Oppsummering fra introduksjonsoppgaven. Intro

Verden - Del 2. Steg 0: Oppsummering fra introduksjonsoppgaven. Intro Verden - Del 2 Nybegynner Processing Intro Denne oppgaven bygger på oppgaven med samme navn som ligger på introduksjonsnivå her i Processingoppgavene. Klikk her for å gå til introduksjonsoppgaven av verden.

Detaljer

INF1000 (Uke 5) Mer om løkker, arrayer og metoder

INF1000 (Uke 5) Mer om løkker, arrayer og metoder INF1000 (Uke 5) Mer om løkker, arrayer og metoder Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Anja Bråthen Kristoffersen og Are Magnus Bruaset Praktisk informasjon Når disse

Detaljer

Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes canvas.

Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes canvas. Stavanger, 26. juni 2017 Det teknisknaturvitenskapelige fakultet ELE620 Systemidentifikasjon, 2017. Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes canvas. Innhold

Detaljer

Forum for Automatisk Produksjon 28. 29. august, Aalesund

Forum for Automatisk Produksjon 28. 29. august, Aalesund Forum for Automatisk Produksjon 28. 29. august, Aalesund NFA Forum for Automatisk Produksjon August 2013. Page: 1 CAD basert programmering og fresing av komplekse former med industrirobot EU prosjektet

Detaljer

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

VMware Horizon View Client. Brukerveiledning for nedlasting, installasjon og pålogging for fjerntilgang VMware Horizon View Client Brukerveiledning for nedlasting, installasjon og pålogging for fjerntilgang Introduksjon Fjerntilgang er blitt oppgradert til en bedre og mer moderne løsning. Programmet er identisk

Detaljer

TDT4102 Prosedyreog objektorientert programmering Vår 2016

TDT4102 Prosedyreog objektorientert programmering Vår 2016 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyreog objektorientert programmering Vår 2016 Øving 5 Frist: 2016-02-19 Mål for denne øvingen:

Detaljer

GC4AXWG [WHERE DO YOU WANT TO GO TODAY?] av thomfre. En introduksjon til Wherigo og Wherigo-cacher

GC4AXWG [WHERE DO YOU WANT TO GO TODAY?] av thomfre. En introduksjon til Wherigo og Wherigo-cacher GC4AXWG av thomfre [WHERE DO YOU WANT TO GO TODAY?] En introduksjon til Wherigo og Wherigo-cacher [EN INTRODUKSJON TIL WHERIGO].--.....-... --. --- Innholdsfortegnelse Hva er Wherigo?... 2 Wherigo-moduler...

Detaljer

Metoder med parametre, løkker og arrayer

Metoder med parametre, løkker og arrayer Metoder med parametre, løkker og arrayer Løse problemer med programmering INF1000, uke3 Ragnhild Kobro Runde METODER MED PARAMETRE Statiske void-metoder med parametre Den typen metoder vi så på forrige

Detaljer

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre,

TDT4105 Informasjonsteknologi, grunnkurs. Introduksjon til programmering i Matlab. Rune Sætre / Anders Christensen {satre, 1 TDT4105 Informasjonsteknologi, grunnkurs Introduksjon til programmering i Matlab Rune Sætre / Anders Christensen {satre, anders}@idi.ntnu.no 2 Frist for øving 1: Fredag 16. Sept. Noen oppstartsproblemer

Detaljer