International Journal of Automation and Computing  2018, Vol. 15 Issue (6): 689-706 PDF
Near Optimal PID Controllers for the Biped Robot While Walking on Uneven Terrains
Ravi Kumar Mandava, Pandu Ranga Vundavilli
School of Mechanical Sciences, Indian Institute of Technology (IIT) Bhubaneswar, Bhubaneswar 752050, India
Abstract: The execution of the gaits generated with the help of a gait planner is a crucial task in biped locomotion. This task is to be achieved with the help of a suitable torque based controller to ensure smooth walk of the biped robot. It is important to note that the success of the developed proportion integration differentiation (PID) controller depends on the selected gains of the controller. In the present study, an attempt is made to tune the gains of the PID controller for the biped robot ascending and descending the stair case and sloping surface with the help of two non-traditional optimization algorithms, namely modified chaotic invasive weed optimization (MCIWO) and particle swarm optimization (PSO) algorithms. Once the optimal PID controllers are developed, a simulation study has been conducted in computer for obtaining the optimal tuning parameters of the controller of the biped robot. Finally, the optimal gait angles obtained by using the best controller are fed to the real biped robot and found that the biped robot has successfully negotiated the said terrains.
Key words: Biped robot     staircase     sloping surface     proportion integration differentiation (PID) controller     modified chaotic invasive weed optimization (MCIWO) & particle swarm optimization (PSO) algorithm
1 Introduction

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, now-a-day′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 non-industrial 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 non-traditional optimization algorithms to determine the parameters and to improve the performance of the controller. The non-traditional algorithms, such as genetic algorithm (GA)[29, 30], particle swarm optimization (PSO) algorithm[3133], 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 map-based 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 hydro-turbine generator. Furthermore, it was also used for the multi-objective 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 multi-machine 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[2225, 46] worked on the development of gait generation algorithms for a 7-DOF 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[4749], 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 non-traditional 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 torque-based 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 torque-based 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 non-traditional optimization algorithm known as MCIWO. Finally, the performance of the MCIWO tuned torque-based PID controller is tested on a real 18-DOF biped robot developed in our laboratory.

2 Description of the biped robot

An 18-DOF 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 (6-DOF in each leg and 3-DOF 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 self-contained 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.

Table 1
Specifications of the biped robot

 Download: larger image 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).

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 kinematics

The 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 L1 = l4 sin(θ4) + l3 sin(θ3), H1=l4 cos(θ4)+l3 cos(θ3), ${\rm{\psi }} = {\theta _4}-{\theta _3} = {\rm{arcos}}\left( {\displaystyle\frac{{{{H_1}^2 + {L_1}^2 - {l_4}^2 - {l_3}^2} }}{{2{l_4}{l_3}}}} \right)$ . Thus, θ3 can be obtained from the equation θ3 = θ4 – ψ. Similarly, the angles θ 9 and θ10 are obtained by using the following mathematical expressions.

 ${\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 L2 = l9 sin(θ9) + l10 sin(θ10), H2 = l9 cos(θ9) + l10 cos(θ10), ${\rm{\psi }} \!=\! {\theta _{10}}-{\theta _9} \!=\! {\rm{arcos}}\left( {\displaystyle\frac{{ {{H_2}^2 \!+\! {L_2}^2 - {l_{10}}^2 - {l_9}^2}}}{{2{l_{10}}{l_9}}}} \right)$ . Thus, θ9 can be obtained from the equation θ9 = θ10 – ψ. The included angle at the ankle joint with respect to the vertical axis is assumed to be equal to zero i.e., θ6 = θ12 = 0. For determining the joint angles of the leg in frontal plane, the following equations are considered.

 ${\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)
3.1.2 Dynamic balance margin

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 X-ZMP and Y-ZMP is given in Fig. 3.

 Download: larger image Fig. 3. ZMP and DBM acting in X-direction and Y-direction

The following equations are used to determine the position of ZMP in X-direction and Y-direction.

 ${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 ${\dot \omega _i}$ denotes the angular acceleration (rad/s2), Ii is mass moment of inertia (kg·m2) of the i-th link, g is the acceleration due to gravity (m/s2), mi represents the mass (kg) of the link i, and ${\ddot z_i}$ and ${\ddot x_i}$ indicate the acceleration of the i-th link moving in z and x directions (m/s2) and (xi, yi, zi) signifies the coordinates of the i-th lumped mass.

After determining the zero moment point, the dynamic balance margin has been calculated in both X-direction and Y-direction 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 fs and fw represent the length and width of the foot.

3.2 Gait generation while descending the stair case

The 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 X-direction and Y-direction 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)
3.3 Gait generation while ascending the slope

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 X-direction and Y-direction.

 ${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 fs and fw represent the length and width of the foot, respectively.

3.4 Gait generation while descending the slope

The 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).

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 Lagrange-Euler 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 ${\tau _{i,the}}$ indicate the theoretical torque required for each joint i (N·m), ${q_j}$ denotes the displacement in (rad), $\mathop {{q_j}}\limits^.$ represent the velocity in (rad/s), $\mathop {{q_j}}\limits^{..}$ is the acceleration in (rad/s2) of the joint, respectively.

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 $K_p$ , $K_d$ and $K_i$ represents proportional, derivative and integral gains of the controller, respectively. The expanded form of the above equation after including the meaning of e and $\mathop e\limits^.$ obtained from (18) is given below.

 $\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 ${\tau _{i,act}}$ represents the actual torque supplied by the controller to individual joints to move from an initial angular position $\left( {{\theta _{is}}} \right)$ to final angular position $\left( {{\theta _{if}}} \right)$ . The final control equation that represents the control action for all joints is given below.

 $\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)
4 Formulation of the unconstrained optimization problem

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 Kp, Kd and Ki are having their usual meanings and i and j represent the joints of swing and stance leg, respectively.

5 Proposed optimization approaches

To solve the above optimization problem, we have used two non-traditional 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 algorithm

The 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: larger image Fig. 5. Flow chart showing the operation of MCIWO algorithm

Initially, a finite number of weeds are dispersed randomly in an N-dimensional 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 fmax and fmin denote the maximum and minimum fitness value in the colony, respectively and Smax and Smin 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 Genmax 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 (Pmax) after some generations. After reaching the maximum population (Pmax), 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 algorithm

Particle 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: larger image 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 non-traditional optimization algorithms, namely MCIWO and PSO are used in the present study.

6.1 Ascending and descending the staircase

Initially, 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 (npopinitial) = 5, final population (npopfinal) = 10, minimum number of seeds (Smin) = 0, maximum number of seeds (Smax) = 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 (Wdamp) = 0.99, acceleration constants (C1 and C2) = 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 X-direction and Y-direction 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: larger image Fig. 7. Graphs showing the angular error at different joints of the swing leg of the two legged robot while ascending the staircase

 Download: larger image 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 PSO-based controller.

 Download: larger image 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 X-direction and Y-direction 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 PSO-based PID controller. Furthermore, Fig. 11 shows the experimental results of executing the gait generated by the MCIWO-based PID controller. From the above results, it has been observed that the biped robot has successfully negotiated the stair case.

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

 Download: larger image Fig. 10. Graph showing the variation of X-ZMP and Y-ZMP 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 (npopinitial) = 5, final population (npopfinal) =25, minimum number of seeds (Smin) = 0, maximum number of seeds (Smax) = 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 (Wdamp) = 0.99, acceleration constants (C1 and C2) =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 MCIWO-based PID controller when compared with PSO based PID controller.

 Download: larger image 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: larger image 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: larger image 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 X-direction and Y-direction 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 MCIWO-based PID controller. It has been observed that the real biped robot has executed a balanced walk while descending the stair case.

 Download: larger image Fig. 15. Schematic diagram showing the variation of zero moment point in x-direction and y-direction while descending the stair case

 Download: larger image 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 X-direction and Y-direction 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 PSO-based 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 PSO-based control algorithm. Furthermore, Figs. 17 and 18 show the real time execution of the gaits generated by the MCIWO-based PID controller for both ascending and descending the sloping surface, respectively. It can be observed that the real-biped robot has successfully completed the task of ascending and descending the sloping surface.

Table 2
Variation of ZMP on sloping surface

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

 Download: larger image 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 X-direction and Y-direction. 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: larger image Fig. 19. Schematic diagram showing the comparative study of the dynamic balance margin in (a) X-DBM and (b) Y-DBM

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 well-established 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.

References