Handschuh - Gestenerkennung
aus MariaTheresia, der freien Wissensdatenbank
| Org.Unit | 4AHDVN |
| (Schul)jahr | 2006/07 |
| Teilnehmer | Bachner, Hanika, Hofbauer, Narnhofer, Stieg |
| Keywords |
Roboter |
Überblick
Wir sind ein 5-köpfiges Team aus dem 4.Jahrgang der HTL Spengergasse im Bereich Netzwerktechnik. Bis Ende Mai 2007 wollen wir eine Handvisualisierung programmieren, die mit Hilfe eines Sensorhandschuhes die Bewegungen der Hand auf den Monitor unseres PCs überträgt und grafisch darstellt.
Zielsetzung
Mit Hilfe der Sensoren auf dem Handschuh sollen die einzelnen Bewegungen der Hand auf den Computer übertragen und visualisiert werden. Als zusätzliche Erweiterung planen wir, auch die Bewegungen der einzelnen Finger für sich selbst aufzunehmen und darzustellen. Am PC wird eine Software entwickelt, die die Hand und ihre Bewegungen darstellt. Außerdem sollen virtuelle Objekte mit Hilfe des Handschuhes beeinflusst, das heißt bewegt werden können. Weiters soll das Programm individuelle Gesten der Hand erkennen, zum Beispiel einen ausgestreckten Daumen.
Technische Informationen
Handschuh
- handelsüblicher passgenauer Arbeitshandschuh
Microprozessoren
Accelerometer
- 6x MMA7260QT (http://www.freescale.com/files/sensors/doc/data_sheet/MMA7260QT.pdf)
Ultraschallortungssystem, bestehend aus:
- 3 Ultraschall-Sender
- 1 Ultraschall-Empfänger
- 1 Infrarot-Sender
- 1 Infrarot-Empfänger
Software
PIC
- Die Software für den PIC ist bereits in Planung und wird realisiert, sobald die Hardware fertiggestellt ist
PC
- 3D-Welt ist bereits vorhanden
- Hand wird bereits dargestellt
- Animationen der Hand vorhanden
- Die Hand in mehrere Models gesplittet -> vereinfacht die Darstellung für die entsprechenden Winkel
- Gestenerkennung
- Der PIC berechnet die Positionen der Finger
- Er bekommt die analogen Signale von den Accelerometern, wandelt diese mittels teilweise im PIC integrierten, teilweise mit externen ADC's um und schickt die digitalen Werte an den PC weiter
- Die Daten der Gesten (Positionen) sind im Programm eingespeichert, natürlich mit einer gewissen Fehlerquote als Toleranz, damit sie auch bei etwaigen Verfälschungen oder Ungenauigkeiten eindeutig erkannt werden können
- Unser Programm wertet die vom PIC gesendeten Daten aus, vergleicht sie mit den in einer Datenbank gespeicherten Daten von allen Gesten, und gibt bei Übereinstimmung mit einer bestimmten Geste eine Nachricht auf der graphischen Oberfläche für den User aus
- Aufgrund der Fehlerquote können Überlagerungen der Gesten entstehen, dh. es werden mehrere Gesten erkannt -> Hierzu sucht unser Programm die Geste mit der geringsten Fehlerquote aus und gibt diese an den Benutzer weiter
| Pc_programmierung.zip (684Kb) [info] PC Part der Handvisualisierung |
PIC und PC
- Übertragung über RS232 Schnittstelle mit einer Baudrate von 38k
- Übertragungsprotokoll wird XML-mäßig ablaufen
- genaues Design ist noch in Arbeit
Status
23.11.2006
Die zwei PIC 16F877 wurden fertiggestellt und sind funktionsbereit.
20.12.2006
Folgende Ressourcen wurden bisher beschafft:
- Handschuh
- 2 Accelerometer
Für die Beschaffung der Dehnungsbänder wurde uns von Professor Wodnar und Professor Dabrowski geraten, Herrn Professor Tarkany zu konsultieren. Da dieser leider zur Zeit krank und somit nicht im Haus ist, werden wir ihn sobald wie möglich aufsuchen.
11.01.2007
Die uns von Herrn Professor Tarkany angebotenen Dehnungsbänder erfüllen die Aufgaben unseres Projektes nicht, da sie nur ein paar tausendstel Millimeter bewegt werden und nicht abgebogen werden können.
Ersatzlösung: Ein Accelerometer pro Finger.
12.01.2007
Folgende Ressourcen wurden beschafft:
- 3 Ultraschall-Sender
- 1 Ultraschall-Empfänger
- IR-Sender
- IR-Empfänger
16.01.2007
- 4 weiter Accelerometer per Post erhalten
- Entwürfe der Platinen wurden fertiggestellt
- Bild_der_Hauptplatine_(groß) (http://www.corona-bytes.net/Greenberet/handvisualisierung_handschuhhauptplatine_v1.0.jpg)
- Eagle_Files_der_Hauptplatine (http://www.corona-bytes.net/Greenberet/handvisualisierung_hauptplatine_v1.0.zip)
- Bild_der_Accelerometerplatine_(groß) (http://www.corona-bytes.net/Greenberet/handivualisierung_accelerometer_v1.1.jpg)
- Eagle_Files_der_Accelerometerplatine (http://www.corona-bytes.net/Greenberet/handvisualisierung_accelerometer_v1.1.zip)
24.01.2007
- erste Konstruktionszeichnungen des Handschuhes im Endzustand
22.02.2007
Besprechung der Platinenentwürfe mit Herrn Professor Dabrowski
- Verbesserungen bei Fingerplatine
- Verbesserungen bei Hauptplatine
28.02.2007
Ätzen der Fingerplatinen im Happy Lab
- 8 Stück geätzt
- 7 einwandfrei verwendbar
- 5 werden benötigt
03.03.2007
Programmierung der Hand mit Animationen in Java
04.03.2007
Fingerplatinen
- Bohren der Löcher (0,8mm Durchmesser)
- Zuschneiden
11.03.2007
- Visualisierung:
- zweites Fenster für die Steuerung der Finger und die Benachrichtigung, welche Geste erkannt wurde
- Gestenerkennung:
- ist impelemtiert und funktioniert bereits mit den folgenden Gesten:
- Daumen Hoch
- Faust
- Halt
- Drei Finger
- Vier Finger
- Zwei Finger
- Victory
- Algorithmus:
- Es wird zuerst die SUMME(ABS(IST-SOLL WERTE)) aller Finger berechnet
- Die niedrigste Abweichung wird gesucht
- Ausgabe der jeweiligen Geste falls Abweichung <= Toleranz
- ist impelemtiert und funktioniert bereits mit den folgenden Gesten:
12.03.2007
- Gestenerkennung:
- Es wurde die Geste "Mittelfinger" hinzugefügt
- Lieferung der zwei nachbestellten Accelerometer
- als Ersatzteile verwendbar
22.03.2007
- Es wurden 6 Fingerplatinen mit Sensoren bestückt
- Test der Funktionsfähigkeit mittels Oszilloskop
- 5 funktionieren, bei einem gibt es unerklärliche Komplikationen
26.04.2007
- Der Schaltplan für die Hauptplatine wurde fertiggestellt
- Erste Tests der Kommunikation zwischen PIC und Programm
03.05.2007
- Erstellung eines Testprogramms zum Einlesen der Accelerometerwerte
23.05.2007
- Ätzen der Hauptplatine
- 2 Platinen geätzt (für den Fall, dass eine fehlerhaft ist)
- im BL12
- unter der Aufsicht von von Herrn Professor Hammerl
- Probleme:
- beim Bohren der Löcher wurden Kontakte auf der Platine ausgerissen
- 0,8mm Bohrer brach ab --> alles mit 1,0mm gebohrt
31.05.2007
- Gestenerkennung
- neue Gesten können gespeichert werden
- Gesten werden nun ihn einem Unterverzeichnis ( ./Gesten/ ) gespeichert & geladen
02.06.2007
- Schnittstelle PIC/PC
- Übertragungsprotokoll wurde entworfen
- PC sendet permanent Anfragen über die einzelnen Sensorenwerte zum PIC.
- PIC antworten auf die Anfragen des PCs mit den jeweiligen passenden Sensorwerten
- Übertragungsprotokoll wurde entworfen
09.06.2007
- Schnittstelle PIC/PC
- Übertragungsprotokoll wurde überarbeitet
- PC seitige implementierung des Protokolls angefangen und fertiggestellt.
10.06.2007
- Schnittstelle PIC/PC
- PIC seitige implementierung des Protokolls angefangen.
- Empfang fertiggestellt
- PIC seitige implementierung des Protokolls angefangen.
14.06.2007
- Begin mit dem Löten des Ortungssystems
- Hinzufügen des Algorithmus für die Gestenerkennung zum 11.03.2007



