Balance recovery through model predictive control based on capture point dynamics for biped walking robot

Balance recovery through model predictive control based on capture point dynamics for biped walking robot

Accepted Manuscript Balance recovery through model predictive control based on capture point dynamics for biped walking robot Hyun-Min Joe, Jun-Ho Oh ...

1MB Sizes 0 Downloads 64 Views

Accepted Manuscript Balance recovery through model predictive control based on capture point dynamics for biped walking robot Hyun-Min Joe, Jun-Ho Oh

PII: DOI: Reference:

S0921-8890(17)30549-3 https://doi.org/10.1016/j.robot.2018.03.004 ROBOT 3002

To appear in:

Robotics and Autonomous Systems

Received date : 8 August 2017 Revised date : 21 February 2018 Accepted date : 10 March 2018 Please cite this article as: H.-M. Joe, J.-H. Oh, Balance recovery through model predictive control based on capture point dynamics for biped walking robot, Robotics and Autonomous Systems (2018), https://doi.org/10.1016/j.robot.2018.03.004 This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and review of the resulting proof before it is published in its final form. Please note that during the production process errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.

Balance recovery through model predictive control based on capture point dynamics for biped walking robot Hyun-Min Joe, Jun-Ho Oh* Department of Mechanical Engineering, 291 Daehak-ro, Yuseong-gu, Daejeon 305-701, South Korea; Emails: [email protected], [email protected] *Corresponding author email: [email protected]

Abstract This study proposes an online walking-pattern generation algorithm with footstep adjustment. The algorithm enables a biped walking robot to effectively recover balance following external disturbance. The external disturbance is measured as a capture-point error, and a desired zeromoment point (ZMP) is determined to compensate for the capture-point error through a capture-point control method. To follow the desired ZMP, the optimal ZMP and the position of the foot to be changed are determined through model predictive control (MPC). In the MPC, quadratic programming is implemented considering a cost function that minimizes the ZMP error, the constraints that the ZMP maintains within the support polygon, and the constraints on the varying foot positions. The proposed algorithm helps a humanoid robot (DRC-HUBO+) to regain balance following disturbance, i.e., from strong pushing or stepping on unexpected obstacles.

Keywords Humanoid robot, biped walking, walking pattern, model predictive control, footstep adjustment, capture point

1. Introduction For humanoid robots to coexist with human beings and provide various services and perform tasks that are difficult for humans, they must be capable of moving stably, even on unexpected surfaces, and under the influence of different types of disturbance. To achieve this capability, a stable walking motion having both dynamic and kinematic feasibility must be continuously generated based on the current state of the robot.

To ensure stable walking, the walking pattern, which is generally the trajectory of the center of mass (CoM) of the robot, must be generated based on stability criteria. To generate a stable CoM trajectory, many walking-pattern generation methods based on the “zero-moment point (ZMP)” [1], which is commonly used as an index indicating the stability of a biped robot, have been studied [2-6]. Those studies have suggested methods for generating CoM motion of a robot following the given reference ZMP. In particular, Kajita et al. have proposed a walkingpattern generation method using a linear quadratic regulator (LqR) that follows the reference ZMP using a preview control. The introduction of the controller concept was the starting point of online walking-pattern generation. Furthermore, to consider the limitation of the contact force that can be applied to the ground by a biped robot with a sole of limited size, Wieber [6] has proposed a method of walking-pattern generation using model predictive control (MPC), which is an extension of the preview-control scheme. The MPC scheme ensures dynamic feasibility by determining the optimal control input considering the constraint on the ZMP. Following development of a method for generating an online walking pattern, methods for generating a walking pattern that reflect the current state of the robot were then studied, so as to generate a stable walking pattern in the presence of disturbance. For example, Nishiwaki and Kagami [7] have proposed a method to continuously update the walking pattern by reflecting the ZMP error due to disturbance using preview control; those researchers proved the effectiveness of this approach by applying the proposed algorithm to the Humanoid Robotics Project 2 (HRP2) robot. In addition to the method presented in [7], a local sensor feedback controller to generate a stable walking pattern on sloped ground has also been proposed [8]. In a similar approach, Czarnetzki et al. [9] have designed an observer-based controller that integrates the estimation of the current robot state into the preview controller. Based on the concept of the capture point proposed by Pratt et al. [10] for balance control of biped walking robots, various studies considering disturbance have been conducted. Englsberger et al. [11] have proposed a capture-point controller using the characteristics of the capture-point dynamics and designed a walking pattern and walking stabilizer using this controller. Further, Krause et al. [12] have integrated the constraint on the ZMP into the capture-point controller using MPC instead of Englsberger’s method; this approach heuristically projects the desired ZMP in the support area so that the reference ZMP generated in the capture-point control is kept within the support area of the robot. By considering the constraints in the controller, controller output ensuring dynamic feasibility is determined. Further, a method of modulating the centroidal momentum pivot (CMP), in addition to modulating the ZMP to control the capture point (CP), was proposed in [13]. CMP modulation through the rotational momentum of the upper body can handle a relatively large disturbance, and constraints on the ZMP, CP, and CMP are explicitly considered by constructing the controller using MPC. In the above studies, the walking pattern was generated with a predetermined footstep position; however, when a large disturbance that cannot be controlled by the contact force and the angular acceleration of the upper body is applied, a walking pattern that changes the footstep positions should be generated. By changing the footstep positions, the support area is widened and the magnitude of the disturbance that can be withstood is increased. Previously, Nishiwaki and Kagami [14] proposed a method of changing the footstep positions by calculating the future ZMP behavior using preview control. Similarly, Urata et al. [15, 16] have proposed a method of quickly calculating the footstep positions by modifying the cost function of the preview control. Using an analytical method [4], Morisawa et al. [17] have modified the subsequent footstep positions by adjusting the shape of the reference ZMP and the swing leg timing. Further, Englsberger et al. [18] have proposed an empirically designed footstep adjustment method using capture-point control. However, in those studies, when adjusting

footstep position, the constraint on the range of motion of the foot and the constraint on the ZMP that should be maintained within the support polygon were not explicitly considered. When the adjustment of footstep position and the aforementioned constraints are considered together, the contact force can be utilized to minimize the change of footstep position. In order to explicitly consider the constraints, there are methods that apply MPC to the footstep position control. In [19, 20], methods were proposed to automatically determine the foot position by adding the footstep positions as an optimization variable to the previous MPC scheme [6]. Those methods ensure dynamic and kinematic feasibility by considering the ZMP and the constraint on the range of foot movement; however, in the model used in those studies, the acceleration is included as a state variable and the state feedback based on this model generates an algebraic feedback loop, thereby producing an ill-posed feedback system [12]. Hence, there is a limit to the generation of the walking pattern through feedback of the current state. Stephens and Atkeson [21] proposed a push recovery MPC method based on the current state using a model that considers external force in a linear inverted pendulum model (LIPM) instead of the model used in the previous method. However, in their proposed method, the walking pattern is regenerated only during the touchdown state, so there is a limit that cannot compensate for the disturbance that comes from the other state. Considering the limitations (constraint of the system, reflection of current state, regeneration of walking pattern) in existing footstep position control methods, in this paper, we propose a method of regenerating a walking pattern that explicitly considers the constraints of the system while reflecting the current state of the robot. The proposed method consists of the part that generates the control reference according to the state change of the robot when the disturbance is applied to the robot and the part that tracks the generated reference. In the first reference generation part, the capture point, which is a linear combination of the position and velocity of the CoM, is used as the state of the robot, and a desired ZMP reference is generated through capture-point control. To track the desired ZMP reference in the tracking part, the trajectory of the CoM and foot considering the constraints on the ZMP and footstep position are optimized by the MPC. By designing the capture point control and the MPC in a cascade structure, a walking pattern is regenerated that is adaptive to disturbance while simultaneously guaranteeing kinematic and dynamic feasibility. Furthermore, the stabilizer is designed to compensate the model error and to help reject the disturbance. Finally, we verify the effectiveness of the proposed method through simulation and experiment using the DRCHUBO+ humanoid robot platform. The remainder of this paper is organized as follows. Walking pattern generation using the MPC and the properties of CP dynamics are described in Section 2. In Section 3, the proposed walking pattern generation method using CP control is described. In Section 4, the experimental results of the proposed method are presented. Finally, in Section 5, the conclusions of this study are presented and future work is discussed.

2. Background 2.1 Walking Pattern The walking pattern is defined as a set of time series of joint angles for desired walking [22]. In general, if a set of time series of robot footstep positions is given, the set of time series of the CoM trajectory of the robot is the general walking pattern. Although several walking patterns can be designed, the walking pattern for stable walking should be designed based on a stability index. The ZMP [1] and capture point [6] are commonly used as stability indices.

To generate the CoM trajectory based on the stability index, a model of the robot is needed. The following models are used for a biped walking pattern: the linear inverted pendulum model (LIPM) [23], spring-loaded pendulum model (SLPM) [24], and full body model [2]. Among them, the LIPM, which is a linear model, is commonly used considering the calculation time. In addition, the walking pattern should be newly generated based on the current state of the robot. This is termed an “online walking pattern.” Furthermore, the newly generated walking pattern from the current state of the robot must ensure dynamic and kinematic feasibility. This can be achieved by constraining the ZMP and footstep positions, respectively. The basic theories regarding the walking-pattern generation are explained in the following sections.

2.2 Linear Inverted Pendulum Model A humanoid robot has more degrees of freedom than other types of robot. A multi-mass model can be used to generate an accurate walking pattern; however, longer computation time is required to calculate the walking pattern compared to other models. In most studies, the walking pattern, which is included in the high-level control, is generated based on a simplified model and the modeling error is compensated using a controller. In the simplified model, the entire mass is concentrated on one point of a massless leg, such as that in the inverted-pendulum model, which is placed on flat ground. Based on this model, the relationship between the CoM and ZMP for the sagittal plane is given by the following equation: 𝑧𝑧 =

𝑥𝑥�ℎ̈+𝑔𝑔�+ℎ𝑥𝑥̈ ℎ̈+𝑔𝑔

𝜏𝜏𝑦𝑦

− 𝑀𝑀�ℎ̈+𝑔𝑔� ,

(1)

where 𝑥𝑥 is the horizontal position of the CoM, 𝑧𝑧 is the position of the ZMP, ℎ is the vertical position of the CoM, 𝜏𝜏𝑦𝑦 is the torque about the CoM, 𝑀𝑀 is the total mass, and 𝑔𝑔 is the acceleration due to gravity. Under the assumptions that the height of the CoM remains constant and the change in the rotational momentum about the CoM is zero, the above equation can be represented as follows: ℎ 𝑧𝑧 = 𝑥𝑥 − 𝑔𝑔 𝑥𝑥̈ (2)

This equation of motion for the LIPM is also called the ZMP equation. The above equation is the decoupled linear equation, which can be similarly applied about the sagittal plane. For a concise equation, the equations are expressed about the sagittal plane.

2.3 Cart-table Model Kajita et al. have introduced a cart-table model to control the ZMP in the LIPM [23] (Figure 1). In this model, the dynamics of the robot can be modeled as a point-mass cart on a massless table and the ZMP can be controlled using the acceleration of the cart. Using this cart-table model, an appropriate dynamic system, which includes the jerk of the CoM (u) as input and the ZMP as output, can be written as follows:

where

ẋ = Ax + Bu, z = Cx,

x = [𝑥𝑥 𝑥𝑥̇ 𝑥𝑥̈ ]𝑇𝑇 ,u = 𝑥𝑥⃛,

(3)

0 1 𝐴𝐴 = �0 0 0 0

0 0 1� , 𝐵𝐵 = �0� , 𝐶𝐶 = �1 0 0 1

ℎ − �. 𝑔𝑔

Figure 1. Cart table model. Using this dynamic system, a walking-pattern generator is proposed wherein the resulting ZMP follows the reference ZMP, which is a popular preview-control method [3]. This previewcontrol method is used to generate the CoM trajectory such that the resulting ZMP follows the given reference ZMP. However, in this method, the ZMP is unconstrained. In the next section, the walking-pattern generation method considering the necessary constraints is discussed.

2.4 Model Predictive Control 2.4.1 Introduction of MPC In the preview-control method [3], the resulting ZMP, which is the output of the system, can move away from the support polygon with a sudden change in the reference ZMP, because the ZMP is unconstrained (Figure 2).

Figure 2. Limitation of preview control.

The MPC [25] is a possible solution to overcome the above limitation. In the MPC, the optimal control input is calculated considering the constraints on the state, input, and output of the system. In addition, in the MPC, the future reference is used to calculate the optimal solution that satisfies the future constraint. In other words, using the model, the future states, inputs, and outputs can be calculated and these future behaviors are used to optimize the control input. Using this MPC, Diedam et al. and Herdt et al. have developed walking-pattern generation methods [19, 20]. Therefore, this MPC scheme is used in the walking-pattern generator proposed in this study.

2.4.2 Prediction of Future Behavior The trajectory of the CoM considering piecewise constant jerk input (𝑢𝑢𝑘𝑘 ) of the CoM over a constant sampling interval 𝑇𝑇𝑠𝑠 can be considered. The third-order system expressed as equation (3) can be represented in discrete time as follows: x𝑘𝑘+1 = 𝐴𝐴x𝑘𝑘 + 𝐵𝐵𝑢𝑢𝑘𝑘 , 𝑧𝑧𝑘𝑘 = 𝐶𝐶x𝑘𝑘 ,

where, 1 𝐴𝐴 = �0 0

x𝑘𝑘 = [𝑥𝑥𝑘𝑘 𝑥𝑥̇ 𝑘𝑘 𝑥𝑥̈ 𝑘𝑘 ]𝑇𝑇 , 𝑢𝑢𝑘𝑘 = 𝑥𝑥⃛𝑘𝑘 , 𝑇𝑇𝑠𝑠 3 /6 𝑇𝑇𝑠𝑠 𝑇𝑇𝑠𝑠 2 /2 1 𝑇𝑇𝑠𝑠 � , 𝐵𝐵 = �𝑇𝑇𝑠𝑠 2 /2� , 𝐶𝐶 = [1 0 1 𝑇𝑇𝑠𝑠

(5)

0 −ℎ/𝑔𝑔].

To apply the MPC, it is necessary to predict the behaviors of the states and outputs of the system for 𝑁𝑁 discrete intervals in the future as a function of x𝑘𝑘 . Using the state equation (equation (5)) recursively, the future behaviors of the position and velocity of the CoM and ZMP over N ∗ 𝑇𝑇𝑠𝑠 can be obtained as follows: 𝑋𝑋𝑘𝑘+1

and

with:

𝑋𝑋̇𝑘𝑘+1 𝑍𝑍𝑘𝑘+1

𝑥𝑥𝑘𝑘+1 ⃛𝑘𝑘 , = � ⋮ �=𝑃𝑃𝑝𝑝𝑝𝑝 𝑥𝑥𝑘𝑘 + 𝑃𝑃𝑝𝑝𝑝𝑝 𝑋𝑋 𝑥𝑥𝑘𝑘+𝑁𝑁

𝑥𝑥̇ 𝑘𝑘+1 ⃛𝑘𝑘 , = � ⋮ �=𝑃𝑃𝑣𝑣𝑣𝑣 𝑥𝑥𝑘𝑘 + 𝑃𝑃𝑣𝑣𝑣𝑣 𝑋𝑋 𝑥𝑥̇ 𝑘𝑘+𝑁𝑁 𝑧𝑧𝑘𝑘+1 ⃛𝑘𝑘 , = � ⋮ �=𝑃𝑃𝑧𝑧𝑧𝑧 𝑥𝑥𝑘𝑘 + 𝑃𝑃𝑧𝑧𝑧𝑧 𝑋𝑋 𝑧𝑧𝑘𝑘+𝑁𝑁

⃛𝑘𝑘 = � 𝑋𝑋

𝑥𝑥⃛𝑘𝑘 ⋮

𝑥𝑥⃛𝑘𝑘+𝑁𝑁−1

(6)

(7)

(8)

�.

The matrices 𝑃𝑃𝑝𝑝𝑝𝑝 , 𝑃𝑃𝑣𝑣𝑣𝑣 , and 𝑃𝑃𝑧𝑧𝑧𝑧 , and 𝑃𝑃𝑝𝑝𝑝𝑝 , 𝑃𝑃𝑣𝑣𝑣𝑣 , and 𝑃𝑃𝑧𝑧𝑧𝑧 have sizes of  N ×3 and  N × N , respectively, and detailed formulation on these matrices can be found in [20].

2.4.3 Objective Function An optimization process is performed to minimize the following objective function: 𝛾𝛾 ⃛�2 + 𝛼𝛼 �𝑋𝑋̇�2 + 𝛽𝛽 �𝑍𝑍 − 𝑍𝑍 𝑟𝑟𝑟𝑟𝑟𝑟 �2. min 2 �𝑋𝑋 2 2 𝑍𝑍

(9)

The objective function (9) can be formulated as a quadratic programming: 1

min 2 𝑍𝑍 𝑇𝑇 𝐻𝐻𝐻𝐻 + 𝑓𝑓 𝑇𝑇 𝑍𝑍, 𝑍𝑍

(10)

where 𝛼𝛼, 𝛽𝛽 and 𝛾𝛾 > 0 are weights, 𝑍𝑍 ∈  N is the ZMP, 𝑍𝑍 𝑟𝑟𝑟𝑟𝑟𝑟 is the reference of the ZMP about the sagittal plane, and −𝑇𝑇 −1 −𝑇𝑇 𝑇𝑇 −1 𝑃𝑃𝑧𝑧𝑧𝑧 + 𝛼𝛼𝑃𝑃𝑧𝑧𝑧𝑧 𝑃𝑃𝑣𝑣𝑣𝑣 𝑃𝑃𝑣𝑣𝑣𝑣 𝑃𝑃𝑧𝑧𝑧𝑧 + 𝛽𝛽𝛽𝛽, 𝐻𝐻 = 𝛾𝛾𝑃𝑃𝑧𝑧𝑧𝑧 𝑟𝑟𝑟𝑟𝑟𝑟 𝑓𝑓 = 𝑃𝑃𝑐𝑐 x𝑘𝑘 − 𝛽𝛽𝑍𝑍 , −𝑇𝑇 𝑇𝑇 (𝑃𝑃 −1 −𝑇𝑇 −1 𝑃𝑃𝑐𝑐 = 𝛼𝛼𝑃𝑃𝑧𝑧𝑧𝑧 𝑃𝑃𝑣𝑣𝑣𝑣 𝑣𝑣𝑣𝑣 − 𝑃𝑃𝑣𝑣𝑣𝑣 𝑃𝑃𝑧𝑧𝑧𝑧 𝑃𝑃𝑧𝑧𝑧𝑧 ) − 𝛾𝛾𝑃𝑃𝑧𝑧𝑧𝑧 𝑃𝑃𝑧𝑧𝑧𝑧 𝑃𝑃𝑧𝑧𝑧𝑧 .

𝐼𝐼 ∈  N × N is the identity matrix. The first and second terms of equation (9) represent minimization of the jerks and velocity of the CoM, respectively. The first term softens the motion of the CoM and the second term is the damping term, which renders the CoM trajectories more robust against disturbance. The last term serves to follow the reference ZMP. ⃛ . This allows the constraints of the Note that the optimization variable is 𝑍𝑍 instead of 𝑋𝑋 quadratic programming to be written in a simple form, the details of which are described in the next section. After optimization, Z is inverted to calculate the optimal jerk of CoM in equation (8). The optimal jerk input is used to calculate CoM trajectory in equation (5). When a disturbance exceeding the contact-force limit is applied to the robot, the footstep positions must be changed. By adding the variation ∆𝐹𝐹 ∈  m (𝑚𝑚 is the number of future footsteps) from the reference position of the foot as an optimization variable, equation (10) can be extended to quadratic programming in the following canonical form: 1

min 2 � 𝑍𝑍,∆𝐹𝐹

𝑍𝑍 𝑇𝑇 𝐻𝐻 � � 0 ∆𝐹𝐹

where 𝜇𝜇 > 0 is a weight for ∆𝐹𝐹.

0 𝑍𝑍 𝑓𝑓 𝑇𝑇 𝑍𝑍 � � � + � � � �, 𝜇𝜇𝜇𝜇 ∆𝐹𝐹 0 ∆𝐹𝐹

(11)

2.4.4 Constraint

It is necessary to generate a stable walking pattern considering the limit of the contact force, which the sole of the robot can push on the floor. To consider the contact-force limit, the ZMP can be constrained. The constraint that helps retain the ZMP in the support polygon is given as follows: 𝑍𝑍 𝐴𝐴𝑧𝑧 � � + 𝑏𝑏𝑧𝑧 ≤ 0, (12) ∆𝐹𝐹 where 𝑟𝑟𝑟𝑟𝑟𝑟 𝐼𝐼 −𝑃𝑃 Az = � � , 𝑏𝑏𝑧𝑧 = �−𝑆𝑆 − 𝑍𝑍 𝑟𝑟𝑟𝑟𝑟𝑟 �, −𝐼𝐼 𝑃𝑃 −𝑆𝑆 + 𝑍𝑍 S = [𝑙𝑙/2 ⋯ 𝑙𝑙/2]𝑇𝑇 ,

Here, 𝐼𝐼 ∈  N × N is identity matrix and 𝑙𝑙 is the length of the robot foot. 𝑃𝑃 is the selection matrix used to select the active foot in each time step, which is defined as follows: 𝑃𝑃1,1 𝑃𝑃 = � ⋮ 𝑃𝑃𝑁𝑁,1

where 𝑃𝑃𝑘𝑘,𝑖𝑖 = �

⋯ 𝑃𝑃1,𝑚𝑚 ⋱ ⋮ �, ⋯ 𝑃𝑃𝑁𝑁,𝑚𝑚

(13)

0 𝑖𝑖𝑖𝑖 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 𝑖𝑖 𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 𝑛𝑛𝑛𝑛𝑛𝑛 𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎𝑎 𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 𝑘𝑘 𝑡𝑡ℎ 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 . 1 𝑖𝑖𝑖𝑖 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 𝑖𝑖 𝑖𝑖𝑖𝑖 𝑎𝑎 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 𝑘𝑘 𝑡𝑡ℎ 𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡

In this study, the rotation of the foot is neglected because the objective is to evaluate the proposed foot-placement algorithm. The equation for considering the rotation of the foot is explained in other studies [19, 20]. The kinematic limit, which is the step length, is considered to avoid collision between the legs and singular configuration. The optimization variable ∆F , which is the foot variation from the reference position of the foot, is constrained within a specific range considering the kinematic limit, as follows: where

𝐴𝐴𝑘𝑘 ∆𝐹𝐹 + 𝑏𝑏𝑘𝑘 ≤ 0,

(14)

−𝐿𝐿 − 𝛼𝛼(𝐹𝐹1 − 𝐹𝐹0 ) 𝛼𝛼 𝑇𝑇 𝐴𝐴𝑘𝑘 = � � , 𝑏𝑏𝑘𝑘 = � 𝑚𝑚𝑚𝑚𝑚𝑚 �, −𝛼𝛼 𝐿𝐿𝑚𝑚𝑚𝑚𝑚𝑚 + 𝛼𝛼(𝐹𝐹1 − 𝐹𝐹0 )

and 𝐿𝐿𝑚𝑚𝑚𝑚𝑚𝑚 and 𝐿𝐿𝑚𝑚𝑚𝑚𝑚𝑚 are the maximum and minimum step lengths for which the footstep position can be changed. Note that 𝛼𝛼 is 1 or −1 when the right or left foot is in the swing phase, respectively. 𝐹𝐹0 and 𝐹𝐹1 are the current positions of the supporting foot and the next target position of the swing foot, respectively. In this study, kinematic constraints between the current foot and the next foot are considered. This reduces the computation time.

2.5 Capture Point 2.5.1 Two First-order Dynamics In [11], the capture point comprises the horizontal CoM position and velocity, which are scaled using the natural frequency of the pendulum 𝜔𝜔 = �𝑔𝑔/ℎ as follows: 𝑥𝑥̇

𝜉𝜉 = 𝑥𝑥 + 𝜔𝜔

(15)

Rewriting the capture-point equation with respect to 𝑥𝑥̇ yields the following CoM dynamic equation: 𝑥𝑥̇ = −𝜔𝜔(𝑥𝑥 − 𝜉𝜉)

(16)

𝜉𝜉̇ = 𝜔𝜔(𝜉𝜉 − 𝑧𝑧)

(17)

This first-order dynamics is stable for ω > 0, implying that the CoM naturally follows the capture point. The capture-point equation is differentiated and substituted into the ZMP equation. Accordingly, the following capture-point dynamics is obtained:

The capture-point dynamics exhibits an unstable first-order dynamics wherein the capture point moves away from the ZMP. Note that the above two equations are in cascaded forms. If the capture-point dynamics is controlled to be stable, the CoM dynamics is naturally stabilized (Figure 3).

Figure 3. Coupled dynamics of capture point and CoM.

2.5.1 Capture Point Control The following first-order closed-loop dynamics is given as follows to stabilize the CP dynamics: ̇ − 𝜉𝜉̇ 𝑟𝑟𝑟𝑟𝑟𝑟 = −𝑘𝑘𝑐𝑐𝑐𝑐 (𝜉𝜉 𝜉𝜉����� − 𝜉𝜉 𝑟𝑟𝑟𝑟𝑟𝑟 (18) ����� ��) ∆𝜉𝜉 ∆𝜉𝜉̇ The equation is stable for 𝑘𝑘𝑐𝑐𝑐𝑐 > 0. This behavior shows that the capture point error ∆𝜉𝜉 asymptotically converges towards zero. The following control law can be used to obtain this behavior for the desired ZMP (𝑧𝑧 𝑑𝑑𝑑𝑑𝑑𝑑 ): 𝑧𝑧 𝑑𝑑𝑑𝑑𝑑𝑑 = 𝑧𝑧 𝑟𝑟𝑟𝑟𝑟𝑟 + 𝑘𝑘𝑐𝑐𝑐𝑐 �� (𝜉𝜉 ��� − 𝜉𝜉 𝑟𝑟𝑟𝑟𝑟𝑟 ��) ∆𝜉𝜉

(19)

If 𝑘𝑘𝑐𝑐𝑐𝑐 > 1, a ZMP deviation (𝑘𝑘𝑐𝑐𝑐𝑐 ∆𝜉𝜉) greater than the capture point error is added to the reference ZMP, which causes the capture-point error to converge in the decreasing direction. A detailed proof regarding the capture-point control is given in another study [26].

3. Walking-pattern Generation with Adjustment of Footstep Position 3.1 Proposed Framework Using the MPC and capture-point control, a framework is developed for walking-pattern generation that helps automatically adjust the footstep position based on the robot state. The capture point is introduced to reflect the robot state, and the 𝑧𝑧 𝑑𝑑𝑑𝑑𝑑𝑑 is determined using the capture-point control. The desired ZMP becomes the input reference of the MPC scheme, and the MPC is used to generate the optimized control input considering the given constraints. Figures 4 and 5 show the original and proposed MPC schemes, respectively, for simple comparison. Figure 6 shows the proposed scheme in more detail. The MPC scheme is used as

the desired ZMP tracking controller, and 𝑧𝑧 𝑑𝑑𝑑𝑑𝑑𝑑 is determined based on the state of the capture point.

Figure 4. Original MPC scheme.

Figure 5. Proposed MPC scheme.

3.2 Desired ZMP as MPC Input The capture-point control law explained in Section 2.5.1 is used to determine the desired ZMP, which is used to obtain the reference ZMP in the MPC. To further simplify equation (19), 𝑘𝑘𝑐𝑐𝑐𝑐 ∆𝜉𝜉 is rewritten as ∆𝑧𝑧 (where z represents the ZMP). The control law of the capture point can then be redefined as follows: 𝑧𝑧 𝑑𝑑𝑑𝑑𝑑𝑑 = 𝑧𝑧 𝑟𝑟𝑟𝑟𝑟𝑟 + ∆𝑧𝑧

(20)

The MPC is used to calculate the optimal input (𝑍𝑍 and ∆𝐹𝐹) to track 𝑍𝑍 𝑑𝑑𝑑𝑑𝑑𝑑 , which is obtained as the sum of ∆𝑧𝑧 and the reference ZMP (𝑍𝑍 𝑟𝑟𝑟𝑟𝑟𝑟 ). To apply the desired ZMP as the input of the MPC, the current and future N-step ZMP references are required. The kth desired ZMP is expressed as follows: 𝑟𝑟𝑟𝑟𝑟𝑟

𝑧𝑧𝑘𝑘𝑑𝑑𝑑𝑑𝑑𝑑 = 𝑧𝑧𝑘𝑘

+ ∆𝑧𝑧

(21)

In each time step, the desired ZMP can be formulated as the entire desired ZMP (𝑍𝑍 𝑑𝑑𝑑𝑑𝑑𝑑 ) over the prediction horizon as follows: 𝑍𝑍 𝑑𝑑𝑑𝑑𝑑𝑑 = 𝑍𝑍 𝑟𝑟𝑟𝑟𝑟𝑟 + ∆𝑍𝑍

The desired ZMP is then substituted for 𝑓𝑓 in equation (10) as follows: 𝑓𝑓 = 𝑃𝑃𝑐𝑐 𝑥𝑥𝑘𝑘 − 𝛽𝛽𝑍𝑍 𝑑𝑑𝑑𝑑𝑑𝑑

(22)

(23)

Figure 6 shows a flowchart of the proposed method. A footstep planner is used to generate the ZMP and footstep-position references. The optimal CoM and footstep positions, which are calculated from the MPC, are substituted into the whole body inverse kinematics (WBIK) [27] to calculate the reference joint angles for the robot.

Figure 6. Overall flowchart of proposed method.

3.3 Simulation To verify the proposed method given in Section 3.2, the method implementation was simulated using MATLAB. Table 1 lists the parameters used in the simulation. Table 1. Simulation parameters. Parameter

α β

γ µ m l

Lmax

Value 150 200000 1 1000000 2 0.02 m 0.3 0.18

Lmin h TSSP

0.77 0.7 s

TDSP

0.1 s

Ts Preview window

0.1 s 1.5 s

To avoid collision between the right and left feet, Lmin was set to 0.18 m, considering the geometry of DRC-HUBO+. Lmax was set to 0.3 m to avoid the singular configuration. The total period of one step including the single support time ( TSSP ) and double-support time ( TDSP ) was 0.8 s. The height of the CoM was 0.77 m, which is the same as that of DRC-HUBO+. Figure 7 shows the simulation result for the lateral plane when a constant disturbance was applied at time 4.4 s. In this simulation, the perturbations corresponding to a ∆z of −0.3 m were applied. At 4.4 s, the robot was pushed from the left side towards the right side. The MPC helped automatically adjust the robot foot position in the lateral direction to regain balance. The output ZMP was maintained within the support polygon (black line). Note that the left foot

moved up to 0.08 m to satisfy the foot constraint, preventing collision between the feet. The right foot was moved largely to recover the balance, because the left foot did not move because of the foot constraint.

Figure 7. Simulation result of proposed method.

3.4 Swing-foot Trajectory Generation The horizontal target footstep position of the swing foot is changed based on the optimization variable ∆𝐹𝐹. The variation in the current footstep position ∆𝐹𝐹1 is added to the reference of the current swing foot trajectory 𝐹𝐹 𝑟𝑟𝑟𝑟𝑟𝑟 as follows: 𝐹𝐹 𝑑𝑑 = 𝐹𝐹 𝑟𝑟𝑟𝑟𝑟𝑟 + ∆𝐹𝐹1

(24)

To smoothly add ∆𝐹𝐹1 to 𝐹𝐹 𝑟𝑟𝑟𝑟𝑟𝑟 without discontinuity, in every sampling time step, 𝐹𝐹 𝑑𝑑 is interpolated using a fifth-order polynomial function. The final conditions of the velocity and acceleration are zero at the end of the single support phase. The trajectory modification is updated to the last 0.1 s of the single support time to prevent a collision between the foot and ground. In addition, to reduce the impact force when the swing foot touches the ground, the trajectory of the swing foot is designed about the vertical axis using the distribution of the swing time 𝑇𝑇𝑠𝑠𝑠𝑠𝑠𝑠 . The lifting and landing times of the swing foot are 𝜌𝜌× TSSP and (1 − 𝜌𝜌) × 𝑇𝑇𝑠𝑠𝑠𝑠𝑠𝑠 , respectively. Generally, 𝜌𝜌 is set below 0.5, which helps reduce the speed of the swing foot in the landing phase. In the experiment conducted in this study, 𝜌𝜌 was 0.4.

3.5 Stabilizer

To stabilize the walking pattern against the modeling error and disturbance, a stabilizer is needed. The stabilizer is used to control the foot position in the vertical direction for foot-force control and the foot orientation for foot-torque control. In [28], a linear-inverted-pendulum tracking controller is used to track 𝑧𝑧 𝑑𝑑𝑑𝑑𝑑𝑑 . From the commanded 𝑧𝑧 𝑑𝑑𝑑𝑑𝑑𝑑 , the desired foot force and foot torque are calculated and the damping controller is used to track the desired force and torque. The damping controller is expressed as follows: 1 𝛿𝛿̇ = 𝑘𝑘𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 (𝜎𝜎 𝑑𝑑 − 𝜎𝜎 𝑚𝑚 ) − 𝑇𝑇 𝛿𝛿, 𝑟𝑟

(25)

where 𝑘𝑘𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 is the damping gain and 𝑇𝑇𝑟𝑟 is the time required to retrieve the neutral point when the foot is in the swing phase. Further, 𝜎𝜎 𝑑𝑑 and 𝜎𝜎 𝑚𝑚 are the desired reference and measured sensor data, respectively. To quickly retrieve the neutral point, a small 𝑇𝑇𝑟𝑟 is set in the swing phase. Note, that in this work, we used a larger value of 𝑇𝑇𝑟𝑟 for the supporting leg. In this study, the damping controller given in equation (25) is used, but the desired ZMP is calculated using equation (20). This helps stabilize the capture-point dynamics, the objective of which is the same as that of the pattern generation.

3.6 State Estimation In the DRC-HUBO+ robot, a gyro sensor is located in the pelvis and the CoM is located near the pelvis. Therefore, we assumed the CoM position was on the pelvis and that the error of the CoM position is due to the pelvis orientation error. The error of the CoM position could be directly calculated from the pelvis orientation, which was integrated from the angular velocity of the gyro sensor. The error of the CoM velocity was calculated through numerical differentiation of the CoM position error. We used the first-order Newton-Euler method to differentiate the error of the CoM position. This measured error of the CoM position and the CoM velocity were used to calculate the capture point error. To reduce any high-frequency noise, a low-pass filter was used to the capture point error. The cut-off frequency was 3.56 Hz and the sampling frequency was 200 Hz.

4. Experiment 4.1 Experimental Setup The robot experiment was conducted using a DRC-HUBO+ humanoid robot developed in a laboratory, as shown in Figure 8. DRC-HUBO+ is the upgraded version of DRC-HUBO [29], which is a humanoid robot used in the Defense Advanced Research Projects Agency (DARPA) Robotics Challenge [30]. DRC-HUBO+ is designed for applications involving low weight, high power, and high stiffness. In this work, each joint was controlled using a proportionalderivative position control with a control frequency of 1 kHz. Table 2 lists the detailed specifications of DRC-HUBO+. The parameters used in the experiment are the same as those used in the simulation. The proposed algorithm was coded using C/C++, and CVXGEN [31] was used to solve the quadratic programming. Unlike in the simulation, there are various small disturbances (e.g., sensor noise, modeling error, and the ground that cannot be perfectly flat) are present in the real environment. These small disturbances that have a negligible effect on the robot`s balance were not considered in

our experiment. We set the dead zone to the capture-point error. The range of the dead zone was set considering the range of the CP error while the robot is walking without disturbance. Two types of experiment were conducted. The first was a push-recovery test wherein the robot was expected to regain balance following three backward pushes. The second experiment involved stepping on debris for a balance-recovery test. (A video of the experiment can be viewed at https://youtu.be/MY4rP4r3CJQ.)

Figure 8. DRC-HUBO+. Table 2. DRC-HUBO+ Specifications. Item

Description

Weight

83 kg

Height

1.73 m

Actuators

200 W, 100 W BLDC/DC Motor

Sensors

Fiber optics gyro sensor, F/T sensor

Power

48 V (7.8 Ah, 1824 Wh Battery)

Degrees of freedom (DOF)

29 (14 DOF arms, 12 DOF legs, 2 DOF gripper, 1 DOF waist)

4.2 Push Recovery To verify the effectiveness of the proposed algorithm, three disturbances were first applied to the pelvis of a walking robot using a force-measurable tool. Figure 9 shows the error of the capture point and the ∆𝑧𝑧 calculated from the capture-point control. Figure 10 shows the commanded 𝑧𝑧 𝑑𝑑𝑑𝑑𝑑𝑑 for the MPC input. The 𝑧𝑧 𝑑𝑑𝑑𝑑𝑑𝑑 changed in response to the capture-point error. Figure 11 shows the position reference trajectories of the right foot, left foot, and CoM in the sagittal plane using the MPC. When the third disturbance, which was the strongest, was applied to the robot, the robot took two steps to recover its balance. Figure 12 shows the applied forces. The applied impulses of the disturbances were 26.5, 25.4, and 29.7 Ns. Figure 13 shows images of the manner in which DRC-HUBO+ recovered its balance.

Figure 9. Capture-point error and delta ZMP. 0.2

0.15

X(m)

0.1

0.05

0

-0.05

-0.1

Desired ZMP Output ZMP Support Polygon 5

10

15 Time(s)

20

Figure 10. Commanded desired ZMP and output ZMP.

25

0.2

0.15

X(m)

0.1

0.05

0

-0.05

-0.1

Ref RF Ref LF Ref CoM 5

10

25

20

15 Time(s)

Figure 11. Reference trajectories of right foot, left foot, and CoM.

160 140

Force(N)

120 100 80 60 40 20 0 6

8

10

12

14 Time(s)

16

18

20

22

Figure 12. Disturbance measured using force-measurable tool.

Figure 13. Images of balance recovery from external push performed by DRC-HUBO+ by adjusting the footstep position.

4.3 Uneven Terrain The algorithm was tested on uneven terrain. When the robot was walking, debris was placed under its foot three times. The first piece of debris was 0.025 m in height, whereas the other two pieces had heights of 0.035 m. Figure 14 shows the error of the capture point and the ∆z calculated from the capture-point control. Figure 15 shows the commanded 𝑧𝑧 𝑑𝑑𝑑𝑑𝑑𝑑 for the MPC input. The figure shows that 𝑧𝑧 𝑑𝑑𝑑𝑑𝑑𝑑 varies in response to the capture-point error. Figure 16 shows the position reference trajectories of the right foot, left foot, and CoM about the lateral plane using the MPC. Because the heights of the second and third pieces of debris were greater than that of the first, the robot took two steps to recover its balance. Figure 17 shows images of the balance recovery performed by DRC-HUBO+ when it stepped on the third piece of debris. The robot recovered its balance by adjusting its footsteps. Unlike the experiment described in Section 4.2, in this experiment, the robot was slightly rotated in the yaw direction after stepping on the object. This slipping was caused by a decrease in the contact area between the foot and the floor. Although the robot slipped slightly, we did not consider an additional controller to cope with this slight slip, as it did not affect the robot’s balance.

Figure 14. Capture-point error and delta ZMP in lateral direction.

Figure 15. Commanded desired ZMP and output ZMP.

Figure 16. Reference trajectories of right foot, left foot, and CoM.

Figure 17. Images of balance recovery when DRC-HUBO+ steps on a piece of debris.

5. Conclusion A balance-recovery algorithm was designed using capture-point control and the MPC scheme. The MPC scheme was used as the walking-pattern generator to ensure the dynamic and kinematic feasibility of the walking pattern. The capture-point control was employed to generate the online walking pattern based on the current state of the robot. The capture point is a very intuitive state variable used to adjust the footstep position. Employing this property of the capture point, the desired ZMP was designed from the capture-point control, which was then tracked using the MPC. The proposed framework was realized using the DRC-HUBO+ robot and the effectiveness was verified through experiment. In this study, the step time parameter of the walking-pattern generator was fixed at 0.8 s. To improve the walking performance, it is necessary to adjust not only the footstep position, but also the step time [32]. The step time could be included as an optimization variable, but considerable computation time is needed to solve the corresponding nonlinear optimization problem. Therefore, we are developing a fast algorithm to solve this nonlinear problem. Finally, the slip that occurred in Section 4.3 did not affect the balance of the robot, but it would have a significant impact on the balance of the robot on slippery ground. To ensure stable walking on slippery ground, we plan to conduct further studies on state estimation and control strategies.

Acknowledgements The authors would like to thank Taejin Jung, who developed the DRC-HUBO+. Special thanks are also extended to our colleagues in the laboratory, Okkie Sim and Hyobin Jung, for their advice. This work was supported by the “Development of Core Technologies and a Standard Platform for a Humanoid Robot” project of the Korea Evaluation Institute of Industrial Technology (KEIT) of the Republic of Korea (N02170146).

REFERENCES [1] M. Vukobratović, B. Borovac, Zero-moment point—thirty five years of its life, Int. J. Human Robotics, 1 (2004) 157−173. [2] K. Nishiwaki, S. Kagami, Y. Kuniyoshi, M. Inaba, H. Inoue, Online generation of humanoid walking motion based on a fast generation method of motion pattern that follows desired zmp, Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst. (IROS) 3 (2002). [3] S. Kajita, F. Kanehiro, K. Kaneko, K. Fujiwara, K. Harada, K. Yokoi, H. Hirukawa, Biped walking pattern generation by using preview control of zero-moment point, Proc. IEEE Int. Conf. Robotics Automat. (ICRA) 2 (2003) 1620−1626. [4] K. Harada, S. Kajita, K. Kaneko, H. Hirukawa, An analytical method for real-time gait planning for humanoid robots, Int. J. Humanoid Robotics, 3 (2006) 1−19. [5] J. H. Kim, Walking pattern generation of a biped walking robot using convolution sum, Proc. 7th IEEE-RAS Int. Conf. Humanoid Robots (2007) 539−544. [6] P. B. Wieber, Trajectory free linear model predictive control for stable walking in the presence of strong perturbations, Proc. 6th IEEE-RAS Int. Conf. Humanoid Robots (2006) 137−142. [7] K. Nishiwaki, S. Kagami, High frequency walking pattern generation based on preview control of ZMP. Proc. IEEE Int. Conf. Robotics Automat. (ICRA) 2006 (2006) 2667−2672. [8] K. Nishiwaki, S. Kagami, Frequent walking pattern generation that uses estimated actual posture for robust walking control, Proc. 9th IEEE-RAS Int. Conf. Humanoid Robots, (2009) 535−541. [9] S. Czarnetzki, S. Kerner, O. Urbann, Observer-based dynamic walking control for biped robots, Robot. Auton. Syst. 57 (2009) 839−845. [10] J. Pratt, J. Carff, S. Drakunov, A. Goswami, Capture point: A step toward humanoid push recovery, Proc. 6th IEEE-RAS Int. Conf. Humanoid Robots (2006) 200−207. [11] J. Englsberger, C. Ott, M. A. Roa, A. Albu-Schäffer, G. Hirzinger, Bipedal walking control based on capture point dynamics, Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst. (IROS) (2011) 4420−4427. [12] M. Krause, J. Englsberger, P. B. Wieber, C. Ott, Stabilization of the capture point dynamics for bipedal walking based on model predictive control, Proc. IFAC 45 (2012) 165−171. [13] M. Shafiee-Ashtiani, A. Yousefi-Koma, M. Shariat-Panahi, M. Khadiv, Push recovery of a humanoid robot based on model predictive control and capture point, Proc. Int. Conf. Robots Mechatronics (ICROM) 2016 (2016) 433−438. [14] K. Nishiwaki, S. Kagami, Strategies for adjusting the zmp reference trajectory for maintaining balance in humanoid walking, Proc. IEEE Int. Conf. Robotics Automat. (ICRA) (2010) 4230−4236. [15] J. Urata, K. Nishiwaki, Y. Nakanishi, K. Okada, S. Kagami, M. Inaba Online walking pattern generation for push recovery and minimum delay to commanded change of direction and speed, Proc. IEEE/RSJ Int. Conf. Intell. Robots Systems (IROS) (2012) 3411−3416. [16] J. Urata, K. Nishiwaki, Y. Nakanishi, K. Okada, S. Kagami, M. Inaba, Online decision of foot placement using singular lq preview regulation, Proc. IEEE/RAS Int. Conf. Humanoid Robots (2011) 13−18. [17] M. Morisawa, K. Harada, S. Kajita, S. Nakaoka, K. Fujiwara, F. Kanehiro, H. Hirukawa, Experimentation of humanoid walking allowing immediate modification of foot place based on analytical solution, Proc. IEEE Int. Conf. Robotics Automat. (ICRA) (2007) 3989−3994. [18] J. Englsberger, C. Ott, A. Albu-Schäffer, Three-dimensional bipedal walking control based on divergent component of motion, Proc. IEEE Trans. Robotics 31 (2015) 355−368. [19] H. Diedam, D. Dimitrov, P. B. Wieber, K. Mombaur, M. Diehl, Online walking gait generation with adaptive foot positioning through linear model predictive control, Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst. (IROS) (2008) 1121−1126. [20] A. Herdt, H. Diedam, P. B. Wieber, D. Dimitrov, K. Mombaur, M. Diehl, Online walking motion generation with automatic footstep placement, Adv. Robotics 24 (2010) 719−737. [21] Stephens, B. J., & Atkeson, C. G., Push recovery by stepping for humanoid robots with force controlled joints, Proc. IEEE/RAS Int. Conf. Humanoid Robots (2010) 52-59. [22] S. Kajita, H. Hirukawa, K. Harada, K. Yokoi, Introduction to Humanoid Robotics, Springer-Verlag Berlin Heidelberg, 2014. [23] S. Kajita, F. Kanehiro, K. Kaneko, K. Yokoi, H. Hirukawa, The 3D linear inverted pendulum mode: A simple modeling for biped walking pattern generation, Proc. IEEE Int. Conf. Intell Robots Syst. (IROS) 2001, 1 (2001) 239−246. [24] G. Garofalo, C. Ott, A. Albu-Schäffer, Walking control of fully actuated robots based on the bipedal slip model, Proc. IEEE Int. Conf. on Robotics and Automation (ICRA) (2012) 1456−1463. [25] L. Wang, Model predictive control system design and implementation using MATLAB® (2009).

[26] J. Englsberger, Combining reduced dynamics models and whole-body control for agile humanoid locomotion, Technische Universität München, 2016. [27] I. Kim, J. H. Oh, Inverse kinematic control of humanoids under joint constraints, Int. J. Adv. Robotic Syst. 10 (2013) 74. [28] S. Kajita, M. Morisawa, K. Miura, S. I. Nakaoka, K. Harada, K. Kaneko, F. Kanehiro, K. Yokoi, Biped walking stabilization based on linear inverted pendulum tracking, Proc. IEEE/RSJ Int. Conf. Intell Robots Syst. (IROS) (2010) 4489−4496. [29] J. Lim, J. H. Oh, Backward ladder climbing locomotion of humanoid robot with gain overriding method on position control, J. Field Robotics 33 (2015) 687−705. [30] Wikipedia, https://en.wikipedia.org/wiki/DARPA_Robotics_Challenge. [31] J. Mattingley, S. Boyd, CVXGEN: A code generator for embedded convex optimization, Optim. Eng. 13 (2012) 1−27. [32] M. Khadiv, A. Herzog, S. A. A. Moosavian, L. Righetti, Step timing adjustment: A step toward generating robust gaits, Proc. 16th IEEE/RAS Int. Conf. Humanoid Robots (2016) 35−42.

Hyun-Min Joe received H r his BS degrees in Mecchanical and Con ntrol Engineerinng from the Kyu ungpook N National Universsity, Daegu, Souuth Korea, and his MS degreee in Robotics Prrogram from th he Korea A Advanced Institu ute of Science aand Technology y (KAIST), Daeejeon, South Koorea, in 2011 an nd 2013, reespectively. He is currently a ggraduate studentt in the PhD co ourse in the Deppartment of Mechanical E Engineering, KA AIST. His researc rch interests inclu ude humanoid robot, r walking ccontrol, and applications of robotics and control. He waas a member off TEAM KAIS ST that won thee 1st place in DARPA D R Robotics Challen nge Final 2015 an and performed teerrain and stair missions. m .

JJun-Ho Oh receeived his B.S. an and M.S. degreees in Mechanicaal Engineering fr from Yonsei Un niversity, S Seoul, South Ko orea, and has Phh.D. degree in Mechanical M Engiineering from U University of Caalifornia, B Berkeley, in 1977, 1979, and 19985 respectively. He was a Reseearcher with thee Korea Atomicc Energy R Research Institutte, from 1979 too 1981. Since 1985, he has beeen with the Deppartment of Mechanical E Engineering, KA AIST, where he is currently a siignificant professsor and a directtor of Humanoiid Robot R Research Center.. And he has beeen a vice presid dent of KAIST since s 2013. He w was a Visiting Research R S Scientist in the University U of Texxas Austin, from m 1996 to 1997. His H research inteerests include hu umanoid roobots, adaptive control, intelliggent control, non nlinear control, biomechanics, sensors, actuattors, and appplication of micro- processor. D Dr. Oh is a mem mber of the IEEE E, KSME, KSPE E and ICASE. And A he is a chief of TEAM M KAIST that woon the 1st place in i DARPA Rob botics Challengee Final 2015.

Highlights • • • •

A balance-recovery algorithm for a biped walking robot is designed and implemented Capture-point control used to reflect the state of the robot in walking pattern Model predictive control used to generate dynamic and kinematic feasible walking Push recovery and walking on uneven terrain are achieved using DRC-HUBO+ robot