**2.1. Control levels description**

algorithm. The learning algorithm calculation is performed based on a model of the DC motor. The NNARX muscle model output is used as a reference for the DC motor control loop, in a model following control loop. The results show that the physical system was successfully forced to behave like the muscle model within acceptable error margins. This technique was able to physically emulate a nonlinear muscle model based on a DC motor with a PID controller tuned by a neural network (NN), enabling a robot to walk like a human. Using neural actuator,

The rest of this chapter analyses the walking efficiency of a 3D simulated biped robot when the muscle emulator is implemented or not implemented in the robot's knees. The work focuses on the robustness of the dynamic walk during walk‐halt‐stop transitions and when external unknown forces unbalance the walking robot. The simulation results show that articular trajectories with the muscle emulator approach human trajectories and that the total motor

This chapter is organized as follows. After this introduction, Section 2 presents the robot and simulator, and summarizes the walking control approach presented in [40, 41]. The control algorithm implementation is described and the results are analyzed in Section 3. In addition,

**Figure 1.** Block diagrams of the muscle emulator. *y(t)* is the torque output of the DC motor, *yd(t)* is the output of the muscle model, *r(t)* is the articular command, and *I(t)* is the input signals vector based on *e(t),e(t-1),e(t-2)* and *ρ(t)* which

This section integrates the muscle emulator into the knee joint control laws. The model of our biped robot consisted of six active degrees of freedom within each leg. Each knee is driven using a 90‐W DC motor (Maxon RE‐35) with 1/90 gear. The biped robot is simulated using the

the results are compared and discussed. Section 4 provides the conclusions.

identification is possible when the actuator model is uncertain.

power consumption is significantly reduced.

50 Recent Advances in Robotic Systems

provides information on the fast variations of *r(t)*.

**2. Walk control approach**

The proposed robot actuator control diagram consists of two levels. The low‐level control is designated by the PID controller. The high‐level control is designated by the dynamic walking algorithm, which tunes the PD controllers and imposes the reference signals following the walking phases (**Figure 2**).

**Figure 2.** Full human walking cycle (ref. right leg).

Two possibilities exist for the lower level, which are based on using the fixed PID gains for the 12 motors (gains are calculated to have the same adjustments as the real robot) or using the fixed PID gains for all motors except those in the knees, for which PID gains are adapted using the muscle emulator (**Figure 3**).

The high‐level control adapts the walking PD controller parameters to each walking phase and introduces the corresponding reference signal to the low‐level loop. Note that all of the motors in the low level are driven by PID controllers with desired articular angles.

A general equation of each actuator input Y\_d PD controller is given by:

$$Y\_d\left(t\right) = \pi\left(t\right)\_{\text{Actual}}^{\text{Log}} = K\_{c\text{ Acunator}}\left(\theta\_d - \theta\left(t\right)\_{\text{Actual}}^{\text{Log}}\right) + K\_{d\text{ Acunator}}\left(\dot{\theta}\_d - \dot{\theta}\left(t\right)\_{\text{Actual}}^{\text{Log}}\right) \tag{1}$$

where τ(t) is the desired torque, *θd* is the desired angle, *θ*˙ d is the desired velocity, "Leg" corresponds to the stance or swing leg, and "Phase" corresponds to one of the eight phases of the human walking cycle presented in **Figure 3** and "Actuator" corresponds to the hip, knee, and ankle. The values of *Kc*, and *Kd* change during each phase of the walk, as determined by an empirical method when the swing leg approaches the ground [40].

**Figure 3.** Proposed dynamic walk control diagram. Top: all articular control loop with fixed PID gains *K*c, *T*<sup>i</sup> , *T*d. Bot‐ tom: knee adaptive control loop with muscle‐like control loop.

### **2.2. Dynamic walking algorithm**

The proposed walking control approach is based on a sequential analysis of the human walking cycle, the properties of which have been previously determined [37, 42, 43]. This cycle can be divided in eight phases, with one leg acting first as a swing leg and then as a stance leg (**Figure 3**). Phase 0 is the double support (DS) phase, during which the two legs are touching the ground. Phase 1 is the lift‐off phase, in which hip muscle contractions accelerate the swing leg. Phase 2 is the passive swing, which begins when the thigh is sufficiently accelerated. Phase 3 is the active swing phase. Phase 4 is the DS phase in the next half of the walking cycle. The swing leg assumes the role of the stance leg (ST) in phase 5. Phases 6 and 7 are similar to the fifth phase in terms of functionality related to the stance leg.

We analyzed the human walking cycle [40] and determined that a robot's dynamic walk can be modeled using a Petri net algorithm (**Figure 4**). The cycle is divided into 12 states. States 1, 3, 4, 5, 6, and 10 correspond to the swing leg and states 2, 7, 8, 9, and 11 correspond to the stance leg. The initial position is defined when the two legs are in contact with ground (DS) and the robot is standing, but one of the legs is behind the other. All of the transitions in this state machine are defined based on the extreme values of essential leg angles in sagittal or frontal planes. All of the articulations are driven by PD controllers (Eq. (1)), for which each gain changes based on the corresponding phase of the Petri net algorithm. Finally, we can control the robot's velocity with respect to its body inclination.

where τ(t) is the desired torque, *θd* is the desired angle, *θ*˙ d is the desired velocity, "Leg" corresponds to the stance or swing leg, and "Phase" corresponds to one of the eight phases of the human walking cycle presented in **Figure 3** and "Actuator" corresponds to the hip, knee, and ankle. The values of *Kc*, and *Kd* change during each phase of the walk, as determined by

**Figure 3.** Proposed dynamic walk control diagram. Top: all articular control loop with fixed PID gains *K*c, *T*<sup>i</sup>

The proposed walking control approach is based on a sequential analysis of the human walking cycle, the properties of which have been previously determined [37, 42, 43]. This cycle can be divided in eight phases, with one leg acting first as a swing leg and then as a stance leg (**Figure 3**). Phase 0 is the double support (DS) phase, during which the two legs are touching the ground. Phase 1 is the lift‐off phase, in which hip muscle contractions accelerate the swing leg. Phase 2 is the passive swing, which begins when the thigh is sufficiently accelerated. Phase 3 is the active swing phase. Phase 4 is the DS phase in the next half of the walking cycle. The swing leg assumes the role of the stance leg (ST) in phase 5. Phases 6 and 7 are similar to the

tom: knee adaptive control loop with muscle‐like control loop.

fifth phase in terms of functionality related to the stance leg.

**2.2. Dynamic walking algorithm**

52 Recent Advances in Robotic Systems

, *T*d. Bot‐

an empirical method when the swing leg approaches the ground [40].

**Figure 4.** Petri net algorithm for a ROBIAN dynamic walk (S\_Plane is sagittal **Figure 5**. plane, F\_Plane is frontal plane).

To stop the robot walking cycle and keep it in a standup stable position, an extension of the Petri net **Figure 4** is applied to change our algorithm to introduce a stop phase (**Figure 5**). The change will start working after swing leg touches ground (State 9, **Figure 4**, or phases 3 or 7 in **Figure 3**). We controlled the hip motors to maintain the body in vertical position. By controlling stance and swing leg, the robot will be in stable standup position where we keep little distance between right and left legs foot. From this position we can control the robot to walk again by simple walking algorithm by reapplying our walking Petri net algorithm.

We applied the overall Petri net algorithm using a simulated model of our ROBIAN biped robot (**Figure 6**). The OpenHRP (Open Architecture Humanoid Robotics Platform) simulator was used, which is a dynamic humanoid robot simulation platform that was developed by AIST, the University of Tokyo, and MSTC. The robot model is programmed in VRML. All of the robot specifications were taken into account. Many control algorithms were tested on the real robot and on the simulated model to improve the similarity.

**Figure 5.** Petri net algorithm for a ROBIAN stop walk.

In the simulations, the walk begins from an initial position where the two feet are touching the ground. The swing leg is behind the stance leg (double support) and the walking speed is 0.65 m/s. The step length and walking speed are controlled by varying the four reference angles. The duration of one complete walking cycle is approximately 1 s. The proposed approach allows us to achieve dynamic ROBIAN walking that is similar to human walking [40]. Simulations show that the walk is stable on a long distance, that is, more than 10 walking cycle [40]. Moreover, the approach also controls the robot's walk‐standup‐walk cycle, including transitions and stops [41] in a stable limit cycle.

**Figure 6.** Modeling ROBIAN using OpenHRP.

in **Figure 3**). We controlled the hip motors to maintain the body in vertical position. By controlling stance and swing leg, the robot will be in stable standup position where we keep little distance between right and left legs foot. From this position we can control the robot to walk again by simple walking algorithm by reapplying our walking Petri net algorithm.

We applied the overall Petri net algorithm using a simulated model of our ROBIAN biped robot (**Figure 6**). The OpenHRP (Open Architecture Humanoid Robotics Platform) simulator was used, which is a dynamic humanoid robot simulation platform that was developed by AIST, the University of Tokyo, and MSTC. The robot model is programmed in VRML. All of the robot specifications were taken into account. Many control algorithms were tested on the

In the simulations, the walk begins from an initial position where the two feet are touching the ground. The swing leg is behind the stance leg (double support) and the walking speed is 0.65 m/s. The step length and walking speed are controlled by varying the four reference angles.

real robot and on the simulated model to improve the similarity.

54 Recent Advances in Robotic Systems

**Figure 5.** Petri net algorithm for a ROBIAN stop walk.

Nevertheless, the adjustment of PID gains depending on the corresponding phase of the walk algorithm is not sufficient enough to have fluidity in the walk and to adapt the walking gait especially when the robot is unbalanced due to unexpected external forces. It has been seen in introduction that mixing damping joint and damping controller increases the balance [37]. Moreover, the muscle emulator presented in **Figure 1** acts simultaneously like a damping joint and a damping controller avoiding any mechanical changes in the robot y. The next section shows that implementation of this muscle emulator in the legs greatly improves the fluidity and stability of the walking algorithm (**Figures 4** and **5**) against external perturbation and reduces significantly the total power consumption of the robot.
