Abstract
Biped walking has long been studied in the area of gait analysis and robotic locomotion. The goal of this paper is to establish a systematic methodology for human-like natural walking by fusing the measured human joint data and optimal pattern generation techniques based on a full-body humanoid model. To this end, this paper proposes an adaptive two-stage gait pattern by which the step length and walking velocity can be changed with two scaling factors. In addition, to cope with the situations involving passing over a small obstacle, the joint trajectories of the swing foot can be adjusted with a novel concept of differential angle trajectory using a reliable optimization method, viz. particle swarm optimization. The feasibility of the proposed walking scheme is validated by walking experiments with the robot platform DARwIn-OP.
1. Introduction
Recently, humanoid robots have gained increased attention in research, education and entertainment. Biped walking is one of the essential techniques required for a humanoid's free locomotion, which has long been studied in the area of gait analysis. Gait analysis is the systematic study of human walking, augmented by measuring body movement based on body mechanics and the activity of muscles [1–6].
From the viewpoint of robotics theory, dynamic walking strategies has been developed in relation to offline walking pattern generation, online pattern adjustment, and real-time balance control [7–11]. In general, basic patterns are designed offline by planning the zero moment points (ZMPs) of the humanoid to be placed inside the convex hull of the stance foot while walking [7] and ascending/descending stairs [8]. For online pattern adjustment, the cycloid function and third-order polynomial interpolation are employed to describe the reference position trajectories of the swing leg's ankle and centre of pelvis, respectively [9]. Despite this functional simplicity, the generated gaits are somewhat unnatural, since humans sway their feet with a Gaussian-like trajectory [10].
A more advanced real-time pattern generation methodology was developed by combining the offline optimization of free parameters and real-time walking pattern generation from given footstep locations [11]. The system was complicated with a hierarchical structure using a simplified robot model, which is prone to yield modelling errors in generating asymmetric whole-body human motions, such as yoga postures [12].
Winter reported a set of joint angle data measured for a period of a human's normal walk, which is vividly used in the field of rehabilitation [5]. It is apparent that the human joint angle data - with functional approximation and suitable modifications - can be applied to the natural biped walking of a humanoid, which is the motivation for this study. The present study newly enables the applicability of human joint data to robotic walking by employing kinematic relationships and modifying the human data to fulfil a level-landing condition.
The humanoid should be able to walk with different step lengths and/or different walking speeds by slightly altering the joint angle data attained for standard walking conditions. Once the joint angle sequences are transformed to interpolation functions, changing the walking conditions becomes simple and straightforward with merely scaling the angle magnitude and sample period. The present study examines this novel scalability effect and reveals that the magnitude ratio of the leg joint angles is proportional to the step length, while extended sample periods make the robot walk slower.
In addition, an online angle trajectory generation scheme for joint actuators in the swing leg is proposed in this paper for humanoids in passing over small obstacles. To this end, a novel concept of differential angle trajectory, which supplements the reference trajectory, is proposed, and the function coefficients are tuned by the reliable optimization method, namely particle swarm optimization (PSO) [13]. PSO is also applied to the identification of the best fitting coefficients of the joint functions for the human joint data, and for solving the inverse kinematics of the intermediate postures of the humanoid. The effectiveness of the proposed trajectory generation scheme is validated through several walking experiments with the child-sized humanoid robot DARwIn-OP.
This paper is composed of three sections; Section 2 describes the fundamentals of human-like biped walking including a whole-body model of the humanoid, two-stage gait scheme, the coordination of the human joint data to robotic walking, and the principle of PSO. Section 3 provides a novel scaling principle of joint angle trajectory for various walks. Section 4 provides online pattern generation results for biped walks that meet several target peak altitudes of the swing foot. Section 5 concludes the present work and introduces future research topics.
2. Fundamentals of Human-like Biped Walking
2.1 Whole-body Model of a Humanoid Robot
For the generation of arbitrary walking motions, it is necessary to describe a robot's motion with respect to its joint spaces based on kinematic relationships. This work is based on a newly completed 3-D whole-body model of a humanoid using both the Denavit-Hartenberg (DH) convention [14] and the projection principle [8] for the DARwIn-OP platform, as shown in Figure 1, where the double-scripted symbols (such as

3-D whole-body humanoid robot model described with absolute and relative joint angles and point masses
The present model contains 20 joint angle variables classified into three groups according to the orthogonal planes to which they belong: sagittal angle variables denoted by
A humanoid walks by swapping the stance leg, and thus the relative joint angle variables in both legs are not uniquely assigned at each joint. Therefore, absolute joint variables designated with double-scripted symbols, such as
2.2 Gait Cycle
A human walks with a periodic gait cycle composed of stance and swing periods. It is reported that a gait cycle contains five functional phases for the stance period and three phases for the swing period, as shown in Figure 2 [4].

Functional division of a gait cycle [4]
Huang et al. define the step cycle as beginning with the heel of the swing foot leaving the ground and ending with the heel making first contact with the ground [7]. Since the joint trajectories of the next step are attained throughout the exchange of them in the opposite leg, a pair of successive step cycles comprise a gait cycle. Moreover, considering that the humanoid has to walk on rough terrain, it needs to adapt the angle of the landing foot at every end-of-step. Therefore, the step cycle is selected as a unit of a walking pattern in this paper. Near the end of the swing phase, the present work constrains the ankle angle to land the foot level with the ground so as to prevent the robot from tipping over.
A

Proposed two-stage step cycle composed of three component postures in right support
In the second stage, from
The three postures, P1, P2 and P3, are configured using inverse kinematics or optimization, which will be discussed in Section 2.5.
2.3 Mixture of Human Joint Data
For the implementation of natural biped walking with the humanoid, the present work refers to the joint angle data measured for human subjects, which is tabulated in Winter's book [5]. Figure 4 shows trajectories of the selected data set corresponding to the swing phase (i.e., from toe-off to heel contact). The sampling interval is 0.0143 s and the number of data points is 28.

Joint angle trajectories measured during the swing phase of a human's normal walking
These joint angle figures, however, cannot be directly applied to humanoids, which have different lower body link specifications from humans. Moreover, in the present work the humanoid is constrained to land its foot level with the ground, unlike a human. Therefore, it is necessary to modify the human joint data using the kinematic relationship of the humanoid.
For the humanoid to land its foot with a specified angle trajectory, the sum of the relative sagittal joint angles
As can be seen in Figure 1, in the case of left-leg support, the relative joint variables in the lower body have the following relationship with the absolute joint variables:
To combine the human joint data and the landing condition, let
where
Since the robot is expected to lift up and swing the leg in as natural a manner as a human at the beginning of the second stage, and to land the foot on the ground as level as possible near the end of the step period, the weight coefficient

Coefficient profile for the level landing of the swing foot
2.4 Joint Angle Trajectory
For a natural and energy-efficient walk, the leg joints need to rotate in a smooth and seamless manner. A blending polynomial (BP) is composed of more than two segments, which are described by cubic or quintic polynomials with angular conditions on via points. Since most curved trajectories can be shaped effectively with these conditions by intuition, this work describes the joint trajectory using a BP.
Instantaneous joint angle variables in the
where the four coefficients
where
Therefore, the four initial and final angle-related values determine the shape of the cubic polynomial. In the case of a multi-segment trajectory, continuity at the
2.5 Particle Swarm Optimization (PSO)
PSO is a global optimization method motivated by the social activities of flocks of birds and schools of fish, which frequently share their information on food and messages [13]. The underlying principle of PSO holds that a flock of birds communicates with their best-so-far individual information as well as the current global best information, whose equation is written as below:
where
an iteration based on each agent's best position vector

Position update principle of PSO at the next iteration
In the present work, PSO plays a key role in posture setup, function approximation and the online adjustment of joint trajectory parameters.
3. Trajectory Generation for Various Walks
To enable the high mobility of the humanoid, the step length and walking speed need to be adjusted with ease. The step length is associated with the three component postures and the magnitude of the joint angles, and the walking speed is related to the angular velocity of the joints. Therefore, it is convenient to modify the ratio of the time interval and magnitude quantities of the reference joint trajectories for changing walk conditions rather than making new joint angle profiles.
3.1 Change of Step Length
In this paper, the first step in simulating biped walking with a humanoid is to set up the component postures. When the absolute leg joint angles in the sagittal plane are used to form a posture, scaling them up or down results in an increase or decrease in step length, respectively.
Figure 7 compares postures of standing erect to step lengths of 10 cm, 7 cm and 5 cm, simulated with the body specifications of the child-size humanoid platform DARwIn-OP, whose concise information is written in Table 1. They are attained by multiplying scale factors of 1.0, 0.7 and 0.5 to the six absolute joint angles for a step length of 10 cm. This is due to the fact that the absolute joint angles are defined on the basis of erect standing.

Standing postures of the humanoid attained by scaling down the reference leg joint angles in the sagittal plane with factors of 1, 0.7 and 0.5 from the left
DARwIn-OP specification
This interesting relationship can be written algebraically, as in the following:
where
The postures in Figure 7 correspond to P1 and P3 in Figure 3, and the intermediate posture P2 can be established to lift the heel appropriately by inverse kinematics or numerical optimization. In the present work, human joint data shown in Figure 4 are applied to DARwIn-OP for a 10 cm-long step. However, controlling DARwIn-OP with this step length is difficult without well-designed balance control.
Therefore, 7 cm is chosen as the actual step length for biped walking which implies that

Three boundary postures of the proposed step cycle for a step length of 7 cm
3.2 Change of Walking Speed
The walking speed is associated with the angular velocity of the leg joints, which is a derivative of the joint angle trajectory. Since reference angle profiles are used in this work, the modification of them in terms of the sample period is proposed based on the property of a polynomial function.
Assume that an actuator rotates with the trajectory of a three-segment BP with a sample time
where the symbols
where

Velocity extension of a three-segment BP trajectory
3.3 Parameterization of Human joint Angle Trajectories
As mentioned above, joint angle quantities can be modified from reference quantities merely by changing the two scaling factors,
Figure 10 shows trajectory fitting results for human data with the original sample period, 0.0143 s, which is attained with PSO. The cost function for this task is set to minimize the sum of the approximation errors, such that:
where

Fitted joint angle profiles with three-segment blending polynomials
The variation of curvature is highest for the ankle joint trajectory, which signifies that a three-segment BP is suitable. Since the BP parameters at two boundary via points are attained from those of human data, the six internal parameters, including the two mid-time quantities, two mid-angles and two mid-velocities, should be found by PSO. All the optimal parameters defined in (14) are listed in Table 2. Despite the high curvature of the original trajectories, the fitted functions are acceptable with good approximation.
Optimal internal parameters attained by fitting human joint angle sequences with a three-segment blending polynomial when the sample period is 0.0143 s
4. Online Pattern Generation
The goal of the present work is to adjust the leg joint angles for the robot to swing the foot with the desired maximum height in real-time, as shown in Fig 11. To this end, the reference joint angle pattern is firstly constructed by adopting human joint data with some modification to DARwIn-OP. Next, PSO is used in tuning the human joint trajectories to meet a specified peak altitude of the swing foot. Each case is simulated with a stability check and validated with experiments on the DARwIn-OP platform.

Overall flowchart for the proposed online human-like biped walking
4.1 Human-like Walking
Regarding the specification of DARwIn-OP, the reference condition for normal walking listed below is set a little slower, with a narrower step length than normal human walking.
sample time ( step length: 0.07m ( stage period ratio = 1:3 (human ratio is 1:4 [6])
In the first stage of a robotized walk, all the sagittal joint trajectories are expressed with one-segment BPs. In the second stage, however, the joint trajectories of the swing leg employ three-segment BPs, whereas one-segment BPs are assigned to the joints of the support leg. Specifically, the trajectory equations for the swing leg's joints in the second stage are written in the context of (14) as:
where the final angular velocities are set to zero for a smooth landing. The parameters with an asterisk are those in Table 2, and the other angular parameters are determined from the angles of the optimized postures and human data.
Figure 12 shows absolute angle trajectories of the sagittal and coronal joint variables generated by the proposed synthesis scheme. The coronal joints are planned to rotate from zero degree to their maximum magnitude of 15 degrees at a quarter of the cycle period, maintain the angle during a half of the period, and return to their home angle of zero degrees. Therefore, the joint trajectories are expressed with three-segment BPs.

Absolute angle trajectories of the sagittal and coronal joints in the legs generated by the proposed trajectory synthesis scheme
Figures 13 and 14 show the trace motion of human-like biped walking and the corresponding ZMP trajectory simulated on MATLAB, which satisfies the ZMP stability criterion. Figure 15 depicts the altitude trajectory of the swing foot in normal walking. It is apparent that the spatial distribution of the foot's swing trajectory is skewed to the left.

Simulation of a step cycle in the right leg's support based on DARwIn-OP parameters

ZMP profiles calculated during walking simulation

Altitude trajectory of the swing foot in a normal human walk when the sample period is 0.07 s
The features of the human-like biped walk are such that:
period of a step cycle ( gait velocity: 0.054 m/s maximum height of the swing foot: 0.023 m.
4.2 Online Adjustment of Foot Altitude
A distinct feature of this paper is the
For an efficient local search, a differential angle trajectory is generated and added to the reference trajectory expressed in (17). To avoid redundancy and save on run time, the two time variables are fixed to 33.3% and 66.7% of the swing period
The differential angle trajectory is described with a three-segment BP as:
The actual angle trajectory of the
where
The cost function for the adjustment of foot height is calculated in terms of the Euclidean distance between the desired foot coordinates and actual ones, like the following:
where
In this experiment, the desired foot trajectory (
where

Reference trajectory of the swing foot, which is scaled up or down for the adjustment of maximum foot altitude
In a local optimization routine, care must be taken in bounding the search space with reference to the current-best local minima. The 12 optimization variables in (18) are classified into angle values and angular velocity values. In the current PSO routine, the angle values are optimized around the previous optimal ones with a variation of ±
A scenario of foot height adjustment is such that the humanoid raises its foot highly from 3 cm to 5 cm, as written in Table 3.
Target maximum heights of the swing foot for online adjustment with PSO
The optimization of PSO is conducted on DARwIn-OP. The main controller of DARwIn-OP is a fit-PC2i equipped with a 1.6 GHz Intel Atom Z530 CPU, 1GB RAM and 4GB storage. The operating system is Linux, and the source codes for optimization and robot kinematics and dynamics are programmed in C++.
For local optimization, the PSO is configured with the following parameters:
population size: 10 maximum iteration number: 50 boundary parameters in (22):
Figure 17 shows the search aspect of PSO performed on DARwIn-OP when the reference foot altitude is altered, as in the scenario after 10 seconds. Owing to the dynamically adapted upper and lower boundaries of the search variables, PSO succeeds in locating local minima within five seconds. This search time is reduced to one second when the projection-based humanoid modelling in [8] is used, which is nearer to real-time.

Minimization of the cost function with PSO for different reference foot altitudes, which is changed after 10 seconds
Figure 18 compares the optimal trajectories of the swing leg's joints, whose combination matches well with the desired foot trajectories of the commanded heights. It is apparent from the figure that the altitude of the swing foot is proportional to the hip joint angle. Figure 19 shows that the optimized joint rotations make the swing foot lift up to the desired altitudes.

Optimal joint angle profiles of the swing leg for maximum altitudes of 3 cm, 4 cm and 5 cm

Comparison of the swing foot's altitude trajectories optimized by PSO for three different desired peak altitudes of the foot (solid line: actual, dashed line: reference)
Figure 20 compares walking experiments with the attained optimal joint trajectories and the proposed gait synthesis technique, which validates that DARwIn-Op walks well with the reference foot trajectories and with a human-like gait. Figure 21 compares the proposed human-like walk with the conventional one-stage walk whose joint trajectories are descried with BPs and optimized with PSO. The humanoid must shift its centre of mass faster for the one-stage walk because of the shorter DSP period than that of the two-stage walk, which leads to an increase in lateral angular momentum. Therefore, the proposed two-stage walk retains more stability, with the smooth and natural motion of the swing leg.

Comparison of biped walking experiments with the optimized joint trajectories for each desired peak altitude of the foot

Comparison of biped walking experiments for the conventional one-stage walk and the proposed two-stage walk
5. Conclusion
This study proposes an online trajectory generation method for biped walking using PSO based on a three-dimensional full-body humanoid robot model. To implement more natural walking, human kinematic data is adopted and modified with the robot condition. The maximum height of the swing foot is commanded with variation, and the humanoid robot DARwIn-OP searched the 12 optimal joint parameters within a few seconds, which is applicable to real-time walking.
Future work will be to extend the online pattern generation to various motions, such as ascending/descending stairs, dancing, kicking and object carrying.
Footnotes
6. Acknowledgments
This work (Grant No. 00046013) was partly supported by Business for Academic-Industrial Cooperative Establishments, funded by the Korea Small and Medium Business Administration, in 2011. It was also supported by the Human Resources Development Program (No. 20134010200550) of the Korea Institute of Energy Technology Evaluation and Planning (KETEP) grant funded by the Korea government Ministry of Trade, Industry and Energy.
