Bedien een rolstoel met je ogen

advertisement
Bedien een rolstoel
met je ogen...
Project Ooggestuurde interface
InnovationLab bijscholing
Opbouw van deze bijscholingsdag
•
•
•
•
•
•
Kadering InnovationLab
Kadering project Ooggestuurde interface
Doorlopen van de projectdag en de modules
Doornemen documentatie en materiaal
Deelnemen met jouw school
Afsluiter en evaluatie
2
Opbouw van deze bijscholingsdag
• Kadering InnovationLab
•
•
•
•
•
Kadering project Ooggestuurde interface
Doorlopen van de projectdag en de modules
Doornemen documentatie en materiaal
Deelnemen met jouw school
Afsluiter en evaluatie
3
Nood aan...
“De wereldproblemen worden groter
en complexer. De oplossingen
moeten uit de wetenschap komen.”
06 april 2014
“We zijn niet meer de techniekaandragers van vroeger. We moeten
probleemeigenaren worden van de dingen die misgaan in de maatschappij
en daar oplossingen voor genereren. We moeten meer maatschappelijke
verantwoordelijkheid opeisen.” Ten tweede moeten onderzoeker
4
Technologie voor de maatschappij
Fysica
energie
Informatica
gezondheid
milieu
veiligheid
Chemie
Wiskunde
5
ROSE studie (Relevance Of Science Education)
 Maatschappij-gedreven STEM
Fysica
energie
Informatica
gezondheid
milieu
veiligheid
Chemie
Wiskunde
7
Faculteit Ingenieurswetenschappen,
KU Leuven
• De rol van een wetenschapper / ingenieur in de maatschappij
• STEM is noodzakelijk, cross-disciplinair en overal
rond ons
o
InnovationLab
• Dept. Materiaalkunde, Chemische Ingenieurstechnieken,
Computerwetenschappen, Elektrotechniek
o
STEM@school
8
Innovation Lab doelen
Maatschappelijke uitdagingen
?
?
?
Chemie
Fysica
Wiskunde
?
Informatica
9
Innovation Lab doelen
1. Link met de leerstof S.O.
Maatschappelijke uitdagingen
!
Oplossingen voor morgen
!
!
!
Chemie
Fysica
Wiskunde
!
Informatica
10
Innovation Lab doelen
1. Link met de leerstof S.O.
2. Link tussen disciplines
Maatschappelijke uitdagingen
Oplossingen voor morgen
!
Chemie
Fysica
Wiskunde
Informatica
11
Innovation Lab doelen
1.
2.
3.
4.
Link met de leerstof S.O.
Link tussen disciplines
Praktisch, interactief, zelf
Probleemoplossend
Maatschappelijke uitdagingen
!
Oplossingen voor morgen
Chemie
Fysica
Wiskunde
Informatica
12
Filmpje van onze opening in april 2014
13
Opbouw van deze bijscholingsdag
• Kadering InnovationLab
• Kadering project Ooggestuurde interface
•
•
•
•
Doorlopen van de projectdag en de modules
Doornemen documentatie, materiaal en voorbereiding
Deelnemen met jouw school
Afsluiter en evaluatie
14
‘Ingenieuze’ projectdagen
Ik daag je uit!
Bouw mee aan de wereld van morgen!
Kan je iets maken dat...
15
Technologie in de gezondheidszorg
• Betaalbare levenskwaliteit voor iedereen
• Zorgen voor zieke én gezonde mensen
• Technologie voor:
o
Snelle kankerdetectie
o
Afstands geneeskunde
o
Herstellen falende functies
16
Ooggestuurde interface
Sofie is een sociaal meisje
Maar Sofie heeft ALS en kan enkel haar ogen nog bewegen...
Kan je haar helpen om toch nog haar PC zelf te bedienen?
17
In dit project...
... maken leerlingen ZELF de hardware en
software voor oog-interface
... maken leerlingen zelf een
computerspelletje dat werkt op basis van
de oogsturing
18
Opbouw van deze bijscholingsdag
• Kadering InnovationLab
• Kadering project Ooggestuurde interface
• Doorlopen van de projectdag en de
modules
• Doornemen documentatie, materiaal en voorbereiding
• Deelnemen met jouw school
• Afsluiter en evaluatie
19
Module 5:
Cryptografie (beveiliging)
Module 4:
Bouwen software
Module 2:
analoog - digitaal
Module 3:
Bouwen hardware
Module 1:
biopotentialen
Project opgebouwd uit 5 modules
cloud
20
Opbouw van een projectdag op school
Kadering en inleidende film
Module 1
VM of
1e Halve dag
Module 2
Module 3
Module 4
Module 5
NM of
2e Halve dag
Afronden en afsluitende film
21
Opbouw van een projectdag op school
Kadering en inleidende film
22
Inleidende film
• Doel:
o
o
Leerlingen kadering geven (nut van STEM voor maatschappij)
Leerlingen zin geven erin te vliegen
23
Opbouw van een projectdag op school
Module 1: Biopotentialen
24
Module 1: Biopotentialen
• Wat is een biopotentiaal? (uitleg info blad)
 Oog is een bewegende elektrostatische dipool
 Voorzijde iets hogere spanning dan achterzijde door
transport van ionen
Spanning verschuift bij oogbeweging (plaatsen elektrodes)
Rechtse elektrode
positiever t.o.v.
linkse  pos
spanning
25
Module 1: Biopotentialen: Nabouwen oog
Weerstanden
vertegenwoordigen
het pad door de huid
+
-
+
-
Kijken en
doen!
26
Module 1: Biopotentialen: Opmeten oog
V
V
V
Zelf meten
27
Module 1: Biopotentialen: Opmeten oog
Zelf meten
28
Module 1: Biopotentialen:
Veelgemaakte fouten
• Contacten draden en weerstandjes
Goed aandraaien!
• Gebruik van multi-meter
o Extra uitleg in leerkrachtenhandleiding
• Defecte multi-meters
o Test in leerkrachtenhandleiding
• De twee oogjes elektrisch fout verbonden (- kant moet met
- kant verbonden zijn)
o
29
Module 1: Biopotentialen:
Extra vragen
Om groepen op elkaar af te stemmen!
Optioneel (niet verplicht)
30
Module 1: Biopotentialen: Besluit
Plaatsen van elektrodes aan de zijkant van de ogen:
Meten van spanning bij oogbewegingen
Werkelijke waarden zijn vele malen kleiner dan wat leerlingen
gemeten hebben
Computer kan ons helpen
Module 2: analoog signaal omzetten naar digitaal signaal
31
Opbouw van een projectdag op school
Module 2: Analoog naar digitaal
32
Module 2: Analoog naar digitaal
Hoe dit signaal in de PC krijgen?
1. Info: spanning is een analoog signaal,
PC werkt digitaal?
2. Experiment: Experimenteren dmv. geluid
33
Module 2: Analoog naar digitaal:
Info analoog - digitaal
• Analoog = continu en alle mogelijke waarden blauwe
golfvorm
• Digitaal = discreet en beperkte set van mogelijke waarden
Rode curve
34
Module 2: Analoog naar digitaal:
Info analoog - digitaal
• Aantal digitale bits per data-punt, bepaalt het aantal
mogelijke digitale waardes = resolutie van de omzetter
N bits  2N mogelijke digitale waarden
2 bits  4 mogelijke
niveaus (digitale waarden)
om het analoge signaal
weer te geven
35
Module 2: Analoog naar digitaal:
Info analoog - digitaal
3 bits  8 mogelijke
niveaus (digitale waarden)
om het analoge signaal
weer te geven
Bij 3 bits  rode curve benadert blauwe curve al beter!
36
Experiment 1
Open in de folder EOG_project de
subfolder EOG-software
- Dubbel klik op eog
- Klik op eogScope
Uitleg EOG scope (volgen op PC)
37
Experiment 1
Golf mode: Vooraf opgenomen analoog signaal (geluid)
digitaliseren: Invloed van aantal bits?
instructies lezen en uitproberen: aan de slag!
Men ziet dat:
• Naarmate het aantal bits stijgt, benadert het rode digitale
signaal steeds beter het blauwe analoge signaal.
• Naarmate het aantal bits stijgt, kan je op kanaal 1 en
kanaal 2 een geluid horen dat steeds beter lijkt op het
oorspronkelijke analoge geluid.
38
Experiment 2
Audio mode: geluid opnemen
Experimentblad:
instructies lezen en uitproberen: aan de slag!
Conclusie : 7 – 8 bits nodig om analoge signaal goed te
digitaliseren
39
Experiment 3
Audio mode: geluid opnemen (hard en zacht)
Experimentblad:
instructies lezen en uitproberen: aan de
slag!
40
Experiment 3
Conclusie:
Een klein analoog signaal omzetten naar een digitaal signaal
levert een kwalitatief minder goed digitaal signaal op dan
een groot analoog signaal
Spanningen rond het oog zijn heel klein
We moeten dit kleine signaal versterken
(module 3)
41
Experiment 4
EOG dongle:
De knoppen van de black box?
Experimentblad:
instructies lezen en uitproberen: aan de slag!
Conclusie: Kleiner analoog signaal: meer bits
nodig!
o spanningen rond oog zijn zeer klein
o Onze ADC is beperkt
o Signaal moet versterkt worden
42
Module 2: Analoog naar digitaal:
Veelvoorkomende fouten
•
•
•
•
Zoom en schuif
Kanaal 1 vs. kanaal 2
Instellingen microfoon (niet oversturen)
Bij black box: altijd te samen aan beide knoppen draaien
(onvoldoende geduld hebben om de verandering te zien
plaats grijpen)
43
Opbouw van een projectdag op school
Module 3: Electro-oculografie
44
Module 3: Electro-oculografie
• Zelf hardware met versterker bouwen!
• Stappenplan:
o
o
o
o
Uitleg versterker
Tekenen elektrisch schema
Bouwen
Elektrodes aansluiten en zelf eigen oogbewegingen
testen
45
Module 3: Electro-oculografie
Informatie versterker
• Waarom versterking?
• Werking versterker
46
Module 3: Electro-oculografie
Informatie versterker
• Aansluitingen?
47
Module 3: Electro-oculografie
Informatie versterker
Voeding (5V)
Referentie (2.5V)
Grond (0V)
48
Module 3: Electro-oculografie
Informatie versterker
Weerstand hiertussen
bepaalt versterking
Rg = 1,0 kΩ * G
Versterkingsfactor G ?
weerstand berekenen en zoeken/plaatsen
49
Module 3: Electro-oculografie
Experiment versterker
• Instructies lezen en uitproberen: aan de slag!
• Eerst verbindingen uittekenen
• Versterker links!
50
Module 3: Electro-oculografie
Experiment versterker: oplossing
51
Module 3: Electro-oculografie
Experiment versterker
• Dan G en RG berekenen
G =
𝑎𝑚𝑝𝑙𝑖𝑡𝑢𝑑𝑒 𝑢𝑖𝑡𝑔𝑎𝑛𝑔𝑠𝑠𝑖𝑔𝑛𝑎𝑎𝑙 (𝑉)
𝑎𝑚𝑝𝑙𝑖𝑡𝑢𝑑𝑒 𝑖𝑛𝑔𝑎𝑛𝑔𝑠𝑠𝑖𝑔𝑛𝑎𝑎𝑙 (𝑉)
=
…………..
We kunnen nu de weerstandswaarde Rg
berekenen die nodig is om de versterking
te verkrijgen.
Rg = 1,0 kΩ * G = …………
52
Module 3: Electro-oculografie
Experiment versterker
• Dan schakeling bouwen
• Veelvoorkomende fouten:
o
o
o
Draadjes fout gestoken
Foute waarde van RG gebruikt (nameten met multi-meter!)
Foute versterking G berekend (verschil tussen
amplitude en totale uitwijking)
53
Module 3: Electro-oculografie
Experiment versterker
• Dan verbinden met PC en uitproberen op ogen
• Veelvoorkomende fouten:
o
o
o
Elektrodes niet geleidend genoeg (wassen, gebruik gel!)
Elektrodes niet mooi symmetrisch
EOG USB niet geconnecteerd (onderaan staat EOG
dongle in rood) -> start EOG Scope opnieuw op
54
Module 3: Electro-oculografie
Extraatje
• Snelle leerlingen: meet ook ECG!
55
Opbouw van een projectdag op school
Module 4
56
Opbouw van een projectdag op school
Module 5
57
Module 5: cryptografie
• Module 5.1
Achtergrond
o Installeren van de omgeving
o Spelopdracht 1 & 2
• Module 5.2
o Informatie
o Spelopdracht 3 in het kort
o
58
Module 5: achtergrond
Eva : afluisteren
Alice
Bob
59
Module 5: achtergrond
Eva : vervalsen
Alice
Bob
60
Module 5: achtergrond
Hallo,
Ik ben Alice
Eva : impersoneren
Bob
61
Module 5: achtergrond
gegevens
identiteit
geheim
geheimschrift
anonimiteit
correct
integriteit
identificatie
62
Module 5: achtergrond
Identificatie wordt gebruikt in o.a.:
63
Module 5: cryptografie
Identificatie kan gebeuren op verschillende manieren:
• Wat je WEET (paswoorden, PIN)
• Wat je HEBT (chipkaart, USB sleutel)
• WAAR je bent (dial back, GPS)
• HOE je bent (biometrie)
64
Module 5.1: identificatie
• Server software
o
o
Start een PC op van de server USB (wit)
Server krijgt een IP-adres via DHCP
• Dit IP-adres moet in de clientsoftware ingegeven worden
• Voor het gemak : schrijf dit IP-adres op het bord
o
Er is een dashboardinterface voor troubleshooting,
diagnose en het resetten van individuele spellen
• Client software
o
o
Opstarten via EOGstarter (1x)
IP-adres van de server ingeven
65
Module 5.1: identificatie
Wat we willen simuleren: vermijden dat draadloze
communicatie kan gehackt worden
Hacker
Oogbewegingen
Wolk
Rolstoel
66
Module 5.1: identificatie
spel 1
Server
Client
spel 2
spel 3
Dashboard
…
67
Module 5.1: identificatie
•
•
•
•
Start client
Open Scratch
Laad spel in
Voer de
gegevens in :
spelnaam,
spelersnaam,
paswoord
• Klik op de
groene startvlag
bovenaan rechts
68
Module 5.1: identificatie
•
•
•
•
Server laat meerdere spelers door zelfde doolhof lopen
Rolstoelen en Wolken (= hackers)
1 “game” = 1 doolhof
Zorg voor een even aantal groepjes
o Verdeel de voorafgedrukte kaartjes per spel
o Een groepje krijgt het rolstoeldeel van het spel
o Een ander groepje krijgt het wolkdeel van het spel
• Communicatie via sensors van Scratch 1.4
• Boodschappen worden verstuurd als “lijsten” met een strikt
te volgen formaat en volgorde (zie uitleg Spel 2 en Spel 3)
69
Module 5.1: identificatie
Game: beperkte keuze (zie handleiding)
Player: willekeurig, maar geen 2 dezelfde in 1 game/doolhof
Type: rolstoel of wolk
Invoer voor
het script
Invoer voor de
tovenaarshoed
Invoer voor
het script
70
Module 5.1: identificatie
Spelopdracht 1:
o Start de juiste programma’s
o Vul game en player in (zie
‘identificatie spelopdracht
1’-kaartjes voor rolstoel en
wolk)
o Kies een paswoord van drie
of vier cijfers en vul het in
o Spelen maar!
71
Module 5.1: identificatie
• Structuur van een commando (lijst):
“left”, paswoord
“right”, paswoord
“up”, paswoord
“down”, paswoord
72
Module 5.1: identificatie
Spelopdracht 2: paswoord raden door enumeratie
• Breid het volgende programma uit:
73
Module 5.1: identificatie
• Structuur van het hack-commando:
“h”, naam spel, naam speler, gok voor het paswoord
• Indien de gok juist is, dan zal de server het paswoord
herhalen in zijn antwoord (in elk volgend antwoord)
• Indien de gok fout is, dan zal de server “n” antwoorden, of
in het begin soms “0.0”
• Dit is zo gedaan om robuust te zijn tegen vertragingen op
het netwerk
74
Module 5.1: identificatie
Oplossing (*)
(*) oplossingen staan ook op de USB
75
Module 5.1: identificatie
Eens paswoord gevonden:
• Neem de wolk/rolstoel van de tegenspeler over door zijn
waarden in te vullen voor speler en paswoord in de
besturingscommando’s
• Zorg ervoor dat je de gegevens van je tegenspeler invult!
o Anders vind je je eigen paswoord 
76
Module 5.1: identificatie
77
Module 5.1: identificatie
Afsluitende denkopdracht:
• Enkele berekeningen die aantonen hoe lang een
paswoord moet zijn om niet (moeilijk) geraden te kunnen
worden
78
Server dashboard
http://192.168.0.128:5000/innovationlab
79
Server dashboard
80
Module 5.2: veilige paswoorden
• Vertrekpunt: zelfs het beste paswoord kan misbruikt
worden als de toepassing vereist dat het paswoord
doorgestuurd wordt via een onbeveiligd kanaal
o Omdat een hacker het kanaal kan afluisteren en zo het
paswoord te weten komt
• In deze module bekijken we een systeem met
paswoorden, waarbij het paswoord niet elke keer
overgestuurd moet worden
(*) deze module kan eventueel weggelaten worden
(**) de oplossingen staan op USB
81
Module 5.2: veilige paswoorden
Hill methode voor vercijfering
• Paswoord = n x n matrix (hier: n = 3)
• Vercijfering: cijfertekst = paswoord x boodschap
• Vb: LEPELS -> [11 4 15], [4 11 18]
é 12 ù é 1 2 3 ùé 11 ù
ê
ú ê
úê
ú
16
=
2
1
8
4
úê
ê
ú ê
ú
ê 1 ú ê 2 4 1 úê 15 ú
ë
û ë
û
ûë
é 2 ù é 1 2 3 ùé 14 ù
ê
ú ê
úê
ú
7
=
2
1
8
11
úê
ê
ú ê
ú
ê 18 ú ê 2 4 1 úê 18 ú
ë
û ë
û
ûë
• (rekenen modulo 26)
• [12 16 1], [2 7 18] -> MQCBHS
82
Module 5.2: veilige paswoorden
• Denkopdracht: ontcijfer nu een gegeven cijfertekst, die
gemaakt werd met het volgende paswoord:
é 1 2 0 ù
ê
ú
2
1
0
ê
ú
ê 0 0 3 ú
ë
û
• Moeilijkheid: oplossen van vergelijking zoals 3z = 13
o
o
Oplossing: tel bij rechterlid gehele veelvouden van 26
op, totdat je een gehele oplossing krijgt voor z
Opdracht kan eventueel overgeslagen worden
83
Module 5.2: veilige paswoorden
Methode van vraag-en-antwoord
toevalsgenerator
Ik ben Alice
Vercijfer eens 1234?
pasw
pasw
1234
1234
Hill
Hill
8351
Het antwoord is 8351
8351
8351=8351 
84
Module 5.2: veilige paswoorden
Vraag-en-antwoord zonder vraag
• Vraag-en-antwoord vereist 3 boodschappen ipv 1
• Vervang toevalsgenerator door een voorspelbare
generator
• Alice kan de vraag voorspellen, en meteen het antwoord
berekenen
• Aantal boodschappen wordt verminderd tot 1
85
Module 5.2: veilige paswoorden
• Link met praktijk: Internet bankieren gebruikt
o
o
Vraag-en-antwoord: systemen met “challenge” en
“signature”
Vraag-en-antwoord zonder vraag: systemen met
toestelletjes die paswoorden genereren
• Het is belangrijk dat de leerlingen het infoblad lezen!
Volledig!
86
Module 5.2: veilige paswoorden
Spelopdracht 3: implementeer vraag-en-antwoord zonder
vraag
• Begrijp de structuur van de commando’s
• Implementeer een teller die de vragen genereert
• Implementeer Hillvercijfering
87
Module 5.2: veilige paswoorden
Structuur van de commando’s:
“hillpassword”, commando, c1, c2, t0, t1, t2
• Commando: “up”, “down”, “left”, of “right”
• c1, c2: afgeleid uit teller
• t0, t1, t2: “antwoord” = resultaat van Hillvercijfering
88
Module 5.2: veilige paswoorden
c1, c2: afgeleid uit teller
• c1 = quotiënt van de gehele deling “teller gedeeld door 4”
• c2 = rest van de gehele deling “teller gedeeld door 4”
89
Module 5.2: veilige paswoorden
é t0 ù é pw0
ê
ú ê
ê t1 ú = ê pw3
ê t2 ú ê pw6
ë
û ë
pw1
pw4
pw7
pw2 ù é c1
ú ê
pw5 ú ´ ê c2
pw8 úû êë cmd
ù
ú
ú
ú
û
• pw0, …, pw8: 9 cijfers van de paswoordlijst
• cmd: getal bepaald door commando
o
o
down = 2, left = 4, right = 6, up = 8
Bijvraagje: waarom cmd betrekken in de berekening?
90
Opbouw van een projectdag op school
Afronden en afsluitende film
91
Afronden en afsluitende film
• Stop op tijd, om geen anti-climax te hebben
• Neem tijd voor:
o
o
o
Opruimen
Nabespreking
Afsluit-film
92
Opbouw van deze bijscholingsdag
• Kadering InnovationLab
• Kadering project Ooggestuurde interface
• Doorlopen van de projectdag en de modules
o
o
Voormiddag: 1, 2, 3
Namiddag: 4, 5
• Doornemen documentatie, materiaal en
voorbereiding
• Deelnemen met jouw school
• Afsluiter en evaluatie
93
InnovationLab documentatie
• Voor de leerlingen:
Info- en experiment-blaadjes per module
o Filmpjes
• Voor de leerkrachten:
o Uitgebreide leerkrachtenhandleiding met
o
• Extra achtergrond informatie
• Antwoorden op vragen
• Suggesties bij veelgemaakte fouten
Allemaal op website
https://eng.kuleuven.be/innovationlab/documenten
94
InnovationLab koffers
• Leerlingen werken per 2, aan 1 PC
o
Leerlingenbakje per groep (13 groepen of 26 lln)
o
Leerkrachten bakje (+ USB stick!)
Niet voorzien: Multimeters!
95
Opbouw van deze bijscholingsdag
• Kadering InnovationLab
• Kadering project Ooggestuurde interface
• Doorlopen van de projectdag en de modules
Voormiddag: 1, 2, 3
o Namiddag: 4, 5
• Doornemen documentatie, materiaal en voorbereiding
• Deelnemen met jouw school
• Afsluiter en evaluatie
o
96
Deelnemen met jouw school: praktisch
• Projectdag of enkele halve dagen voor
o
o
Tussen de 10 en de 250 leerlingen
Van de 3e graad ASO of TSO (min 4 uur wiskunde)
• Reserveren InnovationLab koffers voor een bepaalde week
o
o
Vandaag
Of via email: [email protected]
• Afhalen / terugbrengen koffer in Heverlee / Kortrijk
• Contractje
97
InnovationLab voorbereidingen
• Reserveren PC klas (met projectiemogelijkheid)
• Kopieren documentatie + loginkaartjes
• Software-bestanden op PC zetten
Contact met systeembeheerders – check zie
leerkrachtenhandleiding pg 8 !
• Uittesten server (module 5)
• Testen multi-meters
o
• Leerkracht is begeleider…..
98
Opbouw van deze bijscholingsdag
• Kadering InnovationLab
• Kadering project Ooggestuurde interface
• Doorlopen van de projectdag en de modules
Voormiddag: 1, 2, 3
o Namiddag: 4, 5
• Doornemen documentatie, materiaal en voorbereiding
• Deelnemen met jouw school
o
• Afsluiter en evaluatie
99
Vragen
100
Download