A Novel Approach to Determine the Inverse Kinematics of ... - CiteSeerX

0 downloads 0 Views 2MB Size Report
School of Mechanical and Automotive Engineering,. Faculty of Science .... (4th colwnn) of the 7 ?+3(4X4) matrix and the captured 3D position of Pn+1, the angle 8n ..... [16] J. Craig , Introduction to Robotics: Mechanics and Control, 3rd edition.
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