Laboration - Programmering av LEGO Mindstorm robot



Relevanta dokument
Programmering av LEGO NXT Robot

Lego Mindstormprogrammering

Programmering av NXT Lego- robot Labbrapport för programmering av en Lego- robot

Programmera Lego Mindstormsrobotar

NXT LEGO-robot laboration Programmering och felsökning av en LEGOrobot

LEGO NXT Robotprogrammering

Labbrapport - LEGO NXT Robot

LEGO Mindstorm-robot

Laborationsrapport av robotprogrammering

Introduktion i programmering med språket NXC

Felsökande av en Lego Mindstorm robot

Laboration i datateknik

Kevin Lane Kungliga Tekniska Högskolan Introduktionskurs i Datateknik (II1310) TIEDB0. [NXT Legorobot] [Programmering och felsökning]

Labbrapport. Introduktionskurs i datateknik (II1310) Stefan Dalarsson,

KUNG. TEKNISKA HÖGSKOLAN. Laboration. Programmering av LEGO-robot

KUNGLIGA TEKNISKA HÖGSKOLAN. Linefollower. Med LEGO Mindstorms och NXC. Paul Coada Introduktion i datateknik II1310

Programmering av en Lego robot

Felsökning av mjukvara

PROGRAMMERING AV LEGO-ROBOT VIA NXC

Laboration i datateknik

Programmering av LEGO NXT robot Laborationsrapport för programering av robot för att följa svartmarkerad linje på maken

[Introduktion till programmering ]

KUNGLIGA TEKNISKA HÖGSKOLAN KISTA. Lego Linefollower. Få en robot att följa linjen på golvet!

Programmering av LEGO NXT Robot

Labrapport: Programmering i NXC Programmera LEGO Maindstorm med NXC

Simon Johansson Introduktionskurs Datateknik 1310

Robotar i NXc. En laboration med Mindstormrobotar. Sammanfattning KUNGLIGA TEKNISKA HÖGSKOLAN

PROGRAMMERING I NXC. Sammanfattning KUNGLIGA TEKNISKA HÖGSKOLAN

[Introduktionskurs i Datateknik]

KUNGLIGA TEKNISKA HÖGSKOLAN. Laboration II1310. Programmera Lego Mindstorm robot i NXC

Peter Ottosson 31/ Introduktionskurs i datateknik II1310

Labbrapport LEGO-robot linefollower

Praktisk programmering

Simon Boström Introduktionskurs i Datateknik

Programmera en NXT Robot

LEGO Robot programmering och felsökning Hur svårt ska det vara att följa den svarta linjen?

Programmering med NXC Lego Mindstorm

Programmeringslaboration med LEGOrobot

Programmera LEGO NXT

Robotprogrammering felsökning & analys.

Introduktion till programmering med hjälp av Lego Mindstorm

Laborationer i SME094 Informationsteknologi I för

Programmering. Analogt och med smårobotar. Nina Bergin

Om NXTprogrammering. Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT?

Programmeringspalett. Pr o gr a mvar a

INNEHÅLLSFÖRTECKNING... 2 FÖRORD... 3 INLEDNING... 4 ATT ANVÄNDA MOTORERNA... 9 LOOP (UPPREPANDE) FUNKTIONEN SKAPA EN EGEN KLOSS...

Roboten. Sida 1 av 11

1. Vi satte ut ett körblock med standardinställningar 2. Ett till körblock sattes men varaktighet en ställdes istället på 3,55 rotationer (se bild)

Undersök vad som är programmerat. Lektionen handlar om den digitala tekniken i elevernas närmiljö. Undersök vad som är programmerat

Digitalt lärande och programmering i klassrummet

Edison roboten som går at bygga ihop med LEGO

Programmeringsappar. Av Alex

Strukturerad problemlösning. Metoder och verktyg för datavetare Ht09

Programmering. Den första datorn hette ENIAC.

Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell

Legorobot. Lär dig programmera en legorobot. Teknikåttan Ola Ringdahl Lena Kallin Westin

Programmering, dans och loopar

Digitalt lärande och programmering i klassrummet

EV3 Roboten. Sida 1 av 13

Konstruera, styra, reglera och programmera en röd tråd F-9

Ha rätt sorts belöning. Åtta tips för bästa sätt hur du tränar din hund. Grunden till all träning:

Miljö och hållbar utveckling MHU

2. Sätt in fyra AAA-batterier. Titta på bilden för att se hur de ska sitta. Se till att stänga batteriluckan

Kojo med Inga Ingenjör. Lär dig programmera Nybörjaruppdrag

Hur fungerar en dator? Lektionen handlar om att förstå hur datorer styrs av program. Hur fungerar en dator? Lektionsförfattare: Boel Nygren

Den är en maskin, jag är en människa. Den ska göra som jag vill!! Nils

Undersök vad som är programmerat

LPP Programmering. Syfte, övergripande mål Lära känna och kunna utföra enkla programmeringar i Scratch samt Lego Mindstorms.

ENKEL Programmering 3

LabVIEW uppgift 4. Erik Andersson och Johan Schött. 22 februari 2010

COGNIsoft-I Hemmaträning

Objektorienterad Programmering (TDDC77)

Lektion 1: Möt Robo! Områden: Robotteknik, ingenjörsteknik mekanisk design

Lego Robot [ ] [ ] [ ]

Grundkurs i programmering - intro

Snabbinstallationsguide för anslutningskabel CA-42

De inspirerar femmor med IT-kunskap

Working with parents. Models for activities in science centres and museums

Dagbok KFUM CHALLENGERS

Hur fungerar en dator?

Planering Programmering grundkurs HI1024 HT data

Lab1 inginfo07. Detta dokument innehåller övningar för introduktion till Media-programmets datorsystem (Mac OS X).

Lär känna Edison. Det här är Edison, den programmeringsbara roboten.

Uppdrag för LEGO projektet Hitta en vattensamling på Mars

PlantPuppy Räddaren för den som inte kan hålla växterna vid liv

Programmering och begrepp

Realtidssystem HT03. Vad är realtidssystem? Inbyggda system. Att programmera, Tasks (Uppgifter) Realtidssystem kräver analys

FIRST LEGO League. Göteborg 2012

GRUNDKURS I C-PROGRAMMERING

Programmera en mänsklig robot. Lektionen handlar om att skapa och följa instruktioner. Programmera en mänsklig robot

Kom igång med Skype (PC)

3. Välj den sprajt (bild) ni vill ha som fallande objekt, t ex en tårta, Cake. Klicka därefter på OK.

Game of 40. Regler och om sidan är in princip samma sak. Det som skiljer dem åt är att de inte har samma text.

HF0010. Introduktionskurs i datateknik 1,5 hp

Snake. Digitala Projekt (EITF11) Fredrik Jansson, I-12 Lunds Tekniska Högskola,

En resa genom robotarnas värld!

Föreläsning 1: Introduktion till kursen

Extramaterial till Matematik Y

Kojo med Inga Ingenjör

Robotfotboll med Arduino

Transkript:

Laboration - Programmering av LEGO Mindstorm robot Ayumi Sjöbergh Miyake 1 september 2012 miyake@kth.se II1310 Introduktionskurs i datateknik 1

Sammanfattning Laborationen gick ut på att hitta och rätta ett antal fel i ett program till en LEGO Mindstorm robot. Det var ett bra sätt att prova på att programmera och att lära sig leta efter fel. Man fick lära sig att samarbeta genom att diskutera sina idéer med varandra och sedan enkelt kunna testa och se vad som händer när man ändrar i programmet. Innehåll 1 Inledning 2 1.1 Bakgrund.................................... 2 1.2 Syfte och målsättning............................. 2 2 Genomförande 3 3 Resultat 4 4 Analys 4 5 Diskussion 5 6 Referenser 5 7 Bilagor 5 1 Inledning Den här rapporten beskriver en laboration som är en introduktion till programmering för nya studenter på KTH. 1.1 Bakgrund Den här laborationen är en liten introduktion för oss som studerar och i framtiden ska jobba med datorer. 1.2 Syfte och målsättning Man ska på ett ganska lätt och roligt sätt få en introduktion till programmering. Man ska också få känna på KTHs datorsystem. Det ska ge en bra träning i att förstå hur programkod fungerar och hur man kan arbeta tillsammans för att lösa problem och hitta fel. Målet med den här laborationen är ändra i ett färdigt program skrivet i NXC så att det fungerar som det ska och en LEGO robot gör som den ska. 2

2 Genomförande Först läste vi igenom Labb-PM för att fundera på hur vi kunde förbereda oss till den här laborationen. För att programmera LEGO roboten laddade vi ned och installerade BricxCC. På egen hand läste vi igenom koden och läste om hur NXC fungerar. På labbtillfället började vi med att försöka koppla in roboten till datorn. Men den första timmen hade vi problem eftersom drivrutinerna inte fungerade på Mac och Windows 7 Starter men det löste sig när vi fick låna en annan dator. När det fungerade testade vi att köra programmet på roboten. Sedan diskuterade vi tillsammans vad som kunde vara fel. Vi provade att rätta det vi hade hittat och testade igen på roboten. Det gjorde vi ett antal gånger tills allt fungerade som det skulle. Det svåraste var att hitta hur vi skulle få roboten att svänga på rätt sätt när den följde linjen. Även när vi löst det gick det inte bra förrän vi sänkte hastigheten. Sedan gick det bra och roboten gjorde rätt. 3

3 Resultat Radnummer Ny kod Kommentar 2 #define SpeedSlow 30 Sänkte hastigheten för att kunna hitta och följa linjen. 3 #define SpeedFast 50 (Se ovan) 35 "Ayumi", Ändrade namn till mitt namn och lade till komma. 36 "Mikael" Lade till min labbpartners namn. 45 TextOut(0, (LCD_LINE2 - (8*i)), names[i]); Tog bort -16 eftersom texten hamnade ovanför skärmen. 68 lightintensity = SensorRaw(IN_3); Ändrade från sensor 1 till sensor 3 eftersom sensor 1 är en trycksensor och sensor 3 är ljussensorn. 82 if(lightintensity > TopThreshold) Bytte < till > eftersom när roboten är av linjen måste motor A vara långsam och motor B vara snabb så att roboten svänger till höger. 86 OnFwd(OUT_A, SpeedFast); (Se ovan) 88 if(lightintensity < BotThreshold) Bytte > till < eftersom när roboten är på linjen måste motor A vara snabb och motor B vara långsam så att roboten svänger till vänster. 90 OnFwd(OUT_B, SpeedSlow); (Se ovan) 114 //dance(); Kommenterade bort dance(); eftersom roboten inte hittade linjen. 4 Analys Det var tråkigt att det var så svårt att få programmet att fungera på våra datorer. Men när vi kunde börja testa så gick själva laborationen bra. Villkoren i funktionen followline var viktiga för att styra roboten som vi önskade. Om villkoren är fel åker roboten inte alls som den ska. Det var också viktigt att ändra konstanterna som bestämde hastigheten. Annars körde roboten för fort och hann inte hitta linjen innan den kört förbi. 4

5 Diskussion Laborationen var en bra introduktion eftersom man fick testa på att använda KTHs datorsystem. Det var roligt att känna på hur det är att programmera. Att lära sig leta efter fel på ett noggrant sätt kommer att vara användbart både som student och som ingenjör. NXC var bra som introduktion och det var inte svårt att förstå även om man inte hade programmerat tidigare. Det var kul att se hur roboten gjorde precis som man sagt även om det var helt fel. Det fungerade bra att jobba tillsammans eftersom man kunde diskutera sina egna idéer först och sedan testa och se vem som hade rätt eller fel. 6 Referenser Kurs-PM: https://bilda.kth.se/courseid/8498/content.do?id=19150198 Rapportmall: https://bilda.kth.se/node.do?id=19392435 linefollower.nxc: https://bilda.kth.se/node.do?id=19406742 Programming LEGO NXT Robots using NXC.pdf: https://bilda.kth.se/node.do?id=19150204 7 Bilagor Figur 1: Dagboksinlägg på KTH social 5