1.3 Thesis structure
2.2.1.1 Denavit-Hartenberg convention
transformations alternating joint and link transformations from the base of the chain to its end link, which is equated to the specified position for the end link,
[T] = [Z1] [X1] [Z2] [X2] . . . [Zn._._1] [Xn.-1] (2.1) where [T] is the transformation locating the end-link. These equations are called the
kinematics equations of the serial chain.In 1955, Jacques Denavit and Richard Hartenberg introduced a convention for the defi-nition of the joint matrices [Z] and link matrices [X] to standardize the coordinate frame for spatial linkages [40, 69]. This convention positions the joint frame so that it consists of a screw displacement along the Z-axis and it positions the link frame so it consists of a screw displacement along the X-axis.
[Zi] = Transxi(di)Rotz.,(9i)
(2.2)[Xi]= Trransxi ~7'ii+1 ) Rotxi ~C~ii+l )
(2.3)= [Zi] [Xi] = Transxi(di ) Rotxi (9i )Transxi(ri,i+1) Rotxi (cxi,i+l) (2.4)
Using this notation, each transformation-link goes along a serial chain robot, and can be described by the coordinate transformation, where O , di, ri ,i+1 and c4i,i+1 are known as the Denavit-Hartenberg parameters.
2.2.1.1 Denavit-Hartenberg convention
A commonly used convention for selecting frames of reference in robotics applications is the Denavit and Hartenberg (D-H) convention which was introduced by Jacques Denavit and Richard S. Hartenberg. In this convention, coordinate frames are attached to the joints between two links such that one transformation is associated with the joint, [Z], and the second is associated with the link [X]. The coordinate transformations along a serial robot consisting of n links form the kinematics equations of the robot in Eq. (2.1).
In order to determine the coordinate transformations [Z] and [X], the joints connecting
the links are modeled as either hinged or sliding joints, each of which have a unique line S in
space that forms the joint axis and define the relative movement of the two links. A typical
serial robot is characterized by a sequence of six lines Si, i = 1, ... , 6, one for each joint in
the robot. For each sequence of lines Si and Si+1, there is a common normal line Ai,i+1. The
system of six joint axes Si and five common normal lines Ai,i+1 form the kinematic skeleton
18CHAPTER 2. MULTI-LEGGED ROBOT SYSTEM of the typical six degree of freedom serial robot. Denavit and Hartenberg introduced the convention that Z coordinate axes are assigned to the joint axes Si and X coordinate axes are assigned to the common normals Ai,i+1.
This convention allows the definition of the movement of links around a common joint axis Si by the screw displacement,
cos Bi — sin Bi 0 0 sin 9,
[Z71=
0
0
cos Bi 0 0
0 1 d,
0 0 1
(2.5)
where Oi is the rotation around and di is the slide along the Z axis—either of the param-eters can be constants depending on the structure of the robot. Under this convention the dimensions of each link in the serial chain are defined by the screw displacement around the common normal Ai,i±i from the joint Si to Si+i, which is given by
[Xi] =
1 0 0 0
0 Cos cti,i+i
sin cti ,i+i 0
0
— sin cri ,i+i Cos cxz,i+1
0
ri ,i+ i 0 0 1
(2.6)
where cxii+l and ri ,x+1 define the physical dimensions of the link in terms of the angle mea-sured around and distance measured along the X axis. In summary, the reference frames are laid out as follows:
1. the z-axis is in the direction of the joint axis
2. the x-axis is parallel to the common normal: xn = zn x zn+1. If there is no unique common normal (parallel z axes),
3. then d (below) is a free parameter. The direction of xn is from zn_ 1 to zn, as shown in the Fig. 2.1.
The following four transformation parameters are ki own as DH parameters: d: offset along previous z to the common normal; (9 : angle about previous z, from old x to new x; r : length of the common normal. Assuming a revolute joint, this is the radius about previous z;
a : angle about common normal, from old z axis to new z axis
There is some choice in frame layout as to whether the previous x axis or the next x points along the common normal. The latter system allows branching chains more efficiently, as
22. KINEMATIC MODEL 19
Joint 1+1
Joint i-1
4'w
di:
Figure 2.1: The four parameters of classic DH convention are shown in red text, which are Bi, di, ai, cxi. With those four parameters, we can translate the coordinates from
Oi_1Xi_i'._1Zi_1 to OiXiYili [3]
multiple frames can all point away from their common ancestor, but in the alternative layout the ancestor can only point toward one successor. Thus the commonly used notation places each down-chain x axis collinear with the common normal, yielding the transformation cal-culations shown below. We can note constraints on the relationships between the axes: (1) the xn-axis is perpendicular to both the zn_r and zn axes; (2) the xn-axis intersects both zn_i and zn axes; (3) the origin of joint n is at the intersection of xn and zn; (4) yn completes a right-handed reference frame based on xn and zn.
It is common to separate a screw displacement into the product of a pure translation
along a line and a pure rotation about the line,[5] [6] so that [Zi] = Transzi (di) Rotza (9i), and [Xi] = Transx2 (ri,i+i) Rotx (cxi,i+l ) . Using this notation, each link can be described by
a coordinate transformation from the concurrent coordinate system to the previous coordinate system.
Note that this is the product of two screw displacements, these operations are:
The matrices associated with
Transxn_l (dn) _
1 0 0 0
0 1 0 0
0 0 1 dri
0 0 0 1
(2.7)
20 CHAPTER 2. MULTI-LEGGED ROBOT S YS TEM
Rot zn-1
(On) =
cos 0, — sin 9n 0 0 sin 0, cos 0, 0 0
0 0 1 0
0 0 0 1
Transxn (rn) =
Rotx„, (an) =
1 0 0 rn
0 1 0 0
0 0 1 0
0 0 0 1
1 0 0 0
0 cos an — sin an 0 0 sin an cos an 0
0 0 0 1
(2.8)
(2.9)
(2.10)
n-1T =
n
cos On —sing ncosa , sin On sin an rr, cos On sin On cos en cos an — cos Or, sin c rn sin 9
0 sin an COS an
0 0 0 1
In Eq. (2.11), R is the 3 X 3 submatrix describing rotation and T is the 3 X1 describing translation.
(2.11) submatrix
2/.2 Inverse Kinematics
Inverse kinematics is the mathematical process of recovering the movements of an object in the world from some other data, such as a film of those movements, or a film of the world as seen by a camera which is itself making those movements. This is useful in robotics and in film animation. In legged robot, it converts from cartesian level to joint angle level.
There are many methods for solving inverse kinematic problems. Whitney el al proposed pseudo inverse method [216] and Wang et al proposed cyclic coordinate descent methods [212] in 1991. Furthermore, some of researcher also used Jacobian transpose methods [19, 218], quasi-Newton and conjugate gradient methods [239, 41], the Levenberg-Marquardt damped least squares methods [209, 140].
Currently, most researchers implemented Jacobian model for solving 1K problems. The Jacobian inverse technique is a simple yet effective way of implementing inverse
kinemat-2.2. KINEMATIC MODEL 21
ics. Let there be m variables that govern the forward-kinematics equation, i.e. the position function. These variables may be joint angles, lengths, or other arbitrary real values. If the IK system lives in a 3-dimensional space, the position function can be viewed as a mapping
p(x) : R3. Let po=p(x0) give the initial position of the system, and pi = p(xa + Ax)
be the goal position of the system. The Jacobian inverse technique iteratively computes an
estimate of Ax that minimizes the error given by IIp(xc + Ax) — Poll •
For small Ax-vectors, the series expansion of the position function gives:
p(x1) p(x0) + Jp(x0)Ax, where Jp(x0) is the (3 x m) Jacobian matrix of the position
function at x0.
Note that the (i, k)-th entry of the Jacobian matrix can be determined numerically:
Pi(xo,k+h)—pi(x0) Where pi(x) gives the i-th component of the position function, XQ,k + h
is simply x0 with a small delta added to its k-th component, and h is a reasonably small positive value. Taking the Moore-Penrose pseudoinverse of the Jacobian (computable using
a singular value decomposition) and re-arranging terms results in: Ax Jp (x0)Ap, where Qp = p(xa + Ax) — p(xo).
Applying the inverse Jacobian method once will result in a very rough estimate of the desired Ax-vector. A line search should be used to scale this Ax to an acceptable value.
The estimate for Ax can be improved via the following algorithm (known as the Newton-Raphson method): Axk+l = Jp (xk}Apk. Once some Ax-vector has caused the error to drop
close to zero, the algorithm should terminate. Existing methods based on the Hessian matrix of the system have been reported to converge to desired Ax values using fewer iterations, though, in some cases more computational resources.
In order to simplify the equation, some researcher only used trigonometry based for solv-ing the inverse kinematic problem. However, this trick has limitation in mechanical structure and number of joints.
In different way, some researchers propose neural model and artificial intelligent based model [147, 156, 198, 46, 49, 100, 101]. Duka et al used neural network with fitting prob-lem for solving the lK. The inverse kinematics probprob-lem for a three-link robotic manipulator was transformed in a fitting problem, in which a neural network was used to map between a data set of numeric inputs and a set of numeric targets [49]. He also developed Adaptive Neuro-Fuzzy Inference System (ANFIS) based for IK solution. ANFIS is trained using the inverse kinematic mapping of the data provided by forward kinematics and learns, with ac-ceptable accuracy, the end-effector's localization to joint angle mapping [50]. Almusawi et
al proposed ANN with feedback of current joint angles configuration of robotic arm in the input point of their network [13].
Koker et al developed a neural network for planar robotic manipulator [101]. He tried to
22 CHAPTER 2. MULTI-LEGGED ROBOT SYSTEM
improve the preciseness of the neural-network-based inverse kinematics solution using a ge-netic algorithm [100]. In 2010, Bouganis et al developed the control model for 4-DoF robotic arm suing spiking neural network. The trained spiking neural network has been successfully tested on a kinematic model of the arm of an iCub humanoid robot. However, the current model of the network is computationally expensive (several seconds of processing time are required per arm movement) [27].