How to achieve various gait patterns from single nominal

In this paper is presented an approach to achieving on-line modification of nominal biped gait without recomputing entire dynamics when steady motion is performed. Straight, dynamically balanced walk was used as a nominal gait, and applied modifications were speed-up and slow-down walk and turning left and right. It is shown that the disturbances caused by these modifications jeopardize dynamic stability, but they can be simply compensated to enable walk continuation.


Introduction
Humanoid robotics has been in focus of scientific community for decades. Among other topics biped locomotion is one of the most important because it is expected that robots will share the same space with humans. Irrespective of their structure and number of degrees of freedom (DOF) involved, the basic characteristics of all biped locomotion systems are: a) the presence of unpowered DOFs formed by the contact of the foot with the ground surface, b) gait repeatability, and c) regular interchangeability of the single-and double-support phases. During the walk, two different situations arise in sequence: the statically stable double-support phase, in which the mechanism is supported on booth feet simultaneously, and statically unstable single-support phase, when only one foot of the mechanism is in contact with the ground while the other is being transferred from the back to front position. Thus, the locomotion mechanism changes its structure during the single walking cycle from an open to a closed kinematic chain. All of the biped mechanism joints are powered and directly controllable except for the contact of the foot and the ground (it can be considered as an additional DOF), which is the only point at which the mechanism interacts with the environment. This contact is essential for the walk realization because the mechanism's position with respect to the environment depends on the relative position of the foot with respect to the ground. The foot cannot be controlled directly but in an indirect way -by ensuring appropriate dynamics of the mechanism above the foot. Thus, the overall indicator of the mechanism behavior is the point where the influence of all the forces acting on the mechanism can be replaced by one single force. This point was termed Zero-Moment Point (ZMP) (Vukobratović M. & Juričić D. 1968, Vukobratović M. & Juričić D. 1969, Vukobratović M. & Stepanen-ko Yu., 1972. Recognition of the significance and role of ZMP in biped artificial walk was a turning point in gait planning and control. In the gait synthesis by semi-inverse method (Vukobratović M. & Juričić D. 1968, Vukobratović M. & Juričić D. 1969, Vukobratović M. & Stepanen-ko Yu., 1972 legs trajectories are predefined while the trunk motion is determined so as to ensure dynamic equilibrium of the system as a whole (the ZMP position is within the desired area under the supporting foot). Such motion is called nominal motion. In contemporary practice, the aim is to have the possibility of synthesizing all gait patterns (under a gait pattern we understand each gait with specifically defined parameters), and each synthesized gait is called nominal. However, such approach requires the synthesis of a huge number of different patterns, and a question arises whether one can envisage all possible cases that may be of interest, so that for each situation a most suitable one could be selected and executed. In addition, during the gait realization, a situation can often arise when small modifications of the basic regime are needed to adapt to the momentary requirements imposed on the locomotion system. We believe that, at least in some basic cases, it is not necessary to perform a new nominal synthesis but is possible to do on-line modification of an existing nominal (Vukobratović et al. 2003, (Vukobratović et al. 2004).

Mechanism structure and its nominal motion
Our idea was tested on the example of a locomotion mechanism ( Fig. 1) having 20 DOFs, with all joints being rotational (Vukobratović et al. 1990). Between two joints is placed one link. A joint having more DOFs is modeled as a set of simple rotational joints, each having only one DOF. In the case of a multi-DOF joint modeling the links between single-DOF joints are considered as being of zero length, mass and moments of inertia. In Fig. 1, these "fictitious" links are denoted by dashed line (for example link 3 at the ankle joint, links 6 and 7 at the hip joint of the right leg, etc.). Accordingly, the ankle joint having 2 DOFs is represented by joints 3 and 4 (the joint axes are defined by the orts e 3 and e 4 ), hip joint of the right leg by joints 6, 7 and 8, trunk joint (waist) by joints 15 and 16. All other joints are modeled by simple rotational joints having one DOF. The possibility of the mechanism's overturning about the foot edge is modeled by two "fictitious" joints in the directions of the axes x and y to detect if the mechanism as a whole will rotate in the y-z or x-z plane. Each mechanism joint is powered by a DC motor except for joints 1 and 2 under the foot representing unpowered DOFs. All parameters of the mechanism can be found in [4]. The mechanism motion is synthesized using semiinverse method in such a way that dynamic equilibrium is permanently ensured during the walk (Vukobratović et al. 1990). Legs motion pattern was obtained by recording the performance of a human subject, and then, the trunk motion was synthesized in such a way to ensure that ground reaction force under the foot is in a certain predefined position (in our example this is the point O of the coordinate system O xyz ), ensuring simultaneously that horizontal components of the ground reaction moment are equal to zero, i.e. M x =M y =0. As already said, this point is known as ZMP. Each change of the dynamics above the supporting foot causes displacement of the ZMP out of its nominal position. Walk synthesis has been carried out for one half-step of single-support phase only. The mechanism walks in such a way that while one leg is in support phase the other one is transferred from the back to front position. When it reaches the position just above the ground floor the support foot is changed and the walk continues. Footprints of themechanism nominal motion (ZMP nominal positions) are presented in Fig. 2. If during the walk the ZMP position comes out of the support polygon, this means that the mechanism is not performing dynamically balanced gait any more, and it collapses by rotating about the foot edge. ZMP position, being very sensitive to the changes of dynamics of the mechanism above the foot, is the best overall indicator of the mechanism dynamic equi-librium. In Fig. 3. is shown a stick diagram of the mechanism performing nominal motion.

Turning
The nominal motion modification to be considered first is the change of walk direction. Namely, very often there is a need to switch from a rectilinear motion to the right/left direction without interrupting the walk, so that it would be highly desirable to achieve such a gait by modifying nominal rectilinear motion. First thing to be considered is how to perform turning. The angle α formed between the foot at the end of a single-support phase and the foot that up to that moment was in contact with the ground will be adopted as the measure of the extent of turning. A smaller α corresponds to a "milder" and a larger to a "sharper" turning. Besides, care should be exercised as to the relative position of the mechanism's feet (legs) with respect to the "body". In the case of the mechanism used (see Fig. 2) the turning will be realized by rotation at joints 7 and 10, so that both joints are activated simultaneously. A simplest algorithm would be to perform turning so that in each half-step the leg being in the swing phase rotates so that the foot that is making contact with the ground forms an angle α with respect to the foot that was previously in contact with the ground. However, this algorithm did not perform well since the "outer" and "inner" leg followed arcs of different lengths so that soon arose the situation in which the motion could not be continued at all. A solution to this problem would be to perform deflection in the first half-step, and in the second correction of the deviation due to the foot rotation, so that in the beginning of the next step the feet are not deflected with respect to the trunk. The next thing to be considered is the way in which foot turning by the angle α will be realized -whether once or incrementally in the course of the whole half-step, so that at the end the foot deflects by the full value of the angle α. In the present work we chose gradual increase of the turning angle. Let the desired value of foot deflection at the end of a half-step be defined by the angle α. If the number of integration intervals during a half-step is n int the value of deflection angle to be realized in one integration interval is int n α α = ∆ . This value is halved and the value ( 2 α ∆ ) is added to each of joints 7 and 10. Let us explain this on the example of turning to the left, as shown in Fig. 4. During the first half-step, the right leg is in the support and the left leg in the swing phase. The angles are added in the following way: are angle values for nominal motion. In the end of this phase, the left foot is deflected relative to the right foot by angle α (note that first and second footsteps are not parallel). In the second half-step, to compensate for the deviation of legs positions relative to the mechanism body the hip positions change in the following way:  In the end of the second half-step the right foot becomes parallel to the left foot. After that, the procedure continues and the left foot angle relative to its previous position increases again, the right foot compensates for this deviation, and so on. support polygon and correction of ZMP position is necessary. To compensate for ZMP deviation we propose to add a permanent gravitational moment which can be produced by body inclination. Now, a question arises which joint is most suitable for this operation. We investigated all possibilities (trunk, hip, and ankle) and fond that compensation by ankle gives the best results. In Fig. 7 are given footprints for the same case as shown in Fig. 6 (α = 25 o ) but with compensation at joint 3 of 3 o . It can be seen that ZMP position deviations are significantly reduced and that all ZMP positions are within the support polygon. Thus, by such compensation dynamic equilibrium is preserved and the walk continuation ensured.

Walk speed-up and slow-down
The next case we investigated was how to speed up and slow down the walk. Nominal motion was the same as before. To change walking speed, moments applied at all joints have to be changed. To avoid recomputing complete dynamics we used the procedure proposed by (Hollerbach J. M. 1984) for changing robotic mechanism motion speed without recomputing completely its dynamics. Let us remind that the mechanism dynamics is given in the following general form: where τ is the vector of driving torques at joints, q , q (4) whereby for 1 > c the motion is accelerated, and for 1 < c decelerated. We applied this method to investigate how the acceleration/deceleration of nominal (dynamically bala-nced) walk would affect its dynamic equilibrium. In Figs The presented figures illustrate well the importance of the altered mechanism dynamics on the ZMP position. For c > 1.1 (Figs. 10 -12) it is clear that ZMP is out of the support polygon and that mechanism dynamic equilibrium is not preserved. To make possible continuation of the walk it is necessary to correct the ZMP position. To achieve this we applied the same strategy as before -inclination of the body. In Figs. 13-17 are presented the correction effects when compensation was performed by joints 3 and 4 (ankle). Joint 3 compensated for deviations in the sagittal and joint 4 in the frontal plane.       Dispersion of ZMP positions are significant, too. Hence it can be concluded that the ankle is more suitable for this purpose than the trunk. In Figs. 23-27 are presented examples of decelarated motion (c = 0.95 -0.5). It is evident that spatial dissipation of the ZMP trajectory is lower. This can be explained by the diminished overall influence of inertial forces, so that the ZMP trajectory converges to the trajectory of the system's gravity center, which is a sinusoide lying symmetrically between the mechanism's footprints.    To compensate for ZMP deviations we applied again the same strategy, i.e. body inclination. as can be seen, both the compensation by the ankle joint (figs 28-32) and by the trunk (figs. 33-37) was successful.

Step extention
The next basic modification of the nominal walk is change of step length. In this paper step extention will be considered, only. To extend step maximal angle between two legs for nominal step (in Fig. 38 denoted by β nom ) should be enlerged. Let us denote total value of angle added as β ext. Total amount of β ext is divided between two hip joints (joint 6 for right, joint 11 for left leg) and, accordingly per each leg is added β ext /2. Thus, maximal angle between legs for extended step is β = β nom + β ext . As in case of turning, angle beta should be enlarged gradually. This means that in each sampling time actual value of angles 6 and 11 is enlarged by ∆β=β ext /n int , where n int is number of integration intervals during a half-step:    It is again demonstrated that simple inclination in the appropriately selected joint (ankle joint is again used for compensation) can ensure dynamic equilibrium in spite of the nominal gait modification.
Let us now consider a combination of step extension, turning left and faster walking . In Figs. 44, 45, 46 and 48 is presented motion without any compensation. Situation is much worse whem walk is accelerated (Figs. 46 and 48). We applied, again, same compensation strategy. Ankle joint was employed (joints 3 and 4) for compemsation in both, frontal and saggital planes. It is demnstrated that such simple strategy works and in this case

Conclusions
We demonstrated the applicability of our approach to solving the problem of modification of nominal walk to achieve turning, speed-up and slow-down motion.
Deviations of the ZMP position could be to a large extent compensated for simply by incling the body. For the purpose of performing compensation, most appropriate joints were considered and selected.