The biped robots exhibit two types of locomotion while moving on the terrains. The first one is statically stable locomotion, in which the stability of locomotion of the biped robot is decided based on the concept of center of gravity (CG). During static walking, the robot moves very slowly and the center of gravity of the biped robot should always fall in the foot support polygon of the robot. The other one is dynamically balanced locomotion, in which the zero moment point should lie inside the foot support polygon. For recovering from the unsteady state during walk, the robot has to move with higher speed, otherwise the robot may lose balance. Vukobratovic et al.^{[1]} defined the extent of balance of the biped locomotion based on the concept of zero moment point (ZMP) and Kajita et al.^{[2]} utilized the concept of inverted pendulum to analyze the stability of two different types of biped robots. Akhtaruzzaman et al.^{[3]} developed a quasiinverse pendulum model to generate the gait for a 12DOF biped robot. In addition to the above approaches, Mita et al.^{[4]} proposed a new controlling method based on the concept of modern control theory, i.e., optimal regulator theory and conducted walking experiments on a plane surface. They used linear optimal state feedback regulator (LOSFR) to develop the control method. LOSFR stabilized the stance support of both the legs of biped robot. Braun et al.^{[5, 6]} developed a new control approach after using the kinematic trajectories of the biped robot to achieve dynamic walking. Furthermore, to implement the proposed approach, they derived a model based transformation from the obtained control torques. The robustness of the developed controller was tested on various terrains with different speeds by applying forward and backward pushtype disturbances to an anthropomorphic biped robot. A fast and natural turn during walking of the biped robot with foot slip was addressed in [7]. The mathematical formulation for foot slip was derived based on the motion of the swing leg, support leg and rest of the body. Ohashi et al.^{[8]} discussed the ZMP based stable walking of the biped robot on different environmental models (i.e., heaving, rolling, pitching and twisting). After introducing the environmental models, the biped robot could move its foot and adapt to the ground conditions without changing the controller. Furthermore, Li et al.^{[9]} developed a new ZMP trajectory control model with adjustable parameters for the biped robot in both the sagittal and frontal planes. The kalman filter and fuzzy motion controller were used to measure the dynamic balance of the biped robot after following the ZMP reference trajectories. Sato et al.^{[10]} proposed a virtual slope method for designing a walking trajectory on stairs for the two legged robot. Moreover, Iida and Tedrake^{[11]} discussed the energy efficient walking on uneven terrains for the compass like biped robot. The input and output feedback linearization and a time scaling approach were considered in the static foot phase and in the foot rotation phase, respectively to design and construct the control law. Liu et al.^{[12]} designed an adaptive walking control algorithm based on the central pattern generator and center of gravity. The control strategy was able to generate the adaptive signals online when the robot was walking. In addition to those approaches, Zhang et al.^{[13]} developed an algorithm that could generate the walking pattern for the biped robot while ascending and descending the stair case with desired walking speed and stability margin. Cubic polynomial equations were used to generate the foot and hip trajectory for obtaining the optimal hip height of the biped robot. Once the robot achieved the dynamic walking during simulations, the algorithm was tested on RoboSapien 12DOF biped robot for verifying the gaits generated by that algorithm. Moreover, Chen et al.^{[14]} proposed a bioinspired control method. Initially, they used the human walking trajectories to develop a pattern generator and this pattern generator was utilized to relate the information of the ZMP and center of mass to determine the foot placement of the robot. Furthermore, Goomer et al.^{[15]} determined the dimensions of the two legged robot and the trajectories for the ankle, hip, center of mass (COM) and zero moment point (ZMP) of the biped robot after considering offline parameters. This information was used to design an online proportion integration differentiation (PID) control scheme to reduce the error between the joint angles. Ferreira et al.^{[16]} used a support vector regression (SVR) model to determine the position of ZMP and torso correction for the robot′s body. The previously simulated data was used to train the SVR model. Finally, the authors concluded that the SVR model was faster and simpler when compared with the other neural network and neuro fuzzy control methods. Furthermore, Ferreira et al.^{[17]} designed an adaptive power delivery (PD) controller based on SVR method. The SVR model was trained using the simulation data, and its performance was tested on a real robot. In addition to the above approaches, Li and Ge^{[18]} developed a robust adaptive controller for balancing, posture control and trunk orientation of a bipedal robot. The tracking error of the controller was converged to zero with the usage of Lyapunov synthesis function. Sukvichai and Fish Jr^{[19]} developed a nonlinear model reference PID controller for a 7DOF biped robot that consists of second order differential equations. The coefficients of the differential equations were generated by the behavior of biped in the presence of disturbance function. Furthermore, a considerable amount of research work had also been carried out to design the energy efficient dynamically balanced walking gaits for the biped robot using evolutionary algorithms. Some of the works related to that research are discussed here. Capi et al.^{[20]} used a genetic algorithm to develop an optimal trajectory for the biped robot in order to maintain its balance while walking on a flat surface and minimized the energy consumed by the biped robot. It was observed that the optimal trajectories obtained during the process resulted in the reduction of rate of change of torque. Furthermore, Lim et al.^{[21]} proposed an optimal trajectory generation method for the two legged robot to move on stairs based on the data obtained from the human motion analysis. A real coded genetic algorithm was used to generate the optimal gaits for the biped robot, and to improve the energy autonomy. In addition to the above approaches, the gait generation problem of the 7DOF biped robot while ascending and descending the stairs^{[22]} and slope surface^{[23]} were solved by using an analytical method, genetic fuzzy and genetic neural algorithms^{[24, 25]}. It was observed that in the above studies, no controllers were used to execute the generated gait. Furthermore, Kim et al.^{[26]} proposed an online walking control algorithm for dynamically balanced walking of a biped robot on uneven terrains. The online control algorithm used the local and global inclination information of the terrain to adopt the robot to the uncertain terrain conditions. This algorithm was successfully tested on a humanoid robot. It is important to note that the real time processing of ZMP information is a difficult task due to its corresponding equations. To overcome this problem, Ferreira et al.^{[27]} developed an intelligent computing technique based on the support vector regression for fine tuning the ZMP controller. It was observed that the SVR controller runs 50 times faster than the corresponding first order TakagiSugenoKang neural fuzzy network.
Moreover, for generating a dynamically balanced gait, a smooth controlling action was required to move the joints in a coordinated manner. To overcome this problem, nowaday′s most of the researchers are working on the development of suitable controllers^{[28]} to control the motors mounted on the joints of robot. In the present manuscript, an attempt will be made to develop torque based PID controllers to control all the joints in a smooth way. For the past few years, PID controllers are widely used in all industrial and nonindustrial applications because of their robustness in performance and simple structure when compared with other controllers. The working principle of PID controller mainly involves the usage of three important parameters, namely proportional, integral and derivative gains. Tuning the gains of the PID controller using conventional (Manual and Ziegler Nicholas) methods is laborious and time consuming. For this reason, recently the researchers are looking for nontraditional optimization algorithms to determine the parameters and to improve the performance of the controller. The nontraditional algorithms, such as genetic algorithm (GA)^{[29, 30]}, particle swarm optimization (PSO) algorithm^{[31–33]}, differential evolution (DE)^{[34]}, simulated annealing (SA)^{[35]}, artificial bee colony (ABC)^{[36]}, evolutionary algorithms (EA)^{[37]} and ant colony optimization (ACO)^{[38]} were extensively used to tune the gains of the PID controller. In addition to the above approaches, Farahani et al.^{[39]} proposed a tuning method for the PID controller by using lozi mapbased chaotic algorithm to solve the load frequency control problem. Finally the performance of the algorithm was compared with other optimization algorithms. An invasive weed optimization (IWO)^{[40]} algorithm was developed to tune the gains of PID controller of the hydroturbine generator. Furthermore, it was also used for the multiobjective optimization^{[41]} of diagonal values of Q matrix of the linear quadratic regulator (LQR) controller. Li et al.^{[42, 43]} used IWO algorithm to tune the parameters of the antenna for getting highest directivity and compared it with PSO algorithm. They found that the PSO algorithm was struck in the local minima because of its boundary conditions and the maximum velocity of the particle. Moreover, Abedinia et al.^{[44]} proposed a modified invasive weed optimization (MIWO) algorithm to tune the parameters of fuzzy PID controller to control the multimachine power system. It was observed that the MIWO fuzzy controller worked effectively when compared with other methods. Recently, Naidu and Ojha^{[45]} proposed a hybrid version of invasive weed optimization method with quadratic approximation, and they compared its performance with standard invasive weed optimization algorithm by using some of the bench mark problems. Based on the literature review, the contributions of this manuscript are stated below.
Research focus of the present manuscript. Some of the researchers^{[22–25, 46]} worked on the development of gait generation algorithms for a 7DOF biped robot. They have not used any controller to execute the generated gait in a smooth manner. Moreover, majority of the researchers have used ZMP based PID controller^{[47–49]}, to control the motors used in various joints. The drawback with the said approach is that it was used to reduce the error between the actual ZMP and reference ZMP by manipulating the gait of various links of the biped robot. There was no guarantee that the gait obtained from the controller will fulfill the sequence oriented gaits and repeatability conditions. Furthermore, many researchers had used nontraditional optimization algorithms, such as GA, PSO and others to tune the gains of the PID controller used in many industrial as well as robotic applications. Furthermore, to the best of the author′s knowledge, the modified chaotic invasive weed optimization (MCIWO) algorithm has not been used earlier to tune the gains of the torquebased PID controller for the biped robot while ascending and descending the stair case and sloping surface. In the present manuscript, an attempt is made to develop a torquebased PID controller, which works directly on the error between the angular displacements of individual joints to execute the gaits generated with the help of inverse kinematics based gait planner. Further, the gains of the said controller have been tuned with the help of a most recent nontraditional optimization algorithm known as MCIWO. Finally, the performance of the MCIWO tuned torquebased PID controller is tested on a real 18DOF biped robot developed in our laboratory.
2 Description of the biped robotAn 18DOF biped robot (shown in Fig. 1) developed in our laboratory has been considered in the present research work. The weight, height and total number of degrees of freedom of the biped robot considered in this study are kept equal to 2 kg, 500 mm and 18 (6DOF in each leg and 3DOF in each hand), respectively. Servo motors (35 kg·cm) with metal gears are used to control the joints of the biped robot. The authors realized a selfcontained system by putting all mechanical and electronic parts into the robot body. Acrylic sheet with 0.5 mm thickness has been used to construct the body frame of the robot. The degrees of freedom of each joint and dimensions of the each body part of the robot are given in Table 1.
Download:


Fig. 1. Schematic diagram showing the structure of the biped robot 
3 Mathematical formulation of the problem
The main aim of this paper is to design a torque based PID controller for a biped robot ascending and descending the stair case (reference to Fig. 2) and sloping surface (reference to Fig. 4).
Download:


Fig. 2. Schematic diagram showing the biped 
3.1 Gait generation while ascending the stair case
Initially, forward kinematics approach is used to determine the position of each joint of the biped robot. Moreover, to generate the dynamically balanced gaits on the said terrains, the foot and hip joints of the biped robot are assumed to follow cubic polynomial trajectories
3.1.1 Inverse kinematicsThe motion of the biped robot is considered in both the sagittal as well as frontal planes of the biped robot. The orientation of each joint of the biped robot has been calculated by using the concept of inverse kinematics. The mathematical expressions that are used to determine the joint angles of the swing leg (i.e., θ_{3} and θ_{4}) and stand leg (i.e., θ_{9} and θ_{10}) in sagittal plane, and the joint angles of swing leg (i.e., θ_{2} and θ_{5}) and stand leg (i.e., θ_{8} and θ_{11}) in frontal plane are summarized below.
${\theta _4} = {\sin ^{  1}}\left( {\frac{{{H_1}{l_3}\sin \psi + {L_1}{l_3}\cos \psi \left( {{l_4} + {l_3}\cos \psi } \right)}}{{{{\left( {{l_4} + {l_3}\cos \psi } \right)}^2} + {{\left( {{l_3}\sin \psi } \right)}^2}}}} \right)$  (1) 
where L_{1} = l_{4} sin(θ_{4}) + l_{3} sin(θ_{3}), H_{1}=l_{4} cos(θ_{4})+l_{3} cos(θ_{3}),
${\theta _{10}} = {\sin ^{  1}}\left( {\frac{{{H_2}{l_9}\sin \psi + {L_2}\left( {{l_{10}} + {l_9}\cos \psi } \right)}}{{{{\left( {{l_{10}} + {l_9}\cos \psi } \right)}^2} + {{\left( {{l_9}\sin \psi } \right)}^2}}}} \right)$  (2) 
where L_{2} = l_{9} sin(θ_{9}) + l_{10} sin(θ_{10}), H_{2} = l_{9} cos(θ_{9}) + l_{10} cos(θ_{10}),
${\theta _2} = {\theta _8} = {\tan ^{  1}}\left( {\frac{{{f_w}}}{{{H_1}}}} \right)$  (3) 
${\theta _5} = {\theta _{11}} = {\tan ^{  1}}\left( {\frac{{{0.5{f_w}}}}{{{H_2}}}} \right).$  (4) 
The concept of zero moment point has been used to estimate the dynamic balance of the biped robot. The zero moment point is a point on the foot support interface about which the moments generated by various links of the robot in horizontal direction will be equal to zero. A schematic diagram showing the position of XZMP and YZMP is given in Fig. 3.
Download:


Fig. 3. ZMP and DBM acting in Xdirection and Ydirection 
The following equations are used to determine the position of ZMP in Xdirection and Ydirection.
${x_{ZMP}} = \frac{{\sum\limits_{i = 1}^n {\left( {{I_i}\mathop {{\omega _i}}\limits^.  {m_i}\mathop {{x_i}}\limits^{..} {z_i} + {m_i}{x_i}(g  \mathop {{z_i}}\limits^{..} )} \right)} }}{{\sum\limits_{i = 1}^n {\left( {{m_i}(\mathop {{z_i}}\limits^{..}  g)} \right)} }}$  (5) 
${y_{ZMP}} = \frac{{\sum\limits_{i = 1}^n {\left( {{I_i}\mathop {{\omega _i}}\limits^.  {m_i}\mathop {{y_i}}\limits^{..} {z_i} + {m_i}{y_i}(g  \mathop {{z_i}}\limits^{..} )} \right)} }}{{\sum\limits_{i = 1}^n {\left( {{m_i}(\mathop {{z_i}}\limits^{..}  g)} \right)} }}$  (6) 
where
After determining the zero moment point, the dynamic balance margin has been calculated in both Xdirection and Ydirection after employing (7) and (8), respectively. The dynamic balance margin has been defined as the difference between the length of the foot to the point where ZMP is acting on the foot support polygon. It is interesting to note that while walking on the stair case, the foot of the robot is always parallel to the stair width.
${x_{DBM}} = \left( {\frac{{{f_s}}}{2}  \Big {{x_{ZMP}}} \Big} \right)$  (7) 
${y_{DBM}} = \left( {\frac{{{f_w}}}{2}  \Big {{y_{ZMP}}} \Big} \right)$  (8) 
where f_{s} and f_{w} represent the length and width of the foot.
3.2 Gait generation while descending the stair caseThe gait generation method for the biped robot while descending the stair case is similar to the ascending case except for a small difference in determining the position of ZMP. While descending the stair case, the acceleration due to gravity (g) is acting in the direction opposite to that of the movement of robot. The expressions for ZMP in both Xdirection and Ydirection while descending the stair case are given below.
${x_{ZMP}} = \frac{{\sum\limits_{i = 1}^n {\left( {{I_i}\mathop {{\omega _i}}\limits^.  {m_i}\mathop {{x_i}}\limits^{..} {z_i}  {m_i}{x_i}(g + \mathop {{z_i}}\limits^{..} )} \right)} }}{{\sum\limits_{i = 1}^n {\left( {{m_i}(\mathop {{z_i}}\limits^{..} + g)} \right)} }}$  (9) 
${y_{ZMP}} = \frac{{\sum\limits_{i = 1}^n {\left( {{I_i}\mathop {{\omega _i}}\limits^.  {m_i}\mathop {{y_i}}\limits^{..} {z_i}  {m_i}{y_i}(g + \mathop {{z_i}}\limits^{..} )} \right)} }}{{\sum\limits_{i = 1}^n {\left( {{m_i}(\mathop {{z_i}}\limits^{..} + g)} \right)} }}.$  (10) 
The gait generation on sloping surface is almost similar to the gait generation on staircase. However, there are some variations in the formulation of the problem when compared with stair case. The changes in the formulation are discussed below. The main difference is that the foot of the biped robot is parallel to the inclination of the slope (α). Therefore, the step length (l) is calculated by using the following expression.
$l = {x_3}\cos \alpha  {x_1}\cos \alpha.$  (11) 
Here also a cubic polynomial trajectory has been assigned to the swing foot to move it to the next position without hitting the sloping surface. The methodology used to determine the ZMP is very much similar to ascending the stair case. Furthermore, the determination of dynamic balance margin on the sloping surface is decided based on two different criteria. The first criterion is based on static coefficient of friction (μ) and the second one is based on the position of ZMP. The biped robot can perform its walk without slipping for a certain value of static friction coefficient, i.e., the maximum angle of slope. In this work, the maximum angle of slope on which the robot can walk without slipping is decided by the static friction coefficient μ. Furthermore, the following expressions are used to determine the dynamic balance margin of the biped robot in Xdirection and Ydirection.
${x_{DBM}} = \left( {\frac{{{f_s}}}{2} \times \cos \alpha  \Big {{x_{ZMP}}} \Big} \right)$  (12) 
${y_{DBM}} = \left( {\frac{{{f_w}}}{2} \times \cos \alpha  \Big {{y_{ZMP}}} \Big} \right)$  (13) 
where f_{s} and f_{w} represent the length and width of the foot, respectively.
3.4 Gait generation while descending the slopeThe method of gait generation while descending the sloping surface is almost similar to that of the ascending the sloping surface. The schematic diagram of the biped robot descending the sloping surface is shown in Fig. 4 (b).
Download:


Fig. 4. Schematic diagram showing the biped robot 
3.5 Design of torque based PID controller
The torque based PID controllers are designed for each joint of the biped robot while moving on different terrain conditions. For designing a torque based PID controller initially, the dynamics of the biped robot is to be derived. In the present research work, the authors used LagrangeEuler formulation (14) for calculating the dynamics of the biped robot.
$\begin{split}{\tau _{i,the}} = & \sum\limits_{j = 1}^n {{M_{ij}}} \left( q \right)\mathop {{q_j}}\limits^{..} + \sum\limits_{j = 1}^n {\sum\limits_{k = 1}^n {{C_{ijk}}} } \mathop {{q_j}}\limits^. \mathop {{q_k}}\limits^. + {G_i}\\& i,j,k = 1,2, \cdots,n.\end{split}$  (14) 
Furthermore, the acceleration of the links plays a major role in controlling each joint of the biped robot. Therefore, the expression in terms of acceleration of the link can be obtained by rearranging the above equation as
$\begin{split} \mathop {{q_j}}\limits^{..} = & \sum\limits_{j = 1}^n {{M_{ij}}} {\left( q \right)^{  1}}\left[ {  \sum\limits_{j = 1}^n {\sum\limits_{k = 1}^n {{C_{ijk}}} } \mathop {{q_j}}\limits^. \mathop {{q_k}}\limits^.  {G_i}} \right] + \\& \left( {\sum\limits_{j = 1}^n {{M_{ij}}} {{\left( q \right)}^{  1}} \times {\tau _{i,the}}} \right),\;{i,j,k = 1,2, \cdots ,n}\end{split}$  (15) 
where the terms
Now consider the term:
$\sum\limits_{j = 1}^n {{M_{ij}}} {\left( q \right)^{  1}} \times {\tau _{i,the}} = \mathop \tau \limits^ \wedge.$ 
After substituting the above term in (15), it can be written as
$\begin{split}\mathop {{q_j}}\limits^{..} = & \sum\limits_{j = 1}^n {{M_{ij}}} {\left( q \right)^{  1}}\left[ {  \sum\limits_{j = 1}^n {\sum\limits_{k = 1}^n {{C_{ijk}}} } \mathop {{q_j}}\limits^. \mathop {{q_k}}\limits^.  {G_i}} \right] + \mathop \tau \limits^ \wedge \\& i,j,k = 1,2, \cdots,n.\end{split}$  (16) 
The actual torque required at different joints of the biped robot after utilizing the torque based PID controller is calculated by using the following expression.
${\tau _{act}} = {K_p}e + {K_d}\mathop {{\rm{ }}e}\limits^. + {K_i}\int e {\rm{d}}t$  (17) 
where τ_{act} indicates the actual torque required at each joint and
$\begin{split}e\left( {{\theta _i}} \right) = & {\theta _{if}}  {\theta _{is}}\\{\tau _{i,act}} = & \,\,{K_{pi}}\left( {{\theta _{if}}  {\theta _{is}}} \right)  {K_{di}}\mathop {{\theta _{is}}}\limits^. + {K_{ii}}\int {e\left( {{\theta _{is}}} \right)} {\rm{d}}t,\\& i = 1,2, \cdots,n\end{split}$  (18) 
where
$\begin{split}\mathop {{q_j}}\limits^{..} = & \sum\limits_{j = 1}^n {{M_{ij}}} {\left( q \right)^{  1}}\left[ {  \sum\limits_{j = 1}^n {\sum\limits_{k = 1}^n {{C_{ijk}}} } {{{\mathop q\limits^ \cdot}_j}} {{{\mathop q\limits^ \cdot}_k}}  {G_i}} \right] + \\& {K_{pi}}\left( {{\theta _{if}}  {\theta _{is}}} \right)  {K_{di}} {{{\mathop \theta\limits^ \cdot}_{is}}} + {K_{ii}}\int {e\left( {{\theta _{is}}} \right)} {\rm{d}}t.\end{split}$  (19) 
Once the PID controller is designed for each joint of the biped robot, then tuning of the gains of the PID controller is posed as an unconstrained optimization problem. It is to be noted that the positional error related to both the swing and stance leg is considered as an objective function for the optimization problem as explained below.
${\rm{Minimize}}\;Z = \sum\limits_{i = 1}^6 {e\left( {{\theta _i}} \right)} + \sum\limits_{j = 7}^{12} {e\left( {{\theta _j}} \right)}.$  (20) 
Subjected to constraints
$\begin{array}{l}{K_{pi,\min }} \le {K_{pi}} \le {K_{pi,\max }}\\{K_{di,\min }} \le {K_{di}} \le {K_{di,\max }}\\{K_{ii,\min }} \le {K_{ii}} \le {K_{ii,\max }}\\i = 1,2, \cdots,6\end{array}$ 
$\begin{array}{l}{K_{pj,\min }} \le {K_{pj}} \le {K_{pj,\max }}\\{K_{dj,\min }} \le {K_{dj}} \le {K_{dj,\max }}\\{K_{ij,\min }} \le {K_{ij}} \le {K_{ij,\max }}\\j = 7,8, \cdots,12\end{array}$ 
where K_{p}, K_{d} and K_{i} are having their usual meanings and i and j represent the joints of swing and stance leg, respectively.
5 Proposed optimization approachesTo solve the above optimization problem, we have used two nontraditional optimization algorithms, i.e., modified chaotic invasive weed optimization and particle swarm optimization algorithms. The description related to the said algorithms is given in the subsequent sections.
5.1 MCIWO algorithmThe MCIWO algorithm was developed based on the modification of an invasive weed optimization (IWO) algorithm. The IWO is a stochastic optimization algorithm developed by Mehrabain and Lucas^{[50]}. The working principle of the algorithm is based on the concept of ecology. In a cropping field, the invaded weeds (i.e., parents) distribute randomly and grow to a flowering weed by using unused resources of the crop, and produce new seeds. The produced seeds are dispersed randomly in a field and they take the unused resources in the field and grows to a new flowering weed (i.e., children). The working principle of the MCIWO algorithm is shown in Fig. 5.
Download:


Fig. 5. Flow chart showing the operation of MCIWO algorithm 
Initially, a finite number of weeds are dispersed randomly in an Ndimensional solution space. It is important to note that in a cropping field, each seed occupies the position and it signifies one possible solution to the problem. From the lowest and highest value of fitness in the colony, number of seeds are reproduced by each plant. The weed with better fitness will produce more seeds. It is important to note that all the weeds in the solution space will participate in the reproduction process. The weed with worst fitness value also shares some useful information to the evolution process. The number of seeds (S) produced by each weed is calculated by using (21).
$S = Floor\left[ {{S_{\min }} + \frac{{f  {f_{\min }}}}{{{f_{\max }}  {f_{\min }}}} \times {S_{\max }}} \right]$  (21) 
where f_{max} and f_{min} denote the maximum and minimum fitness value in the colony, respectively and S_{max} and S_{min} represent the maximum and minimum production by each plant, respectively. After reproduction, the seeds produced are dispersed over the search space by using the chaotic random number^{[51]} with zero mean and varying standard deviation. The chaotic random number will help in minimizing the chances of the solution to trap in the local optimum. The chaotic random number that is obtained after using Chebyshev map is given below.
${X_{k + 1}} = \cos \left( {k{{\cos }^{  1}}\left( {{X_k}} \right)} \right).$  (22) 
The standard deviation (σ_{Gen}) with which the weeds distribute over the search space is given by the following:
${\sigma _{Gen}} = {\frac{{\left( {Ge{n_{\max }}  Gen} \right)}}{{{{\left( {Ge{n_{\max }}} \right)}^n}}}^n}\left( {{\sigma _{initial}}  \sigma {}_{final}} \right) + {\sigma _{final}}$  (23) 
where Gen_{max} is the maximum number of generations and n represents modulation index. Furthermore, σ_{initial} and σ_{final} represent the initial and final standard deviation, respectively.
For improving the search space, i.e., usage of all unused resources in a better manner, a cosine variable^{[52, 53]} has been added. After introducing the cosine variable, (24) can be modified to the following form.
$\begin{split}{\sigma _{Gen}} = & {\frac{{\left( {Ge{n_{\max }}  Gen} \right)}}{{{{\left( {Ge{n_{\max }}} \right)}^n}}}^n} \times \left {\cos \left( {Gen} \right)} \right \times \\ & \left( {{\sigma _{initial}}  {\sigma _{final}}} \right) + {\sigma _{final}}.\end{split}$  (24) 
Once the newly produced seeds are scattered, they grow to a flowering weed. The newly grown flowering weeds are also placed in the colony along with the parent weeds. Furthermore, there is a need to limit the number of weeds. Therefore, elimination is done based on the value of fitness of weeds in the colony. After the reproduction process, the newly produced seeds along with their positions in the colony are ranked along with the parent weeds. Due to fast reproduction of the seeds, the size of population in the search will cross its maximum limit (P_{max}) after some generations. After reaching the maximum population (P_{max}), the weeds with less fitness are eliminated and the weeds that have better fitness value will be carried to the next generation.
5.2 PSO algorithmParticle swarm optimization is a swarm based intelligent algorithm introduced by Kennedy and Eberhart^{[54]} in 1995. The flow chart showing the operation of PSO algorithm is given in Fig. 6. In the present research, the particles (i.e., gains of the PID controllers) that represent the present problem look like the following.
Download:


Fig. 6. Flow chart showing the operation of PSO algorithm 
6 Results & discussions
In the present research work, an attempt is made to tune the gains of the PID controller of the biped robot while ascending and descending the stair and sloping surface. To tune the gains of the PID controller, two nontraditional optimization algorithms, namely MCIWO and PSO are used in the present study.
6.1 Ascending and descending the staircaseInitially, a parametric study has been conducted to determine the optimal parameters of the MCIWO and PSO algorithms while ascending the stair case. The optimal parameters of the MCIWO algorithm obtained after the parametric study are as follows: Initial standard deviation (σ_{initial}) = 3%, final standard deviation (σ_{final}) =0.000 01, modulation index (n) = 2, initial population (npop_{initial}) = 5, final population (npop_{final}) = 10, minimum number of seeds (S_{min}) = 0, maximum number of seeds (S_{max}) = 8 and maximum number of generations (Gen) = 100. Furthermore, similar type of parametric study is conducted to decide the optimal parameters of PSO. The optimal parameters of PSO algorithm are obtained as follows: The inertia weight (w) = 1, inertia weight damping ratio (W_{damp}) = 0.99, acceleration constants (C_{1} and C_{2}) = 1.5 and 2, maximum population size (Max_pop) =80, maximum number of generations (Max_gen) = 100.
Once the parametric study is completed for both the MCIWO and PSO algorithms, the performance of the algorithms in terms of angular positional error, torque required at different joints, variation of ZMP and dynamic balance margin of the biped robot in both Xdirection and Ydirection is tested in computer simulations.
Figs. 7 and 8 show the variation of angular positional error at different joints of the swing and stand leg joints of the biped robot while ascending the stair case. From the above figures, it can be observed that the angular positional error is reaching zero, i.e., there is no angular correction in between the two successive joints, when the biped robot uses MCIWO control algorithm as compared with the PSO control algorithm.
Download:


Fig. 7. Graphs showing the angular error at different joints of the swing leg of the two legged robot while ascending the staircase 
Download:


Fig. 8. Schematic diagram showing the angular positional error of the stand leg at different joints of the biped robot while ascending the stair case 
The torque required at different joints of the biped robot is shown in Fig. 9. It can be observed that the torque required by the swing and stand leg joints of the biped robot is seen to be less in case of MCIWO based controller as compared with the PSObased controller.
Download:


Fig. 9. Graphs showing the torques required at various joints of the two legged robot while ascending the staircase 
Moreover, Fig. 10 shows the variation of ZMP in Xdirection and Ydirection of the biped robot while ascending the stair case. It can be observed that in MCIWO based PID controller, the ZMP is moving to the center of the foot and resulting in more balanced gait compared with the PSObased PID controller. Furthermore, Fig. 11 shows the experimental results of executing the gait generated by the MCIWObased PID controller. From the above results, it has been observed that the biped robot has successfully negotiated the stair case.
Download:


Fig. 11. Real time biped robot walking while ascending the stair case 
Download:


Fig. 10. Graph showing the variation of XZMP and YZMP while ascending the staircase 
Like ascending the stair case, a parametric study has also been conducted for MCIWO and PSO algorithm during descending the stair case also. The optimal parameters of the MCIWO algorithm obtained are as follows: Initial standard deviation (σ_{initial}) = 5%, final standard deviation (σ_{final}) = 0.000 01, modulation index (n) = 2, initial population (npop_{initial}) = 5, final population (npop_{final}) =25, minimum number of seeds (S_{min}) = 0, maximum number of seeds (S_{max}) = 2 and maximum number of generations (Gen) = 100. The optimal parameters of the PSO algorithm obtained after the parametric study are as follows: Inertia weight (w) = 1, inertia weight damping ratio (W_{damp}) = 0.99, acceleration constants (C_{1} and C_{2}) =1.5 and 2, maximum population size (Max_pop) = 80 and maximum number of generations (Max_gen) = 100.
Figs. 12 and 13 show the variation of positional error at different joints of the swing and stand leg of the biped robot. It can be observed that at the beginning of each interval, the error is increasing to a high value and then decreasing slowly and coincides with zero when using MCIWObased PID controller when compared with PSO based PID controller.
Download:


Fig. 12. Schematic diagram showing the angular positional error of the swing leg at different joints of the biped robot while descending the stair case 
Download:


Fig. 13. Schematic diagram showing the angular positional error of the stand leg at different joints of the biped robot while descending the stair case 
The torque required at different joints of the biped robot while descending the stair case is shown in Fig. 14.
Download:


Fig. 14. Schematic diagram showing the variation of torque at different joints of the biped robot while descending the stair case 
It can be observed that, like ascending case, descending case also required less torque with MCIWO based PID controller algorithm when compared with the PSO based controller algorithm.
Fig. 15 shows the variation of ZMP in Xdirection and Ydirection while descending the stair case. It can be observed that the gaits generated are balanced in nature as ZMP is always lying inside the foot support polygon. Furthermore, Fig. 16 shows the execution of balanced gait obtained using MCIWObased PID controller. It has been observed that the real biped robot has executed a balanced walk while descending the stair case.
Download:


Fig. 15. Schematic diagram showing the variation of zero moment point in xdirection and ydirection while descending the stair case 
Download:


Fig. 16. Real time biped robot walking while descending the stair case 
6.2 Ascending and descending the sloping surface
Here also, a parametric study has been conducted to determine the optimal parameters of MCIWO and PSO algorithms. The optimal values of MCIWO parameters, such as initial standard deviation, final standard deviation, modulation index, initial population, final population, minimum number of seeds, maximum number of seeds and maximum number of generations for ascending and descending the sloping surface are found to be equal to {5%, 0.000 01, 3, 5, 20, 0, 10 and 100} and {5%, 0.000 01, 2, 5, 10, 0, 8 and 100}, respectively. Furthermore, the optimal values of parameters of PSO, namely inertia weight, damping ratio, acceleration coefficients, maximum population size and maximum number of generations for ascending and descending the sloping surface are found to be equal to {1, 0.99, 1.5 and 2, 70 and 100} and {1, 0.99, 1.5 and 2, 80 and 100}, respectively. Similar to ascending and descending the stair case, both controllers have exhibited the convergence trend in the case of sloping surface also. The variation of ZMP in Xdirection and Ydirection while ascending and descending the sloping surface is given in Table 2. It can be observed that the ZMP is falling in the foot support polygon and the gaits generated by the MCIWO and PSObased PID controllers are seen to be dynamically balanced. Moreover, the ZMP related to the MCIWO based control algorithm is very close to the center of the foot compared to the PSObased control algorithm. Furthermore, Figs. 17 and 18 show the real time execution of the gaits generated by the MCIWObased PID controller for both ascending and descending the sloping surface, respectively. It can be observed that the realbiped robot has successfully completed the task of ascending and descending the sloping surface.
Download:


Fig. 17. Real time biped robot ascending the sloping surface 
Download:


Fig. 18. Real time biped robot descending the sloping surface 
6.3 Comparative study
A comparative study (Fig. 19) has been conducted to analyze the dynamic balance margin of the biped robot in both Xdirection and Ydirection. It can be observed that the MCIWO based PID controller has produced more dynamically balanced gaits when compared with PSO and conventional PID controllers for all the cases. This may be due to the fresh weeds introduced into the system before mating commences, and more number of seeds are produced by the fitter plants in the MCIWO algorithm when compared with the PSO algorithm. Furthermore, it can also be observed that the dynamic balance margin in ascending case is seen to be more when compared with the descending case for both the stair case and sloping surface. It is exactly matching with the experience of human beings. It is important to note that the offline optimization process for MCIWO, PSO and manual tuning of gains of conventional PID controller are highly time consuming. Furthermore, the computational complexity involved in MCIWO algorithm is high when compared with the PSO algorithm, as the number of parameters that are to be tuned is more in the former. The amount of CPU time required to run the MCIWO and PSO algorithms for 10 number of populations for 10 generations is seen to be equal to 0.072 s and 0.046 s, respectively on a Dell Precision T1700 computer. However, once the offline optimization process is over, the amount of time required to produce the controller action is the same for all the three approaches.
Download:


Fig. 19. Schematic diagram showing the comparative study of the dynamic balance margin in (a) XDBM and (b) YDBM 
7 Conclusions
Establishing dynamically balanced gaits of the biped robot on different terrains will be achieved only when appropriate controller is used to manipulate the position of ZMP as and when it is required. The present study deals with the design of a torque based control algorithm for the biped robot while ascending and descending the stair case and sloping surfaces. To tune the gains of the controller, a new stochastic optimization algorithm (i.e., modified chaotic invasive weed optimization algorithm) has been implemented. Furthermore, the performance of the algorithm has been compared with the help of wellestablished particle swarm optimization algorithm (PSO), in terms of angular positional error, torque required at different joints and dynamic balance margin in all the said cases. Finally, for testing the performance of the algorithm, a small sized biped robot is used for conducting the experiments in real time under various terrain conditions. Our future research includes the development of an adaptive PID controller for the above said tasks. Exploring the effect of hand motion on the performance of the biped robot while ascending and descending the stair and sloping surfaces can also be considered as a future research work.
[1] 
M. Vukobratovic, A. A. Frank, D. Juricic. On the stability of biped locomotion. IEEE Transactions on Biomedical Engineering, vol.BME17, no.1, pp.2536, 1970. DOI:10.1109/TBME.1970.4502681 
[2] 
S. Kajita, O. Matsumoto, M. Saigo. Realtime 3D walking pattern generation for a biped robot with telescopic legs. In Proceedings of IEEE International Conference on Robotics and Automation, IEEE, Seoul, Korea, pp.22992306, 2001. DOI:10.1109/ROBOT.2001.932965 
[3] 
M. Akhtaruzzaman, A. S. Amir, R. Khan. Quasiinverse pendulum model of 12 DoF bipedal walking. International Journal of Automation and Computing, vol.14, no.2, pp.179190, 2017. DOI:10.1007/s1163301610231 
[4] 
T. Mita, T. Yamaguchi, T. Kashiwase, T. Kawase. Realization of a high speed biped using modern control theory. International Journal of Control, vol.40, no.1, pp.107119, 1984. DOI:10.1080/00207178408933260 
[5] 
D. J. Braun, M. Goldfarb. A control approach for actuated dynamic walking in biped robots. IEEE Transactions on Robotics, vol.25, no.6, pp.12921303, 2009. DOI:10.1109/TRO.2009.2028762 
[6] 
D. J. Braun, J. E. Mitchell, M. Goldfarb. Actuated dynamic walking in a sevenlink biped robot. IEEE/ASME Transactions on Mechatronics, vol.17, no.1, pp.147156, 2012. DOI:10.1109/TMECH.2010.2090891 
[7] 
J. S. Yeon, J. H. Park. A fast turning method for biped robots with foot slip during singlesupport phase. IEEE/ASME Transactions on Mechatronics, vol.19, no.6, pp.18471858, 2014. DOI:10.1109/TMECH.2014.2316007 
[8] 
E. Ohashi, T. Sato, K. Ohnishi. A walking stabilization method based on environmental modes on each foot for biped robot. IEEE Transactions on Industrial Electronics, vol.56, no.10, pp.39643974, 2009. DOI:10.1109/TIE.2009.2024098 
[9] 
T. H. S. Li, Y. T. Su, S. W. Lai, J. J. Hu. Walking motion generation, synthesis, and control for biped robot by using PGRL, LPI, and fuzzy logic. IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics), vol.41, no.3, pp.736748, 2011. DOI:10.1109/TSMCB.2010.2089978 
[10] 
T. Sato, S. Sakaino, E. Ohashi, K. Ohnishi. Walking trajectory planning on stairs using virtual slope for biped robots. IEEE Transactions on Industrial Electronics, vol.58, no.4, pp.13851396, 2011. DOI:10.1109/TIE.2010.2050753 
[11] 
F. Iida, R. Tedrake. Minimalistic control of biped walking in rough terrain. Autonomous Robots, vol.28, no.3, pp.355368, 2010. DOI:10.1007/s1051400991743 
[12] 
C. J. Liu, D. W. Wang, Q. J. Chen. Central pattern generator inspired control for adaptive walking of biped robots. IEEE Transactions on Systems, Man, and Cybernetics: Systems, vol.43, no.5, pp.12061215, 2013. DOI:10.1109/TSMC.2012.2235426 
[13] 
R. X. Zhang, P. Vadakkepat. Motion planning of biped robot climbing stairs. In Proceedings of the FIRA Congress, 2003.

[14] 
X. C. Chen, Z. G. Yu, W. M. Zhang, Y. Zheng, Q. Huang, A. G, Ming. Bioinspired control of walking with toeoff, heelstrike, and disturbance rejection for a biped robot. IEEE Transactions on Industrial Electronics, vol.64, no.10, pp.79627971, 2017. DOI:10.1109/TIE.2017.2698361 
[15] 
M. Goomer, P. Singh, S. K. Dwivedy. Design and control of biped robot. In Proceedings of the 14th National Conference on Machines and Mechanisms, Durgapur, India, 2009.

[16] 
J. P. Ferreira, M. M. Crisóstomo, A. P. Coimbra. SVR versus neuralfuzzy network controllers for the sagittal balance of a biped robot. IEEE Transactions on Neural Networks, vol.20, no.12, pp.18851897, 2009. DOI:10.1109/TNN.2009.2032183 
[17] 
J. P. Ferreira, M. M. Crisóstomo, A. P. Coimbra. Adaptive PD controller modeled via support vector regression for a biped robot. IEEE Transactions on Control Systems Technology, vol.21, no.3, pp.941949, 2013. DOI:10.1109/TCST.2012.2191969 
[18] 
Z. J. Li, S. S. Ge. Adaptive robust controls of biped robots. IET Control Theory & Applications, vol.7, no.2, pp.161175, 2013. DOI:10.1049/ietcta.2012.0066 
[19] 
K. Sukvichai, A. Fish Jr. The development of nonlinear model reference PID controller for a bipedal robot. Journal of Computer Science, Informatics & Electrical Engineering, vol. 3, no. 1, 2011.

[20] 
G. Capi, S. Kaneko, K. Mitobe, L. Barolli, Y. Nasu. Optimal trajectory generation for a prismatic joint biped robot using genetic algorithms. Robotics and Autonomous Systems, vol.38, no.2, pp.119128, 2002. DOI:10.1016/S09218890(01)001774 
[21] 
I. S. Lim, O. Kwon, J. H. Park. Gait optimization of biped robots based on human motion analysis. Robotics and Autonomous Systems, vol.62, no.2, pp.229240, 2014. DOI:10.1016/j.robot.2013.08.014 
[22] 
P. R. Vundavilli, S. K. Sahu, D. K. Pratihar. Dynamically balanced ascending and descending gaits of a twolegged robot. International Journal of Humanoid Robotics, vol.4, no.4, pp.717751, 2007. DOI:10.1142/S0219843607001266 
[23] 
P. R. Vundavilli, D. K. Pratihar. Balanced gait generations of a twolegged robot on sloping surface. Sadhana, vol.36, pp.525550, 2011. DOI:10.1007/s1204601100317 
[24] 
P. Online dynamically balanced ascending and descending gait generations of a biped robot using soft computing.. International Journal of Humanoid Robotics, vol.4, no.4, pp.777814, 2007. DOI:10.1142/S0219843607001254 
[25] 
P. R. Vundavilli, D. K. Pratihar. Nearoptimal gait generations of a twolegged robot on rough terrains using soft computing. Robotics and Computerintegrated Manufacturing, vol.27, no.3, pp.521530, 2011. DOI:10.1016/j.rcim.2010.09.007 
[26] 
J. Y. Kim, I. W. Park, J. Lee, M. S. Kim, B. K. Cho, J. H. Oh. System design and dynamic walking of humanoid robot KHR2. In Proceedings of IEEE International Conference on On Robotics and Automation, IEEE, Barcelona, Spain, pp.14431448, 2005. DOI:10.1109/ROBOT.2005.1570316 
[27] 
J. P. Ferreira, M. Crisóstomo, A. P. Coimbra. Tuning a PD controller based on an SVR for the control of a biped robot subject to external forces and slope variation. International Journal of Advanced Robotic Systems, vol. 11, no. 3, Article number 32, 2014. DOI: 10.5772/57526.

[28] 
L. Zouari, H. Abid, M. Abid. Sliding mode and PI controllers for uncertain flexible joint manipulator. International Journal of Automation and Computing, vol.12, no.2, pp.117124, 2015. DOI:10.1007/s116330150878x 
[29] 
D. Devaraj, B. Selvabala. Realcoded genetic algorithm and fuzzy logic approach for realtime tuning of proportionalintegralderivative controller in automatic voltage regulator system. IET Generation, Transmission & Distribution, vol.3, no.7, pp.641649, 2009. DOI:10.1049/ietgtd.2008.0287 
[30] 
K. Rajarathinam, J. B. Gomm, D. Y. Yu, A. S. Abdelhadi. PID controller tuning for a multivariable glass furnace process by genetic algorithm. International Journal of Automation and Computing, vol.13, no.1, pp.6472, 2016. DOI:10.1007/s1163301509101 
[31] 
Z. L. Gaing. A particle swarm optimization approach for optimum design of PID controller in AVR system. IEEE Transactions on Energy Conversion, vol.19, no.2, pp.384391, 2004. DOI:10.1109/TEC.2003.821821 
[32] 
K. M. Ravi, K. S. Manas, P. R. Vundavilli. Optimization of PID controller parameters for 3DOF planar manipulator using GA and PSO, new developments in expert systems research. Computer Science, Technology and Applications, pp.6788, 2015. 
[33] 
G. R. Murthy, M. S. Arumugam, C. K. Loo. Hybrid particle swarm optimization algorithm with fine tuning operators. International Journal of BioInspired Computation, vol.1, no.1–2, pp.1431, 2009. DOI:10.1504/IJBIC.2009.022771 
[34] 
Z. Bingul. A new PID tuning technique using differential evolution for unstable and integrating processes with time delay. In Proceedings of the 11th International Conference on Neural Information Processing, Springer, Calcutta, India, pp.254260, 2004. DOI:10.1007/9783540304999_38 
[35] 
D. P. Kwok, F. Sheng. Genetic algorithm and simulated annealing for optimal robot arm PID control. In Proceedings of the 1st IEEE Conference on Evolutionary Computation. IEEE World Congress on Computational Intelligence, IEEE, Orlando, USA, pp.707713, 1994. DOI:10.1109/ICEC.1994.349971 
[36] 
W. D. Liao, Y. Y. Hu, H. Q. Wang. Optimization of PID control for DC motor based on artificial bee colony algorithm. In Proceedings of International Conference on Advanced Mechatronic Systems, IEEE, Kumamoto, Japan, pp.2327, 2014. DOI:10.1109/ICAMechS.2014.6911617 
[37] 
V. K. Kadiyala, R. K. Jatoth, S. Pothalaiah. Evolutionary soft computing tools based tuning of PID controller for EMAAFC. In Proceedings of IEEE Region 10 Conference, IEEE, Singapore, 2009. DOI:10.1109/TENCON.2009.5396089 
[38] 
U. Rajput, M. Kumari. Mobile robot path planning with modified ant colony optimisation. International Journal of Bioinspired Computation, vol.9, no.2, pp.106113, 2017. DOI:10.1504/IJBIC.2017.083133 
[39] 
M. Farahani, S. Ganjefar, M. Alizadeh. PID controller adjustment using chaotic optimisation algorithm for multiarea load frequency control. IET Control Theory & Applications, vol.6, no.13, pp.19841992, 2012. DOI:10.1049/ietcta.2011.0405 
[40] 
N. Razmjooy, M. Khalilpour. A new design for PID controller by considering the operating points changes in hydroturbine connected to the equivalent network by using invasive weed optimization (IWO) algorithm. International Journal of Information, Security and System Management, vol.4, no.2, pp.468475, 2015. 
[41] 
H. A. Ismail, M. S. Packianather, R. I. Grosvenor. Multiobjective invasive weed optimization of the LQR controller. International Journal of Automation and Computing, vol.14, no.3, pp.321339, 2017. DOI:10.1007/s1163301710613 
[42] 
Y. Li, F. Yang, J. Ouyang, H. J. Zhou. YagiUda antenna optimization based on invasive weed optimization method. Electromagnetics, vol.31, no.8, pp.571577, 2011. DOI:10.1080/02726343.2011.621108 
[43] 
S. Karimkashi, A. A. Kishk. Invasive weed optimization and its features in electromagnetics. IEEE Transactions on Antennas and Propagation, vol.58, no.4, pp.12691278, 2010. DOI:10.1109/TAP.2010.2041163 
[44] 
O. Abedinia, A. A. Foroud, N. Amjady, H. A. Shayanfar. Modified invasive weed optimization based on fuzzy PSS in multimachine power system. In Proceedings of International Conference on Artificial Intelligence, Las Vegas, USA, pp. 73–79, 2012.

[45] 
Y. R. Naidu, A. K. Ojha. A hybrid version of invasive weed optimization with quadratic approximation. Soft Computing, vol.19, no.12, pp.35813598, 2015. DOI:10.1007/s005000151896x 
[46] 
R. Rajendra, D. K. Pratihar. Analysis of double support phase of biped robot and multiobjective optimization using genetic algorithm and particle swarm optimization algorithm. Sadhana, vol.40, no.2, pp.549575, 2015. DOI:10.1007/s1204601403275 
[47] 
B. Aghbali, A. YousefiKoma, A. G. Toudeshki, A. Shahrokhshahi. ZMP trajectory control of a humanoid robot using different controllers based on an offline trajectory generation. In Proceedings of the 1st RSI/ISM International Conference on Robotics and Mechatronics, IEEE, Tehran, Iran, 2013. DOI:10.1109/ICRoM.2013.6510161 
[48] 
J. J. AlcarazJiménez, D. HerreroPérez, H. MartínezBarberá. A simple feedback controller to reduce angular momentum in ZMPbased gaits. International Journal of Advanced Robotic Systems, vol.10, no.2, 2013. DOI:10.5772/52448 
[49] 
W. Suleiman, F. Kanehiro, K. Miura, E. Yoshida. Improving ZMPbased control model using system identification techniques. In Proceedings of the 9th IEEERAS International Conference on Humanoid Robots, IEEE, Paris, France, 2009. DOI:10.1109/ICHR.2009.5379600 
[50] 
A. R. Mehrabian, C. Lucas. A novel numerical optimization algorithm inspired from weed colonization. Ecological Informatics, vol.1, no.4, pp.355366, 2006. DOI:10.1016/j.ecoinf.2006.07.003 
[51] 
M. Ghasemi, S. Ghavidel, J. Aghaei, M. Gitizadeh, H. Falah. Application of chaosbased chaotic invasive weed optimization techniques for environmental OPF problems in the power system. Chaos, Solitons & Fractals, vol.69, pp.271284, 2014. DOI:10.1016/j.chaos.2014.10.007 
[52] 
A. Basak, S. Pal, S. Das, A. Abraham, V. Snasel. A modified invasive weed optimization algorithm for timemodulated linear antenna array synthesis. In Proceedings of IEEE Congress on Evolutionary Computation, IEEE, Barcelona, Spain, pp.18, 2010. DOI:10.1109/CEC.2010.5586276 
[53] 
G. G. Roy, S. Das, P. Chakraborty, P. N. Suganthan. Design of nonuniform circular antenna arrays using a modified invasive weed optimization algorithm. IEEE Transactions on Antennas and Propagation, vol.59, no.1, pp.110118, 2011. DOI:10.1109/TAP.2010.2090477 
[54] 
J. Kennedy, R. Eberhart. Particle swarm optimization. In Proceedings of IEEE International Conference on Neural Networks, IEEE, Perth, Australia, pp.19421948, 1995. DOI:10.1109/ICNN.1995.488968 