Programmering av LEGO NXT Robot

Relevanta dokument
Laboration - Programmering av LEGO Mindstorm robot

Programmera Lego Mindstormsrobotar

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

Labbrapport - LEGO NXT Robot

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

Introduktion i programmering med språket NXC

LEGO Mindstorm-robot

Lego Mindstormprogrammering

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

Laboration i datateknik

Labbrapport. Introduktionskurs i datateknik (II1310) Stefan Dalarsson,

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

LEGO NXT Robotprogrammering

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

Simon Boström Introduktionskurs i Datateknik

[Introduktion till programmering ]

Programmering av LEGO NXT Robot

Peter Ottosson 31/ Introduktionskurs i datateknik II1310

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

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

Felsökning av mjukvara

Labbrapport LEGO-robot linefollower

Simon Johansson Introduktionskurs Datateknik 1310

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

PROGRAMMERING AV LEGO-ROBOT VIA NXC

Laborationsrapport av robotprogrammering

Laboration i datateknik

Felsökande av en Lego Mindstorm robot

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

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

[Introduktionskurs i Datateknik]

Praktisk programmering

Programmering av en Lego robot

Labrapport: Programmering i NXC Programmera LEGO Maindstorm med NXC

Introduktion till programmering med hjälp av Lego Mindstorm

Programmering med NXC Lego Mindstorm

Programmera LEGO NXT

Programmera en NXT Robot

Robotprogrammering felsökning & analys.

Programmeringslaboration med LEGOrobot

PROGRAMMERING I NXC. Sammanfattning KUNGLIGA TEKNISKA HÖGSKOLAN

Laborationer i SME094 Informationsteknologi I för

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

EV3 Roboten. Sida 1 av 13

Roboten. Sida 1 av 11

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

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

Lego Robot [ ] [ ] [ ]

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

INNEHÅLLSFÖRTECKNING... 2 FÖRORD... 3 ANVÄNDANDET AV SENSORER... 4

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

Dagbok KFUM CHALLENGERS

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

FIRST LEGO League. Borlänge 2012

Kommentarer och tips från robotanvändare. LEGO WeDo 2.0. Sphero

Edison roboten som går at bygga ihop med LEGO

Miljö och hållbar utveckling MHU

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

En resa genom robotarnas värld!

HÄR går det upp ett ljus!

Programmering. Analogt och med smårobotar. Nina Bergin

Information om utbildningsprogram. Högskoleingenjör Datateknik - TIDAB

Digitalt lärande och programmering i klassrummet

LEGOFOXES 2008 DAGBOK. Sanna Josefsson, Evelina Haraldsson, Ellinor Persson, Erika Åmansson, Emelie Sundqvist Kroon, Maja Oskarsson

De inspirerar femmor med IT-kunskap

Tentamen IE1204 Digital design

Poäng. Start v. Applikationsprogramm ering i Python 7.5. Antal registrerade (män/kvinnor) 50 (34/16)

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

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php

Mjukvaruprojekt Onlinebooks

Kursutvärdering BIMA37 HT14

Loggbok lag 1. Problem/Aktivitet Ansvar Klart Brainstorming av kravspec OS 7/11

Naturvetenskaps- och tekniksatsningen. Arbetsområdet Varuhuset

TDDD63-Perspektiv på datateknik/datavetenskap

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)

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

FIRST LEGO League. Östersund 2012

Teknik Projekt Årskurs 8 Programmering med NXT Lego Robot Vårterminen -15 Katarina Norra skola

Snabbguide för datorstyrning och robotteknik med LEGO MINDSTORMS for Schools

Föreläsning 2. Operativsystem och programmering

En diskursanalytisk studie av programmering som innehåll i grundskolans teknikämne. Eva Björkholm och Susanne Engström, KTH

Programmeringspalett. Pr o gr a mvar a

LEGO MINDSTORMS Education EV3

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

FIRST LEGO League. Stockholm

EdBuild. Bygga kranen EdCrane

Grundkurs i programmering - intro

Programmeringsappar. Av Alex

SLUTRAPPORT RUNE TENNESMED WEBBSHOP

Scanner Detektor lärarhandledning Mojäng

Introduktion till Programmering. Dåtid, nutid och framtid

Bilen som inte kan krocka

Programmera i teknik - kreativa projekt med Arduino

Lektion 1 Arbetsblad 1.1 Möt Edison

Förnyelse och förbättring av II1310, Introduktionskurs i datateknik

Systemskiss. Joachim Lundh TSRT10 - SEGWAY 6 december 2010 Version 1.0. Status:

smaktillsatser (salt/socker etc.) Din sömn kan beskrivas som: God Orolig Vaknade du under natten? Ja Nej Vilken tid/tider? Anledning att du vaknade?

FIRST LEGO League. Borlänge 2012

Filhanterare med AngularJS

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

Transkript:

KTH KISTA Programmering av LEGO NXT Robot Labborations uppgift : Linefollower Christoffer Killander 2012-08-30 ckil@kth.se Datateknik II1310 Sammanfattning Skriv en kort sammanfattning av rapporten här. Generellt har man sammanfattningen på en egen sida, men eftersom den här rapporten är så kort så görs ett undantag.

Innehållsförteckning Sammanfattning... 1 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 och Källor... 5 Bilagor... 5 CINTE KTH KISTA Sida 2 av 5

1. Inledning Laborationens uppgift var att programera en legorobot att följa en svart kurvad linje. Laborationen skulle också ge ett bra tillfälle att öva på parprogramering och rapportskrivning. 1.1 Bakgrund Legoroboten som vi fick var utrustade med programerbara motorer, ljussensor mot underlaget och en trycksensor framåt. Styrning kan uppnås genom att låta roboten avläsa ljussensorn och låta denna information användas av motorstyrningen. Trycksensorn används för att avläsa när man har kommit fram, som var en låda. Både programmering och rapportskrivning kommer att vara en stor del av vårat liv som studenter på ICT-skolan vilket vi kommer att öva på i denna laboration. 1.2 Syfte och målsättning Syftet med uppgiften var att på ett roligt och enkelt sätt introducera parprogrammering. Uppgiften ger även träning i felsökning och testning och är därför en bra grund till att effektivt kunna arbeta med programmering i framtiden. Målet med uppgiften var att få ett färdigt program skrivet i NXC att fungera och med den koden få en Legorobot att utföra uppgiften. 2. Genomförande Laborationen började med att vi laddade ner linefollower.nxc koden och BrixCC. Sedan så kollade vi igenom koden för att kolla om vi såg några stora fel. Vi hittade inga större fel med koden så vi testade att starta roboten. Vi märkte tre saker: 1. Roboten dansade innan den började leta efter en linje 2. Robotens ljussensor verkade inte reagera 3. Roboten verka dra lite åt höger Vi sökte igenom koden och ändrade så att roboten inte dansade vid början, vi fixade ljussensorn och sänkte robotens hastighet för att säkerställa att ljussensorn reagerade. Vi testade roboten igen och rättade till de fel vi hittade, denna process fortsatte tills roboten fungerade som den skulle. När roboten var godkänd så skrev vi var sitt inlägg på KTHs dagbok. CINTE KTH KISTA Sida 3 av 5

3. Resultat Följande ändringar utfördes i våran kod. Radnummer Gammal Kod Ny kod Kommentar 35 "person1" "Oskar Söderbärg", "Christoffer Killander" 45 TextOut(0, (LCD_LINE2 - (8*i-16)), names[i]); 68 lightintensity = SensorRaw(IN_3); 2,3 #define SpeedSlow 80 #define SpeedFast 100 84-86 OnFwd(OUT_A, SpeedSlow); OnFwd(OUT_A, SpeedSlow); 90-92 OnFwd(OUT_B, SpeedFast); OnFwd(OUT_B, SpeedFast); TextOut(0, (LCD_LINE2 - (8*i+16)), names[i]); lightintensity = SensorRaw(IN_1); #define SpeedSlow 40 #define SpeedFast 80 OnFwd(OUT_A, SpeedFast); OnFwd(OUT_A, SpeedFast); OnFwd(OUT_B, SpeedSlow); OnFwd(OUT_B, SpeedFast); roboten skriver ut våra namn koden skriver ut medlemmarna längre ner på skärmen roboten letar efter ljus sensorn på rätt port Sänkte hastigheten på roboten Så att roboten följer linjen Så att roboten följer linjen 114 dance(); // dance(); Komenterade bort dance funktionen 4. Analys Laborationen slutade väl, roboten gjorde sin uppgift utan problem. Bra: Rolig lab för att introducera programmering och legoroboten visar tydligt vad som går fel. Detta är mycket bättre än när man bara programmerar vanligt för att man ser så tydligt vad som händer. Detta ger en bra förståelse varför felsökning och test är så viktigt, även om det inte alltid är så kul. 5. Diskussion Syftet med laborationen var: parprogrammering, felsökning av kod och att skriva en labrapport. Det största problemet för mig med uppgiften var rad 68. Det tog en lång tid innan jag insåg att ljussensorn var kopplad till fel port. Bortsett från det så gick det bra. Jag har lärt mig från laborationen hur man felsöker kod och hur man skriver en labraport och jag tror att dessa kunskaper kommer att vara viktiga både under med tid som student och i mitt framtida yrke. Eftersom att vi inte har skrivit koden till roboten från grunden, vi har bara felsökt en befintlig kod, så är det svårt att ha en åsikt om hur NXC är jämfört till andra programeringsspråk. Språket verkar dock likna C väldigt mycket och det är bra. CINTE KTH KISTA Sida 4 av 5

Referenser och Källor Källor: KTH.se bilda.kth.se daisy.ict.kth.se Bricx Command Center Programming LEGO NXT Robots using NXC (PDF) bricxcc.sourceforge.net/nbc/nxcdoc/nxcapi/index.html Bilagor KTH Social Dagbok: CINTE KTH KISTA Sida 5 av 5