RoboCup Junior Räddning Introduktionskompendium

Storlek: px
Starta visningen från sidan:

Download "RoboCup Junior Räddning Introduktionskompendium"

Transkript

1 RoboCup Junior Räddning Introduktionskompendium Ett kompendium för mentorer till lag som deltar i RoboCup Junior Sverige. Förklarar vanliga problem och hur man ska tackla dem. Går även igenom tre olika sätt att följa en svart linje, samt lite fler nyttiga programmeringstekniker. Fredrik Löfgren juli

2 Förord Detta material sammanställdes inför den svenska uttagningen till RoboCup Junior 2013 som Föreningen för intelligenta autonoma system vid Linköping Universitet ska arrangera. Jag vet att det kan vara svårt för lärare att hjälpa sina elever med robotar, då det även är ett nytt område för dem. Så för att det ska vara enklare för er att komma igång skriver jag ett introduktionskompendium som visar lite exempellösningar på vanliga problem. Förhoppningsvis får eleverna det roligare och kan fokusera mer på sina egna idéer än att lösa standardproblem. Det är inte meningen att du ska dela ut det här materialet till dina elever. Jag skriver det för att du som mentor ska ha lite grundkunskaper och jag litar på att du som pedagog kan förmedla kunskapen till dina elever. Sist en liten ansvarsfriskrivning Jag reserverar mig för eventuella fel. Tack! Fredrik Löfgren Juli

3 Innehåll Förord... 1 Innehåll... 2 Om kompendiet... 4 Upphovsrätt och varumärken... 4 Feedback... 4 Tack till... 4 Riktlinjer för mentorer... 5 Kommunikation... 6 Robotkampen... 6 Creationary... 6 Läsa ritning och konstruera... 6 Duellen... 7 Tillverka tävlingsarenan... 7 Lego i mörkret... 7 Hur gör man en vinnande robot?... 8 Reglerna... 8 Bryt ned problemet... 9 Konstruktion Rampen & Farthinder Släpskor eller Glidpluttar Länkhjul Larvband Följa linje En ljussensor Två Sensorer Två Ljussensorer Alternativ Hinder Hitta hinder med Trycksensor Hitta offer Fördjupning Händelser & parallella tidsaxlar Mina Ikoner Vanliga fel Ljusvärdena!

4 Batterierna! Inga fler portar! Flera processorer Bluetoothkommunikation Inget Lego? Lego med fördelar Hårdvara Mjukvara Experimentera!

5 Om kompendiet Upphovsrätt och varumärken Innehållet i detta dokument är licenserat under Public Documentation License, Version 1.0 ("Licensen"); Ni får bara använda denna dokumentation om Ni följer villkoren i Licensen. En kopia av Licensen hittar Ni på: Originaldokumentet heter "Introduktion till RoboCup Junior". Författaren till originaldokumentet är Fredrik Löfgren All Rights Reserved. Författarkontakt: fredrik@eaproduktion.se Alla varumärken i detta dokument tillhör dess rättmätige ägare. Feedback Jag tar tacksamt emot fler tips och idéer på hur detta material kan förbättras. Har ni någon speciell kommunikationsövning eller programmeringsidéer får ni väldigt gärna kontakta mig! Antingen via mail eller på någon tävling! Skicka alla kommentarer och förslag till fredrik@eaproduktion.se Tack på förhand! Tack till Greig Tardiani Ordförande för kommittén som arrangerar RoboCup 2013 i Nederländerna. Författare till en introduktion för RoboCup Junior i Australien, som jag har använt som referens. Sebastian Gustafsson / Rasmus Andersson Studerar till civilingenjörer i Linköping. Har bland annat deltagit i First Lego League och RoboCup Junior. De har gett mig mycket input för detta arbete. Angelina Gordér Arbetar som matematik och NO lärare på galären i Karlskrona. Våra sponsorer: 4

6 Riktlinjer för mentorer "A large number of the teams will try to win, even that [sic!] using not correct behaviour. Many time the team mentors force the students to do that..." - Tiago Docilio Caldeira, ordförande för den internationella tekniska kommittén för RCJ Rescue Eleverna lär sig bäst på egen hand genom att försöka komma på lösningar på problemen! Det är aldrig roligt att ha någon lutande över axeln som hela tiden berättar vad man ska göra. Eftersom ett av RoboCup's huvudsakliga mål är utbildning så ges eleverna möjlighet att diskutera med andra deltagare på det internationella communityt ( Uppmuntra hellre dem att ta hjälp av varandra än att fråga dig! Vi tror på ett elev-till-elev-lärande i dessa ämnen! Det ingår som en del av tävlingen att redovisa sin robot och dess funktionalitet. Så tipsa lagen om att dokumentera hur de arbetar. Dels är det värdefullt att kunna utvärdera vad man kan göra bättre till nästa år, och dels så är det alltid roligt med dokumenterade minnen! Jag vet att det kan vara svårt att hålla händerna ifrån roboten och datorn, men snälla försök! Se tävlingen som ett matteprov där eleverna får chansen att visa vad de lärt sig under arbetet med robotarna. Skulle du sätta dig ned med dina elever och visa hur man räknar mitt under ett prov? Under tävlingen ska det vara helt otänkbart för mentorer att hjälpa sina elever med roboten. De kan sina grejer nu, annars finns det många andra hjälpsamma lag i närheten! Med detta sagt menar jag inte att mentorn ska gå till personalrummet och ta en kaffe varje gång ni arbetar med robotarna (Det har hänt!). Mentorn ska hela tiden finnas där som ett stöd och komma med uppmuntrande tillrop! Ibland kan det uppstå tekniska problem, som att datorn låser sig eller att programmet kraschar, då ska mentorn finnas där och lösa problemen. Eleverna ska kunna fokusera på sin uppgift och utveckla sina egna färdigheter! Uppmuntra eleverna och ge dem beröm när de gjort något bra! Det viktiga är inte om ni vinner eller förlorar, det viktigaste är hur mycket ni har lärt er på vägen dit! 5

7 Kommunikation Inom alla lagidrotter är det viktigt med kommunikation. För att lyckas måste lagmedlemmarna kunna prata med varandra. Kan man föra fram sin idé och samtidigt lyssna för att ta till sig de andras idéer, kommer det att gå mycket bättre för laget! Det går inte att vinna RoboCup på egen hand. Jag har märkt att ju mer tid man spenderar tillsammans desto bättre blir samspelet och kommunikationen. I mitt lag kan vi säga Ge mig den där biten, du vet! eller Ge mig en sån där böj! och jag får direkt rätt legobit. När man känner varandra väldigt väl så behövs det inte så många ord. Vi kan läsa av varandras tankar. Hur mycket lagmedlemmarna än kan läsa tankar så uppstår det ändå situationer när laget inte kommer överens. Mitt tips är att tidigt prata igenom vad laget ska göra i sådana situationer. Innan de uppstår. Då vet alla vad som gäller och man kan gå vidare utan tjafs. I de lag som jag har deltagit i har vi utsett en person som vi litar på, som har rätt att fälla det avgörande ordet. Om det uppstår meningsskiljaktigheter så får den personen ta ett beslut för att arbetet ska fortsätta. Skulle detta visa sig vara fel beslut i ett senare skede så ska inte den personen få någon skit, laget har varit överens om att han har rätt att ta beslut. Jag ger detta som en idé, ert lag kan mycket väl ha en bättre strategi! Om laget inte tidigare samarbetat med varandra så tror jag att teambuilding kan öka sammanhållningen innan de börjar med den riktiga uppgiften! Här har jag samlat några förslag på övningar som jag gillar: Robotkampen Delta i Robotkampen som är en endagarstävling i Borlänge och arrangeras av Framtidsmuseet ( Det är en mycket uppskattad tävling där alla åldrar får vara med! Alla får uppgiften på morgonen och har 6 timmar på sig att bygga och programmera en robot som ska lösa så mycket som möjligt. På eftermiddagen blir det tävling och alla är nervösa inför hur det ska gå! Det är en mycket bra introduktion i hur det är att tävla med robotar! Kräver dock att man är lite bekant med Lego Mindstorms sedan tidigare. Creationary Dela ut en hög med kort med ord till lagen och massa lego. Eleverna jobbar i mindre grupper. En elev tar ett kort och ska med hjälp av legot visa för de andra vad det står. Det är enklast med substantiv, t.ex. ett hus, en blomma eller en kommunalgubbe. Men det går även att illustrera verb eller adverb med lego, t.ex. gult, kärlek eller spränga. Blir alltid mycket skratt!! Läsa ritning och konstruera Testa att bygga någon av standardrobotarna som det finns byggbeskrivning till. Fast kruxet är att den som bygger inte får se ritningen. Om man är två i laget kan en läsa ritningen och beskriva hur delarna ska monteras medan den andra bygger. Är man tre kan den som läser ritningen även beskriva hur delarna ser ut och be den tredje personen leta upp dem! 6

8 Duellen Detta är en variant av leken ovanför, fast kräver inga ritningar eller legolådor med lösa bitar. Dela in eleverna i par som sätter sig mitt emot varandra, fast med en skärmvägg mellan dem. Den ena eleven får en konstruktion framför sig, medan den andra har delarna till konstruktionen framför sig. Uppgiften är att den första personen ska beskriva hur konstruktionen ser ut för den andre som ska bygga ihop dem. När båda tror att de har samma konstruktion framför sig tas skärmväggen bort och de kan jämföra dem. Vill man tävla så kan alla börja samtidigt, och den som först är klar är vinnare. Tillverka tävlingsarenan Ska man delta i Rescue B så är det väldigt bra att ha en labyrint att träna i. Att tillverka den kan vara ett utmärkt sätt för alla eleverna att arbeta tillsammans. Du kan själv välja hur mycket de ska göra. Planering, tillverka CAD ritning, prata med företag om materialsponsring, såga ut alla delar, montera ihop det Detta gäller naturligtvis också Rescue A. Lego i mörkret Det här kanske inte är så mycket av en kommunikationsövning, men rolig att leka ändå. En elev går in i ett mörkt rum (eller tar på sig en ögonbindel) där de får känna på en legokonstruktion (av standardklossar eller DUPLO). Uppgiften är att eleven ska använda känseln och memorera konstruktionen. Sedan får eleven komma ut i ljuset där hen ska återskapa konstruktionen med lika uppsättning klossar. Går att tävla i lag om det är mer uppskattat av eleverna. Du kan även göra svårare och mer komplexa konstruktioner om eleverna är duktiga! 7

9 Hur gör man en vinnande robot? Många har frågat mig hur man gör en vinnande robot, eftersom jag har vunnit en mängd olika tävlingar. Tyvärr finns det inget bra svar. Jag har dock sett ett tydligt samband mellan nedlagd tid och erhållen placering. Ju mer tid du lägger ned på förberedelse desto bättre resultat blir det! Låter rätt logiskt, men det finns många otåliga elever som inte förstår det. Jag har lagt ned otaliga timmar på att läsa på Internet om programmering och konstruktion. Och även med kunskap så tar det många månader att bygga och programmera en robot, följt av mycket testande! Hur som helst så har jag bestämt mig för att skriva några rader om hur man kommer igång och löser några av standardproblemen som många lag stöter på i RoboCup Junior Rescue A! Jag gör detta med utgångspunkt ifrån Lego Mindstorms och programmeringsspråket NXT-G, men det är naturligtvis upp till er att välja vad ni vill använda. De bästa lagen internationellt sett har egenbyggda robotar som de programmerar i textuella språk. Men det är svårt att ge praktiska råd om något sådant eftersom det finns oändligt med möjligheter! RoboCup Junior är skapat så att alla lag ska lyckas med någonting. Du behöver inte ha en robot som klarar alla uppgifter för att få poäng. Därför kan man sätta upp delmål: Du kan följa en linje? Jättebra, nu kan du försöka klara av avbrott i linjen! Okej, du klarar av avbrott utan problem? Låt oss ställa dit ett hinder på linjen som roboten ska ta sig runt! Nu klarar du allting som har med linjen att göra! Försök att få roboten att söka efter ett offer i ett område utan linjer. Reglerna Börja med att läsa igenom de officiella reglerna noga. De hittas via Det är viktigt att du som mentor kan reglerna om det skulle uppstå oklarheter. Vi har medvetet låtit bli att översätta reglerna till svenska för vi vill att eleverna tränar sin engelska, det är viktigt att kunna sätta sig in i en text på ett främmande språk. Men det är inte alltid så enkelt för t.ex. en sjätteklassare att förstå sig på alla reglerna och då är det din uppgift att förklara. Det är även dessa regler som gäller på VM. Skulle ni fortfarande ha funderingar kring reglerna så finns det internationella communityt där ni kan ställa en fråga och få svar från de som skrivit reglerna. Läs gärna igenom de viktigaste reglerna tillsammans med klassen så att du försäkrar dig om att de förstått dem. När jag var yngre hade jag missförstått reglerna i en tävling och fick reda på att min robot inte uppfyllde kraven när jag var framme på tävlingen i Stockholm. Det är inte roligt för någon. 8

10 Bryt ned problemet Försök dela upp uppgiften i olika moment. Ett förslag på uppdelning: Följa en linje Roboten måste kunna följa en linje som är både rak och kurvig. Roboten måste klara av kurvor utan att tappa bort linjen. Klara farthinder Längsmed banan kan det finnas små hinder som roboten måste ta sig över. Hitta tillbaka till linjen efter avbrott Vissa sektioner av linjen saknas och då måste roboten klara att navigera på egen hand tills linjen kommer tillbaka. Upptäcka stort hinder När det finns ett stort hinder framför roboten så måste den navigera runt det. Köra uppför rampen Roboten måste ta sig upp för en 25 graders brant ramp utan att välta. Hitta offret När roboten kommer in i sista rummet måste den kunna hitta offret. Rädda offret Roboten måste även klara av att flytta offret till den säkra zonen, som för de äldre eleverna är en upphöjd plattform. Ramp Offer Plattform Avbrott Hinder Farthinder Figur 1: Bana från RoboCup 2012 i Mexico. Riktigt såhär svårt tror jag inte att det kommer vara i Sverige. 9

11 Konstruktion För att vinna behöver laget inte bara kunna programmera bra, de måste även ha en bra konstruktion. Det finns flera saker på banan som innebär konstruktionssvårigheter för både Rescue A och Rescue B. Farthinder Pinnar med en diameter på max 1 cm som sitter fast på marken. Småskräp Tandpetare och annat smått som inte sitter fast på marken. Används sparsamt i Sverige. Hinder Större saker som kan stå på eller bredvid linjen och som roboten måste köra runt. Ramp Roboten måste ta sig upp för en ramp för att komma till området med offret. Rampen & Farthinder Detta är huvudsakligen ett konstruktionsproblem. Det gäller att placera tyngdpunkten rätt för att både orka ta sig över farthinder och ta sig upp för rampen. Många robotar fastnar på farthindren eller tappar linjen när de är på väg över hindret. Det kan bero på en rad olika saker och jag tror att eleverna måste testa sig fram för att hitta en bra konstruktion! Många robotar skakar till när de stöter i farthindren och tappar då linjen. Försök att variera hastigheten som roboten kör med. Roboten måste fortfarande ha tillräcklig kraft för att orka över hindret. Robotar med längre hjulbas tenderar att klara av hindren bättre än de med kort hjulbas. Bredden mellan robotars hjul verkar inte påverka robotens förmåga att ta sig över hinder, men däremot gör en bredare hjulbas att roboten är mer stabil och inte hoppar i sidled lika lätt. Experimentera med olika sorters däck i olika material så att roboten inte slirar. Håll också koll på markfrigången så att inte roboten kan få ett farthinder under sig och fastna med hjulen i luften. Farthinder behöver inte alltid vara vinkelräta mot linjen som roboten följer. Försök att hålla ljussensorerna nära marken och skyddade från omgivningen även när roboten kör uppför rampen. Det är även viktigt när roboten kommer högst upp för rampen, ljussensorerna ska aldrig hamna för långt ifrån marken! Får ni problem med rampen så kan ni testa att backa upp för den istället. Men då måste roboten ha något som avgör att ni är framme i rampen så att roboten kan vända sig om. Det går också att sätta på vikter. Ta lite stål eller annat tungt material och tejpa fast på lämpliga ställen på roboten! Det kan hjälpa att öka vikten över däcken. 10

12 Släpskor eller Glidpluttar Släpskor fungerar bra om de är vinklade på rätt sätt. Annars tar de i farthindren och slits antingen loss eller förhindrar roboten från att röra sig. Figur 2: Släpsko Denna släpsko kan möjligtvis fungera om hjulen sitter längst fram på roboten. Men olyckligtvis så tyder placeringen av ultraljudssensorn och ljussensorerna på att den är designad att röra sig åt höger. Denna släpsko kommer naturligtvis att fastna på farthindret. Länkhjul Ett bakre länkhjul, eller så kallat kundvagnshjul, kan användas om dess diameter är tillräckligt stor för att inte fastna på farthindren. Emellertid är det största problemet med länkhjul att de brukar hamna snett när roboten vinglar fram och tillbaka över linjen, vilket gör att roboten uppträder oförutsägbart. Det kan också innebära stabilitetsproblem när du försöker ta dig över farthindren med en triangulär robotbas. Figur 3: TriBots Länkhjul Det fungerar halvbra. Du kan dock få problem med att L balken tar i farthindret och eftersom hjulet är litet är det svårt att ta sig över större farthinder. 11

13 Larvband Denna form av drivning klarar nästan alla underlag och klarar farthinder enkelt. De är dessvärre långsamma, men det viktigaste är säkerhet. Tiden spelar endast roll om två lag har samma poäng, eller om roboten överstiger maxtiden såklart. Jag vet flera lag som haft problem med att banden slirar i rampen, men får man till bra grepp är detta ett riktigt bra alternativ! Följa linje För att en robot ska följa en linje måste den ha en sensor som kan upptäcka linjen. De bästa sensorerna för detta är en färgsensor eller en ljussensor. Jag kommer nedan endast skriva ljussensor, för det är den sensor jag arbetat med, men det fungerar lika bra med en färgsensor. För att följa en linje behöver roboten åtminstone en ljussensor. Med bara en ljussensor kan roboten följa en kant av linjen. En bättre lösning är att använda två eller fler ljussensorer, då kan roboten hålla linjen mellan sensorerna. Att använda tre ljussensorer är en mer avancerad metod för att följa linjen och gör att roboten kan hålla den tredje sensorn ovanför linjen hela tiden medan de två andra avgör åt vilket håll roboten ska svänga. Genom att använda smart matematik kan roboten programmeras att svänga snabbare eller långsammare beroende på hur dessa tre sensorer ser linjen. Tre sensorer gör det också enklare att upptäcka när roboten befinner sig vid ett hål i linjen. En ljussensor Vi börjar med att skriva ett program som bara använder en sensor. Tricket för att få en robot att följa en linje är att hela tiden sikta mot dess kant. Här har jag valt den vänstra sidan, men testa gärna att följa höger kant sen! Figur 4: Följer vänster sida Ljussensorn är ovanför vänster kant av linjen när man programmerat den att följa vänster sida. 12

14 Om roboten startar på linjen ser ljussensorn svart underlag. Då vet vi att linjens vänstra kant är till vänster och roboten bör svänga åt vänster. Vi vill samtidigt att roboten ska ta sig framåt längsmed linjen, så för att svänga vänster kör vi bara höger hjul framåt. Figur 5 Ljussensorn ser mörkt Roboten är på mörkt underlag. Vänstra kanten är till vänster om roboten. Figur 6: Sväng vänster Därför ska roboten svänga vänster. Enda gången som roboten bör se ljust underlag är när vi har kört av linjen åt vänster. Eftersom vi hela tiden strävar efter att följa linjens vänstra kant så behöver roboten svänga höger för att hitta tillbaka till kanten. Då gör vi alltså en sväng till höger genom att köra framåt med vänster hjul. Tillslut kommer den se mörkt igen! Figur 7: Ljussensorn ser ljus Roboten är nu ovanför ljust underlag. Vänstra sidan av linjen måste vara till höger. Figur 8: Sväng höger Därför måste roboten svänga höger till kanten av linjen 13

15 Genom att sätta dessa två beteenden i en loop kommer roboten studsa fram och tillbaka mellan ljusa och mörka områden. Roboten kommer wobbla sig fram längsmed linjen. Figur 9: Följer linjen Roboten kommer följa linjen tills den tar slut. Nu när du förstår algoritmen så kan vi börja skapa programmet i NXT-G. Figur 10: Börja med ett nytt rent program! 1. Välj Arkiv > Ny 2. Ett nytt Untitled-1 arbetsbord skapas 3. Välj Arkiv > Spara 4. Skriv in ett lämpligt namn på programmet, t.ex. LineTrack1.rbt 14

16 Figur 11: Nu kan vi börja skriva ett program. 1. Dra ett loop-block till tidsaxeln. Detta block kommer göra att sväng höger respektive vänster upprepas om och om igen så att roboten följer linjen för evigt. 2. Låt inställningarna vara, den ska loopa (upprepas) för evigt. Figur 12: Placera ett förgrenings-block i loop-blocket 1. Sätt kontroll inställningen till sensor 2. Ändra sensor till ljussensor 3. Ändra port till port Ändra jämför till mindre än (<) 45 och lämna generera ljus på. 15

17 Figur 13: Placera fyra motor-block inuti förgrenings-blocket för att styra robotens rörelser. 1. Kontrollera att du använder motor-block med ett kugghjul och inte kör-block som har två. Motor-blocken är bättre när vi vill kontrollera motorerna separat. 2. På förgrenings-blockets övre gren låter du motorn på port B rotera framåt medan motor C är avstängd. 3. På den nedre grenen ställer du in motorerna på motsatt sätt. Se bild ovan. Figur 14: Testa programmet! 1. Kontrollera så att roboten är på och ansluten med USB till datorn innan du klickar på nedladdningsknappen. 2. Kolla så att du har anslutit motorerna och ljussensorn till rätt portar innan du startar programmet. 3. När du har laddat ned programmet kan du antingen koppla loss den från datorn och välja ditt program i NXTn eller så kan du behålla den ansluten och starta det från datorn med hjälp av körknappen. Om roboten tappar linjen betyder det troligtvis att tröskelvärdet för ljussensorn är fel. Roboten tror att den ser mörkt fast den är på ljust underlag, eller ljust även om den är på mörkt underlag. Roboten letar efter ännu ljusare eller ännu mörkare, men kommer antagligen aldrig hitta det eftersom tröskelvärdena är fel. Om du ser att roboten "studsar" fram och tillbaka längs med linjen så fungerar programmet korrekt, och vi kan gå vidare till ett mer avancerat program! 16

18 Två Sensorer Nu ska vi skriva ett program som använder två ljussensorer. Det finns många sätt att följa linjen med två ljussensorer, jag beskriver nu ett ganska primitivt sätt eftersom jag vill att lagen själva ska utveckla bättre sätt! Roboten bör hålla linjen mellan dess bägge ljussensorer hela tiden. För att göra det så bör höger ljussensor följa linjens högra kant medan den vänstra följer linjens vänstra kant. För att detta ska fungera måste ljussensorerna sitta på ungefär samma avstånd mellan varandra som linjen är bred. Figur 15: Robot med två ljussensorer Metoden går ut på att ingen ljussensor vill se mörkt. Roboten kommer läsa av en sensor i taget. Skulle höger sensor se mörkt så ska roboten svänga åt höger för att komma bort från linjen igen. Skulle vänster sensor se mörkt så svänger roboten vänster för att flytta tillbaka sensorn utanför linjen igen. Roboten kommer även nu att åka zick-zack längs med linjen, men eftersom vi har koll på både vänster- och högerkanten så kommer roboten klara tvära svängar på ett bättre sätt! Börja med ett nytt program. Gör som vi gjorde tidigare för att skapa en ny tom arbetsyta och spara den som t.ex. LineTrack2.rbt 17

19 Figur 16: Dra in en evighetsloop till tidsaxeln. Lämna precis som tidigare kontroll på obegränsad. Figur 17: Placera två förgrenings-block i loop-blocket 1. Ställ in dem som ljussensorer, som vi gjorde tidigare. 2. Men konfigurera det första förgrenings-blocket till port 1 och det andra till port Sätt compare värdet till mindre än (<) 40 och lämna generate light på. Observera att dina ljussensorer kan behöva olika tröskelvärden även fast de sitter på samma robot! 18

20 Figur 18: Placera ett motor-block på vardera grenen av varje förgrenings-block. Stoppa den övre motor och låt den andra köra framåt obegränsat. Figur 19: Kontrollera så att alla ljussensorerna är anslutna till rätt portar och att roboten är ansluten till datorn innan du laddar över programmet. Som jag skrev ovan kan du starta programmet via datorn eller i NXTn. Ta dig tid att läsa igenom hela programmet och se till att du förstår det. Skulle roboten inte följa linjen alls så är det mest troligt ljusvärdenas fel. För att förbättra linjeföljaren kan du tänka på följande: Lägg de två sensorerna i parallella tidsaxlar så roboten kollar dem samtidigt. Mer om parallella tidsaxlar kommer senare. Försök göra så att roboten inte stannar när båda sensorerna ser svart. 19

21 Två Ljussensorer Alternativ För att visa att det går att göra många olika linjeföljare tar jag upp en till variant. Det är viktigt att eleverna får försöka på egen hand och utveckla egna algoritmer för att följa linjen. Det finns betydligt fler än de metoder jag tar upp här, och många som är bättre! Programmet nedan gör att roboten rör sig jämnare längsmed linjen. Båda sensorerna läses av innan roboten väljer åt vilket håll den ska svänga. Denna linjeföljare kommer alltså veta vilket håll den behöver svänga och fortsätta att svänga när den stöter på skarpa svängar. Figur 20: Alternativ metod att följa linje Det är oftast smart att skriva ned ljusvärdena i en tabell för att få överblick. Speciellt om man skapar en lite större tabell där man kan ha med historik över hur ljusvärdena förändras. Vit Svart Höger ljussensor Vänster ljussensor Figur 21: Vi börjar med att placera ett loop-block från flödes-paletten på tidsaxeln. Loopen fyller vi med två förgrenings-block enligt bilden ovan. Ändra inställningarna i förgrenings-blocket till ljussensorer, med den första på port 2 och den andra på port 1. 20

22 Figur 22: Lägg till ett kör-block från Standard-Paletten. Använd bara motorn på Port B. Sätt riktning till framåt och kraft till 50%. Figur 23: Placera ett vänta-block efter kör-blocket. Sätt sensor till ljussensor, port till 1 och tills till mindre än ett värde mellan svart och vitt för sensor 1 (för denna robot 50). 21

23 Figur 24: Nu lägger du till ett kör-block efter vänta-blocket som stoppar båda motorerna. Figur 25: Lägg in ett kör-block på den övre grenen i första förgrenings-blocket. Ställ in den på port B och C, riktning framåt, svänga åt höger, kraft 50 % och varaktighet till obegränsat. Detta är första halvan av programmet. Du bör nu kunna bygga upp den andra halvan på egen hand. Kom ihåg att roboten ska svänga åt andra hållet och få information från den andra ljussensorn. 22

24 Figur 26: Det kompletta programmet ska se ut såhär. Ladda över och testa programmet som tidigare! Sådär! Nu har du ytterligare ett sätt att följa linjen. Experimentera med parametrarna tills din robot följer linjen utan att tappa den. Försäkra dig om att du förstår programmet. Hinder Hinder består av stora, tunga föremål som roboten måste ta sig förbi. Till exempel en 1,5 liters PET-flaska med vatten eller en tegelsten. Lagen vet inte på förhand hur stora hindren är, men de är inte jättestora. Roboten måste upptäcka att det är något i vägen och sedan navigera runt hindret för att kunna fortsätta att följa linjen på andra sidan. Roboten får inte medvetet flytta något hinder. Dessutom kan hindren stå nära en vägg så ibland går det bara att ta sig runt hindret åt ett håll. Hinder kan dock aldrig förekomma i korridoren eller på ställen där båda sidorna är blockerade. För att upptäcka hinder kan man bland annat använda Ultraljud Trycksensorer IR-ljus Ultraljud fungerar ganska bra, men om hindren är runda kan ultraljud ge osäkra resultat då ljudvågorna studsar tillbaka från hindren med en vinkel istället för rakt tillbaka till sensorn. Jag ska visa en lösning som använder en trycksensor. 23

25 Hitta hinder med Trycksensor Att upptäcka hinder med trycksensor är ett av de enklare sätten och eftersom hela uppdraget är rätt svårt är det bra att hålla varje del så enkel som möjligt. Roboten måste konstrueras så att trycksensorn sitter längst fram på roboten, utan att påverka ljussensorerna eller sensorerna för att upptäcka offret. Figur 27: Jag monterade lego-trycksensorn längst fram på TriBot så att den sticker ut framför ljussensorerna. Jag har nedan ersatt algoritmen för att följa linje med en raksträcka, eftersom sättet att följa linje är oväsentligt här. Det är bra att bygga sina program i delar och nu vill vi bara utveckla den del som tar sig runt hinder. Figur 28: Placera ett loop-block på tidsaxeln med ett kör-block inuti som körs obegränsat långt. 1. Ändra inställningarna för loop-blocket till en trycksensor. 2. Se till att du väljer rätt port för din trycksensor, min sitter på port Sätt åtgärd till intryckt. 24

26 Ladda ned programmet och placera roboten framför ett hinder, när du startar programmet bör roboten köra framåt tills den krockar i ett hinder. Som du märker så tvärstannar inte roboten när trycksensorn aktiveras. Kör-blocket försöker inte bromsa motorn när loopen tar slut, den rullar med friläge tills friktionen bromsar den. Eftersom vi vill att roboten inte välter eller flyttar hindren måste vi omedelbart stoppa båda motorerna. När roboten har hittat ett hinder ska vi skriva en rutin som navigerar runt det. Du kan använda flera metoder för att ta dig runt hinder, t.ex. genom att montera en annan trycksensor på sidan av roboten som gör att roboten kan känna sig runt hindret. Det är ett bra sätt att ta sig runt hinder, eftersom ni inte vet hur stora hindren är. Tyvärr kräver det en till sensor och det brukar vara brist på ingångar till NXTn. Nedan använder jag mig av rotationsräkning för att ta mig runt hindret, eftersom det är relativt enkelt. Figur 29: Programmet ovan är bara en skiss och du behöver experimentera och justera parametrarna för att din robot ska ta sig runt specifika hinder på ett bra sätt. Lägg märke till att jag använder motor-block istället för kör-block i mitten av programmet. Detta gör jag för att roboten ska stanna direkt ljussensorn på port 3 upptäcker linjen. Var uppmärksam på denna skillnad mellan blocken när du programmerar din robot! Genom lite experimenterande kan du snart programmera din robot att ta sig förbi allehanda hinder och hitta tillbaka till linjen på andra sidan! Naturligtvis måste ditt program även klara av att följa linjen och klara sig förbi avbrott, men det är bra att dela upp programmet i separata delar. Klarar eleverna av att dela upp ett komplext problem i mindre delar blir de duktiga problemlösare! 25

27 Hitta offer När roboten har tagit sig upp för rampen så återstår det att hitta och leverera offret till det säkra området. Det finns flera sätt att söka efter offret: Slumpvis sökning: Roboten kör framåt och bakåt medan den svänger lite vid varje vändning för att genomsöka hela rummet och förhoppningsvis hittar roboten offret med t.ex. en trycksensor. Ljussensor och lampa Denna metod fungerar väldigt bra om det inte vore för plexiglasväggarna som används i vissa arenor. Dessutom kräver den en ljuskälla, t.ex. en ficklampa som måste vara tillräckligt liten för att få plats på roboten, men samtidigt tillräckligt stark för att något ljus ska reflekteras tillbaka till en ljussensor. Laser har används förr, men är nu inte tillåtet på grund av säkerhetsaspekter. Ultraljud Ultraljudssensorn kan också användas för att upptäcka offret. Som jag tidigare nämnt har den problem med att se runda föremål, men jag vet många lag som lyckats använda ultraljud för att hitta offret utan några problem! Två avståndssensorer Genom att ha två riktade avståndssensorer på olika höjd kan roboten dra slutsatsen att offret finns framför sensorerna när de läser av olika avstånd. Nedan är ett enkelt program som använder en ultraljudssensor för att hitta offret. Roboten åker in i övre rummet en bit och gör därefter en långsam sväng samtidigt som den läser av ultraljudssensorn. Eftersom ultraljudssensorn inte ser hur långt som helst, är det inte säkert att roboten hittar offret på första vridningen. Då måste roboten köra fram lite till och göra en ny sökning efter offret. Figur 30: Ett enkelt sökprogram 1. Första kör-blocket kör roboten in i rummet några decimeter. 2. Andra kör-blocket svänger roboten till vänster lite mindre än 90 grader. 3. Tredje kör-blocket svänger roboten åt andra hållet tills ultraljudssensorn, fjärde blocket, ser något närmare än 50cm. 4. På grund av att ultraljudssensorn har ett så brett synfält kommer roboten stanna innan den pekar rakt mot offret. För att kompensera för detta la jag in det femte blocket som vrider roboten lite till mot offret innan den kör fram till offret med det sjätte blocket. Att använda Ultraljud för att hitta offret är inte jätteenkelt eftersom den har ett brett synfält och ljudvågorna studsar lite snett tillbaka från offret. Du kan försöka att smalna av sensorns synfält med ett rör av kartong eller liknande. Eller försöka använda en annan metod att upptäcka offret? När roboten har lokaliserat offret ska den köra fram för att flytta det till det säkra området. Först då är en säker räddning genomförd! 26

28 Fördjupning För att klara hela banan måste roboten programmeras på ett sätt som gör att den kan agera i en okänd miljö. För att klara detta måste roboten konstant övervaka sensorerna för att se om en viss situation uppstår och i sådana fall reagera på rätt sätt. När en händelse sker så aktiveras ett speciellt beteende. Det kan liknas vid med mänskliga reflexer. Till exempel behöver roboten hela tiden vänta på att hindret kanske hamnar i robotens väg, samtidigt som den följer linjen. Om roboten upptäcker hindret måste den snabbt sluta att följa linjen och istället navigera runt hindret. Programmet behöver en simultankapacitet för att övervaka vissa händelser, hinder, avbrott, ramp etc. samtidigt som det gör något annat som att följa linjen. Händelser & parallella tidsaxlar NXT-G klarar att köra olika delar av programmet simultant med hjälp av något som kallas parallella tidsaxlar. Till exempel kan två motor-block köras samtidigt. Figur 31: Parallella tidsaxlar För att lägga till en axel som körs samtidigt som huvudprogrammet måste vi dra ut en ny lego-balk från startpunkten. Klicka och dra med musen ifrån den nedre delen av startpunkten, dra nedåt och sedan till höger, liknande bilden ovan. Dubbelklicka för att avsluta dragningen. Du kan även skapa parallella tidsaxlar mitt i programmet med hjälp av shift-tangenten, men jag tycker att programmet kan bli rörigt då. 27

29 Figur 32: Dessa program kan vid första anblicken verka vara identiska. Programmet till vänster har två motorer som kör i en sekund vardera. Programmet till höger har två motorer med exakt samma inställningar. Programmen är dock inte likadana, om du kör det vänstra programmet kommer motor B att rotera i en sekund och sedan stanna, därefter kommer motor C att köra en sekund och sedan stanna. I programmet till höger kommer båda motorerna köras samtidigt i en sekund eftersom de ligger på parallella tidsaxlar. Som jag tidigare nämnde måste vår robot klara av att Vänta på att händelser ska triggas, t.ex. en trycksensor som känner av hinder. Byta från ett beteende till en annan när roboten kräver det, t.ex. byta från linjeföljning till att navigera runt hindret. Roboten behöver veta vilket beteende den ska utföra. Om vi tilldelar varje beteende ett nummer kan vi spara dem i en variabel som kan ändras när olika händelser upptäcks av robotens sensorer. Vi kan skapa en lista med beteenden och dess nummer 0. Linjeföljning 1. Hinder 2. Avbrott 3. Söka och rädda offer Nu behöver vi en kontrollstruktur som kan hantera flera händelser. Det första som dyker upp i huvudet (åtminstone för mig) är en switch-sats som väljer ett bland flera alternativ. Lyckligtvis har NXT-G ett flervals-block! Förgrenings-blocket kan ställas in så att det klarar fler än två olika val och därmed skapas något som motsvarar en vanlig switch-sats. Programmet nedan har ett förgrenings-block som jag har ändrat till kompakt läge (genom att bocka ur rutan platt vy ) med kontrollparametern satt till värden. Om du sedan väljer typ till nummer kan du lägga till fler alternativ genom att trycka på den lilla + symbolen i villkors-rutan. Jag la in fyra olika val som dyker upp som olika flikar, en för varje beteende. Figur 33: Multi-val-block med fyra alternativa sekvenser Du kan hålla musen över varje flik för att se vilket värde som är tilldelat till den, och genom att klicka på den så ser du de programmeringsblock som kommer köras när det värdet är uppfyllt. 28

30 En fördel med denna metod är att lagen kan dela upp arbetsuppgifterna mellan sig och medlemmarna kan lösa olika problemen separat. När ett beteende fungerar så behöver det bara inkluderas i huvudprogrammet. Multi-Tasking Algoritm funktion Beteende1: { // Programmet följer linjen och tar // sig över farthinder } funktion Beteende2: { // Programmet tar sig runt hindret } funktion Beteende3: { //... } funktion Beteende4: { //... } funktion Huvudprogram: { kontrollera(beteendenummer): { om 1: anropa Beteende1 om 2: anropa Beteende2 om 3: anropa Beteende3 om 4: anropa Beteende4 } } Så här kan algoritmen se ut i ett textuellt språk. Nu ska jag visa hur du kan byta mellan olika beteenden med NXT-G block. Vi behöver ett sätt att generera och spara ett värde när en händelse inträffar. För att spara ett värde ska vi använda en variabel. För att skapa värdet behöver vi block som konstant kontrollerar om en specifik händelse inträffar och när den gör det, sparar rätt värde i variabeln. 29

31 Först skapar (deklarerar) vi en variabel, alltså en plats där vi kan spara värden. Figur 34: Skapa ett nytt program och kalla det t.ex. HittaHinder.rbt. Figur 35: Nu väljer du Redigera och sedan Definiera variabler Figur 36: Välj Skapa. Skriv in namnet på variabeln i Namn fältet och ändra Datatyp till Nummer. Därefter klickar du Stäng. 30

32 Figur 37: Lägg in ett förgrenings-block i en yttre evighetsloop Loopen lämnar vi på för evigt eftersom vi hela tiden vill leta efter hinder. Kom ihåg att det kan förekomma fler än ett hinder. Kolla så att porten är till den trycksensor som du använder för hinder. Figur 38: Placera ett Matematik-block och ett Variabel-block på båda grenarna i förgrenings-blocket. Dessa block hittar du under data-panelen. Ta fram data-hubbarna genom att klicka på fliken längst ned till vänster i blocken. Där kan du ansluta datakablar som skickar information mellan olika block. 31

33 Figur 39: Välj det översta matematik-blocket och sätt Funktiom till Addition och B till 1. Sedan väljer du även det nedre matematik-blocket och sätter Funktion till Addition samt B till 0. Figur 40: Ändra variabelblocken så de skriver till den variabel, BeteendeNummer, som du nyss skapade. Det tillåter oss att ändra värdet av variabeln. Figur 41: Om du håller musen över #-anslutningen från matematik-blocket så kommer musen ändras till en trådrulle. Du ska klicka och dra ut en sladd därifrån till variabel-blockets #-anslutning. Ledningen som binder samman dessa ska vara gul. Gör detta för båda grenarna i förgrenings-blocket. 32

34 I vårt program vill vi att variabeln ska ändras till 1 om trycksensorn trycks in. Men hur ska vi veta att det fungerar!? Genom att sätta in block för felsökning i programmet kan vi se att värdet av variabeln ändras när vi trycker in sensorn. NXT-G har möjlighet att skriva ut text och grafik till skärmen. Därför kommer vi att skriva ut värdet av BeteendeNummer till skärmen så att vi kan se att värdet ändras korrekt. När du programmerar är det bra att på det här sättet verifiera att ditt program fungerar som du har tänkt dig. Figur 42: Placera ett variabel-block, ett Nummer till Text -block och ett NXT-Fönster-block på tidsaxeln efter förgrenings-blocket. Figur 43: Ändra inställningarna som ovan. Detta variabel-block kommer hämta det värde som vi sparar i förgrenings-blocket. Om trycksensorn är intryckt bör detta värde vara 1, annars bör det vara 0. Låt inställningarna för Nummer till Text -Blocket vara. Figur 44: Ändra NXT-Fönster-blockets åtgärd till text, låt allting annat vara. Dra datakablar mellan blocken som Figur 42 visar och ladda över programmet till din robot. Se till att du har en trycksensor ansluten till rätt port på din robot innan du startar programmet. Om allting fungerar ska skärmen visa en 1 när du trycker på trycksensorn. När du släpper ut trycksensorn så ska den återgå till en 0. 33

35 När du väl vet att allting fungerar som det ska, kan du ta bort felsökningsblocken från ditt program. Ju färre block NXTn behöver bearbeta, desto snabbare och resurssnålare kommer ditt program bli på din NXT. Mina Ikoner För att ditt huvudprogram ska bli mer kompakt och överskådligt kan du skapa hemgjorda block, så kallade Mina Ikoner. Dessa är egentligen minimerade program som du kan öppna och modifiera om du behöver. En annan fördel med Mina Ikoner är att utvecklingsverktyget du programmerar i inte behöver ladda in alla block på en gång och därför går snabbare att arbeta med. Om ni har problem med att programmeringsmiljön laggar eller kraschar kan Mina Ikoner hjälpa er! Figur 45: För att skapa Mina Ikoner behöver ni markera er färdiga "hitta hinder"-rutin genom att dra musen runt alla blocken på skärmen. Figur 46: Under Redigera menyn väljer du "Skapa en ny Min ikon-fil". 34

36 Figur 47: Följande fönster kommer dyka upp. Döp blocket till någonting meningsfullt, t.ex. HittaHinder. Skriv in en beskrivning om du vill, och välj sedan Nästa. Figur 48: Välj en beskrivande ikon att ha på ditt egna block och välj sedan Slutför. Du kan läsa mer om Mina Ikoner (My Blocks) på NXT Programs 35

37 Nu kan vi använda vårt HittaHinder-block i vårt huvudprogram. Figur 49: Här ser vi ett räddningsprogram under utveckling! HittaHinder-blocket har placerats på en parallell tidsaxel så att programmet kollar efter den händelsen simultant. Jag tänker inte visa innehållet i de andra hemgjorda blocken, det klurar ni nog ut på egen hand! Huvudprogrammet kommer hela tiden övervaka variabeln BeteendeNummer som vi läser med det första blocket i loopen. Värdet skickas vidare med en datakabel till förgrenings-blocket och beroende på vilket värde det är körs olika delar av programmet. Fall 0 = Linjeföljning Fall 1 = Ta sig runt hindret Etc. 36

38 Vanliga fel Ljusvärdena! Så fort roboten tappar linjen utbrister lagen Det är de där jävla ljusvärdenas fel! Därefter springer de till datorn för att justera dem, det är ett evigt justerande upp och ned. En ljussensor klarar enkelt av att se en svart linje i ett ljust klassrum, men tävlingsarenan kanske har dålig belysning och skuggor vilket ställer till problem för sensorn. Mitt råd är att bygga en robot som inte påverkas av de yttre ljusförhållandena. Kapslar ni in ljussensorerna så att inget yttre ljus kan nå dem, kommer ljusvärdena hålla sig stabila. Försök också att montera ljussensorerna så nära marken det bara går. Om de sitter de för långt ifrån marken studsar för lite ljus tillbaka in i sensorn som mäter det reflekterade ljuset. Var beredd på att justera ljusvärdena vid tävlingen. Antingen kan ni kalibrera robotarna manuellt genom att läsa av extremvärdena, eller kan ni skriva en kalibreringsrutin i ert program så att roboten automatiskt kalibrer sig när du startar programmet. Men kom ihåg att ni inte alltid har tillgång till tävlingsbanan för att ta sensoravläsningar. Läs mer om hur du undviker problem med ljusvärdena på Batterierna! Roboten drar snett! Det måste bero på batterierna! Det hör jag inte lika ofta längre. Förr när alla använde Lego Mindstorms RCX så hade inte motorerna inbyggda rotationssensorer och då var det vanligt att motorerna gick olika snabbt, vilket fick till följd att roboten drog snett. Det ligger en del sanning i påståendet. Roboten kan fortfarande bete sig märkligt när batterierna håller på att ta slut. Men om NXTn har mer än 7V tror jag på andra orsaker. Testa att para ihop bra däck med varandra? Skiljer det bara någon mm i diameter så gör det stor skillnad på långa raksträckor. Värt att notera är också att olika programmeringsspråk har olika algoritmer för att synkronisera hastigheten på motorerna. Min erfarenhet säger att LeJOS pilot går rakare än NXT-Gs kör-block. I Rescue A så är inte detta ett så stort problem eftersom den enda gången roboten manövrerar fritt är i offer-rummet, och där är precisionen inte jätteviktig. 37

39 Inga fler portar! Åhnej, vi har inte plats att ansluta fler sensorer/motorer! Det är lite tråkigt att NXTn bara har fyra ingångar och tre utgångar. Som tur är finns det flera sätt att lösa detta på! Flera processorer Robotar kan byggas med fler än en processor. Genom att använda två NXTs kan du kontrollera upp till 6 motorer och 8 sensorer. Med detta kan du skapa väldigt coola konstruktioner med många typer av rörelser. Programmen på varje NXT kommer köras oberoende, men kan synkroniseras vid vissa ställen i programmet genom att använda sensorer eller Bluetooth. Ett primitivt sätt att kommunicera mellan två NXTs är genom att ansluta en ljussensor till en NXT och en lampa till den andra. Då kan du skicka över meddelanden genom att blinka med lampan och räkna längden eller antalet blink. Bluetoothkommunikation Ett modernare sätt är att skicka trådlösa meddelanden via Bluetooth. Det kan vara ett bra sätt för att synkronisera de olika programmen. En NXT kanske sköter mekanismen för att lyfta burken medan den andra har koll på drivhjulet. Då kan den senare NXTn skicka ett kommando när den har hittat burken så att den första vet att den ska lyfta. En NXT måste agera master och den kan hantera upp till tre slavar. Mastern kan skicka och ta emot meddelanden från alla slavarna. En slav kan bara skicka och ta emot meddelanden från mastern, inte mellan varandra. Observera att du kommer behöva åtminstone 1 sekunds marginal innan du skickar meddelanden till andra NXTs för att processorn tar tid på sig att byta Bluetoothkanal. Innan programmet som använder Bluetooth startas måste varje NXT paras ihop med sin master för att tilldelas ett anslutningsnummer. Kom ihåg att ge varje NXT ett unikt namn, eftersom du behöver kunna referera till dem när du försöker para och ansluta dem. Exempel på hur man kan använda Bluetooth i NXT-G finns på 38

40 Inget Lego? Vad gör man om man inte har Lego? Många skolor har inte Lego Mindstorms, FischerTechnik, RoboRobo, VEX Robotics eller något annat kommersiellt kit för att konstruera robotar. Detta är inget hinder för att delta i RoboCup Junior! Det finns inga begränsningar på vilka delar man får använda på sin robot. Internationellt sett så är det väldigt vanligt att lag bygger sina robotar från grunden, det vill säga av elektronik. Viktigt att poängtera är att det inte är omöjligt! Har du understimulerade elever eller elever som älskar utmaningar tycker jag att de ska få testa att bygga sin egen robot! Det är otroligt lärorikt och samtidigt roligt! Eleverna kommer lära sig mer om de är med och planerar allt från sensorer, processorer och kretskort från grunden. Jag känner till skolor som tycker att det passar perfekt att bygga robotar i kursen Teknik 1! Kursen skulle passa bra för legorobotar, ännu bättre för egenutvecklade robotar! Jag tror att RoboCup täcker in väldigt många (alla?) av målen för kursen! Kom ihåg att det kan krävas en hel del av eleverna, men det är långt ifrån omöjligt! Jag vet att högstadieelever skulle fixa det om man inte bygger alltför avancerade robotar! 39

41 Lego med fördelar Hårdvara Om man inte riktigt är redo för att bygga en helt egen robotplattform men ändå vill ta det ett steg längre så rekommenderar jag att behålla NXTn och bygga egna sensorer till den. Det gjorde jag i en övergångsfas och det ger nya möjligheter till era NXT robotar! Bygg era egna sensorer eller testa att ansluta en Arduino som co-processor till din robot! Lego uppmuntrar "hackare" att förbättra deras produkter. All dokumentation går att ladda hem gratis från Mindstorms hemsida. NXTn går enkelt att bygga ut med hjälp av standardprotokoll, såsom I 2 C. Vill man inte bygga egna sensorer så finns det flera företag som redan tillverkar tredjepartssensorer för NXT. Värt att nämna är HiTechnic, Mindsensors och Dexter Industries som alla tillverkar väldigt bra sensorer för Lego Mindstorms. Även detta utvecklar elevernas kunskap eftersom de måste läsa på om ny hårdvara och skriva program som kan hantera mer indata. Mjukvara NXT-G som jag har visat här hur man programmerar i kan vara bra för nybörjare och är relativt lätt att komma igång med, men när man vill göra mer avancerade program så känns det väldigt begränsat. Då kan man istället programmera NXTn textuellt, och släppa lös oanade möjligheter! De mest populära textuella språken för NXTn är NXC (Not exactly C) och LeJOS, som är baserade på C respektive Java, men sedan finns det en hel uppsjö av olika språk anpassade för NXTn! Både NXC och LeJOS är gratis att använda och är lätta att komma igång med, speciellt för någon som har programmerat textuellt tidigare. Personligen så föredrar jag LeJOS, då det är ett kraftfullt språk och har en aktiv community. Det inkluderar ett stort bibliotek med färdig kod som underlättar mycket när man vill göra mer avancerade saker. Och så är det open-source, så all källkod finns fri tillgänglig så man kan se hur allting fungerar (eller varför det inte fungerar). 40

42 Experimentera! Även du som mentor får leka med lego! Om alla elever koncentrerar sig på sina problem kanske du har lite tid över att pilla på en egen robot? Jag tror att det är inspirerande för eleverna att se att även du kan arbeta med samma verktyg som dem. Ofta är det bästa sättet, eller till och med enda sättet, att hitta lösningen på problem genom att testa sig fram! NXT är ett bra verktyg att experimentera med, eftersom det är enkelt, snabbt och inte farligt att göra fel. Om du undrar vad ett speciellt block gör, eller vad som händer om du använder det på ett speciellt sätt Skriv ett enkelt testprogram och se vad som händer med en lämplig robot! Gör en ändring av blockets inställningar och se vad skillnaden blir! En generell regel när du testar dig fram är att hålla allting så enkelt som möjligt. Gör ditt testprogram så simpelt som möjligt och testa endast en ny sak i taget. Få den saken att fungera innan du lägger till någonting nytt, och när du testar olika inställningar är det bäst att bara variera en sak i taget. Tack! Hoppas vi ses på någon tävling i vår! Fredrik Löfgren 41

RoboCup Junior Dans Introduktionskompendium

RoboCup Junior Dans Introduktionskompendium RoboCup Junior Dans Introduktionskompendium Ett kompendium för mentorer till lag som deltar i RoboCup Junior Sverige. Förklarar vanliga problem och hur man ska tackla dem. Ger även nyttiga tips och råd

Läs mer

Roboten. Sida 1 av 11

Roboten. Sida 1 av 11 EV3 ipad Roboten Fyra output portar A,B,C och D(motorer) Fyra input portar 1,2,3 och 4 (sensorer) USB, Bluetooth, eller Wi-Fi koppling 16 MB flash minne 64 MB RAM SD Card Port: 32 GB Flera inbyggda verktyg

Läs mer

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

Legorobot. Lär dig programmera en legorobot. Teknikåttan 2009. Ola Ringdahl Lena Kallin Westin Legorobot Lär dig programmera en legorobot. Teknikåttan 2009 Ola Ringdahl Lena Kallin Westin Legorobot Sid 2 (6) Legorobot Sid 3 (6) LEGOROBOT Syfte Syftet med denna praktiska uppgift är att man ska få

Läs mer

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

Om NXTprogrammering. Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Vad är MINDSTORMS NXT? Om NXTprogrammering RCX-modul (Robotic Commander explorer) Styrenhet som innehåller liten dator Vad innehåller lådan? Liten dator, sensorer, motorer, hjul Massor av legobitar RCX-modulen Skärm Gå vänster

Läs mer

EV3 Roboten. Sida 1 av 13

EV3 Roboten. Sida 1 av 13 EV3 Roboten Fyra output portar A,B,C och D(motorer) Fyra input portar 1,2,3 och 4 (sensorer) USB, Bluetooth, eller Wi-Fi koppling 16 MB flash minne 64 MB RAM SD Card Port: 32 GB Flera inbyggda verktyg

Läs mer

3 augusti (G) Programmering: Lego

3 augusti (G) Programmering: Lego 3 augusti (G) Programmering: Lego Idag ska vi gå igenom vad en robot är, hur programmeringsmiljön ser ut och skriva våra första program. Vi kommer gå igenom flera gröna programmeringsblock, samt det orangea

Läs mer

Lego Robot [ ] [ ] [ ]

Lego Robot [ ] [ ] [ ] Lego Robot av [ ] [ ] [ ] INNEHÅLLSFÖRTECKNING LABB1 (INFORMATION) # UPPGIFT 1 # UPPGIFT 2 # UPPGIFT 3 # LABB2 (OPERATÖRER) # UPPGIFT 1 # UPPGIFT 2 # UPPGIFT 3 # LABB3 (VARIABLER) # UPPGIFT 1 # UPPGIFT

Läs mer

Edison roboten som går at bygga ihop med LEGO

Edison roboten som går at bygga ihop med LEGO Edison är en streckkodsläsande robot som på ett engagerande och roligt sätt lär ut elektronik och programmering. Edison har alla sensorer, utgångar och motorer som behövs för göra robotprogrammering riktigt

Läs mer

Laborationer i SME094 Informationsteknologi I för

Laborationer i SME094 Informationsteknologi I för Laborationer i SME094 Informationsteknologi I för basår Programmering av LEGO Mindstorms med ROBOLAB Johan Carlson Luleå tekniska universitet Inst. för Systemteknik EISLAB Email: johanc@ltu.se 25 mars

Läs mer

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

INNEHÅLLSFÖRTECKNING... 2 FÖRORD... 3 INLEDNING... 4 ATT ANVÄNDA MOTORERNA... 9 LOOP (UPPREPANDE) FUNKTIONEN... 10 SKAPA EN EGEN KLOSS... GRUNDKURS INNEHÅLLSFÖRTECKNING INNEHÅLLSFÖRTECKNING... 2 FÖRORD... 3 INLEDNING... 4 SKÄRMUPPBYGGNAD... 4 ROBOT EDUCATOR... 5 PROGRAMMERINGSRUTAN... 5 KNAPPARNA OCH KLOSSARNA... 6 UPPGIFTER... 8 ATT ANVÄNDA

Läs mer

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

Strukturerad problemlösning. Metoder och verktyg för datavetare Ht09 Strukturerad problemlösning Metoder och verktyg för datavetare Ht09 Syfte Syftet med uppgiften är att få kännedom om ett strukturerat arbetssätt för hur ett problem kan angripas i de olika steg som svarar

Läs mer

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

Programmering av NXT Lego- robot Labbrapport för programmering av en Lego- robot KUNGLIGA TEKNISKA HÖGSKOLAN Programmering av NXT Lego- robot Labbrapport för programmering av en Lego- robot Josef Karlsson Malik 2015-09- 02 jkmalik@kth.se Introduktionskurs i datateknik (II0310) Sammanfattning

Läs mer

Laboration i datateknik

Laboration i datateknik KUNGLIGA TEKNISKA HÖGSKOLAN Laboration i datateknik Felsökning och programmering av LEGO NXT robot Daniel Willén 2012 09 06 dwill@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Syftet med

Läs mer

Ha rätt sorts belöning. Åtta tips för bästa sätt hur du tränar din hund. Grunden till all träning:

Ha rätt sorts belöning. Åtta tips för bästa sätt hur du tränar din hund. Grunden till all träning: Åtta tips för bästa sätt hur du tränar din hund Grunden till all träning: Gör det lätt för hunden! Börja alltid på en nivå som är enkel för hunden och bygg på svårigheterna. På det sättet tycker hunden

Läs mer

Vilken version av Dreamweaver använder du?

Vilken version av Dreamweaver använder du? Sida 1 av 7 Lektion 1: sida 1 av 4 Till kursens framsida Sida 2 av 4» Lektion 1 Då ska vi sätta igång med den här kursens första lektion! Här kommer du att få lära dig hur man skapar och förbereder webbplatser

Läs mer

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

KUNGLIGA TEKNISKA HÖGSKOLAN. Linefollower. Med LEGO Mindstorms och NXC. Paul Coada 2012-08-29 coada@kth.se Introduktion i datateknik II1310 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

Läs mer

Felsökande av en Lego Mindstorm robot

Felsökande av en Lego Mindstorm robot KTH Felsökande av en Lego Mindstorm robot Med hjälp av NXC Hampus Liljedahl 3/9-12 hliljed@kth.se Introduction to Computer Studies II1310 Sammanfattning Jag har gjort en labb där jag felsökte en färdigskriven

Läs mer

Kombinationer och banor i agilityträningen

Kombinationer och banor i agilityträningen Kombinationer och banor i agilityträningen av Emelie Johnson Vegh och Eva Bertilsson, publicerad i Canis 2012 En av de saker som gör agility så fantastiskt roligt är den ständiga variationen. Ingen tävlingsbana

Läs mer

Laborationsrapport av robotprogrammering

Laborationsrapport av robotprogrammering KUNGLIGA TEKNISKA HÖGSKOLAN Laborationsrapport av robotprogrammering Programmering av LEGO MINDSTORMS robot Rikard Bjärlind 2012-09-07 E-post: bjarlind@kth.se Introduktionskurs i datateknik (H12) II1310

Läs mer

HEMISSON. Webots-Botstudio laborationsbok. Sida1

HEMISSON. Webots-Botstudio laborationsbok. Sida1 HEMISSON Webots-Botstudio laborationsbok Sida1 Allmänt om Hemisson Hemisson är en mobil minirobot för utbildning. Liknande enheter förekommer i en mängd sammanhang i dagens samhälle. Det kan vara i form

Läs mer

DEN RUNDA TUNNELN EN UNDERSKATTAD FIENDE

DEN RUNDA TUNNELN EN UNDERSKATTAD FIENDE DEN RUNDA TUNNELN EN UNDERSKATTAD FIENDE Av Marie Hansson När man är nybörjare i agility, eller ser sporten utifrån, är det lätt att tro att just den runda tunneln är det allra lättaste hindret! Och det

Läs mer

Programmeringspalett. Pr o gr a mvar a

Programmeringspalett. Pr o gr a mvar a Pr o gr a mvar a en innehåller alla programmeringsikoner du behöver för att göra dina program. Varje programmeringsikon innehåller instruktioner som din NXT-enhet kan tolka. Du kan kombinera ikonerna för

Läs mer

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

NXT LEGO-robot laboration Programmering och felsökning av en LEGOrobot KUNGLIGA TEKNISKA HÖGSKOLAN NXT LEGO-robot laboration Programmering och felsökning av en LEGOrobot Gabriel Vilén 30/8-2012 gvilen@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Vi har programmerat

Läs mer

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

LEGO Robot programmering och felsökning Hur svårt ska det vara att följa den svarta linjen? ICT LEGO Robot programmering och felsökning Hur svårt ska det vara att följa den svarta linjen? Daniel Lindfors 12/9/07 dlindf@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Denna laboration

Läs mer

Välkommen till Ipad för nybörjare

Välkommen till Ipad för nybörjare Välkommen till Ipad för nybörjare Detta häfte kommer innehålla Alla knappars funktioner Simplare och hjälpsamma sätt att kunna använda och ta sig runt i en Ipad Mindre genom gång av appar och dess betydelse

Läs mer

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

KUNGLIGA TEKNISKA HÖGSKOLAN. Laboration II1310. Programmera Lego Mindstorm robot i NXC KUNGLIGA TEKNISKA HÖGSKOLAN Laboration II1310 Programmera Lego Mindstorm robot i NXC Johnny Vu 120904 Jvu@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Vi har genomfört en laboration för

Läs mer

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

Kevin Lane Kungliga Tekniska Högskolan Introduktionskurs i Datateknik (II1310) TIEDB0. [NXT Legorobot] [Programmering och felsökning] [NXT Legorobot] [Programmering och felsökning] Kevin Lane 28/8-12 klane@kth.se Introduktionskurs i datateknik II1310 1 Sammanfattning I denna laboration så fick vi programmera och felsöka en LEGO-robot.

Läs mer

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

Vilken skillnad gör det var du placerar det? Prova båda. Micro:bit- Namnskylt Vi börjar med att döpa programmet till något. Till exempel ditt namn. Det gör du längst ner i mitten. Nu ska vi göra ett enkelt program som med lysdioderna skriver ditt namn. När du

Läs mer

Programmering med NXC Lego Mindstorm

Programmering med NXC Lego Mindstorm KUNGLIGA TEKNISKA HÖGSKOLAN Programmering med NXC Lego Mindstorm INTRODUKTIONSKURS I DATATEKNIK (II1310), LABB Klawi@Kth.se Kasper Wikman 2013-08-27 Sammanfattning: Många har sedan lång tid tillbaka varit

Läs mer

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

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 OzoCodes FÄRG KODER REFERENSSCHEMA FART VINST/ UTGÅNG SNIGELFART LÅNGSAM CRUISE VINST/UTGÅNG (SPELA IGEN) RIKTNING SNABB TURBO NITRO BOOST VINST/UTGÅNG (GAME OVER) RÄKNARE GÅ TILL VÄNSTER GÅ RAKT FRAM

Läs mer

Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell www.bjornregnell.se

Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell www.bjornregnell.se Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell www.bjornregnell.se Mål Så enkelt som möjligt: låg tröskel Ett riktigt programmeringsspråk: inget tak Roliga uppgifter som går

Läs mer

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

Lär känna Edison. Det här är Edison, den programmeringsbara roboten. Edison och EdBlocks Övning 1 Programmerarens namn Lär känna Edison Det här är Edison, den programmeringsbara roboten. Vad är en robot? En robot är en maskin som man kan få att utföra saker på egen hand.

Läs mer

Programmering. Scratch - grundövningar

Programmering. Scratch - grundövningar Programmering Scratch - grundövningar Lär känna programmet: Menyer för att växla mellan att arbeta med script, utseende/bakgrund och ljud. Scenen där allting utspelar sig. Här klickar du på bakgrunden

Läs mer

Den intelligenta dammsugaren

Den intelligenta dammsugaren Institutionen för Datavetenskap presenterar: Den intelligenta dammsugaren En laboration i fyra delar Laborationen utvecklad av KogVet- studenter Reviderad 2007: Jenny Dalenius 1 Hej och välkommen! Bilden

Läs mer

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

Sphero SPRK+ Appen som används är Sphero Edu. När appen öppnas kommer man till denna bild. Sphero SPRK+ Appen som används är Sphero Edu När appen öppnas kommer man till denna bild. Klicka på 3D-modeller för att se delarna på Sphero Klicka här för att ansluta Sphero till ipad Programmet för att

Läs mer

Utförliga regler för TRAX

Utförliga regler för TRAX Utförliga regler för TRAX Innehållsförteckning Vad är TRAX? Sid 2 Grundregler för TRAX Sid 3 Vad är en tvingad yta? Sid 4 Vad är en vinnande ögla? Sid 6 Vad är en vinnande linje? Sid 7 Grundläggande strategiska

Läs mer

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

Alla filer som bearbetar PHP script ska avslutas med ändelsen.php, exempelvis ska en indexsida till en hemsida heta index.php Introlektion PHP är ett av de enklare språken att lära sig just pga. dess dynamiska struktur. Det används för att bygga upp båda stora och mindre system. Några vanliga system som använder sig av PHP är

Läs mer

Programmering eller Datalogiskt tänkande

Programmering eller Datalogiskt tänkande Programmering eller Datalogiskt tänkande I förskolan handlar programmering om att få en begynnande förståelse vad det kan innebära. Barnen ges ett kreativt utrymme och har möjlighet att forma sin egen

Läs mer

FÖRKORTA DIN VÄG PÅ BANAN

FÖRKORTA DIN VÄG PÅ BANAN FÖRKORTA DIN VÄG PÅ BANAN Av Marie Hansson - Känns hunden för snabb? - Har du svårt att hinna dit du vill på banan? Själva kärnan i lösningen på problemet borde väl vara att förkorta din väg? Ju svårare

Läs mer

First Class uppgift 2

First Class uppgift 2 First Class uppgift 2 Hur du lägger till en signering i mail. När du loggat in på First Class ser det ut som på bilden nedan, det så kallade skrivbordet. Här ska du klicka på knappen inställningar uppe

Läs mer

Programmera Lego Mindstormsrobotar

Programmera Lego Mindstormsrobotar KUNGLIGA TEKNISKA HÖGSKOLAN Programmera Lego Mindstormsrobotar En introduktion till programmering Oskar Rosén 28/08-12 oros@kth.se Introduktion i datateknik (II1310) Sammanfattning Denna laboration gav

Läs mer

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

DAGBOK HB ADVENTURE TEAM. Vårat lag: Jinci, Ida, Jennifer, Felicia Lagledare: Hans DAGBOK HB ADVENTURE TEAM Vårat lag: Jinci, Ida, Jennifer, Felicia Lagledare: Hans HB Adventure TEAM Vi anmälde ett lag under våren men bestämde sedan att vi skulle ha två lag eftersom de flesta som var

Läs mer

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

1. Grunder. 2. Framvagn. Teknik Kurs Karting. UAK Karting Teknik Kurs Karting 1. Grunder Även om det finns en del likheter mellan en kart och en bil är de ändå väldigt olika. De två största skillnaderna är att en kart inte har några diffar (differentialer eller

Läs mer

Programmering. Den första datorn hette ENIAC.

Programmering. Den första datorn hette ENIAC. Programmering Datorn är bara en burk. Den kan inget själv. Hur får man den att göra saker? Man programmerar den. Människor som funderar ut program som fungerar. Datorn förstår bara ettor och nollor och

Läs mer

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

Konstruera, styra, reglera och programmera en röd tråd F-9 Konstruera, styra, reglera och programmera en röd tråd F-9 Icke vinstdrivande grundskola F-9, grundad 1914. LGR-11 rev 2017 Centralt innehåll Årskurs 1-3 Teknik Arbetssätt för utveckling av tekniska lösningar

Läs mer

Sidpanelen och gadgetar De är nya. De är smarta. Lär dig hur du använder dem.

Sidpanelen och gadgetar De är nya. De är smarta. Lär dig hur du använder dem. Kap 03.indd 444 KAPITEL TRE Sidpanelen och gadgetar De är nya. De är smarta. Lär dig hur du använder dem. Gadgetar och den nya Sidpanelen är nog mina favoriter bland de nya funktionerna i Windows Vista.

Läs mer

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

MV-Nordic Lucernemarken Odense S Danmark Telefon mv-nordic.com 1 LEGO MINDSTORMS Education EV3 Aktiviteter med fokus på matematik Här får ni förslag på aktiviteter som använder LEGO MINDSTORMS Education EV3-materiel tillsammans med vår matematikmatta. Fokus i de beskrivna

Läs mer

Programmering robotprogrammering med mbot

Programmering robotprogrammering med mbot Programmering 4-6 -robotprogrammering med mbot Lärarhandledning till Robotprogrammering med mbot 2 o o o o o o o Innehåll Vad är en mbot?... s4 De olika delarna på en mbot.... s5 Blockprogrammering.. s9

Läs mer

Laboration - Programmering av LEGO Mindstorm robot

Laboration - Programmering av LEGO Mindstorm robot Laboration - Programmering av LEGO Mindstorm robot Ayumi Sjöbergh Miyake 1 september 2012 miyake@kth.se II1310 Introduktionskurs i datateknik 1 Sammanfattning Laborationen gick ut på att hitta och rätta

Läs mer

SLALOMINGÅNGAR hur svårt kan det vara?

SLALOMINGÅNGAR hur svårt kan det vara? SLALOMINGÅNGAR hur svårt kan det vara? Av Marie Hansson Ju mer man börjar tänka på vad en slalomingång innebär, desto mer komplicerat blir det! Det är inte lite vi begär att hundarna ska lära sig och hålla

Läs mer

Dollar Street Beta Version 1.0 Manual

Dollar Street Beta Version 1.0 Manual Dollar Street Beta Version 1.0 Manual Dollar Street på Internet: 1. Gapminder AB Dollar Street hittar du på www.gapminder.com som en Gapminder produkt. Alla Gapminder produkter handlar om internationella

Läs mer

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.

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. Edison och EdBlocks Aktivitet 1 Programmerarens namn 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. Det

Läs mer

Regler för Robotfemkamp under Robot-SM 2011

Regler för Robotfemkamp under Robot-SM 2011 Regler för Robotfemkamp under Robot-SM 2011 Sammanfattning av tävlingsgrenen Robotfemkamp innebär att en helt autonom robot skall tävla i fem olika grenar med olika karakteristiska uppgifter. Dessa är

Läs mer

4 augusti (G) Programmering: Lego

4 augusti (G) Programmering: Lego 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

Läs mer

Guide till att använda Audacity för uttalsövningar

Guide till att använda Audacity för uttalsövningar Guide till att använda Audacity för uttalsövningar Victoria Johansson Humlabbet, SOL-center, Lund IT-pedagog@sol.lu.se 28 mars 2006 1 Inledning Audacity är ett program som kan användas för att spela in

Läs mer

Flexiboard. Lathund kring hur du kommer igång med att skapa egna överlägg till Flexiboard. Habilitering & Hjälpmedel

Flexiboard. Lathund kring hur du kommer igång med att skapa egna överlägg till Flexiboard. Habilitering & Hjälpmedel Flexiboard Lathund kring hur du kommer igång med att skapa egna överlägg till Flexiboard. Habilitering & Hjälpmedel Förord Denna lathund är enbart ett axplock av allt det material som finns i Flexiboards

Läs mer

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)

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) Robotdagbok v. 15-19 Så här ser standardinställningarna för ett körblock ut: Vecka 15 Först skulle vi bli invigda i mindstorm-programmet så vi fick testa runt lite själva. Det var roligt och spännande

Läs mer

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

CHCS Classic Honda Club Sweden 1(5) Att köra i grupp. CHCS Classic Honda Club Sweden 1(5) Att köra i grupp...1 Kortfattat...1 Innan vi åker iväg, bensin, karta och så...2 Körning på större vägar...2 Använd din blinkers...2 Omkörningar...3 Körning på småvägar...3

Läs mer

LEGO MINDSTORMS Education EV3

LEGO MINDSTORMS Education EV3 LEGO MINDSTORMS Education EV3 Framtiden tillhör de kreativa πr ROBOTAR OCH IT KREATIVITET SAMARBETE PROBLEMLÖSNING EV3 en evolution av MINDSTORMS Education! LEGO MINDSTORMS Education har bevisat att det

Läs mer

Vi tror på att kommunikation ska vara roligt - därför är Prata utformad för att

Vi tror på att kommunikation ska vara roligt - därför är Prata utformad för att Instruktioner Lösenordet för Säkert Läge är edit. Välkommen till Prata! Vi tror på att kommunikation ska vara roligt - därför är Prata utformad för att locka till kommunikation genom färg, form och lekfullhet.

Läs mer

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

KUNG. TEKNISKA HÖGSKOLAN. Laboration. Programmering av LEGO-robot KUNG. TEKNISKA HÖGSKOLAN Laboration Programmering av LEGO-robot 2012-09-01 E-post: Maxwin@KTH.se Introduktionskurs i datateknik (II1310) Medlaborant: Andreas Bergstrand Sammanfattning I den här rapporten

Läs mer

Orienteringsteknik. Steg 1: Att förstå kartans symboler. Steg 2: Att förstå kompassen. Steg 3: Att förstå kartan. Steg 4: Koncentration.

Orienteringsteknik. Steg 1: Att förstå kartans symboler. Steg 2: Att förstå kompassen. Steg 3: Att förstå kartan. Steg 4: Koncentration. Orienteringsteknik Orientering är egentligen världens enklaste sport. Man får facit redan vid start och får kolla på det hur ofta man vill under hela loppet. Trots detta har majoriteten av orienterarna

Läs mer

Labbrapport - LEGO NXT Robot

Labbrapport - LEGO NXT Robot KUNGLIGA TEKNISKA HÖGSKOLAN Labbrapport - LEGO NXT Robot Programmering och felsökning Stefan Sarkis 2014-09-02 ssarkis@kth.se Introduktionskurs i datateknik (II1310) Sammanfattning Denna rapport handlar

Läs mer

F3C HELIKOPTER SPORT PROGRAM (Ny manöver 2 ersätter tidigare, fr.o.m. 2001)

F3C HELIKOPTER SPORT PROGRAM (Ny manöver 2 ersätter tidigare, fr.o.m. 2001) F3C HELIKOPTER SPORT PROGRAM 1997- (Ny manöver 2 ersätter tidigare, fr.o.m. 2001) 1. VERTIKAL TRIANGEL. Piloten står i cirkel P eller utmed en linje dragen genom dess centrum och parallellt med domarlinjen.

Läs mer

Fönsterbeteende. Mike McBride Jost Schenck Översättare: Stefan Asserhäll

Fönsterbeteende. Mike McBride Jost Schenck Översättare: Stefan Asserhäll Mike McBride Jost Schenck Översättare: Stefan Asserhäll 2 Innehåll 1 Fönsterbeteende 4 1.1 Fokus............................................. 4 1.1.1 Fokuspolicy..................................... 4

Läs mer

ANVÄNDARGUIDE VITAL & TALANDE TANGENTBORD

ANVÄNDARGUIDE VITAL & TALANDE TANGENTBORD ANVÄNDARGUIDE VITAL & TALANDE TANGENTBORD INNEHÅLL 1. KOM IGÅNG MED VITAL 1.1. Vad är ViTal? 1.2. Vem behöver ViTal? 1.3. Hur kan ViTal användas i skolan? 1.4. Hur får jag eleverna att börja använda ViTal?

Läs mer

INTERAKTIVA WORKSHOPÖVNINGAR

INTERAKTIVA WORKSHOPÖVNINGAR INTERAKTIVA WORKSHOPÖVNINGAR INLEDNING INTERAKTION: SAMVERKAN, SAMSPEL ELLER ÖMSESIDIG PÅVERKAN? Vad betyder det att något är interaktivt? Det är lite av ett modeord och många vill använda det. Många gånger

Läs mer

FlyBot. Copyright Sagitta Pedagog AB

FlyBot. Copyright Sagitta Pedagog AB FlyBot FlyBot är en flyplansmodell med fyra lysdioder, en tuta och en motor som driver propellern. Här lär du dig att programmera DC-motorns fart och riktning. 41 Robotfakta LED-kort På LED-kortet sitter

Läs mer

Konstruktion av en radiostyrd legobil. Digitala projekt av Arbon Vata Leonardo Vukmanovic Amid Bhatia

Konstruktion av en radiostyrd legobil. Digitala projekt av Arbon Vata Leonardo Vukmanovic Amid Bhatia Konstruktion av en radiostyrd legobil Digitala projekt av Arbon Vata Leonardo Vukmanovic Amid Bhatia 1 1.Innehållsförtäckning Rapport Radiostyrd LEGO bil...1 1. Innehållsförtäckning...2 2.0 Inledning...3

Läs mer

Teambuilding. 40 enkla & effektiva övningar. www.megalomania.se JENNY ÅKERBLOM

Teambuilding. 40 enkla & effektiva övningar. www.megalomania.se JENNY ÅKERBLOM Teambuilding 40 enkla & effektiva övningar JENNY ÅKERBLOM www.megalomania.se Innehåll Förord 5 Lite allmänt om gruppindelning 7 1. Energigivare 8 Skaka namn 9 Tummen upp 10 Trassla hand 11 Först till 21

Läs mer

Arbetshäfte Office 365 en första introduktion

Arbetshäfte Office 365 en första introduktion Arbetshäfte Office 365 en första introduktion Innehåll En introduktion för att bekanta sig med O365... 2 Skapa din profil... 2 Övning:... 3 2. Kontakter... 4 Lägg till kontakt och grupp... 4 Övning:...

Läs mer

Programmets startmeny ser ut så här. För att få fram menyerna Avsluta, Inställningar och Användare måste du föra markören upp till det blåa fältet.

Programmets startmeny ser ut så här. För att få fram menyerna Avsluta, Inställningar och Användare måste du föra markören upp till det blåa fältet. Programmets startmeny ser ut så här. För att få fram menyerna Avsluta, Inställningar och Användare måste du föra markören upp till det blåa fältet. Då du klickar på Användare öppnas denna bläddringslista.

Läs mer

www.drakbutiken.se IDE USB kabel Windows XP, Vista 7 löäzxcvbnmqwertyuiopåasdfghjklöäz [Version 1.4, 2009-11-01] www.drakbutiken.

www.drakbutiken.se IDE USB kabel Windows XP, Vista 7 löäzxcvbnmqwertyuiopåasdfghjklöäz [Version 1.4, 2009-11-01] www.drakbutiken. qwertyuiopåasdfghjklöäzxcvbnmqwe rtyuiopåasdfghjklöäzxcvbnmqwertyu iopåasdfghjklöäzxcvbnmqwertyuiopå asdfghjklöäzxcvbnmqwertyuiopåasdf ghjklöäzxcvbnmqwertyuiopåasdfghjk www.drakbutiken.se IDE USB kabel

Läs mer

Lär dig grunderna om Picasa

Lär dig grunderna om Picasa Lär dig grunderna om Picasa Välkommen till Picasa. I den här guiden får du lära dig att använda Picasa för att organisera och redigera dina foton. Picasa Programvara När du börjar, finns det 2 saker du

Läs mer

Kom igång. Readyonet Lathund för enkelt admin. Logga in Skriv in adressen till din webbsida följt av /login. Exempel: www.minsajt.

Kom igång. Readyonet Lathund för enkelt admin. Logga in Skriv in adressen till din webbsida följt av /login. Exempel: www.minsajt. Kom igång Logga in Skriv in adressen till din webbsida följt av /login. Exempel: www.minsajt.se/login Nu dyker en ruta upp på skärmen. Fyll i ditt användarnamn och lösenord och klicka på "logga in". Nu

Läs mer

Skapa spelet Bug-race i Scratch

Skapa spelet Bug-race i Scratch 1 Skapa spelet Bug-race i Scratch Välj en figur (Sprajt) Ta bort katten med hjälp av saxen i menyraden. Välj en ny figur med knappen. Det ska vara en figur som pekar åt vänster, och helst visas ovanifrån,

Läs mer

Miljön i Windows Vista

Miljön i Windows Vista 1 Miljön i Windows Vista Windows Aero Windows Aero (Aero Glass), som det nya utseendet eller gränssnittet heter i Vista, påminner mycket om glas och har en snygg genomskinlig design. Det är enklare att

Läs mer

Någonting står i vägen

Någonting står i vägen Det här vänder sig till dig som driver ett företag, eller precis är på gång att starta upp Någonting står i vägen Om allting hade gått precis så som du tänkt dig och så som det utlovades på säljsidorna

Läs mer

Digital Choice 12 + MER, MER, MER!

Digital Choice 12 + MER, MER, MER! MER, MER, MER! Digital Choice Du hämtar de minikategorier du vill ha på mytpchoice.se Det finns över 100 minikategorier, t.ex. Hjältar & hjältinnor, Sci-Fi & fantasy, Resor & äventyr, Mode & trender, Myter

Läs mer

Labrapport: Programmering i NXC Programmera LEGO Maindstorm med NXC

Labrapport: Programmering i NXC Programmera LEGO Maindstorm med NXC KTH ICT Labrapport: Programmering i NXC Programmera LEGO Maindstorm med NXC Jonathan Kindfält 23/08-2012 E-post (kindfalt@kth.se) Introduktionskurs i datateknik II1310 Sammanfattning Denna rapport behandlar

Läs mer

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.

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. Manual till appen Blockly till Dash 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. Du måste ha en Dashrobot

Läs mer

Omsorgen Användarhandledning

Omsorgen Användarhandledning Omsorgen Användarhandledning 2012-12-13 Steg 1: Logga in Om ditt boende/kommun är ansluten till Omsorgen har du troligtvis fått inloggningsuppgifter. Om inte, skicka ett mail till info@omsorgen.se så kontaktar

Läs mer

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

KUNGLIGA TEKNISKA HÖGSKOLAN KISTA. Lego Linefollower. Få en robot att följa linjen på golvet! KUNGLIGA TEKNISKA HÖGSKOLAN KISTA Lego Linefollower Få en robot att följa linjen på golvet! Felix Ringberg 2012-08-09 felixri@kth.se Introduktionskurs i datateknik II1310 Sammanfattning I den här laborationen

Läs mer

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

3. Välj den sprajt (bild) ni vill ha som fallande objekt, t ex en tårta, Cake. Klicka därefter på OK. Moment 2: Klonspel Instruktioner för deltagare Idag ska du få lära dig om: Kloner - kopior av samma figur (sprajt) Variabler - ett värde, exempelvis antal poäng Slumptal - slå en tärning för att välja

Läs mer

Grattis till ett bra köp!

Grattis till ett bra köp! Grattis till ett bra köp! Du har valt världens ledande programvara för skydd av din dator. ZoneAlarm har bara i Sverige 100.000-tals användare och programmet finns att köpa i de flesta välsorterade databutiker

Läs mer

Manual för banläggning i OCAD8 170706 IF ÅLAND

Manual för banläggning i OCAD8 170706 IF ÅLAND Manual för banläggning i OCAD8 170706 IF ÅLAND Alla filer och program vi behöver finns under katalogen c:/ocad8/. Kartorna vi använder som bakgrundsfiler finns under c:/ocad8/kartor/. De är sedan indelade

Läs mer

Tove Andersson IT-Pedagoglinjen 09/10. hängande mot golvet, stå så några sekunder för att sträcka ut hela ryggen. Rulla sakta upp kota för kota.

Tove Andersson IT-Pedagoglinjen 09/10. hängande mot golvet, stå så några sekunder för att sträcka ut hela ryggen. Rulla sakta upp kota för kota. Pausgympa Rygg: Övning 1. Stå upp med fötterna en bit isär. Böj dig ner med armarna hängande mot golvet, stå så några sekunder för att sträcka ut hela ryggen. Rulla sakta upp kota för kota. Övning 2. Sträck

Läs mer

Konfigurera Xenta från Babs

Konfigurera Xenta från Babs Konfigurera Xenta från Babs Nedan följer en instruktion hur du konfigurerar din nya Xenta terminal från Babs PayLink med JobOffice Kassa. Om du känner dig osäker på det här, kontakta någon lokal data-

Läs mer

Vad är det där? STEG 1: Få olika saker att visas på svarta tavlan

Vad är det där? STEG 1: Få olika saker att visas på svarta tavlan Nivå 3 Vad är det där? All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your club. Introduktion

Läs mer

NALLELEK LäraMera / www.laramera.se Swedish Media Art / www.swedishmediaart.se

NALLELEK LäraMera / www.laramera.se Swedish Media Art / www.swedishmediaart.se Programmet Nallelek är ett program med många roliga övningar och tydliga bilder. I programmet ingår övningar av typen trycka-hända, sortera, kategorisera, finn lika, möblera, klä på, domino mm. Nallelek

Läs mer

SkeKraft Bredband Installationsguide

SkeKraft Bredband Installationsguide SkeKraft Bredband Installationsguide SkeKraft Bredband Installationsguide Innan du startar installationen av SkeKraft Bredband bör du kontrollera om din dator har ett nätverkskort installerat. OBS! Har

Läs mer

Datorn från grunden. En enkel introduktion. Innehåll: Inledning 1 Vad är en dator? 2 Datorns olika delar 3 Starta datorn 5 Stänga av datorn 7

Datorn från grunden. En enkel introduktion. Innehåll: Inledning 1 Vad är en dator? 2 Datorns olika delar 3 Starta datorn 5 Stänga av datorn 7 Datorn från grunden En enkel introduktion Innehåll: Inledning 1 Vad är en dator? 2 Datorns olika delar 3 Starta datorn 5 Stänga av datorn 7 2 Inledning Välkommen till Söderköpings bibliotek! Vid detta

Läs mer

Lutande torn och kluriga konster!

Lutande torn och kluriga konster! Lutande torn och kluriga konster! Aktiviteter för barn under Vetenskapsfestivalens skolprogram 2001 Innehåll 1 Bygga lutande torn som inte faller 2 2 Om konsten att vinna betingat godis i spel 5 3 Den

Läs mer

Försvar. 1. Förberedande försvarsträinng (5 eller 6 spelare). 2. Försvar mot 1:a-tempo följt av 3:e-tempo (minst 6 spelare).

Försvar. 1. Förberedande försvarsträinng (5 eller 6 spelare). 2. Försvar mot 1:a-tempo följt av 3:e-tempo (minst 6 spelare). Försvar (! = även lämplig för nybörjare) 1. Förberedande försvarsträinng (5 eller 6 spelare). En passare i mitten (framme vid nät) och fyra försvarare/anfallare på position 1, 2, 4 & 5 (alternativt hel

Läs mer

TES Mobil. Användarmanual. Användarmanual TES Mobil Dok.nr. 32-019-03-02 v8

TES Mobil. Användarmanual. Användarmanual TES Mobil Dok.nr. 32-019-03-02 v8 1 TES Mobil Användarmanual 2 Innehållsförteckning 1 Introduktion... 3 1.1 Vad kan man göra med TES Mobil?... 3 1.2 Vad är en RFID-tag?... 3 1.3 Olika hantering på olika mobiltelefoner... 3 1.4 Rekommendationer

Läs mer

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

LPP Programmering. Syfte, övergripande mål Lära känna och kunna utföra enkla programmeringar i Scratch samt Lego Mindstorms. LPP Programmering Syfte, övergripande mål Lära känna och kunna utföra enkla programmeringar i Scratch samt Lego Mindstorms. Koppling till styrdokumenten I förslaget till förändring av läroplanen för grundskolan

Läs mer

Lektion 1: Möt Robo! Områden: Robotteknik, ingenjörsteknik mekanisk design

Lektion 1: Möt Robo! Områden: Robotteknik, ingenjörsteknik mekanisk design Lektion 1: Möt Robo! Områden: Robotteknik, ingenjörsteknik mekanisk design Svårighetsgrad: Lektion #1 är en introduktion till Robo Wunderkind Robotics Kit. Det är perfekt för elever som redan känner till

Läs mer

PROGRAMMERING AV LEGO-ROBOT VIA NXC

PROGRAMMERING AV LEGO-ROBOT VIA NXC KTH KISTA PROGRAMMERING AV LEGO-ROBOT VIA NXC FELSÖKNING AV KOD I BricxCC Fredrik Radholm 28082014 Radholm@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Jag och några andra skulle uträtta

Läs mer

Manual Nya Akka-SMART

Manual Nya Akka-SMART Manual Nya Akka-SMART Detta är en förenklad Manual för Akka SMART som gjorts på Center för sinnestimulering Lagunen Slingan utifrån erfarenheter vid användandet av Akka SMART. Vid behov av mer detaljerad

Läs mer

Moodle på Åsö för lärare

Moodle på Åsö för lärare Moodle på Åsö för lärare När du skapat ett konto på Moodle är det dags att skapa en kurs. Surfa i exempelvis Firefox till: http://asovux.se/~moodle2 Givetvis kan du nå Moodle via Åsö webbsida om du föredrar

Läs mer