2012 IEEE EMBS International Conference on Biomedical Engineering and Sciences I Langkawi I 17th - 19th December 2012
A Novel Approach to Determine the Inverse Kinematics of a Human Upper Limb Model with 9 Degrees of Freedom Waruna Masinghe, Gordana Collier , Andrzej Ordys
Thrishantha Nanayakkara
School of Mechanical and Automotive Engineering, Faculty of Science, Engineering and Computing Kingston University London, UK Corresponding email:
[email protected]
Division of Engineering, Kings College London London, UK
Abstract-Inverse
kinematic
calculation
of
are abduction-adduction, flexion-extension and external internal rotation of the humerus relative to the scapula. The elbow joint (combined humeroulnar and radiohumeral joint) corresponds to elbow flexion-extension articulation. The proximal radioulnar joint corresponds to pronation-supination articulation. The [mal two DoFs are attached to the wrist joint to represent flexion-extension and abduction-adduction. For simplicity, the elbow and the proximal radioulnar joints are considered as a single joint with 2-DoF. The axes in elbow and wrist joints are assumed to be orthogonal and intersecting. In summary, the standard 7-DoF model consists of three rigid bodies (the upper arm, the forearm, and the hand) connected by a 3-DoF ball-and-socket joint at the shoulder and by two 2-DoF skew-oblique joints at the elbow and the wrist.
detailed
biomechanical models of the human upper limb has been known to be a daunting computational exercise. This paper presents a 9degree of freedom (DoF) human upper limb biomechanical model with a novel algorithm to compute inverse kinematics. Inverse kinematics
was
realized
using
a
successive
frame
rotation
technique at joint level. The algorithm involves eliminating the system error and the redundancy by determining each joint angle one at a time. The proposed method starts from the base joint of the kinematic model and works forwards, determining each joint angle and the link orientation along the way. The proposed inverse
kinematic
algorithm
was
verified
using
accurate
3
dimensional (3D) motion data obtained for a human participant in an upper arm tennis serving scenario. Data were collected from a UK county level right-handed professional tennis player,
using a six camera Qualisis motion capturing system at a rate of
However, the shoulder complex consists of three sub joints that function in a precise, coordinated, synchronous manner [5, 6].The sub joints of the shoulder complex are Glenohumeral joint, Sternoclavicular joint and Acromioclavicular joint. Whilst the Glenohumeral joint provides the widest range of motion out of the three sub joints, the Sternoclavicular joint provides a considerable synchronized motion [7]. In standard 7-DoF upper link biomechanical models, Sternoclavicular joint and Acromioclavicular joints are neglected for simplicity. However, for an in-depth analysis of the upper limb motion it is vital to account the major sub joints of the shoulder complex. This paper presents a 9-DoF human upper limb biomechanical and which accounts Sternoclavicular joint articulation. The additional articulations considered in the proposed model are; the protraction and retraction of the scapula and the elevation and depression of the scapula. Accurate modeling of 9-DOF kinematics will assist to carry out detailed analysis of human upper limb motions.
240 Hz. The 9-DoF model enables detailed analysis of the motion
of the upper human limb including the synchronous motion of sub-joints of the shoulder whilst the proposed inverse kinematic
algorithm provides mathematically stable and robust results.
Keywords-Biomechanics; Inverse kinematics; Tennis; Upper arm model; Joint angles
I.
INTRODUCTION
The redundant degrees of freedom in the kinematic structure of human upper extremities enable us to perform many complex maneuvers though it poses a formidable computational challenge for numerical analysis of such movements. Redundancy of any detailed kinematic model does not pose a challenge to forward kinematics computation since there is a unique cartesian position and an orientation for a given joint angle vector. However, the inverse kinematics computation is challenging as for a given end point position and orientation profile can often provide more than one solution. As a consequence of the complexity of 3 dimensional (3D) analyses, most link segment models are restricted to a single plane of motion [1].
Analytical solving of detailed redundant manipulator models is extremely complex [8]. Due to this reason, the inverse kinematic problem has usually been solved by linearizing the configuration space around a point. Namely, the problem is first mapped onto the velocity domain by using the linearized first-order instantaneous kinematic relation, which is represented by the Jacobian matrix, and then the instantaneous solution is sought in the linearized velocity domain [9, 10].
In biomechanical literature, the human upper limb is generally modelled with three rigid segments, connected by frictionless joints with a total of 7-DoF [2, 3, 4]. The three rigid segments are the upper arm, the forearm and the hand. The shoulder joint is considered as a ball and socket joint with 3DoFs attached. The attributed articulations to the shoulder joint
978-1-4673-1666-8/12/$31.00 ©2012 IEEE
Different versions of Jacobian based methods are widely discussed in the literature. However they often perform poorly
525
2012 IEEE EMBS International Conference on Biomedical Engineering and Sciences I Langkawi I 17th - 19th December 2012
T;':; : Transl ation
because of its instability near singularities and high computational cost. Also they suffer from complex matrix calculation [11] .Hence, they are considered as unsuitable for real-time applications which involve complex motions. The second family of inverse kinematic solvers is based on Newton methods. These algorithms seek target configurations which are posed as solutions to a minimization problem [12]. Due to extreme complexity these methods are known to be less practical.
� n
D'"
Figure 1.
A.
The authors do not wish to compete with currently available inverse kinematic techniques, but to introduce a novel approach which can be successfully used to calculate inverse kinematics for a 9-DoF upper arm model attached to a tennis player.
angle from Zi-l to Zi about Xi-l
di
distance from Xi-l to Xi along Zi
• •
:
8i :
f"----- Xn+l
(c) x.
(a)-First 2 transfonnations at Pn
Calculating
811+ 1 Xn+2
Since the translation occurs along vector Xn+2 can be derived from Pn + 1 -
distance from Zi-l to Zi along Xi-l
and
Zn
Xn+2,
the directional
Pn ..
(3)
angle from Xi-l to Xi about Zi •
[
T/- 1
0 COS(8i) - sin(8t) cos(at_l)sill(8t) cos(at_l)cos(8i) -sin(ai_d sin(ai _ l )s in(8i) s in(at_l)cos(8t) cos( ai_l) 0 o 0
•
Pn + 1 and Pn can be obtained from 3D marker position readings Zn
can be obtained if all the joint variable angles up to known. The third column of T�_l matrix gives the directional vector of Zn 8n-1
The inverse kinematic algorithm is explained to a part of a kinematic model which is having 2 successive rotational operations at a given geometric position followed by a translation operation to the next geometric position. The calculation is done based on the assumption that the Euler angles up to T�_ l and all geometric positions of the linked kinematic model are known.
'1;(+1 : First ro t at i o n (Bn)about Zn from Xn -1 to Xn
r::l :
can be
where k is a constant. Hence;
Transformation of T;_1 to T; framework is given by;
_
Zn+l
(1)
The novel inverse kinematic algorithm is explained to a standard manipulator model with revolute joints and the joint parameters defined by Denavit Hartenberg (DH) parameters [16];
ai_I:
(a)
The angle between the vector calculated by;
INVERSE KINEMATICS ALGORITHM
•
°n+1
(b) Rotaion about Zn (c)Rotation about Zn + 1
This paper presents an algorithm based on sequential angle calculation. At each joint position, the joint angles were calculated based on a simple but robust numerical algorithm.
ai_1:
Pn
Zn
Reference [15] compared different parameterizations of rotation and concluded that, in general, no single parameterization is best. The use of a particular parameterization depends on its performance in the application.
•
from Pn to Pn+ 1 along Xn+1
The first two transformations are represented in Fig. 1 and the third transformation is given in Fig. 2.
Reference [13] proposed a method based on statistical filtering and reference [14] has proposed an inverse kinematic algorithm to obtain the joint angles based on a sequential iterative approach. However, these statistical methods generally suffer high computational cost.
II.
an
Second
rotation «(}n+ l )about Zn+ l from Xn
to Xn + 1
Figure 2.
526
Third transformation-Translation along
Xn+1
2012 IEEE EMBS International Conference on Biomedical Engineering and Sciences I Langkawi I 17th - 19th December 2012
B.
Calculating en
written informed consent. After adequate warming up, the subject was asked to carry out a sequence of Tennis flat serves within the constraints of the laboratory environment. The subject with the passive reflective markers is shown in Fig. 3.
If 8 n+ 1 is known, the transformation matrix 7;?+ 3 (4X1) will contain only one unknown. By equating the position colwnn (4th colwnn) of the 7�?+3 (4X4) matrix and the captured 3D position of Pn+1, the angle 8n can be obtained. o Tn+ 3(iX'l) C.
=
T
O
1
(iX'l)
7'1 2
(iX'l)
r3 1
(iX4)
. .
,.
7 ' 11+2 11 +3 (iX4)
( 4)
Sequential inverse kinematic resolving
Once 0n and 8n+ 1 are determined, using forward kinematics, transformation matrix up to Pn+ l can be calculated. As, Euler angles up to and including 0n+ 1 are known, the attached revolute angles at Pn+ 1 can be determined by repeating the same algorithm. This procedure should sequentially be repeated until all the joint angles and the transformation matrices are determined.
Figure 3.
To apply the above described inverse kinematic model, the number of the revolute joints attached at a given geometric position must be limited to two. If a particular geometric joint position consists of more than two revolute joints (e.g. Glenohumeral Joint), this method can still be successfully applied by shifting one revolute joint to the next adjacent main geometric joint position and remodelling the DH parameters accordingly. III.
The subject with passive reflective markers attached
Each camera operated at a nominal frame rate of 240 Hz. The motion capturing system gave 3D position coordinates with respect to a fixed static reference framework as shown in Fig. 4.
9-DoF KINEMATIC MODEL
The upper limb was modelled as a mechanism with 9DoFs, where 2 DoFs are located at the sternoclavicular Joint(PO), 3 located at the glenohumeral Joint(PI) , one at the elbow(P2), one at the proximal radioulnar Joint(P2) and 2 at the wrist(p3). For simplicity, a single position (P2) was taken to represent the elbow joint and proximal radioulnar Joint. The shoulder complex articulation is primarily based on coordinated and synchronous movements of glenohumeral and sternoclavicular joints [7]. Compared to the previous upper arm kinematic models, the most important novelty of the proposed kinematic model is the introduction of the sternoclavicular joint with two revolute joints attached.
3D coordinates were obtained for following key positions; PO- Sternoclavicular joint; Pl - Glenohumeral Joint; P2- Elbow joint; P3- Wrist Joint; P4-Midpoint of the racket; P5-A side point of the racket. The distances between positions were also obtained as;
The Degrees of freedoms that will be analyzed by the model are: 81-protraction and retraction of the scapula, 82 elevation and depression of the scapula, 83-transverse flexion and transverse abduction of the shoulder 81 -shoulder flexion and extension, 85 -shoulder external and internal rotation, 86elbow flexion and extension , 87 -elbow pronation and supination, 88 -wrist abduction and adduction , 8q -wrist flexion and extension.
The 9-DoF kinematic model attached to a tennis player is shown in Fig. 5.The relevant revolute joints are presented in Fig 6.
IV.
A.
Figure 4.
The original fixed reference framework used for data collection
RESULTS AND DISCUSSION
Validation
The 9-DoF kinematic model and the inverse kinematic algorithm were verified to a human subject. 3D positions were captured with the aid of a Qualisis Motion Capture system, by placing passive reflective markers at six key positions. A UK county level right handed tennis player with a height of 200.5 cm and weight of 96.4kg was volunteered to provide samples for the study. This study was approved by the Kingston University research ethics committee, and the subject provided
Figure 5,
527
Key body reference joint locations
2012 IEEE EMBS International Conference on Biomedical Engineering and Sciences I Langkawi I 17th - 19th December 2012
PO
Pl
P2
P3
Figure 6.
To comply with the proposed inverse kinematic algorithm, three revolute joints had been carefully shifted such a way that no harm done for the forward kinematics. The internal and external rotation articulation of the shoulder (@5) was shifted to Elbow (P2). The pronation and supination articulation (@ ) of the elbow was shifted to the wrist (P3). The flexion and extension articulation of the wrist ( @ ...) was shifted to the racket mid-point (P4). The revised inverse kinematic model with the shifted revolute joints is shown in Fig. 7. The reassigned DR Parameters are shown in table II.
PO
Pl
P2
The attached revolute joints at each body reference joint location
Table I provides the DR parameter set for the forward kinematics model. TABLE T. Posi tion PO
8
Protractio n!
8 ..
Retraction
a a
Flexion!
83
a
Adduction IntlExt rotation
fA Flexion! Extension fA
Pronation! Supination fA NfA
11
8. + 85 +
z 11
z
II
O+
z
86+
11
Z
II
a a a a
0--
a
87
a
0
a
2
II
0+2
a
deviation
88
a
Flexion !Extension
89
a
UlnalRadial
P3
d
82
Abduction!
NfA fA
a
a 11
0-"7
P4
fA
O+
P5
fA
a
II
z
Figure 7.
P4
Modified inverse kinematic model with shifted revolute joints
ParametHs
Elevation
Extension
P2
DR
i\1 ovement
!Depression
PI
P3
DHPARAMETERS: FORWARD KINEMATICS
a a a
a ,_ 1
a
a
a 11
-2 a
TABLE II.
a
Position
a,
II +-
2
II +-
2
a a
-2 II +-
2
II +-
2
PO
a
PI
a
2
II +-
2 II
-2 a
a II +-
2
Abduction!
IntemallExternal fotation
P2
NfA FlexionlExtension
a
u3
Extension
NfA
a
II +-
Elevation /Depression
Adduction
a
a
Retraction
Flexion!
a
a
:'I'Iovement Protraction!
u2 II
DHPARAMETERS: INVERSE KINEMATICS
N/A N/A
P3
a
Pronation! Supination UlnalRadial Deviation
a
N/A
a P4
u. Us
P5
528
N/A
Flexion !Extension N/A
DR
Para metHs
d,
a'_1
a,_1
el
a
a
a
e2
a
e3
a
e.
a
8,
II
02" " -2" 8 5
"
a-2 e6
"
0-2 "
0 +87 88
2
" -2" 1[
a-2
0-
1[
2"
89 a
a a a a a a a
II
-2" a
II
+2 II
-2" II
-2 "
a a,
a a2 a
-2
a
"
-2
a
a
a
a
a3
1[
a
a
+7 1[ --
a
+-
a
a
it
a.
a
-2
a
2 1[
2 1[
+
"
"2
a
a as
2012 IEEE EMBS International Conference on Biomedical Engineering and Sciences I Langkawi I 17th - 19th December 2012
B.
The posItIOns vectors were redefined with respect to sternoclavicular joint (PO). Matlab programs were compiled to
An error analysis for the model has been carried out using
determine forward and inverse kinematics. For a randomly
30 samples near the impact moment for the flat service
selected instantaneous orientation of the upper limb, the 3D
scenario.
values obtained are as follows; PI = [84.3 136.4
Error Analysis
The proposed inverse kinematics algorithm was used to
75.4]
calculate the joint angles. The calculated joint angles were fed to the forward kinematics model to obtain the positions. The
P2 = [274.7 118.0 376.1]
error percentage has been calculated as follows;
P3 = [266.7 269.80 652.9] P4 = [185.8
479.7
1206.8.0]
P5 = [304.5
514.9
1222.6]
The inverse kinematic algorithm gave following values as joint angles. Where;
THE RESULTED JOINT ANGLES FOR THE SAMPLE POSITION
TABLE TIT. Joint Sterno-
Clavicular(PO)
Glenohumeral (PI)
Elbow(P2) Proximal Radioulnar(P2)
Wrist(P3)
Movement
Angle/Rad
ProtractionlRetraction
1.0174
Elevation/Depression
-0.4395
Flexion/Extension
-0.8577
Abduction/Adduction
-0.5027
Internal/External rotation
1.3673
Flexion /Extension
2.3648
Pronation/Supination
1.5812
UlnalRadial Deviation
1.7483
Flexion /Extension
2.4504
Px = The calculated position vector Px px.= The obtained position vector of the selected point
from the motion capturing system Po = The obtained position vector of the origin from the motion capturing system n= Number of samples (30)
The error analysis was carried out for Pl- Shoulder position vector, P2- Elbow position vector and P3- Wrist position vector. The results obtained are shown in Table IV.
TABLE IV.
ERROR ANALYSIS FOR 30 SAMPLES
Original Vector
Mean
Error
error(mm)
Percentage
165.8415
2.7021e-O13
1.6293e-013
506.6318
2.702e-013
5.3333e-014
764.0696
2.70E-13
3.5343e-OI4
magnitude(mm)
In order to verify the algorithm, the above joint values have
Shoulder
been fed to the forward kinematic model and we have obtained
Elbow
exactly the originally fed joint positions as the results. The forward plot of the geometric positions obtained from forward
Wrist
kinematics drawn at those angles is shown in Fig. 8;
The error analysis gave a -0% error. This shows that the inverse kinematic model gives highly accurate joint angle 1500.
solutions for a given set of position vectors of human upper limb. C.
E
An Application The inverse kinematic model was used to analyze the
E
behavior of the 3 glenohumeral revolute joints at the impact of
N
the tennis service stroke. Thirty sample time frames were taken during the acceleration phase of the flat service stroke. (See
o
Fig. 9)
-200
The Euler angle behaviour was compared with the results obtained by reference [16] and found similar. However, the joint angle values of the two studies cannot be directly compared since [16] has not given the reference frameworkls used to for the study.
Figure 8.
The orientation of the forward model at the sample position
529
2012 IEEE EMBS International Conference on Biomedical Engineering and Sciences I Langkawi I 17th - 19th December 2012
Behaviour of the Shoulder rotating angles at the impact
ACKNOWLEDGEMENT
3�--�====� --_. _.
This
Flexion/Extension
- Circumduction
by
the
UK
Human Physiology laboratory at Kingston University for the support given for data collection.
� 0 c
.
«
--"
REFERENCES
-
�-------..-
-1
-2 L-----�----�--� o 10 20 40 30 Time frame (at 240 Hz) Figure 9.
Behaviour analysis of the shoulder(Glenohumeral) joint
[I]
T.
[2]
M. Desmurget, C Prablanc, "Postural control of three-dimensional prehension movements," J. Neurophysiology, vol. 77,no. I, pp. 452464,Jan. 1997.
[3]
M.A. Lemay, P.E. Crago," A dynamic model for simulating movements of the elbow, forearm, and wrist.," J. Biomechanics, vol. 29, pp.13191330, 1996.
[4]
R. Raikova," A general approach for modeling and mathematical investigation of the human upper limb," J. Biomechanics,vol. 25, pp. 857-867, 1992.
[5]
V.T. Inman, " Observations on the function of the shoulder joint. ." J. Bone Joint Surg, vol. 26, no.I, pp. 1-30,1944.
[6]
CO. Bechtol, "Biomechanics of the sh oulder," J. Clin Orthop,vol. 146, no. I, pp. 37-41 .1980.
[7]
M. Peat, "Functional Anatomy of the Shoulder Complex," J. American Physical Therapy Association, vol. 66, pp. 1855-1865, 1986.
[8]
R.A. Prokopenko, AA Frolov, E.V. Biryukova, E. Roby,"Assessment of the accuracy of a human arm model with seven degrees of freedom" J. Biomechanics,vol. 34, pp. 177-185,2001.
[9]
T Nanayakkara, D. P. Watanabe, K. Kiguchi, K. Izumi, "Fuzzy self adaptive radial basis function neural network-based control of a seven link redundant industrial manipulator,"J. Advanced Robotics, vol. 15, no. 1, 2001, pp. 17-43,2001.
Limitations The main limitation appeared in the inverse kinematic
algorithm was the limitation to the number of revolute joints attached to a given geometric position. However, for a given geometric joint position which involves three revolute joints, this algorithm can still be successfully applied with careful relocation of third revolute joint to the adjoining joint position. This will require two different DH parameter sets, one for forward kinematics and one for inverse kinematics. In human upper limb articulation, no joint is modelled with more than 3 revolute joints. Hence the inverse kinematic algorithm can be used to analyze the motion of human upper limb successfully. For the initial basic model, we have used a cross vector product based algorithm to calculate the joint angle. The angle resulting will always be a positive value. Hence, the most orientation of the link model and human joint angle limitations
[II] M. Shimizu, H.Kakuya, W.K. Yoon, K.Kitagaki, K. Kosuge, "Analytical Inverse Kinematic Computation for 7-DOF Redundant Manipulators With Joint Limits and Its Application to Redundancy Resolution," J. IEEE Transactions on Robotics, vol. 25,no. 5, pp. 1132II41,Oct. 2008.
in to account. For the 9-DoF kinematic model, the sternoclavicular joint was considered as a static reference. But, for more accurate analysis of highly dynamic motions, sternoclavicular joint has
[12] A. Aristidou, J. Lasenby, "Inverse Kinematics: a review of existing techniques and introduction of a new fast iterative solver," University of Cambridge, Cambridge, CUED/F-lNFENG/TR-632, Sept. 2009.
to be taken as a dynamic reference. This can be achieved by selecting an appropriate static reference depends on the motion. v.
During
the
tennis
[13] N. Courty, E. Arnaud, "Inverse kinematics using sequential monte carlo methods," In Proceedings of the V Conference on Articulated Motion and Deformable Objects, AMDO'08, Mallorca, Spain, vol. 5098, pp. 110, 2008.
CONCLUSION service,
the
high
hand
and
wrist
accelerations often lead to nearly singular posture of the
arm
[14] L. Unzueta, M. Peinado, R. Boulic, A Suescun, "Full-body performance animation with Sequential Inverse Kinematics," J. Graphical Models ,vol. 70, no. 5, pp. 87-104, Sept. 2008.
due to the reduction in Jacobian matrix rank [18]. Hence, the tennis service motion is considered as a highly complex human arm
motion to analyze. The proposed 9-DoF kinematic
[15] J F. S. Grassia, "Practical parameterization of rotations using the exponential map," J. Graphics Tools,voI 3,no. 3, pp. 29-48,1998.
model provides a comprehensive platform to analyze this motion. The novel inverse kinematic algorithm proposed in this was
verified
for
the
tennis
service
scenario.
[16] J. Craig , Introduction to Robotics: Mechanics and Control, 3rd edition. New Jersy,USA: Pearson Prentice Hall ,2005.
The
algorithm was used to solve complex inverse kinematics
[17] K.C Lo, L.H. Wang , C.C Wu, F.C. Su, "Kinematics of Trunk and Upper Extremity in Tennis Flat Serve,"J. Medical and Biological Engineering, vol. 24,no. 2, pp. 209-212, 2004.
associated with the 9-DoF kinematic model. Thus it can be concluded the that 9-DoF kinematic model
[18] T Nanayakkara, F. Sahin, M. Jamshidi, Intelligent Control Systems with an Introduction to System of Systems Engineering, Ist edition, New York,USA: CRC Press,2009.
and the associated inverse kinematic algorithm presented in this paper
can be successfully applied to analyze complex
motions of human upper limb, especially related to
Kingma, M.P. de Looze, H. M. Toussaint, H.G. KIijnsma., TB.M. Bruijnen,"Validation of a full body 3-D dynamic linked segment model Human Movement Science," vol 15, no. 6, pp. 833-860, Dec. 1996.
[10] D. N. Nenchev, "Redundancy resolution through local optimization: A review," J. Robot. Syst., vol. 6, no. 6, pp. 769-798, Dec.I989.
appropriate angle has to be filtered by taking the instantaneous
paper
supported
player for the study and Dr Nicola Smith and the staff of
�
upper
partially
(International Tennis Federation-UK) for providing a tennis
c '" '" '"
D.
was
grant no. EP/I02876511. The authors would like to thank ITF
- - -Internal/External Rotation
00-
research
Engineering and Physical Sciences Research Council (EPSRC)
sports
science and associated clinical studies.
530