# Hybrid Taguchi DNA Swarm Intelligence for Optimal Inverse Kinematics Redundancy Resolution of Six-DOF Humanoid Robot Arms

Authors: Hsu-Chih Huang; Sendren Sheng-Dong Xu; Huan-Shiuan Hsu
Journal: Mathematical Problems in Engineering
 (2014)

---

## Abstract

This paper presents a hybrid Taguchi deoxyribonucleic acid (DNA) swarm intelligence for solving the inverse kinematics redundancy problem of six degree-of-freedom (DOF) humanoid robot arms. The inverse kinematics problem of the multi-DOF humanoid robot arm is redundant and has no general closed-form solutions or analytical solutions. The optimal joint configurations are obtained by minimizing the predefined performance index in DNA algorithm for real-world humanoid robotics application. The Taguchi method is employed to determine the DNA parameters to search for the joint solutions of the six-DOF robot arms more efficiently. This approach circumvents the disadvantage of time-consuming tuning procedure in conventional DNA computing. Simulation results are conducted to illustrate the effectiveness and merit of the proposed methods. This Taguchi-based DNA (TDNA) solver outperforms the conventional solvers, such as geometric solver, Jacobian-based solver, genetic algorithm (GA) solver and ant, colony optimization (ACO) solver.


---

## Body

## 1. Introduction

Recently, humanoid robotics has attracted much attention in the field of robotics. Humanoid robots are capable of performing various operations that are originally conceived for humans [1–5]. In contrast with the industrial robots, the humanoid robots emulate human’s function to achieve a wide variety of tasks. These high-DOF humanoid robots are superior to conventional industrial robots in terms of flexibility, kinematics performance, agility, and dynamic performance. With these advantages, humanoid robotics has become a new challenging field in designing home service robotic systems [1–5].Humanoid robot arm is one of the main studies of humanoid robotics. Generally, a humanoid robot arm is composed of six or seven DOFs from the shoulder to the wrist. From the kinematics point of view, the robot arm imitating the human arm motions is kinematically redundant like the human arm [6–8]. In other words, there is a kinematics redundancy because an infinite number of joint angles result in the same end-effector position. In kinematics analysis of humanoid robot arms, forward kinematics problems are straightforward and there is no complexity for deriving the kinematics equations [6–10]. However, inverse kinematics is a much more difficult problem compared with the forward kinematics [6–10].The solution of the inverse kinematics problem is computationally intensive and generally takes a very long time in the real-time control of robot arms. The inverse kinematics mapping is in general one-to-many, involves complex inverse trigonometric functions, and has no closed-form solutions for the humanoid robot arms. This redundancy problem refers to the fact that the joint space of robot has a larger dimension than the task space [9, 10]. The inverse kinematics problem of the humanoid robots has been studied in the last decade [6–10]. Overall, the conventional analytical and Jacobian-based methods are generally computationally intensive and are not suitable for real-time humanoid robotics applications. Moreover, these solvers did not provide a generalized optimal joint configuration of the high-DOF humanoid robot arm, meaning that these solvers are not applicable to other high-DOF robotic arms.Swarm intelligence is a new category of methods in the optimization framework for solving the complex optimization problems in a wide variety of real-world applications [11–16]. Compared with the conventional methods, these approaches are more powerful, so that they do not need the reformulation of the problem to search a nonlinear space with real-world conditions [11–16]. Among these modern metaheuristic-based approaches for complex problems solving, DNA algorithm has been regarded as another efficient optimization technique. This algorithm proposed by Aldelman [17] emulates the concept of the bimolecular evolution and uses biomolecules for finding optimal solutions of complicated computational problems. This computing paradigm has successfully been used to solve complex problems in many disciplines [17–20] because they have more plentiful genetic information [17–20]. However, the parameters of the proposed DNA swarm intelligence algorithms are usually determined by trial-and-error approach [17–20]. These parameters influence the performance of the DNA algorithms. Unfortunately, the parameters are not appropriately set in the studies to solve complex optimization problems [17–20].Taguchi method is a statistical method developed by Genichi Taguchi to improve the product quality and cost in industrial design [21–25]. This approach has proven to be an important tool in the system design and process quality in which the best setting of the control factors (parameters) is determined and has been applied to solve many optimization problems in electrical machines design, aerospace engineering, and controller design. For example, Su et al. [22] proposed an efficient GA approach combined with Taguchi method for mixed constrained circuit design. Yang et al. [23] employed the Taguchi method combined with GA to design a flight controller. Seenivasan et al. [24] presented an optimization of dehumidifier using Taguchi method. Hasanien [25] proposed an optimal controller in automatic voltage regulator system using Taguchi combined GA. Compared to the conventional full factorial design method, this method has fewer experiments to obtain optimal parameters or factors in optimization problems using the orthogonal array and signal-to-noise ratio techniques. To the authors’ best understanding, there has been no attempt to developing hybrid Taguchi DNA swarm intelligences for the optimal inverse kinematics redundancy resolution of six-DOF humanoid robot arms.The objective of this paper is to develop a hybrid Taguchi DNA algorithm to solve the inverse kinematics problem of the six-DOF humanoid robot arm more effectively. The rest of this paper is organized as follows. In Section2, the forward kinematics and inverse kinematics of the six-DOF humanoid robot arm are introduced. Section 3 elucidates the procedure of how to apply the proposed Taguchi-based DNA swarm intelligence to solve the redundant problem and find an optimal configuration of the robot arm. Section 4 conducts several simulations to show the performance and merit of the proposed methods. Section 5 concludes this paper.


## 2. Forward Kinematics and Inverse Kinematics of the Six-DOF Humanoid Robot Arm

Forward kinematics and inverse kinematics are very important for studying the kinematics motion, path planning, and coordination of the humanoid robot arm. The joints information is necessary for these studies. Tasks to be performed by a robot arm are assigned in the Cartesian space which includes position vectorp∈R3(x,y,z), whereas robot actuators work in joint space is represented by joint angles q∈R6(θ1,θ2,θ3,θ4,θ5,θ6). The degree in joint space is three and the degree in Cartesian space is six; the inverse kinematics is, therefore, a redundancy problem. The forward kinematic equations relate joint motions of humanoid robot arm to the Cartesian coordinates. On the other hand, the conversion of the position of a humanoid robot arm end-effector from Cartesian space to joint space is called inverse kinematics problem [6–8].A commonly used coordinate transformation for selecting frames of reference in robotic applications is the Denavit-Hartenberg (D-H) convention which involves the allocation of coordinate frames to each link. The positions of subsequent links are defined by the homogeneous transform matrix, which transforms the frame attached to linki-1 into a frame fixed to link i. In this transformation, each homogeneous transformationAi-1i is represented as a product of four basic transformations, given by(1)Aii-1=Rz,θiTransz,diTransx,aiRx,αi=[cθi-sθi00sθicθi0000100001][10000100001di0001]×[100ai010000100001][10000cαi-sαi00sαicαi00001],
where the four quantities θi,ai,di and αi are parameters associated with link i and joint i. The four parameters θi,ai,di, and αi in (1) generally denote the joint angle, link length, link offset, and link twist of link i, respectively. cθi, and sθi (i=1,2,3,…,6) denote cos⁡θi and sinθi. These parameters are derived from the geometric relationship between two coordinate frames [6–8]. Figure 1 depicts the picture of the general six-DOF humanoid robot arm. Table 1 lists all the D-H parameters of the six-DOF humanoid robot arm in this study. This mechanical information of the robot arm is needed to derive the forward kinematics of the robot arm.Table 1
D-H parameters of the six-DOF humanoid robot arm.
i
θ
i
d
i
a
i
α
i
θ
i
,
min
⁡
<
θ
i
<
θ
i
,
max
⁡
1
90°
0
L
0 (mm) 142.3
−90°
-
13
0
°
<
θ
1
<
13
0
°
2
90°
L
1 (mm) 145
0
−90°
-
8
0
°
<
θ
2
<
8
0
°
3
−90°
L
2 (mm) 120
0
−90°
-
13
0
°
<
θ
3
<
13
0
°
4
0°
L
3 (mm) 141
0
90°
-
17
0
°
<
θ
4
<
-
6
0
°
5
0°
L
4 (mm) 92
0
−90°
-
13
0
°
<
θ
5
<
13
0
°
6
90°
L
5 (mm) 172
0
−90°
-
14
0
°
<
θ
6
<
-
7
0
°Figure 1
Picture of the general six-DOF humanoid robot arm.The transformation matrix between each two successive joint can be written by simply substituting the parameters from Table1 into the matrix given as follows:
(2)A01=[cos⁡(θ1)0-sin(θ1)L0cos⁡(θ1)sin(θ1)0cos⁡(θ1)L0sin(θ1)0-1000001],A12=[cos⁡(θ2)0-sin(θ2)0sin(θ2)0cos⁡(θ2)00-10L10001],A23=[cos⁡(θ3)0-sin(θ3)0sin(θ3)0cos⁡(θ3)00-10L20001],A34=[cos⁡(θ4)0sin(θ4)0sin(θ4)0-cos⁡(θ4)0010L30001],A45=[cos⁡(θ5)0-sin(θ5)0sin(θ5)0cos⁡(θ5)00-10L40001],A56=[cos⁡(θ6)0-sin(θ6)0sin(θ6)0cos⁡(θ6)00-10L50001].Therefore, the transformation matrix of the end-effector with respect to the fixed reference frame can be expressed as follows:(3)0Tend=0T6=A01·A12·A23·A34·A45·A56=[nxoxaxpxnyoyaypynzozazpz0001],
where p=[px,py,pz]T is the position of the end-effector in Cartesian coordinates and o=[nxoxaxnyoyaynzozaz] is the rotation matrix. Although the orientation of the end-effector is generally of interest in a robotic application, most robot arms are used to perform simple and repetitive tasks. In these applications, the inverse kinematic solvers only consider the end-effector position matrix; that is, the Euler angles are not included and the rotation matrix of end-effector is not considered [26].In the forward kinematics equation (3), there are infinite inverse kinematics solutions for the six-DOF humanoid robot arm. Although the solution of the forward kinematics problem is steady forward, the solution of the inverse kinematics problem strictly depend on the robot arm’s structures. It is difficult to obtain a general closed-form and optimal solution by using conventional methods, such as analytical approach [7, 8] and Jacobian-based approach [9]. In other words, the complex and time-consuming procedure of inverse kinematics must be derived again for different humanoid robot robots using these conventional approaches.In order to circumvent this disadvantage, this paper presents an evolutionary DNA swarm intelligence algorithm combined with Taguchi method to solve the general six-DOF redundant inverse kinematics problem, thus determining the optimal joint variables of the six-DOF humanoid robot arm. The DNA parameters are determined using Taguchi theory rather than trial-and-error approach. The proposed DNA algorithm with Taguchi method evolves the optimal configuration of the joint variables for the six-DOF humanoid robot arm by minimizing the predefined fitness function and signal-to-noise ratio (SNR).


## 3. Taguchi-Based DNA Inverse Kinematics Redundancy Solver

### 3.1. DNA Swarm Intelligence Algorithm

DNA swarm intelligence algorithm is a subcategory of nature-inspired optimization and population-based optimization algorithms using the biomolecular structure of DNA molecules [17–20]. Individuals (chromosomes) cooperate with each other to find an optimal solution in the problem space. The basic elements of biological DNA are nucleotides which can be classified into four bases: adenine (A), guanine (G), cytosine (C), and thymine (T). A triplet code of nucleotide bases specifies the codon, which in turn contains a specific anticodon on transfer RNA (tRNA) and assists subsequent transmission of genetic information in the formation of a specific amino acid [17–20]. A chromosome consists of combinations of the above four bases with different chemical structures and can represent many genes in the optimization problems.Numerical DNA computing algorithm is similar to GAs since their own natural genetic operators help evolution of the genes generation by generation, such as crossover and mutation; however it is different from GAs. In particular, the DNA algorithms provide two new operators, enzyme and virus, which are very useful to enhance the effect of mutation. Moreover, the coding scheme of DNAs is quite different from those of GAs. In what follows the coding scheme and core operators of DNA swarm intelligence algorithms are summarized.


#### 3.1.1. Coding Scheme

A single strand of DNA can be represented by a string consisting of a combination of four different symbols, A, G, C, and T; that is, DNA algorithms use A, G, T, and C to stand for their chromosomes; for example, one can define A = 0, G = 1, T = 2, and C = 3 to encode the chromosomes. Compared with the conventional GAs in which the binary coding system is employed, this approach has more genetic information for complex optimization problems solving. Moreover, (4) can be easily applied to define the range and precision of a parameter in the DNA algorithm [17, 18]:
(4)π=Umax⁡-Umin⁡4l-1,
where π denotes the precision, l stands for how many bits will be used, Umax⁡ is the maximum of the parameter, and Umin⁡ denotes the minimum of the parameter. It is worth mentioning that (4) hinges on the fact that DNA swarm intelligence algorithms use four bits for the coding scheme, but GAs use only two bits.


#### 3.1.2. Selection (Reproduction)

The main task of selection module is to select individuals from the populations so that these individuals can be sent to the crossover and mutation module in order to attain new offsprings. Selection is one of the key operators that ensure survival of the fitness. There are several selection methods with different characteristics, such as roulette selection, rank selection, and tournament selection. However, it is necessary to get the fitness value of each chromosome prior to selection process.


#### 3.1.3. Crossover

Crossover is the main procedure of chromosomal exchange in the DNA swarm intelligence algorithm to achieve an effective database of knowledge. In molecular biology, crossover is the process by two chromosomes, paired up during prophase of meiosis, which exchanges some distal portion of their DNA. Crossover occurs when two chromosomes break and then reconnect but to different end piece. If they break at the same place, then the result is an exchange of genes, called genetic recombination. One-point crossover is adopted throughout the paper due to high speed operation shown in Figure2 with a crossover rate Pc.Figure 2
Illustration of one-point crossover of the chromosomes.


#### 3.1.4. Mutation (Enzyme and Virus)

Mutation is the process which consists of making small alterations to the bits of the chromosomes by applying some kind of randomized changes, such as single-point or multipoint mutation process. This operation complements the procedures of crossover and selection. As shown in Figure3, in DNA swarm intelligence algorithms, there are two special mutation operators, enzyme and virus, which are more effective than GAs. The enzyme operator refers to deletion, in which one or more base pairs are removed, while the virus operator refers to insertion, in which one or more base pairs are inserted into the sequence. These two operations provide continuous renewal of the population, the searching diversity is increased, and the premature convergence problem is avoided. The determination of whether mutation will occur is decided by the mutation rate Pm.Figure 3
Illustration of enzyme and virus operations in DNA algorithm.


#### 3.1.5. Fitness Function (Performance Index)

The fitness function is application-specific and is always designed according to the problem to be optimized. The fitness of new chromosomes from genetic operations, such as crossover and mutation, should be evaluated based on the fitness function. For complex problems, the computation time becomes dominant in the overall performance.


### 3.2. DNA Computing for Solving the Inverse Kinematics Problem

In DNA computing for inverse kinematics, each chromosome contains the set of the joint variables[θ1θ2θ3θ4θ5θ6] of the six-DOF humanoid robot arm. The optimal solution is evolved by using the DNA evolution process to solve the redundant problem of the humanoid robot arm, thereby obtaining the optimal configurations q=[θ1θ2θ3θ4θ5θ6]T for the desired position of the end-effector p=[pxpypz]T.In the inverse kinematics redundant problem of the six-DOF humanoid robot arm, there exist infinitely many postures for the robotic arm from any starting pose to any destination pose. The proposed DNA algorithm will be employed to minimize the whole movement of the robot arm in the redundant problem. The configuration of the robot arm can be represented by the following vector matrix:(5)q=[θ1θ2θ3θ4θ5θ6]T.
To determine the minimal movement of the robot arm, one defines a fitness function composed of the differences from the initial states of manipulator and the final states of the robot arm. The initial states qi of the robot arm are denoted by
(6)qi=[θ1,iθ2,iθ3,iθ4,iθ5,iθ6,i]T.
The final states of the humanoid robot arm are expressed by
(7)qf=[θ1,fθ2,fθ3,fθ4,fθ5,fθ6,f]T.The desired final position of the robot’s end-effector is represented asXm,f=[xm,fym,fzm,f]T=[pxpypz]T. Based on the desired final position of the end-effector and the inverse kinematics of the robotic arm in Section 2, one can obtain all the joint angles of the humanoid robotic arm using the DNA optimization process.Fitness function (performance index) is very important in the DNA evolution process because it evaluates all the DNA chromosomes. In order to employ the DNA algorithm to solve the redundant problem, one defines the fitness functionF as follows by considering the minimal movement of the robot arm:
(8)F=Fdisplacement+Ferror=[(qf-qi)T(qf-qi)]1/2(qf-qi)T(qf-qi)+ω[(xm,f-xm,i)2+(ym,f-ym,i)2+(zm,f-zm,i)2]1/2,
where Xm,i=[xm,iym,izm,i]T is the initial position of the end-effector of the robot arm and ω is the weight factor. The fitness function F combines the position error Ferror with an additional term based on the joint angle displacement Fdisplacement from the initial position. The proposed DNA algorithm is then adopted to find the optimal solutions of the fitness function F in (7); that is, the best fitness value is thus obtained and the optimal configuration is determined. These optimal parameters, including θ1,θ2,θ3,θ4,θ5, and θ6, are required for the design of robot arm controller to perform the desired tasks.The DNA swarm intelligence algorithm for searching the optimal configurations of the humanoid robot arm is described by the following steps. Note that if the corresponding joint angle is within the limit of the motor’s workspace, the chromosome is acceptable.Step 1.
Initialize the population sizeS, crossover rate Pc, mutation rate Pm, and number of iterations N.Step 2.
Set the two parents from the selection operation.Step 3.
Execute the crossover operation and also check whether new chromosomes are acceptable. If the new chromosomes are unacceptable, repeat this procedure until acceptable chromosomes are obtained.Step 4.
Perform the mutation process with low mutation rate and ensure that new chromosomes are acceptable.Step 5.
Repeat the previous four steps again until the convergence criterion is met or predetermined number of iterations is reached. Output the optimal configuration of the humanoid robot armq*=[θ1*θ2*θ3*θ4*θ5*θ6*]T.


### 3.3. Taguchi DNA Inverse Kinematics Solver

Although the redundant inverse kinematics problem of the six-DOF humanoid robot arm has been successfully resolved by the proposed DNA swarm intelligence, the DNA parameters, such as population size, number of generation, crossover rate, and mutation rate, are not appropriately set. These parameters affect the searching performance of the DNA computing in inverse kinematics solver. The most important problem is, therefore, how to find the optimal DNA parameters to increase the search efficiency and decrease the effect of randomness in the proposed DNA redundancy solver. This subsection aims at employing Taguchi quality method to present a Taguchi-based DNA inverse kinematics solver for the six-DOF humanoid robot arm.Taguchi experimental method can reduce the disturbance caused by randomness and can help determine the optimal parameters in the proposed DNA algorithm. The advantage of the combination of the DNA computing and Taguchi method is that only a few experiments are needed because of the orthogonal array of the Taguchi method. The proper DNA parameters can be set without full-parameter experiments. This approach not only greatly reduces the number of iterations but also makes the DNA final solution approaches the optimal values with less randomness. Taguchi method was constructed based on the principle of an orthogonal array that can effectively minimize the number of experiments required in any design process [21–25]. An orthogonal array is a fractional factorial matrix that provides a balanced comparison of levels of parameters or factors. This approach can provide an efficient way to obtain the optimal parameters or factors in an optimization problem or system design.In this study, there are four control factors: population size (S), number of generation (N), crossover rate (Pc), and mutation rate (Pm). Table 2 shows the control factors and their levels, each factor has three levels (level 1, level 2, and level 3). Table 3 is a standard Taguchi orthogonal array L9 (34) which is applied in this inverse kinematics solver. The full factorial design method requires 34 = 81 experiments while the Taguchi method needs only nine experiments to obtain the approximate optimal values.Table 2
Control factors and their levels.
Control factor
Level 1
Level 2
Level 3
S
100
200
300
N
50
75
100
P
c
0.6
0.7
0.8
P
m
0.015
0.03
0.05Table 3
Orthogonal array of the inverse kinematics solver.
Exp. number
S
N
P
c
P
m
1
100
50
0.6
0.015
2
100
75
0.7
0.03
3
100
100
0.8
0.05
4
200
50
0.7
0.05
5
200
75
0.8
0.03
6
200
100
0.6
0.015
7
300
50
0.8
0.03
8
300
75
0.6
0.015
9
300
100
0.7
0.05Signal-to-noise ratio (SNR) is used in Taguchi method to measure the quality of each experiment in the orthogonal array. There are several SNRs available depending on the type of characteristic: nominal-is-best, smaller-the-better, or larger-the-better [21–25]. This paper adopts the smaller-the-better characteristic and the SNR is given by
(9)SNR=-10log⁡⁡F2,
where F is the fitness value in (8).With the Taguchi method with orthogonal array, the parameters in DNA swam intelligence are properly set to obtain optimal performance by only using a few experiments. This Taguchi-based DNA (TDNA) solver provides a general redundancy resolution for six-DOF the humanoid robot arm. The proposed TDNA solver can be easily extended to resolve the redundancy problem of seven-DOF humanoid robot arms. The proposed TDNA solver outperforms the conventional solvers, such as geometric solver, Jacobian-based solver, GA-based solver, and ACO-based solver, because more genetic information and Taguchi quality method are applied in this natural-inspired swarm intelligence.Remark 1.
Once the optimal configuration is obtained via the TDNA algorithm, the next goal is to plan the motion profile of each joint and the time trajectory is then generated between the initial and final configurations. This motion trajectory planning can be achieved via the trapezoid velocity profile [26] and S-curve profile which are commonly used in motion control to generate the time trajectories for the joint angles and avoid strong random motion.Remark 2.
The proposed TDNA solver is easily extended to address the full inverse kinematics in which the position and rotation matrix are considered. Moreover, this efficient TDNA solver is applicable to any multi-DOF robot arms with different structures.


## 3.1. DNA Swarm Intelligence Algorithm

DNA swarm intelligence algorithm is a subcategory of nature-inspired optimization and population-based optimization algorithms using the biomolecular structure of DNA molecules [17–20]. Individuals (chromosomes) cooperate with each other to find an optimal solution in the problem space. The basic elements of biological DNA are nucleotides which can be classified into four bases: adenine (A), guanine (G), cytosine (C), and thymine (T). A triplet code of nucleotide bases specifies the codon, which in turn contains a specific anticodon on transfer RNA (tRNA) and assists subsequent transmission of genetic information in the formation of a specific amino acid [17–20]. A chromosome consists of combinations of the above four bases with different chemical structures and can represent many genes in the optimization problems.Numerical DNA computing algorithm is similar to GAs since their own natural genetic operators help evolution of the genes generation by generation, such as crossover and mutation; however it is different from GAs. In particular, the DNA algorithms provide two new operators, enzyme and virus, which are very useful to enhance the effect of mutation. Moreover, the coding scheme of DNAs is quite different from those of GAs. In what follows the coding scheme and core operators of DNA swarm intelligence algorithms are summarized.


### 3.1.1. Coding Scheme

A single strand of DNA can be represented by a string consisting of a combination of four different symbols, A, G, C, and T; that is, DNA algorithms use A, G, T, and C to stand for their chromosomes; for example, one can define A = 0, G = 1, T = 2, and C = 3 to encode the chromosomes. Compared with the conventional GAs in which the binary coding system is employed, this approach has more genetic information for complex optimization problems solving. Moreover, (4) can be easily applied to define the range and precision of a parameter in the DNA algorithm [17, 18]:
(4)π=Umax⁡-Umin⁡4l-1,
where π denotes the precision, l stands for how many bits will be used, Umax⁡ is the maximum of the parameter, and Umin⁡ denotes the minimum of the parameter. It is worth mentioning that (4) hinges on the fact that DNA swarm intelligence algorithms use four bits for the coding scheme, but GAs use only two bits.


### 3.1.2. Selection (Reproduction)

The main task of selection module is to select individuals from the populations so that these individuals can be sent to the crossover and mutation module in order to attain new offsprings. Selection is one of the key operators that ensure survival of the fitness. There are several selection methods with different characteristics, such as roulette selection, rank selection, and tournament selection. However, it is necessary to get the fitness value of each chromosome prior to selection process.


### 3.1.3. Crossover

Crossover is the main procedure of chromosomal exchange in the DNA swarm intelligence algorithm to achieve an effective database of knowledge. In molecular biology, crossover is the process by two chromosomes, paired up during prophase of meiosis, which exchanges some distal portion of their DNA. Crossover occurs when two chromosomes break and then reconnect but to different end piece. If they break at the same place, then the result is an exchange of genes, called genetic recombination. One-point crossover is adopted throughout the paper due to high speed operation shown in Figure2 with a crossover rate Pc.Figure 2
Illustration of one-point crossover of the chromosomes.


### 3.1.4. Mutation (Enzyme and Virus)

Mutation is the process which consists of making small alterations to the bits of the chromosomes by applying some kind of randomized changes, such as single-point or multipoint mutation process. This operation complements the procedures of crossover and selection. As shown in Figure3, in DNA swarm intelligence algorithms, there are two special mutation operators, enzyme and virus, which are more effective than GAs. The enzyme operator refers to deletion, in which one or more base pairs are removed, while the virus operator refers to insertion, in which one or more base pairs are inserted into the sequence. These two operations provide continuous renewal of the population, the searching diversity is increased, and the premature convergence problem is avoided. The determination of whether mutation will occur is decided by the mutation rate Pm.Figure 3
Illustration of enzyme and virus operations in DNA algorithm.


### 3.1.5. Fitness Function (Performance Index)

The fitness function is application-specific and is always designed according to the problem to be optimized. The fitness of new chromosomes from genetic operations, such as crossover and mutation, should be evaluated based on the fitness function. For complex problems, the computation time becomes dominant in the overall performance.


## 3.1.1. Coding Scheme

A single strand of DNA can be represented by a string consisting of a combination of four different symbols, A, G, C, and T; that is, DNA algorithms use A, G, T, and C to stand for their chromosomes; for example, one can define A = 0, G = 1, T = 2, and C = 3 to encode the chromosomes. Compared with the conventional GAs in which the binary coding system is employed, this approach has more genetic information for complex optimization problems solving. Moreover, (4) can be easily applied to define the range and precision of a parameter in the DNA algorithm [17, 18]:
(4)π=Umax⁡-Umin⁡4l-1,
where π denotes the precision, l stands for how many bits will be used, Umax⁡ is the maximum of the parameter, and Umin⁡ denotes the minimum of the parameter. It is worth mentioning that (4) hinges on the fact that DNA swarm intelligence algorithms use four bits for the coding scheme, but GAs use only two bits.


## 3.1.2. Selection (Reproduction)

The main task of selection module is to select individuals from the populations so that these individuals can be sent to the crossover and mutation module in order to attain new offsprings. Selection is one of the key operators that ensure survival of the fitness. There are several selection methods with different characteristics, such as roulette selection, rank selection, and tournament selection. However, it is necessary to get the fitness value of each chromosome prior to selection process.


## 3.1.3. Crossover

Crossover is the main procedure of chromosomal exchange in the DNA swarm intelligence algorithm to achieve an effective database of knowledge. In molecular biology, crossover is the process by two chromosomes, paired up during prophase of meiosis, which exchanges some distal portion of their DNA. Crossover occurs when two chromosomes break and then reconnect but to different end piece. If they break at the same place, then the result is an exchange of genes, called genetic recombination. One-point crossover is adopted throughout the paper due to high speed operation shown in Figure2 with a crossover rate Pc.Figure 2
Illustration of one-point crossover of the chromosomes.


## 3.1.4. Mutation (Enzyme and Virus)

Mutation is the process which consists of making small alterations to the bits of the chromosomes by applying some kind of randomized changes, such as single-point or multipoint mutation process. This operation complements the procedures of crossover and selection. As shown in Figure3, in DNA swarm intelligence algorithms, there are two special mutation operators, enzyme and virus, which are more effective than GAs. The enzyme operator refers to deletion, in which one or more base pairs are removed, while the virus operator refers to insertion, in which one or more base pairs are inserted into the sequence. These two operations provide continuous renewal of the population, the searching diversity is increased, and the premature convergence problem is avoided. The determination of whether mutation will occur is decided by the mutation rate Pm.Figure 3
Illustration of enzyme and virus operations in DNA algorithm.


## 3.1.5. Fitness Function (Performance Index)

The fitness function is application-specific and is always designed according to the problem to be optimized. The fitness of new chromosomes from genetic operations, such as crossover and mutation, should be evaluated based on the fitness function. For complex problems, the computation time becomes dominant in the overall performance.


## 3.2. DNA Computing for Solving the Inverse Kinematics Problem

In DNA computing for inverse kinematics, each chromosome contains the set of the joint variables[θ1θ2θ3θ4θ5θ6] of the six-DOF humanoid robot arm. The optimal solution is evolved by using the DNA evolution process to solve the redundant problem of the humanoid robot arm, thereby obtaining the optimal configurations q=[θ1θ2θ3θ4θ5θ6]T for the desired position of the end-effector p=[pxpypz]T.In the inverse kinematics redundant problem of the six-DOF humanoid robot arm, there exist infinitely many postures for the robotic arm from any starting pose to any destination pose. The proposed DNA algorithm will be employed to minimize the whole movement of the robot arm in the redundant problem. The configuration of the robot arm can be represented by the following vector matrix:(5)q=[θ1θ2θ3θ4θ5θ6]T.
To determine the minimal movement of the robot arm, one defines a fitness function composed of the differences from the initial states of manipulator and the final states of the robot arm. The initial states qi of the robot arm are denoted by
(6)qi=[θ1,iθ2,iθ3,iθ4,iθ5,iθ6,i]T.
The final states of the humanoid robot arm are expressed by
(7)qf=[θ1,fθ2,fθ3,fθ4,fθ5,fθ6,f]T.The desired final position of the robot’s end-effector is represented asXm,f=[xm,fym,fzm,f]T=[pxpypz]T. Based on the desired final position of the end-effector and the inverse kinematics of the robotic arm in Section 2, one can obtain all the joint angles of the humanoid robotic arm using the DNA optimization process.Fitness function (performance index) is very important in the DNA evolution process because it evaluates all the DNA chromosomes. In order to employ the DNA algorithm to solve the redundant problem, one defines the fitness functionF as follows by considering the minimal movement of the robot arm:
(8)F=Fdisplacement+Ferror=[(qf-qi)T(qf-qi)]1/2(qf-qi)T(qf-qi)+ω[(xm,f-xm,i)2+(ym,f-ym,i)2+(zm,f-zm,i)2]1/2,
where Xm,i=[xm,iym,izm,i]T is the initial position of the end-effector of the robot arm and ω is the weight factor. The fitness function F combines the position error Ferror with an additional term based on the joint angle displacement Fdisplacement from the initial position. The proposed DNA algorithm is then adopted to find the optimal solutions of the fitness function F in (7); that is, the best fitness value is thus obtained and the optimal configuration is determined. These optimal parameters, including θ1,θ2,θ3,θ4,θ5, and θ6, are required for the design of robot arm controller to perform the desired tasks.The DNA swarm intelligence algorithm for searching the optimal configurations of the humanoid robot arm is described by the following steps. Note that if the corresponding joint angle is within the limit of the motor’s workspace, the chromosome is acceptable.Step 1.
Initialize the population sizeS, crossover rate Pc, mutation rate Pm, and number of iterations N.Step 2.
Set the two parents from the selection operation.Step 3.
Execute the crossover operation and also check whether new chromosomes are acceptable. If the new chromosomes are unacceptable, repeat this procedure until acceptable chromosomes are obtained.Step 4.
Perform the mutation process with low mutation rate and ensure that new chromosomes are acceptable.Step 5.
Repeat the previous four steps again until the convergence criterion is met or predetermined number of iterations is reached. Output the optimal configuration of the humanoid robot armq*=[θ1*θ2*θ3*θ4*θ5*θ6*]T.


## 3.3. Taguchi DNA Inverse Kinematics Solver

Although the redundant inverse kinematics problem of the six-DOF humanoid robot arm has been successfully resolved by the proposed DNA swarm intelligence, the DNA parameters, such as population size, number of generation, crossover rate, and mutation rate, are not appropriately set. These parameters affect the searching performance of the DNA computing in inverse kinematics solver. The most important problem is, therefore, how to find the optimal DNA parameters to increase the search efficiency and decrease the effect of randomness in the proposed DNA redundancy solver. This subsection aims at employing Taguchi quality method to present a Taguchi-based DNA inverse kinematics solver for the six-DOF humanoid robot arm.Taguchi experimental method can reduce the disturbance caused by randomness and can help determine the optimal parameters in the proposed DNA algorithm. The advantage of the combination of the DNA computing and Taguchi method is that only a few experiments are needed because of the orthogonal array of the Taguchi method. The proper DNA parameters can be set without full-parameter experiments. This approach not only greatly reduces the number of iterations but also makes the DNA final solution approaches the optimal values with less randomness. Taguchi method was constructed based on the principle of an orthogonal array that can effectively minimize the number of experiments required in any design process [21–25]. An orthogonal array is a fractional factorial matrix that provides a balanced comparison of levels of parameters or factors. This approach can provide an efficient way to obtain the optimal parameters or factors in an optimization problem or system design.In this study, there are four control factors: population size (S), number of generation (N), crossover rate (Pc), and mutation rate (Pm). Table 2 shows the control factors and their levels, each factor has three levels (level 1, level 2, and level 3). Table 3 is a standard Taguchi orthogonal array L9 (34) which is applied in this inverse kinematics solver. The full factorial design method requires 34 = 81 experiments while the Taguchi method needs only nine experiments to obtain the approximate optimal values.Table 2
Control factors and their levels.
Control factor
Level 1
Level 2
Level 3
S
100
200
300
N
50
75
100
P
c
0.6
0.7
0.8
P
m
0.015
0.03
0.05Table 3
Orthogonal array of the inverse kinematics solver.
Exp. number
S
N
P
c
P
m
1
100
50
0.6
0.015
2
100
75
0.7
0.03
3
100
100
0.8
0.05
4
200
50
0.7
0.05
5
200
75
0.8
0.03
6
200
100
0.6
0.015
7
300
50
0.8
0.03
8
300
75
0.6
0.015
9
300
100
0.7
0.05Signal-to-noise ratio (SNR) is used in Taguchi method to measure the quality of each experiment in the orthogonal array. There are several SNRs available depending on the type of characteristic: nominal-is-best, smaller-the-better, or larger-the-better [21–25]. This paper adopts the smaller-the-better characteristic and the SNR is given by
(9)SNR=-10log⁡⁡F2,
where F is the fitness value in (8).With the Taguchi method with orthogonal array, the parameters in DNA swam intelligence are properly set to obtain optimal performance by only using a few experiments. This Taguchi-based DNA (TDNA) solver provides a general redundancy resolution for six-DOF the humanoid robot arm. The proposed TDNA solver can be easily extended to resolve the redundancy problem of seven-DOF humanoid robot arms. The proposed TDNA solver outperforms the conventional solvers, such as geometric solver, Jacobian-based solver, GA-based solver, and ACO-based solver, because more genetic information and Taguchi quality method are applied in this natural-inspired swarm intelligence.Remark 1.
Once the optimal configuration is obtained via the TDNA algorithm, the next goal is to plan the motion profile of each joint and the time trajectory is then generated between the initial and final configurations. This motion trajectory planning can be achieved via the trapezoid velocity profile [26] and S-curve profile which are commonly used in motion control to generate the time trajectories for the joint angles and avoid strong random motion.Remark 2.
The proposed TDNA solver is easily extended to address the full inverse kinematics in which the position and rotation matrix are considered. Moreover, this efficient TDNA solver is applicable to any multi-DOF robot arms with different structures.


## 4. Simulation Results and Discussion

The aims of the simulations are to examine the effectiveness and performance of the proposed Taguchi-based DNA algorithm to solve the redundant inverse kinematics problem of the six-DOF humanoid robot arm. The initial statesqi=[qm,i]=[0∘0∘0∘0∘0∘0∘]T and the desired final position of the end-effector is set (20 cm, 20 cm, 10 cm). The Taguchi-based DNA computing is terminated at 100th generation. The evolved optimal joint solution is (θ1,f,θ2,f,θ3,f,θ4,f,θ5,f,θ6,f)=(76.19∘,-79.15∘,-43.46∘,-68.17∘,28.68∘,1.06∘) and its corresponding position is (19.98 cm, 19.84 cm, 9.98 cm) which is very close to the desired position.Figure4 presents the SNR of the proposed Taguchi-based DNA algorithm to solve the redundant problem of the six-DOF robot arm. As can been seen in Figure 4, the proposed Taguchi-based DNA algorithm successfully searches for the optimal configurations of the humanoid robot arm. Figure 5 depicts the joint trajectories of the robot manipulator moving from the starting point to the ending point. All the joint angles θ1~θ6 converge to constant values. Figure 6 presents the convergence of end-effector’s position error. As shown in Figure 6, the position errors, including x,y, and z, are nearly converged to zero successfully. These simulations clearly indicate that the proposed Taguchi-based DNA resolves the redundant problem and finds optimal configuration of the six-DOF robot arm.Figure 4
SNR of the proposed Taguchi-based DNA algorithm for the humanoid robot arm.Figure 5
Joint trajectories of the robot arm moving from the starting point to the ending point.Figure 6
Position error of the humanoid robot arm.In order to exhibit the merit of the proposed TDNA over conventional GA and ACO to solve the redundancy problem of the humanoid robot arm, Figure7 presents the evolutions of performance index (fitness value) for the proposed TDNA solver and the two conventional solvers. The GA and ACO were executed with the parameters settings: population size of individuals is 100, crossover probability is 0.85, mutation probability is 0.1, and maximum iterations are 100, α=0.2, β=0.3, ρ=0.7, and Q=10. These three solvers employed the same fitness function in (8) to cope with the same inverse kinematics redundancy problem of the six-DOF humanoid robot arm. As shown in Figure 7, the proposed TDNA solver converges to the optimal solution with better performance index. Through these results, the proposed TDNA inverse kinematics solver is superior to the conventional solvers; that is, it solves this robotic optimization problem more efficiently with better joint configurations. It is worth mentioning that some metaheuristic algorithms could be considered in this area in the future, like swarm dolphin algorithm, computational intelligence aided design (CIAD) framework, and so on, which could be employed in future work.Figure 7
The evolutions of performance index in the proposed TDNA and conventional solvers.


## 5. Conclusions

This paper has presented an efficient inverse kinematics redundancy solver of six-DOF humanoid robot arm using Taguchi-based DNA swarm intelligence. The proposed hybrid algorithm has been developed to solve the redundancy problem. This algorithm has more genetic information and avoids the premature convergence problem in conventional methods. Through simulation results, the proposed TDNA optimal solver has been shown to search for the optimal solutions successfully. This TDNA solver has been shown to outperform the conventional solvers, such as geometric solver, Jacobian-based solver, GA solver, and the ACO solver.



---

*Source: 358269-2014-07-22.xml*