maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3...

42
5XID0 – Nature-inspired control Marc Geilen Sander Stuijk maandagmorgen 8.45: kickoff weekopdrachten (Laplace 1.105) donderdagmiddag 15.45: afronding weekopdracht (Laplace 1.105) Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt

Transcript of maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3...

Page 1: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

5XID0 – Nature-inspired control

Marc GeilenSander Stuijk

• maandagmorgen 8.45: kick‐off weekopdrachten (Laplace 1.105)

• donderdagmiddag 15.45: afronding weekopdracht (Laplace 1.105)

Eerste 3 collegeweken:

laatste vijf weken:project, nadere informatie volgt

Page 2: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

Voorbereidende lab sessies

• Programmeerbare robotjes• Draadloze communicatie met Zigbee• Sensoren en actuatoren• Augmented reality / 3D• Emergent behaviour• Brein‐computer interface

Page 3: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

organisatie

• werken in gemengde teams met gemengde expertise en niveaus.

• zorg dat je individueel leert van de oefeningen!• Twee opdrachten per week, te verdelen binnen het team naar competentie (niet alleen dat doen waar je goed in bent!)

• Tijdbesteding: 5ects, ongeveer 16u/w• Elke donderdag, 15.45 korte presentatie / demonstratiezorg dat je goed voorbereid bent

Page 4: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

organisatie

• wekelijks per team kort verslag over ontwerp en realisatie

• en korte *individuele* reflectie van elk teamlid over haar/zijn bijdrage en eigen ontwikkelingen

• uiterlijk vrijdag van de betreffende week opsturen per e‐mail naar:[email protected] en [email protected]

Page 5: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

evaluatie

• Verslagen/reflectie voorbereidende projekten, 30%

• Eindverslag en reflectie 70%

Page 6: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

Deze week: Admoveo + 3D virtual reality

Page 7: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

Sensoren

• Infrarood afstandsensorenvoor, links en rechts

• Lichtsensorentwee lichtsensoren (LDR) aande voorkant links en rechts

• Geluidsensorstwee microfoons

• “Lijnvolger”twee infrarood sensors naast elkaar metenreflectie op de vloer

Page 8: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

Actuatoren

• MotorenTwee afzonderlijk in richting en snelheid bestuurbareDC motoren.

• GeluidEen kleine buzzer

• LichtRGB LED in het chassis

• Communicatie 1USB seriële communicatie met een pc

• Communicatie 2Xbee draadloze communicatie over Zigbee netwerk

Page 9: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

Programmeren

• Atmel Atmega 328• Arduino duemilanove • Via de Arduino softwareomgeving• Programmeertaal: C(‐achtig)

Page 10: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

Draadloze Communicatie

• (nog niet nodig deze week)• Zigbee module XBee

Page 11: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

Opdrachten

• installatie• programmeren Admoveo onder de knie krijgen

• testen van sensoren en actuatoren• oefening• demonstratie / wedstrijdje

Page 12: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

installatie

• volg de installatiehandleidingop www.es.ele.tue.nl/education/ci/project/lab1

• laad de batterijen op• software: download alle bestanden van onze webpagina

Page 13: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

test sensoren en actuatoren

• gebruik testprogramma’s van website• bestudeer hoe sensoren en actuatoren te gebruiken vanuit Arduino software

• test hoe (goed) de sensoren of actuatoren werken

Page 14: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

mogelijke oefening

• laat de robot rondrijden, sturen• terugdeinzen wanneer er iets of iemand voor hem staat (afstandssensoren)

Page 15: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

wedstrijdje

autonome voertuigen• de juiste weg: witte lijn (schilderstape) volgen op donkere grond (zie de vloer), lijn kruist zichzelf niet

• twee robotjes mogen niet botsen: afstand houden• zo snel mogelijk, tijd van tweede voertuig telt• bonus: startschot door handenklap• programma opsturen source code + korte beschrijving via e‐mail: [email protected] en [email protected]

• Zorg dat de batterijen opgeladen zijn!

Page 16: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

(Augmented Reality) 3D Virtuele Realiteit

Page 17: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

Virtual en Augmented Reality

Page 18: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

Virtual en Augmented Reality

Page 19: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

Augmented Reality

• http://www.youtube.com/watch?v=gOYgyJxmNp0

• http://www.youtube.com/watch?v=qaFL5xO9ulc

• http://www.youtube.com/watch?v=CCRN6Pu7ygg

Page 20: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

Wat achtergrond, 3d rendering

Page 21: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

3D Modelling

• Punten en driehoeken• Een ‘mesh’• Rendering• Transformaties• Projecties• GPUs, simpele, uniforme operaties

Page 22: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

coordinatensysteem

• XY scherm, Z van scherm naar je toe• Google Sketchup: X,Y grond, Z vertikaal omhoog

Page 23: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

transformaties

• Translatie• Rotatie• Projectie

Page 24: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

Translatie

Verplaatsing 

als matrix‐vermenigvuldiging:

1 0 0

0 1 0

0 0 1

0 0 0 1 1 1

a x x a

b y y b

c z z c

x

y

z

x a

y b

z c

Page 25: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

Rotatie

• Rotatie om de Y‐as met hoek φ

cos 0 sin 0 cos sin

0 1 0 0

sin 0 cos 0 cos sin

0 0 0 1 1 1

x x z

y y

z z x

φ φ φ φ

φ φ φ φ

1

x

y

z

cos sin

cos sin

1

x z

y

z x

φ φ

φ φ

Page 26: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

Schaling

• Schaal x, y, z met factor s

s 0 0 0

0 0 0

0 0 0

0 0 0 1 1 1

x sx

s y sy

s z sz

1

x

y

z

1

s x

s y

s z

Page 27: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

Rotatie en Translatie

• Eerst rotatie met matrix Mφ

• Dan schaling met matrix Ms

• Dan translatie met matrix Mv

• => vermenigvuldiging met: MvMsMφ

• (Let op in de software zijn vectoren rij‐vectoren en is het andersom: MφMsMv)

Page 28: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

Projectie

• Camera op positie [x,y,z] kijkend naar [a,b,c], met bepaalde field‐of‐view, ‘brandpuntsafstand lens’

• Ook lineaire tranformatie ‐> matrix

Page 29: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

transformaties• World MatrixObject naar wereld, translatie, rotatie, schaling (, animatie)

• View MatrixWereld naar camera, translatie, rotatie

• Projection Matrixcamera naar scherm, FOV, 3D naar 2D

• Eenvoudige functies om matriceste maken

• Zie code voorbeelden

WereldAbsolute coordinaten

3D

Schermcoordinaten

2D

Wereldrelatieve coordinaten

camera3D

Voorwerpeigen coordinaten

3D

World

View

Projection

Page 30: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

rendering

• Ray tracing, hoge kwaliteit, langzaam• Polygonen , lagere kwaliteit, maar snel• Driehoekje voor driehoekje• Z‐buffer, geeft aan of nieuw de driehoek zichtbaar is of niet

• Belichting, materiaal, enz.• Gedaan door gespecialiseerde GPUs, maar toch vaak bottleneck

Page 31: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

Interactie

• Beweging, animatie, ‘physics’• Interactie, “collission detection”• Externe input/output

Page 32: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

implementatie

• Initialisatie• Loop begin

– DrawFrame()– InputOutput()– Update(deltaT)

• Loop end

Page 33: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

XNA Game Studio

• (XNA’s Not Acronymed)• Eenvoudige ontwikkelomgeving Xbox 360 + PC + Windows Phone

• Visual Studio (Express)• C#, soort C++/Java, maar dan anders, automatisch geheugen management: garbage collection, gebaseerd op Microsofts .NET

• Veel hulp / tips / documentatie / voorbeelden op internet 

Page 34: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

XNA Game Studio

• Leer van voorbeelden• Afgeleide van de klasseMicrosoft.Xna.Framework.Game

• Initializatie– Initialize()– LoadContent()

• Update(GameTime gameTime)• Draw(GameTime gameTime)• Methodes om eenvoudig tranformatiematrices temaken: Matrix.createTranslation(a, b, c)

Page 35: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

C#

• C / C++ / Java ‐ achtige programmeertaal• “Object‐georiënteerd”• Leer van voorbeelden en van collega’s• .Net framework

Page 36: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

3D modellen

• DirectX (.x) bestandsformaat• Google Sketchup 2013, sketchup.google.comGebruik “Simple Template ‐Meters”

• 3D modellen: sketchup.google.com/3dwarehouse/

• Voor gevorderden:– (Textures: alleen vierkante, machten van twee?)– Blender (geen support!)

Page 37: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

Installatie

1. Installeren van de software• Windows Phone SDK 7.1Visual Studio Express for Windows PhoneXNA 4.0, Google Sketchup Make 2013, .x export plugin

• Volg de instructies op de website• Probeer niet Windows Phone SDK 8.0 te installeren. Deze ondersteunt XNA niet meer

Page 38: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

Installatie

2. Open de ‘frog’ solution in Visual Studio Express

3. Bekijk ook het HighRoller project in Visual Studio Express

Page 39: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

Oefeningen• Bestudeer de gegeven code, probeer te begrijpen hoe het 

werkt.• Maak kleine wijzigingen

– Voeg andere 3D modellen toe of vervang de bestaande modellen door je eigen modellen

– Krijg onder de knie hoe de orientatie en afmetingen zichverhouden tussen Sketchup en XNA

– Leer hoe je je eigen modellen toevoegt aan je XNA project– Voeg (simpele) collision detection toe

Voeg bijv. aan HighRoller collission detection toe, zodat de ‘admoveo’ niet meer door de blokken heen kan bewegen.

– Animeer de cameraLaat de camera bijv. één van de objecten in het spel volgen. 

Page 40: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

Eindopdracht

• Maak een eenvoudig 3D spel in XNA Game Studio

• Bijvoorbeeld door een 2D klassieker te nemen en opnieuw te maken in 3D

• Geef een korte presentatie/toelichting op je spel en laat iemand van een ander team spelen

Page 41: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

meer informatie

• www.es.ele.tue.nl/education/ci/project• onoplosbare problemen: Sander Stuijk, Marc Geilen

Page 42: maandagmorgen 8.45 kick off weekopdrachten(Laplace 1.105 ...kick‐off weekopdrachten ... Eerste 3 collegeweken: laatste vijf weken: project, nadere informatie volgt. Voorbereidende

groepsindelingen

• LokalenTeam 1: PT6.10Team 2: PT6.11

• Nu, PT9.10, ophalen materiaal per team bij Sander Stuijk

Team 1Dings D.L.M.  (Daan)Koenders J.T.W.  (Jesse)Pijnenborg D.H.G.  (Daniël)Vries G.G. de  (Guus)Wolters E.J.  (Eric)

Team 2Borges E Souza M.  (Mariana)Heck F.J.M.  (Frank)Jager R. de  (Robbert‐Jan)Ummelen A.R.A.  (Alex)