4 augusti (G) Programmering: Lego

Relevanta dokument
3 augusti (G) Programmering: Lego

Lego Robot [ ] [ ] [ ]

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

Laborationer i SME094 Informationsteknologi I för

Hur ser Blue-Bot ut i aktion?

Roboten. Sida 1 av 11

EV3 Roboten. Sida 1 av 13

Edison roboten som går at bygga ihop med LEGO

OzoCodes FÄRG KODER VINST/ UTGÅNG FART RÄKNARE RIKTNING TIMER COOLA RÖRELSER REFERENSSCHEMA VINST/UTGÅNG (SPELA IGEN) CRUISE SNABB TURBO NITRO BOOST

Programmering. Scratch - grundövningar

Digitalt lärande och programmering i klassrummet

Programmering eller Datalogiskt tänkande

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

Vilken skillnad gör det var du placerar det? Prova båda.

MV-Nordic Lucernemarken Odense S Danmark Telefon mv-nordic.com

HEMISSON. Webots-Botstudio laborationsbok. Sida1

Skapa spelet Bug-race i Scratch

En resa genom robotarnas värld!

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

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

Sphero SPRK+ Appen som används är Sphero Edu. När appen öppnas kommer man till denna bild.

Lådbilen. Lärarblad. Ordförråd Massa Läge Friktion Verkningsgrad

Rallylydnad_Mom_Nyborjarklass.doc Sida 1 (5) Nya momentbeskrivningar, börjar gälla Rallylydnad Nybörjarklass

Programmering F-3. -dansprogrammering. Del 1

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

Programmering. Den första datorn hette ENIAC.

Lättläst om Victor Classic X

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)

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

Lektion 1 Arbetsblad 1.1 Möt Edison

Övningar Arbete, Energi, Effekt och vridmoment

Lär dig programmera för dig mellan 6 och 100 år...

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

Möt Edison. Detta är Edison, den programmerbara roboten. Vad är en robot? En robot är en maskin som man kan få att göra en uppgift på egen hand.

CHCS Classic Honda Club Sweden 1(5) Att köra i grupp.

ENKEL Programmering 3

Blockly är en av apparna som används för att styra roboten Dash. Den är väldigt enkel i sin utformning och kan med fördel användas av yngre barn.

Kör framåt i <TID> sekunder. Kör bakåt i <TID> sekunder. Sväng vänster i <TID> sekunder. Sväng höger i <TID> sekunder

Programmering. Analogt och med smårobotar. Nina Bergin

Den intelligenta dammsugaren

Hur kan en fallskärm flyga?

EdBuild - EdRoboClaw

FMCK Malmö Boris Magnusson. Markering av Endurobana

Datalogiskt tänkande. med DATALIA DATALIA

Fysik. Ämnesprov, läsår 2014/2015. Delprov B. Årskurs. Elevens namn och klass/grupp

I det här Tränarpasset bjuder vi på Lilla programmet, ett 30-minuterspass från Träna med kroppen fysisk grundträning för ungdomar.

GRUPP 1 JETLINE. Åk, känn efter och undersök: a) Hur låter det när tåget dras uppför första backen? Vad beror det på? (Tips finns vid teknikbordet)

Programmering robotprogrammering med mbot

Bilens Historia av: Johan, Erik och Max

1. Grunder. 2. Framvagn. Teknik Kurs Karting. UAK Karting

S i d a 1. Goda råd. från en erfaren. kranförare

JULUTMANINGEN. Regler: Teknikövningarna sida görs minst 5 minuter vardera för att räknas. Be gärna någon ta tid!

Bakgrund: När man programmerar på professionell nivå så går det ut på att koppla gränssnittet till funktioner.

Träningsbank. Uppvärmning Tåget 10 min (max 20 st) Tänka på. Uppvärmning Följa John 10 min (max 20 st) Fotbollsträning. Ålder: 8-10 Ange tid här

Manual för banläggning i OCAD IF ÅLAND

Föräldrarapport om små barns utveckling - Reviderad. (PARCA-R Frågeformulär)

Inställningar för mus och tangentbord i Windows 7

Grundritning Torpargrund

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

Digital Choice 12 + MER, MER, MER!

Bruksanvisning Anton

Tid (s)

Dagens robot. Copyright Sagitta Pedagog AB

När du har arbetat med det här ska du kunna: förklara vad som menas med en rörelse genom att ge exempel på hastighet, acceleration och fritt fall.

Programmeringspalett. Pr o gr a mvar a

5 Relationer mellan individens utvecklingsnivå, olika verktyg och användning av olika produkter

Bulgarian Bag. Här är ett träningsprogram. med hjälp av en bulgarian bag, sätter fart på både muskler, puls och endorfiner.

GRUNDLÄGGANDE ANVÄNDNING AV GRÄSKLIPPAREN

Aktivitetsbank. Matematikundervisning med digitala verktyg II, åk 1-3. Maria Johansson, Ulrica Dahlberg

Cyklar Viktor, Viktoria Vik och Viki

Lektion på Gröna Lund, Grupp 1

Den hungriga fisken. Vi ska göra ett spel om en hunrgig fisk! Styr den stora Hungriga Fisken och försök att äta upp alla kräftor som simmar omkring.

Svar om ( Ljudlös komunikation i slutet detta dokument)

Anpassad konfiguration

FlyBot. Copyright Sagitta Pedagog AB

Hur låter det när tåget dras uppför första backen? Vad beror det på? (Tips finns vid teknikbordet)

Bilen som inte kan krocka

Gruppcykling. Cykla i klunga vs gruppcykling Två i bredd när väg och trafik tillåter

DEN RUNDA TUNNELN EN UNDERSKATTAD FIENDE

Krafter. Jordens dragningskraft, tyngdkraften. Fallrörelse

Micro:bit. Börja skapa egna program

LEKTION PÅ GRÖNA LUND, GRUPP 1

Elements 5.0. Innehållsförteckning

VÄGVISAREN SAMARBETSÖVNINGAR. SYFTE Att träna på samarbete och lyhördhet. Att hjälpa varandra.

ENKEL Fysik 22. Magnetism. Tengnäs Läromedel. Vad är magnetism? Magneter. EXPERIMENT - Magnetisk kraft

OPTIK läran om ljuset

Utskrift av karta. Skriv ut en karta. Skriv ut skärmområde

Programmeringsappar. Av Alex

LEICA MOJOMINI MANUAL FÄLTGUIDE

INFÖR BESÖK PÅ GRÖNA LUND

DJUREN PÅ GÅRDEN (4-8 år) Swedish Media Art /

Hur fungerar en robot? (lektion 2 av 3)

Rita ett rum i en-punktsperspektiv.

RoomDesigner Manual... 1

Vi är beroende av ljuset för att kunna leva. Allt liv på jorden skulle ta slut och jordytan skulle bli öde och tyst om vi inte hade haft ljus.

caversus.se

PGC: Läser från fotocell och lackar efter avläst. Läser från fotocell och lackar efter programerat. Detaljräknare

Lilla Krabat. Stopp! Stampa, stampa, stampa, stampa. Stopp! Klappa, klappa, klappa, klappa. Stopp. Svänga, svänga, svänga, svänga.

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

Transkript:

4 augusti (G) Programmering: Lego Idag ska vi gå igenom loopar, valblock (switchar), parallella program program. Robotar upprepar ofta samma sak om och om igen. T.ex. en industrirobot som ska tillvecka bilar måste göra om samma monteringssteg hundratals gånger. Då används loopar! Loopar är bra för att slippa dra ut samma block flera gånger i rad. Som programmerare spar du tid! Loopar kan också kallas för upprepningar eller repetitioner. Vissa kallar det för snurror eller slingor eftersom programmet snurrar runt och gör samma sak om och om igen, i mjukvaran kan ni också se små pilar som pekar runt programflödet. Valblock används där roboten måste göra olika saker beroende på sin omgivning. Om du är vilse ringer du pappa, medan om du är hungrig ringer du mamma. Parallella program kan också kallas trådade program. Det används om roboten ska göra flera olika saker samtidigt. Den ska kanske åka framåt samtidigt som den öppnar klon. Eller låta som en elefant samtidigt som den åker framåt. 1 1.1 Beskrivning Programmera en robot att åka fram och tillbaka mellan två svarta streck på marken. Blir ungefär som uppgiften igår då roboten skulle stanna vid en svart linje, men nu ska den byta riktning och börja backa istället. 1.2 Vad som kan varieras Istället för att använda streck kan man ha en ultraljudssensor som känner av väggar. Roboten kan alltså åka mellan de två väggarna i korridoren utanför klassrummet och patrullera. 1.3 Bakgrund Om en robot ska vakta ett industriområde (eller en dörr) behöver den åka fram och tillbaka mellan två markeringar och ha koll på vad som händer. Robotar gör ofta väldigt enformigt arbete som människor inte vill göra. 2 2.1 Beskrivning Programmera roboten att åka i en kvadrat, fast med en loop. Här kan ni inte loopa för evigt utan bara 4 iterationer. Vad är fördelarna med att använda en loop här?

2.2 Vad som kan varieras Storleken på fyrkanten. Antal varv man ska åka runt i fyrkanten. Enkelt att ändra bara en siffra istället för att lägga till 8 nya block för varje varv. 2.3 Bakgrund Programmerare är lata. Genom att använda loopar slipper man mycket arbete. Det är bättre att programmet automatiskt upprepar saker istället för att man ska lägga ut många block. 3 3.1 Beskrivning Hålla sig inom ett område och städa rent det. Varje gång roboten ser en linje ska den backa, svänga och köra framåt igen. Puttar ut alla läskburkar från området tillslut. 3.2 Vad som kan varieras Storleken på området. Man skulle också kunna lägga till något så att programmet avslutas när roboten städat ett tag (begränsar antal loop-iterationer). 3.3 Bakgrund Kan användas för att städa"ett bord (puttar ned allt på golvet). Ungefär som en städrobot eller dammsugarrobot. Gräsklipparrobotar brukar ha en linje/slinga runt hela trädgården som roboten ska hålla sig innanför. 4 4.1 Beskrivning Gör om sista uppgiften från igår (den med övergångsställe) fast med loopar. Räkna linjer och stanna efter att roboten passerat 4 linjer. Skulle man vilja ändra nått ljusvärde behöver man bara göra det på ett enda ställe. 5 5.1 Beskrivning Undvika att köra in i något. Samma som uppgift 3.1 fast man väntar på att roboten ska känna av något med ultraljudssensorn istället.

5.2 Vad som kan varieras Området som ska köras runt. Kan vara bara på golvet och undvika väggar och kartonger och stolar. Dock har ultraljudssensorn svårt att känna igen smala bords- och stolsben. 5.3 Bakgrund Detta är på samma sätt som robotdammsugare fungerar. En robotdammsugare krockar i saker och märker det och backar och svänger. Er robot är till och med bättre eftersom den inte behöver slå i någonting, den reagerar innan den krockar i nått! 6 6.1 Beskrivning Hålla sig inom ett område (som uppgift 3.1) fast sväng ett slumpmässigt antal grader vid varje sväng. 6.2 Vad som kan varieras Går att ändra hastighet man sväger, eller hastighetsförhållandet mellan hjulen. Eller sträckan man svänger. Vad ger bäst resultat? Vad täcker in området snabbast? 6.3 Bakgrund Vanliga dammsugarrobotar är optimerade för att så snabbt som möjligt täcka av ett rum. Men eftersom roboten inte på förhand vet hur rummet ser ut används ofta slumpen och statistiska metoder för att öka chanserna att snabbt städa hela rummet. 7 7.1 Beskrivning Följa en linje med hjälp av loop och två väntablock. Bryt ned enkla mänskliga instruktioner följ en linjetill en sekvens av instruktioner som en dator förstår. Det är inte det enklaste att förstå hur roboten ska följa en linje. 7.2 Vad som kan varieras Hur linjen ska dras. Testa att göra olika skarpa linjer eller korsningar och se vad som händer.

7.3 Bakgrund Linjeföljande robotar finns överallt! Det finns tävlingar med dem och de används i industrin. Många robotar guidas av kablar. Vår robotgräsklippare hittar tillbaka till laddstationen med hjälp av en guidekabel som den följer på samma sätt som ni precis gjort. En förarlös bil ser linjerna på vägen och följer dem. 8 8.1 Beskrivning Följ linjen tills roboten hittar en burk. Fånga den och sen fortsätta följa linjen. 8.2 Vad som kan varieras Istället för att fortsätta följa linjen med burken kan man fånga den vrida roboten 90 grader och köra av linjen och släppa burken, för att sen backa tillbaka till roboten känner av linjen och vrida upp sig och fortsätta följa linjen! 8.3 Bakgrund Robotar på Grums pappersbruk förflyttar stora pappersrullar genom att följa linjer på golvet. 9 9.1 Beskrivning Sluta följa linjen när den kommer till en vit markering. 9.2 Vad som kan varieras Man kan med fördel placera en burk i slutet av linjen som roboten ska gripa tag i och förflytta! 9.3 Bakgrund Robotar använder sig ofta av något som kalla beacon, vilket betyder markörer på svenska. Dessa använder roboten för att veta var den befinner sig. De kan bestå av t.ex. färgmarkeringar eller saker som sänder ut strålning som roboten reagerar på.

10 10.1 Beskrivning Försök att hålla ett visst avstånd till ett föremål framför den, t.ex. din hand eller en kartongskiva. Roboten ska backa om kartongen kommer för nära, och köra framåt om kartongen flyttas bort från roboten. 10.2 Vad som kan varieras Olika avstånd. På hur långt avstånd kan den maximalt följa med? Vad händer om du rör föremålet för snabbt? Vad händer om den tappar bort föremålet? Lägg till någon form av sökbeteende? Kan ni sätta flera robotar i rad som följer varandra? Går att skapa en P-regulator, vilket betyder att den åker fortare om kartongen är långt ifrån gränsen, och långsammare om den är nära avståndsgränsen. 10.3 Bakgrund Volvo utvecklar just nu fordonståg där lastbilar kör utan förare. Det finns en förare i första lastbilen som styr, sedan lägger sig flera andra på ett fast avstånd till bilen framför. Detta för att det blir billigare att slippa betala lön till förarna i lastbilarna längre bak, dessutom spar de bränsle eftersom de kan ligga väldigt tätt och få bort luftmotstånd. 11 11.1 Beskrivning Gyroregulator, får roboten att åka rakt med hjälp av datahub från gyroläsning till rattstyrning. 11.2 Vad som kan varieras Försök få roboten att klara så stora störningar som möjligt. Lägg ut papper framför roboten som gör att hjulen spinner/slirar. Eller lägg ut andra små störningsmoment, kanske tändstickor om vi har några. Knuffa på roboten. Lägg till ett ljud som säger Äj"eller "uschöm nån puttar på roboten för mycket. 11.3 Bakgrund Att köra rakt trots störningar är viktigt. Världen är sällan helt ideal och ska man göra en robust robot måste den använda sig av sensorer för att ta sig fram. Om man bygger en skogsrobot som ska ta sig fram över stockar och stenar används ofta gyrosensorer.

12 12.1 Beskrivning Kör fram till en vägg och räkna antalet linjer som roboten har passerat fram tills dess (krävs en variabel). Skriv ut antal passerade linjer på skärmen. 12.2 Vad som kan varieras Antal linjer. 12.3 Bakgrund Variabler är bra för att kunna komma ihåg saker som har skett tidigare. 13 13.1 Beskrivning Ge roboten möjlighet att bli styrd med hjälp av dess knappar på skärmen. Trycker man på pil uppåt ska roboten åka ca 10cm framåt. Trycker man på bil bakåt ska den åka bakåt. Pil höger roterar den 90 grader höger och pil vänster blir 90 grader åt vänster. 13.2 Vad som kan varieras Om man trycker på mittenknappen ska klon öppnas om den är stängs, och stängas om den är öppen. 13.3 Bakgrund Ibland klarar inte en robot av att ta rätt beslut. Roboten kanske hamnar i en situation som den aldrig tidigare varit i och vet inte vad den ska göra. Då är det bra om en människa kan gå in och styra roboten rätt. Det kan också vara bra om roboten gör något farligt och man måste manuellt flytta tillbaka roboten, för ofta är de för tunga för att flyttas av muskelkraft. 14 14.1 Beskrivning Följa linje tills avståndssensorn avståndet blir mindre än en viss gräns (kanske 20cm). Det går inte riktigt att göra som uppgift 7, varför?

14.2 Vad som kan varieras Man kan ställa dit ett hinder längsmed linjen som roboten ska detektera och köra runt, och sedan fortsätta på andra sidan. Man kan också låta linjen upphöra på ett ställe och fortsätta längre fram. Då ska roboten upptäcka att linjen tog slut och sedan fortsätta följa den längre fram. Detta är en svår uppgift att lösa med endast en ljussensor, men det går! Testa att både klara av hinder och gap längsmed linjen. 14.3 Bakgrund Linjeföljare används som sagt överallt inom industrin! Men det är ofta det kommer fram en människa framför transportroboten och då måste roboten såklart kunna stanna! Annars dör människan. Ännu bättre vore förstås om roboten kunde köra runt människan. 15 15.1 Beskrivning Låt roboten rotera ett varv och mät avståndet fram till närmsta objekt vid varje grad. Rita ut en graf i fönstret på roboten där X koordinaten representerar vinkel och Y- koordinaten motsvarar dess avstånd. Då får man en form av karta över omgivningen. 15.2 Vad som kan varieras Istället för att mäta avstånd kan man plotta något annat. T.ex. färgen på underlaget så får du en "karta"över vilka nyanser golvet har längsmed en sträcka. Förslagsvis låter man roboten köra framåt istället för att rotera på stället. 15.3 Bakgrund Räddningsrobotar skickar man in i okända områden och då måste de skapa sig en karta när de åker runt. De använder ultraljud och lasersensorer (LIDAR) för att mappa upp området som de är aktiva i.