Scholarly article on topic 'Motion and Walking Stabilization of Humanoids Using Sensory Reflex Control'

Motion and Walking Stabilization of Humanoids Using Sensory Reflex Control Academic research paper on "Mechanical engineering"

Share paper
Academic journal
Int J Adv Robotic Sy
OECD Field of science

Academic research paper on topic "Motion and Walking Stabilization of Humanoids Using Sensory Reflex Control"

International Journal of Advanced Robotic Systems


Motion and Walking Stabilization of Humanoids Using Sensory Reflex Control

Regular Paper

Jong-Wook Kim1, Tin Trung Tran1, Chien Van Dang1 and Bongsoon Kang1*

1 Department of Electronic Engineering, Dong-A University, Busan, Korea Corresponding author(s) E-mail:

Received 19 October 2015; Accepted 15 March 2016

DOI: 10.5772/631 16

© 2016 Author(s). Licensee InTech. This is an open access article distributed under the terms of the Creative Commons Attribution License (, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.


Humanoid robots are versatile robot platforms that can carry out intelligent tasks and services for humans, including intimate interactions. For high mobility, a robust stabilization of motion including biped walking is crucial. This paper employs and elaborates on sensory reflex control to stabilize standing motion and biped walking using basic sensors such as an inertial measurement unit (IMU) and a force-sensing resistor (FSR). Specifically, normalized zero-moment points processed from FSR data are used in the reflexive control of a simple motion of swinging the whole body while standing, and the measured inclination angle of the trunk, filtered from IMU data, is used for biped walking on a sloped floor. The proposed control scheme is validated through experiments with the commercial humanoid robot, ROBOTIS-OP.

Keywords Motion Stabilization, Inertial Measurement Unit, Force Sensing Resistor, Sensory Reflex Control, Biped Walking

1. Introduction

Humanoid robots are designed and manufactured to resemble the human body, which is advantageous for providing effective human and robot interaction (HRI),

intelligent services and displaying emotions through expression. Considering the scope of tasks to be carried out by humanoid robots, motion stability must be guaranteed irrespective of motion types, including dynamic motion like biped walking and static motion such as providing a food plate to people while standing.

Most research on the stability control of humanoid robots has concentrated on biped walking from two perspectives: pattern generation and motion stabilization control. The pattern generation of walking is conducted offline using the stability principle with a zero-moment point (ZMP) [1, 2] and a human-like two-stage gait pattern generation [3]. Motion stabilization control employs an inverted pendulum control [4], a central pattern generator [5], neural networks [6] and a fuzzy control [7] for the real-time adjustment of joint angles during biped walking, using all the sensory information available.

Despite the fact that the humanoid robot spends the majority of the time performing various tasks while standing erect, stability control for static motion has rarely been studied with experimental validation.

Sensory reflex control (SRC) is an inclusive and nature-inspired control strategy combining pattern generation and feedback control with a sensory reflex [8]. The analysis of humans' natural walking method has been verified as an elegant mixture of inherent efficient patterns and rapid reflexive actions. Li et al. improved SRC by planning the

ZMP trajectory and designing dynamic balance control with sensor fusion and fuzzy logic [9]. However, 10 joint actuators installed in the legs were controlled by single sensory information, which limited the control and performance of walking.

In this paper, two types of SRCs—one based on ZMP and the other on trunk inclination angles—are proposed with novel control schemes to stabilize humanoid motion while standing and during biped walking. The standing motion is to swing the whole body back and forth by rotating just the ankle joints following a sinusoidal trajectory. Since the magnitude of the body swing angle is 10° with a high velocity, the robot may fall down uncontrollably. ZMP-based SRC (ZSRC) is applied to this standing motion by limiting the ankle joint inside the marginal angles measured by ZMP and adjusting the knee and hip joints in a stabilizing direction.

As for the biped walking, reference joint patterns are generated offline for the robot to walk on level ground using an optimization method, which traces the referent ZMP trajectory and swing foot trajectory [10]. Humanoid robots often walk on a slightly inclined road or office floor, which requires minute changes in leg joint angles according to the inclination. During biped walking, ZMP dynamically flows in compliance with the walking direction and rightward or leftward according to the current supporting foot. Therefore, pitch and roll angles of the trunk are used in the application of SRC to the adaptation of both ankle and hip joints during walking on an inclined floor. The humanoid robot platform used in this paper is ROBOTIS-OP, a commercial, small humanoid robot, with which motion experiments are carried out with and without SRC for validation of the proposed control scheme.

This paper is composed of six sections; Section 2 introduces the SRC and the measurement of posture stability using FSR. Section 3 describes the optimal pattern generation of biped walking and, employing a global optimization method, uses reference ZMP and foot position trajectories. In Section 4, the proposed SRC based on ZMP and trunk angle are explained with control principles and equations. Section 5 provides experiment results for the two types of SRC, and Section 6 concludes the present work.

2. Motion Stabilization Control

2.1 Sensory reflex control

In everyday life, humans balance the whole body skilfully with the rapid coordination of the spinal cord as a controller, the cochlea as an inclination sensor, and lots of muscles as actuators. SRC mimics this balancing principle in that the dynamic motion pattern, 0p(t), is supplied to the servo controller, and sensory information on the trunk angle, dtr (t) and (t), and ZMP are fed back to the reflexive control, and then the output of SRC, A0(t), is added to the reference input as shown in Fig. 1 [8]. This control scheme in SRC is expressed as

q (t)+m)

Figure 1. Structure of the sensory reflex control for a humanoid robot

When SRC is applied to the motion control of the humanoid robot, sensory information acquired from each sensor module plays a crucial role. IMU and FSR are basic sensors installed in humanoid robots. The IMU, composed of three-axis rate gyros and three-axis accelerometers together, has long been developed and applied to produce a precise trunk inclination angle. FSR consists of conductive polymer sheets and outputs the current pressure point inside the foot sole area using information from force-sensing buttons located on the corners of the foot. IMU measures the trunk angle, dtr (t) and tr (t), and FSR transmits ZMP for the current posture in the present SRC loop. No more sensors are required for the proposed posture stabilization scheme.

While a robot is performing various motions in an uncertain environment, it is often difficult to determine an appropriate and instantaneous desired angle, 9p(t), that maintains the current posture and motion stability. In addition, when 9p(t) makes the robot lose balance, the SRC that adjusts relevant joint angles to solely track 9p(t) will decrease the posture stability. Therefore, it is necessary to modify or delimit 9p(t) online according to sensory information. In this paper, this scheme of reference adjustment is newly applied to ZSRC to control standing motions.

2.2 Measure of posture stability using FSR

Inside the sole area of the supporting foot, the FSR installed in ROBOTIS-OP maps the current pressure point on which the whole body exerts its weight. The commercial FSR module produces a two-dimensional integer coordinate of ZMP ranging from 0 to 254 in the asymmetric coordinate frame as shown in Fig. 2. Therefore, the raw FSR data is transformed from integer values to real numbers between 0 and 1, which is called normalized ZMP (NZMP) by the following relationship:

NZMPX = left _ fsr _ y, NZMP^ = left _ fsr _ X, l 254 l 254

NZMP* = 254 - right _ fsr _ y NZMPY = 254 - right _ fsr _ x

where left(right)_fsr_x(y) represent the FSR data acquired from the left (right) foot in the local x-axis (y-axis), respectively, as defined in Fig. 2.


(left_fsr_x, left_fs

(0,1 H) (0,0)

c>1 íá


(rigl t_f r_x, right_fsr_y)

(254,0) (0,03 (0,254)


Figure 2. Local FSR coordinate frames of each foot

Figure 3 shows the resultant two-dimensional (X, Y ) coordinate frame for NZMP converted by equation (2). It is worth noting that the NZMP coordinate frame is aligned with the world coordinate frame where the X-axis corresponds to the walking direction and the Y-axis represents the lateral direction increasing from right to left. Therefore, when a humanoid robot is tilted forward, the X-axis NZMP will increase from 0 to 1. On the other hand, a robot's motion tilting to the left will cause the Y-axis NZMP to increase from 0 to 1. This type of NZMP can be intuitively understood and directly applied to posture control.

Figure 3. Global normalized ZMP coordinate frame of both feet transformed from the local FSR coordinate frame

As a stability measure, the distance of the actual ZMP from the nearest boundary of a desired stable region (DSR) is proposed in the conventional SRC as shown in Fig. 4 [8]. If a ZMP of the current posture is located inside the DSR, the posture is regarded as stable. However, if it begins to escape out of the DSR, the stability is considered proportionally weakened. The distance of the current ZMP, pZMP, from the nearest boundary of DSR, dZMP, shown in Fig. 4 is used to

calculate the control output of the ankle joint of the supporting foot in the conventional SRC [8]. Considering that commercial FSR measures ZMP with an average error of 10%, direct use of dZMP in ankle joint control may degenerate control and performance. Moreover, since a nonzero dZMP implies the robot is prone to tip over, a preemptive prohibition scheme against this situation is required, rather than general PI control.

(0, 1)

Desired stable region

dZMP k—

Stability margin

(0, 0) -►

Figure 4. Desired stable region in the sole of the support foot

In the present paper, dZMP is averaged as d ZMP by sliding a window of finite size over the most recent data to raise the reliability of measured ZMP and the number of ZMPs escaping from DSR, n!ZMP, is counted as a quantitative measure of posture stability. In the proposed SRC, when the number of ZMP escaping from the DSR increases more than n^MP, the controlled joint is limited from rotating further in the present direction. For a fast control response while in a standing position, ZSRC is applied to ankle joint control with n^MP = 1.

3. Pattern Generation of Stable Walking

3.1 Humanoid robot model

The Denavit-Hartenberg (DH) convention is the standard method for the kinematic modelling of robots [11]. However, it is difficult to solve inverse kinematics with the DH method because of the numerical instability occurring at the inversion of 4x4 DH matrices. As an alternative, the projection-based (PB) kinematic method calculates the 3D positions of each joint in the world coordinate frame by projecting it on to the three orthogonal planes: the sagittal, coronal, and transversal planes [12]. In addition, sinusoidal functions employed in the PB method enable one to derive an explicit mathematical relationship between joint angles and desired positions.

In the present work, a humanoid robot has a total of 20 DOFs including 11 pitch joints with variables from 61 to 0n, six roll joints and three yaw joints Fig. 5

shows the present robot models projected on the sagittal


k,k (X„ Z,


' YU,ZU)

X Z) /£A\\ Z4)

|(X5, Z5) k = k

(X0, Z0) Y

Figure 5. 3D Stick diagram of the humanoid robot viewed from the sagittal plane and the coronal plane

and coronal planes, where l£ ~ and l{ ~ represent the link lengths projected on to the sagittal and coronal plane respectively.

3.2 Optimization of the biped walking pattern

To ensure reliable biped walking, the walking pattern should be deliberately designed, which satisfies the constraints of dynamic stability. Huang et al. [8] generated a dynamic walking pattern based on the ankle angle constraints of the swing foot and smooth hip trajectory with the largest stability margin using third-order spline interpolation. However, they only dealt with lower body joints rotating in the two-dimensional sagittal plane, which is not realistically implemented in an actual robot. The roll joints of the ankle and hip play a key part in sustaining the whole body in a single support phase, thus stabilizing angular trajectories for the roll joints should be included in the walking effort. In addition, the swing foot trajectory needs to be high enough to avoid obstacles in case of encountering rough terrain.

ankle limitation, positive swing foot height, the tracking reference ZMP trajectory, and the following reference swing foot trajectory. The reference ZMP trajectory for a periodic step is depicted with a piecewise linear function as shown in Fig. 6, where the white rectangle represents the left supporting foot and the grey ones denote the movement of the right swing foot.

The equation of the linear function for the reference ZMP position (xZrmp/ yZrmp) is written in the following manner:

C,p (t) = Xk + (t - tk ),

Pk+1 *k

(t) = Vk + ^(t - tk), tk £ t < k = 0,1,2

rk+i lk

where the triplet (tk, xk, yk) represents the time, x-axis and

y-axis ZMP values, respectively, of the k-th node point in

the reference trajectory shown in Fig. 6. In [10], the triplets

for the node points A, B, C, and D are set to (0, 0, 0),

(T S lp) (4t 3s lp) , . „ . . , . \"5 ' T' lb T' lb and (t, S, 0) considering a

human's natural gait pattern, where T, S, and lp denote the step period, step length and pelvis length of the humanoid robot.

The reference swing foot trajectory used in the fourth optimized walking constraint is depicted with a three-segment blending polynomial as shown in Fig. 7, which is similar to a human's swing foot profile. A blending polynomial is produced by attaching multiple trajectory segments — expressed with a low order polynomial function such as cubic spline—and specifying each segment by its terminal via points [3]. Applying the condition of continuity in the function value and the derivative at each via point, the shape of the overall trajectory becomes sufficiently smooth for use in the joint angle trajectory of a humanoid robot.

a ■ L

Figure 6. Reference ZMP trajectory for a periodic step [10]

In [10], the optimal biped walking pattern is automatically generated using a global optimization method called particle swarm optimization (PSO) [13], which produces optimal variables that satisfy the four constraints: knee/

Figure 7. Reference position trajectory of the swing foot during the walking phase

The overall cost function for stable biped walking is described with the following equation:

J = w P + w P + w J + whJh

J a a s s zmpJ zmp h-* h

P +1 if q ft ) > 2 or 4» (t ) <0

P + 1. if ^ ft ) >f or ^ ft ) < 0

P = P +1, if fh(ti ) < 0,

= 1 N |\xrm ft ) - Xmp ft )| + \imV Vi ) - yzmp (t ' Ni=1 I max xlmp max yZmp

Jh =11

\fh„, (t, ) - fh(t, )|

Ni=1 max fh

, 0 < ti £ T

where wa, ws, wzmp, wh denote the weight coefficients, are the left and right knee joints, ti and N represent the i-th sample time and the number of total samples, xZmp, Xzmp and y^p, VZmp are the reference and actual ZMP positions on the x-axis and y-axis coordinates, fhrf, fh means the reference and actual swing foot height values respectively. Note that Jzmp and Jh are the cost functions that should be minimized for both ZMPs and swing foot positions of an optimal walking method to sufficiently match their reference trajectories.

Figure 8 shows the Matlab simulation of the optimal walking method for the left support attained after performing PSO and Figure 9 displays the reference and optimized trajectories of the ZMP and swing foot position. The advantage of this approach is that one can shape a desired trajectory by simply changing some parameters of the blending polynomial.

0.09 0.08 0.07 0.06 m 0.05 0.04 0.03 0.02 0.01

Figure 8. Matlab simulation of optimal biped walking in left support

(a) ZMP trajectories

Swing foot trajectory

j= 0.01 N

0.008 0.006 0.004 0.002 0

-0.02 -0.01 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 x (m)

(b) trajectories of swing foot position

Figure 9. A comparison of the reference and optimized trajectories of ZMP and swing foot position attained by PSO

4. Sensory Reflex Control

4.1 Sensory reflex control based on ZMP

In the present paper, the ankle, knee, and hip joints in the sagittal plane are controlled with ZSRC, considering the effect of each joint on posture stability.

For the ZSRC of the ankle joint, maximum and minimum limit angles are temporarily set from the current ankle joint angle when the measured ZMP escapes from the frontal boundary or the rear boundary of the DSR respectively. This is due to the fact that nZeMP is set to 1. That is, when the current ZMP flows out of the front boundary of the DSR, the ankle joint angle is immediately registered as a maximum limit angle. On the other hand, if the current ZMP breaches the rear boundary of the DSR, the corresponding ankle joint angle is registered as an updated minimum limit angle. If the subsequent ankle joint is commanded to rotate more than the maximum angle or less than the minimum angle, the resulting angle will be locked within the two limits.

The rule of setting maximum and minimum limits on the ankle angle derives from the definition of rotation shown in Fig. 5, where the left and right ankle pitch angles, 6lan and 6rm, are defined as positive for the posture of tilting forward and negative for a backward movement. These two limit angles are immediately updated whenever the current ZMP breaches the front or rear boundary of the DSR. The said principle is described as follows:

AX2 - -lftdZMP

Substituting (8) with the term in (7) and rewriting it leads to the following equation:

A62 - kZMP

-lftdZMP + l2 COS(61 + 62 )

0l'r (t) -

an a s

qmax , if q,r t > qrnax an ' an v ' an

6>min, if 0lr (t) <6>min an an an

6'r (t), otherwise an

where 6„max and 6„mm are the maximum and minimum ankle

joint angles registered online according to the relative position of the current ZMP to the DSR.

Unlike Huang et al. [8], this paper additionally proposes a posture stabilization scheme for knee and hip joints that employs ZSRC. To compensate the knee joint in the supporting leg, a mathematical relationship between the change of knee joint angle, A62, and the X-axis displacement of hip joint, AX 2, needs to be clarified first. A kinematic expression between the position of the hip joint and the two relevant joint variables is attained from the PB method [12] in the following way:

X2 - X0 +11 cos61 +12 cos6 + 62)

where kZMP is the control gain to be tuned for the knee joint angle. Care must be taken that A62 does not make 62 become a negative value, which corresponds to rotating the lower leg as bent forward and thus unlike a human.

The third strategy of ZSRC is to let the hip joint in the support leg rotate adequately to resume the erect trunk quickly. The trunk pitch angle 6tr is the sum of 61, 62 and 63 as shown in Fig. 5. Therefore, an increase of 63 is identical with that of 6tr.

As the robot tilts forwards, 6tr decreases to below 90° and dZMP begins to increase beyond 0. Therefore, a difference of 6tr, A6tr, should be increased in proportion with dZMP to allow 6tr to increase back to 90°. On the contrary, when the robot is falling back the resultant increase of any trunk angle over 90° has to be prohibited by changing A6tr to a negative, referring to the negative dZMP . Therefore, the principle of controlling the trunk angle with the hip joint can be implemented by the following equation:

where l1s(=l1lcos^1l ) and l2s(=l2 I cos^11) represent the corresponding link lengths of the tibia and femur viewed from the right when the support leg is tilted by the roll ankle joint angle, as shown in Fig. 5. X0 and X2 are the respective X-axis positions of the base point and hip joint and 61, 62, and 63 are the ankle, knee, and hip joint angles rotating on the sagittal plane relative to the ground.

Replacing 62 and X 2 with 62 + A62 and X 2 + AX 2 in (6) and subtracting X2 from the resultant X2 + AX2 leads to the following relationship:

ax2 = l2 [cos (q + q2 +Aq)-cos (q +q)] (7)

When the robot is tilting forward (dZMP >0), X 2 should shift backward with the negative displacement of -lpdZMP to maintain a stable posture—where f represents the foot length of the humanoid robot. On the contrary, as the robot begins to fall back (dZMP <0), X 2 should move forward with a positive displacement of - lpdZMP for stability. Therefore, the desired displacement, A X 2, is described as independent of the polarity of dZMP :

Aq - kZMMpd

where kZMP is the ZMP control gain for the hip joint.

Figure 10. Situations of standing on the edge of a single foot

In this paper ZSRC is not applied to control of the roll ankle and hip joints in the support leg because of the high sensitivity of FSR outputs in the Y direction.

4.2 Sensory reflex control based on trunk angle

When a humanoid robot walks on an uneven and/or inclined floor, FSR often fails to provide precise information on the current posture stability. In this case, the inclination angle of the trunk is a good resource to indicate the stability of the robot. Fig. 10 illustrates the moments when a humanoid robot is on the verge of falling back and to the left supported by the edge of the foot. In both cases, the absolute angles of the supporting foot deviating from the ground are a and p respectively.

In case of Fig. 10(a), the X-axis NZMP reaches its lower boundary of 0 and thus an urgent control scheme for the ankle joint is necessary to prevent the robot from falling. Including the pitch deviation angle of the support foot from the ground, a, the actual pitch angle of trunk has the following relationship:

wise direction to restore the trunk angle to an upright position. Including the roll deviation angle of the supporting foot from the ground, p, the actual roll angle relationship of trunk is described as

k = ß +A +02

where <p tr is the trunk roll angle measured from the IMU, and <p 1 and <p2 are measured angles of the roll ankle and hip joints, respectively.

Let (tr be the desired trunk roll angle, different from the actual trunk roll angle, <p tr, which will be reached by incremental rotations of (1 and <2, i.e., A(1 and A<2. Following the above rules, ISRC schemes for the roll ankle and hip joints are described as

0r= a + 01 + 02 + 03

A k = j (k - k) A k = j (k - k r)

where 9 tr is the trunk pitch angle measured from IMU and 9V 92, 93 are the measured angles of leg pitch joints received from each encoder.

Let 9 tr be the desired trunk pitch angle for 9 tr to reach by incremental rotation of 91, A91. In this case, 9 tr has the following relationship with 9 tr :

Gr=a + + Aft +02 +ft =ft + Aft

tr 1 12 3 tr 1

From observing (12), the output of SRC for the ankle pitch joint is described as:

A01 = k00n) (0tr -0tr)

where k((an) is the ankle gain of the inclination-based SRC (ISRC) based on the trunk angle. Basically, it is favourable to set the desired trunk angle 9tr at 90°, which can be set slightly differently depending on the condition of motion, like carrying objects or walk velocity.

In the same manner, the hip pitch joint can contribute to quickly restoring the trunk to an upright position by replacing A91 with A93 in (12) and rewriting it like (13), which leads to the following equation:

A03 = C (0r -0r) where fc((fep) is the hip gain of ISRC.

In the case of Fig. 10(b), the robot is prone to falling to the left, and thus the ankle roll joint must rotate in a anticlock-

where k(an) and k(hp') denote the ISRC gains for the roll ankle and hip joints respectively. It should be noted that in erect standing or biped walking without any load it is recommended that, in corresponding order, 9 tr and (tr are set to 90° and 0°.

5. Experiment Results

5.1 Pitch swing control

A majority of tasks assigned to humanoid robots will be serving people with repeated standing and stooping postures. As the robot lowers its trunk, the ZMP will move forward, weakening the posture stability. To this end, the ZSRC described in Section 4.1 is applied to the whole-body pitch swing motion while standing, which is commanded by rotating both ankle joints in a sinusoidal waveform of magnitude 10°.

Fig. 11 shows the average NZMP profiles when the robot performs sinusoidal swinging in a standing position. Since the humanoid robot stands on one leg or on both, the NZMP needs to be averaged in case of a double support phase. As shown in the figure, without the ZSRC for the pitch ankle, knee, and hip joints, the NZMP stays momentarily at the extreme boundaries of 0 and 1, when the robot is ready to fall down. However, the NZMP trajectory attained from the result of ZSRC is detached from the upper bound and shortly stays at the lower bound instead.

Fig. 12 displays the trajectories of the trunk pitch angle, where the trunk swings more than ±20° without ZSRC but less than ±10° with ZSRC. Fig. 13 shows the three pitch angle trajectories during the experiment. It is worth noting

Figure 11. Average NZMP trajectories with and without ZSRC when the humanoid robot swings back and forth within ±10° while in a standing position

0 2 4 6 8 10 12 14 16 18 20

I 0 -2

^ A / Ar ! r V \ / 1 \ \r

AJ^ 1 _ YJ ! ^

0 2 4 6 8 10 12 14 16 18 20

0 2 4 6 8 10 12 14 16 18 20 time (s)

Figure 13. Pitch angular trajectories with and without ZSRC for the ankle, knee, and hip joints in the left leg while the robot swings back and forth in a standing position

in the case of ZSRC that the resultant pitch ankle joint rotates inside the upper and lower boundaries determined by the measure of ZMP stability.

Comparison of trunk pitch angle

---no control

\ „ /

\ ,y 1 ' '

"0 2 4 6 8 10 12 14 16 18 20 time (s)

Figure 12. Trunk pitch angle profiles with and without ZSRC

It is apparent from the experiment's results that the proposed ZSRC is quite effective in posture stabilization of the robot for the excessive pitch swing motion in a standing position.

5.2 Walking control

Since most floors of buildings and offices have slight inclinations, walking on an inclined floor is significant for the high mobility of humanoid robots. In this paper, ISRC is applied to the walking experiment of a humanoid robot on the floor with an angle of 7°.

Fig. 14 shows photos of a walking experiment carried out by ROBOTIS-OP on an inclined wooden plate. It walked

two steps with a step length of 5cm. Despite low friction between the feet and the board, it can walk up it stably by virtue of ISRC. However, the humanoid robot without ISRC fails to walk on the floor because the gravitational force causing backward rotation of the robot has not been compensated for in this case.

Figs. 15 to 17 plot sensory data for NZMP, the trunk pitch angle, and the ankle pitch angle for the comprehension of the robot's status. Fig. 15 plots measured NZMP profiles with and without ISRC during the experiment. It is apparent in the figure that NZMP with ISRC tend to stay near to the centre position longer than without ISRC, which retreats to 0 because of the inclination of the floor. This aspect of NZMP implies that the ISRC enables the human-oid robot to walk with enhanced posture stability.

Fig. 16 compares the trunk pitch angle profiles for the two types of walking. Without ISRC, the gait pattern optimally generated for normal flat ground makes the trunk angle rotate more than an upright angle, which definitely leads to a fall backwards. Figure 17 magnifies the trajectories of the ankle joint angle with and without control, where the ankle joint rotates more in the case of ISRC to adjust the trunk angle upright from the ground.

Figure 14. Photos of ROBOTIS-OP's two-step walking on an inclined floor

Averaged ZMP

no control SRC

0.8 0.6 0.4 0.2 0 -0.2

0 2 4 6 8 10 12 14 16 time (s)

Figure 15. NZMP trajectories with and without ISRC when the humanoid robot walks up a sloped floor

Comparison of trunk pitch angle

ъ 98 ar

? 96 a

94 92 90

---no control

0 2 4 6 8 10 12 14 16 time (s)

Figure 16. Profiles of the trunk pitch angle with and without ISRC

All the experiments were carried out using only FSR and IMU sensors installed in ROBOTIS-OP and the experiment's results validate the effectiveness of the proposed ISRC for walking on a slightly sloped floor, which is impossible without the compensation of pitch joint angles.

6. Conclusion

This paper proposes an effective ZMP-based sensory reflex control scheme for balancing a humanoid robot statically moving in a standing position and an inclination-based SRC scheme for biped walking on a slightly inclined floor. In regards to ZSRC the ankle pitch joint is controlled to rotate inside the limit angles set online so the current ZMP does not flow out of the desired stable region, and the knee and hip joints help the humanoid robot quickly resume an erect trunk angle.

In the case that ZSRC is not available in the walking phase, the second control scheme, ISRC, is applied to adjust the pitch and roll angles of the ankle and hip joints in proportion with the measured trunk angle. The effectiveness of the proposed SRCs has been validated through experiments with a small humanoid robot ROBOTIS-OP.

7. Acknowledgements

This research was supported by the MSIP (Ministry of Science, ICT and Future Planning), Korea, under the ITRC (Information Technology Research Center) support program (IITP-2016-H8501-16-1017) supervised by the IITP (Institute for Information & communications Technology Promotion), and partly by the Human Resources Development of the Korea Institute of Energy Technology Evaluation and Planning (KETEP) grant funded by the Korea government Ministry of Knowledge Economy (No. 20154030200030).

8. References

Ankle angle trajectories

30 25 20

f10 5 0

0 2 4 6 8 10 12 14 16 time (s)

Figure 17. Profiles of the ankle pitch angle with and without ISRC

[1] Huang Q, Yokoi K, Kajita S, Kaneko K, Arai H, Koyachi N, and Tanie K (2001) Planning Walking Patterns for a Biped Robot. IEEE Trans. Robotics and Automation. 17(3): 280-289.

[2] Erbatur K and Kurt O (2009) Natural ZMP Trajectories for Biped Robot Reference Generation. IEEE Trans. Industrial Electronics. 56(3): 835-845.

[3] Kim J-W (2014) Online Joint Trajectory Generation of Human-Like Biped Walking. International Journal of Advanced Robotic Systems. 11(19): 1-12.

[4] Kajita S, Kanehiro F, Kaneko K, Fujiwara K, Harada K, Yokoi K, and Hirukawa H (2003) Biped Walking Pattern Generation by Using Preview Control of Zero-Moment Point. Int. Conf. on Robotics and Automation. 1620-1626.

[5] Wolff K, Petterson J, Heralic A, and Wahde M (2006) Structural Evolution of Central Pattern Generators

for Bipedal Walking in 3D Simulation. IEEE Int. Conf. of Systems, Man and Cybernetics. 1: 227-234.

[6] Hu J, Pratt J, and Pratt G (1998) Adaptive Dynamic Control of a Biped Walking Robot with Radial Basis Function Neural Networks. IEEE Int. Conf. Robot. Autom. 400-405.

[7] Choi K-C, Lee H-J, and Lee M C (2006) Fuzzy Posture Control for Biped Walking Robot Based on Force Sensor for ZMP. SICE-ICASE International Joint Conf. 1185-1189.

[8] Huang Q, Nakamura Y (2005) Sensory Reflex Control for Humanoid Walking. IEEE Trans. Robotics. 21(5): 977-984.

[9] Li T-H S, Su Y-T, Liu S-H, Hu J-J, and Chen C-C (2012) Dynamic Balance Control for Biped Robot Walking using Sensor Fusion, Kalman Filter, and Fuzzy logic. IEEE Trans. Industrial Electronics. 59(11): 4394-4408.

[10] Choi N Y, Choi Y-L, and Kim J-W (2013) Optimal Joint Trajectory Generation for Biped Walking of Humanoid Robot based on Reference ZMP Trajectory. Journal of Korea Robotics Society. 8(2): 92-103.

[11] Denavit J and Hartenberg R S (1955) A Kinematic Notation for Lower-Pair Mechanisms based on Matrices. Journal of Applied Mechanics. 77: 215-221.

[12] Kim E, Kim T, and Kim J-W (2009) Three-Dimensional Modeling of a Humanoid in Three Planes and a Motion Scheme of Biped Turning in Standing. IET Control Theory and Application. 3(9): 1155-1166.

[13] Kennedy J and Eberhart R (1995) Particle Swarm Optimization. Proceedings of IEEE International Conf. on Neural Networks, 4 : 1942-1948.