<<

Global Journal of Researches in Engineering: H Robotics & Nano-Tech Volume 20 Issue 1 Version 1.0 Year 2020 Type: Double Blind Peer Reviewed International Research Journal Publisher: Global Journals Online ISSN: 2249-4596 & Print ISSN: 0975-5861

The of a Puma Robot using Dual By Mahmoud Gouasmi, Belkacem Gouasmi & Mohamed Ouali Blida 1 University Abstract- This chapter presents mainly, on the light of both main concepts; The first being the screw or/ and dual quaternions kinematics while the second concerns the classical ‘Denavit and Hartenberg parameters’ method, the direct kinematics of a Puma 560 robot. Kinematics analysis studies the relative motions, such as, first of all, the displacement in of the end effector of a given robot, and thus its and acceleration, associated with the links of the given robot that is usually designed so that it can position its end-effector with a three degree-of-freedom of translation and three degree-of-freedom of orientation within its workspace. First of all, examples of basic solid movements such as , translations, their combinations and general screw motions are studied using both (4x4) transformations and dual quaternions so that the reader could compare and note the similarity of the results obtained using one or the other method. Keywords: dual quaternions, forward kinematics, screw motion, denavit and hartenberg parameters. GJRE-H Classification: FOR Code: 29030p

TheKinematicsofaPumaRobotusingDualQuaternions

Strictly as per the compliance and regulations of:

© 2020. Mahmoud Gouasmi, Belkacem Gouasmi & Mohamed Ouali. This is a research/review paper, distributed under the terms of the Creative Commons Attribution-Noncommercial 3.0 Unported License http://creativecommons.org/licenses/by-nc/3.0/), permitting all non commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

The Kinematics of a Puma Robot using Dual Quaternions

Mahmoud Gouasmi α, Belkacem Gouasmi σ & Mohamed Ouali ρ

Abstract- This chapter presents mainly, on the light of both The reader should walk away from this analysis with a main concepts; The first being the screw motion or/ and dual clear understanding of what dual-quaternions are and quaternions kinematics while the second concerns the how they can be used [4]. First we begin with a short classical ‘Denavit and Hartenberg parameters’ method, the recent and related work that emphasises the power of direct kinematics of a Puma 560 robot. dual-quaternions: Kinematics analysis studies the relative motions, such as, first of all, the displacement in space of the end The dual- has been around since 1882 [5],[6],[7] but has gained less attention compared effector of a given robot, and thus its velocity and acceleration, 2020 associated with the links of the given robot that is usually to quaternions alone; while the most recent work which

designed so that it can position its end-effector with a three has taken hold and has demonstrated the practicality of Year degree-of-freedom of translation and three degree-of-freedom dual-quaternions, both in robotics and computer of orientation within its workspace. graphics can be resumed in: - Kavan [8] demonstrated 1 First of all, examples of basic solid movements such the advantages of dual-quaternions in character as rotations, translations, their combinations and general skinning and blending. - Ivo [9] extended Kavan’s work screw motions are studied using both (4x4) rigid body with dual-quaternions and q-tangents as an alternative transformations and dual quaternions so that the reader could compare and note the similarity of the results obtained using method for representing rigid transforms instead of one or the other method. Both dual quaternions technique as matrices, and gives evidence that the results can be well as its counterpart the classical ‘Denavit and Hartenberg faster with accumulated transformations of joints if the I ersion sue I V parameters method’ are finally applied to the first three degree inferences per vertex are large enough. - Selig [10] of freedom of a Puma 560 robot. Finally, we and the reader, address the key problem in computer games. - Vasilakis can observe that the two methods confirm exactly one another [11] discussed skeleton-based rigid-skinning for by giving us the same results for the considered application, character animation. - Kuang [12] presented a strategy while noting that the fastest, simplest more straightforward and for creating real-time animation of clothed body olume XX Is easiest to apply method, is undoubtedly the one using dual V )

movement.-Pham [13] solved linked chain inverse quaternions. As a result this chapter may as well act as a beginners guide to the practicality of using dual-quaternions to kinematic (IK) problems using Jacobian matrix in the ( represent the rotations and translations in character-based dual-quaternion space. -Malte [14] used a mean of hierarchies. multiple computational (MMC) model with dual- We must emphasize the fact that the use of both quaternions to model bodies. - Ge [15] demonstrated Matlab software and quaternions and / or dual quaternions in dual-quaternions to be an efficient and practical method the processing of 3D rotations and/or screw movements is for interpolating three-dimensional motions. -Yang - and will always be the most efficient, fast and accurate first Hsing [16] calculated the relative orientation using dual- choice. direct kinematics method could be quaternions. - Perez [17] formulated dynamic generalised, in the future, to all kind of spatial and/ or industrial constraints for articulated robotic systems using dual- robots as well as to articulated and multibody systems.

Keywords: dual quaternions, forward kinematics, screw quaternions.- Further reading on the subject of dual Researches in Engineering motion, denavit and hartenberg parameters. numbers and derivatives is presented by Gino [18]. In the last three decades, the field of robotics I. Introduction has widened its range of applications, due to recent developments in the major domains of robotics like any research students have a great deal of kinematics, and control, which leads to the

trouble understanding essentially what of obal Journal sudden growth of robotic applications in areas such as l Mquaternions are [1], [2], [3] and how they can manufacturing, medical surgeries, defense, space G represent . So when the subject of dual- vehicles, under-water explorations etc. quaternions is presented, it is usually not welcomed with To use robotic manipulators in real-life open arms. Dual-quaternions are a break from the norm applications, the first step is to obtain the accurate (i.e., matrices) which we hope to entice the reader into kinematic model [19]. In this context, a lot of research supporting willingly to represent their rigid transforms. has been carried out in the literature, which leads to the

evolution of new modeling schemes along with the Author α σ ρ: Algerian Structural Mechanics Research Laboratory, Mechanical Engineering Department, Blida 1 University. refinement of existing methodologies describing the e-mail: [email protected] kinematics of robotic manipulators.

©2020 Global Journals The Kinematics of a Puma Robot using Dual Quaternions

Screw theory based solution methods have various fields such as computer vision and been widely used in many robotic applications. The biomechanics. The application of this theory in the field elements of can be traced to the work of of robotics is taking more and more space. We can Chasles and Poinsot [20], [21], in the early 1800’s and consider the motion of a joint segment as a series of Whittaker [22]. Using the theorems of Chasles and finite displacements. In this case the movement is Poinsot as a starting point, Robert S. Ball developed characterized by an angle of rotation about and an [23] a complete theory of screws which he published amount of translation along an axis defined in space by in 1900. Throughout the development of kinematics, its position and its orientation. This axis is referred to as numerous mathematic theories [24] and tools have the finite helicoidal axis (FHA), because of the been introduced and applied. The first pioneer effort for discretization of the movement into a series of kinematic modeling of robotic manipulators was made displacements. On the other hand and by taking the by Denavit and Hartenberg in introducing a consistent continuity of the movement into account, this movement and concise method to assign reference coordinate will be characterized by a rotational speed (angular frames to serial manipulators, allowing the (4×4) velocity) about and translation speed along an axis homogeneous transformation matrices to be used (in defined by the instantaneous position and orientation in

2020 1955) [25], followed by Lie groups and by space. One speaks in this case of an instantaneous J.M Selig and others, [26], [27], [28]) and quaternions helicoidal axis (IHA).The application of the helicoidal Year

and dual quaternions introduced by Yang and theory with its two versions (FHA and IHA) is used to

2 Freudenstein (1964) [29], see also Bottema and Roth describe and understand the joint movement, and to (1979) [30] and McCarthy (1990) [31].The original D–H study in biomechanics, for example, the different parameter method has many counterparts: Distal positioning techniques of prothèses. Thus there are variant, proximal variant, …to name but a few. There several methods to estimate the helicoidal axis from a even exist different options for these counterparts. set of points representing a rigid body. In this method, four parameters, popularly Any displacement of a rigid body is a helicoidal known as D–H parameters, are defined to provide the motion which may be decomposed into an angular sue I V ersion I ersion sue I V geometric description to serial mechanisms. Out of the rotational movement about and a linear translational four, two are known as link parameters, which describe movement along a certain axis in 3D space. The the relative location of two attached axes in space. methods differ in the way of mathematically representing These link (See appendix 10,3,1.) parameters are: The these two movements. These movements can be

link length (ai) and the link twist (αi). expressed using rotation matrices and translation olume XX Is

V The remaining two parameters are described as vectors, homogeneous matrices, unit quaternions, dual )

joint parameters, which describe the connection of any quaternions, .... ( link to its neighboring link. These are the joint offset (di) The two representations; using (3x3) matrices or and the joint angle (θi ). (4x4) homogeneous matrices and dual quaternions will Modeling the movement of the rigid body by the be simultaneously used for all and each examples or theory of the helicoidal axis: a combination of an amount applications studied so that comparisons for each case of rotation about and an amount of translation along a could be done. certain axis, hence the term helicoidal axis is used in

II. Dual Quaternions

a) « Product type » dual quaternions Researches in Engineering The dual quaternions have two forms thus two readings which are complementary and simultaneous: The

first is the << product type >> description: . = + With: = cos , n. sin = cos , sin . , sin . , sin . 2 2 2 2 2 2 2 𝑇𝑇𝑇𝑇 𝑇𝑇𝑅𝑅 𝜓𝜓 𝜓𝜓 𝜓𝜓 𝜓𝜓 𝜓𝜓 𝜓𝜓

and = (0, 𝑇𝑇�𝐺𝐺 , �,𝑇𝑇𝑅𝑅 =𝜀𝜀(0 ,{ �} ) 𝑇𝑇𝑅𝑅 � � � 𝑛𝑛𝑥𝑥 𝑛𝑛𝑦𝑦 𝑛𝑛𝑧𝑧 � obal Journal of obal Journal l G Then, the𝑇𝑇𝑇𝑇 transformation�𝑇𝑇𝑥𝑥 𝑇𝑇𝑦𝑦 𝑇𝑇𝑧𝑧 � is: 𝑇𝑇 . = + = cos , n sin + 0, . cos , n sin 2 2 2 2 2 2 𝑇𝑇𝑇𝑇 𝑇𝑇𝑅𝑅 𝜓𝜓 𝜓𝜓 𝑇𝑇 𝜓𝜓 𝜓𝜓 �𝐺𝐺 𝑅𝑅 . 𝑇𝑇 = c�𝑇𝑇os ,𝜀𝜀n sin � +� – sin �, 𝜀𝜀s � in �+� cos � << product type >> (1) 2 2 2 2 2 2 2 2 𝜓𝜓 𝜓𝜓 𝑇𝑇 𝑛𝑛 𝜓𝜓 𝑇𝑇𝑇𝑇𝑇𝑇 𝜓𝜓 𝑇𝑇 𝜓𝜓 𝐺𝐺 b) « Dual type » dual quaternions𝑇𝑇� � � 𝜀𝜀 � � � � �� Indeed a general transformation, screw type, can be also described using dual angles and dual vectors and

have therefore the following form << Dual type >>:

©2020 Global Journals The Kinematics of a Puma Robot using Dual Quaternions

= cos , sin = cos , sin + sin , m sin + cos << >> (2) 2 2 2 2 2 2 2 2 2 𝜃𝜃� 𝜃𝜃� 𝜃𝜃 𝜃𝜃 𝑑𝑑 𝜃𝜃 𝜃𝜃 𝑑𝑑 𝜃𝜃 𝑇𝑇� � 𝑤𝑤�� � 𝑛𝑛� 𝜀𝜀 �− � 𝑛𝑛 �� 𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 It is defined by the dual angle and the dual Plücker coordinates, p, (the blue vecor ), being the vector the rotation being represented by the angle vector that gives the position of n ,(the red vector), using � around the axis n = (nx, ny, nz) of norm𝜃𝜃 1, and a the vector OO1 (see figure (1)). translation𝑤𝑤� d along the same vector n. 𝜃𝜃 The parameters of the transformation, the angle

The vector m = (mx, my, mz) is the of , the axis of rotation n, the magnitude of the translation the vector n about the origin of reference (O, x, y, z); it is d and the moment m are the four characteristics of all, named the moment of the axis n, with: = + d any𝜃𝜃 and every 3D rigid body transformation (4x4) with d being the amplitude of the translation along the matrix, a screw motion or a helicoidal movement of any dual vector = n + m with m = p x𝜃𝜃 �n (the𝜃𝜃 green𝜀𝜀 kind (or type ). vector see figure 1) that defines the vector according to 𝑤𝑤� 𝜀𝜀 2020 Year

3 sue I V ersion I ersion sue I V

olume XX Is

Figure 1: Helicoidal or screw motion V )

Note that this form resembles that used for defined by the dual vector or or in our ( classic quaternions; using the dual angle and the dual case = n + m; such that we will obtain (respecting unitary vector instead of the classical ones. the rules of derivation and multiplication𝑙𝑙̂ 𝑠𝑠 ̂ of dual And as a matter of fact: The screw numbers)𝑤𝑤� , dual𝜀𝜀 vectors, quaternions and dual displacement is the dual angle = + d, along the quaternions (see appendix 10,2. and eq (A15)):

= cos , 𝜃𝜃s�in 𝜃𝜃 =𝜀𝜀 [cos sin , (sin + cos ) ( n + m )] = 2 2 2 2 2 2 2 2 𝜃𝜃� 𝜃𝜃� 𝜃𝜃 𝑑𝑑 𝜃𝜃 𝜃𝜃 𝑑𝑑 𝜃𝜃 𝑇𝑇� � 𝑤𝑤�� − 𝜀𝜀 𝜀𝜀 𝜀𝜀 cos sin , n sin + (n cos + sin m) = ( cos , n sin ) + ( sin , sin m + n cos ) (2) 2 2 2 2 2 2 2 2 2 2 2 2 2 2

𝜃𝜃 𝑑𝑑 𝜃𝜃 𝜃𝜃 𝑑𝑑 𝜃𝜃 𝜃𝜃 𝜃𝜃 𝜃𝜃 𝑑𝑑 𝜃𝜃 𝜃𝜃 𝑑𝑑 𝜃𝜃 Researches in Engineering The− geometric𝜀𝜀 interpretation𝜀𝜀 of these quantities translations as𝜀𝜀 well− as any combination of both these is related to the screw-type motion. The angle is the two basic spatial motions. angle of rotation around n, the vector unit n represents These two forms << product type >> eq (1) or the direction of the rotation axis. The element d𝜃𝜃 is the << >> (2) represent the same motion translation or the displacement amplitude along the that describe the same movement ‘the screw motion’: obal Journal of obal Journal vector n, m being the vector moment of the vector axis n 𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 𝑒𝑒𝑒𝑒 l relative to the origin of the axes. The vector m is an III. Example 1: Rotations Represented G unambiguous description of the position of an axis in by Quaternions space, in accordance with the properties of Plückér coordinates defining lines in space. Let’s apply two successive rotations to a rigid body: the first one of amplitude = around the axis This form gives another interesting use: 1 2 Whereas the classics quaternions can only represent Ox followed by a second rotation𝜋𝜋 of the same 𝜃𝜃 rotations whose axes pass through the origin O of the amplitude = around the Oy axis: 2 2 coordinate system (O, x, y, z), the dual quaternions can 𝜋𝜋 represent rotations about arbitrary axes in space, 𝜃𝜃

©2020 Global Journals The Kinematics of a Puma Robot using Dual Quaternions

2 Using quaternions the first rotation will be written; since 1 = then cos 1 = sin 1 = 2 4 2 2 2 𝜃𝜃 𝜋𝜋 𝜃𝜃 𝜃𝜃 √ 2 2 2 = ( , , 0 , 0 ) ; having 1 = then cos 1 = sin 1 = 1 2 2 2 4 2 2 2 √ √ 𝜃𝜃 𝜋𝜋 𝜃𝜃 𝜃𝜃 √ 2 2 The second rotation will have𝑞𝑞 the form: = ( , 0 , , 0 ) 2 2 2 √ √ The final composition of the two movements𝑞𝑞 will be given by the quaternion such that:

2 2 2 2 1 1 1 1 = . = ( , 0 , , 0 ) . ( , , 0 , 0 ) = ( 𝑞𝑞 , , , ) 2 1 2 2 2 2 2 2 2 2 √ √ √ √ Using quaternion’s definition𝑞𝑞 (A5)𝑞𝑞 and𝑞𝑞 quaternions properties: − 1 3 1 1 1 1 3 1 1 1 = (( , ( , , )) or (( , ( , , )) 2 2 3 3 3 2 2 3 3 3 √ √ It is then easy to extract both the𝑞𝑞 amplitude√ and√ the− resulting√ axis− of the− rotation√ − √ from√ the result q:

2020

cos = and sin = ; wich implies the first solution = + 120 º, around the unitary axis ( n) =

Year 𝜽𝜽 𝟏𝟏 𝜽𝜽 √𝟑𝟑 𝟏𝟏 𝟏𝟏

𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐 𝜽𝜽 √𝟑𝟑 � 𝟏𝟏

or 4 −𝟏𝟏

cos = and sin = ; wich implies a second solution = 120 º, around the unit axis ( n) = 𝜽𝜽 𝟏𝟏 𝜽𝜽 √𝟑𝟑 𝟏𝟏 −𝟏𝟏 𝟐𝟐 𝟐𝟐 𝟐𝟐 − 𝟐𝟐 𝜽𝜽 − − √𝟑𝟑 �−𝟏𝟏 In fact the two solutions represent the same and similar solution since for any q we have q ( , n) = q ( , n). 𝟏𝟏

sue I V ersion I ersion sue I V Using our classical (3x3) rigid transformations we get: 𝜽𝜽 −𝜽𝜽 − 0 0 1 1 0 0 0 1 0

R21 = R2.R1 = 0 1 0 0 0 1 = 0 0 1 1 0 0 0 1 0 1 0 0 � � � − � � − � Here it is very important to note that unlike the quaternion method we cannot extract the needed results

olume XX Is − −

V easily and straightforwardly but we must follow a long and sometimes complicated process (determinant, trace, )

antisimmetry, angle and axis of rotations signs,axis/angle (or conversions to Olinde Rodrigues (Axis, Angle) ( parameters) …

Whichever used technique we will find: A rotation of = = 120 º around the unit axis n = 𝟐𝟐𝝅𝝅 𝟏𝟏 𝟏𝟏 𝜽𝜽 𝟑𝟑 √𝟑𝟑 � 𝟏𝟏 To show the anti commutativity of the product let’s do the inverse and start by the second rotation instead: −𝟏𝟏

= . = ( , , 0 , 0 ) .( , 0 , , 0 ) = ( , , , ) = (( , ( , , )) = = (( , ( , , √𝟐𝟐 √𝟐𝟐 √𝟐𝟐 √𝟐𝟐 𝟏𝟏 𝟏𝟏 𝟏𝟏 𝟏𝟏 𝟏𝟏 √𝟑𝟑 𝟏𝟏 𝟏𝟏 𝟏𝟏 𝟏𝟏 √𝟑𝟑 𝟏𝟏 𝟏𝟏 𝒊𝒊 𝟏𝟏 𝟐𝟐 )) 𝒊𝒊 𝒒𝒒 𝒒𝒒 𝒒𝒒 𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐 √𝟑𝟑 √𝟑𝟑 √𝟑𝟑 𝒒𝒒 𝟐𝟐 − 𝟐𝟐 − √𝟑𝟑 − √𝟑𝟑 𝟏𝟏

Researches in Engineering 1 √𝟑𝟑 1 1 − 1 and that will imply = 120 º around the axis n = 1 , or = 120 º around the axis (– n) = 1 ; i 3 i 3 1 −1 𝜃𝜃 √ � 𝜃𝜃 − √ �− Which of course will imply that: . . 1 2 2 1 − 1 0 0 0 0 1 0 0 1 𝑞𝑞 𝑞𝑞 ≠ 𝑞𝑞 𝑞𝑞 obal Journal of obal Journal l Using matrices : Ri = R1 R2 = 0 0 1 0 1 0 = 1 0 0 Rii = R2 R1 which implies: G 0 1 0 1 0 0 0 1 0 � − � � 1� � � ≠ 2 1 2 A rotation of = =120º around the unit axis− n= 1 equivalent to a rotation of = = 120 º around the 3 3 3 𝜋𝜋 1 𝜋𝜋 1 √ 𝜃𝜃 1 � 𝜃𝜃 − − unit axis n = 1 3 1 − √ � Using MATLAB (See Appendix 10,1.) we can calculate easily both the two quaternions multiplications: q=

n1 = q2.q1 and qi = n2 = q1.q2 and the two equivalent product of matrices R21 = R2R1 and Ri = R1 R2.

©2020 Global Journals The Kinematics of a Puma Robot using Dual Quaternions

IV. Important Notes: What about Translations? We must recall that rotations act on translations, the reverse being not true; in fact when multiplying by blocks: 0 For a rotation followed by a translation: = ; the rotation is not affected by the 0 1 0 1 0 1 translation. 𝐼𝐼 𝑡𝑡 𝑅𝑅 𝑅𝑅 𝑡𝑡 � � �0 � � � While for a translation followed by a rotation: = ; the translation is affected by the 0 1 0 1 0 1 rotation. 𝑅𝑅 𝐼𝐼 𝑡𝑡 𝑅𝑅 𝑅𝑅 � � � � � � When translations are performed first we can thus assume that the translation vector of the resulting matrix product; Rt acts as the translation vector t of a rotation followed by a translation .Or more generally speaking

considering two six degree of freedom general rigid body transformations T1 followed by T2 we will have:

2 2 1 1 2 1 2 1 + 2 T2 .T1 = = = 0 1 0 1 0 1 0 1 2020 𝑅𝑅 𝑡𝑡 𝑅𝑅 𝑡𝑡 𝑅𝑅 𝑅𝑅 𝑅𝑅 𝑡𝑡 𝑡𝑡 𝑅𝑅 𝑡𝑡 � � � � � � � � 2 0 1 2 The translation vector t of the product of the two transformations is = 2 1 + 2 = + Year

1 0 1 1 1

𝑡𝑡 𝑅𝑅 𝑡𝑡 𝑡𝑡 The same analysis as the last one could then be done whatever� the𝑅𝑅 𝑡𝑡order𝑡𝑡 and� the number� � of� the successive 5 transformations being performed over the rigid body: The final result of the products of all the undertaken rigid body transformations will be finally the helicoidal, the helical or the screw motion given by the (4x4) matrix:

[T] = T … T...T .T = (3) n i 2 1 0 1 𝑅𝑅 𝑡𝑡

With Ti representing either a rotation, a translation, a rotation� followed� by a translation, a translation followed by a I ersion sue I V rotation or even simply a no movement (ie: the 4x4 identity matrix I ).

V. Screw Motion Any screw motion would be given by the following (4x4) matrix [ T ]:

p p olume XX Is ( , ) ( , ) + ( ( , ) V = 2 = 2 = [T] ( 3 ) ) θ θ 0 1 0 1 0 1

0 1 0 1 ( 𝑅𝑅 𝑡𝑡 𝐼𝐼 𝑢𝑢 𝑅𝑅 𝜃𝜃 𝑛𝑛 𝜋𝜋 𝑛𝑛 𝐼𝐼 − 𝑢𝑢 𝑅𝑅 𝜃𝜃 𝑛𝑛 𝜋𝜋 𝑛𝑛 𝐼𝐼 − 𝑅𝑅 𝜃𝜃 𝑛𝑛 𝑢𝑢 � � � � � � � � � � The middle matrix is a screw about a line general matrix into the above form we must through the origin; that is, a rotation of radians around solve the following𝑹𝑹 system 𝒕𝒕 of linear equations: the axis n followed by a translation along n. The outer � � 𝜽𝜽 𝟎𝟎 𝟏𝟏 matrices conjugate the screw and serve to place the line + ( ) = t at an arbitrary position in space. The parameter p is the 𝛉𝛉 𝐩𝐩 pitch of the screw, it gives the distance advanced along Now n.Ru𝟐𝟐𝝅𝝅 =𝒏𝒏 n.u =𝑰𝑰 0,− 𝑹𝑹since𝒖𝒖 the rotation is about the axis for every complete turn, exactly like the pitch on n. So we can dot the above equation with n to give:

the thread of an ordinary nut or bolt. When the pitch is 0 = n.( t ) this enables us to find the pitch:

zero the screw is a pure rotation, positive pitches 𝛉𝛉 𝐩𝐩 Researches in Engineering p = . t correspond to right hand threads and negative pitches − 𝟐𝟐𝝅𝝅 to left handed threads. 𝟐𝟐𝝅𝝅 All we need to do now is to solve the equation 𝛉𝛉 𝒏𝒏 To show that a general rigid motion is a screw system: ( ) = (t –( . t) ) ; motion, we must show how to put a general This is possible even though det ( ) = 0, transformation into the form derived above. The unit since the equations𝑰𝑰 − 𝑹𝑹 𝒖𝒖 will be𝒏𝒏 consistent.𝒏𝒏 obal Journal of obal Journal vector in the direction of the line n is easy since it must This entire analysis established through𝑰𝑰 − 𝑹𝑹 this l G be the eigenvector of the corresponding long paragraph concerning the helicoidal motion or rigid to the unit eigenvalue.(This fails if R = I, that is if the (4x4) transformation matrix [T] is contained in only one motion is a pure translation). The vector u is more line enclosed in its counterpart dual quaternion of the difficult to find since it is the position vector of any point form: on the rotation axis. However we can uniquely specify u 𝑻𝑻� by requiring that it is normal to the rotation axis. So we impose the extra restriction that n.u = 0. So to put the

©2020 Global Journals The Kinematics of a Puma Robot using Dual Quaternions

= cos , sin = . . . . . = cos , sin . + sin , m sin + . cos or eq (2) eq (3) 2 2 2 1 2 2 2 2 2 2 2 𝜃𝜃� 𝜃𝜃� 𝜃𝜃 𝜃𝜃 𝑑𝑑 𝜃𝜃 𝜃𝜃 𝑑𝑑 𝜃𝜃 𝑇𝑇T�hese� equations 𝑤𝑤�are� best𝑇𝑇�𝑛𝑛 represented𝑇𝑇�𝑖𝑖 𝑇𝑇� 𝑇𝑇� � by the figures𝑛𝑛 �(2,1)𝜀𝜀 �or/and− (2,2)� : 𝑛𝑛 � � ≡

2020

Year Figure: (2, 1): A semi cubic solid performing simultaneously a rotation θ around the axis and a displacement d

along the same axis. 6 Figure: (2, 2): The same rigid (4D) transformation (R,t) represented by its screw axis S𝒍𝒍̂ and displacement d.

VI. Example 2: General Movement or A Screw Motion Let’s apply two successive screw motions to a rigid body: the first one around the Oy axis of amplitude = and of pitch ( p = t = 4) followed by a second one around the axis Ox and of the same 𝝅𝝅 𝟐𝟐𝝅𝝅 sue I V ersion I ersion sue I V amplitude = and same pitch p = 4 corresponding to a translation of 1 unit along any of the two chosen axes: 𝟏𝟏 𝟐𝟐 𝛉𝛉 𝜽𝜽 𝝅𝝅 𝜽𝜽𝟐𝟐 𝟐𝟐 1 0 0 1 0 0 1 0 0 0 1 1 0 0 1 0 0 1 0 1 1 0 0 0 T .T = = (4) 2 1 0 1 0 0 1 0 0 0 0 1 0 1 0 0− 0 1 0 0 0 1 0 0 0 1 � � � � � � olume XX Is

V − The rotation part of the product corresponds to that of the precedent example of successive rotations Ri = R1 R2 )

1 1

( 2 1 with amplitude = = 120 º around the unit axis n = 1 ; its translation part being t = 0 3 3 𝜋𝜋 1 1 1 1 √ 𝜃𝜃 2 2 1 6 � � We can find its pitch p = (n. t ) = 1. 0 = = 2 3 2 3 3 𝜋𝜋 3𝜋𝜋 𝜋𝜋 1 1 𝜃𝜃 √ √ 1 � � √1 The axis of rotation will keep its same original direction n = 1, it will go through a new centre C given by the 3 1

shifting vector u which could be found by the linear equations √system� : (I – R) u = t – n 𝛉𝛉 𝐩𝐩 1 1 1 Researches in Engineering 𝟐𝟐𝝅𝝅 1 0 1 1 3 1 3 3 2 6 1 2 1 2 1 1 0 = 0 √ = 0 √ = 𝑥𝑥 3.2 3 ⎧ 3 3 ⎧ 3 ⎧ 3 − 𝑢𝑢 𝜋𝜋 1 1 1 0 1 1 𝑦𝑦 1 ⎪ 1 ⎪ ⎪ �− � �𝑢𝑢 � − 𝜋𝜋 √ √3 � − √ √3 −3 𝑧𝑧 − 𝑢𝑢 ⎨ ⎨ ⎨ 1 ⎪ √ ⎪ √ ⎪ obal Journal of obal Journal

l ⎩ ⎩ ⎩ The vector translation T (or t ) of the movement 0 is the sum of the two main perpendicular vectors T1 + G 1 T2 such as T1 is to be chosen parallel to n while the rest T2� is the translation vector part responsible for the shifting of the axis to its final position through the new center C as such we have:

𝟐𝟐 𝟏𝟏 T = and T = ; T being the translation part parallel to n while T being the perpendicular part with n. 1 ⎧𝟑𝟑 2 ⎧ 𝟑𝟑 1 2 ⎪ 𝟐𝟐 ⎪ 𝟐𝟐 𝟑𝟑 − 𝟑𝟑 ⎨ 𝟐𝟐 ⎨ 𝟏𝟏 ⎪ 𝟑𝟑 ⎪ 𝟑𝟑 ⎩ ⎩ ©2020 Global Journals The Kinematics of a Puma Robot using Dual Quaternions

The solutions to the system of linear equations are: = ; + = ; and + = (5) 𝟏𝟏 𝟐𝟐 𝟏𝟏 Choosing the centre C to belong to the plane ( y-z); = 0 or (Cx = 0 ) would imply the two coordinates 𝒙𝒙 𝒛𝒛 𝟑𝟑 𝒙𝒙 𝒚𝒚 𝟑𝟑 𝒚𝒚 𝒛𝒛 𝟑𝟑 representing the point C intersection of the shifted axis𝒖𝒖 −n𝒖𝒖 with the (y−𝒖𝒖-z) plane𝒖𝒖 to− be: − 𝒖𝒖 𝒖𝒖 𝒖𝒖𝒙𝒙

Cy = and Cz = . 𝟐𝟐 𝟏𝟏

𝟑𝟑 𝟑𝟑 For the ( z-x) plane ; = 0 or (Cy = 0 ) : Cz = − and Cx = . − 𝟏𝟏 𝟐𝟐 And finally considering the𝒚𝒚 (x-y) plane ; = 0 or (C = 0 ): C = and C = 𝒖𝒖 𝟑𝟑 z 𝟑𝟑x y So that to confirm these results ; we can finally check the following conjugation𝟏𝟏 matrices𝟏𝟏 : 𝒖𝒖𝒛𝒛 𝟑𝟑 − 𝟑𝟑 2 0 0 0 0 1 0 0 0 1 3 0 1 2 2 0 1 2 0 1 1 0 0 3 1 0 0 3 1 0 0 0 1 0 0 3 −1 1 = (4) Or, 0 1 0 2 0 1 0 0 1 0 1 3 ⎛0 1 0 ⎞ 3 ⎛ − ⎞ 3 ⎛ ⎞ 0 0 0 1 ⎜0 0 0 1 ⎟ ⎜ ⎟ ⎜0 0 0 1⎟ � � ≡ ⎜0 0 0 1⎟ 2020 2 ⎝ 2 ⎠ 0 0 1 ⎝ 2⎠ 0 0 1 ⎝ 3 ⎠ 0 0 1 Year 3 3 0 0 1 1 2 0 −0 1 0 0 0 1 0 0 1 0 0 1 0 0 1 3 1 = (4) 7 0 1 0 0 1 0 2 0 1 0 0 1 0 1 ⎛ 3 ⎞ ⎛ ⎞ ⎛ 3 ⎞ 0 0 0 1 3 − � � ≡ ⎜0 0 0 1⎟ ⎜0 0 0 1⎟ ⎜0 0 0 1 ⎟ 2 ⎝ 1 ⎠ 0 0 1 ⎝ 1⎠ 0 0 1 ⎝ 3⎠ 0 0 1 3 3 0 0 1 1 2 − 1 0 0 1 1 0 0 1 0 0 1 1 0 0 0

3 I ersion sue I V Or finally; 3 3 = (4) 0 1 0 − 0 1 0 2 0 1 0 0 1 0 1 ⎛ 0 ⎞ ⎛ ⎞ ⎛ 0 ⎞ 0 0 0 1 3 � � ≡ ⎜0 0 0 1 ⎟ ⎜0 0 0 1⎟ ⎜0 0 0 1 ⎟

Whenever necessary,⎝ Matlab was,⎠ throughout⎝ the⎠ chapter⎝ implemented,⎠ concerning all kinds of products or multiplication of quaternions or matrices. olume XX Is V

VII. he ame eneral xample using ual uaternions ) T S G E D Q ( = + = + + + = + 2 2 𝜀𝜀 𝑇𝑇𝑇𝑇 𝜀𝜀 𝑅𝑅 𝑥𝑥 𝑦𝑦 𝑧𝑧 𝑅𝑅 The two transformations𝑞𝑞� T1 𝑞𝑞 an𝜀𝜀d𝑞𝑞 T2 a𝑞𝑞re basic�𝑡𝑡 centered𝑖𝑖 𝑡𝑡 𝑗𝑗 𝑡𝑡helicoidal𝑘𝑘�⨂𝑞𝑞 movements𝑅𝑅 𝜀𝜀 through the origin O of the axes, that can be written: For the first movement around and along Oy: = + = = (c , 0 , s , 0) + ( s , 0 , c , 0 ) = 1 1 2 1 2 2 𝜀𝜀 2 2 2 𝜀𝜀 ( cos , 0 , sin , 0) + ( sin . 1 , 0 , cos . 1 , 0 ) = ( , 0 ,𝜀𝜀 , 0𝑦𝑦 ) + ( , 0 , , 0 ) 𝑦𝑦 𝑦𝑦 4 4 2 4 4 𝑞𝑞� 𝑞𝑞 2 𝑞𝑞 2 𝑞𝑞� 2 2 2 − 𝑡𝑡 𝑡𝑡 𝜋𝜋 𝜋𝜋 𝜀𝜀 𝜋𝜋 𝜋𝜋 √ √ 𝜀𝜀 √ √ followed by the second movement− around and along Ox: = + =− = (c , , 0 , 0 ) + ( s , c , 0 2 2 2 2 2 2 2 𝜀𝜀 2 2 𝜀𝜀 Researches in Engineering , 0) = ( cos , sin , 0, 0) + ( sin . 1 , cos . 1 , 0, 0) = ( , , 0 𝜀𝜀, 0) +𝑧𝑧 ( , , 0 , 0 ) 𝑧𝑧 𝑧𝑧 4 4 2 4 4 𝑞𝑞� 2 𝑞𝑞 2 𝑞𝑞 𝑞𝑞�2 2 𝑠𝑠2 − 𝑡𝑡 𝑡𝑡 𝜋𝜋 𝜋𝜋 𝜀𝜀 𝜋𝜋 𝜋𝜋 √ √ 𝜀𝜀 √ √ The dual quaternion product of −the two screw movements is: −

. = ( + ).( + ) = . + ( . + . ) = 2 1 2 2 2 1 2 1 2 1 2 2 1 2 1

𝜀𝜀 𝜀𝜀 𝜀𝜀 of obal Journal 𝜀𝜀 𝜀𝜀 𝜀𝜀 𝜀𝜀 l 𝑞𝑞� 𝑞𝑞� 𝑞𝑞 𝑞𝑞 𝑞𝑞 𝑞𝑞 𝑞𝑞 𝑞𝑞 𝑞𝑞 𝑞𝑞 𝑞𝑞 𝑞𝑞 G [ ( , , 0, 0) + ( , , 0 .0 )]. [( , 0 , , 0) + ( , 0 , , 0)] = √𝟐𝟐 √𝟐𝟐 𝜺𝜺 √𝟐𝟐 √𝟐𝟐 √𝟐𝟐 √𝟐𝟐 𝜺𝜺 √𝟐𝟐 √𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐 − 𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐 − 𝟐𝟐 𝟐𝟐 ( , , 0 , 0).( , 0 , , 0) + [ ( , , 0 , 0).( , 0 , , 0) + ( , , 0 .0 ). ( , 0 , , 0)] = √𝟐𝟐 √𝟐𝟐 √𝟐𝟐 √𝟐𝟐 𝜺𝜺 √𝟐𝟐 √𝟐𝟐 √𝟐𝟐 √𝟐𝟐 √𝟐𝟐 √𝟐𝟐 √𝟐𝟐 √𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐 − 𝟐𝟐 𝟐𝟐 − 𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐 ( ,( , , )) + [ ( , ( , , )) + ( ,( , . ))] = 𝟏𝟏 𝟏𝟏 𝟏𝟏 𝟏𝟏 𝜺𝜺 𝟏𝟏 𝟏𝟏 𝟏𝟏 𝟏𝟏 𝟏𝟏 𝟏𝟏 𝟏𝟏 𝟏𝟏 𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐 1 3 1− 1 − 1 − − ( , ( , , )) + ( 1, ( 0 , 0 , 1)) (6) 2 2 3 3 3 2 √ 𝜀𝜀 √ √ √ − ©2020 Global Journals The Kinematics of a Puma Robot using Dual Quaternions

Another way of doing it: We could get this same result starting from the (4x4) rigid transformation eq(4) 1 2 1 matrix defined before: A rotation of amplitude = = 120 º around the unit axis n = 1 followed by a 3 3 𝜋𝜋 1 1 𝜃𝜃 √ � translation t = 0 such that : = + = + + + = + = 2 2 1 𝜀𝜀 𝑇𝑇𝑇𝑇 � 𝑞𝑞� 𝑞𝑞 𝜀𝜀𝑞𝑞𝜀𝜀 𝑞𝑞𝑅𝑅 �𝑡𝑡𝑥𝑥 𝑖𝑖 𝑡𝑡𝑦𝑦 𝑗𝑗 𝑡𝑡𝑧𝑧𝑘𝑘�⨂𝑞𝑞𝑅𝑅 𝑅𝑅 𝜀𝜀 ( , ( , , )) + [ (0 , 1 , 0 , 1) ( ,( , , )) ]= 𝟏𝟏 √𝟑𝟑 𝟏𝟏 𝟏𝟏 𝟏𝟏 𝜺𝜺 𝟏𝟏 𝟏𝟏 𝟏𝟏 𝟏𝟏 𝟐𝟐 𝟐𝟐 √𝟑𝟑 √𝟑𝟑 √𝟑𝟑 𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐 𝟐𝟐 ( , ( , , )) + [ ( 1 , (0 , 0 , 0)) + (0 , ( , 0 , )) + (0 , ( , 0 , ))] = 𝟏𝟏 √𝟑𝟑 𝟏𝟏 𝟏𝟏 𝟏𝟏 𝜺𝜺 𝟏𝟏 𝟏𝟏 𝟏𝟏 𝟏𝟏 𝟐𝟐 𝟐𝟐 √𝟑𝟑 √𝟑𝟑 √𝟑𝟑 𝟐𝟐 − 𝟐𝟐 𝟐𝟐 − 𝟐𝟐 𝟐𝟐 ( , ( , , )) + ( 1, ( 0 , 0 , 1)) (6) 2 𝟏𝟏 √𝟑𝟑 𝟏𝟏 𝟏𝟏 𝟏𝟏 𝜀𝜀 𝟐𝟐 𝟐𝟐 √𝟑𝟑 √𝟑𝟑 √𝟑𝟑 2020 At this stage we know the complete integrality of informations− concerning this movement thanks to our 2 magic, rapid and powerful dual quaternion :The rotation part, as seen before, having amplitude = = 120 º 3 Year 𝜋𝜋

1 1 around the unit axis n; n = ; the dual part will provide us gratefully with the translation along𝜃𝜃 the axis of 1 8 3 1 √ 1 1 rotation; using eq (2): sin � , m sin + cos = ( 1, ( 0 , 0 , 1)) = ( , ( 0 , 0 , )) 2 2 2 2 2 2 2 2 𝑑𝑑 𝜃𝜃 𝜃𝜃 𝑑𝑑 𝜃𝜃 𝜀𝜀 3 1 2 2 3 We thus have the scalar 𝜀𝜀part: �− sin� = 𝑛𝑛 = � �implying− that d = = 𝜀𝜀 − and pitch p = 2 3 2 2 2 2 2 3 3 𝑑𝑑 𝜃𝜃 𝑑𝑑 √ √ 1 √ sue I V ersion I ersion sue I V We can also have the vector part:− m sin +− cos − = ( 0 , 0 , ) which implies: √ 2 2 2 2 𝜃𝜃 𝑑𝑑 𝜃𝜃 3 3 1 1 3 1 3 3 1 1 3 1 3 3 1 1 3 1 1 m + = m + = 0 ;� m + 𝑛𝑛 �= m + = 0 and m + = m + = x 2 3 3 2 x 2 6 y 2 3 3 2 y 2 6 z 2 3 3 2 z 2 6 2 √ √ √ √ √ √ √ √ √ 1 √ √ √ 3 3 − olume XX Is 1 V We can then deduce the vector moment m = √ ) ⎧ 3 3

− ⎪ 2 ( 3√3 ⎨ Finally we can have the right position ⎪of √the shifted axis u that have the same direction as the rotation axis n ⎩ by defining the coordinates ux ,uy and uz of a point or a center C belonging to it so that: m = u Λ n 1

3 3 u u − ux 1 y z 1 1 1 u u 1 1 2 Or √ = uy Λ 1 = z x implying that: uy uz = ; uz ux = and ux uy = ⎧ 3 3 3 3 − 3 3 3 ⎪ −2 uz 1 ux uy − − 3√3 � √ � √ � − − − − ⎨ −

Researches in Engineering Which confirm⎪ √ the same obtained results eq (5) using the (4x4) rigid transformation matrix: ⎩ 1 2 1 = ; + = ; and + = ( 5 ) 3 3 3 𝑢𝑢𝑥𝑥 − 𝑢𝑢𝑧𝑧 −𝑢𝑢𝑥𝑥 𝑢𝑢𝑦𝑦 − − 𝑢𝑢𝑦𝑦 𝑢𝑢𝑧𝑧 VIII. Application 2: Kinematics of the forward kinematic solution using the Denavit and Hartenberg convention.

obal Journal of obal Journal Puma 560 Robot l The elegant , most accurate , rapid and finally G The first three joints of this manipulator (Waist, the best manner to get the forward kinematic solutions Shoulder, Elbow) characterize for the first joint to be a of this Puma 560 robot is to use the dual quaternions: rotation about a vertical axis , for the second and the For the sake of comparaison let us choose the

third rotations about horizontal axes whose movements same home position for the robot with its (ai

are identified by the variables q1 , q2, and q3. The last and di) given in table (1) and the same absolute home three joints, which constitute the wrist of the robot arm, initial frame (x0 ,y0 ,z0) with its origin O taken in link1 at

are characterized by the rotations q4 , q5, and q6 the intersection of the base axis with the link1 axis (see whose axes intersect at the center of the wrist (See figure (3)), assuming mobile frames at the centers of the

appendix 10,3. Figures (3),(4) and Table 1 for the six rotations: (xn ,yn ,zn) which axes remain parallel to the

©2020 Global Journals The Kinematics of a Puma Robot using Dual Quaternions

‘home position’ or initial axes (x0 ,y0 ,z0). Let us equations A3 or A14 from appendix 10,2,1. to find the begin, with the first two rotations using either new vector position of the center O3 ( a2 , d2 , 0):

1 2 2 1 = 1 ( 2 ) 2 1 (7) ∗ ∗ ∗ ∗ 𝑣𝑣 𝑣𝑣 = (c𝑞𝑞� ,𝑞𝑞 �0 𝑞𝑞,� s�𝑞𝑞, 0𝑞𝑞�) [ 1+𝑞𝑞� (a𝑞𝑞� , �d𝑞𝑞�, 0𝑞𝑞�)] (�c𝑞𝑞� , 0 , s , 0) 2 2 2 2 2 2 2 2 ∗ Using correctly the rules for both𝑞𝑞� 𝑞𝑞�𝑣𝑣 quaternions�𝑞𝑞 eq (A1) and dual𝜀𝜀 quaternions multiplications− eq (A7) we have :

2 = (c2 , 0 , s2 , 0) + ( s2 d2 , c2 a2, c2d2, s2 a2 ) and

𝑣𝑣 𝑞𝑞� 𝑞𝑞� 2 2 = 1 + (0 , a𝜀𝜀2 −cos 2 , d2 , a2sin −2) thus ∗ 𝑣𝑣 1 2 2 1 =𝑞𝑞� (𝑞𝑞�c1 �𝑞𝑞, 0 , 0 , s1)[𝜀𝜀 1 + (0 , a𝜃𝜃2 cos 2− , d2 , a𝜃𝜃2sin 2)] (c1 , 0 , 0 , s1) ∗ ∗ Performing the product𝑞𝑞� 𝑞𝑞� 𝑞𝑞�𝑣𝑣 and�𝑞𝑞 𝑞𝑞 �using the trigonometric properties𝜀𝜀 we𝜃𝜃 can have− the 𝜃𝜃new quaternion− vector position:

1 + (0 , a2 cos 2 cos 1 2 1, a2 cos 2 1 + d2 cos 1, a2 sin 2 ) 2020 a 𝜀𝜀 𝜃𝜃2 𝜃𝜃2 − 𝑑𝑑 𝑠𝑠1𝑠𝑠𝑠𝑠 𝜃𝜃 2 1 𝜃𝜃 𝑠𝑠𝑠𝑠𝑠𝑠 𝜃𝜃 𝜃𝜃 − 𝜃𝜃 or the three coordinates vector: a2 2 1 + 2 1 (8) Year

𝑐𝑐𝑐𝑐𝑐𝑐 𝜃𝜃 𝑐𝑐𝑐𝑐a2𝑐𝑐 𝜃𝜃 −2 𝑑𝑑 𝑠𝑠𝑠𝑠𝑠𝑠 𝜃𝜃 9 � 𝑐𝑐𝑐𝑐𝑐𝑐 𝜃𝜃 𝑠𝑠𝑠𝑠𝑠𝑠 𝜃𝜃 𝑑𝑑 𝑐𝑐𝑐𝑐𝑐𝑐 𝜃𝜃 2 This result is confirmed (see appendix 10,3,2.)− by𝑠𝑠 𝑠𝑠𝑠𝑠the𝜃𝜃 fourth or last column of the matrix 0 : 0 𝑇𝑇 1 0 – 1 0 2 2 2 2 1 2 1 2 1 2 1 2 2 1 0 + 1 2 1 0 1 0 2 2 2 2 = 1 2 1 2 1 2 2 1 2 1 = 0 1 = R1 R2 = 𝑐𝑐 −𝑠𝑠 𝑎𝑎 𝑐𝑐 𝑐𝑐 𝑐𝑐 −𝑐𝑐 𝑠𝑠 − 𝑠𝑠 𝑎𝑎 𝑐𝑐 𝑐𝑐 − 𝑑𝑑 𝑠𝑠 𝑐𝑐 0 1 𝑠𝑠 0 0 0 0 1 2 2 2 0 2 2 𝑠𝑠 𝑐𝑐 𝑎𝑎 𝑠𝑠 𝑠𝑠 𝑐𝑐 −𝑠𝑠 𝑠𝑠 𝑐𝑐 𝑎𝑎 𝑐𝑐 𝑠𝑠 𝑑𝑑 𝑐𝑐 𝑇𝑇 𝑇𝑇 �𝑠𝑠 0 0 𝑐𝑐 0 1 � � 0 0 0 1 � � 0 0 0 1 � I ersion sue I V − 𝑑𝑑 −𝑠𝑠 −𝑐𝑐 −𝑎𝑎 𝑠𝑠 The third rotation of the third link is around the axis O3y3 , with the center O3 being displaced or shifted and thus having the position coordinates with respect to the asolute frame O3 (a2, d2, 0 ). Note: The conjugation (TRT-1) technique could be used in its dual quaternion form or its (4x4) rigid transformation form. olume XX Is

The dual quaternion ( ) definition (2) may be used instead; V )

= =𝑒𝑒�cos , sin = cos , sin + sin , m sin + cos << >> (2) ( 2 2 2 2 2 2 2 2 2 𝜃𝜃� 𝜃𝜃� 𝜃𝜃 𝜃𝜃 𝑑𝑑 𝜃𝜃 𝜃𝜃 𝑑𝑑 𝜃𝜃 � So replacing 𝑞𝑞� = 0𝑇𝑇 in �eq (2), will give𝑤𝑤��: � = cos , s𝑛𝑛in� 𝜀𝜀 �− = [ , (0, �, 0)] + 0 ,𝑛𝑛{m }�� 𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 3 2 2 3 3 3 𝜃𝜃� 𝜃𝜃� 𝑑𝑑 𝑞𝑞� � a2𝑤𝑤� � 0 𝑐𝑐 0 𝑠𝑠 𝜀𝜀� 𝑠𝑠 � The moment m, w- r - t the axis of rotation y3 , is m = 2 Λ 1 = 0 so that 3 = [ 3, (0, 3, 0)]+ 0, {(0,0, a2 3} 0 0 a2 �𝑑𝑑 � � 𝑞𝑞� 𝑐𝑐 𝑠𝑠 𝜀𝜀� 𝑠𝑠 � ( 1 2 ) 3 3 ( 2 1 ) = (c1 , 0 , 0 , s1) (c2 , 0 , s2 , 0) 3 3 ( 2 , 0 , 2 , 0) ( 1 , 0 , 0, 1) ∗ ∗ ∗ ∗ 𝑣𝑣 𝑣𝑣 To find𝑞𝑞� the𝑞𝑞� 𝑞𝑞new� 𝑞𝑞� vector𝑞𝑞� 𝑞𝑞� position𝑞𝑞� of the wrist center O4 :( a𝑞𝑞�2 +𝑞𝑞� a𝑞𝑞�3, d𝑐𝑐2 + d3−𝑠𝑠, 0) = ( 𝑐𝑐A, D, 0) −𝑠𝑠result of the three Researches in Engineering successives rotations we must start from the central operation namely :

3 = 3 3 = [( 3, 0, 3, 0 )+ ( 0,0, 2 3)] [(1+ ( A, D, 0))] [ 3 ] = ∗ ∗ 𝑣𝑣 𝑞𝑞� 𝑣𝑣 𝑞𝑞� 𝑞𝑞� 𝑞𝑞� 𝑐𝑐 𝑠𝑠 𝜺𝜺 𝑎𝑎 𝑠𝑠 𝜺𝜺 𝑞𝑞� [( 3, 0, 3, 0 ) + ( 0,0, 2 3)+ ( 3D, 3A , 3D, 3A)] [ 3 ]= obal Journal of obal Journal ∗ l � G [( 3, 0, 3𝑐𝑐, 0 +𝑠𝑠 ( 3D, 𝜺𝜺3A , 𝑎𝑎3D𝑠𝑠 , 3𝜀𝜀( −𝑠𝑠A)] [(𝑐𝑐3, 0, 𝑐𝑐 3, −𝑠𝑠0 )+ ( 0,0,𝑞𝑞� 2 3)] =

2 2 2 2 2 2 2 ( 3 + 3 , 0, 3 3 +𝑐𝑐 3 3𝑠𝑠 , 0) +𝜀𝜀 (−𝑠𝑠 3 3D𝑐𝑐 + 𝑐𝑐3 3D ,𝑠𝑠 3 − 2 + 𝑐𝑐3 A +−𝑠𝑠 3 ( 2 𝜺𝜺A), 3𝑎𝑎D𝑠𝑠 + 3 D , 3 3 2 3 3 A + 2 3 3 3 3 A ) 𝑐𝑐 𝑠𝑠 −𝑐𝑐 𝑠𝑠 𝑐𝑐 𝑠𝑠 𝜀𝜀 −𝑐𝑐 𝑠𝑠 𝑠𝑠 𝑐𝑐 𝑠𝑠 𝑎𝑎 𝑐𝑐 𝑠𝑠 𝑎𝑎 − 𝑠𝑠 𝑐𝑐 𝑐𝑐 𝑠𝑠 𝑎𝑎 −𝑐𝑐 𝑠𝑠 Using the basic trigonometric rules and properties we𝑎𝑎 𝑐𝑐can𝑠𝑠 write−𝑐𝑐 𝑠𝑠 the solution vector:

q v3 = q3 qv q3 = 1+ ε (0 , a2 + a3 cos θ3 , d2 + d3 , a3 sin θ3 ) = 1+ ε (a2 + a3 cos θ3 , d2 + d3 , a3 sin θ3 ) ∗ � � � � − −

©2020 Global Journals The Kinematics of a Puma Robot using Dual Quaternions

scalar part Ox coord. For a better use of space we may adopt to write our result dual quaternions vectors under the form: O coord. ⎧ y Oz coord. 0 ⎨ a2 ⎩ + a3 cos 3 a2 + a3 cos 3 So that the precedent result could be written 3 = or simply as a vector d2 + d3 d2 + d3 𝜃𝜃 𝜃𝜃 a3 sin 3 𝑞𝑞� 𝑣𝑣 � a3 sin 3 � � � Following the second transformation we have: (c , 0 , s , 0) ( , 0 , ,0 ) = − 𝜃𝜃 2 2− 3𝜃𝜃 2 2

𝑣𝑣 2 = (c2 , 0 , s2 , 0)[ 1 + (0 , a2 + a3 cos 3 ,𝑞𝑞�d2 +𝑐𝑐 d3 , −𝑠𝑠 a3 sin 3 ) ]( 2 , 0 , 2 , 0 ) = 𝑞𝑞� 𝑣𝑣 𝜀𝜀 𝜃𝜃 0 − 𝜃𝜃 𝑐𝑐 −𝑠𝑠 a2 + a3 cos 3 (c2 , 0 , s2 , 0) 1 + 2 = d2 + d3 ∗ 2020 𝜃𝜃 � 𝜀𝜀 � a3 sin 3 � � � 𝑞𝑞� �

Year 2(d2 + d3)

− 𝜃𝜃 2(a2 + a3 cos 3) 2a3 sin 3 10 ( 2 , 0 , 2 , 0) + −𝑠𝑠 ( 2 , 0 , 2 , 0 ) = ⎡ 2(d2 + d3) ⎤ 𝑐𝑐 𝜃𝜃 −𝑠𝑠 𝜃𝜃 ⎢ 𝑐𝑐 𝑠𝑠 𝜀𝜀 � 2a3 sin 3 2(a2 + a3 cos 3)� ⎥ 𝑐𝑐 −𝑠𝑠 ⎢ 𝑐𝑐 ⎥ ⎣ −2 𝑐𝑐2(d2 + d𝜃𝜃3)−𝑠𝑠+ 2 2(d2 + d3)𝜃𝜃 ⎦ 2 2 2 2 2 (a2 + a3 cos 3) 2 2a3 sin 3 2 2a3 sin 3 2 (a2 + a3 cos 3) ( 2 + 2 ,0, 2 2 + 2 2 , 0)+ −𝑐𝑐 𝑠𝑠2 𝑐𝑐 2𝑠𝑠 = 2 (d2 + d3) + 2 (d2 + d3)

sue I V ersion I ersion sue I V ⎛ 𝑐𝑐 2 𝜃𝜃 −𝑐𝑐 𝑠𝑠 𝜃𝜃 −𝑐𝑐 𝑠𝑠 𝜃𝜃 −𝑠𝑠 2 𝜃𝜃 ⎞ 𝑐𝑐 𝑠𝑠 −𝑐𝑐 𝑠𝑠 𝑐𝑐 𝑠𝑠 𝜀𝜀 2 a3 sin 3 2 2(a2 + a3 cos 3) 2 2(a2 + a3 cos 3) + 2 a3 sin 3 ⎜ 𝑐𝑐 𝑠𝑠 ⎟ 0 ⎝− 𝑐𝑐 𝜃𝜃 −𝑐𝑐 𝑠𝑠 𝜃𝜃 −𝑐𝑐 𝑠𝑠 𝜃𝜃 𝑠𝑠 𝜃𝜃 ⎠ 2 2 2 (a2 + a3 cos 3) – 2 2a3 sin 3 2 2a3 sin 3 2 (a2 + a3 cos 3) 1+ 2 2 2 (d2 + d3) + 2 (d2 + d3)

olume XX Is ⎛ 𝑐𝑐 2 𝜃𝜃 𝑐𝑐 𝑠𝑠 𝜃𝜃 −𝑐𝑐 𝑠𝑠 𝜃𝜃 −𝑠𝑠 2 𝜃𝜃 ⎞ V 𝜀𝜀 2 a3 sin 3 – 2 2(a2 + a3 cos 3) 2 2(a2 + a3 cos 3) + 2 a3 sin 3 ) ⎜ 𝑐𝑐 𝑠𝑠 ⎟

( − 𝑐𝑐 𝜃𝜃 𝑐𝑐 𝑠𝑠 0𝜃𝜃 −𝑐𝑐 𝑠𝑠 𝜃𝜃 𝑠𝑠 𝜃𝜃 ⎝ cos (a + a cos ) a sin sin ⎠ = 2 2 3 3 3 2 3 = (d2 + d3) 𝜃𝜃 𝜃𝜃 − 𝜃𝜃 𝜃𝜃 � a3cos 2sin 3 sin 2(a2 + a3cos 3)� We can finally get the transformed vector : − 2 𝜃𝜃 𝜃𝜃 − 𝜃𝜃 𝜃𝜃

𝑣𝑣 2 =1+ [(a3 cos ( 2 + 𝑞𝑞�3 ) + a2cos 2 , (d2 + d3) , a3sin ( 2 + 3 ) a2sin 2 )] We can finally perform𝑞𝑞� 𝑣𝑣 the𝜀𝜀 first but last𝜃𝜃 transformation𝜃𝜃 given𝜃𝜃 by the following− dual𝜃𝜃 quaternions𝜃𝜃 − products𝜃𝜃 :

(c1 , 0 , 0 , s1) (c2 , 0 , s2 , 0) 3 3 ( 2 , 0 , 2 , 0)( 1 , 0 , 0, 1) = Researches in Engineering ∗(c , 0 ,0 , s ) ( , 0, 0, ) = 𝑒𝑒� 𝑒𝑒�𝑣𝑣 𝑒𝑒� 1𝑐𝑐 −𝑠𝑠 1 2𝑐𝑐 1 −𝑠𝑠1

𝑞𝑞� 𝑣𝑣 𝑐𝑐 −𝑠𝑠 (c1 , 0, 0, s1) [1+ (a3 cos ( 2 + 3 ) + a2cos 2 , (d2 + d3) , a3sin ( 2 + 3 ) a2sin 2 )] 1 ∗ 𝜀𝜀 𝜃𝜃 𝜃𝜃 𝜃𝜃 0 − 𝜃𝜃 𝜃𝜃 − 𝜃𝜃 𝑞𝑞� obal Journal of obal Journal l a cos ( + ) + a cos G 3 2 3 2 2 (c1 , 0 , 0, s1) 1 + 1 = d2 + d3 ⎡ 𝜃𝜃 𝜃𝜃 𝜃𝜃 ⎤ ∗ ⎢ 𝜀𝜀 ⎛ a3sin ( 2 + 3 ) – a2sin 2 ⎞ ⎥ � 𝑞𝑞� � ⎢ ⎥ ⎣ ⎝a3 −1sin ( 2𝜃𝜃+ 3𝜃𝜃 ) + a2 1sin𝜃𝜃 2⎠ ⎦ a cos ( + ) + a cos (d + d ) 3 1 2 3 2 1 2 1 2 3 ( 1 , 0 , 0, 1) + 𝑠𝑠 𝜃𝜃 𝜃𝜃 𝑠𝑠 𝜃𝜃 1 = ⎡ 1(d2 + d3) + a3 1cos ( 2 + 3 ) + a2s1cos 2 ⎤ 𝑐𝑐 𝜃𝜃 𝜃𝜃 𝑐𝑐 𝜃𝜃 − 𝑠𝑠 ∗ ⎢ 𝑐𝑐 𝑠𝑠 𝜀𝜀 ⎛ a3 1 sin ( 2 + 3 ) – a2 1 sin 2) ⎞ ⎥ � 𝑞𝑞� � ⎢ 𝑐𝑐 𝑠𝑠 𝜃𝜃 𝜃𝜃 𝜃𝜃 ⎥ ⎣ ⎝ − 𝑐𝑐 𝜃𝜃 𝜃𝜃 𝑐𝑐 𝜃𝜃 ⎠ ⎦

©2020 Global Journals The Kinematics of a Puma Robot using Dual Quaternions

3 a3 1 sin ( 2 + 3 ) + a2 1 sin 2 a3 1cos ( 2 + 3 ) + a2 1cos 2 1(d 2 + d3) ( 1 , 0 , 0, 1) + 𝑠𝑠 𝜃𝜃 𝜃𝜃 𝑠𝑠 𝜃𝜃 ( 1 , 0 , 0, 1) = 1(d 2 + d3) + a3 1cos ( 2 + 3 ) + a2s1cos 2 𝑐𝑐 𝜃𝜃 𝜃𝜃 𝑐𝑐 𝜃𝜃 − 𝑠𝑠 � 𝑐𝑐 𝑠𝑠 𝜀𝜀 � a 3 1 sin ( 2 + 3 ) – a 2 1 sin 2 � � 𝑐𝑐 −𝑠𝑠 𝑐𝑐 𝑠𝑠 𝜃𝜃 𝜃𝜃 𝜃𝜃 2 2 − ( 𝑐𝑐1 + 1𝜃𝜃,0, 𝜃𝜃 1 1 + 𝑐𝑐1 1 ,0)𝜃𝜃 + 𝑐𝑐 𝑠𝑠 −𝑐𝑐 𝑠𝑠 𝑐𝑐 𝑠𝑠 a3 1 1sin ( 2 + 3 ) + a2 1 1sin 2 a3 1 1sin ( 2 + 3 ) a2 1 1sin 2 2 2 2 2 a3 1 cos ( 2 + 3 ) + a2 1 cos 2 1 1(d2 + d3) 1 1(d2 + d3) a3 1 cos ( 2 + 3 ) a2 1 cos 2 2 𝑐𝑐 𝑠𝑠 𝜃𝜃 𝜃𝜃 𝑐𝑐 𝑠𝑠 𝜃𝜃 − 𝑐𝑐 𝑠𝑠 𝜃𝜃 𝜃𝜃 − 𝑐𝑐 𝑠𝑠 𝜃𝜃 2 = 1 (d2 + d3) + a3 1 1cos ( 2 + 3 ) + a2 1s1cos 2 + a3 1 1cos ( 2 + 3 ) + a2 1 1cos 2 1 (d2 + d3) ⎛ 𝑐𝑐 𝜃𝜃 𝜃𝜃 2𝑐𝑐 𝜃𝜃 − 𝑐𝑐 𝑠𝑠 2 − 𝑠𝑠 𝑐𝑐 2 − 𝑠𝑠 2 𝜃𝜃 𝜃𝜃 − 𝑠𝑠 𝜃𝜃 ⎞ 𝜀𝜀 a3 1 sin ( 2 + 3 ) – a2 1 sin 2 a3 1 sin ( 2 + 3 ) a2 1 sin 2 ⎜𝑐𝑐 𝑐𝑐 𝑠𝑠 𝜃𝜃 𝜃𝜃 𝑐𝑐 𝜃𝜃 𝑠𝑠 𝑐𝑐 𝜃𝜃 𝜃𝜃 𝑠𝑠 𝑐𝑐 𝜃𝜃 − 𝑠𝑠 ⎟ ⎝ − 𝑐𝑐 𝜃𝜃 𝜃𝜃 𝑐𝑐 𝜃𝜃 − 0 𝑠𝑠 𝜃𝜃 𝜃𝜃 − 𝑠𝑠 𝜃𝜃 ⎠ 2 2 2 2 a3 1 23 + a2 1 cos 2 1 1(d2 + d3) 1 1(d2 + d3) a3 1 23 a2 1 cos 2 1+ 2 2 1 (d2 + d3) + a3 1 1 23 + a2 1s1cos 2 + a3 1 1 23 + a2 1 1cos 2 1 (d2 + d3) 𝑐𝑐 𝑐𝑐 𝑐𝑐 𝜃𝜃 − 𝑐𝑐 𝑠𝑠 − 𝑠𝑠 𝑐𝑐 − 𝑠𝑠 𝑐𝑐 − 𝑠𝑠 𝜃𝜃 2020 ⎛ a 2 – a 2sin a 2 a 2sin ⎞ 𝜀𝜀 𝑐𝑐 𝑐𝑐 𝑠𝑠3 𝑐𝑐1 23 𝑐𝑐2 1 𝜃𝜃2 3 𝑠𝑠1 𝑐𝑐 23𝑐𝑐 2 1𝑠𝑠 𝑐𝑐 2 𝜃𝜃 − 𝑠𝑠 Year

⎝ With − 23 𝑐𝑐= c𝑠𝑠os ( 2 +𝑐𝑐 3 )𝜃𝜃 an−d 𝑠𝑠23 𝑠𝑠= s−in ( 𝑠𝑠2 + 3𝜃𝜃 ) ⎠

11 𝑐𝑐 𝜃𝜃 𝜃𝜃 𝑠𝑠 𝜃𝜃 𝜃𝜃 1 (a2 2 + a3 23) 1(d2 + d3) The result vector is then: 1(a2 2 + a3 23) + 1( (d2 + d3) 𝑐𝑐𝑐𝑐𝑐𝑐𝜃𝜃 𝑐𝑐𝑐𝑐𝑐𝑐𝜃𝜃 𝑐𝑐 − 𝑠𝑠𝑠𝑠𝑠𝑠𝜃𝜃 (a2 2 + a3 23) �𝑠𝑠𝑠𝑠𝑠𝑠𝜃𝜃 𝑐𝑐𝑐𝑐𝑐𝑐𝜃𝜃 𝑐𝑐 𝑐𝑐𝑐𝑐𝑐𝑐𝜃𝜃 � 3 Which is confirmed by the last column (see appendix− 𝑠𝑠 𝑠𝑠𝑠𝑠(10,𝜃𝜃 3, 2.) of𝑠𝑠 the matrix 0 . sue I V ersion I ersion sue I V We can also, using the Denavit and Hartenberg Choosing𝑇𝑇 to use dual quaternions we only need formalism or the dual quaternions alike easily calculate to know the constants or values that concern the the coordinates of the terminal element (or the end construction or space geometry of the given robot effector) and so the final positioning of our Puma 560 (directions (orientations and axes) , rotations ,distances, robot relative to the base or fixed absolute frame. lengths of links) to evaluate its kinematics without any olume XX Is

threat to be lost in the maze or a jungle of choices .Most V

IX. Conclusion ) of all, it will prevent us from using the only other existing We hope that the reader should not get us method, or one of its options, which is that of the ( wrong: We never pretend that the D-H parameters Denavit and Hartenberg parameters that mainly method is wrong or obsolete and that it should be a consists of: thing of the past; recognising that this important 1. Choosing 3D frames attached to each link upon classical method was the precursor that enlightened the certain conditions /conventions, path to modern robotics; we only say that there exist 2. Schematic of the numbering of bodies and joints in through the DQ parameters another short, free of a robotic manipulator, following the convention for singularities and easy to work with, when dealing with attaching reference frames to the bodies, this will robot direct kinematics. On the light of the obtained help to create: results one has to say that the most perfect (not Researches in Engineering 3. A table for exact definition of the four parameters, ai, suffering singularities of any kind), easiest and rapid way αi, di, and θi, that locate one frame relative to to perform a 3D rigid transformation of any sort is to use another, the dual quaternion that caracterise that movement. 4. The (4x4 ) rigid transformation matrix that will have Most of all we are free to use the 3D space, being sure the given form : . (See 10,3.) that no loss of degree of freedom or guinball lock of any 𝒊𝒊 of obal Journal 𝒊𝒊 𝟏𝟏 l sort can never happen. Using a D-H parameters method This chapter𝑻𝑻 −provided a taste of the potential G or any of its counterparts means a choice of different advantages of dual-quaternions, and one can only sort of embarassing and somehow awkward three axes imagine the further future possibilities that they can offer. frames to be created and then allocated to each arm/ For example, there is a deeper investigation of the link; ‘providing’ our robot or mecanism with different mathematical properties of dual-quaternions (e.g., zero direction axes and angles with very much complicated divisions). There is also the concept of dual-dual- choice of signs (concerning the directions and the quaternions (i.e., dual numbers within dual numbers) angles alike) to be chosen subject to some rules and calculus for multi- parametric objects for the reader depending on the chosen method and model of robot. to pursue if he desires.

©2020 Global Journals The Kinematics of a Puma Robot using Dual Quaternions

We should emphasize on the fact that Matlab b) Quaternions and Dual Quaternions (Dq) software was used, throughout this work and whenever i. Quaternions or rotation representation necessary, concerning all kinds of products or Quaternions were first discovered and multiplication of quaternions or rigid transformation described by the Irish mathematician Sir Rowan matrices. Hamilton in 1843. Indeed quaternion’s representation Finally we hope all efforts should be conjugated and axis-angle representation are very similar. to create a common ‘PROJECT MATLAB Both are represented by the four dimensional QUATERNION/MATRIX platform’ to be used for the vectors. Quaternions also implicitly represent the straightforward calculations and manipulation of rotation of a rigid body about an axis. It also provides Quaternions and / or Dual Quaternions as well as better means of key frame interpolation and doesn’t conversions from or into 3D or 4D rigid body matrices. suffer from singularity problems. The definition of a quaternion can be given as X. Appendices (s, m) or (s, x, y, z) where m is a 3D vector, so a) Quaternion-Matlab Implementation Class: quaternions are like imaginary (complex) numbers with the real scalar 𝑞𝑞part𝑞𝑞 s and𝑞𝑞 the imaginary vector part m.

2020 >> % See paragraph 3; Example 1: Rotations

represented by Quaternions Thus it can be also written as: s + x i + y j + z k. Year

>> % A first rotation of angle π/2 around the x -axis ,q1 There are conversion 𝑞𝑞 methods𝑞𝑞 𝑞𝑞between 12 , followed by a rotation of angleπ/2 around the y -axis , quaternions, axis-angle and rotation matrix. q2 will result in a rotation given by the product n1 = Common operations such as addition, inner q2.q1 : product etc can be defined over quaternions. Given the definition of and : >> q1 =[ cos(pi/4) sin(pi/4) 0 0 ]; 1 2 = + + + or = ( , m ) q2 =[cos(pi/4) 0 sin(pi/4) 0 ]; 1 1 x1 𝑞𝑞y1 𝑞𝑞 z1 1 1 1

sue I V ersion I ersion sue I V = + + + or = ( , m ) >> n1 = quatmultiply (q2,q1) 𝑞𝑞2 𝑠𝑠2 𝑞𝑞x2 𝑖𝑖 𝑞𝑞y2 𝑗𝑗 𝑞𝑞z2 𝑘𝑘 𝑞𝑞2 𝑠𝑠2 2 Addition operation is defined as: n1 = 0.5000 0.5000 0.5000 -0.5000 𝑞𝑞 𝑠𝑠 𝑞𝑞 𝑖𝑖 𝑞𝑞 𝑗𝑗 𝑞𝑞 𝑘𝑘 𝑞𝑞 𝑠𝑠 1 + 2 = ( 1 + 2, m1 + m2) = ( 1 + 2) + ( x1 + x2)i >> % If the order is inversed the result will be given + ( y1 + y2)j + ( z1 + z2)k by the quaternion n2 = q1.q2 𝑞𝑞 𝑞𝑞 𝑠𝑠 𝑠𝑠 𝑠𝑠 𝑠𝑠 𝑞𝑞 𝑞𝑞

olume XX Is dot (scalar, inner):𝑞𝑞 product𝑞𝑞 operation(.)𝑞𝑞 𝑞𝑞 as: V

) >> n2 = quatmultiply (q1,q2)

1. 2 = 1. 2 + m1. m2 ( n2 = 0.5000 0.5000 0.5000 0.5000 Quaternion multiplication𝑞𝑞 𝑞𝑞 𝑠𝑠 is 𝑠𝑠non commutative, but it is >> % Using 3*3 matrices; if the rotation R1 is associative. performed first the rotation product is R2*R1: Multiplication identity element is defined as: (1, (0, 0, 0)) We can also perform the multiplication in the R1 = [1 0 0;0 0 -1;0 1 0 ]; imaginary number domain using the definitions: R2 = [ 0 0 1; 0 1 0;-1 0 0]; 2 = 2 = 2 = −1; . = , . = , . = ; prod1 = R2*R1 . = − , . = − , . = − 𝑖𝑖 𝑗𝑗 𝑘𝑘 𝑖𝑖 𝑗𝑗 𝑘𝑘 𝑗𝑗 𝑘𝑘 𝑖𝑖 𝑘𝑘 𝑖𝑖 𝑗𝑗 prod1 = Equations (A1) to (A15) state the definitions,

Researches in Engineering 𝑗𝑗 𝑖𝑖 𝑘𝑘 𝑘𝑘 𝑗𝑗 𝑖𝑖 𝑖𝑖 𝑘𝑘 𝑗𝑗 rules and properties of dual quaternion algebra. 0 1 0 Quaternion multiplication ( ) is defined as: 0 0 -1 1 2 = ( 1. 2 – m1. m⨂2, 1. m2 + 2. m1 + m1 m2) -1 0 0 (A1) 𝑞𝑞 ⨂𝑞𝑞 𝑠𝑠 𝑠𝑠 𝑠𝑠 𝑠𝑠 ∧

obal Journal of obal Journal >> % if the order is inversed the multiplication will be Each quaternion has a conjugate (except l

G R1*R2: zero quaternion) defined by: ∗ 𝑞𝑞 prod2 = R1*R2 = ( s, – m ) (A2) ∗ 1 prod2 = and an inverse 1 = ( )2 ; ( ≠ 0) Where | |2 𝑞𝑞 | | 0 0 1 = s 2 + 2 + 2− + 2 = ∗ = x y𝑞𝑞 z 𝑞𝑞 𝑞𝑞 𝑞𝑞 𝑞𝑞 ∗ ∗ 1 0 0 Rotations are defined by unit quaternions. Unit quaternions𝑞𝑞 must𝑞𝑞 satisfy𝑞𝑞 | 𝑞𝑞| =⨂ 1𝑞𝑞. Since𝑞𝑞 ⨂ multiplication𝑞𝑞 of 0 1 0 two unit quaternions will be a unit quaternion, N 𝑞𝑞

©2020 Global Journals The Kinematics of a Puma Robot using Dual Quaternions

rotations can be combined into one unit quaternion qR The equation implies that vector V is first rotated = qR1 .qR2. qR3 .... qRN by the rotation represented by q followed by the rotation It is also possible to rotate a vector directly by p. using quaternion multiplication. To do this, we must A quaternion q that defines a rotation about

define a 3D vector V = (vx, vy, vz) that we want to rotate in (around) the axis n denoted by the unit vector (nx, ny , nz) quaternion definition as qv = (0, v) = 0 + vx i+ vy j+ vz k. of an angle could be written as : The rotated vector V ′ = (vx ′, vy ′, vz ′) can be defined as q = cos + sin (n i + n j + n k) (A5) 2 2 x y z q = (0, v ) = 0 + v i + v j + v k 𝜃𝜃 𝜃𝜃 𝜃𝜃 v’ ′ x ′ y ′ z ′ This same quaternion represents a rotation of Noting that, in quaternion rotation 1 = (For amplitude ( ) around the opposite axis ( n ) unit quaternion). So, rotation of qv by quaternion− q∗ can be calculated as: 𝑞𝑞 𝑞𝑞 ii. Dual quaternions Dual− 𝜃𝜃Quaternions (DQ) were proposed− by 1 qv’ = q qv = q qv (A3) William Kingdom Clifford in 1873.They are an extension − ∗ of quaternions. They represent both rotations and And, assuming another⨂ ⨂ 𝑞𝑞quaternion⨂ rotation⨂ 𝑞𝑞 p, two rotations can be applied to the vector V such as: translations whose composition is defined as a rigid

transformation. 2020 1 1 1 qv’ = p (q qv ) = (p q ) qv ( They are represented by the following eight 1 1 − ) = C− qv (A4)− dimensional vector: Year

⨂ ⨂ ⨂ 𝑞𝑞 − ⨂ 𝑝𝑝 ⨂− ⨂ ⨂ 𝑞𝑞 Providing ⨂that𝑝𝑝 quaternion⨂ C⨂ =𝐶𝐶 (p q) is a 13 combinaison of the precedent quaternions q and p. ⨂ = ( , ) = (s , x , y, z , , , , ) = ( , , , ) (A6)

𝜀𝜀 𝑠𝑠 𝜀𝜀 𝑥𝑥 𝜀𝜀 𝑦𝑦 𝜀𝜀 𝑧𝑧 Such that: = + 𝑞𝑞� = s𝑠𝑠� +𝑚𝑚� x i + y j𝑞𝑞 + 𝑞𝑞z k𝑞𝑞 +𝑞𝑞 ( 𝑞𝑞 +𝑞𝑞 +𝑞𝑞 + 𝑠𝑠� 𝑥𝑥� ) 𝑦𝑦� 𝑧𝑧�

Dual quaternion multiplication is defined𝜀𝜀 by: 𝜀𝜀 𝑠𝑠 𝜀𝜀 𝑥𝑥 𝜀𝜀 𝑦𝑦 𝜀𝜀 𝑧𝑧

𝑞𝑞� 𝑞𝑞 𝜀𝜀𝑞𝑞 𝑞𝑞 𝑞𝑞 𝑞𝑞 𝜀𝜀 𝑞𝑞 𝑞𝑞 𝑞𝑞 𝑞𝑞 I ersion sue I V

1 2 = 1 2 + ( 1 2 + 1 2 ) (A7) 2 With = 0; being the second order𝑞𝑞� ⨂nilpotent𝑞𝑞� 𝑞𝑞 dual⨂ 𝑞𝑞 factor.𝜀𝜀 𝑞𝑞 ⨂ 𝑞𝑞 𝜀𝜀 𝑞𝑞 𝜀𝜀 ⨂ 𝑞𝑞 The dual conjugate (analogous to complex conjugate) is denoted by: 𝜀𝜀 𝜀𝜀 = - (A8) olume XX Is

V )

This conjugate operator can lead to the definition of the inverse𝜀𝜀 of which is: 𝑞𝑞� 𝑞𝑞 𝜀𝜀𝑞𝑞 ( 1 1 1 1 = = = 2 ; which means that a pure (𝑞𝑞� : = 0) does not have an inverse) � − 𝑞𝑞� 𝑞𝑞𝜀𝜀 𝑞𝑞� 𝑞𝑞� 𝑞𝑞� 𝑞𝑞 𝑞𝑞 𝑞𝑞� − 𝜀𝜀 1 1 𝑖𝑖𝑖𝑖 𝑞𝑞 = = = ( + )( 2 ) = 2 + = + = 1 0 = 1 − 𝑞𝑞𝜀𝜀 𝑞𝑞 𝑞𝑞𝑞𝑞𝜀𝜀 𝜀𝜀𝑞𝑞𝜀𝜀 𝑞𝑞 𝑞𝑞𝜀𝜀 𝜀𝜀𝑞𝑞𝜀𝜀 𝑞𝑞� 𝑞𝑞� ⨂ 𝑞𝑞� 𝑞𝑞 𝜀𝜀𝑞𝑞𝜀𝜀 𝑞𝑞 − 𝜀𝜀 𝑞𝑞 𝑞𝑞 − 𝜀𝜀 𝑞𝑞 𝑞𝑞 𝑞𝑞 − 𝜀𝜀 𝑞𝑞 𝑞𝑞 − A second conjugation operator is defined for DQs. It is the classical quaternion conjugation and is denoted by: = + ∗ Combining∗ ∗these two conjugation operators will lead to the formalization of DQ transformation on 3D points. 𝜀𝜀

Use of𝑞𝑞� both𝑞𝑞 conjugations𝜀𝜀𝑞𝑞 on can be denoted .Using definitions (A2), (A6) and (A8) we finally have: Researches in Engineering ∗ 𝑞𝑞� = (s , 𝑞𝑞� x , y, z , , , , ) (A9) ∗ It is well know that we can𝑞𝑞� use dual− 𝑞𝑞quaternions−𝑞𝑞 −𝑞𝑞 −to𝑞𝑞 𝜀𝜀represent𝑠𝑠 𝑞𝑞𝜀𝜀 𝑥𝑥 𝑞𝑞 𝜀𝜀 𝑦𝑦a general𝑞𝑞𝜀𝜀 𝑧𝑧 transformation subject to the following constraints:

2 of obal Journal The DQ screw motion operator : = ( , ) must be of unit magnitude: | | = ( + ) = 1 l G This requirement means two distinct𝑞𝑞� conditions𝑞𝑞 𝑞𝑞𝜀𝜀 or constraints: 𝑞𝑞� 𝑞𝑞 𝜀𝜀𝑞𝑞𝜀𝜀 2 2 2 2 s + x + y + z = 1 and

s + 𝑞𝑞 x 𝑞𝑞 + y 𝑞𝑞 + z = 0 (A10) Which imposed on the eight (8) 𝑞𝑞parameters𝜀𝜀 𝑠𝑠 𝑞𝑞 𝑞𝑞𝜀𝜀 𝑥𝑥of a𝑞𝑞 general𝑞𝑞𝜀𝜀 𝑦𝑦 𝑞𝑞DQ,𝑞𝑞𝜀𝜀 𝑧𝑧 effectively reduce the number of degree of freedom (8 − 2) = 6; equivalent to the degree of freedom of any free rigid body in 3-D space

©2020 Global Journals The Kinematics of a Puma Robot using Dual Quaternions

iii. Dual Quaternions or general 3D rigid transformation representation While equation (A5) defines completely and unambiguously (without any singularity like guimbal lock and other loss of degree of freedom) all 3D rotations in the physical space, dual quaternions can represent translations; A DQ defined as: = 1+ + + corresponds to the translation vector = ( , , )t 2 𝜀𝜀 which could symbolically𝑞𝑞�𝑇𝑇 be noted�𝑡𝑡𝑥𝑥 𝑖𝑖 T𝑡𝑡; 𝑦𝑦so𝑗𝑗 𝑡𝑡 𝑧𝑧𝑘𝑘 � = 1+ 𝑇𝑇�⃗ 𝑡𝑡𝑥𝑥 𝑡𝑡𝑦𝑦 𝑡𝑡𝑧𝑧 2 𝑇𝑇 The translation T on the vector can be computed𝑞𝑞�𝑇𝑇 by:𝜀𝜀 = ′ ∗ So fortunately using def (A9), we𝑣𝑣⃗ have: 𝑞𝑞�𝑣𝑣 𝑞𝑞�𝑇𝑇 ⨂𝑞𝑞�𝑣𝑣 ⨂𝑞𝑞�𝑇𝑇 = = 1+ , then = = = [1+ + + ] [1+ + + 2 2 𝑇𝑇 𝜀𝜀 ∗ ′ )]∗ [1 + + + ] = �𝑇𝑇 𝑇𝑇 𝑣𝑣 𝑇𝑇 𝑣𝑣 �𝑇𝑇 𝑇𝑇 2 𝑣𝑣 𝑇𝑇 𝑥𝑥 𝑦𝑦 𝑧𝑧 𝑥𝑥 𝑦𝑦 𝑞𝑞� 𝑞𝑞� 𝜀𝜀 𝑞𝑞� 𝑞𝑞� ⨂𝑞𝑞� ⨂𝑞𝑞� 𝑞𝑞� 𝜀𝜀⨂𝑞𝑞� ⨂𝑞𝑞� �𝑡𝑡 𝑖𝑖 𝑡𝑡 𝑗𝑗 𝑡𝑡 𝑘𝑘 � ⨂ 𝜀𝜀 �𝑣𝑣 𝑖𝑖 𝑣𝑣 𝑗𝑗 1+ 𝑣𝑣 𝑧𝑧[𝑘𝑘 ⨂+ ) + �(𝑡𝑡𝑥𝑥 𝑖𝑖+ 𝑡𝑡𝑦𝑦)𝑗𝑗 + 𝑡𝑡(𝑧𝑧𝑘𝑘 +� ) ]

2020 Which correspond to the transformed vector:𝜀𝜀 �𝑣𝑣𝑥𝑥 =𝑡𝑡𝑥𝑥 𝑖𝑖 +𝑣𝑣𝑦𝑦) +𝑡𝑡𝑦𝑦 (𝑗𝑗 +𝑣𝑣𝑧𝑧 ) 𝑡𝑡+𝑧𝑧 (𝑘𝑘 �+ )

Year iv. Combining rotation and translation 𝑥𝑥 𝑥𝑥 𝑦𝑦 𝑦𝑦 𝑧𝑧 𝑧𝑧 𝑣𝑣⃗′ �𝑣𝑣 𝑡𝑡 𝑖𝑖 𝑣𝑣 𝑡𝑡 𝑗𝑗 𝑣𝑣 𝑡𝑡 𝑘𝑘 � Transformations represented by DQs can be combined into one DQ (similar to quaternions combination 14 Assuming: and then , two DQ transformations applied successively and in that order to a DQ position vector ; Their combined DQ transformation applied to gives: 𝑞𝑞� 𝑝𝑝̂ 𝑞𝑞�𝑣𝑣 = ( ) 𝐶𝐶̂ = ( 𝑞𝑞� 𝑣𝑣 ) ( ) = (A11) ′ ∗ ∗ ∗ ∗ ∗ It is very important𝑞𝑞�𝑣𝑣 to𝑝𝑝̂⨂ notice𝑞𝑞� ⨂ that𝑞𝑞�𝑣𝑣 ⨂ the𝑞𝑞� most⨂ 𝑝𝑝̂̅ inner𝑝𝑝 ̂transformation⨂ 𝑞𝑞� ⨂ 𝑞𝑞�𝑣𝑣 ⨂ of𝑞𝑞� ⨂the𝑝𝑝 ̂̅equation𝐶𝐶̂ ⨂ is 𝑞𝑞�applied𝑣𝑣 ⨂ 𝐶𝐶̂̅ first with an inside to outside manner. sue I V ersion I ersion sue I V In eq (22), is the first transformation followed by the second one . The successive composition or combination of unit DQ rotation = R followed by a DQ translation = 1+ +𝑞𝑞� + 𝑝𝑝̂ 2 𝑞𝑞�𝑅𝑅 𝑞𝑞�𝑇𝑇 will giv𝜀𝜀 e: �𝑡𝑡𝑥𝑥 𝑖𝑖 𝑡𝑡𝑦𝑦 𝑗𝑗 𝑡𝑡𝑧𝑧 𝑘𝑘 � olume XX Is

V = (1+ + + ) qR = qR + + + qR = R + (A12) ) 2 2 2 𝜀𝜀 𝜀𝜀 𝑇𝑇𝑇𝑇

( 𝑇𝑇 𝑅𝑅 𝑥𝑥 𝑦𝑦 𝑧𝑧 𝑥𝑥 𝑦𝑦 𝑧𝑧 Its inverse being: ( R𝑞𝑞� +⨂ 𝑞𝑞 � ) 1 = �𝑡𝑡 𝑖𝑖 𝑡𝑡 𝑗𝑗 𝑡𝑡 𝑘𝑘 � ⨂ �𝑡𝑡 𝑖𝑖 𝑡𝑡 𝑗𝑗 𝑡𝑡 𝑘𝑘 �⨂ 𝜀𝜀 2 2∗ 𝑇𝑇𝑇𝑇 − ∗ 𝑅𝑅 𝑇𝑇 If the translation is applied𝜀𝜀 first: 𝑅𝑅 − = (1 + + + ) = q + + + q = R + (A13) 2 R 2 R 2 𝜀𝜀 𝜀𝜀 𝑅𝑅𝑅𝑅 𝑅𝑅 𝑇𝑇 𝑅𝑅 𝑥𝑥 𝑦𝑦 𝑧𝑧 𝑅𝑅 𝑥𝑥 𝑦𝑦 𝑧𝑧 Its inverse being𝑞𝑞�: (⨂ R 𝑞𝑞 �+ 𝑞𝑞� )⨂1 = �𝑡𝑡 𝑖𝑖 𝑡𝑡 𝑗𝑗 𝑡𝑡 𝑘𝑘 � 𝑞𝑞� ⨂ �𝑡𝑡 𝑖𝑖 𝑡𝑡 𝑗𝑗 𝑡𝑡 𝑘𝑘 � 𝜀𝜀 2 2 ∗ 𝑅𝑅𝑅𝑅 − ∗ 𝑇𝑇𝑅𝑅 v. Several transformations𝜀𝜀 𝑅𝑅 − Suppose that the vector V in its dual quaternion form = 1 + is under a sequence of rigid Researches in Engineering transformations represented by the dual quaternions , , . . . , . The resulting vector is encapsulated in the dual 1 2 n 𝑣𝑣 quaternion: 𝑞𝑞� 𝜀𝜀 𝑣𝑣 𝑞𝑞� 𝑞𝑞� 𝑞𝑞� 1+ = n ( n−1 …. ( 1 (1+ ) 1) …. . n− 1) n (A14) ∗ ∗ ∗ 𝜀𝜀 𝑣𝑣 ′ 𝑞𝑞�= ⨂( n 𝑞𝑞� …⨂ 1 )⨂ 𝑞𝑞(�1+⨂ ) 𝜀𝜀 𝑣𝑣( ⨂1 𝑞𝑞�…. ⨂ n)⨂ 𝑞𝑞� ⨂ 𝑞𝑞�

obal Journal of obal Journal ∗ ∗ l We denote the product dual quaternion as = n …� 1. The �effect is equivalent to a single rigid G 𝑞𝑞� ⨂ ⨂𝑞𝑞� ⨂ 𝜀𝜀 𝑣𝑣 ⨂ 𝑞𝑞� ⨂ ⨂ 𝑞𝑞� transformation represented by ; namely, 𝑞𝑞� 𝑞𝑞� ⨂ ⨂𝑞𝑞� 𝑞𝑞� 1+ = (1+ ) . ∗ Using dual numbers and plucker coordinates and𝜀𝜀 𝑣𝑣 introducing′ 𝑞𝑞� ⨂ the𝜀𝜀 𝑣𝑣following⨂ 𝑞𝑞� dual angle and dual vector we can write: = + and

𝜃𝜃� 𝜃𝜃= +𝜀𝜀𝜀𝜀 It can be easily shown that: 𝑙𝑙̂ 𝑙𝑙 𝜀𝜀𝜀𝜀

©2020 Global Journals The Kinematics of a Puma Robot using Dual Quaternions

+ cos = cos sin and 2 2 2 2 𝜃𝜃 𝜀𝜀𝜀𝜀 𝜃𝜃 𝑑𝑑 𝜃𝜃 (A15) −𝜀𝜀 + sin = sin + cos 2 2 2 2 𝜃𝜃 𝜀𝜀𝜀𝜀 𝜃𝜃 𝑑𝑑 𝜃𝜃 vi. D-H Parameters For The Puma 560 Robot 𝜀𝜀 2020 Year

15 sue I V ersion I ersion sue I V olume XX Is V )

(

Figure 3: System of connections coordinates and parameters of joints for the PUMA 560 robot arm according to the Denavit and Hartenberg convention vii. Parameters of Denavit and Hartenberg 2. Definition of the main axes of each segment:

The Denavit and Hartenberg Convention is a • If zi and zi-1 do not intersect we choose xi so as to systematic method. It allows the passage between be the parallel with the axis perpendicular to zi adjacent joints of a robotics system. It relates to the and zi-1. Researches in Engineering open kinematic chains where the joint possesses only • If zi and zi-1 are collinear, xi is chosen in the plane one degree of freedom, and the adjacent surfaces perpendicular to zi-1. remain in contact. For this aspect the use of hinges or 3. Fix the four geometric parameters: di, θi, ai , (see slides is indispensable. The choice of the frames for the Figure( 4)) for each joint such as: links facilitates the calculation of the DH homogeneous 𝛂𝛂𝒊𝒊 of obal Journal l matrices and makes it possible to rapidly express G information of the terminal element towards the base or the reverse. The steps for this technique are as follows: 1. Numbering of the constituent segments of the manipulator arm from the base to the terminal element. The zero referential is associated with the base of it, and the order n to the terminal element (end effector);

©2020 Global Journals The Kinematics of a Puma Robot using Dual Quaternions

2020 Figure 4: Coordinate systems and parameters of Denavit and Hartenberg Year

• di coordinate of the origin Oi on the axis zi-1 For a • α1 is the angle between zi et zi-1 obtained by

16 slide di is a variable and for a hinge di is a constant. screwing zi-1 to zi around xi. • θi is the angle obtained by screwing xi-1 to xi around Finally, the homogeneous DH displacement the axis zi-1.For a slide is a constant and for a matrix [ ] which binds together the rotation and the hinge is a variable. 𝒊𝒊 𝒊𝒊 translation is formed . Its left upper part defines the • a is the distance between𝒒𝒒 the axes z and z 𝑻𝑻𝒊𝒊−𝟏𝟏 i 𝒊𝒊 i i-1 rotation matrix and on its right the translation measured𝒒𝒒 on the axis xi negative from its origin up vector 𝒊𝒊 sue I V ersion I ersion sue I V to the intersection with the axis zi-1. 𝑹𝑹𝒊𝒊−𝟏𝟏

1 1 [ 1] : (9) 0 0𝑖𝑖 0𝑖𝑖 1 𝑖𝑖 𝑖𝑖− 𝑖𝑖− 𝑇𝑇𝑖𝑖− � 𝑅𝑅 𝑑𝑑 �

olume XX Is With 1 = (10) V 𝑐𝑐𝑐𝑐𝑐𝑐 𝜃𝜃𝑖𝑖 −𝑐𝑐𝑐𝑐𝑐𝑐 α𝑖𝑖 𝑠𝑠𝑠𝑠𝑠𝑠 𝜃𝜃𝑖𝑖 𝑠𝑠𝑠𝑠𝑠𝑠 α𝑖𝑖 𝑠𝑠𝑠𝑠𝑠𝑠 𝜃𝜃𝑖𝑖

) 𝑖𝑖 0

𝑖𝑖− 𝑖𝑖 𝑖𝑖 𝑖𝑖 𝑖𝑖 𝑖𝑖 𝑅𝑅 �𝑠𝑠𝑠𝑠𝑠𝑠 𝜃𝜃 𝑐𝑐𝑐𝑐𝑐𝑐 α 𝑐𝑐𝑐𝑐𝑐𝑐 𝜃𝜃 −𝑠𝑠𝑠𝑠𝑠𝑠 α 𝑐𝑐𝑐𝑐𝑐𝑐 𝜃𝜃 � ( 𝑠𝑠𝑠𝑠𝑠𝑠 α𝑖𝑖 𝑐𝑐𝑐𝑐𝑐𝑐 α𝑖𝑖 And = (11) 1 𝑖𝑖 𝑖𝑖 𝑖𝑖 𝑎𝑎 𝑐𝑐𝑐𝑐𝑐𝑐 𝜃𝜃 𝑑𝑑𝑖𝑖− � 𝑎𝑎𝑖𝑖 𝑠𝑠𝑠𝑠𝑠𝑠 𝜃𝜃𝑖𝑖 Figure (4) represents the Denavit and Hartenberg parameters𝑑𝑑𝑖𝑖 for a two successive frames (xi-1, yi-1 , zi-1 ) and (xi, yi , zi ). And finally the (4x4 ) rigid transformation matrix will have the form: 𝒊𝒊 𝒊𝒊− 𝟏𝟏 𝑻𝑻 sin sin 𝑖𝑖 𝑖𝑖 𝑖𝑖 𝑖𝑖 Researches in Engineering 𝑖𝑖 𝑖𝑖 𝑖𝑖 (12) 𝑐𝑐𝑐𝑐𝑐𝑐0 𝜃𝜃 −𝑐𝑐𝑐𝑐s𝑐𝑐inα 𝑠𝑠𝑠𝑠𝑠𝑠 𝜃𝜃 𝑠𝑠𝑠𝑠𝑠𝑠 α 𝑠𝑠𝑠𝑠𝑠𝑠 𝜃𝜃 𝑎𝑎 𝑐𝑐𝑐𝑐𝑐𝑐 𝜃𝜃 𝑖𝑖 𝑐𝑐𝑐𝑐𝑐𝑐α𝑖𝑖 𝑐𝑐𝑐𝑐𝑐𝑐 𝜃𝜃𝑖𝑖 −𝑠𝑠𝑠𝑠𝑠𝑠α𝑖𝑖 𝑐𝑐𝑐𝑐𝑐𝑐 𝜃𝜃𝑖𝑖 𝑎𝑎𝑖𝑖 𝜃𝜃𝑖𝑖 � 0𝜃𝜃 0 0 1 � α𝑖𝑖 𝑐𝑐𝑐𝑐𝑐𝑐 α𝑖𝑖 𝑑𝑑𝑖𝑖 The definition of the frames associated with the z2.+ y1 downwards, superimposed with the axis of the links according to the Denavit and Hartenberg base and parallel with y2.+ x1 is parallel to the link 2. convention is as follows: Link 3: Frame (x2 ,y2 ,z2) ;The origin is taken in link 2 at obal Journal of obal Journal l Link1: Frame (x ,y ,z ) ;The origin O is taken in link1 at the intersection of the axis of the link 2 with the axis of

G 0 0 0 the intersection of the base axis with the link1 axis. z0 the joint 3.z2 axis of rotation, + z2 is perpendicular to link axis of rotation, + z0 upwards.+ y0 coincides with the 2 and axis z3.+ y2 downwards, opposite with + z3.+ x2 axis of the link 1 and the axis + z1.y1 is parallel to the is parallel to the link 2. link 2. Link 4: Frame (x3, y3, z3); The origin is taken in link 3.z3 Link 2: Frame (x1 ,y1 ,z1) ;The origin coincides with the axis of rotation, + z3 towards the wrist and origin of the frame (x0 ,y0 ,z0,) .z1 axis of rotation, + z1 is perpendicular to +z4 .+ y3 is perpendicular to the link 2, perpendicular to the link 2 and parallel to the axis + and parallel to +z4.+ x3 is parallel to the link 2.

©2020 Global Journals The Kinematics of a Puma Robot using Dual Quaternions

Link 5: Frame (x4 ,y4 ,z4) ;The origin is taken at the +z6 is parallel to +z5. and +y6 is parallel to + y5 . +x6 is center of the wrist.z4 axis of rotation, + z4 is parallel to +x5. perpendicular to link 2 superposed with +z5 . + y4 is By respecting the original position of the robot opposite to + z5.+ x4 is parallel to link 2. and the definition of the links and correspondant frames presented in Figure (3), the parameters of the PUMA Link 6: Frame (x5,y5, z5) ;The origin coïncides with the 560 robot arm given by the Denavit and Hartenberg origin of the link (x4,y4, z4).z5 axis of rotation, +z5 towards Convention are shown in Table (1): the effector parallel to +z6.+ y5 coïncides with the axis of joint 5.+ y5 is perpendicular to the axis of joint 5.

The end effector: Frame (x6,y6,z6) ;The origin coïncides with the origins of the links (x4,y4, z4) and (x5, y5, z5). Table 1: Puma 560 Denavit and Hartenberg Parameters 2020 Year

17

The distance d6 is not shown in Table ( I)..This The dynamics of the last three articulations is distance varies according to the effector used for the negligible compared to the first three. Therefore, we application (the effector is the tool attached to the wrist have been interested in studying the movement of the on the last articulation of the robot for the manipulation three first joints of the PUMA 560 robot arm fixing the sue I V ersion I ersion sue I V of the objects). In this application the distance between others to the original position (i.e., wrist attached to the the end of the effector and the axis of the wrist is original position: q4 = q5 = q6 = 0). assumed to be null d6 = 0. v. D-H kinematics of the PUMA 560 ROBOT The appropriate transformations for the first three considered articulations are: olume XX Is V )

1 1 0 0 1 0 0 0 1 0 1 0 ( 1 = 1 1 0 0 0 0 1 0 = 1 0 1 0 (13) 0 𝑐𝑐0−𝑠𝑠 0 1 0 0 1 0 0 𝑐𝑐 0 1− 𝑠𝑠 0 0 0 0 0 1 𝑇𝑇 �0𝑠𝑠 0𝑐𝑐 0 1� � � �𝑠𝑠 0 0 𝑐𝑐 0 1 � − − 2 2 0 0 1 0 0 0 1 0 0 2 2 2 0 2 2 2 2 2 0 0 0 1 0 0 0 1 0 0 2 2 0 2 2 1 = = (14) 𝑐𝑐0−𝑠𝑠 0 1 0 0 0 1 2 0 0 1𝑎𝑎 0 𝑐𝑐0 −0 𝑠𝑠 1 𝑎𝑎 𝑐𝑐2 0 0 0 1 𝑠𝑠 𝑐𝑐 𝑎𝑎 𝑠𝑠 𝑇𝑇 �0𝑠𝑠 0𝑐𝑐 0 1� � 0 0 0 1 � � � � 0 0 0 1 � 𝑑𝑑 𝑑𝑑 Such that we will have : 2 = 1 2

0 0 1 Researches in Engineering 0 1 0 – 1𝑇𝑇 0 𝑇𝑇 𝑇𝑇2 2 2 2 1 2 1 2 1 2 1 2 2 1 0 0 2 2 0 2 2 1 2 1 2 1 2 2 1 + 2 1 = 1 1 𝑐𝑐 −𝑠𝑠 𝑎𝑎 𝑐𝑐 = 𝑐𝑐 𝑐𝑐 −𝑐𝑐 𝑠𝑠 − 𝑠𝑠 𝑎𝑎 𝑐𝑐 𝑐𝑐 − 𝑑𝑑 𝑠𝑠 (15) 𝑐𝑐 0 1 𝑠𝑠 0 0 0 0 1 2 2 2 0 2 2 𝑠𝑠 𝑐𝑐 𝑎𝑎 𝑠𝑠 𝑠𝑠 𝑐𝑐 −𝑠𝑠 𝑠𝑠 𝑐𝑐 𝑎𝑎 𝑐𝑐 𝑠𝑠 𝑑𝑑 𝑐𝑐 �𝑠𝑠 0 0 𝑐𝑐 0 1 � � 0 0 0 1 � � 0 0 0 1 � − 𝑑𝑑 −𝑠𝑠 −𝑐𝑐 −𝑎𝑎 𝑠𝑠 We can also write: of obal Journal l G 3 3 0 0 1 0 0 0 1 0 0 3 1 0 0 0 3 0 3 3 3 3 3 3 0 0 0 1 0 0 0 1 0 0 0 0 1 0 3 0 3 3 3 2 = = (16) 𝑐𝑐0−𝑠𝑠 0 1 0 0 0 1 3 0 0 1𝑎𝑎 0 0 1 0 0 𝑐𝑐 0 1 𝑠𝑠 0 𝑎𝑎 𝑐𝑐3 0 0 0 1 𝑠𝑠 − 𝑐𝑐 𝑎𝑎 𝑠𝑠 𝑇𝑇 �0𝑠𝑠 0𝑐𝑐 0 1� � 0 0 0 1 � �0 0 0 1� � − � � 0 0 0 1 � 𝑑𝑑 𝑑𝑑 1 2 1 2 1 2 1 2 2 1 3 0 3 3 3 3 2 3 1 2 1 2 1 2 2 1 + 2 1 3 0 3 3 3 And finally write 0 = 0 2 = = 𝑐𝑐 𝑐𝑐 2 −𝑐𝑐 𝑠𝑠2 − 0𝑠𝑠 𝑎𝑎 𝑐𝑐 𝑐𝑐 2−2𝑑𝑑 𝑠𝑠 𝑐𝑐 0 1 𝑠𝑠 0 𝑎𝑎 𝑐𝑐3 𝑠𝑠 𝑐𝑐 −𝑠𝑠 𝑠𝑠 𝑐𝑐 𝑎𝑎 𝑐𝑐 𝑠𝑠 𝑑𝑑 𝑐𝑐 𝑠𝑠 − 𝑐𝑐 𝑎𝑎 𝑠𝑠 𝑇𝑇 𝑇𝑇 𝑇𝑇 � 0 0 0 1 � � 0 0 0 1 � −𝑠𝑠 −𝑐𝑐 −𝑎𝑎 𝑠𝑠 𝑑𝑑

©2020 Global Journals The Kinematics of a Puma Robot using Dual Quaternions

1 23 1 1 23 1( 2 2 + 3 23) ( 2 + 3) 1 3 1 23 1 1 23 1( 2 2 + 3 23) + ( 2 + 3) 1 0 = 𝑐𝑐 𝑐𝑐 −𝑠𝑠 𝑐𝑐 𝑠𝑠 𝑐𝑐 𝑎𝑎 𝑐𝑐 𝑎𝑎 𝑐𝑐 − 𝑑𝑑 𝑑𝑑 𝑠𝑠 (17) 23 0 23 ( 2 2 + 3 23 ) 𝑠𝑠 𝑐𝑐 𝑐𝑐 𝑠𝑠 𝑠𝑠 𝑠𝑠 𝑎𝑎 𝑐𝑐 𝑎𝑎 𝑐𝑐 𝑑𝑑 𝑑𝑑 𝑐𝑐 𝑇𝑇 � 0 0 0 1 � − 𝑠𝑠 𝑐𝑐 − 𝑎𝑎 𝑠𝑠 𝑎𝑎 𝑠𝑠 With = cos , 1 = sin , = cos ( + ), = sin ( + )

References Références𝑐𝑐𝑖𝑖 Re𝜃𝜃f𝑖𝑖erencias𝑠𝑠 𝜃𝜃 𝑖𝑖 𝑐𝑐𝑖𝑖𝑖𝑖 14. 𝜃𝜃M.𝑖𝑖 Schilling,𝜃𝜃𝑗𝑗 𝑠𝑠𝑖𝑖𝑖𝑖 “Univer.𝜃𝜃𝑖𝑖 𝜃𝜃manip𝑗𝑗 body models - dual quaternion rep. in lay. and dyn. MMCs,” 1. W. R. Hamilton. On quaternions; or on a new Autonomous Robots, 2011. system of imaginaries in algebra. London, 15. Q. Ge, A. Varshney, J. P. Menon, and C. F. Chang, Edinburgh, and Dublin. “Double quaternions for motion interpolation,” in 2. J. McDonald, “Teaching Quaternions is not Proceedings of the ASME Design Engineering Complex,” Comp. Graphics Forum, v. 29, no. 8, pp. Technical Conference, 1998. 2447-2455, Dec. 2010. 16. Y. Lin, H. Wang, and Y. Chiang, “Estim. of real. 3. Chou JCK, Kamel M (1988) Quaternions approach orientation using dual.quat,” Sys. Sci. and, no. 2, 2020 to solve the kinematic equation of rotation, of a pp. 413-416, 2010. sensor mounted rob. manip. In: Proceedings of the

Year 17. A. Perez and J. M. McCarthy, “Dual quat synthesis

IEEE int. Conf. Rob.s and automation (ICRA), of constr. rob. systs,” Jou. of Mech. Des, vol. 126, p.

18 Philadelphia, pp 656–662. 425,2004. 4. Gouasmi M, Ouali M, Brahim F (2012) Rob. Kin. 18. G. van den Bergen, “Dual Numbers: Simple Math, using dual quat. Int. Jour.l of Rob and Autom, Easy C++ Coding, and Lots of Tricks,” GDC 1(1):13–30. Europe, 2009. [Online]. Available: www.gdcvault. 5. W. K. Clifford. Preliminary sketch of bi-quaternions. com/play/10103/Dual-Numbers-Simple-Math-Easy. Proceedings of the London Mathematical,1882. 19. Amanpreet ,Singh, and Ashish, Singla, India 2016“

sue I V ersion I ersion sue I V 6. Perez, A, 2003, Dual Quaternion Synthesis of Kinematic Modeling of Robotic. Manip”, The Nat. Constrained Robotic Systems, Ph.D. Dissertation, Acad of Sciences. Department of Mechanical and Aerospace 20. Chasles, M. (1830). "Note sur les propriétés Engineering, University of California, Irvine. générales du système de deux corps semblables 7. Perez, A. and McCarthy, J.M., 2003, “Dual Qua. entr'eux". Bulletin des Sciences Mathématiques, Synth. of Constr. Rob. Syst.”, Journal of Mechanical olume XX Is Astronomiques, Physiques et Chimiques (in V Design, in press. ) French). 14: 321–326

8. L. Kavan, S. Collins, J. Žára, and C. O’Sullivan, ( 21. , Théorie nouvelle de la rotation des “Geometric skinning with approximate dual corps, Paris, Bachelier, 1851, 170 p quaternion blending,” ACM Transactions on 22. E. T. Whittaker (1904), A Treatise on Analytical Graphics (TOG), vol. 27, no. 4, p. 105, 2008. Dynamics of Particles and Rigid Bodies, p. 4, 9. F. Z. Ivo and H. Ivo, “Spher. skin. with dual quat and at Google Books. Q.Tangents,” ACM SIGGRAPH 2011 Talks, vol. 27, 23. R. S. Ball, “The Theory of Screws”, Cambridge, p. 4503. U.K., Cambridge Univ.Press, 1900. 10. J. Selig, “Rat. Int. of r-b. m,” Adv. in the Theory of 24. R.M. Murray, Z. Li, and S.S.Sastry, A Math. Intro. to Control, Sign. and Syst. with Phys. Mod., pp. 213– Robot Manip. Boca. Raton, FL: CRC Press, 1993. 224, 2011. 25. Denavit, J., and Hartenberg, R.S., 1955, “A Kin. Not. Researches in Engineering 11. A. Vasilakis and I. Fudos, “Skeleton-based rigid for Low-pair Mech.s Based on Matr.”,ASME Jour. of skinning for character animation,” in Proc. of the App.Mech.s, 22:215-221. Fourth International Conference on Computer 26. J.M Selig, introductory robotics. Prentice hall Graphics Theory and Applications, 2009, no. international (UK) Ltd, 1992. February, pp. 302–308. 27. Selig, J.M., Geometrical fundamentals of Robotics,

obal Journal of obal Journal 12. Y. Kuang, A. Mao, G. Li, and Y. Xiong, “A strategy of l Springer, second edition, 2004. G real-time animation of clothed body movement,” in 28. J.M. Selig. Lie groups and Lie algebras in robotics. Multimedia Technology (ICMT), 2011 International Course report, south bank university, London. Conference on, 2011, pp. 4793–4797. 29. Yang, A.T., and Freudenstein, F., 1964, “App. of 13. H. L. Pham, V. Perdereau, B. V. Adorno, and P. Dual-Num.Quat. Alg. to the Ana of Spa. Mec.”, Fraisse, “Position and orientation control of robot ASME Jour. of Ap. Mec., pp.300-308. manipulators using dual quaternion feedback,” in 30. Bottema, O. and Roth, B., 1979, Theoretical Intelligent Robots and Systems (IROS), 2010 Kinematics, Dover Publications, New York. IEEE/RSJ Int. Conf., 2010, pp. 658–663. 31. McCarthy, J. M., 1990, Introduction to Theoretical Kinematics. The MIT. Press, Cambridge, MA.

©2020 Global Journals