1. Introduction
Walking control is a prerequisite for bipedal locomotion. To address this need, real time algorithms for walking patterns have been proposed in many studies. Because of the innate difficulty of solving the differential algebraic equations (DAEs) that represent aspects of dynamic motion, including the contact problem, simplified versions of the equations have been devised for practical use. One such simplification, the linear inverted pendulum model, has attracted the attention of many researchers because of its ease of implementation [1-4].
The modifiable walking pattern generation (MWPG) algorithm also belongs in this class. Modification during walking is regarded as a transition between two periodic walking patterns that each execute a navigational command. In this algorithm, the robot is modeled as a linear inverted pendulum, and the equations of motion between the zero-moment-point (ZMP) and center-of-mass (CM) states are derived in a simple closed form. When a new navigational command is received, it is converted to the desired CM state, which is a representative snapshot of the periodic CM motion. To achieve this desired CM state, a ZMP variation technique is adopted that uses two simple ZMP functions [5, 6]. Sometimes, a navigator may command a robot to take a step that is infeasible given the robot’s current state. In this case, the command is replaced with a feasible one identified using a binary search algorithm, and CM motion is successfully generated. The effectiveness of the proposed algorithm has been verified by computer simulation [7]. In this study, to demonstrate the practicality of the algorithm, several experiments were carried out using an actual humanoid robot, and the results were analyzed.
Because the MWPG algorithm corresponds to the specific way of generating a walking pattern for a feed-forward control reference, it is obviously necessary to implement some type of feedback controller to compensate for the disturbance. Approaches have been proposed for compensating for the disturbance using heuristic damping control [8, 9], the dynamics between a robot and its environment [10, 11], and landing force control [12, 13]. In this study, the torques and ground reaction force were measured using force-sensing resistors (FSRs) on each foot, and the foot of the robot was modeled using three virtual spring-damper (VSD) models for the purpose of disturbance compensation.
This paper is organized as follows. Section 2 describes the key concepts and flow of the MWPG algorithm. Section 3 describes the VSD model for compliance control. The humanoid platform is described in Section 4, and experimental results obtained using the platform are presented and discussed. Concluding remarks are made in Section 5.
2. Modifiable Walking Pattern Generation
2.1 Walking pattern modification
The MWPG algorithm is based on the reduced dynamics model, which is simplified so that the resulting equations of motion can be derived in closed form. The solutions of the equations are divided into two parts: the homogeneous part and the particular part. The homogeneous solution part describes the CM motion given by the initial state, and the particular solution part relaxes the motion predetermined by the homogeneous solution part. By allowing variation in the ZMP for the bounded region, the position and velocity of the CM can be changed independently throughout the single-support phase.
In the MWPG algorithm, the position and the weighted velocity of the CM, which are state-space variables of the equation of motion that represents the walking pattern at a given time, are defined as the walking state (WS). In addition, the minimal set of parameters that includes the single-and double-support times, forward and side step lengths, and walking directions is defined as a command state (CS).
Definition 1 The CS is a minimal set that represents navigational commands as follows:
where Tsl , Tdl , Fl , Sl , and θl represent the single-support time, double-support time, forward step length, side step length, and walking direction, respectively, for the left side. Similarly, Tsr , Tdr , Fr , Sr , and θr represent these parameters for the right side.
A walking pattern is modified in two ways: generation of another periodic pattern that satisfies a given new CS and transitional motion of the WS from the current state to the desired state along the new trajectory. The desired WS is uniquely determined from a given CS and the current WS, which is a representative snapshot for a periodic walking pattern based on the CS. After the desired WS is computed, the ZMP trajectory is adjusted to transfer the current WS to the desired one. By means of the ZMP variation with closed-form functions, walking patterns are modified as intended by the CS. Then the CS is infeasible, the CS and subsequent desired WS are simultaneously modified using a binary search algorithm.
After initialization, the CS is updated as the mean of the previous CS and the desired CS. Because the current WS is on the walking pattern generated by the previous CS, the modified CS is always feasible. Therefore, when the modified desired WS is feasible, the modified desired WS becomes the first intended infeasible one. Otherwise, it becomes the previous one. This continues until the maximum number of iterations is reached. Because of the simplicity of this binary search algorithm, it is sufficiently fast that it can be executed in real time.
2.2 Algorithm flow chart
Walking is a periodic motion involving the alternation between single-support (SS) and double-support (DS) phases. In the SS phase, ZMP variation is executed to modify the walking pattern, while in the DS phase, the CM follows the predetermined trajectory. When a command to walk is given in the standing-still state, the MWPG algorithm executes the initial DS motion. The subsequent SS and DS motions alternate in the finite-state machine (FSM) until a stop instruction is given, as shown in Fig. 1(a). Note that the CS can be updated at any time. However, for the sake of simplicity in implementation, this is done only in the last DS phase.
Fig. 1.Flow chart of the MWPG algorithm: (a) Overall sequence; (b) SS motion; (c) DS motion.
As shown in Fig. 1(b), the feasibility of the given CS is checked during the SS by examining the parameters of the ZMP functions, which are calculated analytically. When the CS is infeasible, simple binary searching is initiated and continues iteratively until a feasible CS is obtained or the maximum number of iterations is reached. If all of the parameters for the ZMP trajectories are between the minimum and the maximum values, ZMP variations are executed to transfer the current WS to the desired one. Or not, the given CS is regarded as unachievable. When a feasible CS is not found before the maximum number of iterations is reached, the previous CS is utilized instead. The desired WS is then computed to transfer the CM to the desired state. Every sample time reference WS is calculated for the control reference, and the subsequent joint reference is computed by inverse kinematics.
In the DS motion, the walking pattern is not modified but rather follows the previous trajectory. As with the SS motion, every sample time reference WS and the subsequent joint reference is calculated as shown in Fig. 1(c).
3. Compliance Control
When a humanoid robot is walking, the sole of the swing leg contacts the terrain, and as a result, a disturbance between the robot and the terrain occurs. VSD models are used to compensate for such disturbances, as shown in Fig. 2.
Fig. 2.VSD models for the foot.
Two rotational VSD models are utilized for the x-axis and y-axis motions of the foot, and one linear VSD model is utilized for the z-axis motion of the foot. The rotational foot displacements/velocities, and , and the linear foot displacement/velocity, , are given by the following equations:
where Tx, Ty, and Fz are the x- and y-axis torques and ground reaction force (GRF) on the foot, respectively, and kx /bx , ky /by , and kz /bz are the spring/damper coefficients. From (1), the state-space equation of the x-axis VSD model can be written as follows:
where Δt is a sample time. Note that the state-space equations of the y-axis and z-axis VSD models are obtained in a similar fashion. From (2), the transfer function of the x-axis VSD model is obtained as follows:
Fig. 3 shows the step responses of , from (3). As shown in the figure, the responses rapidly reach a steady state, and they are robust to disturbance. The spring and damper coefficients are determined experimentally, based on the displacements that occur when a unit torque and force are applied and on the time constant bx /kx in (3).
Fig. 3.Step responses of x-axis VSD model. (a) Δθx . (b)
4. Experimental Results
The effectiveness of the proposed algorithm was verified using the small-sized humanoid platform DARwIn-OP, shown in Fig. 4(a). The height and weight of this platform are 45.5 cm and 2.8 kg, respectively. Fig. 5(b) presents the overall structure of the DARwIn-OP system. DARwIn-OP has twenty degrees of freedom (DOFs) and MX-28 actuators. An Intel Atom Z530 central processing unit (CPU) is used as the main controller, which communicates with the sub controller through universal serial bus (USB) connections. Four FSRs are located on the sole of each foot to measure ground reaction force measurements.
Fig. 4.DARwIn-OP: (a) Small-sized humanoid robot; (b) Overall structure.
Fig. 5.Walking pattern (backward walking).
Table 1 shows the CM height (Zc ), foot size (Fx , Fy ), distance between foot centers (dy ), and ZMP allowable region ( Pmax/min , Qmax/min ). Note that all lengths are given in centimeters. Table 2 shows the actual VSD coefficients implemented in DARwIn-OP. The VSD coefficients were determined on the assumption that the robot walks on the rigid surface.
Table 1.Experiment parameters.
Table 2.VSD coefficients.
4.1 Backward walking
Backward walking patterns were produced using the following CS list:
(1) Initial CS c=[0.25 0.25 0.2 0.2 6.0 6.0 7.4 − 7.4 0.0° 0.0° ]T
(2) After the third step c=[0.25 0.25 0.2 0.2 − 5.0 − 5.0 7.4 − 7.4 0.0° 0.0° ]T
(3) After the seventh step c=[0.25 0.25 0.2 0.2 0.0 0.0 7.4 − 7.4 0.0° 0.0° ]T
In the CS list, times and lengths are given in seconds and centimeters, respectively, and angles are given in degrees. Fig. 5 shows the backward walking pattern generated using the proposed method. The thick and thin curves represent the CM trajectories in the SS and DS phases, respectively. The thick and thin rectangles represent the foot polygon and ZMP region, respectively. The circles and numbers indicate the center of the foot and the step number, respectively. Table 3 lists the current and previous x-axis positions of the foot centers and the sagittal step lengths at each footstep during the backward walking. According to the list of CS commands, the sagittal step length was changed to −5.0 cm after the third step of the backward walking. However, the sagittal step length was −3.6 (=14.4 −18.0 ) cm at the fourth step, and the commanded step length of −5.0 ( = 9.4 −14.4 ) cm was achieved at the fifth step. The reason for this is that the infeasible CS commanded after the third step was replaced with a feasible CS by the proposed binary search algorithm.
Table 3.Sagittal step lengths during backward walking.
Fig. 6 presents snapshots of the backward walking experiment result. The humanoid robot successfully walked according to the feasible CSs identified using the proposed method. The ZMP trajectories during the walking experiment were measured and are shown in Fig. 7. The ZMP trajectories along the x- and y-axes followed the foot trajectories with little variation.
Fig. 6.Snapshots of backward walking experiment results (left to right, top to bottom).
Fig. 7.Measured ZMP trajectories during backward walking experiment.
4.2 Sideways walking
To demonstrate the effectiveness of the binary search algorithm, sideways walking patterns generated from the following CS list were also examined:
(1) Initial CS c=[0.25 0.25 0.2 0.2 2.0 2.0 7.4 − 7.4 0.0° 0.0° ]T
(2) After the second step c=[0.25 0.25 0.2 0.2 2.0 2.0 7.4 − 12.4 0.0° 0.0° ]T
(3) After the seventh step c=[0.25 0.25 0.2 0.2 2.0 2.0 7.4 − 7.4 0.0° 0.0° ]T
(4) After the eighth step c=[0.25 0.25 0.2 0.2 0.0 0.0 7.4 − 7.4 0.0° 0.0° ]T
Fig. 8 shows the footprints and CM trajectories of the sideways walking pattern generated from the CS list. Table 4 lists the current and previous y-axis positions of the foot centers and the lateral step lengths at each footstep during the sideways walking. The lateral step length of the right leg was changed to −12.4 cm after the second step. However, the commanded step length was not achieved at the third step (−11.6( = −4.2 − 7.4 ) cm). The commanded step length of −12.4 ( = −9.2 − 3.2 ) cm was achieved at the fifth step. Figs. 9 and 10 present snapshots of the sideways walking experiment results and the measured ZMP trajectories. As in the backward walking experiment, the humanoid robot walked according to the feasible CSs, and the ZMP trajectories followed the foot trajectories successfully.
Fig. 8.Walking pattern (sideways walking).
Table 4.Lateral step lengths during sideways walking.
Fig. 9.Snapshots of sideways walking experiment results (left to right, top to bottom).
Fig. 10.Measured ZMP trajectories during sideways walking experiment.
4.3 Complex walking
As previously stated, the MWPG algorithm can generate a walking pattern even if the navigational command is complex. To demonstrate this ability, two complex walking experiments were carried out. In the first walking pattern, the CS included forward, backward, sideways, and turning motions:
(1) Initial CS c=[0.25 0.25 0.2 0.2 6.0 6.0 7.4 − 7.4 0.0° 0.0° ]T
(2) After the second step c=[0.25 0.25 0.2 0.2 3.0 3.0 7.4 − 7.4 0.0° 0.0° ]T
(3) After the fourth step c=[0.25 0.25 0.2 0.2 3.0 3.0 7.4 − 8.4 0.0° −20.0° ]T
(4) After the fifth step c=[0.25 0.25 0.2 0.2 −3.0 −3.0 9.4 − 7.4 −30.0° 0.0° ]T
(5) After the sixth step c=[0.25 0.25 0.2 0.2 −3.0 −3.0 7.4 − 8.4 0.0° −20.0° ]T
(6) After the seventh step c=[0.25 0.25 0.2 0.2 −6.0 −6.0 7.4 − 7.4 0.0° 0.0° ]T
(7) After the ninth step c=[0.25 0.25 0.2 0.2 0.0 0.0 7.4 − 7.4 0.0° 0.0° ]T
Fig. 11 shows the first complex walking pattern, including forward, backward, and sideways walking and turning motions. After the second step, the sagittal step length was shortened. The walking direction changed to the right, with a different lateral step length after the fourth step. After the fifth step, backward walking was initiated by changing the sagittal and lateral step lengths and the walking direction.
Fig. 11.Walking pattern (complex walking: case 1).
In the second walking pattern, asymmetric forward walking motions were generated from the following CS list:
(1) Initial CS c=[0.25 0.25 0.2 0.2 6.0 6.0 7.4 − 7.4 0.0° 0.0° ]T
(2) After the third step c=[0.25 0.25 0.2 0.2 0.0 0.0 7.4 − 7.4 0.0° 0.0° ]T
(3) After the fourth step c=[0.25 0.25 0.2 0.2 6.0 6.0 7.4 − 7.4 0.0° 0.0° ]T
(4) After the fifth step c=[0.25 0.25 0.2 0.2 0.0 0.0 7.4 − 7.4 0.0° 0.0° ]T
(5) After the sixth step c=[0.25 0.25 0.2 0.2 6.0 6.0 7.4 − 7.4 0.0° 0.0° ]T
(6) After the seventh step c=[0.25 0.25 0.2 0.2 0.0 0.0 7.4 − 7.4 0.0° 0.0° ]T
Fig. 12 shows the second complex walking pattern. In this case, after the third step, the sagittal step length of the left leg was changed to 0.0 cm, and the sagittal step length of the right leg was changed to 6.0 cm. Figs. 13 and 14 present the ZMP trajectories measured during the complex walking experiments. The ZMP trajectories followed the foot trajectories.
Fig. 12.Walking pattern (complex walking: case 2).
Fig. 13.Measured ZMP trajectories during complex walking experiment: case 1.
Fig. 14.Measured ZMP trajectories during complex walking experiment: case 2.
5. Conclusions
The MWPG algorithm is an effective tool for controlling the walking motion of a humanoid robot in real time. Use of this algorithm makes it possible to modify a walking pattern even when infeasible commands are issued. A FSM-based flow chart of the algorithm is presented in this paper. By using an actual humanoid platform, the experimental results demonstrated that the algorithm substitutes infeasible navigational commands with feasible ones so that walking motions are successfully generated. A conventional compliance control scheme was also adopted to compensate for disturbances. In future research, the search algorithm for feasible replacements for infeasible commands will be enhanced.
References
- S. Kajita, F. Kanehiro, K. Kaneko, K. Fujiwara, K. Yokoi, and H. Hirukawa, “A realtime pattern generator for Biped walking,” in Proc. IEEE Int. Conf. Robot. Autom., May 2002, vol. 1, pp. 31-37.
- T. Sugihara, Y. Nakamura, and H. Inoue, “Realtime humanoid motion generation through ZMP manipulation based on inverted pendulum control,” in Proc. IEEE Int. Conf. Robot. Autom., May 2002, vol. 2, pp. 1404-1409.
- Y.-D. Hong and J.-H. Kim, “3-D command state-based modifiable bipedal walking on uneven terrain,” IEEE/ASME Trans. Mechatron., vol. 18, no. 2, pp. 657-663, Apr. 2013. https://doi.org/10.1109/TMECH.2012.2182777
- Y.-D. Hong, B.-J. Lee, and J.-H. Kim, “Command state-based modifiable walking pattern generation on an inclined plane in pitch and roll directions for humanoid robots,” IEEE/ASME Trans. Mechatron., vol. 16, no. 4, pp. 783-789, Aug. 2011. https://doi.org/10.1109/TMECH.2010.2089530
- B.-J. Lee, D. Stonier, Y.-D. Kim, J.-K. Yoo, and J.-H. Kim, “Modifiable walking pattern of a humanoid robot by using allowable ZMP variation,” IEEE Trans. Robot., vol. 24, no. 4, pp. 917-925, Apr. 2008. https://doi.org/10.1109/TRO.2008.926859
- B.-J. Lee and K. I. Kim, “Modifiable walking pattern generation handling infeasible navigational commands for humanoid robots,” J. Elect. Eng. Technol., vol. 9, no. 1, pp. 344-351, 2014. https://doi.org/10.5370/JEET.2014.9.1.344
- Y.-D. Hong, K.-B. Lee, and B.-J. Lee, “Dynamic simulation of modifiable walking pattern generation to handle infeasible navigational commands for humanoid robots,” J. Elect. Eng. Technol., 2015 (submitted).
- Q. Huang and Y. Nakamura, “Sensory reflex control for humanoid walking,” IEEE Trans. Robot. Autom., vol. 21, no. 5, pp. 984-997, Oct. 2005.
- S. Kajita, T. Nagasaki, K. Kaneko, K. Yokoi, and K. Tanie, “A running controller of humanoid biped HRP-2 LR,” in Proc. IEEE Int. Conf. Robot. Autom., Apr. 2005, pp. 618-624.
- J.-H. Park, “Impedance control for biped robot locomotion,” IEEE Trans. Robot. Autom., vol. 17, no. 6, pp. 870-882, Dec. 2001. https://doi.org/10.1109/70.976014
- H.-O. Lim, S. Setiawan, and A. Takanishi, “Position-based impedance control of a biped humanoid robot,” Adv. Robot., vol. 18, no. 4, pp. 415-435, 2004. https://doi.org/10.1163/156855304773822491
- Y.-D. Kim, B.-J. Lee, J.-H. Ryu, and J.-H. Kim, “Landing force control for humanoid robot by time domain passivity approach,” IEEE Trans. Robot., vol. 23, no. 6, pp. 1294-1301, Dec. 2007. https://doi.org/10.1109/TRO.2007.906250
- Y. -D. Hong, C.-S. Park, and J. -H. Kim, “Stable bipedal walking with a vertical center of mass motion by an evolutionary optimized central pattern generator,” IEEE Trans. Ind. Electron., vol. 61, no. 5, pp. 2246-2355, May. 2014.
Cited by
- Stable Walking of Humanoid Robots Using Vertical Center of Mass and Foot Motions by an Evolutionary Optimized Central Pattern Generator vol.13, pp.1, 2016, https://doi.org/10.5772/62039
- Dynamic Simulation of Modifiable Bipedal Walking on Uneven Terrain with Unknown Height vol.11, pp.3, 2016, https://doi.org/10.5370/JEET.2016.11.3.733
- Stability Control for Dynamic Walking of Bipedal Robot with Real-time Capture Point Trajectory Optimization pp.1573-0409, 2019, https://doi.org/10.1007/s10846-018-0965-7