TDDD57 Fysisk interaktion och spelprogrammering
VT1
![](https://mediapipe.dev/images/mobile/face_mesh_android_gpu.gif)![](https://mediapipe.dev/images/mobile/hand_tracking_3d_android_gpu.gif)![](https://mediapipe.dev/images/mobile/iris_tracking_example.gif) ![](https://mediapipe.dev/images/mobile/objectron_cup_android_gpu.gif)![](https://mediapipe.dev/images/mobile/face_detection_android_gpu.gif)
### Nyheter
### Seminariertider för projektredovising:
6/3 10-12, S35
* 1: Erik Svensson (erisv281),
* 3: Filip Berg (filbe316) Pontus Post (ponpo202),
* 8: Adam Nyberg (adany292) Kent Thang (kenth010),
* 9: David Sundström (davsu677) Johan Asp (johas349)
8/3, 10-12 R35
* 2: Ia Bruno (iabru936), Lovisa Svensson (lovsv991)
* 4: Albin Wilander (albwi477) Filip Jakobsson (filja442) Ivar Kamsvåg (ivaka037)
* 5: Jack Kolm (jacko460) Maximilian Sjöström (maxsj462)
* 6: Malte Hegg (malhe463) Pontus Björnlund (ponbj990)
* 10: Albin Kjellberg (albkj604) Sebastian Lindgren (sebli731)
---
### [Introduktionsföreläsning 19/1 10-12, i S35 C-huset](TDDD57_Intro_2024.pdf)
---
### 🔶 Förändring till 2024 🔶
* Labbarna har fokuserats enbart på hand_landmarks för att kunna göra mer riktade och mer rika labbar.
* MEr utredning av optimala egenskaper i labbarna.
* Uppdatering för nya Mediapipe
---
Deadlines:
* vecka 3-4. Anmäl deltagande i kursen på webreg [https://www.ida.liu.se/webreg-beta/TDDD57-2024-1/Moment](https://www.ida.liu.se/webreg-beta/TDDD57-2024-1/Moment)
* Vecka 3-4. Skapa eget **gitlab.liu.se** repo genom att t.ex. forka [godot_starter_TDDD57 gitlabrepot](https://gitlab.liu.se/eribe22/godot_starter_tddd57). Bjud in **eribe22 och helor34 som Reporter** till repot.
* Vecka 3-4. [Anmäl URL till repot i detta fomulär](https://forms.office.com/e/3fz4C026mt).
* Vecka 6 - Labbar redovisas på plats under seminarie. Tid slumpas. [Se labbsidan](labb.sv.shtml)
* 13/2 - Projektide mailad till examinatorn för återkoppling (ej krav).
* Vecka 10 - Projekt demonstreras på plats. Tid slumpas. Screencast av projektet ska även spelas in som underlag. [Se projektsidan](proj.sv.shtml)
* 12/3 - Slutlig inlämning med screencast-länk med URL från det repo ni lämnat in via formuläret
Sen student:
* **Omdemonstrationstillfälle för labbar och projekt annordnas i samråd med examinatorn i samband med normala omtentaperioder. Maila.
---
### Kursmål
Kursen kunskapsområde är interaktion med datorn med kroppen mot externa skärmar.
Centralt är:
* Instabil sensordata (brus, felaktigheter, dåliga zoner, dåliga vinklar) och design av applikationer som överlever detta
* Att designa för behaglig och naturlig kroppsrörelse (rörelse, vilopositioner, ergonomi).
* Design av visuell feedback som ersättning för haptik
* Designa av feedback som stödjer kroppsförflyttningen
* Design av förutspående och förklarande feedback, feedback som förklarar vad som kommer hända om nuvarande rörelse forstätter innan det är för sent. Beror på att kroppen hela tiden och ibland omedvetet rör på sig.
* Design som får användaren att inte "glida ur" den "goda" zonen/interaktionen
* Konstruera interaktionsregler (kräver ofta state-maskiner) som tillsammans och efter varandra möjliggör bra interaktion.
Vi måste förstå vad sensorn är bra, släta ut/eliminera felaktigheter och göra interaktionen säker/snabb.
I datorspel blir små fel i interaktion ödesdigra, interaktion mot rörliga mål är vanligt, interaktionsförlopp är snabba. Därför är spel bra tillämpning för kroppsbaserad interaktionsdesign - kräver bättre design och bättre feedback än desktop-interaktion. Kursen använder därför spel som tillämpning för kroppsbaserad interaktion ... men egentligen är det interaktion med kroppen via ML-baserad spårning och mot publika displayer som är fokus. Projekt i kursen kan vara icke-spel så länge samma interaktionbehov skapas. (Interaktion med robotar är ockås en tillämpning man ser allt mer för kroppsbaserad interaktion, tillsammans med natural language. Detta då robbotar gärna använder ML-kroppsspårning, ansiktsigenkänning osv själv för sin interaktion med människor.)
Gester är här mycket intressant - men inför komplexitet kring datorns tolkning - och därför föredrar vi mer direkt interaktion liknande mus/touch. Det är rätt fokus för kursens kunskapsmål.
Naturlig interaktion är intressant (t.ex. att man flaxar för att flyga som en fågel). Men det är viktigt att förstå att abstrakt interaktion är naturligt för människor med (och ibland lättare) för människor. Istället är det feedback som skapar naturlig styrning oavsett naturlig/abstrakt interaktion. Ta t.ex. en grävskopsförare. Lär sig styra 3 fullt fria axlar med 3 raka spakar pga att man ser vad grävskopan gör. Lättare att vila med armen, lättare att ta en spak i taget ...
Rik, naturlig interaktion är viktig, men stabil interaktion och interaktion med vilolägen är kanske viktigare och vi ska fokusera på att helheten blir bra.
En vanlig problematik är att det finns säkrare och mindre säkra områden där sensorn tar längre tid på sig eller ger svagare/sämre data. Att hitta och hålla användaren borta från sådant är del av vår uppgift. Med handspårning försvinner ibland händerna och i kamerans ytterområden är datat mer instabilt. Att designa feedback som får användaren att vara kvar i "den bra" zonen är del av designen. Här kan händerna även röra sig utan att vi är medvetna om det. Hjärnan är väldigt bra på att "gömma" för oss vad vi egentligen gör. Det måste då visas med feedback innan det är för sent.
### Praktiskt genomföraden
Kursen genomförs som en serie labbar för grundläggande interaktion öoch sedan sker utveckling av ett eget projekt. Man förväntas klara grundläggande utveckling och kodning. Kursen ges på A-nivå för studenter som har god programmeringsförmåga.
[Läs mer på sidan om teknik](tech.sv.shtml)
Labbarna handlar om 3 saker:
* Få igång utvecklingmiljö och programmera
* Undersöka styrkor och svagheter med interaktionsteknik
* Utveckla basinteraktioner
Projektet handlar om att bygga:
* En applikation med välfungerande kroppslig interaktion
* Designa stabil interaktion med ibland svaga sensorer (eliminera relevanta svagheter)
* Designa feedback som gör att användaren kan interagera säkert och förstår hur man ska röra på kroppen för att genomföra interaktionen
* Designa feedback så att användaren förstår vart de är på väg innan det händer så att de kan avbryta.
Betygsgrundande kriterier:
Se [Examinations-sidan](exam/index.sv.shtml)
Seminarierna handlar om :
* Redovisa era resultat
* Ta del av andras erfarenheter
* Få återkoppling på resultat
För den som inte är klar med alla moment till ett seminarium gäller redovisning av kvarvarande delar via screencasts.
### Jobba i par i kursen
I kursen kan man jobba 1, 2 och i undantagsfall 3. På webbreg kan man signa upp sig men bara 2. Om någon behöver vara 3 hör av er så lägger jag upp 3:e person.
Man kan inte dela upp arbetet utan alla gör allt för att få full kunskap. MEn man kan ju jobba ihop och lära varandra olika delar.
### Redovisningar
Muntlig demonstration sker på plats i seminarium. För projektet ska slutprodukten redovisas på plats, men även en inspelad screencast på länk (Youtube, OneDrive) ska mailas till examinatorn där man visar upp sitt projekt och diskuterar kunskapskrav i krusen.
Missa inte att kunskapskraven handlar om interaktion, design, feedback utöver den tekniska dimensionen. Mycket tid får gärna gå till att bygga om, ta bort, minska ... se då även till att beskriva allt detta i screencast och redovisningar.
### Pedagogik
Eget lärande kring att genomföra labbar och projekt. Redovisningar och gruppdiskussion är centrala. Följer aktivt lärande och reflektion/återkoppling som viktigaste moment för lärande.
![](learning-pyramid-synap-2.png)
---
### Evaliuate-utvärdering av kursen
* 2023: helhetsbetyg 4.40
Sidansvarig: Erik Berglund
Senast uppdaterad: 2024-02-27