Peter Ottosson 31/8-2012 petott@kth.se Introduktionskurs i datateknik II1310



Relevanta dokument
LEGO NXT Robotprogrammering

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

LEGO Mindstorm-robot

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

Laboration i datateknik

Felsökning av mjukvara

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

Programmering av LEGO NXT Robot

Programmera Lego Mindstormsrobotar

Laborationsrapport av robotprogrammering

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

Lego Mindstormprogrammering

Labbrapport - LEGO NXT Robot

Laboration - Programmering av LEGO Mindstorm robot

Simon Boström Introduktionskurs i Datateknik

[Introduktion till programmering ]

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

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

Programmera en NXT Robot

Programmera LEGO NXT

PROGRAMMERING AV LEGO-ROBOT VIA NXC

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

Laboration i datateknik

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

Labbrapport LEGO-robot linefollower

Programmering av en Lego robot

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

Robotprogrammering felsökning & analys.

Introduktion i programmering med språket NXC

Praktisk programmering

[Introduktionskurs i Datateknik]

PROGRAMMERING I NXC. Sammanfattning KUNGLIGA TEKNISKA HÖGSKOLAN

Programmering av LEGO NXT Robot

Introduktion till programmering med hjälp av Lego Mindstorm

Simon Johansson Introduktionskurs Datateknik 1310

Programmering med NXC Lego Mindstorm

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

Labrapport: Programmering i NXC Programmera LEGO Maindstorm med NXC

Labbrapport. Introduktionskurs i datateknik (II1310) Stefan Dalarsson,

Felsökande av en Lego Mindstorm robot

Programmeringslaboration med LEGOrobot

Slutrapport för JMDB.COM. Johan Wibjer

Utvärdering av 5B1117 Matematik 3

Laborativ matematik som bedömningsform. Per Berggren och Maria Lindroth

Instruktion för att slutföra registreringen

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.

Lär dig sökmöjligheterna i Disgen 8

Sammanställning av studentutvärderingen för kursen Estetiska lärprocesser 15 hp, ht 2007

ELEVHJÄLP. Diskussion s. 2 Åsikter s. 3. Källkritik s. 11. Fördelar och nackdelar s. 4. Samarbete s. 10. Slutsatser s. 9. Konsekvenser s.

Evaluation Summary - CD5570 DoA, distans VT 2004 Dan Levin

Slutrapport för Pacman

Kursrapport Datorlingvistisk grammatik (första skiss)

9-1 Koordinatsystem och funktioner. Namn:

Datorsystem Laboration 2: Minnesmappade bussar

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

Lära känna skrivbordet

Rapport om svenska för invandrare (Sfi) på Järfälla Lärcentrum

Tentamen IE1204 Digital design

Kursutvärdering. Samhällskunskap A

13. Vad tycker du om samarbete och enskilt arbete på kurserna när det gäller laborationer?

Betyg E (med tvekan) : (= Eleven beskriver mest med egna ord hur man upplevt träningen)

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

1. Skriv = eller i den tomma rutan, så att det stämmer. Motivera ditt val av tecken.

Forskningrapport LAVINER. Varför vi valde den här naturkatastrofen. Laviner

Thomas Padron-Mccarthy Datateknik B, Mobila applikationer med Android, 7.5 hp (Distans) (DT ) Antal svarande = 14

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)

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

Kortfattad sammanfattning av studenternas synpunkter och förslag

miljö och samhällsbyggnad Till dig som ska börja ditt sista år på en utbildning inom miljö eller samhällsbyggnad

NATURVETENSKAP FÖR LIVET?

Betatestning - Solsystem

Liten introduktion till akademiskt arbete

Hur upplevde eleverna sin Prao?

Elevledda utvecklingssamtal

Shakedown inför rallycross EM och SM.

Gesäll provet Internetprogrammering I. Författare: Henrik Fridström. Personnummer: Skola: DSV

Just nu pågår flera satsningar för att förbättra svenska elevers måluppfyllelse

TSTE05-Elektronik och mätteknik

Mimer Akademiens arbete med barnens matematikutveckling Ann S Pihlgren Elisabeth Wanselius

Några övningar att göra

Paper från lärgruppen i matematik. S:t Olofsskolan vt 13

TBMT41-Projekt i medicinsk teknik

Östbergsskolans loggbok!

MATEMATIKENS SPRÅK. Syftet med denna övning är att med hjälp av logik lära oss att uttrycka matematik mer exakt,

Motivering och kommentarer till enkätfrågor

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

ANONYMA TENTAMINA (FÖRDELAR) ÅSIKTSTORG:

Grunderna i stegkodsprogrammering

ElevkårENS. - Motionsguide -

Sammanställning av enkätundersökning

Berlinmuren Frågeställning: Vad är Berlinmuren? Orsaker? (Varför byggde man Berlinmuren?) Konsekvenser? Berlinmurens avskaffande.

Han fick ge sin bild av sig själv, (snarare) än att jag hade mammans bild av honom

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

Utveckla dina FÖRMÅGOR

STUDIETEKNIK. Till eleven

» 30år» Sambo» 1 barn (1,5år)» Jobbar som kurator.» Årsinkomst ca kr.» Bor i hyreslägenhet i stan.

Räkneflyt. Multiplikation och Division. Färdighetsträning i matte. Tabeller 1-10

UR-val svenska som andraspråk

Litteraturvetenskap Ger dig en akademisk grund att stå på

DT123G Nätverksanalys. Laboration II. Presentation av data. Lennart Franked Nayeb Maleki. 28 september 2015

Transkript:

KUNGLIGA TEKNISKA HÖGSKOLAN Robotlabb En introduktion till Datateknik 31/8-2012 petott@kth.se Introduktionskurs i datateknik II1310 1

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... 5 Referenser... 5 Bilagor... 5 2

1. Inledning Den här högskoleingenjörens utbildning som jag och mina klasskamprater ska börja läsa bygger mycket på kunskapen om programmering och programmering i sig och det är därför som det är så otroligt viktigt att man ger nya elever en bra och lättare start in på KTH. Speciellt när det finns ett antal elever som aldrig har programmerat förut. Det är också viktigt att man snabbt kommer in i skolans IT-system och lär sig att använda de olika hemsidor som man måste lära sig att utnyttja om man ska plugga på KTH. 1.1. Bakgrund Andledning till att labben var aktuell var för att den visar något som kommer att vara en vardag i senare studier eller till och med i det efterföljande arbetslivet. Därför är det något som man borde komma i kontakt med tidigt under studietiden för att man lättare ska känna sig bekvämt i arbetssättet. 1.2. Syfte och målsättning Syftet med uppgiften var att introducera programmering för oss nya elever på KTH. Syftet är också att introducera en ingenjörsarbetssätt samt ge träning och arbetsvana i de IT-system för utbildning som finns vid -skolan. Laborationsuppgiften ska ge träning i felsökning och testning och därmed ge en grund till effektivt programmeringsarbete i framtiden. Laborationen ska visa elever vad felskrivning i kod kan leda till. Laborationen syfte är även att träna oss i rapportskrivning då även det är en viktig del av ingenjörsarbetet och studierna på KTH. Vårt mål med uppgiften är att få ett färdigt program skrivet i NXC (Not exactly C) att fungera och därmed få en LEGO-robot att utföra sina uppgifter på önskat sätt. 2. Genomförande Labben började med att vi indelades i labb par för par programmeringen. Sedan så gick vi igenom hur labben skulle gå till och de olika viktigt momenten. Vi skulle få en färdigbyggd robot att följa en svart linje på marken och när den nådde väggen så skulle den spela upp en melodi och visa gruppmedlemmarnas namn på displayen. Roboten skulle laddas med en färdig felprogrammerad kod som vi skulle rätta till med hjälp av par programmering, med 20 minuters intervaller. I vår grupp så hade vi laddat ner programmet i förväg så vi laddade ner drivrutinerna åt roboten och laddade in felkoden in i roboten. Vi iakttog roboten för att ta reda på vad som det var som vi skulle fokusera på för att rätta till koden. Vi såg snabbt att roboten var lite för snabb för sig själv och att sensorn inte reagerade på ljusändringarna. De två punkterna hittade vi snabbt i koden och ändrade dem så att sensorn fungerade. När vi nu kollade igenom koden så vi också att den svängde fel. Det rättade vi också till genom att ändra hållet roboten svängde åt. Det sista som vi nu behövde lösa var att få våra namn på displayen. Vi skrev in våra namn och efter många testkörningar så listade vi ut hur det olika raderna på displayen fungerade och löste det matematiska problemet genom en ändring i koden. 3

3. Resultat Radnummer Ny kod Kommentar 2 50 Sänkte SpeedSlow. 3 80 Sänkte SpeedFast. 35 Peter, Omar Fyllde i våra namn. 45 (8*i) Ändrade for loopen så att namnen kom i rätt ordning på displayen. 68 SensorRaw(IN_3) Ändrade till rätt sensor position. 84 SpeedFast Så att den svängde åt rätt håll. 92 SpeedSlow Så att den svängde åt rätt håll. 4. Analys Det fanns 3 stora problem med koden. Det första var att sensorn inte fungerade som den skulle. Det såg vi när roboten inte reagerade när den var innanför eller utanför linjen. Det kunde inte vara de ljuskänslighetsvärden som var inprogrammerade eftersom de inte skulle ändras. Så vi letade i koden och efter allt som hade med ljussensorn att göra. Vi såg ganska fort att den var kodad till fel uttag och ändrad det lite snabbt. Roboten reagerade nu men var lite för snabb för sig själv, det var därför vi sänkte farten. Det andra problemet var att den inte svängde rätt. Men i koden var det tydligt. Det stod mer eller mindre om det är mörkt sväng vänster, annars sväng vänster. Vi ändrade så att den sicksackade över linjen då det var det smidigaste sättet att lösa problemet. När den var på linjen så åkte den av linjen och när den var utanför linjen åkte den på linjen. Vårt sista problem var med displayen. Det tog ganska lång tid innan vi fattade vad som var felet. Vi började med att prova oss fram, att ändra olika delar av koden. Vi hade tur och det funkade för de två namn som vi skrivit in men vi provade att öka listan med namn och problemet var fortfarande kvar, för vi visste ju inte vad vi gjorde. Men med lite logiskt tänkande och matematik så fattade vi tillslut hur de olika raderna representerades av olika nummer och löste den enkla ekvationen genom att ta bort -16 ifrån for loopen. 4

5. Diskussion Tycker att den här laborationen var väl genomtänkt och att den uppfyller hela syftet och målet med introduktionskursen. Den är välanpassad till alla som ska börja på -skolan då den har med alla de momenten som man kommer att stöta på under senare studier. Den var också lärorik och gav oss elever en bra inblick och introduktion på alla de IT-system som används här på skolan. Fokuseringen med labben var också bra, problemlösning. Då det är det som ingenjörsyrket handlar mycket om. Speciellt då det inte bara var att man skulle programera något, då det är några som inte har gjort det, utan att rätta till kod och lära sig av misstag istället. Labben har även gett mig en ganska bra grund på hur man programerar och hur det nya språket ser ut. Vet och känner att den här kunskapen kommer att vara användbar, även om den inte är så avancerad, i framtiden då NXC har många likheter med programmeringsspråket C. Jag kan inte ha så mycket åsikter om NXC då jag inte har använt mig av programmering förut, men jag tycker att programmet fungerade bra och var lätt att använda. I labben var det som tidigare nämnt 3 problem med roboten som skulle rättas till. Vi valde att rätta till dem i den ordning som vi hittade dem istället för att planera då vi tyckte att det skulle vara ett smidigare och snabbare sätt. Referensser Har använt mig av Labb-PM ifrån bilda och mallen för rapporter. Bilagor 5