KUNGLIGA TEKNISKA HÖGSKOLAN. Linefollower. Med LEGO Mindstorms och NXC. Paul Coada 2012-08-29 coada@kth.se Introduktion i datateknik II1310



Relevanta dokument
Peter Ottosson 31/ Introduktionskurs i datateknik II1310

Programmera Lego Mindstormsrobotar

LEGO NXT Robotprogrammering

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

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

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

Felsökning av mjukvara

Laboration i datateknik

LEGO Mindstorm-robot

Programmering av en Lego robot

Laboration - Programmering av LEGO Mindstorm robot

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

Laborationsrapport av robotprogrammering

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

Programmering av LEGO NXT Robot

Programmera LEGO NXT

PROGRAMMERING AV LEGO-ROBOT VIA NXC

PROGRAMMERING I NXC. Sammanfattning KUNGLIGA TEKNISKA HÖGSKOLAN

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

Felsökande av en Lego Mindstorm robot

Programmera en NXT Robot

Laboration i datateknik

Lego Mindstormprogrammering

Programmering med NXC Lego Mindstorm

Labbrapport - LEGO NXT Robot

Introduktion i programmering med språket NXC

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

Labbrapport LEGO-robot linefollower

Introduktion till programmering med hjälp av Lego Mindstorm

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

Labrapport: Programmering i NXC Programmera LEGO Maindstorm med NXC

Simon Boström Introduktionskurs i Datateknik

Praktisk programmering

[Introduktion till programmering ]

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

Simon Johansson Introduktionskurs Datateknik 1310

Robotprogrammering felsökning & analys.

Programmeringslaboration med LEGOrobot

[Introduktionskurs i Datateknik]

Programmering av LEGO NXT Robot

Labbrapport. Introduktionskurs i datateknik (II1310) Stefan Dalarsson,

Digitalt lärande och programmering i klassrummet. Introduktionsworkshop - Bygg ett akvarium i Scratch

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

Olika lärostilar... Länder... (Vi har tyvärr bara fått med tre länder då vi inte har haft så många som forskat varje gång)

Laborationer i SME094 Informationsteknologi I för

DAGBOK HB ADVENTURE TEAM. Vårat lag: Jinci, Ida, Jennifer, Felicia Lagledare: Hans

Datorsystem Laboration 2: Minnesmappade bussar

Utvecklar sin förmåga att bygga, skapa och konstruera med hjälp av olika tekniker, material och redskap - Naturvetenskap och teknik, Förskola

Programmering av stegmotorer ett miniprojekt i samarbete med Svensk Maskinprovning

LEGO MINDSTORMS Education EV3

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet

Miljö och hållbar utveckling MHU

1. Att lyssna 1. Titta på den som talar. 2. Tänk på vad som sagts. 3. Vänta på min tur att prata. 4. Säg det jag vill säga. 1.

Instruktion för att slutföra registreringen

Föreläsning 3.1: Datastrukturer, en översikt

Editering, Kompilering och Exekvering av Javaprogram

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

Digitalt lärande och programmering i klassrummet

GIT L0002B INTRODUKTION TILL PROGRAMMERING OCH C# Information inför kursstart

Evaluation Summary - CD5570 DoA, distans VT 2004 Dan Levin

Tentamen IE1204 Digital design

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

1DV433 HT13. I vilken utsträckning har kursens innehåll och uppläggning gett förutsättningar för att du ska ha uppnått respektive lärandemål?

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

Samuel Sköldén Sanna Stadig Samantha Berglind Anna-Sofia Pehrson Seminariegrupp B1 VT-03

Roboten. Sida 1 av 11

Torun Berlind Elin Önstorp Sandra Gustavsson Klas Nordberg. Föreläsningar Lektioner Laborationer Projekt

Östbergsskolans loggbok!

Instruktioner för dig som ska söka till Mattekollo 2016

Enkel rak plastplog. Fäst med eltejp som ovan eller på annat sätt. Såga till plogen eller skär ut den med mattkniv

Resultat av kursvärdering

Kursplan. Ämnesövergripande

Kursutvärdering Ämne: SO Lärare: Esa Seppälä/Cecilia Enoksson Läsåret Klass: SPR2

FIRST LEGO League. Eskilstuna 2012

Att använda Stava Rex i Word 2007

HF0010. Introduktionskurs i datateknik 1,5 hp

Kursutvärdering. Samhällskunskap A

Energieffek)visering i byggnader teknik och system

Nallelek Lärarvägledning

Språkäventyret. Mål. Verktyg. Inledande arbete

KULTURSKOLAN VT Glädje & gemenskap. Kunskap & kreativitet. Upplevelse & livslångt lärande. BARN- OCH UTBILDNINGSFÖRVALTNINGEN

FIRST LEGO League. Härnösand 2012

Så, med nytt (inget) hår satte jag mig på planet till Irland och Dublin!

THSP41 - Teknisk kommunikation på spanska II - del 1

Edison roboten som går at bygga ihop med LEGO

Illustrationer: Hugo Karlsson, Ateljé Inuti Projektledare: Elinor Brunnberg. Mälardalens högskola Text: Kim Talman, Jeanette Åkerström Kördel, Elinor

3 augusti (G) Programmering: Lego

Att använda pekare i. C-kod

Lego Robot [ ] [ ] [ ]

Motivering och kommentarer till enkätfrågor

Makerspace i Jönköpings län

FIRST LEGO League. Stockholm

Alla får ligga. strategier i förförelsekonst för den moderna gentlemannen och kvinnan

Att bekanta dig med NetBeans programmeringsmiljö och skriva några enkla program med programmeringsspråket Java.

EV3 Roboten. Sida 1 av 13

Programmera i teknik - kreativa projekt med Arduino

Grunderna i stegkodsprogrammering

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

RAPPORT: ATT UPPLEVA EN UTSTÄLLNING HELT I LJUD. FÖR UTSTÄLLNINGEN VÄRDEFULLT. BAKGRUND..s 2 METOD...s 2 RESULTAT...s 3 9 ANALYS AV WORKSHOP...

Den här texten ska förhoppningsvis underlätta en del av anpassningarna. Det kan säkert finnas en del fel och annat tok.

Transkript:

KUNGLIGA TEKNISKA HÖGSKOLAN Linefollower Med LEGO Mindstorms och NXC Paul Coada 2012-08-29 coada@kth.se Introduktion i datateknik II1310 Sammanfattning Rapporten är för labbmomentet som utförs i introduktionskursen i datateknik. Laborationen är till för att man som ny på KTH ska få lära sig lite programmering på ett roligt sätt och veta hur man ska skriva en rapport efteråt. Under själva laborationen fick vi en LEGO Mindstormsrobot som innehöll en ljussensor, två trycksensorer och två motorer samt kod till den som innehöll fel. Man skulle rätta till dessa fel för att få roboten att följa en svart linje tills den träffar en vägg och sedan stannar.

Innehållsförteckning 1. Inledning... 3 1.1 Bakgrund... 3 1.2 Syfte och målsättning... 3 2. Genomförande... 3 3. Resultat... 4 4. Analys... 4 5. Diskussion... 4 Referenser... 4 Bilagor... 5 ICT Kungliga Tekniska Högskolan Sida 2 av 5

1. Inledning Laborationen ger en introduktion till att programmera i språket NXC. Genom att jobba i par ska man lösa de fel som finns i den kod man får, för att få programmet att fungera som den ska (och även roboten). 1.1 Bakgrund Laborationen är till för att ge en ny person på KTH och ICT-skolan en anblick i vad man kan förväntas göra. Att anmäla sig till laborationer, programmera, jobba med robotar, jobba i grupp samt att skriva rapporter och publicera dessa är något som ingår i programmet och denna laboration ger en introduktion till det. 1.2 Syfte och målsättning Syftet är att kunna samarbeta med någon annan man kanske inte känner och tillsammans lösa en uppgift. Man måste korrigera en del fel som finns i ett program som styr en linefollower. Målet är att roboten ska följa linjen (som böjer sig mot en vägg) felfritt. När roboten sedan når väggen så ska trycksensorerna signalera detta och roboten ska stanna, spela upp ett litet ljud samt skriva ut på skärmen namnet på de två personer som samarbetar tillsammans. 2. Genomförande Man ska jobba i par, och man får tillgång till en LEGO Mindstormsrobot som består av två motorer, två trycksensorer och en ljussensor. Med hjälp av roboten kan man sedan testa sig fram för att rätta till de problem som finns i koden man får. För att ändra koden (som är skriven i NXC) så använder man sig av ett program vid namn BricxCC. Dessutom behöver man en drivrutin för att kunna överföra koden till roboten, samt en USB sladd. Koden, BricxCC samt drivrutinen gick att hämta från http://bilda.kth.se. Man ska först installera programmet (som endast funkar till PC) och drivrutinen innan man kopplar in roboten. Vi tyckte det var lättast att förstå koden genom att först se vad roboten gjorde, så vi förde över programmet och startade sedan igång roboten. Vi såg att den snurrade runt lite, och sedan började åka snett framåt till höger. Vi kikade därefter koden och såg att i task main() så anropades en funktion dance() som kodade för piruetten. Vi kommenterade bort den delen och testade sedan igen. När den åkte över linjen så reagerade den inte alls utan fortsatte bara snett framåt som innan. Vi kollade igenom koden och såg att den hämtade värdena från IN_1 istället för IN_3 (som var kopplingen till ljussensorn). Vi korrigerade felet och testade igen. Nu reagerade den när den åkte över linjen, men den fortsatte ändå snett åt höger. Vi åtgärdade det genom att ändra i vilken hastighet de olika motorerna skulle åka i när den var på/utanför linjen och testade ett antal gånger tills det fungerade. Den stannade som den skulle när den åkte in i väggen och spelade upp melodin. Däremot skrev den inte ut våra namn på skärmen. Vi kikade lite på koden och såg att den skrev ut namnen på rader som låg högre upp än vad skärmen fick plats med, så vi ändrade koden och det fungerade som det skulle. Vi visade upp roboten samt koden när vi var klara och fick godkänt. ICT Kungliga Tekniska Högskolan Sida 3 av 5

3. Resultat Radnummer Ny kod Kommentar 114 //dance() Kommenterade bort piruetten som roboten gjorde i början. 68 (IN_3) Så den läser av från rätt sensor. 86 SpeedFast 94 SpeedSlow Ändring i motorerna så den följer linjen som den ska. 35 Paul, Erik Vi la till våra namn i arrayen. 45 (8*i) Ändringen så att namnen skrivs ut på rätt rader. 4. Analys Allting gick bra under laborationen. Det som var lite klurigt var att förstå i koden när den var över linjen och när den inte var, samt hur motorerna skulle reagera. Sättet att programmera påminner även om andra liknande mikrokontroller (såsom ATmega som bl.a. används i Arduino) på så sätt att den har egna förinställda funktioner och att den måste ha en loop som hela tiden upprepas. 5. Diskussion Laborationen var rolig, speciellt att få leka med roboten. Däremot kan det ibland vara rätt knepigt eftersom robotar har så många fler faktorer att ta hänsyn till att den kanske inte alltid gör exakt som man tror den ska göra (jämfört med vanlig programmering på datorn). Kursen är mest till för att introducera en ny person och väcka intresse, och det tycker jag laborationen gjorde bra. Dessutom fanns materialet upplagt på nätet så man kunde förbereda sig (och till och med lösa uppgiften) innan man kom till labben, vilket kan vara bra om man är ny till programmering. Referenser II1310 Föreläsning 2 Rapportskrivning och ordbehandling.pdf https://www.kth.se/social/upload/503a5667f276540d2200000a/laborationsrapport.pdf ICT Kungliga Tekniska Högskolan Sida 4 av 5

Bilagor ICT Kungliga Tekniska Högskolan Sida 5 av 5