Abstract
The inverse kinematics solution of a dexterous robotic finger has a significant impact on the realtime control of the robotic hand. Therefore a rapid method for solving is needed. The classical homogeneous matrix transformation is the most popular method used in robot kinematics. However, for the multi degreeoffreedom (DOF) robotic finger, the matrix parameters cost much storage and the inverse matrix calculation requires a large amount of computational cost. So it is not conducive to the realtime control of the robotic hand. Therefore, a method based on dual quaternions is presented for analysing the kinematics of a multiDOF (4DOF) robotic thumb. Firstly, the kinematics equation is expressed by dual quaternions. Then the multivariate kinematic equations are converted to binary quadratic equations with methods of separating variables and variable substitution, which is relatively easy to obtain the closedform solution of the inverse kinematics. Finally, it proves that the dual quaternions method has advantages over the homogeneous matrix transformation in storage and computational cost by the specific numbers for the robotic thumb, which is conducive to the realtime control of robotic hand.
1. Introduction
Dexterous finger is a multiDOF and multilink manipulator and its inverse kinematics have an important influence on the realtime control of dexterous hand. The thumb usually has the most DOFs in the whole hand, so the inverse kinematics of the thumb is the most complicated.
There are several methods for the formulation of the kinematic equations of manipulators with rigid links, including the homogeneous transformation and dual quaternion. The 4×4 matrix or the homogeneous transformation is an almost classical formulation of kinematic equation, which is a point transformation. The dual quaternion based on screw theory is the most efficient and compact way to express a screw displacement and is a line transformation [1, 2]. And Nichoals Aprove that the dual quaternion requires less computational time than the homogeneous transformation for the manipulators with more than 3 DOFs. And the homogeneous matrix needs 12 parameters to express the translation and rotation of rigid body while the dual quaternion 8. Therefore, the dual quaternion is an elegant and useful tool for kinematic analysis in many areas such as navigation [3], computer vision [4], inverse kinematics [57] and so on.
The relationship between the terminal and reference coordinates of multiDOF manipulators is highly nonlinear [8], which makes the inverse kinematics difficult to solve. The solution of inverse kinematics can be classified into two types: closedform analytical solution and numerical solution. Though the closedform solution mainly relies on the kinematical structure of the manipulator, it is faster than the numerical solution and can avoid the singular problem and all the possible solutions of inverse kinematics can be given out [9]. The closedform solution is the most ideal solution. The numerical solution is more general, but it can only find one solution for one set of initial values. In addition, numerical solution requires iterative calculation and a lot of iterative calculation can affect the computational time, which is not conducive to the realtime control. Furthermore, when the numerical method fails to converge, the solution of the inverse kinematics can’t be given out [911].
Many researchers choice the dual quaternion to solve the inverse kinematics of the multiDOF robot manipulators because the kinematic equation with dual quaternion is more concise than that with homogeneous matrix, which is easy to get the closedform solution. For example, Dgan, et al. adopt the dual quaternion to express the kinematic equation of 7link 7R mechanism and get the closedform solution by constructing Dixon resultant [6]; Ni Zhensong, et al. adopt the same method to get the closedform solution of spatial 6R manipulator [7].
In this paper, the dual quaternion is applied in the inverse kinematics of 4DOF thumb and the closedform solution is presented. The algorithm is validated by an example. The whole process is very simple and easy to program, which is conducive to the realtime control of dexterous hand.
2. Quaternions and dual quaternions
2.1. Quaternions
The quaternion is a hypercomplex number with four parts and can well solve the problem of three dimensional space. A general quaternion has the following form [12]:
where ${q}_{0}\text{,}$${q}_{1}\text{,}$${q}_{2}\text{,}$${q}_{3}$ are real numbers and $i\text{,}$$j\text{,}$$k$ are imaginary unit with the property ${i}^{2}={j}^{2}={k}^{2}=$–1, $ij=k$, $jk=i$, $ki=j$. The quaternion can also be divided into a scalar ($s$) and a 3×1 vector ($\mathbf{v}$).
Conjugate of the quaternion can be expressed as:
The multiplication of two quaternions can be expressed as:
$\mathrm{}\mathrm{}\mathrm{}\mathrm{}\mathrm{}\mathrm{}\mathrm{}={q}_{0}{q}_{0}^{\text{'}}{q}_{1}{q}_{1}^{\text{'}}{q}_{2}{q}_{2}^{\text{'}}{q}_{3}{q}_{3}^{\text{'}}+({q}_{1}{q}_{0}^{\text{'}}+{q}_{0}{q}_{1}^{\text{'}}{q}_{3}{q}_{2}^{\text{'}}+{q}_{2}{q}_{3}^{\text{'}})i$
$\mathrm{}\mathrm{}\mathrm{}\mathrm{}\mathrm{}\mathrm{}\mathrm{}+\left({q}_{2}{q}_{0}^{\text{'}}+{q}_{3}{q}_{1}^{\text{'}}+{q}_{0}{q}_{2}^{\text{'}}{q}_{1}{q}_{3}^{\text{'}}\right)j+\left({q}_{3}{q}_{0}^{\text{'}}{q}_{2}{q}_{1}^{\text{'}}+{q}_{1}{q}_{2}^{\text{'}}+{q}_{0}{q}_{3}^{\text{'}}\right)k.$
2.2. Dual quaternions
Quaternions can only be used for analysing of the rotation of rigid body around a fixed point. However, a mathematical tool that can express both rotational and translational transformations in a spatial mechanism is needed [13]. Dual numbers were introduced by Clifford W. K. in 1873 and the dual quaternion is a dual number that has two quaternions. The dual quaternion has the following form:
where $q$ and ${q}_{\epsilon}$ are quaternions and $\epsilon $ is dual unit with the property ${\epsilon}^{2}=$0.
Conjugate of the dual quaternion can be expressed as:
The multiplication of two dual quaternions can be expressed as:
The inverse of a dual quaternion can be expressed as:
where ${\Vert \widehat{q}\Vert}^{2}$is the norm of the dual quaternion, which can be expressed as:
When the dual quaternion $\widehat{q}$ is a unit dual quaternion, that is $\Vert \widehat{q}\Vert =\text{1}$, $\widehat{q}$ should meet:
then ${\widehat{q}}^{1}={\widehat{q}}^{\mathrm{*}}$ [14].
The rigid body motion in threedimensional space can be decomposed into rotation and translation. Let the unit quaternion ($\mathbf{R}$) express the rotation and $\mathbf{d}$ express the translation vector. Therefore, the rigid motion can be described in dual queternions like this:
where $\mathbf{R}=\mathrm{c}\mathrm{o}\mathrm{s}(\theta /2)+\mathrm{s}\mathrm{i}\mathrm{n}\left(\theta /2\right){\mathbf{n}}_{r}$ and $\theta $ is rotation angle and ${\mathbf{n}}_{r}$ is direction vector of rotation axis (Fig. 1).
Fig. 1The rotation and translation expressed by dual quaternions
3. Kinematics of dexterous finger
This paper uses the 4DOF thumb as an example to illustrate the method that adopts dual queternions to solve the inverse kinematics of dexterous finger. The mechanical structures of the thumb are shown in Fig. 2. And the relationship between the coordinate systems is shown in Fig. 3.
Fig. 24DOF thumb
Fig. 3Relationship between the coordinate systems
The DenavitHartenberg (DH) parameters of the thumb are listed in Table 1.
Table 1DH parameters of the thumb
$i$  ${\alpha}_{i1}$/ (°)  ${a}_{i1}$/ mm  ${d}_{i}$ / mm  ${\theta}_{i}$ / (°) 
1  90.0  10  0  ${\theta}_{1}$ 
2  –90.0  17  0  ${\theta}_{2}$ 
3  40.0  37  7  ${\theta}_{3}$ 
4  0  38  0  ${\theta}_{4}$ 
In this paper, ${d}_{n}$ is defined as the distance from ${X}_{n1}$ to ${X}_{n}$ along the ${Z}_{n1}$ axis; the other parameters are defined according to the classical definitions.
According to Fig. 3 and Table 1, the transformations of each link lever are expressed by dual queternions as follow:
$\mathrm{}\mathrm{}\mathrm{}\mathrm{}\mathrm{}\mathrm{}=\left(1+\frac{\epsilon \left({d}_{3}k\right)}{2}\right)\left(\mathrm{c}\mathrm{o}\mathrm{s}\left(\frac{{\alpha}_{2}}{2}\right)+\mathrm{s}\mathrm{i}\mathrm{n}\left(\frac{{\alpha}_{2}}{2}\right)i+\epsilon \mathrm{*}0\right)\left(1+\frac{\epsilon \left({a}_{2}i\right)}{2}\right)$
$\bullet \left(\mathrm{c}\mathrm{o}\mathrm{s}\left(\frac{{\theta}_{3}}{2}\right)+\mathrm{s}\mathrm{i}\mathrm{n}\left(\frac{{\theta}_{3}}{2}\right)k+\epsilon \mathrm{*}0\right),$
where ${a}_{0}$, ${a}_{1}$, ${a}_{2}$, ${a}_{3}$, ${a}_{4}$, ${\alpha}_{2}$, ${d}_{3}$ are known DH parameters; ${\theta}_{n}$ represents the angle displacement of the $n$joint, $n=\mathrm{1,2},\mathrm{3,4}$. The position and orientation of the end of the robotic thumb in the Cartesian coordinates are expressed by a dual queternion as follow:
where ${r}_{0}$, ${r}_{i}$, ${r}_{j}$, ${r}_{k}$, ${s}_{0}$, ${s}_{i}$, ${s}_{j}$ and ${s}_{k}$ represent the positionorientation parameters of the end.
So, the kinematics equation of the thumb is given by:
Eq. (17) is separated variables. A new equation is given by:
It is easy to prove that ${\widehat{Q}}_{2}^{3}$, ${\widehat{Q}}_{3}^{4}$ and ${\widehat{Q}}_{4}^{5}$ meet Eq. (9), so their inverse is equal to their conjugate. Therefore, Eq. (18) can also be expressed as:
Setting left and right sides of Eq. (19) as $\widehat{U}$ and $\widehat{V}$:
where:
If two dual queternions are equal, each element should be equal. So, ${u}_{1i}={v}_{1i}$, ${u}_{2i}={v}_{2i}$ ($i=$1, 2, 3, 4) and we get:
where $c{\theta}_{k}=\mathrm{c}\mathrm{o}\mathrm{s}({\theta}_{k}/2)$, $s{\theta}_{k}=\mathrm{s}\mathrm{i}\mathrm{n}({\theta}_{k}/2)$, ($k=$1, 2, 3, 4) and ${D}_{j}$ is a 4×4 matrix that is decided by the DH parameters of the thumb and the position and orientation of endeffector; ${C}_{j}$ is a 4×1 vector, whose elements are the linear expression of $c{\theta}_{3}$$c{\theta}_{4}$, $s{\theta}_{3}$$c{\theta}_{4}$, $c{\theta}_{3}$$s{\theta}_{4}$ and $s{\theta}_{3}$$s{\theta}_{4}$.
Form Eq. (23), we can get:
The left and right sides of Eq. (24) are divided by $c{\theta}_{3}$$c{\theta}_{4}$ and we get equations as follow:
where ${t}_{3}=s{\theta}_{3}/c{\theta}_{3}$, ${t}_{4}=s{\theta}_{4}/c{\theta}_{4}$, and ${a}_{e}$, ${m}_{e}$, ${n}_{e}$, ${p}_{e}$ are known quantity and decided by the DH parameters of the thumb and the position and orientation of endeffector. Eq. (25) are binary quadratic equations. Hence, it is easy to get the closedform solution of Eq. (25), that is to say, we can get the closedform solution of ${\theta}_{3}$ and ${\theta}_{4}$. The closedform solution of ${\theta}_{1}$ and ${\theta}_{2}$ can be similarly solved through Eq. (23) with known ${\theta}_{3}$ and ${\theta}_{4}$.
4. Verification and comparison
4.1. Verification with an example
Firstly, a simple example is given to illustrate the validity of the proposed method. Let ${\theta}_{1}=$0.353 rad, ${\theta}_{2}=$0.434 rad, ${\theta}_{3}=$0.625 rad, ${\theta}_{4}=$0.764 rad, which are the desired values. Then the position and orientation of the endeffector is calculated by the desired angle displacements of each joint, which is expressed by the dual quaternion as follow:
$\mathrm{}\mathrm{}\mathrm{}\mathrm{}+\epsilon \left(0.0128+0.0487i0.0064j0.0123k\right).$
Substitute the DH parameters and Eq. (26) in Eq. (25) and get:
$9.1484\mathrm{}+7.8760{t}_{3}+14.4637{t}_{4}+6.0844{t}_{3}{t}_{4}=0,$
$1.8693\mathrm{}+1.9064{t}_{3}+\mathrm{}3.0650{t}_{4}+0.1278{t}_{3}{t}_{4}\mathrm{}=0,$
$2.3280+2.1035{t}_{3}+4.0748{t}_{4}+0.1538{t}_{3}{t}_{4}=0.$
The solution of Eq. (27) is ${t}_{3}=$0.3262, ${t}_{4}=$0.4002, that is to say, ${\theta}_{3}^{\text{'}}=\text{0.6304}$, ${\theta}_{4}^{\text{'}}=\text{0.7610}$. Substitute ${\theta}_{3}^{\text{'}}$ and ${\theta}_{4}^{\text{'}}$ in Eq. (23) and get ${\theta}_{1}^{\text{'}}=\mathrm{}\text{0.3513,}$${\theta}_{2}^{\text{'}}=\mathrm{}\text{0.4315.}$ The results of inverse kinematics testify that the algorithm is effective.
Secondly, another example based on trajectories is presented to illustrate the practicality of the method. The trajectories are planned in joint space. For the stability of the manipulator’s motion, linear interpolation taking parabolic transition is adopted to plan the trajectories of each joint. And the planned trajectories of the four joints are respectively shown in Fig. 4(a), Fig. 5(a), Fig. 6(a) and Fig. 7(a). According to the trajectories in joint space, the trajectories of the end of the robtic thumb in Cartesian space can be computed. So, the inverse kinematics solution can be gotten by using the proposed method with knowing the trajectories of the end, as shown in Fig. 4(b), Fig. 5(b), Fig. 6(b) and Fig. 7(b). The computed results of the inverse kinematics are almost equal to the planned trajectories in joint space by comparing the Fig. 47. Therefore, the dual quaternion can be used for solving the inverse kinematics of the multiDOF manipulator in practice.
4.2. Comparison with homogeneous transformation
The above two examples show the feasibility of the dual quaternion for solving the inverse kinematics. Furthermore, the dual quaternion outperforms homogeneous transformation in three aspects for the multiDOF (more than 3 DOFs) manipulator [1], as follow:
1) Storage cost: For one transformation, the dual quaternion requires eight memory locations, while homogeneous transformation needs12, since the elements of the fourth row are known constants. According to Eq. (17), we know that the dual quaternion method requires 48 memory locations at least for an inverse kinematic computation, while homogeneous transformation requires 72. It is obvious that the storage cost of the dual quaternion method is minimum.
2) Computational cost: We define that the sign+ represents addition and subtraction operations and the sign* represents multiplication operations. The multiplication of two 4×4 homogeneous matrices needs 48* and 36+ [1]. The inverse of homogeneous matrix requires 9* and 6+. The multiplication of two dual quaternions needs 48* and 36+. The inverse of dual quaternions needs no computational cost. Therefore, the computation of (18) needs 219* and 162+ for homogeneous transformation, while 192* and 144+ for the dual quaternion.
3) Computational time: The storage and computational cost can both affect the computational time. Fetching an operand from memory will cost computational time. And the computational time of an addition is less than one multiplication. It turns out that the computational time of homogeneous transformation is more than the dual quaternion for the inverse kinematics of 4DOF thumb according to the conclusions of 1) and 2).
In one word, the homogeneous transformation method needs more storage and computational cost than the dual quaternion method, which leads to more computational time that the former requires than the latter.
5. Conclusions
The dual quaternion is applied in the inverse kinematics solution of 4DOF dexterous thumb, which greatly simplifies the process of getting the closedform solution and provides a new thinking for the inverse kinematics solution of multiDOF dexterous finger.
Through comparing with the homogeneous transformation, we can conclude that the dual quaternion can simplify the kinematics equation, effectively reduce the storage and computational cost, greatly improve computational speed and satisfy the requirements of the realtime control of dexterous hand. However, the dual quaternion has no advantage over the homogeneous transformation for the finger with less than 4 DOF.
References

Nichoals A. Aspragathos, John K. Dimitros A comparative study of three methods for robot kinematics. IEEE Transactions on Systems, Vol. 28, Issue 2, 1998, p. 135145.

Sariyildiz E., Temeltas H. Solution of inverse kinematic problem for serial robot using dual quaterninons and plücker coordinates. International Conference on Advanced Intelligent Mechatronics, 2009, p. 338343.

Li Jing, Wang Huinan, Liu Haiying Application of dual quaternion in spacecraft relative navigation. Journal of Applied Sciences, Vol. 30, Issue 3, 2012, p. 311316, (in Chinese).

Konstantinos Daniilidis Handeye calibration using dual quaternions. The International Journal of Robotics Research, Vol. 18, 1999, p. 286298.

Perez Alba, McCarthy J. M. Dual quaternion synthesis of constrained robotic systems. Journal of Mechanical Design, Vol. 126, 2004, p. 425435.

Gan D., Liao Q., Wei S., et al. Dual quaternionbased inverse kinematics of the general spatial 7R mechanism. Journal of Mechanical Engineering Science, Vol. 222(c), 2008, p. 15931598.

Ni Zhensong, Liao Qizheng, Wei Shimin, et al. Dual four element method for inverse kinematics analysis of spatial 6R manipulator. Journal of Mechanical Engineering, Vol. 45, Issue 11, 2009, p. 2529, (in Chinese).

Rodolphe J. Gentili, Hyuk Oh, Javier Molina, et al. Cortex inspired model for inverse kinematics computation for a humanoid robotic finger. 34th Annual International Conference of the IEEE EMBS, 2012, p. 30523055.

Yang Si, Qingxuan Jia, Gang Chen, et al. A complete solution to the inverse kinematics problem for 4DOF manipulator robot. 8th Conference on Industrial Electronics and Applications, 2013, p. 18801884.

Andrew A. Goldenberg, Member B. Benhabib, et al. A complete generalized solution to the inverse kinematics of robots. IEEE Journal of Robotics and Automation, Vol. 1, Issue 1, 1985, p. 1420.

Jing Huang, Xianlun Wang, Dongsheng Liu, et al. A new method for solving inverse kinematics of an industrial robot. International Conference on Computer Science and Electronics, 2012, p. 5356.

HoangLan Pham, Véronique Perdereau, Bruno Vilhena Adorno, et al. Position and orientation control of robot manipulators using dual quaternion feedback. The International Conference on Intelligent Robots and Systemsg, 2010, p. 658663.

Liu Yanzhu The mathematical expression of rigid body attitude. Mechanics in Engineering, Vol. 33, Issue 1, 2008, p. 98101, (in Chinese).

Nan Ji, Wang Jianguo, Chen Jianyu Rigid dual quaternions related problems. Fire Control and Command Control, Vol. 37, 2012, p. 1517, (in Chinese).
About this article
The authors would like to thank the anonymous reviewers for their critical and constructive review of the manuscript. This work was supported by National Natural Science Foundation of China (Grant No. 51105196), Natural Science Foundation of Jiangsu Province (Grant No. BK2011733), Science and Technology Innovation Fund of Shanghai Aerospace (Grant No. SAST201320), and Shanghai Key Laboratory of Deep Space Exploration Technology.