Development of Fuzzy Logic Controllers For Controlling Bipedal Robot Locomotion On Uneven Terrains With IMU Feedbacks
Development of Fuzzy Logic Controllers For Controlling Bipedal Robot Locomotion On Uneven Terrains With IMU Feedbacks
Indian Journal of Science and Technology, Vol 9(28), DOI: 10.17485/ijst/2016/v9i28/98449, July 2016 ISSN (Online) : 0974-5645
[email protected], [email protected]
2
Department of Computer Science and Information Engineering, Chang Gung University;
[email protected]
Abstract
Locomotion controller is an important and essential aspect for bipedal robots. Typically, a Linear Inverted Pendulum
Model (LIPM) is a mathematical approach to generate the Center of Mass (CoM) trajectory of a bipedal robot. By combining
the swing foot trajectory, the omni-directional walking command is capable of generating joint angle control commands
in terms of Inverse Kinematics (IK). To improve bipedal locomotion stability on uneven terrain situations, an Inertia
Measurement Unit (IMU) was desired to place on the robots chest was used to measure the body's tilt posture on uneven
terrains. The robot body's tilt posture provided an indication of locomotion stability. The body's tilt posture information
was further evaluated with a Fuzzy Logic Controller (FLC) to generate appropriate offset angles to be applied on the
corresponding joints so that the bodys tilt posture can be adjusted accordingly to meet a stable situation. Finally, a kid-size
bipedal robot, named Huro Evolution JR, was used as the experiment platform. The proposed FLC can be applicable to the
terrain conditions of maximum 25o slope in Double Support Phased (DSP) stand cases. With the walking cases, the FLC
is capable of walking on maximum 12o slope, 1 cm stair height and the combined terrain situation well. In the future, the
Center of Pressure (CoP) information will be accompanied with the IMU information to further improved the locomotion
stability in a high dynamic environment.
Keywords: Bipedal Robots, Fuzzy Logic Controller, Inertia Measurement Unit, Uneven Terrain Locomotion Stability
1. Introduction 7
proposed a haptic sensing foot module for humanoid
robots. They investigated two different implementation
The biped robot has drawn a lot of attention from robotics approaches: the first one is to propose an active tactile
researchers as their research target. Bipedal structure is sensing system, and it could recognize the contacting
one of the most flexible forms of a walking robot. A bipedal ground slope; the other is desired to keep the robot's body
robot has a similar mechanism of action as a human being; balance with one leg during physical interaction between
hence bipedal robots are desired to walk in environments human and robot.
containing uneven terrains, such as slopes1 and stairs2, In intelligent control areas, many researchers
and obstacles3. Sato et al. 4 proposed a walking trajectory demonstrated that Fuzzy Logic Controller (FLC) theory
scheme on a stair environment in terms of virtual slopes. can be used to overcome bipedal locomotion problems.
Crisstomo et al. 5 used the Support Vector Regression In8, a type-2 fuzzy switching control system for the
(SVR) to overcome the limitation on the processing Double Support Phases (DSPs) and Single Support Phases
time on Zero Moment Point (ZMP). Several researches (SSPs) have been developed for a bipedal robot. The
proposed flexible shoes for bipedal robots to reduce fuzzy controller can also be realized to deal with bipedal
energy consumption, such as6. Suwanratchatamanee et al. walking on the slope with the desired ZMP trajectory
2 Vol 9 (28) | July 2016 | www.indjst.org Indian Journal of Science and Technology
Chung-Hsien Kuo, Fahmi Zal and Shih-Lin Wu
In addition to the omni-directional walking command, constant. As a consequence, the gait trajectory can be
the bipedal locomotion is desired with a Linier Inverted obtained as the swing foot trajectory and the Hc trajectory.
Pendulum Model (LIPM)11 to generate Center of Mass The inverse kinematics (IK) can be applied to the gait
(CoM) trajectory. With the generated CoM trajectory, trajectory to find the joint angles of the bipedal leg model.
the trajectory of the hips' center (HC) can be also obtained The joint commands were sent to the RC motors (type:
accordingly. The components of HC, (hxc, hyc, hzc) can be Dynamixel RX-28). The IMU sensor worked in real time
found in (4) - (6), to get the aforementioned stability indication. The IMU
hhxcxc (t) = [x(0) p x ]cosh( t ) + Tc x' (0) sinh( t ) + p x
(t ) = (4) feedback loop is shown in the right-hand-side loop of
Tc Tc
Figure 2. The feedback control loop is elaborated in the
t t
[
hhycyc((t) ]
t ) == y (0) p y cosh( ) + Tc y ' (0) sinh( ) + p y
Tc Tc
(5) next subsections.
0 t Ts (8)
Shift t t
x s (t) = [ 2p - sin( 2p )],
hzc(t) = 2p Ts Ts
basez + ampz {0.5 0.5cos(4 f ) + 0.02sin(4 f )} (6) Length t t
y s (t ) = [2 sin(2 )], 0 t Ts (9)
2 Ts Ts
Where px, py, and pz are the hip position in x-, y- and
z-coordinates respectively which will be updated each Height t t
[2 sin(2 )], 0 t TS
time regarding to the hip position changes; basez is the 2 Ts Ts
z s (t ) =
hip height; ampz is the amplitude for the hip swing; Tc is Height t Ts t Ts
Height [2 sin(2 ) ], Ts < t < Ts
the time constant; t is the time. The time constant Tc is 2 (1 )Ts (1 )Ts
defined in (7) where the g is the gravity; the LipmZc is the
robot LIPM center of mass. (10)
LipmZ c (7) (11)
Tc =
g
3.2 Fuzzy Logic Controller Design
To achieve the trajectory of planed locomotion, the In this paper, the body posture can be adjusted in terms
end position of each foot is also required. The trajectory of applying appropriate offsets to the corresponding
of the swing foot is formed as a cycloid curve as indicated joint angles that were obtained from IK to maintain
in (8) - (10). It is noted that xs, ys and zs are the position locomotion stability on uneven terrains. The related body
of the swing foot; Length, Height and Shift are the desired posture parameters are illustrated in Figure 4 for the
strike length, the strike height and the shift distance; future uses of FLC. In Figure 4, 10 bipedal joint angles,
is the time percentage of the period time when the foot bipedal limb lengths and inclination offsets are defined.
reaches the highest position; Ts is the period time. To In the frontal plane, four joints consisting of left hip roll
get the real robot rotation based on the desired rotation, , right hip roll and
(11) is utilized to do so, where is the rotation time right ankle roll are used. In the sagittal plane, six
cmd
y-axis
Swing Foot
CoH End Position
End Position
xcmd
ycmd
x-axis
Support Foot
CoH
Start Position Swing Foot
Start Position
Swing Foot
Vol 9 (28) | July 2016 | www.indjst.org Indian Journal of Science and Technology 3
Development of Fuzzy Logic Controllers for Controlling Bipedal Robot Locomotion on Uneven Terrains with IMU Feedbacks
Figure 6. Details of FLC design, including input/ output membership functions and
rule tables.
joints consisting of left hip pitch , left knee pitch The proposed FLC is a two inputs and two output
, left ankle pitch , right hip pitch , right control system, as shown in Figure 5. The inputs are
knee pitch , right ankle pitch are used. There |e|(i.e., |error|) and |e|(i.e., |derror|), where |e| is the
are several parameters that will be used to adjust the absolute value of error between the current body tilt angle
posture of the bipedal robot, and they are hip_x_offset and the pitch body limitation (for example +/- 9o in this
(), hip_pitch_tilt_offset (), hip_height, length_of_thigh, paper); |e| is for differential term application with 100
length_of_leg, shoe_height and gait width. Hz sampling. That means if the body posture could be
In this subsection, the design of FLC is to deal with the controller within this range, the robot would not walk
posture inclination stability problem. The implementation stably. However, such a range limitation has to be adjusted
of fuzzy logic controller followed the procedures of 1) crips manually according to the bipedal robot's condition, such
input, 2) fuzzification, 3) fuzzy input, 4) rule evaluation, as foot pad size, CoM, etc. The outputs of the FLC are
5) fuzzy output, 6) defuzzification, and 6) crips output. and , and they are hip_pitch_tilt_offset and hip_x_offset.
In order to control the bipedal robots to be able to walk The details of the FLC are further illustrated as shown
on uneven terrain and slope environments, the stability in Figure 6, where (a) and (b) are the input membership
indication from an IMU sensor was calculated to present functions of |error|and |derror|, respectively; (c) and
the trunk body inclination. (d) are the output membership functions of and ,
4 Vol 9 (28) | July 2016 | www.indjst.org Indian Journal of Science and Technology
Chung-Hsien Kuo, Fahmi Zal and Shih-Lin Wu
respectively. The result (outputs) of defuzzification on the high pass filter is 0.5 Hz; the cut-off frequency of the
this case is the hip_x_offset and hip_tilt_offset. The offset low pass filter is 5 Hz. The high pass filter was desired
values were applied for adjusting the robot body posture to remove the DC drift of the gyroscope; the low pass
tending to lean backwards or forwards on the pitch tilt filter was desired to reject the high frequency interference
angle of robot. In order to provide more effective balance from the accelerometer. The reason of selecting the 2.5
locomotion, the robot's upper arms were also further Hz as the cut-off frequency of the low pass filters is the
utilized. The tilt angles of two upper arms were controlled low-frequency characteristics of mechanical bipedal
simultaneously following the hip_tilt_offset angle, , with locomotion. Figure 8 (a) shows the filtering results of the
a constant gain k. Hence, the upper arm's tilt angle (k) accelerometer data, and it can obtain reasonable signal
is also varied with the hip_tilt_offset angle, as shown in quality for the further tilt angle indication. In addition,
Figure 7. Finally, the bipedal locomotion controller and Figure 8 (b) shows the final roll-pitch-yaw angles which
FLC were realized with an Arduino DUE ARM (Advance was addressed in (1) - (3).
RISC Machine) 32-bit microcontroller (type: Atmel According to the IMU sensor feedback, the bipedal
SAM3X8E ARM Cortex-M3 CPU) running at 84 MHz locomotion controller accompanied with the proposed
clocks. Moreover, the bipedal locomotion controller and FLC could perform locomotion stability performance on
FLC executed at 100 Hz for generating final servo motor uneven terrains. Figure 9 (a) shows a simple balance test
commands. experiment on different slope angles without walking. It
is obviously that the robot may maintain a stable posture
with respect to different slope angles (up to 25o). A
walking experiment for up and down walking with the
same FLC setting was demonstrated in Figure 9 (b). It is
noted that the slope angle is 12o, and time stamps were
indicated with the pictures.
To validate the performance of the proposed PLC for
complicated terrain situations, a specific uneven terrain
environment was produced by combining 1 cm height
Figure 7. Upper arm angle control scenario for different stairs and a 10o slope. The bipedal robot was capable of
terrain slops. stable walking in this complicated terrain situation by
real-time adjusting the corresponding robot's joints'
4. Experiments and Results angles from the intervention of the proposed FLC. Figure
10 shows the snapshot of experiment with time stamps.
This subsection shows the results on evaluating the The experiments shown in Figures 8 - 10 were recorded
accelerometer and gyroscope components in an IMU as video films, and they will be played in the conference if
sensor. As shown in Figure 1, the cut-off frequency of this paper could be accepted.
Low Pass Filter Discrete on Accelerometer
No filter
105 0
After flter
100
Tilt Accelerometer on Roll movement
95
90
85
80
75
70
65
Figure 8. (a) Low pass filter for accelerometer with frequency cutoff at 2.5 Hz; (b) a graphical user interface for
indicating the roll-pitch-yaw angles in terms of (1) - (3).
Vol 9 (28) | July 2016 | www.indjst.org Indian Journal of Science and Technology 5
Development of Fuzzy Logic Controllers for Controlling Bipedal Robot Locomotion on Uneven Terrains with IMU Feedbacks
Figure 9. (a) A simple balance test without walking; (b) a walking experiment on a 12o slope.
5. Conclusion and Future Works also considered in our next humanoid robot project.
6 Vol 9 (28) | July 2016 | www.indjst.org Indian Journal of Science and Technology
Chung-Hsien Kuo, Fahmi Zal and Shih-Lin Wu
6. Minakata H, Seki H, Tadakuma S. A study of energy-sav- 11. Faraji S, Colasanto L, Ijspeert AJ. Practical considerations
ing shoes for robot considering lateral plane motion. IEEE in using inverse dynamics on a humanoid robot: torque
Transactions Industrial Electronics. 2008; 55:12716. tracking, sensor fusion and Cartesian control laws. IEEE/
7. Suwanratchatamanee K, Matsumoto M, Hashimoto S. Hap- RSJ International Conference on Intelligent Robots and
tic sensing foot system for humanoid robot and ground rec- Systems. 2015. p. 161926.
ognition with one-leg balance. IEEE Transactions Industri- 12. Sung KW, Jung SW, Park MY, Jeong YK, Lee WS, Park IM,
al Electronics. 2011; 58:317486. Han SH. A study on stable walking control of biped robot
8. Liu Z, Zhang Y, Wang Y. A type-2 fuzzy switching control
on uneven terrain. International Symposium on Robotics.
system for biped robots. IEEE Transactions Systems, Man,
2013; 13.
and Cybernetics, Part C: Applications and Reviews. 2007;
37:120213. 13. Kajita S, Kanehiro F, Kaneko K, Yokoi K, Hirukawa H. The
9. Choi KC, Lee HJ, Lee MC. Fuzzy posture control for biped 3D linear inverted pendulum model: a simple modeling for
walking robot based on force sensor for ZMP. International a biped walking pattern generation. IEEE/RSJ Internation-
Joint Conference on SICE-ICASE. 2006. p. 11859. al Conference on Intelligent Robots and Systems. 2001. p.
10. Li T, Su YT, Liu SH, Hu JJ, Chen CC. Dynamic balance 23946.
control for biped robot walking using sensor fusion, Kal-
man filter, and fuzzy logic. IEEE Transactions Industrial
Electronics. 2012; 59:4394408.
Vol 9 (28) | July 2016 | www.indjst.org Indian Journal of Science and Technology 7