CONCEPT
In an “IMIC”-therapy setting, the patient interacts physically with the (therapeutical) input/output devices while the therapist guides the patient’s interactions by monitoring/calibrating and through therapeutic interventions.
The "RehabConnex" system offers easy-to-use applications to support the therapist in such a multitasking therapy environment. For technical support and evaluation, software and hardware developers have to be given access to extend and update peripheral parts of the system, while therapists and researchers need to be able to access the patient’s/player’s performance protocols. In general, the system is expected to be easy-to-use, heterogeneously applicable, automatic, robust, ”transparent” and responsive, which results in the following specific requirements for the software framework of “RehabConnex”:
- The framework must support an environment in which heterogeneous (therapeutical) input devices can be integrated.
- The framework must support and address an environment of complex hardware and software system structures.
- Upon changing the connection of (therapeutical) input/output devices, a new (therapeutical) input/output device must connect and configure itself to the system automatically.
- The framework must reliably communicate all (therapeutical) input/output device-data.
- The framework must exchange large data in real-time without lagging.
- The software server should run on various software platforms (e.g., Mac OS X, Linux, and Windows).
- The framework must support system expansions: while the mainframe software remains unaltered, new software clients can be added.
- The framework software must be easy-to-use, and well-documented.
- To enable synergetic developments in the research community, the framework should apply an open source approach.
For a general proof of concept outside the "IMIC" Human-Robot-Game-Interaction/Human-Device-Game-Interaction-environments, the ZHdK game designers used the “RehabConnex”-middleware to connect the ZHdK-RehabGames to input devicess from other, non-therapeutic contexts. The possibility of flexibly connecting various, multimodal input devices opens up innovative application fields and new research and developent areas.
RehabConnex(Server) communicating over TCP-IP with Clients
Every client has a representation in the node-tree of the RehabConnexServer. The communication runs over patched slots.
Structure
Every client can have several devices and this devices can have again several slotsets (normalized, raw) and input- and output slots.
Simple but effective Protocol
The RehabConnex-Protocol uses a small amount of commands for communicating over TCP/IP (like FTP or SMTP). Every command consists of [COMMAND/JOBID/PATH/ARGUMENT].
The most common commands are ADD/REMOVE for building up stucture and SET/GET for sending and receiving data from or to the RehabConnex.
Client-[RehabConnex]-Game-Communication
The communication is bi-directional. Clients can send messages over the RehabConnex or retrieve informations.
RehabConnex-Protocol
https://github.com/gamelabch/RehabConnex/blob/master/RehabConnex_Protocol0.87.pdf