Lego Mindstorms EV3

Från Wikiskola
Hoppa till navigering Hoppa till sök

Lego Mindstorms

Nxt-brique

Beskrivning av blockets innehåll

Blocket innehåller just nu beskrivningar av några lektioner där man använder en Mindstorms-robot för att lära sig programmera och göra kreativa laborationer. Förljande central innehåll är täckt av Lego Mindstorms Robot Projektet: Program, till exempel enklare kommunikationsprogram och applikationsprogram för mobila enheter. Fältbussars användning inom till exempel industri-, el- och andra teknikområden. Planering, montering, konfigurering samt driftsättning av datorsystem för något av användningsområdena mätning, styrning, övervakning eller dokumentation. Installation och konfigurering av applikationsprogram.

Följande förmågor/färdigheter kan elever träna på genom Lego Mindstorms Robot Projektet: Färdigheter i att planera och utföra arbete i datorer samt i dator- och kommunikationssystem. Färdigheter i att utföra optimering, administration och diagnostisering av, samt åtgärda fel i, dator- och kommunikationssystem. Förmåga att använda instruktioner, manualer, topologier och andra dokument på både svenska och engelska samt att dokumentera sitt arbete.

Pre-study

Roboten hämtar ett föremål. EEIT14.

Sök på Lego Mindstorms på Youtube och titta på några roliga videos. Vad är Mindstorms? Berätta lite om företaget och deras produkter/tjänster. Vilka relevanta program/mjukvara/applikationer finns det? Nämn några av dessa och förklara vad de gör. Beskriv robotens hårdvara i detalj. T ex vad är CPU? Finns det ett CPU i roboten? Vad är fältbussar? Finns det fältbussar i Roboten? Vilka programmeringsspråk är bäst/lättast att använda till Mindstorms-roboten? Studera lite om språken ”RobotC” och ”LabVIEW” och förklara vilket som är bäst. Vad är en sensor? Vilka sensorer finns det till roboten?

Lektion 1

  • Introducerade Mindstormsroboten till eleverna.
  • Körde en demonstration av t ex EV3MEG (projekt med tejpband) för att fånga elevernas intresse.
  • Delade ut ”Pre-study”-dokument till alla elever och bad dem jobba individuellt, de fick gärna använda ”www.mindstorms.com” som källa för information, alternativt Google eller Wikipedia, efter svaret.
  • Vid slutet av lektionen så hade vi en diskussion kring frågorna som finns med i ”Pre-study”-dokumentet.

Lektion 2

  • Bad eleverna ladda ner Mindstorms programvara ” LEGO MINDSTORMS EV3 Home Edition” från http://www.lego.com/sv-se/mindstorms/downloads/software/ddsoftwaredownload/
  • Tryck på ”Ladda ner”
  • Jag valde: LMS-EV3-OSX-ENUS-01-01-full-setup.dmg
  • Jag förklarade till klassen vad programmering är för något på väldigt grundläggande nivå.
  • Alla elever fick starta ”LEGO MINDSTORMS EV3 Home Edition” efter nerladdningen. Jag bad alla att kolla på ”Getting started” och ”Software overview” på startsidan.
  • Jag delade upp klassen i 5 grupper (4-6 elever per grupp). Varje grupp hade minst en elev som hade någon sorts erfarenhet av programmering sen tidigare, dessa elever blev varje grupps gruppledare.
  • Gruppledaren fick i uppgift att skriva ner alla gruppmedlemmarnas kontaktuppgifter (e-mail och telefonnummer), sen fick han/hon berätta om sin erfarenhet av programmering för gruppen.

Lektion 3

  • Jag kopplade en dator till overhead och visade för klassen hur man kan programmera roboten med hjälp av LabVIEW. Började med ett enkelt exempel på motorstyrning och sedan några mer komplicerade (och roligare) exempel på vad man kan få roboten att göra (se projektet ”Lektion 3”).
  • Eleverna fick gå in på http://www.lego.com/sv-se/mindstorms/products/fan-made-bonus-robots/ev3meg -> ”ladda ner ev3 projekt” för att ladda ner ett projekt som heter EV3MEG.ev3 (projekt med tejpband).
  • Eleverna fick i uppdrag att studera programmet i ”EV3MEG.ev3” och skriva ett kort rapport per grupp om vad varje loop gjorde och hur programmet fungerade.

Lektion 4

  • Under lektion 4 fick eleverna mer tid till rapportskrivningen (studera programmet ”EV3MEG.ev3” och skriva förklaringar till den). Det var en gruppuppgift och varje grupp lämnade in en rapport.

Lektion 5

  • På lektion 5 kopplade jag datorn till overhead och programmerade roboten framför klassen, jag bad eleverna komma på förslag på vad vi skulle få roboten att göra. En elev ville få roboten att åka som en ”8” så då gjorde vi det.
  • Vi upptäckte snart ett problem med roboten, den kunde inte åka rakt även om båda motorerna fick samma styrsignal.
  • Vi hade en diskussion i klassen om varför roboten inte kunde åka rakt, då var slutsatsen att det kan finnas olika förklaringar till problemet, t ex att ena hjulet hade mer friktion än det andra, eller kanske för att roboten inte är symmetrisk så att ena sidan väger mer än den andra sidan. Det kan även vara på grund av att ena motorn är lite trasig.
  • Jag bad eleverna komma på förslag på hur vi skulle kunna lösa problemet så de hade en diskussion om det.
  • Förslag 1 var att bygga om roboten så att den blir symmetrisk, förslag 2 var att vi skulle styra ena motorn lite kraftigare än den andra för att kompensera. Förslag 2 var lättast i praktiken så då använde vi det förslaget och det fungerade bra.
  • Jag introducerade labyrint-problemet (labyrint byggd av trasiga laptops), eleverna fick börja skriva egna LabVIEW-program för att lösa problemet.

Lektion 6

Eleverna fick fortsätta att jobba med labyrint-problemet (labyrint byggd av trasiga laptops). Eleverna fick komma på egna lösningar och skriva egna LabVIEW-program för få roboten att hitta vägen ut ur labyrinten. Det var en gruppuppgift och varje grupp lämnade in en video där de visar att programmet kunde styra roboten ut ur labyrinten.

Roboten började åka vid ”START”, den behövde sedan åka fram och svänga vänster, därefter behövde den åka en bit och sen svänga vänster igen, till slut åkte den ut genom EXIT.

Förslag till programmet: 1) (Lätt) Låta roboten åka i en stor cirkel; med rätt cirkeldiameter så skulle roboten kunna åka ut genom EXIT utan att köra in i väggen.

2) (Mellan) Styra motorerna att först åka framåt, sedan svänga vänster därefter åka framåt igen och svänga vänster och till sist köra framåt igen.

3) (Svår och också smartare) Skapa en loop som säger att programmet ska köras oändligt länge, i loopen ska det finnas en switch som triggas av data från IR-sensorn med hjälp av ett threshold. Om mätdatan från IR-sensorn är större än threshold så betyder det att det inte finns en vägg framför, då ska switchen säga åt roboten köra framåt litegrann. Om mätdatan från IR-sensorn är mindre än threshold så betyder det att det finns en vägg framför, då ska switchen säga åt roboten att stanna och svänga 90 grader vänster.

4) Kan be eleverna komma på egna förslag på hur man kan programmera roboten.

Lektion 7

Lektion 8

Sumo-robotar med Mindstorms

Sida med många exempel.

Mål

Bedömning

Lego Mindstorms EV3

Lego.com sida med projekt att ladda ner
Lego Education - Säljer saker kring Lego.
Lego.com - laddaa ner programvaran Inte så mycket mer.
bra instruktion tips om följa linjen.
Wikpedia om Mindstorms EV3

Mindstorms open source

https://github.com/mindboards/ev3sources GitHub
http://botbench.com/blog/ Botbench
http://makezine.com/2013/08/02/lego-mindstorms-ev3-source-code-available/ makeZine

Övrig robotik

Robotar