A PhysX-Based Framework to Develop Rehabilitation Systems Using Haptics and Virtual Reality

A PhysX-Based Framework to Develop Rehabilitation Systems Using Haptics and Virtual Reality

Michela Agostini (Fondazione Ospedale San Camillo, Italy), Antonio D'Andrea (Fondazione Ospedale San Camillo, Italy), Omar Andres Daud (Advanced Mining Technology Center, Chile), Roberto Oboe (University of Padova, Italy & Fondazione Ospedale San Camillo, Italy), Davide Pilastro (University of Padova, Italy), Monica Reggiani (University of Padova, Italy) and Andrea Turolla (Fondazione Ospedale San Camillo, Italy)
DOI: 10.4018/978-1-4666-9740-9.ch003
OnDemand PDF Download:
$37.50

Abstract

The use of Virtual Reality (VR), in combination with haptic devices (i.e. robotic manipulators capable of generating forces that stimulate the tactile and/or proprioceptive system of the users) is becoming very popular in the field of rehabilitation. As matter of fact, different rehabilitation requirements, related to various pathologies, are usually addressed by developing specialized haptic devices, together with specific VR worlds and exercises to be performed within. This, in turn, usually brings a tremendous effort when new exercises must be designed and/or new haptic devices, with their mechanical model and hardware (HW) interfaces, must be embedded into an existing environment. To cope with the required flexibility and adaptability, while reducing the development cost, we propose in this chapter a software framework that aims at reducing the development time and cost of new VR+haptics systems, through the use of well-known software design patterns (Model/View/Controller, Strategy, Observer) and freely available technologies (XML, PhysX).
Chapter Preview
Top

Introduction

The use of Virtual Reality (VR), in combination with haptic devices (i.e. robotic manipulators capable of generating forces that stimulate the tactile and/or proprioceptive system of the users) is becoming very popular in the field of rehabilitation. The use of such technologies helps both patients, who interact with a virtual world that encourages movements, and rehabilitation therapists, who can focus on the patients, leaving to the device the duty of collecting quantitative data about the rehabilitation sessions. In a rehabilitation system of this type, a common task for the patient consists in moving an object within the VR environment, by properly moving the end-effector of a haptic device (see Figure 1).

Figure 1.

Schematic representation of a typical VR+haptics rehabilitation system

The target movements to be implemented by the patients depend on the pathology and the rehabilitation target, and they may be simple (like reaching different fixed object in the VR world or contouring fixed obstacles) or rather complex (as tracking a moving object in the VR world).

Systems based on VR and haptics have usually a common architecture, composed of three main components:

  • 1.

    A simulation engine that dynamically model the environment to be reproduced in the virtual reality;

  • 2.

    Visual, auditory, and haptic rendering algorithms which take care of interfacing with the user by generating forces, audio and video feedback;

  • 3.

    A transducers that provides the haptic sensations to the patient, based on the data provided by simulation engine.

While it is possible to devise such a common architecture, the final rehabilitation system must then be customized on patient’s characteristics and clinicians’ needs, to support the execution of rehabilitation exercises, suitable for the particular disability. Therefore, current research has proposed different haptic devices, tailored to the specific pathology with different hardware and visual interfaces based on preferences of rehabilitation therapists. Nevertheless, this often requires a huge implementation effort, as the software for the control of each device is usually implemented from the scratch, with a time and cost efforts that could be largely reduced relying on previous experiences.

To cope with the required flexibility and adaptability while reducing the development cost, we proposed a software framework that aims at taking advantage of available knowledge, through the use of well-known software design patterns (Model/View/Controller, Strategy, Observer) and freely available technologies (XML, PhysX).

The Model/View/Controller (MVC) pattern has a large impact on the overall system as we designed our architecture by following the solution proposed by MVC for interactive software systems. The basic idea is to identify in the system three software components. The critical point is to keep them highly independent through the use of clearly defined interfaces. This allows to decouple their implementation so that it easier to develop and maintain the application. Indeed, even drastic changes in the implementation of a components, as the support of a new device or the use of a new graphical engine, does not affect the structure of the system and the implementation of the other components.

To reduce the cost we decided to rely on freely available libraries for the implementation of the three components. As an example, the Model component, updating the state of the virtual world, requires a simulation of a physical world. To reduce development cost, we took advantage of the availability of commodity physical engines. Among the freely available tools, we decided to implement our system using PhysX by NVIDIA Corporation. The software already includes real time simulation of dynamic objects, and implements interaction based on physical properties of the objects.

Complete Chapter List

Search this Book:
Reset