Verfahren und Vorrichtung zur Haltungs- oder Bewegungskontrolle einer Person
Beschreibung
Die Erfindung betrifft ein Verfahren zur Haltungsoder Bewegungskontrolle einer Person mit Hilfe eines Trainingsprogramms. Die Erfindung betrifft auch eine Vorrichtung zur Durchführung des Verfahrens .
Verfahren und Vorrichtungen der eingangs genannten Art sind bereits bekannt. Sie dienen beispielsweise zum Erlernen komplexer Bewegungsabläufe, wie Tan- zen, Yoga, Aerobic, Gymnastik, Golf, Tennis, Karate, Spielen von Musikinstrumenten und ähnlichem. Das Erlernen derartig komplexer Bewegungsabläufe erfolgt in bekannter Weise mit Hilfe einer Kursprogrammvermittlung, zum Beispiel durch einen persön- liehen Lehrer, oder in Form von Anleitungen in Büchern, Videoprogrammen oder ähnlichem. Sportarten, wie Golf oder Tennis, umfassen eine Kombination von vielen verschiedenen Bewegungsabläufen, die zumeist für sich allein trainiert werden können, deren kom- plexer Ablauf aber eine weitere Herausforderung darstellt. Dieses komplexe Zusammenspiel erlernt man typischerweise nicht auf einmal, sondern in verschiedenen aufeinander aufbauenden Schritten. Welche Schritte dies im Einzelnen sind, hängt einerseits vom Talent und Können des Übenden ab, und andererseits vom Stil des Trainers. Es ist auch möglich, komplexe Bewegungsabläufe ohne einen per-
sönlichen Trainer zum Beispiel aus Büchern oder Videoprogrammen zu erlernen. Insbesondere bei Büchern und Videoprogrammen stellen sich häufig Fehler beziehungsweise Ungenauigkeiten in der Bewe- gungsausführung durch die Person ein, so dass der Lernerfolg in Frage gestellt sein kann, wobei gegebenenfalls aufgrund von Fehlbelastungen auch gesundheitliche Schäden an der Person hervorgerufen werden können. Eine Lehrperson ist insbesondere bei komplexen und schnellen Bewegungsabläufen in ihrer Möglichkeit einer korrekten und vollständigen Bewegungsanalyse beschränkt. Fehlbelastungen an der sich bewegenden Person zeigen sich oftmals erst hinterher, das heißt nach Abschluss der Übung, zum Beispiel mittels einer Videoaufnahme oder anhand von Laufbandanalysen durch Fachleute. Dabei ist ein persönlicher Trainer zudem oft verhältnismäßig teuer und normalerweise nicht ständig verfügbar. Auch bei Bewegungsabläufen des täglichen Lebens, wie zum Beispiel dem Gehen oder dem Laufen, kann es häufig zu angelernten oder durch andere Umstände erworbene körperliche Fehlbelastungen kommen, die auf Dauer zu gesundheitlichen Störungen führen können. Ferner können derartige gesundheitsschädliche Auswirkungen aufgrund von statischen Haltungsschäden (bewegungslose beziehungsweise -arme Körperstellungen) einer Person hervorgerufen werden.
Es ist Aufgabe der Erfindung, ein Verfahren und eine entsprechende Vorrichtung der eingangs genann- ten Art zu schaffen, die eine zuverlässige und schnelle Haltungs- und Bewegungskontrolle einer Person erlauben.
Zur Lösung der Aufgabe wird ein Verfahren zur Haltungskontrolle einer Person vorgeschlagen, das die Merkmale des Anspruchs 1 aufweist.
Das Verfahren zur Haltungs- und/oder Bewegungskon- trolle einer Person mit Hilfe eines Trainingsprogramms weist folgende Verfahrensschritte auf:
a) mit Hilfe von mehreren Sensoreinrichtungen werden haltungsrelevante Daten (Haltungsdaten) er- fasst; die Erfassung der Daten erfolgt vorzugs- weise zeitlich getaktet;
b) die von den Sensoreinrichtungen erfassten Daten werden zusammengesetzt und insbesondere synchronisiert; das Synchronisieren der Daten erfolgt beispielsweise durch eine Steuereinrichtung, die pro Zeiteinheit (zum Beispiel alle 10 Hz) ein Synchronisationssignal ausgibt; die von den verschiedenen Sensoreinrichtungen empfangenen Daten werden also zeitlich aufeinander abgestimmt; beim Zusammensetzen werden die synchronisierten Daten in einen zeitlichen Bezug zueinander gesetzt;
c) die zusammengesetzten und insbesondere synchronisierten Daten werden gefiltert und insbesondere normiert und freigestellt; beim Filtern werden räumliche Nachbarschaftsbeziehungen der Sensoren untereinander und zeitliche Bezüge berücksichtigt; das Filtern dient dazu, die Datenstruktur zu glätten und beispielsweise bestimmte Frequenzen zu eliminieren oder um bestimmte
Merkmale, wie beispielsweise Kanten, zu verstärken;
d) die gefilterten und normierten Daten werden mit Referenzdaten verglichen, um Korrelationsfakto- ren zu ermitteln, und/oder auf das Auftreten von charakteristischen Merkmalen, wie Extremwerten oder das Über- oder Unterschreiten von Schwellenwerten, untersucht; in Abhängigkeit von der Struktur und der Komplexität der erfassten hal- tungsrelevanten Daten ist ein Vergleich mit vorhandenen Referenzdaten oder einer Analyse der Daten vorzuziehen, meist eine Kombination aus beiden Methoden;
e) mit Hilfe der Korrelationsfaktoren und/oder der bei der Untersuchung herausgefundenen charakteristischen Merkmale werden Objekte definiert, die jeweils einen Satz von Bedingungen und einen daraus abgeleiteten Wahrscheinlichkeitswert umfassen; die Größe der Wahrscheinlichkeitswerte hängt zum Beispiel von der Wahrscheinlichkeit für ein Auftreten des zugehörigen charakteristischen Merkmals ab;
f) die Objekte werden in einer Expertendatenbank verarbeitet und es werden in Abhängigkeit von der Erfüllung einzelner oder mehrerer Bedingungen und dem aktuellen Stand des Trainingsprogramms Nachrichten ausgegeben und der weitere Ablauf des Trainingsprogramms gesteuert.
Das Verfahren liefert gegenüber dem bekannten Stand der Technik den Vorteil, dass in Abhängigkeit von
der Reaktion der Person unmittelbar Hinweise in Form von Nachrichten zur Verbesserung der Haltung und/oder Bewegung ausgegeben werden. Ein visueller Vergleich zwischen der aktuellen Haltung und/oder Bewegung und einer idealen Haltung und/oder Bewegung durch die Person ist nicht erforderlich. Mit Hilfe des Verfahrens wird die Person durch das Trainingsprogramm geführt, ohne dass die Person auf einen menschlichen Trainer beziehungsweise Experten oder ein entsprechendes Handbuch zurückgreifen muss. Bisherige Systeme sind nur auf einzelne isolierte Bewegungsabläufe ausgerichtet. Das erfindungsgemäße Verfahren beinhaltet ein in sich schlüssiges Trainingsprogramm. Je nach Reaktion der übenden Person wird automatisch der nächste Schritt im Ablauf ausgesucht. Das Verfahren spiegelt das Wissen und den Stil eines menschlichen Trainers wider. In der Expertendatenbank sind Vorgabewerte in Form von Referenzdaten gespeichert, die zum Ver- gleich mit den Parametern dienen, die aus der Haltung der Person ermittelt werden. Darüber hinaus enthält die Expertendatenbank das Trainingsprogramm, das anhand der Haltung der Person sowie deren Reaktion auf die ausgegebene Information selb- ständig den Trainingsvorgang anpasst.
Die Erfindung kann auch als zwei hierarchisch geschachtelte eine Person beinhaltende Regelkreise verstanden werden, wobei der innere Regelkreis (Bio-Feedback) der Person eine Rückmeldung über die Abweichung der Haltung oder Bewegung von einer idealen Haltung oder Bewegung (oder über deren Erreichen) erhält und der äußere Regelkreis (MetaFeedback) das selbständige Weiterführen des Trai-
ningsprogramms aufgrund der Reaktion der Person auf die Rückmeldungen des inneren Regelkreises. Damit kann das Trainingsprogramm in einzelnen Lernschritten der Person Bewegungsabläufe beibringen, die an den Benutzer angepasst sind, und so effektiv das Erreichen des übergeordneten Lernziels, nämlich das Erlernen komplexer Abfolgen von Bewegungsabläufen ermöglichen.
Vorteilhafterweise ist es möglich, die Expertenda- tenbank so zu gestalten, dass sie eine innere Repräsentation des Benutzers entweder implizit oder explizit enthält, zum Beispiel seine Trainingsstufe, seinen Trainingsfortschritt, seine Tagesverfassung, Müdikeit und/oder seinen Gemütszustand. Hierbei hat das Erreichen einer höheren Trainingsstufe nicht etwa nur den Effekt, dem Ideal eines Bewegungsablaufes genauer entsprechen zu müssen, das heißt, schon bei geringer Abweichung eine entsprechende Korrekturrückmeldung zu erhalten, son- dern wesentlich auch das Weiterleiten in Bereiche des Trainingsprogramms, das neue schwierigere Bewegungsabläufe trainieren und überwachen kann. Umgekehrt kann das Trainingsprogramm bei schlechter Tagesverfassung oder sich abzeichnender Müdigkeit An- Weisungen zu weniger schwierigen Übungen ausgeben. Dadurch kann das Verletzungsrisiko der übenden Person verringert werden.
Das Trainingsprogramm oder Lernprogramm besteht aus einzelnen Trainingsschritten, die in Form eines Ab- laufprogramms mit Anweisungen und Sprungbefehlen in ein Gerät implementiert sein können. Zur Speicherung beziehungsweise Repräsentierung des aktuellen
Standes ist eine Vorrichtung nötig, die durch das Trainingsprogramm selbst verändert werden kann, im Folgenden Trainingsprogrammcounter genannt. Das Trainingsprogramm kann in einer eigenen, an eine Programmiersprache angelehnten Hochsprache definiert sein und durch einen geräteinternen Interpreter mittels eines Trainingsprogrammcounters ausgeführt werden. Der Ablauf des Trainingsprogramms wird durch den Trainingsprogrammcounter gewährleis- tet, der die Stelle bezeichnet, an der sich das Programm aktuell befindet. Durch den Trainingsprogrammcounter kann ein bedingter beziehungsweise unbedingter Sprung im Programmablauf herbeigeführt werden.
In der Expertendatenbank werden komplexe Muster im Eingangsdatenstrom erkannt und lösen eine entsprechende Reaktion aus. Je nach aktuellem Stand des Systems wird entschieden, wie weiter verfahren werden soll. Es wird also berücksichtigt, wie das Sys- tem auf die Gegebenheiten reagiert. Außer der Identifizierung komplexer Muster ist also die Änderung des internen Zustands ein wichtiger Bestandteil des vorliegenden Expertensystems. Dies entspricht einer veränderten Position in einem Zustandsdiagramm oder zum Beispiel einer geänderten Position in einer Tabelle von Übungsanweisungen. Ein wesentliches Merkmal des Expertensystems besteht also darin, dass die Reaktion auf gleiche Eingangsdaten je nach Zustand des Systems unterschiedlich sein kann. Das Expertensystem wird dazu verwendet, einen Benutzer spezifisch durch ein Trainingsprogramm zu führen.
Wie die Reaktion auf eine Haltung oder Bewegung des Benutzers aussieht, und wie weiter verfahren werden soll, liegt allein im Ermessen des menschlichen Experten, der das Trainingsprogramm entwickelt hat. Das gesamte Expertenwissen kann in Form einer Expertendatenbank als Software realisiert werden. Dadurch wird es möglich, unterschiedliche Kurse ohne Änderung der Hardware durchzuführen. Das Expertensystem kann beispielsweise zum Erkennen von Bewe- gungsabläufen anhand komplexer Muster von Druckdaten, insbesondere beider Füße, verwendet werden. Das Expertensystem kann auch zum Ausführen eines Programms zum Gesundheits- und/oder Fitnesscheck oder zum Beispiel eines Programms zur Ermittlung der Passgenauigkeit von Schuhen verwendet werden.
Das beschriebene System ist lernfähig und passt sich damit dem Benutzer an. Zum einen ist diese Lernfähigkeit durch die Benutzung des Expertensystems (Trainingsprogramms) implizit eingebaut. Je nach Reaktion des Benutzers auf die Anweisungen macht das System an verschiedenen Stellen des Lern- beziehungsweise Trainingsprogramms weiter. An welcher Stelle genau hängt allein vom Schöpfer (Experten) des eigentlichen Trainingsprogramms und dem Benutzer selbst ab. Der aktuelle Stand des Trainingsprogramms wird dauerhaft gespeichert.
Eine andere Art der Lernfähigkeit liegt darin, eine Statistik über die Reaktion des Benutzers auf die Anweisungen zu führen. In einer Erweiterung dieses Konzepts kann ein spezielles Trainingsprogramm gestartet werden, das bestimmte Übungen oder Verhaltensweisen vorgibt, um den Benutzer kennen zu 1er-
nen. Es können also spezielle Anweisungen zur Bewertung des Trainingszustandes des Benutzers eingesetzt werden. Die Reaktion darauf wird bewertet und beeinflusst zusammen mit den statistischen Daten den weiteren Ablauf des Trainings. Eine weitere Art der Lernfähigkeit stellt die Berücksichtigung verschiedener Trainingsstufen dar. Je nach Benutzer und Trainingserfolg verändert sich die aktuelle Trainingsstufe, was automatisch zu einer Änderung der erzeugten Anweisungen führt.
Der Trainingszustand des Benutzers wird also charakterisiert und berücksichtigt. Eine andere Art der Anpassung beziehungsweise Lernfähigkeit des Systems liegt darin, dass die erzeugten Anweisungen an den Benutzer vor der eigentlichen Ausgabe einer Plausibilitatsprüfung und Erfolgskontrolle unterzogen werden können. Dadurch werden nicht nur widersprüchliche Anweisungen verhindert, sondern es wird ermöglicht, zum Beispiel in der Sprachwahl auf den Benutzer einzugehen. Wenn zum Beispiel keine Reaktion des Benutzers auf eine Anweisung erfolgt, kann davon ausgegangen werden, dass der Benutzer momentan keine Anweisungen wünscht, und sich zum Beispiel ausruhen will. Zusätzlich werden statistische Daten über Erfolg beziehungsweise Misserfolg bestimmter Anweisungen ermittelt. Diese Daten werden wiederum benutzt, um die Ausgabe an den Benutzer anzupassen.
Das erfindungsgemäße Verfahren kann im Bereich Ar- beitsmedizin/Sicherheit eingesetzt werden. Es er- fasst dafür den Bewegungsablauf, erkennt rechtzeitig gesundheitsschädliche Bedingungen und gibt
rechtzeitig Anweisungen für Ausgleichsübungen oder Arbeitspausen aus. Ferner überwacht es die Wirksamkeit von passiven Schutzmaßnahmen, wie Matten, Schuhen, Einlagen etc.
Mit dem Verfahren kann ein mit der Häufigkeit der Bewegung assoziierter Faktor ermittelt werden, mit dem zum Beispiel die Bewegungshäufigkeit von Kindern überwacht werden kann. Mit dem Verfahren kann auch die Passform von Schuhen über einen Zeitraum von Stunden oder Tagen geprüft werden.
Ein bevorzugtes Ausführungsbeispiel des Verfahrens ist dadurch gekennzeichnet, dass die Nachrichten unmittelbar nach Erfüllen der zugehörigen Bedingungen, insbesondere in Echtzeit, an die Person ausge- geben werden. Die Person und die Sensoreinrichtungen sind sozusagen Teile eines geschlossenen Regelkreises, der eine direkte Einwirkung auf die Haltung oder Bewegung der Person ermöglicht.
Ein weiteres bevorzugtes Ausführungsbeispiel des Verfahrens ist dadurch gekennzeichnet, dass das Trainingsprogramm die Reaktionen der Person auf die ausgegebenen Nachrichten berücksichtigt. Durch diese Feedback-Funktion wird der Benutzer sozusagen vom Mitdenken befreit.
Ein weiteres bevorzugtes Ausführungsbeispiel des Verfahrens ist dadurch gekennzeichnet, dass die Expertendatenbank ein Lernprogramm umfasst, das eine Vielzahl von Zeilen aufweist und dessen Ablauf durch einen Zähler gewährleistet wird, der die
Zeile bezeichnet, an der sich das Lernprogramm gerade befindet.
Ein weiteres bevorzugtes Ausführungsbeispiel des Verfahrens ist dadurch gekennzeichnet, dass jede Zeile des Lernprogramms (Trainingsprogramms) einen Anweisungsblock, einen Kontrollblock und einen Verzweigungsblock umfasst. Im Anweisungsblock ist die Art der Anweisung, die beispielsweise über eine Spracheinheit ausgegeben wird, definiert. Im Refe- renzblock sind die identifizierbaren möglichen Reaktionen des Übenden auf die Anweisung hin definiert. Für jeden Eintrag im Kontrollblock enthält der Verzweigungsblock eine bedingte beziehungsweise unbedingte Sprungadresse. Dadurch wird es ermög- licht, spezifisch auf die Reaktion des Übenden unter Berücksichtigung der aktuellen Stelle im Programm zu reagieren und an geeigneter Stelle fortzufahren. Die Einführung von bedingten Sprüngen erlaubt es, den Programmablauf durch zusätzliche in- terne Parameter (Grad des Könnens, Zeitvorgaben, körperliche Verfassung usw.) beeinflussen zu können. Das Verfahren ist so konzipiert, dass in seiner Gesamtheit die Kompetenz des menschlichen Experten erkennbar ist.
Die Haltungsdaten werden vorzugsweise mittels einer optischen und/oder akustischen Aufnahmeeinheit und/oder mittels Sensoren ermittelt. Hierdurch wird eine schnelle und zuverlässige Haltungskontrolle einer Person ermöglicht, ohne notwendigerweise auf einen menschlichen Experten zurückgreifen zu müssen .
Entsprechend einer bevorzugten Ausführungsvariante werden die ermittelten Haltungsdaten in der Datenverarbeitungseinheit analysiert zur anschließenden Ableitung von Parametern, die mit Daten in der Ex- pertendatenbank verglichen werden zur Erstellung mindestens einer haltungsrelevanten Information für die Person. Das Verfahren kann vorteilhafterweise mittels geeigneter Wahl einer Expertendatenbank vielseitig zur Haltungskontrolle einer Person ein- gesetzt werden.
Vorzugsweise wird eine auf eine Information erfolgende Haltungsreaktion als Kriterium zur Personenbeurteilung und zur Erstellung einer angepassten Informationserstellung herangezogen. Somit kann an- hand der Art und Weise, wie schnell oder wie gut eine korrigierende Haltungsreaktion durch eine Person ausgeführt worden ist, eine Erkenntnis gewonnen werden über den jeweiligen geistigen und körperlichen Zustand derselben Person. Beispielsweise können in dieser Weise Kenntnisse gewonnen werden über das Koordinationsvermögen oder über den Trainingszustand der entsprechenden Person. Dadurch kann sich das Lernprogramm automatisch auf die individuellen Gegebenheiten einer Person einstellen und somit eine unerwünschte Überforderung derselben Person vermeiden, indem das Lernprogramm automatisch beispielsweise eine Unterbrechung der Übung einleitet .
Zur Lösung der Aufgabe wird auch eine Vorrichtung mit den Merkmalen des Anspruchs 9 vorgeschlagen, die sich dadurch auszeichnet, dass eine eine Expertendatenbank aufweisende und zur Haltungsdatenaus-
wertung dienende elektronische Datenverarbeitungseinheit vorgesehen ist, die mit der Aufnahmeeinheit und mit einer zur Übermittlung mindestens einer haltungsrelevanten Information an die Person die- nenden Informationsausgabeeinheit wirkverbunden ist. Hierbei wird unter Haltung eine jeweilige Körperstellung der Person in statischer Position (unbewegt) oder auch während einer dynamischen Bewegung derselben verstanden. Es lassen sich somit statische Körperstellungen sowie Körperbewegungen einer Person in zuverlässiger und schneller Weise kontrollieren, wobei die Person selbst Teil eines geschlossenen Regelkreises ist. In Abhängigkeit der Expertendatenbank können unterschiedliche Haltungs- kontrollen, beispielsweise für Übungen verschiedener Sportarten, durchgeführt werden. Vorteilhafterweise ist es nun möglich, eine automatisierte und individualisierte Haltungskontrolle einer Person mittels einer Vorrichtung zu gewährleisten. Bei der an die Person zu übermittelnden Information kann es sich beispielsweise um eine haltungsbezogene Bewertung oder um eine Bewegungsanweisung handeln. Ferner ist es denkbar, dass nicht die Person direkt einer Haltungskontrolle unterzogen wird, sondern beispielsweise ein von der Person gehaltenes Übungsgerät (Tennisschläger, Golfschläger oder ähnliches) hinsichtlich dessen Positionierung und/oder Bewegung kontrolliert wird zur indirekten Haltungskontrolle der Person, die das Übungsgerät benutzt.
Bei einem bevorzugten Ausführungsbeispiel ist zusätzlich eine akustische Aufnahmeeinheit vorgesehen, die mit der Datenverarbeitungseinheit zur Klangdatenauswertung wirkverbunden ist. Die aku-
stische Aufnahmeeinheit kann beispielsweise ein Mikrophon sein, mittels welchem Klangdaten aufnehmbar sind. Dies ermöglicht beispielsweise eine klangdaten- sowie haltungskontrollierte Erlernung eines Musikinstruments mittels einer Vorrichtung. Dabei kann die Klangdatenauswertung indirekterweise auch zur Haltungskontrolle herangezogen werden.
Vorteilhafterweise enthält die Aufnahmeeinheit mindestens einen Sensor zur Erfassung von haltungsre- levanten Daten. Sensoren eignen sich besonders zu einer zuverlässigen und schnellen Erfassung von haltungsrelevanten Daten. Darüber hinaus sind sie in verhältnismäßig einfacher Weise mit der elektronischen Datenverarbeitungseinheit wirkverbindbar .
Der Sensor kann als Drucksensor oder als Beschleunigungssensor ausgebildet sein. Es ist somit möglich, eine Mehrzahl an verschiedenartigen Sensoren zur Erfassung von haltungsrelevanten Daten vorzusehen. Drucksensoren können beispielsweise in einer Schuhsohle der Person zur Aufnahme von Daten in Bezug auf die sich jeweils einstellende Körperbelastung derselben angeordnet werden. Geeignet sind beispielsweise FSR ( ForceSensingResitor) Sensoren, die aus drei dünnen Polymer-Folien bestehen und ihren elektrischen Widerstand in Abhängigkeit von der auf ihrer Oberfläche eingeleiteten Kraft ändern. Sie eignen sich insbesondere aufgrund ihres verhältnismäßig kleinen Einbauvolumens, ihrer hohen Lebensdauer und ihrer geringen Anschaffungskosten. Die Sensoren können auch in eine Mess-Sohle aus Kunststoff integriert oder aufgeklebt sein. Die Sensoren können auf die Mess-Sohle aufgeklebt und
vorzugsweise perforiert ausgebildet werden, um eine Belüftung der Mess-Sohle und den Abtransport von Feuchtigkeit zu gewährleisten. Mit der gleichen Folie kann in Form von Vibration eine taktile Rück- meidung an die Person erzeugt werden. Es ist also möglich, mit ein und derselben Einrichtung, wie zum Beispiel einer Piezofolie, haltungsrelevante Daten aufzunehmen und Rückmeldungen auszugeben.
Es können beispielsweise eine Mehrzahl an Drucksen- soren als Matrix angeordnet werden und mittels A/D- Wandler mit einem MikroController wirkverbunden sein. Die Einzelsensoren der Sensoren-Matrix werden vorzugsweise zeitcodiert angesteuert. Bei einer typischen Anwendung werden zum Beispiel 9 bis 16 Drucksensoren eingesetzt. Dabei bleiben bei einer zeitlichen angestrebten Auflösung von 10 ms circa 0,1 bis 1 ms Zeit, um die Haltungsdaten der einzelnen Sensoren aufzunehmen und analog/digital zu wandeln. Die Wandlungszeit ist ausreichend, um gän- gige, preisgünstige Mikrocontrollersysteme einzusetzen. In dieser Weise ist es möglich, mittels einer Mehrzahl an Drucksensoren Druckverteilungsdaten zu gewinnen, welche in Kenntnis des Körpergewichts und der Schuhgröße der Person Rückschlüsse auf den sogenannten "Körpergewichtsdruck" zulassen.
Zur Messung der Druckverteilung kann auch eine Piezofolie eingesetzt werden.
Beim Aufsetzen eines mit einem Sensor ausgestatteten Objekts auf ein anderes (zum Beispiel beim Auf- setzen eines Fußes auf den Untergrund) beziehungsweise bei der Reibung zweier Objekte aneinander
(zum Beispiel eines Skis über Schnee) wird Körperschall erzeugt, der durch die Sensoren erfasst werden kann. Der Körperschall wird einerseits dazu benutzt, um den Untergrund zu identifizieren, zum Beispiel die Art des Bodens beim Laufen, oder die Schneebeschaffenheit beim Skifahren, oder um Hinweise auf die Geschwindigkeit eines Objekts (zum Beispiel eines Skis) zu geben. Zum anderen kann der Körperschall verwendet werden, um Informationen über die Höhe und den Verlauf der wirkenden Kräfte beim Aufprall zweier Objekte aufeinander (zum Beispiel eines Fußes auf den Boden) zu gewinnen. Der Körperschall kann also benutzt werden, um die Bewegung der Person zu analysieren.
Zur Erfassung von Umwelteinflüssen, welche die Reaktion des Expertensystems beeinflussen können, werden in vorteilhafter Weise Sensoren zur Messung der Temperatur, des Luftdrucks, der Feuchtigkeit etc. eingesetzt. Darüber hinaus können die persön- liehen Daten des Benutzers, wie Puls, Blutdruck, Sauerstoffgehalt im Blut, Hautwiderstand etc. erfasst und in dem Expertensystem berücksichtigt werden. Dazu werden vorzugsweise Sensoren zur Erfassung von Puls, Blutdruck, Sauerstoff im Blut, Haut- widerstand etc. eingesetzt.
Vorzugweise werden auch Neigungs-Sensoren eingesetzt, um zum Beispiel den Schiefstand von Becken- und Schultergürtel der Person zu ermitteln. Darüber hinaus können Beschleunigungssensoren eingesetzt werden, um die Bewegung der Person vollständig zu erfassen .
Gemäß einer möglichen Ausführungsform weist die Aufnahmeeinheit mindestens eine Videokamera auf. Es ist somit möglich, mittels einer in Bezug auf Sensoren alternativen oder zusätzlichen Videokamera eine optische Haltungskontrolle einer Person durchzuführen. Gegebenenfalls können auch zwei oder mehrere Videokameras, die in einem festen Abstand zueinander angeordnet sind, zur stereo-optischen Aufnahme von Haltungsdaten beziehungsweise Bewegungs- daten einer Person vorgesehen sein. Vorteilhafterweise können traditionelle Videokameras zum Einsatz kommen, die analoge Videodaten erzeugen, oder aber preisgünstige Webcameras eingesetzt werden.
Entsprechend einer bevorzugten Ausführungsform ist mindestens ein optisches Markierungselement zur Befestigung an der Person vorgesehen. Derartige optische Markierungselemente werden an geeigneten (bewegungsrelevanten) Stellen der Person angebracht und dienen zur Erleichterung der Datenauswertung und somit auch zur Verminderung der erforderlichen Rechenleistung. Die Markierungen sind vorzugsweise derart ausgestaltet, dass sie auch dann eindeutig identifizierbar sind, wenn lediglich Teile von ihnen sichtbar sind. Zum Einsatz kommen beispiels- weise Markierungen verschiedener Durchmesser, verschiedener Abstände zur Videokamera, verschiedener Farben und/oder verschiedener Blinkfrequenzen von LEDs.
Mit Vorteil ist die Informationsausgabeeinheit als Sender für optische und/oder akustische und/oder taktile Signale ausgebildet. Optische Signale können beispielsweise mittels LEDs abgegeben werden,
während akustische Signale zum Beispiel mittels eines Summers erzeugt werden können oder auch bevorzugt natürliche Sprachsignale sind. Taktile Signale können zum Beispiel in Form einer Vibration abgegeben werden. Eine natürliche Sprachausgabe kann mittels eines oder mehrerer traditioneller Lautsprecher erfolgen. Dabei ist auch eine Kombination an verschiedenen Signalformen möglich, um schnelle und zuverlässige haltungsrelevante Infor- mationen an die Person übermitteln zu können.
Die Datenverarbeitungseinheit enthält vorteilhafterweise ein Datenübertragungssystem und/oder ein Dateneingabesystem. Dabei kann das Datenübertragungssystem derart ausgebildet sein, dass eine Da- tenübertragung zur elektronischen Datenverarbeitungseinheit mittels einer speziellen PCI-Einsteck- karte oder mittels eines USB-Busses oder mittels einer Firewire-Schnittstelle erfolgt. Ein Dateneingabesystem kann beispielsweise eine Tastatur sein.
Gemäß einer möglichen Ausführungsform ist die Vorrichtung als kompakte und mobile Baugruppe ausgebildet. Dabei soll die Vorrichtung möglichst klein ausgebildet sein, so dass sie problemlos für eine Person tragbar und gegebenenfalls auch als "Stand- alone"-Einheit einsetzbar ist. Da die Ansprüche an die elektronische Datenverarbeitungseinheit insbesondere bei zum Beispiel ausschließlichem Einsatz von Drucksensoren in Bezug auf ihre Rechenleistung verhältnismäßig gering sind, ist es möglich, die erforderlichen Hardware-Komponenten derart klein auszubilden und an einer Person geeignet anzubringen, dass sie keine Behinderung derselben bei der
Ausübung beispielsweise einer sportlichen Bewegung darstellen. Es ist somit vorteilhafterweise möglich, Expertenwissen in eine verhältnismäßig kleine und leicht transportable (mobile) Einheit derart zu integrieren, dass eine Auswertung der ermittelten Haltungsdaten in Echtzeit möglich ist und entsprechende Informationen schnell an die Person übermittelt werden können.
Weitere vorteilhafte Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung.
Die Erfindung wird nachfolgend in einem Ausführungsbeispiel anhand einer zugehörigen Zeichnung näher erläutert. Es zeigen:
Figur 1 eine schematische Darstellung einer er- findungsgemäßen Vorrichtung;
Figur 2 ein Blockdiagramm des erfindungsgemäßen Verfahrens und
Figur 3 einen Ausschnitt aus einem Ablaufplan des Trainingsprogramms .
Die Figur 1 zeigt in schematischer Darstellung eine allgemein mit 10 bezeichnete Person, an welcher mittels einer Vorrichtung 12 eine Haltungskontrolle durchgeführt wird. Die Vorrichtung 12 weist eine zur Haltungserkennung dienende Aufnahmeeinheit auf, welche zwei Videokameras 14, ein Mikrophon 28, Drucksensoren 16 und Beschleunigungssensoren 18 um- fasst. Die Aufnahmeeinheit ist mit einer elektronischen Datenverarbeitungseinheit 20 wirkverbunden, die eine Expertendatenbank 22 aufweist. Die
elektronische Datenverarbeitungseinheit 20 dient zur Auswertung der von der Aufnahmeeinheit übermittelten Haltungsdaten der Person 10. Dabei werden mittels der Expertendatenbank 22 haltungsrelevante Informationen erstellt, welche mittels einer Informationsausgabeeinheit, die einen Monitor 24 und zwei Lautsprecher 26 enthält, an die Person 10 übermittelt werden. Die Lautsprecher 26 sind an der Datenverarbeitungseinheit 20 angeschlossen (Doppel- pfeile 38). Die elektronische Datenverarbeitungseinheit 20 weist ein Datenübertragungssystem (Doppelpfeile 32) und ein Dateneingabesystem 34 auf. Somit kann die Datenübertragung in die elektronische Datenverarbeitungseinheit 20 mittels Da- tenträgern, per Handeingabe und/oder per Online- Übertragung (zum Beispiel Internet) erfolgen. Die Übermittlung von haltungsrelevanten Daten mittels der Aufnahmeeinheit (Videokameras 14, Drucksensoren 16, Beschleunigungssensoren 18, Mikrophon 28) an die elektronische Datenverarbeitungseinheit 20 kann mittels geeigneter Datenübertragungsleitungen (Doppelpfeile 34, 36) oder auch drahtlos erfolgen. Zur Erstellung zuverlässiger Daten mittels der Videokameras 14 sind an der Person 10 eine Mehrzahl an op- tischen Markierungselementen 30 angebracht.
Die Vorrichtung 12 dient dazu, Daten in Bezug auf eine jeweilige Körperstellung, Körperbewegung und Körperbelastung (Haltung) der Person 10 mittels der Aufnahmeeinheit zu ermitteln, diese haltungsrele- vanten Daten der Expertendatenbank 22 der elektronischen Datenverarbeitungseinheit 20 zuzuführen und daraus leicht und allgemein verständliche Informationen beziehungsweise Anweisungen zu extra-
hieren und an die beispielsweise eine sportliche Übung ausführende Person 10 auszugeben. Es wird somit ein geschlossener Regelkreis in Form eines "Bio-Feedback-Verfahrens" gebildet. Es ist vorteil- hafterweise möglich, beispielsweise Bewegungsabläufe der Person 10 in Form einer Bio-Feedback- Schleife zu kontrollieren, Gefahrensituationen zu melden und/oder komplexe Kurs- und Trainingsanweisungen zu geben. Dabei erfolgt dies in elektro- nischer Form mit Hilfe eines Computers (elektronische Datenverarbeitungseinheit 20), so dass auf den Einsatz eines menschlichen Lehrers beziehungsweise Experten verzichtet werden kann.
Bei der elektronischen Datenverarbeitungseinheit 20 gemäß Ausführungsbeispiel kann es sich um einen handelsüblichen Rechner (PC mit mindestens 200 Mhz und mindestens 64 MB RAM) handeln. Die mittels der Videokameras 14 aufgenommenen optischen Daten werden in Form von analogen Videodaten mittels soge- nannter Framegrabber in 8 Bit breite Daten digitalisiert und anschließend in die elektronische Datenverarbeitungseinheit 20 eingewiesen, in welchem mittels einer geeigneten Software die weitere Auswertung erfolgt. Alternativ können Webcameras ein- gesetzt werden, die die Bilddaten direkt in digitalisierter Form zur Verfügung stellen. Die Auswertung kann auch auf schnellen 16 Bit-Mikrocontrol- lern (nicht dargestellt) erfolgen. Je nach Bedarf können weitere Haltungsdaten des Körpers der Person 10 zusätzlich oder alternativ mittels Drucksensoren 16 und/oder Beschleunigungssensoren 18 erfasst werden. Hierbei können handelsübliche Sensoren eingesetzt werden. Die durch die Sensoren ermittelten
Haltungsdaten werden mittels eines Mikrocontroller- systems aufgenommen und gespeichert. Im Falle von Beschleunigungssensoren sind die ermittelten Daten verhältnismäßig komplex, so dass die eigentliche Datenanalyse mittels eines neuronalen Netzwerks erfolgt, das auf einem Fremdrechner entsprechend trainiert wurde. Die nach dem Training des Netzwerks ermittelten Gewichtungsfaktoren werden anschließend in das Mikrocontrollersystem übertragen.
Beispielsweise werden mittels der Drucksensoren 16 Druckverteilungsdaten gewonnen, welche als erstes mittels der Kenntnis von Körpergewicht und Schuhgröße der Person 10 auf den sogenannten Körpergewichtsdruck normiert und in der elektronischen Da- tenverarbeitungseinheit 20 gespeichert werden. Als Speicher dienen EEProms oder Flash Memory Karten. Die Kapazität ist groß genug, um eine mögliche Laufstrecke von beispielsweise 10 bis 20 km zu speichern. Die Speicherung dient entweder statis- tischen Zwecken oder einer Nachauswertung an einem PC. Der zeitliche Verlauf der Druckverteilung der Schuhsohle wird dazu genutzt, die verschiedenen Gangphasen (Initialkontakt, Belastungsantwort, Mittelstand, Terminalstand, Schwungphase) zu analysie- ren. Aus diesen Daten werden anschließend verschiedene Parameter abgeleitet (Ganggeschwindigkeit, Schrittfrequenz, Symmetrieparameter, Dynamik des Druckschwerpunkts, Beurteilung des Abrollverhaltens). Diese sekundären Parameter bilden einen mehrdimensionalen Merkmalsvektor, mittels welchem nun eine Datenbank, in der das eigentliche Expertenwissen gespeichert ist, befragt wird. In einer derartigen Expertendatenbank können sowohl Informa-
tionen über Gefahrensituationen als auch Trainingsanweisungen gespeichert sein.
Bei Einsatz von optischen Markierungselementen 30 an der Person 10 werden die von den Videokameras 14 aufgenommenen Markierungen mittels einer sogenannten Threshold Operation von der elektronischen Datenverarbeitungseinheit 20 erkannt, freigestellt und deren Koordinaten errechnet. Durch den Vergleich von Koordinaten jeweils gleicher Punkte in zwei einander entsprechenden Aufnahmebildern der zwei gleichzeitig aufnehmenden Videokameras 14 kann die dritte Dimension bei bekanntem Abstand der Videokameras 14 errechnet werden. Alternativ dazu kann das Koinzidenzverfahren nach Rolf D. Henkel, das in der Publikation "Synchronization, Coherence- Detection and Three-dimensional Vision, Perception, Neural Dynamics & Spiking Neurons, 2000" beschrieben wird, eingesetzt werden. Aus der Kenntnis der räumlichen Lage dieser Markierungen wird die jewei- lige Stellung der Person 10 errechnet. Diese haltungsrelevanten Daten werden normiert und mit der Expertendatenbank 22 verglichen. Daran ist die einzunehmende Stellung der Person 10 pro Lerneinheit exakt gespeichert. Je nach Abweichung werden nun entsprechende Informationen beziehungsweise Anweisungen an die übende Person 10 erstellt. Die Informationen beziehungsweise Anweisungen werden mittels der Informationsausgabeeinheit (Monitor 24 und/oder Lautsprecher 26) an die Person 10 übertragen. Vor- zugsweise erfolgt die Übertragung der Informationen beziehungsweise Anweisungen mittels einer Sprachausgabe in natürlicher Sprache. Die Person 10 bekommt beispielsweise solange Korrekturanweisungen,
bis eine entsprechende korrekte Übungs-Stellung exakt eingenommen ist. Anschließend kann zum nächsten Kursteil übergegangen werden.
Der Aufbau der Expertendatenbank 22 wird anhand einer stereo-optischen Ermittlung der Körperhaltung der Person 10 mittels Videokameras 14 erläutert und andererseits auch für die Auswertungen und Analyse der Druckverteilung über einen Laufschuh (Drucksensoren 16) .
Aus den stereo-optischen Bild-Daten werden die Winkel, die die verschiedenen am Körper angebrachten Markierungen untereinander bilden, errechnet und gespeichert. Die Markierungen sind so angebracht, dass die sich daraus ergebenden Winkel der Stellung von Gelenken (zum Beispiel Knie, Hüfte) entsprechen. Eine Körperstellung wird durch eine Kombination dieser verschiedenen Markierungswinkel eindeutig definiert. Für jeden dieser verschiedenen Markierungswinkel (zum Beispiel linker Arm, rechter Arm, linkes Bein, rechtes Bein, Kopf, Hüfte usw.) gibt es einen Eintrag in einer Tabelle. Die aktuellen Markierungswinkel werden mit den entsprechenden Vorgaben in der Tabelle verglichen. Liegen alle Winkel innerhalb einer vorgegebenen Toleranz, wird an der in der gleichen Zeile definierten Zeilennummer weitergemacht. Bestimmte Kriterien wie Zeit-, Über-/Unterschreitungen führen dazu, dass an einer alternativen Zeilennummer fortgefahren wird. Falls die gemessenen Markierungswinkel von der Vorgabe in der Tabelle abweichen, werden Textanweisungen anhand von zeilen- und markierungsspezifischen Text- kennungen erzeugt.
Jede Zeile dieser Tabelle entspricht damit einer Vorgabe für eine bestimmte Körperhaltung. In den verschiedenen Spalten gibt es außer diesen Vorgaben für die einzelnen Markierungswinkel zusätzlich Hilfseinträge. Die gesamten Einträge lassen sich grob in vier verschiedene Gruppen einteilen: eine oder mehrere sogenannte Vorgabe-Gruppen, eine oder mehrere Extremwert-Gruppen, eine Zeitlimit-Gruppe und eine Verzweigungs-Gruppe (siehe Tabelle 1). Bei Bedarf können zusätzliche Gruppen definiert werden.
Tabelle 1 (Aufbau einer Datenzeile)
Jede Vorgabegruppe besteht aus einem Valid-Flag, einem unteren und oberen Grenzwert für den Winkel, zwei verschiedenen Textkennungen, einem Prioritätswert und einem Wert für Übergänge (siehe Tabelle 2). Das Valid-Flag entscheidet darüber, ob die ganze Gruppe aktiv ist und damit beachtet wird oder nicht (don't care-Zustand) . Der obere und untere Grenzwert definiert den Toleranzbereich, innerhalb dessen ein Winkel als übereinstimmend anerkannt wird. Liegt der gemessene Markierungswinkel außerhalb dieses Toleranzbereichs, wird eine Textausgabe generiert. Dabei definiert die Textkennung die Art der zu erzeugenden Anweisung (zum Beispiel "Heben" oder "Senken", "Strecken", "Beugen" usw.). Die Textkennung existiert zweimal, je nachdem, ob der Winkel zu groß oder zu klein ist. Falls die gemes- senen Winkel mehrerer Vorgabe-Gruppen gleichzeitig
außerhalb deren Toleranzbereiche liegen und damit mehrere Textausgaben generiert werden, entscheidet ein zugehöriger Prioπtatswert darüber, welche Meldung ausgegeben wird. Die Zahl der Übergänge defi- niert, wie oft der gültige Wmkelbereich verlassen werden darf (der Übende wackelt hin und her) , bevor das Abbruchkriterium erreicht ist.
Die Extremwert-Gruppe gleicht der Vorgabe-Gruppe mit dem Unterschied, dass die Eintrage darin be- nutzt werden, um vor gesundheitlich gefährdenden Korperstellungen zu warnen. In der Zeitlimit-Gruppe gibt es einen Eintrag für die durchschnittliche Zeit, die zum Einnehmen der Haltung benotigt werden sollte. Ein Überschreiten dieses Wertes erfüllt das Abbruchkriterium. Eine zweite Zeit gibt an, wie lange die Haltung beibehalten werden soll. Die Verzweigungs-Gruppe regelt, in welcher Zeile als nächstes fortgefahren werden soll. Es gibt eine Zeilen-Nummer für den Fall, dass alle Bedingungen erfüllt sind und eine dafür, dass das Abbruchkriterium erfüllt ist. Es kann sich sowohl um einen absoluten Sprung oder um den Aufruf eines Unterprogramms handeln. Entsprechend gibt es einen Eintrag, der einer Return-Anweisung entspricht.
Tabelle 2 (Aufbau einer Vorgabe- beziehungsweise Extremwert-Gruppe) :
Durch die Möglichkeit, Unterprogramme zu definieren, ergeben sich verschiedene Möglichkeiten für den eigentlichen Ablauf des Lernprogramms. Das gesamte Programm kann einerseits in einer einzigen großen Tabelle gespeichert sein und wird vom Computer-Programm genau einmal aufgerufen, der Gesamtablauf steckt in der Tabelle. Andererseits kann der Lernstoff aber auch in verschiedenen kleineren Tabellen kodiert sein, die vom Computerprogramm aus mehrmals aufgerufen werden. Dies bietet sich vor allem für die Bildung von Schleifen und ähnlichem an. Der Gesamtablauf steckt in diesem Fall in der Reihenfolge der Aufrufe der Tabellen vom Hauptprogramm des Computers.
Die Erzeugung der Text-Anweisungen hängt einerseits von der Textkennung der Vorgabegruppe und andererseits von den Abweichungen der gemessenen Markierungswinkel zum Sollwert ab. Die Textkennung identifiziert den auszugebenden Text mehr oder weniger direkt. Es gibt zwei Kennungen, da der Anweisungstext davon abhängt, ob sich der gemessene Wert über oder unterhalb des Toleranzbereichs befindet. Ist der Toleranzbereich in mehreren Vorgabe-Gruppen nicht erreicht, so entscheidet im einfachsten Fall das Prioritätsfeld darüber, wessen Anweisungen ausgegeben werden sollen. Bei großen oder kleinen Abweichungen des Sollwerts vom Istwert wird der Ausgabetext entsprechend modifiziert ("sehr", "noch ein wenig" usw.). Um den Ausgabetext natürlicher gestalten zu können, kann die Texterzeugung mittels Fuzzy Logik mit entsprechenden Regeln aus mehreren Vorgabe-Gruppen mit deren Textkennung, Prioritäten und Abweichungen zum Sollwert gleichzeitig gene-
riert werden (wenn Textkennungi gleich aufwärts und Textkennung2 gleich vorwärts und Prioritäti gleich hoch, dann Text gleich aufrichten) . Bei Erfüllen des Abbruchkriteriums, zum Beispiel durch die Zeit- Überschreitung, wird an einer anderen und damit vielleicht "leichteren" Stelle im Ablauf-Programm weitergemacht .
Eine Bewegung kann durch genau eine oder mehrere verschiedene Zeilen definiert werden. Je mehr ver- schiedene Zeilen pro Bewegungsablauf vergeben werden, um so präzisere Anweisungen können gegeben werden. So könnte zum Beispiel das Einnehmen der Grundstellung einer Übung durch mehrere Zeilen definiert werden. Als erstes würde zum Beispiel nur die RumpfStellung pro Zeile eingegeben werden, der Rest wäre im don ' t care-Zustand. In einer zweiten Zeile würde zusätzlich zur RumpfStellung die Armstellung eingetragen sein. In der nächsten Zeile könnte die Beinstellung dazukommen, diese Zeile hätte damit Einträge für die drei Vorgabe-Gruppen Rumpf, Arm und Beinstellung gleichzeitig. Ein Verlassen des Toleranzbereichs innerhalb der Rumpf- Vorgabe-Gruppe würde automatisch einen Text entsprechend der Textkennung dieser Zeile erzeugen. Wird gleichzeitig auch der Arm-Bereich verlassen, so entscheidet im einfachsten Fall der Prioritäts- Wert darüber, welche Meldung generiert wird. Kann zum Beispiel die Beinstellung im dritten Schritt nicht erreicht werden, wird nach Ablauf des Zeitli- mits das Abbruchkriterium erzeugt und das Programm wird an einer anderen Stelle fortgesetzt. Alternativ kann das Programm zwar nochmals an der gleichen Stelle, aber mit einem geänderten Schwierigkeits-
Level fortgeführt werden. Dieser Level kann alle Vorgabewerte, wie zum Beispiel den Toleranzbereich, modifizieren. Wenn das Können des Übenden nach einer gewissen Zeit ansteigt, steigt auch sein Le- vel an und damit müssen die Vorgaben genauer eingehalten werden. Das Prinzip des Schwierigkeits- Levels vereinfacht und verkleinert die Tabellen ganz erheblich.
Das Prinzip des Programms beruht darauf, dass das (einmalige) Kodieren des Lernprogramms selbst zwar relativ aufwendig, die Ausführung dafür aber um so einfacher und damit schneller ist. Dies wird dadurch erreicht, dass jeder nötige Teil-Prozess durch einen eigenen Spalteneintrag in der Tabelle repräsentiert wird. Die sich dadurch ergebende Tabelle ist sehr umfangreich, kann aber durch das feste Format einfach ausgewertet werden. Jeder Eintrag in einer Spalte steuert eine Aktion, vergleichbar mit einem Mikroprogramm bei einem Compu- ter. Ein Nachteil dieses Verfahrens ist der relativ große Speicherbedarf der Tabelle. Bei einer Überwachung von angenommen 10 Markierungswinkeln ergeben sich circa 200 Byte/Zeile und damit circa 200 kB bei 1.000 Zeilen. Dies stellt aber bei den heute verfügbaren Speichergrößen kein Problem dar.
Die Art der Kodierung der Vorgaben über die oben vorgestellte Tabelle hat zusätzlich den Vorteil, dass die Auswertung leicht parallelisiert werden kann. Jede Vorgabe-Gruppe überwacht die entspre- chenden Eingänge völlig unabhängig von den anderen und erzeugt die entsprechenden Anweisungen. Erst in einem letzten Schritt werden die Einzelergebnisse
zu einem Gesamtergebnis zusammengefasst , im einfachsten Fall über die existierenden Prioritäten. Durch den einfachen Aufbau könnte die Auswertung -falls erforderlich- komplett durch eine eigene Hardware-Logik (PAL-Bausteine) erfolgen. Einfacher wäre es, für jede Vorgabe-Gruppe einen eigenen Mi- krocontroller (Pic-Controller ) einzusetzen, der die Ergebnisse einem zentralen Controller zuleitet.
Bei der Anwendung für Drucksensoren werden die Win- kel-Toleranzbereiche durch andere Parameter, zum Beispiel Druckwerte, ersetzt. Das Lernprogramm besteht dabei aus viel weniger verschiedenen Zeilen, so dass der zur Verfügung stehende EEProm-Bereich ausreicht. Ist ein umfangreicheres Lernprogramm er- wünscht, so können anstelle einer einfachen Speichererweiterung wegen der einfachen Parallelisie- rung der Auswertung -wie oben besprochen- besser ein oder mehrere zusätzliche Mikrocontroller eingesetzt werden. Dadurch wird neben der Speicherver- waltung die Auswertegeschwindigkeit stark erhöht.
Mittels der Vorrichtung 12 ist somit eine zuverlässige, schnelle und lernfreundliche Haltungskontrolle an einer Person beispielsweise bei der Ausübung einer sportlichen Übung oder auch bei der Er- lernung eines Musikinstruments möglich, ohne notwendigerweise auf einen menschlichen Experten zurückgreifen zu müssen.
Im Folgenden wird der Aufbau eines Systems für die Auswertung und Analyse der Druckverteilung über einen Laufschuh beschrieben. In Figur 2 ist der Ablauf des erfindungsgemäßen Verfahrens in Form eines
Blockdiagramms dargestellt. In der Eingangsebene werden die Daten von verschiedenen Sensormodulen synchronisiert und zusammengesetzt. In den Sensormodulen 1 und 2 werden Druckdaten aus jeweils N Da- ten-Kanälen ermittelt. Außerdem werden die Daten in den Sensormodulen 1 und 2 gespeichert und vorverarbeitet. Die Vorverarbeitung betrifft alle Verfahren, bei denen nur die Information eines einzelnen Sensormoduls benötigt wird. Anschließend werden die Daten an ein Mastermodul weitergeschickt, wo die weitere Verarbeitung stattfindet. In dem Block Synch werden die Datenkanäle synchronisiert.
In der Filterebene werden die Daten über die Zeit und den Raum gefiltert und normiert. Der Eingangs- Daten FIFO enthält die Rohdaten. Der Filter-Daten FIFO enthält die Daten nach der Filteroperation.
Der Block Referenzmuster steht für verschiedene Referenzmuster, die zur Verarbeitung in der Objektebene benötigt werden. Die Referenzmuster dienen zum Ermitteln von Korrelationsfaktoren im Vergleich mit den Daten in der Filterebene.
In der Objektebene werden alle Objekte definiert, die von der Expertendatenbank her zugänglich. Jedes Objekt besitzt einen Satz von Bedingungen, einen daraus abgeleiteten Wahrheitswert, Eigenschaften und Methoden. Die Bedingungen beziehen sich entweder auf die Daten der Filterebene oder auf die Eigenschaften und Methoden von Objekten, von denen sie abgeleitet sind. Die Objekte der ersten Stufe (Objekt 11, Objekt 12, ..., Objekt In) greifen direkt auf die Filterebene zu. Die abgeleiteten Ob-
jekte (Objekt 21, Objekt 22, ..., Objekt 2n) greifen indirekt über die Objekte der ersten Stufe, von denen sie abgeleitet sind, auf die Daten der Filterebene zu.
In dem Expertensystem läuft das eigentliche Trainingsprogramm ab. Das Trainingsprogramm kann in Form von Hardware (eigener Mikrocontroller, programmierbare Logik) oder als Software realisiert werden. Die Expertendatenbank enthält die Gesamt- heit aller Teilschritte des gesamten Trainingsprogramms in Form von einzelnen Programmzeilen. In jeder Zeile sind mehrere Objektbedingungen mit der zugehörigen Verzweigung zu anderen Programmzeilen definiert. Bei der Erfüllung der Bedingung wird die entsprechende Verzweigung durchgeführt. Der Interpreter mit Programmcounter, Stack und Registern steuert den Ablauf der Expertendatenbank.
In der Ausgabeebene wird die Ausgabe in Form von natürlicher Sprache beziehungsweise Tönen und Melo- dien erzeugt. Die Anweisungen dazu kommen aus der Expertendatenbank. Bei einer Sprachausgabe werden die Anweisungen aus gespeicherten Sprachsequenzen generiert. Bei einer Melodieausgabe werden Töne und Melodien über MIDI-Kommandos erzeugt.
Die Objekte sind Bindeglieder zwischen den eigentlichen Sensordaten und der Expertendatenbank und stellen eine Abstraktionsschicht dar. Dies macht die eigentliche Expertendatenbank unabhängig von der eingesetzten Hardware und erleichtert die Pro- grammierung und eventuelle Änderungen ungemein. Ein Objekt hat einen eigenen Wahrscheinlichkeitswert
zwischen null und eins, der einerseits von den Eingangsdaten selbst und andererseits vom Grad der Erfüllung im Obiekt definierter Bedingungen abhangt. Zusatzlich verfugt ein Objekt über Eigenschaften und Methoden zum Verandern dieser Eigenschaften. Ein Objekt kann von einem anderen Objekt abgeleitet werden und erbt damit sowohl dessen Wahrscheinlich- keitswert als auch dessen Eigenschaften und dessen Bezug auf den Sensordatensatz. Der eigene Wahr- schemlichkeitswert ergibt sich dann anhand einer Kombination aus der Erfüllung der eigenen Bedingungen und dem geerbten Wahrschemlichkeitswert . Objekte erster Ordnung können direkt auf die originalen beziehungsweise gefilterten Sensordaten zugrei- fen. Davon abgeleitete Objekte können indirekt über den Datenbezug der Objekte erster Ordnung, von denen sie abgeleitet wurden, zugreifen.
Das Verfahren wird im Folgenden an einem einfachen Beispiel erläutert. Es wird ein Objekt "Peπodizi- tat" definiert, in dem Sensordruckdaten daraufhin untersucht werden, ob rhythmische Schwankungen auftreten. Dazu wird der Abstand zweier Extremwerte in den Tiefpass-gefllterten Druckdaten ermittelt, die in dem FIFO zur Verfugung stehen. Wenn der Abstand gewisse Mmιmal-/Maxιmalanforderungen erfüllt und eine bestimmte Schwankungsbreite aufweist, wird der Wahrschemlichkeitswert durch einen Fuzzy-Regelsatz entsprechend gesetzt. Die gestellten Anforderungen sind Bestandteil des Objekts "Peπodizitat".
Es wird ein weiteres Objekt "Schritt" definiert. Dieses Objekt bezieht sich einmal auf das Objekt Periodizitat des linken Druckverlaufs PL und ande-
rerseits auf die Periodizität des rechten Druckverlaufs PR. Die in dem Objekt "Schritt" definierten Bedingungen fordern, dass sowohl PL als auch PR wahr sein müssen. Zusätzlich müssen die Werte von PL und PR gegenphasig sein. Wenn die Bedingung erfüllt ist, bekommt das Objekt "Schritt" den entsprechenden Fuzzy-Wahrscheinlichkeitswert zugewiesen. Als Eigenschaft bekommt es den numerischen Wert der Phasenverschiebung zugewiesen. Ein Objekt "Hüpfen" sähe ganz ähnlich aus, nur dass die Bedingungen einen gleichphasigen Druckverlauf vorsehen würden .
Abgeleitet von dem Objekt "Schritt" können nun die Objekte "Gehen" und "Laufen" abgeleitet werden. Der Wahrscheinlichkeitswert dieser Module hängt von der Eigenschaft Phasenverschiebung des Objekts "Schritt" ab. Die genauen Bedingungen sind in den Objekten "Gehen" beziehungsweise "Laufen" festgelegt. Eine Eigenschaft des Objektes "Gehen" könnte zum Beispiel die Gehdauer sein, die von der Expertendatenbank in dem Objekt abgefragt werden kann. Ferner könnten als Eigenschaften Differenzen zwischen alten und neuen Werten vorgesehen sein.
Ein Modul "Überpronation" könnte von dem Objekt "Schritt" abgeleitet werden. Dieses Modul würde den Bezug auf die Druckdaten von dem Objekt "Schritt" benutzen, um zu prüfen, wieweit die Druckwerte in den von dem Objekt "Schritt" identifizierten Daten den geforderten Bedingungen entsprechen und seinen Wahrscheinlichkeitswert und seine Eigenschaften entsprechend setzen. Es können auch statistische Objekte definiert werden, die von anderen Objekten
gemessene Zeiten zu einer Gesamtzeit oder zu einem Energieverbrauch addieren.
In Figur 3 ist der Ablauf des Verfahrens beispielhaft ausschnittsweise dargestellt. Das Verfahren verlangt in der Zeile 1, dass 10 Minuten gegangen wird. Laufen, Hüpfen oder eine starke Überpronation würden eine entsprechende Korrekturanweisung auslösen. Nach Ablauf der 10 Minuten Gehen geht es in Zeile 2 weiter. Spätestens nach 12 Minuten würde in Zeile 4 weitergehen.
Die Zeilennummer dient als Bezug für den Programmablauf. Die Ausgabe-Message (Nachricht) ist ein eindeutiger Bezug für die zu generierende Sprach- beziehungsweise Tonausgabe. Alternativ kann anstatt einer Sprachausgabe ein Flag gesetzt werden, das in der Spalte Bedingungen abgefragt werden kann. In der Spalte Bedingungen werden alle Bedingungen er- fasst, auf die reagiert werden soll. Die Bedingungen können sich auf Objekte selbst oder deren Eigenschaften beziehen. Zum anderen können Standard-Objekte, wie die Z-Zeit, die die Verweildauer pro Zeile enthält, abgefragt werden, die automatisch bei jeder Abarbeitung einer Zeile gesetzt werden. In der Spalte Priorität ist geregelt, auf welche Bedingung zuerst eingegangen werden soll, falls mehrere Bedingungen gleichzeitig erfüllt sind.
Die Spalte Objekt Manipulation gibt an, ob ein Objekt über dessen Methoden verändert werden soll. In der Spalte PCounter ist festgelegt, wie der Trainingsprogrammcounter bei Erfüllung der entsprechen-
den Bedingung verändert werden soll. Es gibt einfache Sprünge (Goto), Unterprogrammaufrufe (Call, Return) und Schleifenanweisungen (Do, While, For, Next, Loop) . Daneben gibt es noch unbedingte Sprunganweisungen, die verschiedene, immer wiederkehrende Abfragen zu einem Block zusammenfassen. Die Spalte Max.# ist in Zusammenhang mit der Pro- grammCounter-Steuerung zu sehen. Bei Call-Befehlen zeigt sie an, wie oft das Unterprogramm maximal aufgerufen werden darf.
Die Referenzpunkte werden mittels mehrerer Videokameras erfasst, die in einem bestimmten Winkel und Abstand zueinander montiert sind. Aus dem Versatz entsprechender Punkte in zusammengehörigen Bildrei- hen wird die Distanz der Punkte zu den Kameras ermittelt. Dazu wird ein Koinzidenzverfahren eingesetzt.
Die Lage der Referenzpunkte spiegelt direkt die Haltung einer Person im Raum wieder. Die Beziehun- gen dieser Punkte zueinander können daher das Expertenwissen in Form des Trainingsprogramms direkt ansteuern. Bei Modulen, bei denen Sohlen-Drucksensoren (zum Beispiel Jogging-Modul, Ski-Modul) und/oder andere Sensoren (Körperschall, Beschleuni- gungssensoren, Neigungsmesser) eingesetzt werden, muss anhand der von den Sensoren erfassten Daten indirekt auf die Haltung beziehungsweise Bewegung geschlossen werden.
So ist zum Beispiel das Erkennen beziehungsweise Unterscheiden der Bewegungen "Gehen" und "Laufen" nur durch den zeitlichen Druck-Verlauf beider Soh-
len zu unterscheiden. Beim Skifahren ist zum Beispiel ein Parallelschwung durch die zeitliche Abfolge eines komplexen Druckmusters des Außen- und des Innenskis definiert. Um diese Art der Erkennung durchzuführen, ist eine zusätzliche Vorverarbeitungsstufe nötig. Dabei wird von indirekten Bewegungsdaten auf die eigentliche Bewegung und Haltung geschlossen.
Die Vorverarbeitungsstufe wird vorzugsweise in einem zweistufigen Verfahren zum Ableiten von Bewegungsdaten aus indirekten Bewegungsdaten durchgeführt. Dabei wird aus einem primären Datensatz ein daraus abgeleiteter sekundärer Datensatz erzeugt. Aus beiden Datensätzen zusammen wird dann auf die Bewegung beziehungsweise das Verhalten geschlossen. Dazu wird in einem ersten Schritt der zeitliche Datenstrom der beiden drucksensitiven Sohlen beziehungsweise der anderen Sensoren in einem FIFO- Puffer zwischengespeichert und gefiltert. Für die Filterung werden zwei Verfahren eingesetzt. Zum ersten die Filterung mittels einer ein- oder mehrdimensionalen Matrix (Kernel mit den Gewichtungsfaktoren) , die sogenannte Konvolution. Mit diesem Verfahren können alle gängigen Filteroperationen wie zum Beispiel Hochpass, Tiefpass, Tophet, Mean, Mediän, Max, Ming, Sobel, Roberts usw., mit vergleichbar wenig Aufwand im Zeitbereich durchgeführt werden. Zum zweiten werden die Daten einer FFT beziehungsweise Wavelet-Filterung unterzogen. Diese Operationen laufen im Frequenzbereich ab und liefern genauere Informationen über das Frequenzspektrum allgemein (FFT) beziehungsweise pro Raum- /Zeiteinheit (Wavelet) .
Neben der Filterung werden noch weitere sekundäre Daten, wie zum Beispiel der Verlauf des Schwerpunkts (COG) pro Sohle und dessen Abweichung von einer Referenzgeraden, die prozentuale Druckvertei- lungen usw. ermittelt. Die abgeleiteten Sekundärdaten werden zusammen mit den in einem eigenen FIFO Buffer gespeicherten primären Rohdaten und zusätzlichen antropomorphen Daten zur Erkennung der Haltung beziehungsweise Bewegung herangezogen. Die Zwischenspeicherung der primären und sekundären Daten ist nötig, da manche Bewegungsmuster erst durch die zeitliche Abfolge einzelner Bewegungskomponenten definiert sind. Da es eine breite Variation im Bewegungsablauf von Person zu Person gibt, wird die Analyse der primären, sekundären und antropomorphen Daten zweckmäßig mittels unscharfer Fuzzy-Logik in Verbindung mit einer Regeldatenbank durchgeführt. Als Ergebnis dieser Vorverarbeitungsstufe sind dann Bewegungs- und Haltungsinformationen, wie zum Bei- spiel Stehen, Gehen, Laufen, Springen, Treppensteigen usw., aber auch Aussagen über die Dynamik der Bewegung, wie zum Beispiel kraftvoll, schleppend oder müde, über die Zeit verfügbar.
Beim Ski-Modul ermöglicht dies nicht nur einfache Aussagen, wie Rückenlage, Vorlage, einseitige, beidseitige, ganzflächige Belastung, Kantenbelastung, sondern komplexe Aussagen, wie zum Beispiel Beginn einer Kurve, Ende einer Kurve, Pflug, Parallelschwung, Kurzschwingen, Carven usw. Dies ist mit einfachen Schwellensystemen nicht möglich.
In einem vergleichbaren Verfahren werden schädliche Bewegungsanteile aufgrund der beschriebenen Analyse
von komplexen Druckmustern über die Zeit identifiziert. Bei dieser Analyse kommen zusätzliche intern erfasste statistische Daten über Dauer und Häufigkeit bestimmter Haltungen und Bewegungen zum Ein- satz. Ob eine Bewegungskomponente schädlich ist, hängt auch davon ab, wie oft sie in welchem Zeitraum durchgeführt wird. Diese Aussagen sind in einfachen Schwellensystemen nicht verfügbar.
Die in der Vorverarbeitungsstufe erkannten Bewe- gungsabläufe, einschließlich der schädlichen Bewegungsabläufe, können mittels eines Tones zum Ermöglichen eines Bio-Feedback-Verfahrens hörbar gemacht werden. Anstelle eines einfachen Tons wird vorzugsweise ein MIDI-fähiger Soundbaustein benutzt.
Die in der Vorverarbeitung ermittelten Aussagen über das Verhalten werden nun einem Expertensystem in Form von Trainingsanweisungen, ähnlich dem Video-Modul, zugeführt. Dieses Programm ermöglicht es nun seinerseits, auf das Verhalten der Person zu reagieren, zu warnen und ein komplettes Trainingsprogramm auszuführen. Unter Trainingsprogramm kann auch ein Programm zum Gesundheits- oder Fitnesscheck oder zum Ermitteln der Passgenauigkeit von Schuhwerk usw. verstanden werden. Gemeint ist all- gemein eine Abfolge von Anweisungen an den Benutzer, wobei die Reaktion des Benutzers beurteilt wird und den weiteren Ablauf vorgibt.
Beim Ski-Modul werden zusätzlich Sensoren eingesetzt, die geeignet sind, den Abstand und den Win- kel der Skier zueinander zu erkennen. Zur Stromversorgung werden kleine tragbare Generatoren einge-
setzt, die entweder die Bewegung des Übenden/Sportgeräts oder die Temperaturdifferenz zwischen dem Übenden/Sportgerät und der Umgebung zur Stromgewinnung nutzen.
Die Druck-Sensoreinheit (Sensor und Aufnahmeeinheit) kann auch als kompletter Strumpf ausgebildet sein. Die Datenverarbeitungseinheit und Informationsausgabeeinheit kann in ein Kleidungsstück, beispielsweise Jacke, eingearbeitet sein.