Gesture based car control

Gesture based car control

Interaction Design

Ricardo Brux, Filip Tkaczyk

Ricardo Brux, Filip Tkaczyk

Design Challenge

Wie können wir für Nutzergruppen, die nach innovativen Steuerungsmethoden suchen, eine alternative Möglichkeit entwickeln, ein Fahrzeug zu bedienen, die intuitiv, immersiv und zukunftsfähig ist?

"Die Wahl des Projekts und der Tools war sehr frei, es gab viel Spielraum zu experimentieren und Neues zu lernen."

Gedanken der Studierenden

Ziel dieses Konzepts

Eine neue Art von Controller, der eine innovative Steuerungsmethode für Fahrzeuge ermöglicht. Das Projekt kann sowohl als interaktive Demonstration in einem Museum als auch als Prototyp für zukünftige Fahrzeugsysteme dienen. Es erforscht alternative Möglichkeiten der Fahrzeugsteuerung jenseits klassischer Lenkräder und Pedale.

Ein kamerabasiertes Steuerungssystem, das:

  • Mobil und unabhängig einsetzbar ist (via Raspberry Pi)

  • Spiele oder reale Systeme wie RC Cars steuern kann

  • Günstig, flexibel und barrierefrei ist

Nutzungskomponenten

  • Benutzer -> Experimentierende, Gamer

  • Produkt -> Handtracking-Steuereinheit (Pi + Cam)

  • Aufgabe/Ziel -> Spiel steuern / RC Car bewegen

  • Kontext -> Pi mit Kamera, Laptop, evtl. RC-Car via Arduino

Was hatte Einfluss auf die Entwicklung?

  • Diskussionen über Eingabemethoden (analog ≠ digital)

  • Tests mit Games -> Binär notwendig

  • Debugging

  • Feedback: Steering zu träge -> sigmoide Kurve implementiert

Ursprungsidee

Die Idee war, Handbewegungen mithilfe einer Webcam zu tracken und zur Steuerung eines Autos zu nutzen. Der Fokus lag zunächst auf einer Laptop-internen Lösung, wobei zuerst nur ein Rennauto-Spiel kontrolliert wird:

  • Kamera auf dem Laptop -> Steuerung über Handbewegung -> Simuliertes WASD per pynput


Entwicklung & Iterationen

Iteration 1: Laptop only

  • Handtracking mit MediaPipe Library

  • Analogwerte für Steering und Acceleration

  • Problem: WASD-Games unterstützen nur binäre Eingabe

  • Lösung: Umschalten auf binär -> "analog simulieren" durch Pulsing (Frames weise drücken/loslassen)

Iteration 2: Pulsmuster für analoges Verhalten

  • Duty cycle für Steering/Acceleration eingeführt

  • Exponentielle Kurven & Sigmoid-Funktion für feinere Steuerung

  • Reverse-Drive eingebaut (Faust = "S")

  • Einfach erklärt: Das steuern des Autos wurde sehr viel flüssiger.


"Die Wahl des Projekts und der Tools war sehr frei, es gab viel Spielraum zu experimentieren und Neues zu lernen."