1 Introduction

Recently, the population growth has brought to an increasing number of people who need various kinds of care services within the working age people group. The scale of such problem has been growing very fast, especially when people who suffer from hemiparesis of the upper arm are considered. This group is composed, on one side, by an incresing number of eldery, who, in Europe, are going to constitute more than 30% of the total population [1]. On the other side there are post stroke subjects: celebral vascular stroke is, nowadays, one of the principal causes of chronic impairment or motion disability [2, 3]. In Europe, in particular, about the \(80\%\) of post-stroke subjects need assistance concerning an impariment at the hand [4, 5]. To make matters worse, the probability of stroke events is even estimated to increase in the future [3].

Elderly, genetic disease patients and post stroke survivors have in common various movements disorders that significantly weaken the patient’s quality of life.

Disorders of the upper limbs and, more particularly, of the hands deeply reduce their independence and social interactions. In these cases, a persistent rehabilitative training and a continuous assistance during the Activities of Daily Living (ADLs) are mandatory, respectively, to restore previous dexterity and to increase their autonomy.

Robotic devices, such as Hand Exoskeleton Systems (HESs), provide effective solutions in assisting and improving the mobility of the patients’ hands [4] and they are exploited to speed up the disease recovery and to support different manipulation tasks (such as dexterous manipulation and power grasping) [6]. Robotic systems are, indeed, in charge of providing high-intensity rehabilitation treatments replicating a given protocol always in the same conditions. These devices are also able to evaluate the patients’ progresses measuring suitable parameters. Both the aforementioned operations are difficult, and sometimes impossible, with manual therapy.

In many cases, unfortunately, hand functions are not totally replaced after the treatment. As reported in [7,8,9] and [10], up to 66% of post-stroke patients cannot regain the dexterity of their affected arm after 6 months from the stroke. In these cases the hand exoskeletons can be used to assist the users during the ADLs increasing the hand performances or automating some functional gestures.

Because of strict requirements in terms of weight and size of the mechanism, of the actuation system and of mounted sensors, and also in terms of manipulation capabilities, portable hand exoskeletons have not been developed as well as the exoskeleton robots for lower and upper limbs and their use does not show an outcome as positive as expected. All these reasons have made the design of a support for the hand function, based on exoskeleton technologies, one of the most influential challenges in modern robotics.

In accordance with the state of the art [11, 12], HESs are classified using various criteria: linking system, Degrees Of Freedom (DOFs) and actuation type.

As regards the linking system between the hand and the exoskeleton, there are two main different types: multi-phalanx devices [13, 14], which directly control each phalanx separately, and single-phalanx exoskeletons [15], which actuate only that part of the hand they are connected to. The multi-phalanx approach exploits mechanisms made up of several parts and, thus, presents more complex control strategies [16,17,18]. Usually, these devices are not totally portable and they are supposed to be used for rehabilitative purposes [16, 19] or in haptics [20], where the portability requirement is not a strict constraint. Nevertheless, this kind of devices allows to actuate the patients’ hands exactly in the same way as they would do if they could by themselves. Single-phalanx devices use, instead, simpler actuation systems and control algorithms despite of less control capabilities than the multi-phalanx ones.

Another possible classification is based on the number of DOFs of the mechanisms. Rigid multi-DOFs kinematic chains are widely reported [21,22,23], while the number of rigid single-DOF mechanisms is not so large [24, 25]. Since exoskeletons using a rigid multi-DOFs kinematic architecture demand multi-phalanx approaches, they usually present the same pros and cons. Current single-DOF devices present a very simplified kinematics [12, 26], which is quite far from the physiological hand kinematics.

In recent years, soft-robotic applications have, then, increasingly been developed. They present a totally different type of mechanism based on elastomeric materials or fluid structures [27,28,29,30]. These devices result very lightweight and safe for the user because of their limited stiffness.

Concerning the type of actuator, hand exoskeletons may be driven by electric actuators [31, 32] or pneumatic actuators [33]. The former actuation provides smaller forces to the hand than the latter, which, in turn, leads to higher weight and size due to its actuation system.

Considering the aforementioned research scenario, the researchers of the Mechatronics and Dynamic Modelling Laboratory (MDM Lab) of the Department of Industrial Engineering of the University of Florence (UNIFI DIEF) have designed an assistive and rehabilitative device for the hand focusing on the long fingers [34]. This particular prototype was developed basing on the specific requirements indicated by a patient affected by a hand opening impairment caused by a genetic disease (Fig. 1) and exploited a novel single phalanx, rigid, single-DOF and cable-driven mechanism especially developed by the authors.

Fig. 1
figure 1

The hand exoskeleton developed by the University of Florence worn by the patient during the testing phase

The designed kinematic chain (highlighted in red in Fig. 1) allowed to get a good trade-off between accuracy and functionality reproducing the patient’s finger trajectories in spite of its dependence on only 1 DOF.

Assessing again the HESs presented in the state of the art, portability, wearability and adaptability appear as critical aspects to be considered during the design and development processes. The portability of the device regards the development of light mechanisms and actuation systems with limited encumbrances mechanisms and actuation systems. The wearability requires an ergonomic structure and the manufacture of a comfortable device for the patient. This is demanded also for a prolonged use of the exoskeleton itself. Last but not least, the adaptability requires a HES tailored on the user. Since different users have, of course, different hand characteristics (hand sizes and anatomical dimensions due to e.g. bone positions and tissue deformations), and different disabilities, the adaptability of a device is necessary for its use, even if that complicates the design of the exoskeleton.

Bearing in mind these three important aspects, the presented research study aims at developing a novel design strategy which leads to a totally custom-made aid for the patients’ hands. The mechanism will be indeed not only portable and wearable but especially adaptable to the user’s hand. Exploiting the kinematic architecture of the HES presented in [34], this work aims, therefore, at enlarging the target users of the device extending the opportunity of its employment to every generic patient with a generic hand opening disease. To achieve this goal, a procedure to adapt the exoskeleton to the patients is needed.

In literature, there are many examples of different strategies applied in finding optimum design of mechanisms. One of the first effort has been carried out in [35] more than 50 years ago. This research area was futher investigated in [36] and, then, through the work presented in [37] thanks to the increasing computational resources which are getting even more available in recent years. Even if, nowadays, this field is deeply studied, there are few examples of optimization-based strategy to design mechanism to be applied to the human body [38, 39].

In this work, a novel optimization-based strategy exploited to design a custom-made robotic device for hand assistance is given. The proposed approach allows, starting from the hand motion analysis, to automatically generate a hand exoskeleton tailored on the patient hand itself. The main advantages of the proposed procedure can be summarized as:

  • input data are the trajectories of each finger and are provided in an easy way by means of a completely non-invasive hand motion analysis;

  • obtained data lead automatically to the ready-to-use device thanks to a parametric Computer Aided Design (CAD)-Computer Aided Engineering (CAE) software and to the additive manufacturing process;

  • the achieved exoskeleton is personalized on the user hand.

The work activity reported in the paper will describe firstly the procedure to track and acquire the fingers trajectories that the exoskeleton must reproduce. Then, after a description of the kinematic model and of the mechanism synthesis, the method that determines suitable 1-DOF finger mechanism dimensions, which reproduces at best the trajectory of the user, will be reported. A brief description of the design of the prototype used to validate the proposed scaling procedure will be given. Finally, the results obtained during the validation and testing phase of that device, carried out in collaboration with the Don Carlo Gnocchi Foundation, will be presented. The mechanism showed, during this last phase, satisfying performances in terms of reproducing the users’ trajectories.

2 General architecture of the system

In this Section, an overview of the methodology, which leads to a mechanism that follows the trajectories of the hand, is reported.

Fig. 2
figure 2

Automatic scaling procedure

Exploiting the design strategy reported in Fig. 2, the authors have customized a single phalanx, single DOF, rigid and cable driven system for long fingers. As reported in Fig. 3, the connection point between the hand and the exoskeleton (E point) is placed on the middle upper part of the intermediate phalanx. The distal phalanx is not connected to the mechanism in order to maintain the tactile feedback during grasping. Starting from this mechanism, a scaling procedure has been developed to adapt the trajectory of the point E of the HES to that one of the corresponding point on the hand.

The first step of the scaling procedure is a hand Motion Capture (MoCap) analysis to track the natural motion of the user’s fingers (Sect. 3). The authors employed the SMART-DX MoCap optoelectronic system by BTS Bioengineering (BTS Bioengineering S.p.A., Milano, Italy) available at the Don Carlo Gnocchi Foundation Rehabilitation Center, Florence, Italy. This system is made up of infrared cameras and is capable to automatically record three-dimensional trajectories of passive reflective markers placed on the patient’s hand by means of stereophotogrammetric methods.

Sections 4 and 5 deal with, respectively, the hand kinematic model and the mechanism synthesis, which have to be used in the optimization procedure.

Fig. 3
figure 3

Device lateral view showing the mechanism kinematic chain

Section 6 reports how the exoskeleton mechanism has been appropriately changed to match the trajectories acquired by the motion analysis. Figure 3 shows the mechanism of one finger (index) of the exoskeleton: changing the relative distances between the mechanism joints position (points A, B, C, D and E), the trajectory of the linking point (point E) between the mechanism and the finger, i.e. exoskeleton end-effector, is modified. The purpose lies in determining such distances so that the exoskeleton replicates, when actuated, the proper natural motion of the long fingers. To reach this goal, the authors recoursed to a numerical optimization method; in particular, that one proposed in [40], which is a Nelder-Mead based optimization algorithm used to solve non convex, non linear constrained problems, has been exploited. The exploitation of this numerical algorithm led to a novel automatic procedure for mechanism optimization presented here for the first time.

Taking the MoCap data as input and making use of the kinematic synthesis of the mechanism, the implemented algorithm provides the customized geometry for each user. In addition, several constraints have been added to the optimization problem in order to guarantee the physical feasibility of the device and, at the same time, to maintain the overall size limited.

A real HES prototype has, then, been designed and manufactured to validate the scaling procedure. All the mechanical parts are entirely produced by means of a 3D printer in a thermoplastic polymer, Acrylonitrile Butadiene Styrene (ABS). The exploitation of the additive manufacturing technique allows to build even complicated geometries, which result hard to produce with subtractive processing method (as discussed in Section7). In fact, this allows to design a mechanism directly from the parametric CAD model, without manufacturing constraints, providing the maximum comfort when the HES is worn.

The final phase of the research activity, discussed in Sect. 8, consists in the evaluation of the transparency of the HES (the capability of the device in reproducing the real trajectories of the hand phalanges). It has been executed using again the Motion Capture (MoCap) system available at the Don Carlo Gnocchi Foundation.

3 Hand motion capture

Since the input data of the scaling algorithm include the trajectories acquired by the MoCap system in order to customize the mechanical parts of the exoskeleton mechanism, a hand motion analysis has been required and is proposed in this section.

Performing a hand MoCap represents one of the main advantages in defining the object function of the proposed design procedure. Indeed, motion analysis guarantees to accurately track the physiological hand gestures through a completely non-invasive procedure. However, carrying out this analysis might be difficult, or even impossible, if the subject is not able to move both of his hands autonomously.

3.1 Protocol for hand motion analysis

A motion analysis technique is exploited for hand motion tracking. Joint positions are calculated (as reported in Sect. 4) by placing passive reflective 3mm-diameter markers on the right hand of some volunteers, as shown in Fig. 4. Markers are placed on the MetaCarpal Joint (MCP), on the Proximal InterPhalangeal Joint (PIP), on the Distal InterPhalangeal Joint (DIP) and on the Tip (TIP). The marker positioned on the MCP joint constitutes the system reference frame for each finger. Three additional 10mm-diameter markers are, then, placed in order to determine the orientation of the hand back.

The proposed protocol [41] with the aforementioned markers positioning allows to minimize artefacts, due to skin movements and potential marker occlusion.

Fig. 4
figure 4

Markers positioning protocol

3.2 Hand motion analysis setup

In this section, how the proposed protocol has been used to track and record the hand motion will be discussed. Such protocol was used to analyze data extracted from specific tests on healthy subjects. Then, the trajectory of the markers has been studied to define which trajectories the exoskeleton has to replicate to actuate the grasping gesture.

Fig. 5
figure 5

Motion analysis cameras setup

Thirteen right-handed human subjects (ten men and three women), aged 30.84 on average (standard deviation 10.06) have participated voluntarily in this study. Each subject was asked to grasp and release 3 times a 50 mm diameter cylindrical object. The subjects seated in front of a table and the cylindrical objects were located by the subjects themselves in a comfortable position but within a set area, as reported in Fig. 5, to optically track the whole gesture. The starting position (hand pose and body posture) was the same for all the participants. The hand was initially placed opened with the palm on the object with the the four long fingers completely extended and the thumb adducted. The shoulder was positioned with \(0^\circ \) in abduction on the frontal plane and flexed with an angle of about \(45^\circ \) in the sagittal plane (according to a comfortable posture for the subject). The elbow was slightly flexed in the sagittal plane in order to allow the subjects to keep the forearm on the table while they were grasping the cylindrical object. The wrist was in a neutral position (\(45^\circ \) for flexion and \(0^\circ \) for radio-ulnar deviation).

The authors exploited the BTS SMART-Suite Motion Capture System by BTS Bioengineering placed at the Don Carlo Gnocchi Foundation Rehabilitation Center. Four infrared cameras (their setup is shown in Fig. 5) compose this optoelectronic system which automatically records 3D trajectories of passive reflective markers with an acquisition rate of 100 Hz. In this context, the BTS Smart Analyzer software package has been used in reconstructing the marker positions.

Markers positions were initially recorded in a steady state position for 2 seconds (in order to acquire a static configuration) and, then, during the whole trial. After each grasp, the subject kept in hand the object for some seconds. A metronome has been used to set the rhythm of grasping and releasing the cylinder during each acquisition.

It is worth noting that, before starting the hand tracking, each person grasped the object several times in order to get familiar with that gesture.

4 Hand model

Several kinematic models, which describe human hand kinematics, have been reported in literature [42]. One of the most important differences among them is the simplifying hypothesis regarding the number of DOFs. Since the research activity aims at developing a HES able to reproduce the finger trajectories that the hand executes during the ADLs, the first step consists in determining a suitable model which describes the particular fingers gestures during grasping.

The chosen kinematic model allows to obtain a suitable characterization of the grasping movement using only few markers. In fact, in this phase of the research activity, it is important to acquire the hand movements without motion alteration due to the presence of the markers themselves on the hand.

The kinematic model presents 3 DOFs for each long finger which is, hence, modeled as an open kinematic chain. Since the exoskeleton does not effect the thumb, it is not considered in the study. Assuming the aforementioned hypotheses, the kinematic model of each finger is then be considered as a planar 3R mechanism (Fig. 6) which defines the fingertip pose \(\mathbf P _{f} (\varTheta _f)\) as a function of the joint coordinates \(\varTheta _f = \left[ {\theta _{f1}}\ {\theta _{f2}}\ {\theta _{f3}} \right] ^T\):

$$\begin{aligned} \mathbf P _{f} (\varTheta _f) = \left[ p_{fx}\ p_{fy}\ \phi _f \right] ^T = \left[ {\begin{array}{c} {l_{f1} c_1 + l_{f2} c_{12} + l_{f3} c_{123}}\\ {l_{f1} s_1 + l_{f2} s_{12} + l_{f3} s_{123}}\\ {{\theta _{f1}} + {\theta _{f2}} + {\theta _{f3}}} \end{array}} \right] ; \end{aligned}$$
(1)

where, e.g. \(c_{12} = cos(\theta _{f1}+\theta _{f2})\) and \(s_{12} = sin(\theta _{f1}+\theta _{f2})\), \(\mathbf P _{f}\) is the fingertip pose, the subscript \(_f\) defines the finger (\(f=1,2,3,4\) starting from the index and excluding the thumb) and \(l_{f1}\),\(l_{f2}\),\(l_{f3}\) are the phalanx lengthsFootnote 1.

In Fig. 6, through the reference systems \(\left\{ O_0,x_0,y_0,z_0\right\} \), \(\left\{ O_{f1},x_{f1},y_{f1},z_{f1}\right\} \), \(\left\{ O_{f2},x_{f2},y_{f3},z_{f2}\right\} \), \(\left\{ O_{f3},x_{f3},y_{f3},z_{f3}\right\} \) (which are, respectively, the wrist positions and the centre of rotation trajectory of MCP, PIP and DIP joints), the phalanx lengths \(l_{f1}\),\(l_{f2}\),\(l_{f3}\) and the distance vector between the wrist and the MCP joint \(\underline{l}_{f0}\), the 3R mechanism can be easily adapted to different hand characteristics.

Fig. 6
figure 6

Hand kinematic model (the subscript \(_{f}\) has not been reported, since the reference frame symbols refer to only one finger)

The described 3-DOFs kinematics model, which will be an essential input in the optimization procedure, can be obtained by processing MoCap data reported in Sects. 3.1 and 3.2. Even if the chosen protocol allows to put only few markers on the hand, it is affected by tissue deformations during flexion/extension movements. So, a procedure, which provides the finger joints Centre Of Rotation (COR) trajectories, has been required. In the following, the procedure to obtain the COR trajectories starting from the markers ones, will be reported.

Markers trajectories themselves represent the starting point in defining the hand model. Such model exploits indeed the coordinates of every marker placed on the hand with respect to the 3D coordinate system defined during the calibration of the acquisition system (in the following, referred to as the “camera frame”).

The first step to be taken is to refer all the acquired data to a common origin; since the finger moves with respect to the knuckle, the position of MCP marker on the finger has been chosen as the point all the measurements will be referred to (such frame, with origin in the finger MCP marker and whose axes are parallel to those of the camera frame, will be called the “finger frame”). Let \(\mathbf P _{m}^{C}\) denote the 3D position of the generic marker (denoted by m) in the camera frame (denoted by C); then, the position of the same marker in the finger frame (represented by apex F) is given by

$$\begin{aligned} \mathbf P _{m}^{F}=\mathbf P _{m}^{C}-\mathbf P _{MCP}^{C} \ . \end{aligned}$$
(2)

It is reasonable to assume that during subsequent opening and closure gestures of a finger, motion takes place always on the same plane, whose normal axis coincides with the knuckle axis. The idea is to determine the direction of such axis in order to align the acquired trajectory with the horizontal plane. To this aim, it is possible to determine the plane \(\varPi \) that best fits the acquired measurements (in a least square sense).

Consider the standard 3D plane equation

$$\begin{aligned} ax+by+cz+d=0 \ . \end{aligned}$$
(3)

Let \(\mathbf p _{\varPi }=[x \ y \ z \ 1]^{T}\) denote a point on the plane, using an augmented vector representation. The vector \(\mathbf X _{\varPi }=[a \ b \ c \ d]^{T}\) contains the unknowns of the problem. If a point \(\mathbf p _{\varPi }\) lies on the plane, it satisfies

$$\begin{aligned} \mathbf p _{\varPi }^{T}{} \mathbf X _{\varPi }=0 \ . \end{aligned}$$
(4)

Given N points \([x_{i} \ y_{i} \ z_{i} \ 1]^{T}, \ i=1,\ldots ,N\), it is possible to write the following linear system:

$$\begin{aligned} P_{\varPi }{} \mathbf X _{\varPi }=\mathbf e \ , \end{aligned}$$
(5)

where

$$\begin{aligned} P_{\varPi }=\begin{bmatrix} x_{1}&y_{1}&z_{1}&1 \\ \vdots&\vdots&\vdots&\vdots \\ x_{N}&y_{N}&z_{N}&1 \end{bmatrix} \ , \end{aligned}$$
(6)

and \(\mathbf e \in \mathbb {R}^{N}\) is an error vector to be minimized (if all the points lie on the plane, then \(\mathbf e =\mathbf 0 \)). The solution vector is the closest vector to kernel of \(P_{\varPi }\), which is given by the right-singular vector corresponding to the minimum singular value obtained from the singular value decomposition of \(P_{\varPi }\). Once the coefficients of (3) have been determined, the direction of the normal to the plane is given by \(\mathbf n =[a \ b \ c]^{T}\).

The above-mentioned considerations can be applied to the acquisitions of the markers on each finger; in particular, denoting with \(^{i}{} \mathbf P _{TIP}^{F}=[^{i}x_{TIP}^{F} \ ^{i}y_{TIP}^{F} \ ^{i}z_{TIP}^{F}]^{T}, \ i=1,\ldots ,N_{TIP}\) the generic acquisition of the marker TIP in finger frame, the best fitting plane \(\varPi _{TIP}\) can be determined. The projection of each acquisition on such plane is given by:

$$\begin{aligned} ^{i,\varPi }{} \mathbf P _{TIP}^{F}=^{i}{} \mathbf P _{TIP}^{F}-\left( \mathbf n _{TIP}^{T}\left( ^{i}{} \mathbf P _{TIP}^{F} - \mathbf p _{TIP} \right) \right) \mathbf n _{TIP} \ , \end{aligned}$$
(7)

where \(\mathbf n _{TIP}\) is the normal to plane \(\varPi _{TIP}\) (i.e. the knuckle axis) and \(\mathbf p _{TIP}\) is a generic point on such plane (which can be determined from its equation).

The finger tip trajectory \(^{i,\varPi }{} \mathbf P _{TIP}^{F}\) represents the pose \(\mathbf P _{f}\) of the finger model. However, the projections of PIP and DIP markers trajectories on the best fitting plane \(\varPi _{TIP}\) are affected by surface motions of the markers around the joints and do not correspond exactly with the PIP and DIP COR (Fig. 7).

Fig. 7
figure 7

Difference between MCP, PIP, DIP and TIP markers positions (in red) and the respective joints CORs (in blue). (Color figure online)

Through the application of the algorithm proposed in [43], the COR of the finger joints can be hence determined. Such algorithm, basing on the proposed protocol, employs an optimization routine which minimizes the time-variance of the internal links lengths, considering a linear (empirically validated) relationship between local movements of the surface marker around a joint and the joints flexion/extension.

The following step is the rotation of the projected data in order to align them with the horizontal plane; such operation can be performed by simply rotating them of an angle given by

$$\begin{aligned} \theta _{TIP}=cos^{-1}\left( \mathbf z ^{T}{} \mathbf n _{TIP} \right) \ , \end{aligned}$$
(8)

where \(\mathbf z =[0 \ 0 \ 1]^{T}\), about the axis

$$\begin{aligned} \mathbf a _{TIP}=\mathbf n _{TIP} \times \mathbf z \ . \end{aligned}$$
(9)

Where the operator \(\times \) represents the cross-product. Since the direct kinematics function is defined in the range \([0^{\circ } \ -90^{\circ }]\), where \(0^{\circ }\) coincides with the complete extension of the finger and \(-90^{\circ }\) indicates that the finger is completely closed, a suitable rotation about the \(\mathbf z \) axis can then be used in order to bring the acquired trajectory within desired range (in the following, an apex h will indicate data rotated on a horizontal plane and within the correct angular range).

The discussed simplifying assumptions lead to define the link segment model of the hand, which is used to determine the objective function of the optimization procedure. Figure 8 shows an example of the calculated joints positions during the flexion/extension of one of the subjects involved in the study.

Fig. 8
figure 8

Link segment model (a) and index joints COR trajectories (b) of the hand grasping object

5 Kinematic synthesis of the mechanism

A detailed kinematic analysis of the single-DOF mechanmism is reported in [34]. In order to make clearer the optimization procedure, a brief overview of the 1-DOF mechanism kinematic synthesis is reported in the following.

Referring to the lateral view of the mechanism shown in Fig. 3, its kinematic equations are:

$$\begin{aligned}&\mathbf 0 = \mathbf P _{C}^A + R_C^A\left( {{\alpha _2}} \right) \mathbf P _{A}^C \end{aligned}$$
(10)
$$\begin{aligned}&\mathbf P _{C}^A = \mathbf P _{B}^A + R_B^A\left( {{\alpha _3}} \right) \mathbf P _{C}^B \end{aligned}$$
(11)
$$\begin{aligned}&\mathbf P _{E}^A = \mathbf P _{B}^A + R_B^A\left( {{\alpha _3}} \right) \mathbf P _{E}^B \end{aligned}$$
(12)
$$\begin{aligned}&{a_1} {B_x^A} + {b_1} {B_y^A} + {c_1} = 0 \end{aligned}$$
(13)
$$\begin{aligned}&{a_2} {D_x^E} + {b_2} {D_y^E} + {c_2} = 0 \end{aligned}$$
(14)
$$\begin{aligned}&\mathbf P _{D}^A = \mathbf P _{C}^A + R_C^A\left( {{\alpha _3}} \right) \mathbf P _{D}^C \end{aligned}$$
(15)

where \(\alpha _i\) is the rotation of i-th frame, e.g. \(\mathbf P _{C}^{A}\) is the C point written with respect to the A frame and \(a_1,b_1,c_1\) and \(a_2,b_2,c_2\) are the line equation coefficients (respectively written in the reference frames A and E) of the mechanism linear constrains.

The unknowns representing the state of the system \(\mathbf P _{C}^{A}\), \(\mathbf P _{B}^{A}\), \(\mathbf P _{E}^{A}\), \(\mathbf P _{F}^{A}\), \(\mathbf P _{D}^{A}\), \(\alpha _2\), \(\alpha _3\), \(\alpha _4\) can be calculated as a function of the only one state variable \(\alpha _2\) by solving Eqs. 1015. Thus, the state vector is defined as follows:

$$\begin{aligned} \mathbf v = \left[ \left( \mathbf P _{B}^{A}\right) ^{T} \ \left( \mathbf P _{C}^{A}\right) ^{T} \ \left( \mathbf P _{E}^{A}\right) ^{T} \ \left( \mathbf P _{D}^{A}\right) ^{T} \ {\alpha _2} \ {\alpha _3} \ {\alpha _4} \right] ^T, \end{aligned}$$
(16)

where \(\mathbf v \ \in \ \mathbb {R}^{11}\).

All the interesting points of the mechanism (included in the state vector \(\mathbf v \)) are completely described as functions of the angle \(\alpha _2\) and of the geometrical parameters \(\mathbf S \ \in \ \mathbb {R}^{14}\):

$$ {\mathbf S} = \left[ \left( {\mathbf P} _{A}^{C}\right) ^{T} \left( {\mathbf P} _{C}^{B}\right) ^{T} \left( {\mathbf P} _{D}^{C}\right) ^{T} \left( {\mathbf P} _{E}^{B}\right) ^{T} {a_1} {b_1} {c_2} {b_2} {c_2} \right] ^T . $$
(17)

These parameters are completely known and do not vary with the pose of the system because they represent geometric quantities, depending only on the design of the exoskeleton parts.

It is, thus, possible to solve the direct kinematic model of the mechanism depending on \(\alpha _2\) (which identifies the pose) and \(\mathbf S \):

$${\mathbf u} = \left[ \left( {\mathbf P} _{B}^{A}\right) ^{T} \left( {\mathbf P} _{C}^{A}\right) ^{T} \left( {\mathbf P} _{D}^{A}\right) ^{T} \left( {\mathbf P} _{E}^{A}\right) ^{T} \alpha _{3} \alpha _{4} \right] ^{T} = {\mathbf k} \left( {\mathbf S} , \ {\alpha _2}\right) , $$
(18)

where \(\mathbf u \) is the unknown part of the state vector \(\mathbf v \).

6 Optimization process

Hereinafter the procedure adopted to define the particular shape of the exoskeleton components is discussed. The new shape of the mechanism is, then, able to reproduce the trajectory of the user, acquired with the MoCap system introduced in Sect. 3, very closely. The procedure can be conceptually separated into two parts. A preliminary data manipulation step is required in order to define the object function in a suitable format that can be fed to the optimization algorithm. This step is crucial since it directly leads to the determination of the objective function, whose minimization constitutes the second part of the whole process. Sections 6.1 and 6.2 illustrate these two steps in details.

6.1 Target trajectory definition

For any user, the goodness of the developed exoskeleton can be established by evaluating the matching of the trajectories of the contact point between the hand and the device (point EE): indeed, since the exoskeleton is a single-DOF mechanism, such condition is sufficient to ensure that the device follows the natural hand trajectory during normal use. Hence, the optimization process aims at determining the geometry of a device which minimizes the tracking error relative to such point, for the whole range of motion.

The position of EE can be calculated from the hand kinematic model. The hand exoskeleton direct kinematics function, on the other side, allows the computation of the position of the key points of the exoskeleton itself with respect to the fixed 2D coordinate system centered in A (Fig. 3). It is worth noting that the position of the contact point EE on the exoskeleton cannot be directly computed exploiting the direct kinematics function unless the complete hand-exoskeleton closed kinematic chain is taken into account. This is because the triangular-shaped component of the exoskeleton, connected to it in E with a rotational joint (the “end-effector”, violet component in Fig. 9), is free to rotate (actually constituting an additional degree of freedom for the exoskeleton alone) unless the exoskeleton itself is placed on the hand. Hence, no direct comparison between outputs of the direct kinematics function and trajectories acquired using the motion analysis system is possible. However, from the hand kinematic model, it is possible to reconstruct the time-varying position of the point E of an ideal exoskeleton that would precisely guide the hand motion with no slip and without exerting unwanted forces on the user’s hand, based on purely geometrical considerations. The reconstructed trajectory, obtained as explained below, will be used to determine the objective function of the optimization algorithm.

Fig. 9
figure 9

a end-effector; b finger phalanx

Fig. 10
figure 10

Reconstruction of the desired E trajectory

Referring to Fig. 9, when the exoskeleton is placed on the hand, the end-effector and the phalanx of the finger constitute a single rigid body: it is indeed such component that follows the natural motion of the finger without slipping. Hence, the position of a virtual marker EE (representing the connection between the finger and the device) can be defined as follows:

$$^{i}{} {\mathbf{P}} _{EE}^{F,h}=\frac{^{i}{} {\mathbf{P}} _{DIP}^{F,h} + ^{i}{} {\mathbf{P}} _{PIP}^{F,h}}{2}+ R_{{\mathbf{z }}}\left( \small {\frac{\pi }{2}}\right) \frac{m}{2} \ \frac{^{i}{} {\mathbf{P}} _{DIP}^{F,h} - ^{i}{} {\mathbf{P}} _{PIP}^{F,h}}{||^{i}{} {\mathbf{P}} _{DIP}^{F,h} - ^{i}{} {\mathbf{P}} _{PIP}^{F,h}||},$$
(19)

where m is the thickness of the second phalanx (Fig. 9). Hence, once the position of EE is determined, the time-varying direction of the vector \(\mathbf q _{i}=^{i}{} \mathbf P _{DIP}^{F,h} - ^{i}{} \mathbf P _{EE}^{F,h}\) can be exploited to reconstruct the reference trajectory for the exoskeleton point E. Refer to Fig. 10: let \(\varvec{\xi } = [0 \ {\xi } \ 0]^{T}\) denote the vector distance between A and MCP; then, when the hand is completely open, the (fixed) angle between \(\mathbf q _{i}\) and the line passing through E and EE can be computed as follows:

$$\delta =\cos^{-1}\left(\frac{\varvec{\xi }^{T}{\mathbf{q}_{1}}}{||\varvec{\xi }^{T}{\mathbf{q} _{1}}||}\right).$$
(20)

Then, for the generic i-th acquisition, it is possible to determine the desired E position as follows:

$$\begin{aligned} ^{i}{} \mathbf P _{E}^{A,\star }=^{i}{} \mathbf P _{EE}^{F,h} + R_\mathbf{z }(\delta )\mathbf q _{i} \ \frac{\xi }{|| \mathbf q _{i}||} - \varvec{\xi }. \end{aligned}$$
(21)

Note that the desired trajectory is computed with respect to the reference frame centered in A, so that it can be directly compared with the output of the exoskeleton direct kinematics function.

Fig. 11
figure 11

x- and y- components of \(\mathbf P _{E}^{A,\star }\) as a function of time

Finally, the obtained reference points have been interpolated in order to obtain a continuous and sufficiently smooth trajectory. Since each index i corresponds to a different acquisition frame (where frame \(i+1\) has been acquired \(1/f_{s}\) seconds after frame i, where \(f_{s}\) is the sampling frequency of the acquisition system), and by observation of the natural motion of the hand, it is quite straightforward to realize that the x- and y- components of \(\mathbf P _{E}^{A,\star }\) (taking into account all the acquired frames) exhibit a sinusoidal trend with respect to time (Fig. 11). However, interpolation of each component and subsequent reconstruction of the planar xy trajectory resulted in an unacceptable difference between the acquired and the interpolated trajectories. Instead, resorting to polar coordinates:

$$\begin{aligned} {\left\{ \begin{array}{ll} \rho (i)=\sqrt{\left( ^{i}{P}_{E,x}^{A,\star }\right) ^{2}+\left( ^{i}{P}_{E,y}^{A,\star }\right) ^{2}} \\ \beta (i)=atan2\left( ^{i}{P}_{E,y}^{A,\star }, \ ^{i}{P}_{E,x}^{A,\star } \right) \end{array}\right. } \end{aligned}$$
(22)

the desired trajectory can be expressed as a function of a single variable \(\rho =g\left( \beta \right) \), eliminating the time dependency. This way, interpolation can be executed on the complete xy trajectory, yielding the continuous \(\rho ^{\star }=g\left( \beta ^{\star } \right) \) reference trajectory and avoiding the influence of time dependency on the result. Fig. 12 shows the comparison between the trajectories obtained with the two mentioned smoothing strategies: it is easily visible how independent interpolation of each component yields an unacceptable reconstructed trajectory, while polar interpolation allows to obtain a smooth trajectory closely approximating the acquired data.

Fig. 12
figure 12

Comparison between smoothed reference trajectories

6.2 Determination of the optimal exoskeleton

Numerical optimization is used to define the dimensions and the shape of a transparent exoskeleton, i.e. a device which is capable to closely reproduce the hand trajectory of the user, without forcing it to unnatural motion.

The optimization process requires an in-depth analysis of the kinematics of the single-DOF mechanism, which is briefly reported in Sect. 5 and detailed in [34].

As reported in Eq. 18, \(\mathbf u \) denotes the vector composed of the x- and y-axis positions of points B, C, D, and E of the exoskeleton (see Fig. 3) with respect to the frame centered in A (reference frame 1), and the two angular values which indicate the rotation of frame 3 and frame 4 about their respective z-axes. Being the exoskeleton a 1-DOF mechanism, given the physical dimensions of the device’s parts the components of u can be determined using the exoskeleton direct kinematics as a function of \(\alpha _{2}\) angular value (Eq. 18), being \(\mathbf S \) a set of relevant dimensions of the exoskeleton components, which will constitute the free variables of the optimization problem.

Thus, this phase consists in (1) the determination of a (minimum) set of components dimensions \(\mathbf S \) which enable the computation of \(\mathbf u \) given any value of \(\alpha _{2}\) within the complete range of motion of the device, and (2) the choice of such dimensions in order to closely reproduce the patient’s trajectory obtained through the motion capture system.

Fig. 13
figure 13

Choice of the optimization variables

6.2.1 Optimization variables and objective function definition

The set of variables \(\mathbf S \) chosen in this context is shown in Fig. 13; the reported lengths are independent from the value of the angle \(\alpha _{2}\) (i.e. are independent from the configuration of the device). In Sect. 5 it has been demonstrated that the shown seven variables are sufficient to completely determine the components of \(\mathbf u \) given any value of \(\alpha _{2}\). Additionally, it is worth noting that the (fixed) open-hand length \(||\mathbf P _{E}^{A}||\) depends only on the anatomy of the patient, it is equal to the distance between EE point and MCP marker, and can be thus determined from the acquired data.

The value of each component of \(\mathbf S \) is chosen to achieve the minimization of a function weighing the error between the hand trajectory computed with the exoskeleton direct kinematics function and the acquired reference trajectory. Let such reference trajectory \(\rho ^{\star }=g\left( \beta ^{\star } \right) \) be sampled using \(K+1\) angular steps \(\beta _{k}^{\star }, \ k=0,\ldots ,K\), where the step size k represents the trade-off between required computational resources and reconstruction accuracy (indeed, for increasing values of k the error will be evaluated for a higher number of points). Hence, given a set \(\mathbf S \), for any \(\beta _{k}^{\star }\) the corresponding error can be computed as (Fig. 14):

$$\begin{aligned} e_{k}=e_{k}\left( \mathbf S ,\beta _{k}^{\star }\right) =\Big | \rho _\mathbf{S }\left( \beta _{k}^{\star } \right) -\rho ^{\star }\left( \beta ^{\star }_{k} \right) \Big | \ , \end{aligned}$$
(23)

being \(\rho _\mathbf{S }\left( \beta _{k}^{\star } \right) \) the radius value obtained after conversion into polar coordinates of the coordinates of point \(\mathbf E ^{A}\) computed exploiting the direct kinematics function for given \(\mathbf S \) and \(\beta _{k}^{\star }\). Hence, the determination of the optimal exoskeleton has been cast as an optimization problem using the following objective function:

$$\begin{aligned} \min _\mathbf{S } f\left( \mathbf S \right) = \min _\mathbf{S } \left( \max _{k} |e_{k}| + \gamma \sum _{k=0}^{K}\frac{|e_{k}|}{K+1}\right) \ , \end{aligned}$$
(24)

weighing both the maximum and average errors, using the scale coefficient \(\gamma \) to set the relative weight of the two values within the objective function. Box constraints have been added to the free variables of the problem; such constraints, aiming at maintaining the final dimensions of the device limited, depend on the size and on the anatomy of the hand, and must be chosen accordingly for each user as a function of those parameters.

Fig. 14
figure 14

Graphical representation of the error between computed and reference trajectories

Furthermore, based on geometrical considerations, a suitable set of constraints has been taken into account so as to discard solutions leading to non working or even non-feasible (from a physical point of view) exoskeletons. In particular, these constraints influence the position of some of the key points of the device either in different configurations (open or closed hand), or for the whole range of motion (see Table 1 and refer to Fig. 3).

Table 1 Optimization constraints

In Table 1, subscripts min and max indicate minimum and maximum values, which must be chosen following the same considerations made for box constraints.

6.2.2 Optimization procedure

For what concerns the choice of the optimization algorithm, a direct search method has been used due to the complexity and non-differentiability of the objective function to be minimized. Particularly, the authors adopted the strategy presented in [44], where the Nelder-Mead simplex method [40] is used to perform local searches over the function domain. Each local search is terminated when particular conditions for the resulting simplex are met (i.e. when the latter is either small or flat [44]), and the starting point for the subsequent search is chosen accordingly to a probabilistic restart strategy aiming at maximizing the coverage of the whole domain, based on a memory of past starting and convergence points. Additionally, an adaptive penalty function allows to handle both equality and inequality constraints within the objective function. Hence, the idea is to perform a series of local searches (whose number can be influenced by a-priori setting the maximum number of iterations allowed) covering as much as possible of the function domain, and then comparing all the convergence points of such searches to determine the optimum. Even though convergence of the standard Nelder-Mead simplex method has been proved only in particular cases [45], the smart local search restarts linking allows to achieve good coverage of the function domain; additionally, the improvements made to the classical method (such as the constraints handling approach) highlight the de facto goodness of the strategy presented in [44] (the authors also show that their algorithm compares favorably with evolutionary algorithms in a realistic scenario), proving its usefulness for the minimization of discontinuous, non-convex, and constrained functions.

7 Exoskeleton manufacturability

According to the results obtained from the studies discussed above and from the project specifications reported in Sect. 1, keeping in mind the wearability and adaptability requirements, a new prototype of the HES has been designed and built.

The aim of this design phase is manufacturing a real device not only to validate the optimization-based strategy discussed in Sect. 6, but also to reach a wearable system for the patients.

The proposed optimization procedure has been applied to all the long fingers of one of the subjects whom the hand MoCap has been performed on. To automate the procedure, a parametric CAD model has been developed. The possibility to adjust the geometry of the 3D model basing directly on those values obtained from the optimization routine leads to a completely automatic scaling procedure.

In addition, a CAD model allows to simulate the wearing of the device and its kinematics (when it has been coupled with the hand), in order to improve the exoskeleton ergonomics basing on the particular user’s hand.

The prototype is, then, made in ABS through the Fused Deposition Modeling (FDM) technique. This rapid prototyping method allows for the design of parts with unusual geometries whose shape is, in many cases, impossible to achieve with conventional manufacturing methods. Another important advantage of the 3D-printing lies in the possibility of directly “print” the system from the CAD model. In Fig. 15 some pictures of one of the devices exploited in validation phase are reported. The particular mechanical architecture of the exoskeleton, with only one contact point with the finger, does not envelop the finger itself avoiding uncomfortable constraint feeling and allows for touching objects without tactile hindrance.

Fig. 15
figure 15

The optimized HES prototype worn by the user

In agreement with the physiotherapists of the Don Carlo Gnocchi Foundation, a passive DOF has been added upstream the finger mechanism to support physiological ab/adduction during flexion/extension of the finger itself. This solution also improves the auto-alignment between finger and mechanism joints.

The actuation system makes use of high power density actuators for the direct implementation on the back of the hand. This solution yields a compact system. With respect to the first version of the HES, in this new prototype the number of the servomotors is reduced from four to two: one for the index finger and one for the other three long fingers. This particular choice will let, improving the control system in further developments, to separately actuate index allowing for pinch gesture. Since the mechanisms for each finger have different sizes, the opening and closing velocity is different for each finger. Through the design of a particular pulley with three different diameters (Fig. 16), it is possible to actuate middle, ring and small finger mechanism at the same time with the same motor. This solution allows to limit the weight of the whole system at 242g, even though the new selected servomotors (Hitec HS-5495BH) are different from those used in the first prototype being able to exert higher forces on the mechanism. They present a maximum torque of 6.4 kg/cm (0.628 Nm) @6.0 V and 7.5 kg/cm (0.735 Nm) @7.4 V with a size of 39.8 \(\times \) 19.8 \(\times \) 38.0 mm and a weight of 44.5 g. The maximum angular speed is 6.15 rad/s @6.0 V and 6.67 rad/s @7.4 V. The proposed actuation system has been tested by the authors in order to verify the real performances. The dimensions of the servomotors housing are 48 \(\times \) 66 \(\times \) 74 mm. Figure 16 shows the overall transmission developed to actuate the finger mechanism by means of two servomotors.

Fig. 16
figure 16

HES actuation system

The control system has been designed with a precise goal in mind: keeping its weight, complexity and costs as low as possible. Lightness, cheapness and simplicity are some of the main characteristics that make a device suitable for the application to a large number of people. Arduino Nano represented a good trade-off between performances, simplicity and cheapness. The 16 MHz-clock processor was enough powerful to work with signals whose maximum frequency is about 500 Hz. The embedded board offered the possibility to directly connect lots of sensors already present on the market (drastically decreasing the complexity of connections) while its elementary programmability makes it easily re-configurable. Two 15-bit magnetic encoders are placed on the joint A of the mechanism (Fig. 15) of the index and little finger, respectively and measure the value of the angle \(\alpha _2\), which identifies the single DOF of the mechanism.

The control strategy makes use of two inner control loops, which are added to take care of the grasping of objects and to indulge the hand motion if an unexpected muscular spasm occurs during the opening phase. Grasping of an object is detected calculating the length of the unrolled cable twice-the first time using the kinematic equations of the mechanism and the second one using the motors speed and the pulleys radius-and then comparing the differential measurement to a set threshold. Muscular spasms are detected, instead, when the instant motor speed falls below a set percentage of the nominal speed. In the first case the motors stop and hold their angular position while in the second case they invert their motion, from opening to closing.

8 Tests and results

This section presents the results obtained during the validation and testing phase of the prototype developed in accordance with the procedure discussed throughout the paper. The tests took place at the Don Carlo Gnocchi Foundation Rehabilitation Center in Florence, Italy, exploiting the same Motion Capture System used to acquire the motion of the hand alone; the same camera configuration used for the hand motion acquisition phase was maintained for these tests.

The results shown in this section are relative to one of the volunteer subjects presented in Sect. 3, assumed as case study to validate the proposed optimization-based strategy. After having acquired the data according to the protocol discussed in Sect. 3, a hand exoskeleton prototype, specifically tailored for the subject, has been designed and manufactured.

For sake of brevity, the results related to one finger (index finger) are reported. The same assessment can be applied to all the other three long fingers as well. At the end of this section, all the subjects whose hand has been studied in Sect. 3 will be taken into account to evaluate the precision of the proposed optimization strategy in following physiological finger gesture.

Figure 17 reports the joints trajectories of the considered patient’s right index. Figure on the right has been obtained by the motion analysis campaign discussed in Sect. 3, which allows to define the hand kinematic model. Then, a whole flexion/extension gesture has been generated by the model. A MoCap has been performed on the right index finger during three consecutive flexion/extension movements of the subject (marker positioning was the same reported in Fig. 4) and the relative trajectories are plotted in the background on the left of Figure 17. Taking the aforementioned trajectories as reference, the proposed optimization procedure has been carried out (the maximum number of iterations was set to 300000).

Fig. 17
figure 17

Hand kinematic model trajectories during a flexio/extension (on the left) and a grasping movement (on the right); markers trajectories, acquired through the MoCap, are reported in the background: PIP trajectory in yellow, DIP in green and TIP in grey. (Color figure online)

Figure 18 reports the yielded mechanism trajectories actuating a complete flexion/extension movement. Computed trajectories have been compared with the real trajectories of the manufactured mechanism (exploiting again the BTS MoCap system): thanks to the precise additive manufacturing process, they are totally overlapping.

Fig. 18
figure 18

Joints trajectories of the resulting optimized HES

Point E in Fig. 18 represents the end-effector which is in charge of following the finger movement when the HES is actuated. The more the trajectory of E point of the real device is similar to E point trajectory calculated from the hand kinematic model, the more the exoskeleton results comfortable for the user. So, comparing these two different trajectories means evaluating the comfort of the device. The desired trajectory (the one defined by hand kinematic model) has been hence compared with the real trajectory (directly tracked by means of the motion analysis). The results are graphically reported in Fig. 19. The error computed by the optimization algorithm through Eq. 23 is 7.62 mm which corresponds to a maximum error of 4.96 mm, while the average error is 2.66 mm. The maximum error value is equal to the less than 2.4% of the total finger length. Such value can then be neglected even considering that, between the skin and the exoskeleton, slight relative displacements can occur softening the coupling.

Fig. 19
figure 19

Difference between desired (computed through the hand kinematic model) and acquired (tracked through the MoCap system) trajectory of the E joint of the HES

Figure 20 reports the trend of the error in following the physiological computed trajectory by the HES. Also in this case, the desired trajectory is the one obtained by the hand kinematic model, while the actual one is the trajectory of point E of the exoskeleton acquired by the MoCap system.

Fig. 20
figure 20

Trend of the error between desired and acquired trajectory of E joint of the HES during the flexion/extension Range Of Movement (ROM)

To check the reliability of the optimization algorithm, the error between the computed optimal trajectory of the exoskeleton and the target one has been assessed evaluating all the 13 subjects whose hand has been analyzed in motion (Sect. 3). The maximum calculated error among average values was 6.80 mm (mean value among all the subjects was 3.16 mm, standard deviation 1.47 mm).

Table 2 reports, for each subject, the length and width of the hand, the maximum and average values, and standard deviation of the error between the desired and the actual trajectory of exoskeleton point E relative to the index finger mechanism. The measurements of hand length (L) and width (W) represent, respectively, the distance between the medium finger tip and the wrist, and the breadth of the palm (distance between MCP joints of index and small fingers). In addition, the percentage of the maximum and average values, and standard deviation of the error with respect to the finger length are given in the third last columns of Tab. 2. Considering the overall dimensions of the subjects hands (L and W), these three last columns allow to understand not only the goodness of the optimization results (reported in “Error” columns), but also the impact of these results on the finger kinematics (“Error/Finger Length” columns). In fact, the percentages of the maximum, average, and standard deviation errors provide a direct explanation of how the optimization results affect the finger when the exoskeleton is worn.

Table 2 Length (L) and width (W) of the hand, maximum, average and standard deviation of the error (between the desired and the actual trajectory for the index finger) and percentage (with respect to the finger length) error

9 Conclusion

In this work an optimization based method to develop a customized Hand Exoskeleton System for a generic user has been reported. Starting from the motion analysis of the user’s hand, discussed in Sect. 3, the authors have implemented a completely automatic scaling procedure based on optimization algorithms to adapt the mechanism to different hands sizes.

The presented device aims at assisting patients suffering from hand-opening impairment and, thanks to the proposed scaling algorithm, results specific for each user and able to replicate at best the trajectory of the long fingers both for the opening and closing gestures. In fact, the exploited 1 DOF mechanism presents a high adaptability which can be obtained only varying a few geometrical characteristics of the kinematic chain.

A HES prototype has then been built and tested to validate the design strategy. Using such device, both opening and closing gestures could be easily performed obtaining satisfying performance in replicating the natural motion of the fingers. The results, discussed in Sect. 8, highlighted an interesting outcome in terms of trajectory agreement and transparency of the mechanism during the ADLs.

The authors have planned to develop and involve several exoskeletons at the Don Carlo Gnocchi Foundation Rehabilitation Center in Florence, Italy, in order to investigate their rehabilitative impact on the patients.