1. Modul: Udforskning
Denne introduktion til designcirklen er en vejledning til, hvordan I kan arbejde med at bruge designtænkning og wearable teknologi i udviklingen af jeres træningsprogram eller selvevalueringsprogram.
Den gode idé er idéen, man kan argumentere for i kraft af ens designmaterialer og erkendelser. Den gode idé handler derfor ikke om markedsværdi, innovation eller entreprenørskab.
I jeres arbejde kan I forholde jer til designcirklens seks faser:
- Udforskning
- Forberede og forstå designopgaven.
- Lave feltstudier i den designkontekst, der skal designes til.
- Skabelse
- Idégenerere over designkoncepter.
- Konstruere modeller af designkoncept med digital fabrikation.
- Iscenesættelse
- Kunne redegøre og argumentere for designvalg.
- Reflektere over designproces og designidé.
Designopgaven er den overordnede opgave, som I skal arbejde med i grupperne. Jeres opgave er at vælge en af tre givne cases og lave en løsning.
Hvad skal I i de forskellige faser?
- Feltstudie: Hvad er problemet? Hvad ved vi om problemet?
- Idégenerering: Hvordan kan vi løse problemet?
- Fabrikation: Vi laver en prototype, der kan afhjælpe problemet.
- Argumentation: Hvorfor har vi valgt denne løsning?
- Refleksion: Hvad har vi lært? Hvad kan vi gøre bedre næste gang?
Udforskning – hvad er problemet?
- Her i modulet skal I forberede jeres feltstudie og dykke ned i spørgsmålene:
- Hvad er problemet med genoptræning efter slagtilfælde?
- Hvad ved I om det?
- Læs nu følgende tekster. Ændrer det jeres svar? Uddyb på hvilke områder.
- Motoriske komplikationer forbundet med blodpropper
- Når muskler lammes
- Motorisk læring og hukommelse
- Hvad ændrer sig så, når I besvarer spørgsmålene i forhold til case I, II og III?
Slagtilfælde er en af de største årsager til langsigtede handicap på verdensplan. Hvert år er der omkring 42,4 millioner slagtilfælde, som medfører, at 80 % af de udsatte får permanente motoriske handicap.
Evnen til at leve uafhængigt efter slagtilfælde afhænger i høj grad af mindskelse af motorisk svækkelse og/eller genvinding af motorisk funktion.
Genoptræning
Nøjagtig forudsigelse af motorisk svækkelse hjælper til planlægning af et genoptræningsforløb og understøtter en realistisk målsætning for patienter.
Dette lægger en stor byrde både på enkeltpersoner og samfundet. Rehabilitering efter slagtilfælde består oftest af et forløb, hvor man løbende vurderer og evaluerer patientens formåen. På den måde kan genoptræningsprogrammet løbende forbedres og tilpasses i forhold til den enkeltes patients fysiske tilstand.
For at genoptræningen skal lykkes, kræves der en specialiseret uddannelse af medarbejdere, hvilket ofte er begrænset af manglende ressourcer i sundhedssektoren.
Derudover ses det, at 65 % af patienterne, der er blevet udskrevet fra et seks måneders genoptræningsforløb, fortsat er ude af stand til at bruge de berørte muskelgrupper i hverdagens aktiviteter. Det viser altså et behov for yderligere behandling.
Wearable teknologi har potentiale
Teknologi, som vi bærer på kroppen, bliver mere og mere populært og kan samtidig mere og mere. Det er dog ikke kun smartwatches, der vinder frem. Man kan nemlig også bruge waerable teknologi til at hjælpe mennesker med sundhedsproblemer.
Her ses wearable teknologi som f.eks. brug af sensorer at have et stort potentiale til objektivt at vurdere og overvåge patienter i og især uden for kliniske miljøer. Det er bærbare sensorer, der sættes på patienten. Sensorerne registrerer patientens bevægelser: Det kan overordnet reducere evalueringstiden fra patient til behandler og via objektive kvantificerede data om patienternes evner også bruges som supplement i en helhedsvurdering.
Disse wearable teknologier gør det muligt at indsamle data ubemærket. Dermed kan dataene bruges til at undersøge og vurdere patientens motoriske funktioner under dagligdagsaktiviteter.
Der er et stort potentiale i at bruge sensorerne til at træne patienterne i at udføre præcise og funktionelt muskelarbejde. Det kan ske via hurtig og direkte respons til en patients bevægemønster ud fra en programmering af bevægelsessensorer.
Måden at tænke (hvilke problemer/udfordringer har patienten) – skabe (intervention-træningsprogram) – teste (evt. fremskridt evalueres) er ud fra den “iterative” procestanke.
Ud fra samme procestanke har Aarhus Universitet udviklet en såkaldt designcirkel, som kan kan benyttes som et redskab til og fokusering i en innovativ arbejdsproces.
Blodprop i hjernen
Når en person rammes af en blodprop i hjernen og mere specifikt i hjernens motoriske cortex, kan det medføre lammelser af bestemte muskler. Da nervebanerne fra cortex krydser over i modsatte side i bunden af hjernen, vil en skade i venstre side af motorcortex give lammelser i højre sides muskler.
Ud over skader i motorcortex forårsaget blodpropper har det vist sig, at skader i områder, som ligger på ydersiden af thalamus, de såkaldte basalganglier, også kan give problemer med motorisk indlæring.
Særligt bevægelser, som vi er afhængige af sker automatisk, er i dette tilfælde et problem. Det er f.eks. basalganglierne, som gør, at vi kan cykle og samtidig huske på at se os for i trafikken.
Ud over blodpropper i basalganglierne kan samme symptomer ses ved f.eks. Parkinsons sygdom. Her ses de første symptomer ved, at patienten kan have problemer med at udføre de daglige rutiner, der involverer motorik. Det kan være rutiner som at tage tøjet af og på, knappe skjorten og binde snørebånd, som pludselig bliver en udfordring.
Lillehjernens betydning
Ud over motorcortex og basalganglierne har lillehjernen også stor betydning for bevægelse og især inden for fintuning og koordinering.
Lillehjernen står for at modtage og koordinere nervesignaler fra både motorcortex, muskler, sener og led. Lillehjernen sammenholder så de planlagte bevægelser med de faktiske udførte bevægelser. Heri sker der koordinering og feedback til det motoriske område i motorcortex, som justerer bevægelsen alt efter lillehjernens feedback.
Skader på lillehjernen medfører bevægelser, som er fragmenterede og rykvise, fordi lillehjernen ikke kan stå for den normale, velkoordinerede bevægelse.
Ved genoptræning efter blodpropper i områder, som involverer basalganglierne og/eller lillehjernen vil genoptræningsprogrammet kunne tage udgangspunkt i træning af fine bevægelser med fokus på at øge bevægelsernes hastighed.
Hukommelse og bevægelse
De fleste mennesker forbinder ikke hukommelse med bevægelsesfærdigheder. Men det er i høj grad vores motoriske hukommelse, som er afgørende for vores evne til at bevæge os. Det gælder både i forhold færdigheder i sportens verden, men også i daglige rutiner som gang og cykling.
Et andet vigtig aspekt til at forstå motorisk læring er nemlig vores hjernes evne til at adaptere. Dette sker i høj grad via lillehjernen, som modtager input fra både muskler, sener, motorcortex og fra basalganglierne og så sender korrigerede impulser tilbage til de motoriske områder i cortex.
På den måde sammenholdes den faktisk udførte bevægelse med den planlagte bevægelse.
Der kan således via lillehjernen ske en forbedring og optimering af de neurale netværk, som medfører en mere præcis bevægelse i forhold til det ønsket.
Genoptræning
Genoptræning efter blodpropper kan derfor tage udgangspunkt i allerede indlærte bevægelser, som er blevet lagret i hjernen. Genoptræning kan heri gå ud på at finde nye veje til at genopdage/genfinde det tidligere indlærte.
Dette kan ske ved, at nye områder i hjernen overtager funktioner fra tabte og ødelagte områder i hjernen. Med fokus på at indlære en specifik færdighed er det af stor betydning at have hjernens adaptation for øje.
Ved adaptation sker der en tilpasning af det allerede lærte til nye situationer, og de neurale ændringer sker som beskrevet primært i lillehjernen.
Genoptræningsprogram
I opbygning af et genoptræningsprogram skelnes typisk mellem tre overlappende stadier:
- Forståelsesfasen: det stadie i indlæringen af en motorisk færdighed, hvor man arbejder med at forstå de enkelte dele af bevægelsen.
- Den associative fase: det stadie i indlæringen af en motorisk færdighed, hvor teknikken kun kan udføres, når man er meget bevidst og fokuseret, og hvor der er stor variation i, hvor godt det lykkedes fra gang til gang.
- Den automatiske fase: slutstadiet i indlæringen, hvor teknikken udføres med stor præcision hver gang, og uden at man behøver at koncentrere sig om det.
For at opnå den optimale motorisk læring har præcis og hurtig feedback en stor betydning for succes. Man kan således arbejde med at indarbejde positiv feedback i form af belønning på baggrund af en bestemt succesfuld bevægelse.
Dette medfører en øget sandsynlighed for, at handlingen gentages. Belønningen skal være simpel og letforståelig. Det kan f.eks. være simple signaler i form af lysglimt eller lyde, hvilket skal sikre et let forståeligt og hurtigt feedback.
Case I
Hvordan kan I designe med digital teknologi et træningsprogram eller et selvevalueringsprogram, som skal hjælpe en patient med følgende udfordringer?
Jeres argumentation og refleksion i forhold til jeres løsningsforslag skal tage afsæt i teorier, som beskriver følger på blodprop i hjernen.
Problem
Patient har pga. en blodprop i hjernen problemer med at bøje (fleksion) og strække (ekstension) højre arm. Patienten har i sygdomsforløbet oplevet:
- Tab af muskelmasse i m. biceps brachii og m. triceps brachii
- Tab af hurtighed i udførelse af en koncentrisk muskelkontraktion i m. biceps brachii
- Tab af præcision i muskelkontrol under en ekstension og fleksion af underarmen.
Design ved at brug af designcirklens arbejdsproces og “wearble-teknologier” et træningsprogram eller selvevalueringsprogram, der har fokus på at forbedre mindst en af de ovenstående tab som følge af en blodprop i hjernen.
Supplerende materiale
Review: Maceira-Elvira et al. (2019). Wearable technology in stroke rehabilitation: towards improved diagnosis and treatment of upper-limb motor impairment Journal of NeuroEngineering and Rehabilitation.
Case II
Hvordan kan I designe med digital teknologi et træningsprogram eller et selvevalueringsprogram, som skal hjælpe en patient med følgende udfordringer?
Jeres argumentation og refleksion i forhold til jeres løsningsforslag skal tage afsæt i teorier, som beskriver følger på blodprop i hjernen.
Problem
Patient har pga. en blodprop i hjernen problemer med at bøje (fleksion) og strække (ekstension) venstre underben. Patienten har i sygdomsforløbet oplevet:
- Tab af muskelmasse i m. quadriceps femoris
- Tab af hurtighed i udførelse af en koncentrisk muskelkontraktion m. quadriceps femoris
- Tab af præcision i muskelkontrol og balance under en koncentrisk og excentrisk muskelkontraktion af m. quadriceps femoris.
Design ved at brug af designcirklens arbejdsproces og “wearble-teknologier” et træningsprogram eller selvevalueringsprogram, der har fokus på at forbedre mindst en af de ovenstående tab som følge af en blodprop i hjernen.
Supplerende materiale
Review: Maceira-Elvira et al. (2019). Wearable technology in stroke rehabilitation: towards improved diagnosis and treatment of upper-limb motor impairment Journal of NeuroEngineering and Rehabilitation.
Case III
Hvordan kan I designe med digital teknologi et træningsprogram eller et selvevalueringsprogram, som skal hjælpe en patient med følgende udfordringer?
Jeres argumentation og refleksion i forhold til jeres løsningsforslag skal tage afsæt i teorier, som beskriver følger på blodprop i hjernen.
Problem
Patient har pga. en blodprop i hjernen problemer med at bøje (fleksion) og strække (ekstension) venstre pegefinger. Patienten har i sygdomsforløbet oplevet:
- Tab af muskelmasse i underarmen
- Tab af hurtighed i udførelse af fleksion i pegefingerens midterste led
- Tab af præcision i muskelkontrol under en ekstension og fleksion af pegefingeren.
Design ved at brug af designcirklens arbejdsproces og“wearble-teknologier” et træningsprogram eller selvevalueringsprogram, der har fokus på at forbedre mindst en af de ovenstående tab som følge af en blodprop i hjernen.
Supplerende materiale
Review: Maceira-Elvira et al. (2019). Wearable technology in stroke rehabilitation: towards improved diagnosis and treatment of upper-limb motor impairment Journal of NeuroEngineering and Rehabilitation.
2. Modul: Udforskning
Udforskning – lav feltstudie
- Nu begynder jeres feltarbejde for alvor. I skal søge mere viden og konkrete erfaringer fra virkeligheden, så I er godt klædt på til at idégenerere og designe en løsning. Det vil sige, at I skal finde viden om:
- Hvordan nerver sender signaler.
- Hvordan musklen aktiveres.
- Sensorer, herunder muligheder og begrænsninger.
- Hvordan programmeringen kan designes efter jeres behov.
- I kan gå på opdagelse her i modulet og se de forskellige screencast:
- Nervesignalet: Vejen til kontrol
- Aktionspotentialet: Hjernens signal til musklen
- Aktivering af muskelcellen: del 1
- Aktivering af muskelcellen: del 2
- Muskelkontraktion: Kobling af myosin og aktin
- Hjernens kontrol af muskelkraft
- Sammenkobling af delelementer til muskelaktivering
Formål med feltstudie
Efter feltstudiet skal I arbejde videre i grupperne og lave en beskrivelse og analyse af jeres erfaringer og viden. Gerne i form af tekst, sketches og billeder.
I skal deri forsøge at italesætte, hvad I synes har været mest interessant med det, I har oplevet, erfaret og set i designkonteksten.
Nervesignalet: Vejen til kontrol
Aktionspotentialet: Hjernens signal til musklen
Aktivering af muskelcellen: del 1
Aktivering af muskelcellen: del 2
Muskelkontraktion: Kobling af myosin og aktin
Hjernens kontrol af muskelkraft
Sammenkobling af delelementer til muskelaktivering
3. Modul: Skabelse
Skabelse – idégenerér over forskellige designkoncepter
- Nu skal I lægge jer fast på én af de skitserede cases:
- Case I
- Case II
- Case III
- På baggrund af jeres feltstudie skal I arbejde med at samle og tematisere jeres designidé for at sikre, at jeres nyfundne viden danner grundlag for jeres idégenereringsproces, og svare på spørgsmålene:
- Hvordan kan vi løse problemet med wearable teknologi?
- Hvad er muligt og relevant?
Formål med idégenerering
Under idégenereringsfasen skal I i grupperne skabe designidéer på baggrund af en introduktion til idégenerering samt jeres analyse og fortolkning af designkonteksten.
Hvordan kan I designe med digital teknologi et træningsprogram eller et selvevalueringsprogram, som skal hjælpe en patient med følgende udfordringer?
Jeres argumentation og refleksion i forhold til jeres løsningsforslag skal tage afsæt i teorier, som beskriver følger på blodprop i hjernen.
Problem
Patient har pga. en blodprop i hjernen problemer med at bøje (fleksion) og strække (ekstension) højre arm. Patienten har i sygdomsforløbet oplevet:
- Tab af muskelmasse i m. biceps brachii og m. triceps brachii
- Tab af hurtighed i udførelse af en koncentrisk muskelkontraktion i m. biceps brachii
- Tab af præcision i muskelkontrol under en ekstension og fleksion af underarmen.
Opgave
Design ved at brug af designcirklens arbejdsproces og “wearble-teknologier” et træningsprogram eller selvevalueringsprogram, der har fokus på at forbedre mindst en af de ovenstående tab som følge af en blodprop i hjernen.
Supplerende materiale
Review: Maceira-Elvira et al. (2019). Wearable technology in stroke rehabilitation: towards improved diagnosis and treatment of upper-limb motor impairment Journal of NeuroEngineering and Rehabilitation.
Hvordan kan I designe med digital teknologi et træningsprogram eller et selvevalueringsprogram, som skal hjælpe en patient med følgende udfordringer?
Jeres argumentation og refleksion i forhold til jeres løsningsforslag skal tage afsæt i teorier, som beskriver følger på blodprop i hjernen.
Problem
Patient har pga. en blodprop i hjernen problemer med at bøje (fleksion) og strække (ekstension) venstre underben. Patienten har i sygdomsforløbet oplevet:
- Tab af muskelmasse i m. quadriceps femoris
- Tab af hurtighed i udførelse af en koncentrisk muskelkontraktion m. quadriceps femoris
- Tab af præcision i muskelkontrol og balance under en koncentrisk og excentrisk muskelkontraktion af m. quadriceps femoris.
Opgave
Design ved at brug af designcirklens arbejdsproces og “wearble-teknologier” et træningsprogram eller selvevalueringsprogram, der har fokus på at forbedre mindst en af de ovenstående tab som følge af en blodprop i hjernen.
Supplerende materiale
Review: Maceira-Elvira et al. (2019). Wearable technology in stroke rehabilitation: towards improved diagnosis and treatment of upper-limb motor impairment Journal of NeuroEngineering and Rehabilitation.
Hvordan kan I designe med digital teknologi et træningsprogram eller et selvevalueringsprogram, som skal hjælpe en patient med følgende udfordringer?
Jeres argumentation og refleksion i forhold til jeres løsningsforslag skal tage afsæt i teorier, som beskriver følger på blodprop i hjernen.
Problem
Patient har pga. en blodprop i hjernen problemer med at bøje (fleksion) og strække (ekstension) venstre pegefinger. Patienten har i sygdomsforløbet oplevet:
- Tab af muskelmasse i underarmen
- Tab af hurtighed i udførelse af fleksion i pegefingerens midterste led
- Tab af præcision i muskelkontrol under en ekstension og fleksion af pegefingeren.
Opgave
Design ved at brug af designcirklens arbejdsproces og“wearble-teknologier” et træningsprogram eller selvevalueringsprogram, der har fokus på at forbedre mindst en af de ovenstående tab som følge af en blodprop i hjernen.
Supplerende materiale
Review: Maceira-Elvira et al. (2019). Wearable technology in stroke rehabilitation: towards improved diagnosis and treatment of upper-limb motor impairment Journal of NeuroEngineering and Rehabilitation.
Sundhedswearable til brug ved genoptræning
I har fået udleveret en M5StickC, der er en såkaldt microcontroller – en lille computer, der bl.a. kan bearbejde sensorinput og levere noget output – i format af et armbåndsur. Det er nu tanken, at I eksperimenterer jer frem til nogle træningssessioner til brug ifm. genoptræning. Jeres arbejde med uret vil tage udgangspunkt i noget eksempelkode, hvor I vil skulle justere på nogle parametre, dels ud fra jeres eksperimentelle arbejde, dels ud fra jeres biologifaglige viden om problemstillingen.
Til M5StickC’en er der udarbejdet en dansksproget guide, som skal sikre, at I kommer godt i gang – og foruden at fungere som dokumentation for uret, så består guiden desuden af et repertoire af konkrete kodeeksempler: hvordan skriver man tekst i urets display, hvordan bruger man urets sensorer mv. Det kan derfor anbefales, at man simpelthen bogmærker siden.
Opgaven bliver nu at følge anvisningerne i guiden:
- Installér Mu ved at følge videoguiden under “Kom godt i gang” – og
- Skriv dit første program.
I har nu installeret Mu og lavet jeres første program på M5StickC’en. Det er nu tid til at arbejde mere konkret med jeres case. For at kunne registrere – og handle på – patientens bevægelser ud fra jeres viden om komplikationerne ved slagtilfælde, så skal I bruge urets bevægelsessensor (IMU).
Opret et nyt script i Mu, hvor I skriver følgende:
from lib import imu
import time
myIMU = imu.IMU()
while True:
time.sleep_ms(10)
print(myIMU.acceleration)
Sæt det op som nedestående screenshot
Klik på “Run” for at køre programmet og “REPL” for at stoppe det igen.
Ovenstående giver jer løbende de rå accelerometerværdier som illustreret ovenfor. Hvis man så klikker “Plotter“, så dannes ude i højre side en graf af dataene. Prøv at tage uret på – og bevæg da hånden/armen. Hvad sker der med de tre grafer, og hvilke(n) er relevant(e)?
Næste trin
Feedback i form af teksten “godt” eller “lidt hurtigere” i MU editor
Én opgave kunne være, at “tjekke” for hastigheden i et løft af armen, hvor man indtil videre kan nøjes med accelerometret – skriv følgende ind i Mu, og kør så koden ved at klikke på “Run” og “REPL” for at stoppe det igen:
from lib import imu
import time
myIMU = imu.IMU()
ax, ay, az = myIMU.acceleration
ay_sidst = ay
hastighed = 0.025
while True:
ax, ay, az = myIMU.acceleration
if ay > ay_sidst:
print('godt!')
else:
print('lidt hurtigere..')
ay_sidst = ay+hastighed
time.sleep(0.3)
Vigtigt at koden sættes ind som ovenstående screenshot
Se eventuelt også et eksempel på hvor M5StickC display bruges
EKSEMPEL: Registrer bevægelse 2
Opgave
Ved at justere på variablen hastighed skal I nu eksperimentere jer frem til en brugbar værdi, som jo omvendt er udtryk for en bestemt hastighed.
Husk at køre programmet påny ved hver ændring;
1) Hvad sker der, når I henholdsvis øger/sænker værdien?
2) Hvad ville være hensigtsmæssige værdier, når I tager hensyn til jeres biologifaglige viden om slagtilfælde og implikationer for f.eks. armbevægelser?
Ovenstående kode forudsætter i øvrigt, at urets M5-knap er tættest håndleddet.
Mulighed for at ændre feedback fra uret
Nedenfor er koden fra før udvidet med muligheden for at bruge urets display samt højtaler. Programmets while-løkke er desuden ændret, således at der i stedet for “godt!” bliver bip’et en enkelt gang – og displayet lyser op:
For tilslutning af højtalermodul og eksempelkode: Højtaler
from lib import imu
import time
from m5stack import lcd
from flowlib import hat
myIMU = imu.IMU()
ax, ay, az = myIMU.acceleration
hat_spk0 = hat.get(hat.SPEAKER)
ay_sidst = ay
hastighed = 0.025
tone = 1500
lcd.clear()
while True:
ax, ay, az = myIMU.acceleration
if ay > ay_sidst:
hat_spk0.sing(tone, 0.3)
lcd.clear(0xFFAA00)
else:
print('lidt hurtigere..')
ay_sidst = ay+hastighed
lcd.clear()
time.sleep(0.3)
Sæt det op som ovenstående screenshot
Ekstra udfordring!
Hvordan ville man i øvrigt gøre, hvis nu tonen skulle stige afhængigt af, hvor hurtigt man løfter armen (frem for i intervaller à hastighed=0.025)? Kunne man f.eks. på én eller anden måde lade tone være afhængig af differencen mellem ay og ay_sidst?
Kunne det måske være en idé at have en tone, som angav den stigning i hastighed, man som patient skal forsøge at efterstræbe, i stedet for et enkelt bip? Indtænk eventuelt kodens else, sådan at der også kan “handles”, når betingelsen ay > ay_sidst ikke er opfyldt.
I det foregående har I arbejdet med de rå accelerometerværdier. Isoleret betragtet er disse værdier ikke særlig anvendelige, hvis man f.eks. skal måle vinkler – om man får strukket armen rigtigt e.lign. Modificerer vi imidlertid koden og introducerer et særligt filter, som er i stand til at kombinere data fra urets accelerometer og gyroskop, så får vi pludselig nogle tal, hvor I vil kunne se urets orientering direkte afspejlet
Guide til at overføre biblioteket “fusion” til M5stickC
Fra computere til M5stickC
https://m5guide.readthedocs.io/da/latest/loggedata.html
from lib import imu
import time
import fusion
myIMU = imu.IMU()
filter = fusion.MahonyFilter()
count = 0
while True:
filter.update(myIMU.acceleration, myIMU.gyro)
if count == 20:
print(filter.pitch, ' / ', filter.roll)
count = 0
count += 1
Opgave
1) Hvad sker der med de to værdier, når I vender og drejer uret?
Prøv at tage uret på, og eksperimentér jer frem til nogle såkaldte “tærskel”-værdier, dvs. værdier for, når man f.eks. holder armen strakt ud, vinkelret på kroppen – og når man så løfter armen.
Notér nu intervallerne for relevante bevægelser, og prøv at finde en sammenhæng mellem værdierne og hvor meget I løfter armen.
I det foregående har I eksperimenteret jer frem til nogle tærskeværdier for bevægelser, der er relevante ifm. genoptræning efter et slagtilfælde. Og nu hvor I har vundet lidt indsigt omkring fysisk bevægelses gengivelse, eller repræsentation, som talværdier, så er det tid til at “handle” på disse i jeres kode.
I har nu prøvet kræfter med henholdsvis accelerometer og en kombination af dette samt gyroskopet, sådan at I har kunnet finde brugbare værdier for hastigheden i f.eks. en armbevægelse og intervaller for en arms umiddelbare vinkel på kroppen. I det følgende skal det handle om bearbejdelse af input fra en EMG-sensor. EMG’en måler den elektriske aktivitet i muskler og leverer så et output (en enkelt værdi) alt efter, hvordan den konfigureres. Dog typisk en værdi mellem 200-1024 afhængigt af, hvor meget man spænder den pågældende muskel.
Med EMG-sensoren følger et kabel, som gør det muligt at koble sensoren til uret – gennem den såkaldte Grove-port som illustreret nedenfor. Derudover finder I nogle ledninger, hvor I kan “knappe” elektroder på. Husk i øvrigt at tænde sensoren ude på siden af printet – og sæt nye elektroder på, hvis og når I skiftes i gruppen til at prøve udstyret af.
Når uret er koblet til – og tændt, og I har påsat elektroderne på en bestemt muskel i overensstemmelse med jeres biologifaglige viden, så forsøg jer allerførst med følgende kode:
import time
from machine import Pin, ADC
emg = ADC(Pin(32))
emg.atten(ADC.ATTN_11DB)
emg.width(ADC.WIDTH_10BIT)
while True:
print(emg.read())
time.sleep(0.1)
Hvor følsom er sensoren? Og hvad svarer f.eks. en fuldt spændt muskel til som talværdi? I skal nu eksperimentere jer frem til nogle meningsfulde intervaller, f.eks. for træning af fingerfærdighed, hvor I således har elektroderne på underarmen. I kan udbygge ovenstående kode – helt specifikt -løkken – med en variabel og en betingelse, ligesom det var tilfældet i forrige afsnit, sådan at I kan give jeres bruger feedback på udførslen:
while True:
emg = emg.read()
print(emg)
if emg > 250 and emg < 400:
print('Korrekt udfoersel')
time.sleep(0.1)
4. Modul: Skabelse
Skabelse – konstruér modeller af designkonceptet med digital fabrikation
- I skal arbejde med at skabe en prototypemodel af jeres designidé, hvor I integrerer og videreudvikler brugen af wearable teknologier og programmering koblet til fysiologiske teorier om nerver og muskelaktivering.
- Hvordan skaber vi løsningen?
- Her skal I planlægge, overveje og beslutte jer for, hvilke dele I vil konstruere og med hvilke materialer og teknologier, herunder design af sensorer og programmering.
- Når I har designet jeres prototype, der kan afhjælpe problemet, skal I bygge og afprøve prototypen af jeres designidé.
Formål med fabrikation
I fabrikationsfasen skal I arbejde med at konstruere og revidere jeres designidé. Det skal blive til en prototype, som I kan bruge til at løse det problem, I har fundet ud fra jeres case.
Det centrale er, at I får lavet en kobling mellem jeres idé til løsning af designopgaven og idéer og argumenter ud fra fysiologisk teori. Ikke bare én til én, men en videreudvikling af jeres idé; I skal tage kritiske beslutninger på baggrund af de udfordringer og muligheder, der opstår.
Sundhedswearable til brug ved genoptræning
I har fået udleveret en M5StickC, der er en såkaldt microcontroller – en lille computer, der bl.a. kan bearbejde sensorinput og levere noget output – i format af et armbåndsur. Det er nu tanken, at I eksperimenterer jer frem til nogle træningssessioner til brug ifm. genoptræning. Jeres arbejde med uret vil tage udgangspunkt i noget eksempelkode, hvor I vil skulle justere på nogle parametre, dels ud fra jeres eksperimentelle arbejde, dels ud fra jeres biologifaglige viden om problemstillingen.
Til M5StickC’en er der udarbejdet en dansksproget guide, som skal sikre, at I kommer godt i gang – og foruden at fungere som dokumentation for uret, så består guiden desuden af et repertoire af konkrete kodeeksempler: hvordan skriver man tekst i urets display, hvordan bruger man urets sensorer mv. Det kan derfor anbefales, at man simpelthen bogmærker siden.
Opgaven bliver nu at følge anvisningerne i guiden:
- Installér Mu ved at følge videoguiden under “Kom godt i gang” – og
- Skriv dit første program.
I har nu installeret Mu og lavet jeres første program på M5StickC’en. Det er nu tid til at arbejde mere konkret med jeres case. For at kunne registrere – og handle på – patientens bevægelser ud fra jeres viden om komplikationerne ved slagtilfælde, så skal I bruge urets bevægelsessensor (IMU).
Opret et nyt script i Mu, hvor I skriver følgende:
from lib import imu
import time
myIMU = imu.IMU()
while True:
time.sleep_ms(10)
print(myIMU.acceleration)
Sæt det op som nedestående screenshot
Klik på “Run” for at køre programmet og “REPL” for at stoppe det igen.
Ovenstående giver jer løbende de rå accelerometerværdier som illustreret ovenfor. Hvis man så klikker “Plotter“, så dannes ude i højre side en graf af dataene. Prøv at tage uret på – og bevæg da hånden/armen. Hvad sker der med de tre grafer, og hvilke(n) er relevant(e)?
Næste trin
Feedback i form af teksten “godt” eller “lidt hurtigere” i MU editor
Én opgave kunne være, at “tjekke” for hastigheden i et løft af armen, hvor man indtil videre kan nøjes med accelerometret – skriv følgende ind i Mu, og kør så koden ved at klikke på “Run” og “REPL” for at stoppe det igen:
from lib import imu
import time
myIMU = imu.IMU()
ax, ay, az = myIMU.acceleration
ay_sidst = ay
hastighed = 0.025
while True:
ax, ay, az = myIMU.acceleration
if ay > ay_sidst:
print('godt!')
else:
print('lidt hurtigere..')
ay_sidst = ay+hastighed
time.sleep(0.3)
Vigtigt at koden sættes ind som ovenstående screenshot
Se eventuelt også et eksempel på hvor M5StickC display bruges
EKSEMPEL: Registrer bevægelse 2
Opgave
Ved at justere på variablen hastighed skal I nu eksperimentere jer frem til en brugbar værdi, som jo omvendt er udtryk for en bestemt hastighed.
Husk at køre programmet påny ved hver ændring;
1) Hvad sker der, når I henholdsvis øger/sænker værdien?
2) Hvad ville være hensigtsmæssige værdier, når I tager hensyn til jeres biologifaglige viden om slagtilfælde og implikationer for f.eks. armbevægelser?
Ovenstående kode forudsætter i øvrigt, at urets M5-knap er tættest håndleddet.
Mulighed for at ændre feedback fra uret
Nedenfor er koden fra før udvidet med muligheden for at bruge urets display samt højtaler. Programmets while-løkke er desuden ændret, således at der i stedet for “godt!” bliver bip’et en enkelt gang – og displayet lyser op:
For tilslutning af højtalermodul og eksempelkode: Højtaler
from lib import imu
import time
from m5stack import lcd
from flowlib import hat
myIMU = imu.IMU()
ax, ay, az = myIMU.acceleration
hat_spk0 = hat.get(hat.SPEAKER)
ay_sidst = ay
hastighed = 0.025
tone = 1500
lcd.clear()
while True:
ax, ay, az = myIMU.acceleration
if ay > ay_sidst:
hat_spk0.sing(tone, 0.3)
lcd.clear(0xFFAA00)
else:
print('lidt hurtigere..')
ay_sidst = ay+hastighed
lcd.clear()
time.sleep(0.3)
Sæt det op som ovenstående screenshot
Ekstra udfordring!
Hvordan ville man i øvrigt gøre, hvis nu tonen skulle stige afhængigt af, hvor hurtigt man løfter armen (frem for i intervaller à hastighed=0.025)? Kunne man f.eks. på én eller anden måde lade tone være afhængig af differencen mellem ay og ay_sidst?
Kunne det måske være en idé at have en tone, som angav den stigning i hastighed, man som patient skal forsøge at efterstræbe, i stedet for et enkelt bip? Indtænk eventuelt kodens else, sådan at der også kan “handles”, når betingelsen ay > ay_sidst ikke er opfyldt.
I det foregående har I arbejdet med de rå accelerometerværdier. Isoleret betragtet er disse værdier ikke særlig anvendelige, hvis man f.eks. skal måle vinkler – om man får strukket armen rigtigt e.lign. Modificerer vi imidlertid koden og introducerer et særligt filter, som er i stand til at kombinere data fra urets accelerometer og gyroskop, så får vi pludselig nogle tal, hvor I vil kunne se urets orientering direkte afspejlet
Guide til at overføre biblioteket “fusion” til M5stickC
Fra computere til M5stickC
https://m5guide.readthedocs.io/da/latest/loggedata.html
from lib import imu
import time
import fusion
myIMU = imu.IMU()
filter = fusion.MahonyFilter()
count = 0
while True:
filter.update(myIMU.acceleration, myIMU.gyro)
if count == 20:
print(filter.pitch, ' / ', filter.roll)
count = 0
count += 1
Opgave
1) Hvad sker der med de to værdier, når I vender og drejer uret?
Prøv at tage uret på, og eksperimentér jer frem til nogle såkaldte “tærskel”-værdier, dvs. værdier for, når man f.eks. holder armen strakt ud, vinkelret på kroppen – og når man så løfter armen.
Notér nu intervallerne for relevante bevægelser, og prøv at finde en sammenhæng mellem værdierne og hvor meget I løfter armen.
I det foregående har I eksperimenteret jer frem til nogle tærskeværdier for bevægelser, der er relevante ifm. genoptræning efter et slagtilfælde. Og nu hvor I har vundet lidt indsigt omkring fysisk bevægelses gengivelse, eller repræsentation, som talværdier, så er det tid til at “handle” på disse i jeres kode.
I har nu prøvet kræfter med henholdsvis accelerometer og en kombination af dette samt gyroskopet, sådan at I har kunnet finde brugbare værdier for hastigheden i f.eks. en armbevægelse og intervaller for en arms umiddelbare vinkel på kroppen. I det følgende skal det handle om bearbejdelse af input fra en EMG-sensor. EMG’en måler den elektriske aktivitet i muskler og leverer så et output (en enkelt værdi) alt efter, hvordan den konfigureres. Dog typisk en værdi mellem 200-1024 afhængigt af, hvor meget man spænder den pågældende muskel.
Med EMG-sensoren følger et kabel, som gør det muligt at koble sensoren til uret – gennem den såkaldte Grove-port som illustreret nedenfor. Derudover finder I nogle ledninger, hvor I kan “knappe” elektroder på. Husk i øvrigt at tænde sensoren ude på siden af printet – og sæt nye elektroder på, hvis og når I skiftes i gruppen til at prøve udstyret af.
Når uret er koblet til – og tændt, og I har påsat elektroderne på en bestemt muskel i overensstemmelse med jeres biologifaglige viden, så forsøg jer allerførst med følgende kode:
import time
from machine import Pin, ADC
emg = ADC(Pin(32))
emg.atten(ADC.ATTN_11DB)
emg.width(ADC.WIDTH_10BIT)
while True:
print(emg.read())
time.sleep(0.1)
Hvor følsom er sensoren? Og hvad svarer f.eks. en fuldt spændt muskel til som talværdi? I skal nu eksperimentere jer frem til nogle meningsfulde intervaller, f.eks. for træning af fingerfærdighed, hvor I således har elektroderne på underarmen. I kan udbygge ovenstående kode – helt specifikt -løkken – med en variabel og en betingelse, ligesom det var tilfældet i forrige afsnit, sådan at I kan give jeres bruger feedback på udførslen:
while True:
emg = emg.read()
print(emg)
if emg > 250 and emg < 400:
print('Korrekt udfoersel')
time.sleep(0.1)
5. Modul: Iscenesættelse
Iscenesættelse – Redegør og argumentér for designvalg
- Nu skal I redegøre og argumentere for jeres designvalg, altså: Hvorfor har vi valgt denne løsning?
- Jeres redegørelse og argumentation skal munde ud i en præsentation af jeres designidé og prototype. Husk at argumentere for alle designvalg – fra feltstudiet og observationer til den viden, I har skabt gennem jeres tidligere designaktiviteter.
- God fokuspunkter i argumentationen er:
- Idéen: Hvorfor er det en god og interessant idé?
- Fokus: Hvordan hænger idéen sammen med jeres fokus og de ting, I har undersøgt?
- Krav: Hvordan lever designidéen op til designopgavens krav?
- Muligheder: Hvilke muligheder er der for videreudvikling af designidéen?
Formål med argumentation
Formålet med feedbacksessionen er, at I skal øve jer i at præsentere jeres designidé og prototype, give og få kritik med det formål at støtte en videreudvikling og refleksionsfasen. I skal forstå at modtage og give feedback som konstruktiv kritik. Derudover giver det designgrupperne mulighed for at diskutere den feedback, I hver især har fået og indarbejde den i prototypen eller tage nye overvejelser med i refleksionsfasen.
6. Modul: Iscenesættelse
OBS: Skal det være videoscenarie, eller skal vi erstatte med et andet produkt?
Iscenesættelse – Reflektér
- Nu er det tid til at færdiggøre jeres produkt. Hvis I er kommet i tanke om forbedringsmuligheder, kan I tilføje dem nu.
- Med udgangspunkt i jeres præsentation af designidé og prototype og dertilhørende argumentation, skal I nu arbejde med at udforske og producere et videoscenarie. Heri skal det italesættes
- Hvad I har lært – fagligt og af designprocessen.
- Hvad I kunne gøre bedre næste gang.
Formål med refleksion
I refleksionsfasen skal I i grupperne skabe et videoscenarie, hvor jeres designidé bliver præsenteret. Videoscenariet skaber grund for arbejdet med at materialisere designidéen ud fra prototypemodellen, til at skabe narrative sammenhængen mellem designidé og dets mulige brug i designkonteksten.