si ¼ smi  sfi  shi ði ¼ 1; . . .; 4Þ ð3Þ
where si is the driving torque of joint i, smi is the torque of
joint i delivered by the motor, sfi is the torque of joint i due
to joint friction and shi is the torque of joint i caused by the
human. The velocity dependent part of friction has been
identified and compensated.
A PD controller with a computed torque feed forward
portion has been implemented for position control and
evaluated by simulation (Fig. 5). Three different strategies
have been compared regarding their control error and the
computational effort with regard to the number of operations
needed per time step. Sample time was fixed to 1 ms.
In the first strategy, the PD values where selected by
simulation and remained constant while the feed forward
part was calculated by the inverse dynamic approach (Eq.
2) (computed torque control). In the second strategy, the
feed forward part was simplified to the gravity part leading
to
sff ¼ GðqÞ ð4Þ
And in the third strategy the feed forward part has been
set equal to sff ¼ 0, which reduces the strategy to a simple
PD controller. Sinusoidal trajectories have been used for
these experiments, while in the real application the trajectory
generation described in Chap. 2.7 has been used.
The model served also to investigate stability of the robot
interacting with the human. For this purpose, a human that
produces perturbations of different frequencies and
amplitudes has been simulated.
2.7 Trajectory generation for the mobilisation therapy
Mobilisation therapy is based on repetitive movements of
the human arm on a patient-specific trajectory while the
patient remains passive. This can prevent joint degeneration,
preserve the patient’s mobility and joint flexibility,
and reduce spasticity. The mobilisation therapy is executed
in two steps. First, the therapist moves the patient’s arm
together with the robot on a desired trajectory. The exact
shape of the movement (ranges, speed) can be solely
defined by the therapist taking into consideration the
individual impairment of the patient. During the recording
phase, the robot’s gravity and friction are compensated so
that the therapist only feels the forces and torques necessary
for moving the human arm. Once the trajectory is
recorded, the relevant points of the trajectory are determined
in order to enable calculation of a smooth and
‘‘human-like’’ movement path. This is required as the trajectory
performed by the therapist is often shaky. Simple
low-pass filtering is not appropriate, as it would cut the
movement at the extremes. In the second step, the robot
repeats the trajectory with an adjustable velocity.
Jung-Hoon et al. [15] developed a simple method to
extract a small number of way-points for the trajectory of a
mobile robot. This method has been adapted in the way that
turning points of the recorded position data are detected
and used as via points. Once these points are detected, a
smooth trajectory connecting them is generated by a minimum
jerk approach [6]. This approach is quite common to
describe the kinematics of smooth human arm reaching
movements. The resulting trajectory serves as input for the
position controller (c.f. 2.6).
2.8 Audiovisual display
An appropriate audiovisual display is imperative for the
game supported therapy (cf. 2.9) where movement tasks
need to be displayed to the patient. The mobilisation
therapy (cf. 2.6) could also be performed without any
audiovisual feedback. However, showing a virtual arm can
help the patient to realize his or her arm posture.
As the robot is able to perform ADL-related movements
in space, a stereographic display is used to present virtual
objects in three dimensions. The screen is rather large
(2 m · 2.7 m) so that even patients with mild visual
impairments can recognize the scenarios and tasks, and