Design of motion trajectory of an arm exoskeleton

This paper concerns the kinematics and dynamics of an arm exoskeleton used for human rehabilitation. The biomechanics of the upper arm was studied, and the nine degrees of freedom model of upper arm was obtained using Denavit–Hartenberg notation. The mass and inertial parameters were obtained from recent literature, and these parameters were used for modelling human arm in SolidWorks and MATLAB-Simulink packages. The inverse kinematics of the arm exoskeleton was solved in the previous paper Winter (Biomechanics and motor control of human movement. Wiley, New York, 2009, and this model was implemented in this study. The arm angular velocity profile was selected within the time and speed restriction. By comparing three variants of motion with visualization, we indicated the change of joints angles. Then, the torques in each arm joints with and without exoskeleton were calculated. The obtained results demonstrate the efficiency of the proposed approach that can be utilized to analyse the kinematics and dynamics of exoskeletons for the purpose of selection of their actuators.

exoskeletons in rehabilitation has a long history, and it has been done with success for almost 30 years. It started in the sixties of the last century in the USA [2] and Europe [3]. This initial research was significantly limited by the sensing and design limitations of the time which resulted in a cumbersome and tethered design. Moreover, the biggest problem was with a control method that required extensive feedback information [4]. A lot of work was focused on developing more sophisticated, many degrees of freedom (DoF) robotic mechanisms, in order to support movement training of more complicated movements such as multi-joint arm and hand movements [5][6][7]. There was also a progression in the development of devices which were made as portable machines, so that they can be used during activities of daily living [8]. The next phase of the research came a number of years later and focused primarily in the area of active anthropomorphic exoskeletons. One of those projects was the hybrid assistive limb (HAL-5) developed by Cyberdyne in Japan [9]. The exoskeleton is an actuated full body anthropomorphic machine that is primarily focused on strength assistance for both commercial and home use. Another device that emerged around this time was BLEEX from the University of California, Berkeley as part of a DARPA project [10]. In Europe, the research conducted at University Hospital Balgirst in Zurich led to the development of Lokomat machine which is produced by Hocoma company [11]. Detailed systematic technical reviews, effects of intensity of training using exoskeleton, and efficacy of specific upper limb rehabilitation techniques have already been published in [12][13][14]. The kinematics and dynamics of exoskeleton is the essential part of the rehabilitation process design. Firstly, it was necessary to develop the kinematic and dynamic arm model in order to simulate arm movements [15,16]. The model had to take into account the skeletal structure of the human body [17], and it was based on the Denavit-Hartenberg notation. A tree structure of a model was proposed in order to determine the relationships between the elements of exoskeleton and hand kinematics. The MapleSim package was used to create kinematic and dynamic equation of motion using automated symbolic modelling approach. It acquired numerous advantages by eliminating the need for manual equation of motion computation and subsequent manipulation which was error prone and time consuming. The torques required to balance the human arm with exoskeleton against gravity was identified by the use of SimMechanics model. Proposed exoskeleton was kinematically equivalent to the human limb. The identified joint torques were validated by considering different trajectories of motion of human arm without exoskeleton using computer simulation. Based on the required torque, the system consisting of an actuator with gear was chosen beginning from the wrist to the upper part of the arm. In this paper, the problem of generating humanlike motions was considered with the use of the kinematic arm dynamic models. This article is a continuation of the upper limb exoskeleton previous research.

Spatial reference system
In order to keep track of all the arm kinematic variables, it is important to establish a convention system. Firstly, three anatomical planes of the body: the sagittal, frontal (or coronal) and axial plane must be determined (Fig. 1). The sagittal plane divides the body into the right and the left parts, the frontal plane into anterior and posterior parts, whereas the transversal plane into upper and lower parts. It should be noted that this convention describes the position, i.e., an upper arm relative to the body. The vertical direction is Y, the direction of progression (anterior posterior) is X, and the sideways direction (medial lateral) is Z. Angles must also have a zero reference and a positive direction. Angles in the XY, YZ planes are measured from 0 in the X direction and in the Y direction with positive angles being counter clockwise.
It is important to define movements in each plane. In the sagittal plane, it is called flexion-extension. Flexion is opposed to extension. Flexion reduces angle, whereas extension increases angle between parts of the body. In the frontal plane, it is called abduction-adduction. Abduction is an outward movement of the arm or leg away from the median plane of the body, whereas adduction brings these parts closer to the body. Abduction is opposed to adduction. In the axial plane, it is called supination-pronation. Supination describes rotation of the forearm. It occurs when the forearm rotate so that the palm position is anterior (the palm facing up). Pronation is a rotation of forearm that moves the palm from anterior position to a posterior position (palm facing down) (Fig. 2).
The range of angles is presented in Table 1 (according to [18]).

Human arm
The human arm represents one of the most advanced manipulation systems we can find in nature. It is the region from the shoulder to the fingertips. Arm kinematics is defined by the configuration of different bones and articulations which represent the structural components of the limb. The arm can be divided into three segments: the arm, the forearm and the hand. The arm is the region between shoulder and elbow. The torso and then arm are connected by the shoulder. The arm and forearm are connected by joint called an elbow, whereas the forearm and the hand is connected by a wrist. The exoskeleton systems were designed based on an abstract skeletal model that aims to mimic the main motions of a human body rather than to mimic the joints. According to the study provided by the Army Research Laboratory, detailed requirements for an arm exoskeleton suggested a minimum number of DoF [19]. It is impossible to evolve a biomechanical model without data regarding masses of arm segments, location of mass centres, segment lengths, centres of rotation, angles of joints, moments of inertia, etc. The upper limb biomechanical parameters per segment were obtained from [1].

Arm exoskeleton model
From a mechanical point of view, the exoskeleton for rehabilitation should be kinematically redundant like the human arm. The exoskeletons are worn by a human user, and careful exoskeleton design is required so that it moves with the natural motion of the user and does not compromise their safety. They are typically designed based on the skeletal system of the human body. The exoskeleton is composed of a set of links connected together by various joints. The joints either can be very simple, such as a revolute joint or a prismatic joint, or else they can be more complex such as a ball and socket joint (shoulder) (Fig. 3). For selecting reference frames in exoskeleton applications, the Denavit-Hartenberg (DH) convention is very often used [20]. DH convention allows to construct the forward kinematics function by composing the coordinate transformations into one homogeneous transformation matrix. The minimal representation of one frame to another is obtained with two rotations and two translation parameters. Four parameters (referred to as D − H parameters) are the parameters which describe the relation between two consecutive coordinate frames. Exoskeleton with n joints has n + 1 links, since each joint connects two links. By numbering the joints from 1 to n, and the links from 0 to n, it starts from the base. Joint i connects link i − 1 to link i. The link i can be described by two constant parameters: link length a i and link twist α i . The joint i is also specified by two parameters: link offset d i and joint angle θ i . Figure 4 illustrates this convention.
For the prismatic joint, d i is variable, θ i is constant and α i = 0, whereas for the revolute joint, θ i is variable and d i is constant. It can be explained as displacement The transformation from the link coordinate frame i −1 to frame i is defined in terms of elementary translations and rotations as which can be expanded as The θ i is the (9 × 1) vector of the joint variables. The position and orientation of the end-effector-finger in the inertial frame is given by homogenous transformation matrix where R n 0 is the 3 × 3 rotation matrix and O n 0 is a three-vector (it gives the coordinates of the origin of the endeffector frame with respect to the base frame). F 1×3 is a transformation and S 1×1 is a factor of universal scale.  The values of the kinematic parameters of the 9DoF exoskeleton arm are listed in Table 2, where l a , l f , l w , are the length of upper arm, forearm and wrist, respectively. The body segment lengths a i and d i are constant for each individual, and it is necessary to estimate these parameters. The link coordinate systems of exoskeleton is presented in Fig. 5.

Interconnection structure of exoskeleton arm
Graph theory provides concepts that are natural for describing multibody systems, and their application to robotic and multibody system dynamics is not new. An underlying graph associated with a multibody system to organize and formulate the equations of motion was described by Wittenburg [21]. The goal of these graph theory methods can be used to generate the complex equations of motion and for the kinematic analysis of multibody systems such as exoskeletons. In system with tree structure, equations of motion are formulated for joint variables. The topological structure of an exoskeleton stands for the numbers of links and joints in the adjacency matrix. The exoskeleton links were labelled 1 to n, and the adjacency matrix is an n by n symmetric matrix whose diagonal elements are all denoted by zeros. The element in an adjacency matrix is defined as follows: Figure 6 illustrates the exoskeleton arm system which is called a treelike system. It consists of 13 segments, where some of exoskeleton segments (1,5,7,9) are connected rigidly to the part of arm (13-torso, 12-arm, 11-forearm and 10-hand), respectively. Exoskeleton segments are interconnected only through revolute joints. Therefore, three translations and two rotational degrees of freedom are constrained, leaving only one rotation DoF. The 0 is the carrier body-base (with 1 actuator). Every segment has only one degree of freedom (1 revolute joint) where axes of rotation are in axes of actuators (active joints) and human arm joints-dotted line (passive), like shoulder (3DoF), elbow (2DoF) and wrist (2DoF). The total degrees of freedom for all segments is 9.
Bodies presented in Fig. 6 can be described as: 1. body (the mass link from 1st actuator with mass 2nd actuator connected stiff with mass torso 13). Body 13 (torso) is connected with base as a passive link. 2. body (the mass link from 2nd actuator with mass 3rd actuator); 3. body (the mass link from 3rd actuator with mass 4th actuator); 4. body (the mass link from 4th actuator with mass 5nd actuator); 5. body (the mass link from 5th actuator with mass 6nd actuator connected stiff with mass arm 12). Body 12 (arm) is connected with 13 (torso) as passive link-shoulder; 6. body (the mass link from 6th actuator with mass 7th actuator); 7. body (the mass link from 7th actuator with mass 8th actuator). The body 11 (forearm) is connected with 12 (arm) as a passive link-elbow; 8. body (the mass link from 8th actuator with mass 9th actuator); 9. body (the mass link from 9th actuator with hand mass).Body 10 (hand) is connected with 11 (forearm) as passive link-wrist.
The adjacency matrix for the diagram illustrated in Fig. 6 and the contiguity list takes the forms (from base 0 in 1st column and 1st row) According to Wittenburg [21], it is important to use directed graph in multibody systems. The sense of direction allows to distinguish the two bodies connected by an arc. When formulating the kinematics of motion of two joint-connected segments relative to one another, it must be specified unambiguously which segment motion is relative to another segment. Forces produced by a force element act with opposite signs on the two connected segments. Using arcs, it is possible to define which forces of the segment are act with a positive or a negative sign. The parameters of incidence matrix S ia elements can be defined as 1 (arca is incident with and pointing away from segment i), −1 (arca is incident with and pointing towards segment i), 0 (arca is not incident with segment i).
The incidence matrix is partitioned into the row matrix S 0 which corresponds to segment 0 and the (n ×m)matrix S composed of the segments S ia . For the directed graph of Fig. 7, the two functions are given in Table  1. The matrix of directed system graph for exoskeleton can be expressed in the form S 0 = +1 0 0 0 0 0 0 0 0 0 0 0 +1 From the Eq. (7), it follows that every column of S 0 and S together contains one segment +1 and one segment −1. Using the row matrix 1 T = [ 1 1 1 · · · 1], it can be written as In the exoskeleton, path matrix rows correspond to arcs and columns to bodies. There is no column corresponding to body 0. Every branch starting from body 0 the sequence of bodies numbers is monotonically increasing. The spanning tree has the upper triangular path matrix

Basic exoskeleton kinematics and dynamics
The coordinates of rotations about axis z 0 , z 1 , . . . , z 8 are joint angles q 1 , q 2 , . . . , q 9 , respectively. The reference coordinate frame is attached to the base in the centre of the spine joint as shown in Fig. 5. Taking the first column of Table 3, we see that body 1 has lower body O (which denotes the reference frame). To express the unit vectors in body 1 with respect to 0, it is deduced simply by seeing that there is only one direction cosine needed. The transformation matrix between body (9 + 10) and base 0 can be formulated as The dynamic parameters are measured in the reference frame F i+1,1 ; x i , y i and z i are regarded as three principal inertial axes, and the vector r i is as the centre of i-body mass (Fig. 4). Both the inertial and mass of i-body consist of three mass components. Their centres are shown as r i,1 , r i,2 , and r i,3 , respectively. The mass and its centre can be calculated as follows: where r i and m i stand for the centre of mass and mass, respectively. The moment of inertia about the centre of mass for each body is related to its shape and dimension, and it can be described as Some of exoskeleton parts and human body are treated as one body (1 + 13),(5 + 12),(7 + 11) and (9 + 10). The human body, exoskeleton actuators and links have a different density. It was necessary to use CAD software to model system and designate the moments of the inertia of each body. The exoskeleton parts and arm inertia matrix were presented in Appendix ( Table 4). The dynamic behaviour of the arm and exoskeleton can be expressed by the well-known rigid body's dynamic equations as where vectors q,q,q ∈ R 9 represent the position, joint velocity and acceleration, respectively. Vector τ ∈ R 9 is the joint torques, whereas M(n × n) is a square inertial matrix and represents the effect of joint acceleration on the generalized torque. G(q) describes the gravity torque vector n × 1. B is the 1 × (n(n − 1)/2) matrix of Coriolis coefficients. C is n × n centrifugal coefficients matrix. The Coriolis and centrifugal torque terms are the configuration dependent and vanish when the bodies are colinear. For moving bodies, these terms arise from Coriolis and centrifugal forces that can be viewed as acting through the centre of mass of the second body, producing a torque around the second joint which is reflected to the first joint. Vector [qq] is a vector of velocity products and indicates the symbolic notation of the (n(n + 1)/2 × 1) vector 1q 2 2 . . .q 2 9 ] T is the vector of squared velocity. The calculation was done by using Newton Euler formulation based on the balance of all the forces acting on the generic link of the manipulator.

Exoskeleton path planning
Path planning for machines in rehabilitation is a challenging problem in particular if man-exoskeleton interaction in consequently highly dynamic environments is considered. There are also exist several approaches to motion coordination of multiple manipulators. In [22], joint cubic, higher polynomial and non-polynomial path planning are considered. Path planning can be divided into three parts. The first step is a definition of the geometric curve for hand between the start point q i (t 0 ) and the end point q i (t f ). The next step determines a rotational motion between points, whereas the third step is a definition of the time function for variation for the coordinate between the two given values.
The anatomical hand is capable of speed in excess of 40 rad/s (≈2292 • /s), but average physiological speed for every day pick-and-place tasks were found to be in the range from 3 to 4 rad/s (≈172-229 • /s) [23]. The forearm maximum rotation velocity is 14 rad/s (≈802 • /s) for pronations and 20 rad/s (≈1146 • /s) for supinations. The maximum elbow speed in flexion-extension was measured as 4.5 rad/s. The maximum flexion-extension velocity of shoulder is about 10 rad/s (≈573 • /s) relating to individual muscle contributions and different anatomical arm. The velocity cosine profile was chosen for motion of exoskeleton because it is a smooth by the continuous differentiability and depends on trajectory and time of motion (Fig. 8). In this work, the peak value of angular velocity for all joints was assumed as lower than 3 rad/s (≈172 • /s). The velocity profile can be described as followṡ where maximum angular velocity is computed aṡ The human arm is capable of producing various complex motions. In this paper, we selected solution parameters of the initial and final angles which were obtained by the method based on genetic algorithm for inverse kinematic (previous authors studies). This exoskeleton will be used as stationary or the mobile version. Due to the fact that in this study, the patient is in the sitting position, the two degrees of freedom (motor 1 and motor 2) were neglected and the exoskeleton consists only of 7DoF. Before the selection of actuators, an estimation of the required torque and power was performed. In the process of modelling the arm, many assumptions were made to simplify the model. Considering the simulation, we are going to perform, (in which almost no movement is expected in the shoulder joint), the complex shoulder joint may be modelled as an ideal spherical joint. The most important assumption is the use of rigid bodies to model the segments of the arm. It does not give the ability to accommodate for the changing muscle properties during movement, e.g., in OpenSim package. This change in muscle properties may change the inertia properties and the stiffness of the joints. The second simplification is the definition of the joint centres which were fixed. In normal motion, they are changing over the range of movement of the each joint. The third simplification is that most body segment of the arm do not rotate about their mass centre but rather about the joint at either end. In this simulation, we assume that rotation is about the mass centre of each body segment. The analysis of kinematics was based on three variants of motion. Based on the model of the arm, we computed the muscle forces which the human body generates for each task in every variant performance. Firstly, the actuator torque based on wrist joint z 8 was calculated, then the next z 7 and z 6 . For these joints, Maxon DC flat brushless motors EC32 15 W (Catalogue number 267121) with drive GP32A (Catalogue number 166164) were chosen [24]. The total weight of every system was roughly 0.24 kg and maximum torque 1.19 N m with the drive max efficiency about 70 %. Duraluminium was selected as the material to construct the exoskeleton structure. Secondly, the elbow joint z 5 with exo motors z 8−6 was evaluated that actuator EC45 50 W (Catalogue number 339285) with drive GP42C (Catalogue number 203129) were efficient. The total weight of this kit was roughly 0.57 kg and maximum torque 10.88 N m. The shoulder joint consists of three actuators with configuration of EC90 90 W motor (Catalogue number 429271) with drive GP62A (Catalogue number 110505). It was able to provide maximum torque of 39.2 N m and mass of every system is 2.14 kg. The proposed 9-DoF exoskeleton and the kinematic and dynamic analysis methods were verified by simulations. A path trajectory parameters were based on the best solution Pareto-optimum point distribution on the basis of previous research. The optimum Torque is an essential parameter in the choice of the actuator technology that will be used by exoskeleton.

Modelling results
In simulation, an each joint have been actuated individually. This means that one joint was actuated with the cosine function and its derivatives and the others were kept at zero angular position, velocity and acceleration. For analysing kinematics and dynamics, the initial conditions were divided in three variants. Figure 9a shows the first trajectory from position A, where arm was bent at the elbow to position B, where hand was straight forward with trajectory from point A to B. For clarity, angles θ 4 , θ 5 and angular velocities ω 4 and ω 5 only have been presented. Maximum angular velocity in shoulder and the elbow flexion was about 90 • /s. The maximum torque in shoulder joint z 4 (without exoskeleton) was 12.5 N m. In Fig. 9d torque of the arm with full exoskeleton construction is presented. As it can be seen the torque increased to 21.3 N m. In the elbow joint, z 5 torque increased from 3 to 5.3 N m. The reason for the torque increase was associated with the mass of motors with drivers of the forearm and the wrist. Figure 10a shows the second trajectory from position A where arm is straight down along torso, to position B where hand is directed along the axis of the spine with the elbow bent with the path in this motion. In variant 02, the changes of angles θ 3 and θ 5 are almost the same and in Fig. 10b, and for clarity, only θ 2 shoulder z 2 joint angle and θ 5 elbow flexion angle and velocity ω 2 and ω 5 were presented. The maximum torque 15 N m was in shoulder joint z 4 during flexion, whereas in elbow z 5 , it was about 8.5 N m in position B.
The simulation with exoskeleton shows that for shoulder joint z 3 the initial torque in A position was about 5.3 N m, because of the mass of the shoulder motors. The maximum torque in shoulder joint z 4 was 11.9 N m, whereas in elbow joint z 5 2.2 N m in B position. The presented torques are required to achieve a final position B of the arm (by motors), taking into account all masses without the strength of the muscles. This solution can be used in rehabilitation of the paralyzed patients, e.g., after a stroke or a spine injury.   Figure 11a shows the third trajectory from position A, where arm is straight down along torso to position B, where hand is directed in the forward-right side of torso about 0.2 m higher than shoulder. The difference in torque in A position for shoulder joint z 4 is −0.13 N m and for elbow joint z 5 −0.16 N m. The motor mounted in shoulder joint z 4 must produce torque 11.9 N m to achieve B position which is higher 5.0 N m than the alone arm.

Conclusion
The aims of this work were to determine the angles, torques and powers at the upper limb joints of an exoskeleton and to estimate the requirements for a system to power the human arm of the exoskeleton. The angles and torques were estimated from biomechanical data collected from humans [1]. Based on biomechanical data gathered from various published sources, we provided estimates of angle and torque values at the shoulder, elbow and wrist during various activities. Using a graph theory, the tree structure of a model was proposed in order to determine the relationships between the elements of exoskeleton and hand kinematics. The human arm was modelled in MATLAB-Simulink package SimMechanics, and the arm joints torques were evaluated in three variants of motion based on previous work. The Simulink package allows a quick building of the arm with exoskeleton model. The velocity cosine profile with limitations in angular speed was elaborated. Having considered the limitations of angle and torque requirements for motion enabled the choice of the motors with drives in the correct order (z 8 -z 2 ) from Maxon catalogue. The idea was that each engine should allow the transfer in accordance with the speed profile taking into account the weight of other engines and construction of the exoskeleton. The motors with drives were modelled in SolidWorks. By adapting mass and dimensions, the inertia moments were obtained and adapted to SimMechanics model. Further research could be carried out to complement the results obtained in the study. Moreover, the effectiveness of this model should be evaluated in the future by real experiments.
Open Access This article is distributed under the terms of the Creative Commons Attribution License which permits any use, distribution, and reproduction in any medium, provided the original author(s) and the source are credited.