There are several ways to improve current physiotherapy systems. Doctors do not have enough time to make precise measurements. The improvement of the patient cannot be tracked easily, and that often causes motivation loss, because the client cannot see if there are any positive changes. Furthermore, most of the patients get homework during therapy, but therapists are not able to follow their progress, and patients many times give up doing it.
We try to find a solution to these problems with the help of inertial measurement units. Therapists could replace goniometer with them, and we could easily process saved data, and show patient progress. We could also use the tracking of patient movement to control computer games, that would increase their engagement, while doctors could track their progress. Inertial measurement units have their burdens, so we cannot be sure what is achievable with them exactly. Besides that, the precise survey of user needs is in progress. Because of that, development is done in a pretty uncertain environment. That must be taken into account when implementing new features.
The topic of this thesis is to create software components that will be included in every possible project, and can be used in every product lines. These tasks can be split into two bigger part. One of them is implementation of development tasks, the other is to create development support tools. Two developments tasks are to receive streamed sensor data, and visualize them. These two features will be needed in every product with a high probability. The receiver is a layer that communicates in serial port, and uses its own package format. The visualization is done on a 3D avatar, that must be compatible with more platforms. The process of making development support tools contained the creation of a build flow, and a log system that collects logs from our own software components that runs on the same device. After the collection is done, own logs and logs of other interesting processes should be sent to a central server. The analysis of the data in the server was also the topic of the thesis.
I describe the specification of the tasks first, then the process of choosing technologies that fit our needs the most. After that, I present the plans and implementation of the features. At the end, I summarize strengths, weaknesses, and possible improvements of created components.