Idee, Projektorganisation:   Andreas Döpkens
Programmierung:   Brian Schüler

Die Definition von Reaktionszeit ist das vergangene Zeitintertvall zwischen einem Stimulus (z.B. Lampe geht an) und der darauf folgenden Bewegungsaktion (z.B. Taster wird gedrückt). Auch wenn das Szenario trivial klingt, handelt es sich dabei neurologisch um einen hoch-komplexen Mehrschrittt-Prozess, ausgehend von den Sinnesorganen bis hin zur Verarbeitung im Gehirn. Eine gute Reaktionszeit ist aus evolutionärer Sicht bei Mensch und Tier seit Anbeginn allen organischen Lebens wesentlich für das Überleben, wenn es darum geht, plötzlichen Gefahren auszuweichen. Die durchschnittliche Reaktionszeit bei einem Menschen liegt im Bereich von 200 ms. Jedoch ist diese Zeit abhängig vom Individuum und kann durch verschiedene Faktoren beeinflusst sein. Zu diesen Faktoren gehören:

- die Art des Stimulus (z.B. auditiv, haptisch, visuell)
- die Komplexität des Stimulus
- die Intensität des Stimulus
- das Geschlecht der Person
- das Alter
- Stress
- Müdigkeit (oder Wachheit)
- Aufmerksamkeit
- Fitness und Ernährung
- Erfahrung
- körpergebundene Stoffe wie Koffein, Alkohol, Drogen und Medikamente

Siehe hierzu die sehr ausführlich dokumentierte Internet-Seite ReactionTime.

Das hier vorgestellte Projekt acaReact war ursprünglich geplant als ein zwar untergeordneter, aber dennoch wichtiger Teil von acaPendulum. Aufgrund unerwarteter Probleme mit dem externen Triggern von Signalen über einen Mikrokontroller, der mittels BLE (BlueTooth Low Energy) mit einer auf einem Tablet laufenden App verbunden war, haben wir dieses Projekt wegen des dadurch entstandenen, nicht unerheblichen Mehraufwandes jedoch von acaPendulum getrennt.

Wie auch schon bei acaPendulum handelt es sich bei acaReact um ein Messgerät, ein Reaktionszeit-Messgerät, welches über den Mechanismus der Zeiterfassung und einem umfangreichen Katalog an verschiedenen Anforderungen die motorisch-kognitiven Fähigkeiten einer Person testen soll. Dabei stehen für uns zweierlei Interessen im Fokus der Arbeit, die eine jeweils eigene Konzentration auf verschiedene Aufgaben erfordern, die wir gerne als Abschlussarbeiten für Studierende der Informatik anbieten wollen:

In diesem Teil von acaReact wird alles auf das Schreiben einer relativ einfach gehaltenen "Test"-App (Android oder iOS) hinauslaufen. Dabei sind jedoch zwei Schwerpunkte zu unterscheiden:

Durch das Schreiben einer Test-App soll herausgefunden werden, ob aufgrund von Timingproblemen es überhaupt möglich ist, die Reaktionszeit eines Menschen in einer Tablet-App zuverlässig zu ermitteln. (Aus Erfahrung wissen wir, dass das mit einem "echtzeitfähigen" Mikrokontroller problemlos möglich ist.)

Wie aus dem Logo von acaReact (s. rechts oben) ersichtlich ist, gibt es prinzipiell zwei verschiedene Möglichkeiten für Taster-Betätigungen bei  der Ermittlung von Reaktionszeiten. Auf ein bestimmtes Ereignis in der App hin (auditiv oder visuell) soll einer der beiden Taster, entweder der extern am Tablet physisch angeschlossene oder der virtuelle Taster in der App gedrückt werden.

In einem ersten Versuch diebezüglich (Mitte 2019) haben wir schon eine Niederlage hinnehmen müssen. Wir haben in einem letztlich gescheiterten Versuchsaufbau den physischen Taster an einen Mikrokontroller angeschlossen, und dieser war über Bluetooth mit dem Tablet bzw. der App verbunden. Es hat sich dabei gezeigt, dass sowohl Bluetooth (BLE) als auch der Grafikprozessor in dem Tablet so "langsam" waren, dass dieser Weg nicht zum Erfolg führen konnte. Die Anstrengungen, die wir diesbezüglich genau unternommen haben, haben wir in dem PDF-Dokument

BLE-Laufzeit zwischen uC und App

ausführlich dokumentiert.

(1) Thema für eine Bachelor-Abschlussarbeit: Jedoch haben sich unsere Versuche nur auf die BLE-Verbindung zwischen einem Mikrokontroller und einem Android-Tablet bezogen. Aus einem anderen Projekt (acaChords) wissen wir aber, dass es in der BLE-Datenübertragung zwischen einem Mikrokontroller und einem Android- oder iOS-Tablet große Unterschiede gibt, bzw. geben kann. Da wir diesen Unterschied auf technischer Ehene bislang aber noch nicht weiter verfolgt haben, wissen wir nicht, wie groß der Unterschied genau ist, und wir wissen auch noch nicht, woran das liegen kann. Wer Lust hat, sich diesem Thema zu stellen, soll sich bei uns melden.

(2) Thema für Master-Abschlussarbeit: Nach der Vermutung von Martin von Löwis kann das oben geschilderte Problem grundsätzlich durch die Implementierung einer Uhrensynchronisation gelöst werden. Das heißt, sowohl auf dem Mikrokontroller als auch in der App wird eine Uhr installiert, und beide Uhren gemeinsam ermitteln durch (gegenseitige) Synchronisation die Reaktionszeit in Millisekundengenauigkeit. Das Thema ist nicht leicht, aber machbar ... (Wer sich dieses Thema zwar zutraut, aber Bedenken hinsichtlich der Mikrokontroller-Programmierung hat, dem sei gesagt, dass wir (also Brian) diesbezüglich eine große Hilfestellung geben können.)

(3) Thema für eine Bachelor/Master-Abschlussarbeit: Anstelle von BLE als "drahtlosem" Kommunikationsweg zwischen dem Mikrokontroller und der App (Android oder iOS) käme für die Ermittlung der Reaktionszeit über einen an einem Mikrokontroller angeschlossenen externen Taster noch der "drahtgebundene" Einsatz von USB-OTG (USB On-The-Go) in Betracht. Wer sich mit diesem Thema gerne näher beschäftigen möchte, kann das bei uns im Rahmen seiner Abschlussarbeit tun. Je nachdem, ob eine Bachelor- oder Masterarbeit angefertigt werden soll, werden die Inhalte vorher noch genau abgesprochen.

(4) Thema für Bachelor-Abschlussarbeit: Ebenfalls eine Möglichkeit für die Ermittlung der Reaktionszeit bei einem Menschen liegt im Einsatz eines virtuellen Tasters. Das heißt, sowohl das Ereignis, auf das von einem Probanden reagiert werden soll, als auch das hierfür nötige Werkzeug, der Taster, existieren beide in der App (Android oder iOS). Im Rahmen dieser Bachelorarbeit, die als Inhalt nur das Schreiben einer App vorsieht, würden wir von dem Studierenden erwarten, dass er nicht nur einfach den Reaktionstester als App programmiert, sondern dass er sich auf theoretischer Ebene auch mit den Betriebssystem-Interna auseinandersetzt und somit zusätzlich zu dem "empirischen" Ergebnis der Brauchbarkeit (geht oder geht nicht) auch "analytische" Begründungen erarbeitet, warum das so ist.

(5) Thema für Bachelor/Master-Abschlussarbeit: Ebenfalls besteht die Möglichkeit, im Rahmen einer Abschlussarbeit einen Reaktionstester (visuell, auditiv UND haptisch) durch die Verwendung geeigneter Aktoren rein auf einem "echtzeitfähigen" Mikrokontroller (z.B. Arduino oder ESP32) zu realisieren. Jedoch würde jegliches Setup für den Mikrokontroller über (zeitunkritisches) BLE von einer App (iOS oder Android) stammen, und auch die ermittelten Reaktionszeiten müssen abschließend an die App geschickt werden, wo sie grafisch dargestellt und in einer Datei abgespeichert werden. Je nachdem, ob es sich um eine Bachelor- oder Masterarbeit handelt, werden die genauen Inhalte hinsichtlich des Workloads individuell von uns festgelegt. Die Vergabe dieses Themas (das ich persönlich für ein richtig tolles TI-Thema halte) ist jedoch an eine Bedingung geknüpft: da es sich um eine Arbeit mit Fokus auf Mikrokontroller-Programmierung handelt, muss der/die Studierende vor Beginn der Abschlussarbeit unseren speziell entwickelten acaLab-Mikrokontroller-Kurs absolvieren; Dauer etwa 5 Tage. Dieser Kurs ist ein Garant für den Erfolg der in der Abschlussarbeit erforderlichen uC-Programmierung.

Wie oben schon gesagt wurde, ist acaReakt aus dem acaPendulum-Projekt hervorgegangen. So wie acaPendulum soll - jedoch autonom - auch acaReact als medizinisch-psychologisches Messgerät dazu dienen, über den Weg der Reaktionszeit die motorisch-kognitiven Fähigkeiten eines Menschen zu ermitteln und die Ergebnisse in einer Datenbank zu hinterlegen.

Leider kann dieser Teil des acaReact-Projektes aber noch nicht als Abschlussarbeit angeboten werden, da wir derzeit noch keine zufriedenstellende Möglichkeit haben, die Reaktionszeit überhaupt zu ermitteln (s.o. 1. acaReact als eine technische Informatik-Realisierung).

Trotzdem soll hier schon, als ein kleiner Ausblick auf eine zukünftige Abschlussarbeit, grob skizziert werden, wie wir uns in etwa den Datenbank-Inhalt vorstellen:

 

1  Benutzer Profil-Daten 

  • Name (z.B. Max Mustermann)
  • Geburtsdatum (z.B. 18.03.2001)
  • Geschlecht (m/w/d)
  • Händigkeit der Testperson (rechts-/linkshändig)
  • Grad der Alkoholisierung (in Promille)
  • Art des Stimulus
  • ...

 

 

2  Reaktionstester-Daten

(Innerhalb einer "Session" können unbestimmt viele Reaktionstests hintereinander erfolgen, bis die Serie an zusammengehörenden Tests, also die Session, beendet wird)

  • Datum und Uhrzeit des Session-Beginns (z.B. 03.04.2018   16:49 Uhr)
  • Startzeit und laufende Nummer eines Reaktionstestes (z.B. Test 001   17:03 Uhr)
  • gemessene Reaktionszeit (in Millisekunden, bis max. 3000ms, danach erzwungener Abbruch)
    (Wenn ein Reaktionstest beendet ist, soll dieser für gültig oder ungültig erklärt werden können. Bei "ungültig" wird er nicht gewertet und verworfen.)
  • Datum und Uhrzeit des Session-Endes (z.B. 03.04.2018   17:20 Uhr)
    (Wenn die Session beendet ist, soll sie auf Wunsch sofort gelöscht werden können. Ansonsten wird sie in der Datenbank unter dem Benutzerprofil aus 1 eingetragen.)