Eine Publikation der Swissprofessionalmedia AG
PDF download
Entwicklung von Bewegungsanalyse-Algorithmen für Medizin, Sport und Sicherheit am Arbeitsplatz : Ausgabe 09/2017, 23.05.2017

Rückkehr ins Training planen

Leistungssportler haben nach einer Verletzung stets das Ziel, so schnell wie möglich wieder einsatzfähig zu werden. Daher überzeugen sie sich selbst und ihre Ärzte oft davon, dass sie wieder Leistungssport treiben können, bevor sie voll genesen sind. Fortgeschrittene Technologien wie optische Tracking-Systeme, die Bewegungen erfassen, sowie Kraftmessplatten zur Messung von Bodenreaktionskräften ermöglichen Athleten wie Trainern, zu bestimmen, wann der Sportler wieder ohne Risiko voll einsatzfähig sein wird.

Autor: Edgar Charry, dorsaVi

Bilder: dorsaVi

Ein verletzter Läufer, etwa mit einem Achillessehnenproblem oder einem Ermüdungsbruch im Schienbein, fürchtet den Verlust seines Leistungsniveaus und will möglichst bald wieder mit Lauftraining beginnen.

Objektive Analysen von Sportlern und ihren Bewegungsabläufen werden nun durch ausgefeilte Algorithmen erlaubt, die Rohsen­sordaten verarbeiten und die Ergebnisse in aussagekräftiger Form anzeigen. Ein Algorithmus kann z. B. starke negative Spitzen beim Beschleunigungsmesser-Output feststellen, die bei jedem von einem Athleten gelaufenen Schritt erfolgen können. Aufgrund des Timings und der Grösse dieser Spitzen kann der Algorithmus die Kadenz des Läufers sowie die Bodenreaktionskraft für jeden Schritt berechnen.

Den Bewegungsablauf auf einfache Weise objektiv beurteilen

Bei der Analyse mittels Sensoren und Algorithmen können eine asymmetrische Kadenz oder unausgeglichene Bodenreaktionskräfte für jedes Bein sichtbar gemacht werden, was anzeigen kann, dass der Sportler nicht in der Lage oder gewillt ist, die gleiche Kraft auf beide Beine anzuwenden. Auf ähnliche Weise kann die Analyse der Knieabweichung, -flexion und -rotation beim Beugen oder Hüpfen eines Athleten die Genesung von Kreuzband- und anderen Knieverletzungen unterstützen. Selbst gesunden Athleten können solche Analysen zugutekommen, wenn sie das Feedback der Algorithmen dazu nutzen, ihre Technik zu verfeinern oder die Effizienz wichtiger Bewegungen zu optimieren. Diese Technologien bieten Metriken und Einblicke, die durch einfache Beobachtung des Athleten oder der Athletin nicht gewonnen werden können, haben aber auch einige Nachteile. Sie sind nicht nur teuer, sondern machen in der Regel auch speziell geschulte Techniker und langwierige Einrichtungsverfahren erforderlich. Und weil sie oft erfordern, dass Sportler in einer eingeschränkten Umgebung Leistungen erbringen, wie z. B. auf einem Laufband, ist die Beurteilung natürlicher Bewegungen nicht immer einfach. Bei dorsaVi hat man tragbare kabellose Bewegungsanalysegeräte entwickelt, die Bewegungen präzise messen und verfolgen, während der Athlet oder die Athletin sich ungehindert in jeder Umgebung bewegen kann.

Ein Gerät für die Hosentasche der rekonvaleszenten Sportler

Die kabellose Sensortechnologie ViPerform umfasst inertiale Messeinheiten (IMU) und Magnetometer sowie Elektromyographiesensoren zur Messung der Muskelaktivität. Die Sensordaten werden an ein Aufzeichnungs- und Feedback-Gerät (Recording and Feedback Device, RFD) gesendet, das am Arm oder in einer Tasche mitgeführt werden kann. Das RFD sendet die Daten an einen PC, wo sie vom Softwarepaket verarbeitet und angezeigt werden. Der Kern der Technologie ist proprietäre Algorithmen, die Rohsensordaten filtern und analysieren und Informationen bereitstellen, die zur Evaluierung der Kniekontrolle, des Bewegungsbereichs des unteren Rückenbereichs, der Adduktorenaktivität, Hüft- und Kernmuskulaturkontrolle und der Laufleistung eingesetzt werden können. Durch Entwicklung und Testen der Algorithmen in MATLAB und Entwicklung von portablem C-Code mit MATLAB Coder konnte man die Entwicklungszeit im Vergleich zum vorherigen Ansatz, bei dem manuell in C# programmiert werden musste, um fast die Hälfte reduzieren.

Entwickeln von Algorithmen für objektive Analysen mit MATLAB

Als man die Algorithmen direkt in C# implementierte, musste man noch eigene einfache Signalverarbeitungs- und Visualisierungsfunktionen entwickeln. Durch den Wechsel zu MATLAB liess sich die Entwicklung beschleunigen, weil jetzt in MATLAB integrierte Funktionen für die Datenvisualisierung und diskrete Kosinustransformationen genutzt werden. Heute nutzt man die Signal Processing Toolbox und Wavelet Toolbox, um die Entwicklung noch mehr zu vereinfachen.

Ein Beispiel: Die Software kommt für die Entwicklung und Anwendung von Butterworth- und anderen infiniten Impulsreaktions-Filtern (Infinite Impulse Response, IIR) auf Sensordaten zum Einsatz. So identifiziert man Spitzen und Täler in Sensorsignalen, indem die kontinuierlichen Wavelet-Transformations-Koeffizienten (Continuous Wavelet Transform, CWT) der Signale mit Funktionen aus der Wavelet Toolbox berechnet werden. Die Identifizierung solcher Signalmuster ist von grosser Bedeutung, um Gangereignisse wie das Auftreffen der Ferse und das Abheben der Zehen für die Laufanalyse festzustellen.

Prüfen und Testen der Algorithmen

Nach der Entwicklung eines Algorithmus in MATLAB überprüft man ihn durch Vergleich seiner Ergebnisse mit denen eines unabhängigen Messgeräts wie z. B. eines Bewegungsverfolgungssystems oder einer Kraftmessplatte. Man vergleicht z. B. das Timing der vom Algorithmus festgestellten Gangereignisse mit den durch die Kraftmessplatten generierten Bodenkraftreaktionsspitzen. In dieser Phase lassen sich in MATLAB erstellte Plots und Grafiken untersuchen, um potenzielle Algorithmus-Defizite zu identifizieren und korrigieren.

Sobald der Algorithmus bei einem bestimmten Satz von Testszenarien richtig funktioniert, führt man mehr als 1000 Tests in MATLAB durch. Dabei kommen von Athleten weltweit aufgezeichnete Daten zum Einsatz. Man optimiert so den Algorithmus, bis er den Anforderungen in puncto Genauigkeit und Leistung gerecht wird.

Erstellen von C++-Programmcode aus den MATLAB-Algorithmen

DorsaVi-Software, die als Primärschnittstelle für das Anzeigen von Sensordaten und die Evaluierung der Leistung eines Athleten fungiert, wird in erster Linie in C# programmiert. Als man MATLAB zum ersten Mal zur Entwicklung von Signalverarbeitungs-Algorithmen einsetzte, basierte der Workflow noch darauf, dass C++- und C#-Programmierer die Produktionsversion des Algorithmus implementierten, die dann in die dorsaVi-Software integriert wurde. Dieser Ansatz war wegen des doppelten Aufwands nicht effizient. Es dauerte manchmal bis zu einem Monat, um Algorithmen neu zu programmieren und erneut zu testen, die bereits in MATLAB entwickelt und getestet worden waren.

Um diese Ineffizienz zu beheben kam MATLAB-Coder zur Erstellung von C++-Programmcode aus verifizierten MATLAB-Algorithmen zum Einsatz. Durch Initialisierung der Variablen und Optimierung der Schleifen werden die Algorithmen für die Programmcode-Erstellung vorbereitet und verifiziert, indem eine MEX-Funktion generiert wird, die den kompilierten Code umfasst. Die MEX-Funktion wird dann anstelle des Original-MATLAB-Algorithmus aufgerufen. Nach Erstellung des C++-Codes wird der Algorithmus in einer DLL kompiliert und in die dorsaVi-Software geladen.

Übersetzungszeit von einem Monat auf ein bis zwei Tage reduziert

Das Übersetzen des MATLAB-Algorithmus in den Produktionscode dauerte zuvor bis zu einem Monat. Mit MATLAB Coder ist das jetzt in ein oder zwei Tagen erledigt. Zuletzt führt man vollständige Systemtests der Algorithmen der dorsaVi-Software durch. Bis dato hat man noch keine bei der Codegenerierung eingeführten Defekte festgestellt. Die umfassenden Tests in MATLAB erlauben es den C#-Programmierern, ihre Zeit mit der Entwicklung neuer Funktionen der Software zu verbringen, anstatt Algorithmen in C# erneut programmieren und dann wiederum testen zu müssen.
In den Produkten ViMove und ViSafe verwendet man mehrere Algorithmen, die ursprünglich für ViPerform entwickelt wurden. Sie wurden für den Leistungssport, klinische Anwendungen und Anwendungen im Bereich Gesundheit und Sicherheit am Arbeitsplatz entwickelt. Das Team arbeitet derzeit an neuen Algorithmen zur Analyse der Daten von an verschiedenen Körperteilen angebrachten Sensoren sowie an Algorithmen-Entwicklungs- und Verbesserungsanfragen von Bestandskunden.

Mit MATLAB und MATLAB-Coder lässt sich schnell auf Kundenanfragen reagieren. In einem neuen Release wurden zwei Algorithmus-Module aktualisiert, zwei neue erstellt und alle vier geliefert. Dabei hatte man stets die volle Kontrolle und wusste, dass man alle Fristen einhalten würde, was beim alten Workflow nicht möglich gewesen wäre. 

Infoservice

Mathworks
Murtenstrasse 143, 3008 Bern
Tel. 031 950 60 20, Fax 031 950 60 22
info@mathworks.ch, www.mathworks.ch



Objektive Analysen von Sportlern und ihren Bewegungsabläufen werden nun durch ausgefeilte Algorithmen ermöglicht


MATLAB-Plot mit Ergebnissen eines Lauftests


ViMove-Sensoren in einem Lauftest

Training nach Verletzungspause

Irgendwann erwischt es die meisten Läuferinnen und Läufer während ihrer Laufkarriere: Eine Laufpause wird verordnet, ob vom Arzt oder durch Selbstdiagnose. Eine der häufigsten Fragen, welche Läuferinnen und Läufer nach einer Verletzungspause stellen: «Wann darf ich wieder laufen? Wie muss ich mein Training anpassen?» Der Zeitpunkt einer Wiederaufnahme des Trainings hängt von vielen Dingen ab. Ist die Pause durch einen Arzt verordnet worden, so erteilt er aus seiner Erfahrung Tipps zum Wiedereinstieg und empfiehlt einen sanften Einstieg ins Training mit gewissen, medizinisch indizierten Vorgaben. Hat man sich aber wegen einer Überlastungserscheinung selber eine Laufpause verordnet, so ist man als Betroffener auf Tipps für den optimalen Wiedereinstieg angewiesen.

www.lauftipps.ch – Suchcode 981

Mathworks im swissT.net

Sektion 42: Robotics & Systeme

Sektion 32: Engineering in der Automation

Sektion 19: Embedded Computing