Prosjektoppgave. Teknostart. Selvnavigerende robot. LEGO Mindstorms + MATLAB/Simulink NTNU. Institutt for teknisk kybernetikk.

Like dokumenter
Teknostart 2018 Prosjektoppgave

Teknostart 2019, Kybernetikk og robotikk. August 2019

Mars Robotene (5. 7. trinn)

TMA4100 Matematikk 1, høst 2013

TMA4100 Matematikk 1, høst 2013

Alternativ dag for teoriforelesning. Intro. Torsdag 12:15-14:00 R1

LEGO MINDSTORMS Education EV3

Installasjon av Revit 2020 på din PC

Brukerveiledning til programmering av LEGO Mindstorm NXT-roboter

Manual for AL500AC og AL100AC

Humanware. Trekker Breeze versjon

Installasjon av Revit 2019 på din PC

Manual for Eagle 100 og Lynx 500

Installasjonsveiledning Visma Avendo Lønn, versjon 7.60 Oktober 2011

Installasjonsveiledning Visma Avendo, versjon 5.2

1. Gå inn på portalen:

Installere JBuilder Foundation i Mandrake Linux 10.0

TDT4127 Programmering og Numerikk

Installasjon av Windows 7 (kan oppgraderes til Win10) og Office 2016

Aktiver SymWriter lisensen din over Internett

Denne brukerguiden beskriver hvordan man går frem for å spille simuleringen Brokjøring på web.

Installasjonsveiledning, CGM Vision Installasjonskrav. 1 Innhold. 1 Formål. 2.1 Windows. 2.2 Oracle. 2.3 CGM Vision. Oppgradering v4.7 til v4.

Mindstorm, robot- og reguleringskurs

Før du starter, del 2

Etiming i VirtualBox!!!!!!!!!! Side 1 av 24

INSTALLASJONSVEILEDNING FOR KALK2010 KALKULASJONSPROGRAM

Corentium Rapport & Analyse SW v2.2. Installasjonsguide

DIGITAL SKOLEEKSAMEN FOR STUDENTER VED POLITIHØGSKOLEN

Manual for elever ved 10. trinn som vil klargjøre skole-pc for hjemmebruk etter endt skolegang ved Tromsøskolen

Scan Secure GTS PAS

Makeblock Neuron Inventor Kit- Introduksjon

BRUKERMANUAL. Telsys Online Backup

1. Gå inn på portalen:

DIGITAL SKOLEEKSAMEN FOR STUDENTER VED POLITIHØGSKOLEN

1. Hent NotaPlan Online Backup på 2. Trykk på Download i menyen og på Download i linjen med Notaplan Backup

TDT4110 Informasjonsteknologi, grunnkurs Uke 35 Introduksjon til programmering i Python

Veiledning for nedlasting og aktivering av Mathcad

Velg linjen med USB (som vist over og trykk enter). Nå vil det enten komme opp en beskjed som denne: Press any key to boot from USB Storage Device

Brukerveiledning Privatisering av datamaskinen For avgangselever våren 2017

Innstallasjon og oppsett av Wordpress

Studieplan - KOMPiS Programmering

Kort om kursene INF1100 og MAT-INF1100L

Hurtigstartguide. for koding med KUBO

Hjelp venner med pc-trøbbel hjemmefra!

Steg 1: Installasjon. Steg 2: Installasjon av programvare. ved nettverkstilkoblingen på baksiden av kameraet. Kameraet vil rotere og tilte automatisk.

Tips og triks til FLL teknologi

Kort om kursene IN1900, MAT-IN1105, IN-KJM1900

Hvordan man kobler til printeren, laster ned CardPresso, installerer skrifttypen og får kommet i gang med produktet.

BRUKERVEILEDNING KID ButikkSim IPAD

Aktiver Taleboka lisensen din over Internett

Bergeland IKT. Elev guide

Installasjon av Nett-TV-meter Trinn for trinn

Installasjon av Windows 7 og Office 2016

Installasjonsveiledning

Kom i gang med Python

Gå til Nedlastninger på menylinjen for Visma Skolelisens og velg Visma Lønn versjon 9.5.

Viktig informasjon om Microsoft lisenser og din PC

Installasjonsveiledning PowerOffice SQL

Oversikt. Informatikk. INF1000: Grunnkurs i objektorientert programmering. Utenom INF1000 Informasjon & hjelp

PRINTER DRIVER ADMINISTRATOR GUIDE

Installasjonsveiledning Oppgradering av tidligere versjon

Installasjonsveiledning

BRUK AV TiSferaDesign I RINGETABLÅER MED ELEKTRONISK NAVNELISTE:

Installere programvare gjennom Datapennalet - Tilbud

Velkomment til å installere BAS21

Vedlikehold av PC Av Hans Henrik Støvne

Studieplan - KOMPiS Programmering

Hvordan lage en PDF. 1. CutePDF og tilleggsprogrammet lastes ned fra følgende side:

Avinstallere Java: Windows 7 og eldre versjoner

Brukerveiledning digital eksamen via FLOWlock

Hvilken BitBot går raskest gjennom labyrinten?

SPSS Høgskolen i Innlandet

Denne brukerguiden beskriver hvordan man går frem for å spille simuleringen T2 - Bli Kjent i nettleser.

Her skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den.

Eagle 1500 FAQ. Innholdsfortegnelse

Installere JBuilder Foundation i Windows XP

Printer Driver. Denne veiledningen beskriver installasjonen av skriverdriveren for Windows Vista. Før denne programvaren brukes

Virus på Mac? JA! Det finnes. Denne guiden forteller deg hva som er problemet med virus på Mac hva du kan gjøre for å unngå å bli infisert selv

Denne brukerguiden beskriver hvordan man går frem for å spille simuleringen T2 - Bli Kjent med launcher.

WISEflow. Brukerveiledning for eksamensvakter. Telefonnummer til IT-support:

Brukerveiledning digital eksamen via WISEflow

Oversikt, installasjon og lisensiering av ArcGIS Desktop 10.5 og relaterte produkter på NTNU

Installasjons Guide for esam

Installasjonsveiledning Oppgradering av tidligere versjon

GravoStyle Dokumentasjon

Navigering av en mobil mikrorobot

Hvordan koble seg opp mot prosjekt i SAFE fra Mac OS X?

Din verktøykasse for anbud og prosjekt

Modul nr Robotprogrammering - NXT

Første oppstart av PC

Installasjonsveiledning

Fag ITD Bildebehandling og mønstergjenkjenning. mandag 28. oktober til fredag 15. november 2013

Grafisk løsning av ligninger i GeoGebra

Innstillinger. Endre Personalia

NATURFAGEKSPERIMENTER MED LEGO MINDSTORMS Education EV3 DESIGN OG UTVIKLE MED LEGO MINDSTORMS EV3 (DEP)

Brukerveiledning LagerMester ios

Hurtigstartguide KUBO CODING+

Fremtiden tilhører de kreative. WeDo 2.0. Eksperimenterende naturfag ROBOTER OG IT PROBLEMLØSNING KREATIVITET SAMARBEID

Komme igang med App Inventor Introduksjon App Inventor PDF

Transkript:

Prosjektoppgave Teknostart Selvnavigerende robot LEGO Mindstorms + MATLAB/Simulink NTNU Institutt for teknisk kybernetikk August 2016 Versjon 2.3

INNHOLD INTRODUKSJON... 3 Bakgrunn... 3 Generelt om oppgaven... 3 Verktøy... 4 Beskrivelse av oppgaven... 6 Installasjon av MATLAB/Simulink og LEGO toolbox... 9 2

INTRODUKSJON Bakgrunn Dette prosjektet har som formål å gi en liten forsmak på problemstillinger og problemløsning i fagfeltet kybernetikk og robotikk; nettopp det DU har valgt å studere. I tillegg håper vi å illustrere litt av matematikkens viktige rolle i teknisk problemløsning. Matematikk er en del av grunnmuren i vårt fagområde, og representerer et uunnværlig verktøy for kybernetikere bl.a. i forbindelse med analyse av oppførselen til dynamiske systemer og utvikling av reguleringssystemer som skal styre disse. Håpet er at prosjektet kan gi en forsmak på det som kommer senere i studiet, og at det vil stimulere til innsats i matematikkfagene og realfagene generelt nå i studiets første del. Generelt om oppgaven Utvikling av selvstyrte (autonome) farkoster, eller roboter, som kan ta seg frem i mer eller mindre ukjent terreng på en intelligent måte er et av de mange interessante områdene en kybernetiker kan jobbe med. Kanskje det mest spektakulære eksempelet på slike farkoster er de såkalte marsroverene som kjører rundt på overflaten til planeten mars og foretar unike vitenskapelige undersøkelser (http://marsrovers.jpl.nasa.gov/). Litt forenklet består slike roboter av fem forskjellige delsystemer, som sammen med robotens mekaniske komponenter gjør det mulig for roboten å gjennomføre oppdraget sitt: Sensorer gir roboten informasjon om tilstanden til omgivelsene Aktuatorer gjør det mulig for roboten å bevege seg i ønsket retning og på ønsket måte (eks. motorer som driver hjul, belter eller bein) Styring innbygget datasystem som sammen med spesialutviklet programvare er ansvarlig for å styre aktuatorene og nyttelasten i henhold til informasjonen fra sensorene og robotens forutbestemte oppdrag Kraftforsyning gir energi til å drive roboten og alle dens funksjoner Nyttelast instrumenter som roboten bringer med seg for å kunne gjennomføre oppdraget sitt KRAFTFORS. SENSORER STYRING AKTUATORER NYTTELAST Figur 1. Fem delsystemer i en robot og hvordan de henger sammen 3

Denne prosjektoppgaven går nettopp ut på å utvikle en slik autonom farkost, dog noe mindre kompleks enn en marsrover. En digital kopi av denne teksten ligger også på nettsidene til teknostart: http://www.ntnu.no/studier/teknostart/kybernetikk og robotikk Verktøy For å utvikle roboten skal vi benytte to verktøy: MATLAB/Simulink versjon R2016a LEGO Mindstorms NXT plugin til ovennevnte LEGO Mindstorms NXT 2.0 Dette leketøyskonseptet fra LEGO er kanskje kjent for noen gjennom tidligere prosjekter på skolen (f.eks. FIRST LEGO League). Mindstorms settene består av en mengde byggeklosser og mekaniske komponenter, samt: tre stk. motorer med trinnløst pådrag og innebygget enkoder (sensor for måling av motorens rotasjonsvinkel) sensorer for måling av lys, farge, avstand (sonar), retning (gyroskop, magnetisk kompass), berøring og lydnivå en liten programmerbar datamaskin (NXT brick) som kan lese sensorene og styre motorene etter ditt ønske, som utgjør selve hjernen i systemet Figur 2. LEGO Mindstorms NXT brick med motorer og sensorer tilkoblet. Til sammen utgjør dette en meget anvendelig plattform for prototyping av autonome farkoster og maskiner av forskjellige slag, og ikke minst til læring av viktige konsepter innen kybernetikk. For en nærmere beskrivelse og innføring i LEGO Mindstorms vises det til http://mindstorms.lego.com. MATLAB/Simulink MATLAB er en svært omfattende programvarepakke for numeriske beregninger, analyse, simulering, algoritmeutvikling og visualisering. For kybernetikere og andre ingeniørdisipliner er kanskje dette den viktigste og mest brukte profesjonelle programvaren for tekniske beregninger. I løpet av studiet vil du stifte nærmere bekjentskap med MATLAB i flere emner, så denne programvarepakken er både viktig og nyttig å bli kjent med først som sist. Prosjektets første del går nettopp ut på å installere MATLAB 4

på laptopen til en eller flere av gruppemedlemmene, og deretter sette seg litt inn i mulighetene denne programvarepakken tilbyr. Figur 3. MATLAB hatten. I dette prosjektet vil du sannsynligvis møte MATLAB for første gang, og det er lett å bli overveldet av alle mulighetene og funksjonene som finnes. Vi skal imidlertid i denne omgang bare bruke en mindre del av det hele, et drag and drop grafisk programmeringsspråk kalt Simulink. Dette gjør det mulig å spesifisere oppførselen til et system ved å tegne opp bokser (funksjoner) og piler (signal) mellom dem, som til sammen vil utgjøre et diagram. I Simulink terminologi kalles et slikt diagram for en modell, og det er i praksis et datamaskinprogram. En av de mange mulighetene i Simulink er å overføre modeller til LEGO NXT brick en, slik at vi kan bruke Simulink til å programmere oppførselen til roboten vår. Vi kan dermed benytte den meget omfattende MATLAB/Simulink pakken til å utvikle mye mer avanserte styreprogrammer for LEGOroboten enn det som er praktisk mulig med programmeringsverktøyet som følger med Mindstormssettet. For en nærmere innføring i Simulink og bruk av Simulink til programmering av LEGO NXT, se instruksjonene lenger nede i dette dokumentet og eksempler i eget dokument. Ellers vises det til: http://www.mathworks.se/products/simulink/ http://www.mathworks.se/academia/lego mindstorms nxt software/ tutorials, videoer og andre ressurser om temaet finnes i store mengder på internett Advarsel: varierende lysforhold I den virkelige verden er det umulig å unngå at systemene vi bygger blir utsatt for støy og varierende eksterne forhold. I dette tilfellet er lyssensoren det svakeste punktet. Som dere sikkert har sett har elektrobygget glasstak, og om dere ikke har erfart det enda så kommer dere snart til å oppdage at været i Trondheim kan være noe ustabilt. Dette betyr at det kommer til å være varierende lysforhold på banen i løpet av uka, og sannsynligvis også i løpet av hver dag, og dette kommer til å påvirke målingene deres. Det er deres oppgave å finne ut om og hvordan dere kan kompensere for dette. En mulighet er for eksempel å prøve å stabilisere lyset akkurat rundt sensor. Her finnes det ingen fasitløsning; vi oppfordrer til kreativitet. 5

BESKRIVELSE AV OPPGAVEN I denne oppgaven skal dere bygge og programmere en LEGO robot som skal følge en gitt bane (en del av banen er vist i figur 4). Styringen av roboten skal være helt autonom den skal ikke fjernstyres av en person, men selv bestemme i hvilken retning og på hvilken måte den skal bevege seg, basert på informasjon den får fra sensorene underveis. Roboten skal realiseres ved hjelp at et LEGO Mindstorms sett som deles ut til hver gruppe, samt programvaren MATLAB/Simulink som installeres på gruppemedlemmenes egne laptop er. Akkurat hvordan dere vil bygge og programmere roboten er opp til dere, men det er anbefalt å bruke gyroskop sensoren for å realisere en autopilot som holder kursen, og benytte seg av fargekodingen i banens svinger for å klare disse. Manuell styring over Bluetooth er ikke tillatt, ellers oppfordrer vi til å la kreativiteten råde! Oppgaven kan grovt sett deles inn i følgende faser: 1. Installasjon av MATLAB/Simulink og LEGO toolbox på en eller flere av gruppens laptop er NB: Personlig NTNU brukerkonto (stud.ntnu.no) må være opprettet før installasjonen kan fullføres (se https://bas.ntnu.no/activation/) Læringsassistentene har installasjons USB pinner til utlån på grupperommene Programvaren kan også installeres over nettet fra NTNUs filtjener (progdist.ntnu.no), men dette anbefales bare som en nødløsning pga. de store datamengdene som må overføres Se informasjon lenger ned i dette dokumentet for instruksjoner og tips 2. Sette seg inn i og eksperimentere med MATLAB/Simulink programvaren og LEGO Mindstorms settene Det er viktig at dere bruker tid på å få oversikt over og sette dere inn i mulighetene til utstyret som skal benyttes i oppgaven Bruk informasjonen du finner lenger ned i dette dokumentet og i eksempelheftet dere har fått utdelt, samt mengder av informasjon og ressurser på internett til å lære deg å lage enkle Simulink modeller som kan lastes ned til LEGO NXT 3. Planlegge, bygge og programmere autonom robot for kjøring av bane En del av banen dere skal kjøre er vist i figur 4 Utfordringen er å holde seg innenfor banens grenser og kjøre den på kortest mulig tid Informasjonen som roboten skal forholde seg til er et gitt startpunkt og at rød strek i banen indikerer sving 30 til venstre, grønn strek 30 til høyre 4. Konkurranse! Siste dagen (fredag uke 34) arrangeres det konkurranse der gruppene skal konkurrere om å kjøre gjennom banen på kortest mulig tid. Banen blir plassert ut i starten av uke 34, i 1. etasje i glassgården, i hjørnet innenfor inngangen ved Ohma 6

Elelektra. Figur 4 En del av banen som skal navigeres Figur 5 Sted for konkurranse Det blir en underkonkurranse for beste / mest kreative design. Den raskeste gruppen vinner et gavekort på pizza! Annonsering av vinnere og premieutdeling holdes etter første forelesning i TTK4100 (kybernetikk introduksjon) onsdag 31. august. Dere kan rette på robotens kurs under konkurransen, men antall korreksjoner blir skrevet ned. Det er bedre med en helt autonom robot som bruker litt tid, enn en rask robot som må korrigeres underveis. Hver gruppe får totalt 5 minutter på banen, og kan gjøre så mange forsøk de klarer innen det tidsrommet. Beste løp står :) 5. Opprydding og innlevering av utstyr Roboten skal demonteres før innlevering 7

Teknostart prosjektet inngår som obligatorisk øving i ex.fak. emnet. For at medlemmene i gruppen skal å få denne godkjent, må utstyret innleveres i intakt, ferdig sortert og ryddet i de medfølgende boksene Utstyret innleveres til og kontrolleres av studass. 8

INSTALLASJON AV MATLAB/SIMULINK OG LEGO TOOLBOX Sett NXT på lading så snart dere får utdelt settet. Steg 1: LEGO Mindstorms pakken kjører på Windows og OS X. Pass på å installere riktig versjon av MATLAB for ditt operativsystem. De som bruker Linux må gjerne også installere MATLAB (programmet kan lastes ned fra https://www.progdist.ntnu.no/), men får ikke programmert mot LEGO roboten. Et alternativ er å installere Windows på en virtuell maskin i operativsystemet ditt. Det er flere måter å gjøre dette på, en av dem er forklart i denne youtube filmen: http://youtu.be/ TCgmY3kkC4. Det er overraskende enkelt, og lurt å gjøre først som sist, ettersom enkelte fag senere i studiet bruker programvare beregnet på Windows. Det kan på en annen side ta litt tid så hvis noen andre i gruppen sitter på en Windows eller OS X maskin er det lurt å installere programvaren på denne først. Windows lisenser deles ut gratis på Gurutjenesten. For å få tilgang til disse lisensene må du være registrert og ha gyldig semesterkort. Deretter kan man gå bort til gurutjenesten (http://drift.idi.ntnu.no/guru/) og få tilgang. Når du har installert Windows på maskinen din, er det bare å følge guiden videre fra Steg 2. Før dere begynner må dere også ha aktivert @stud.ntnu.no brukerkonto (se https://bas.ntnu.no/activation/). Dette bekrefter at dere er NTNU student, noe MATLAB lisensen krever. Resten av guiden er dermed for å installere MATLAB/Simulink og LEGO Toolbox i Windows. Steg 2: Installer MATLAB/Simulink versjon R2016a: Kopier alle filene fra minnepinnen til din PC. Åpne installasjonsfilen setup.exe. Velg Log in with a MathWorks Account. Aksepter License Agreement og velg deretter Create a MathWorks Account. Fyll ut informasjonen de spør om (bruk @stud.ntnu.no mailen din), og bruk aktiveringsnøkkelen 47557 40831 28579 49198 02813 dersom de spør etter den. Hvis de spør om du vil se etter produktoppdateringer, velg nei. Under «Select products to install» trengs i utgangspunktet ikke noe annet enn MATLAB, Simulink, «Control systems toolbox» og «DSP system toolbox». Hvis dere har plass anbefales det sterkt å installere alle toolboxene, da dette gir mye mer funksjonalitet og flere måter å løse oppgaven på. Installer programvaren på minimum en av gruppens laptoper Etter at programvaren er installert, vil den kanskje be om at dere aktiverer den. Isåfall brukes samme aktiveringsnøkkel: 47557 40831 28579 49198 02813. Steg 3: Installer ekstra LEGO toolbox Start MATLAB som administrator og skriv «supportpackageinstaller» i MATLABs kommandovindu (det store hvite i midten). Velg å installere fra internett, trykk «Next» 9

Velg «LEGO MINDSTORMS», og deretter «Run models on LEGO MINDSTORMS NXT» Hvis du blir bedt om å logge inn, logg inn med din nye Mathworks konto Nå vises en liste over programmene den kommer til å installere. Når dere er ferdig med å lese lisensene, går dere videre og trykker på «Install». Dette tar noen minutter. Får dere feil under Installasjonen, utfør steg 3 igjen. Hvis MATLAB mister kontakten med serveren kan installasjonen bli avbrutt. Hvis dette ikke fungerer, ta kontakt med en studass. Trykk «Continue» etter at installasjonen er ferdig. Skru på NXT brikken og koble den til PCen via USB. Windows vil nå installere driveren. Dette kan ta noen minutter. Dersom batteriet i NXT er helt eller delvis utladet, bytt til AA batterier eller lad opp NXT før dere fortsetter. Velg support package «LEGO MINDSTORMS (Simulink)», trykk «Next». Pass på at NXTen er koblet til datamaskinen og at den er på. Hvis dere har lyst til å kalle NXT noe annet, skriver dere det i «Name your LEGO MINDSTORMS NXT:» feltet før dere trykker «Update». Nå oppdaterer den firmwaren på NXT vent til den blir ferdig! Sørg for at «Launch target demos» ikke er merket og trykk «Finish» Du er nå klar for å lage modeller i Simulink og kjøre dem på LEGO NXT, så nå er det bare å bygge og programmere alt dere orker! Vennligst ikke bland/lån deler mellom LEGO settene annet enn for å teste om ting fungerer. Vi er avhengig av at alle settene er komplette. Lykke til! 10