Download as pdf or txt
Download as pdf or txt
You are on page 1of 19

Original Article

Proc IMechE Part C:


J Mechanical Engineering Science
A 3D stable trot of a quadruped robot 0(0) 1–19
! IMechE 2015

over uneven terrains Reprints and permissions:


sagepub.co.uk/journalsPermissions.nav
DOI: 10.1177/0954406215617492
pic.sagepub.com

Mahdi Khorram and S Ali A Moosavian

Abstract
Legged robots have superior advantages rather than wheeled robots for moving over uneven terrains in the presence of
various obstacles. The design of an appropriate path for the main body and legs is an important issue for such robots
especially on the uneven terrains. In this paper, the focus is to develop a stable gait for a quadruped robot to trot on
uneven terrains. First, a stability condition is developed for a whole-body quadruped robot over uneven terrains based
on avoiding the tumbling. By using a simple model, a point with zero moments is calculated in the three-dimensional
space. Then, the reference path of this point is determined so that the tumbling moments become zero. The path of the
main body will be calculated by using an optimal controller. The main feature of the proposed gait generation framework
is that the height of robot can change continuously and stably on uneven terrains. To evaluate the robot stability, the
tumbling moments around diagonal lines are calculated and some methods are proposed to reduce these moments to
improve the robot stability. The tip of swing foot is also planned to avoid any collision with the environment.
The proposed method will be demonstrated using an 18-Degrees of freedom (DOF) quadruped robot in simulation
and experimental studies. The experimental setup is a small-size quadruped robot, which is composed of a rectangular
plate as its main body with four legs that each one has three active joints with DC servo motors. Obtained results reveal
that the robot can trot on uneven terrains stably. Besides, the comparison with the previous methods approves the
merits of proposed algorithm on uneven terrains.

Keywords
Quadruped robot, dynamics stability, trot gait, uneven terrains, 3D gait generation

Date received: 21 March 2015; accepted: 28 July 2015

Introduction
irregularity. In this gait, diagonal legs (a leg and a
Legged robots, in particular quadruped ones, exhibit hand) are paired and move simultaneously.3,8,9
a superior performance in locomotion over uneven In high-speed motion, another gait as called gallop
terrains. These robots can dexterously move on gait is chosen. This gait is composed of two phases:
highly rocky terrains, with steep slopes, deep holes, flight and stance,10,11 while the impact effects in high-
various hills, and forbidden areas, by appropriate speed motion are the main challenge to develop this
selection of footsteps on these terrains. Despite con- gait. Thus, the trot gait offers advantages over uneven
siderable progress in this field,1–4 there are still a lot of terrains with low size of irregularities. Besides, this
unsolved problems to make a quadruped robot be gait is commonly used by quadruped mammals in
able to perform animal-like behaviors and the current almost many situations. Consequently, in this paper,
developed robots cannot have the same performance the trot gait is selected as a dynamic gait, to propose
as animals. For instance, designing a precise path for that over uneven terrains.
the main body and swing leg of a quadruped robot on One of main challenges in the generation of a gait
dextrous areas is still a challenging problem. on uneven terrains is to guarantee the robot’s
In nature, animals properly choose different gaits
when move on various motion surfaces. In highly Department of Mechanical Engineering, Center of Excellence in
rugged surfaces, where the major challenge is to Robotics and Control, Advanced Robotics and Automated Systems
ensure the robot stability by shaping a bigger support Lab, K. N. Toosi Univ of Tech, Tehran, Iran
polygon, three legs are always in the contact with the
Corresponding author:
ground and only one leg is swinging during each step
Mahdi Khorram, Department of Mechanical Engineering, Center of
of motion.5–7 The static gait as called walking, leads Excellence in Robotics and Control, Advanced Robotics and
to a low speed. To increase the robot speed, the trot Automated Systems Lab, K. N. Toosi Univ of Tech, Tehran, Iran.
gait is chosen for a terrain with a medium degree of Email: mahdi.khorram@gmail.com

Downloaded from pic.sagepub.com at UNIV CALIFORNIA SANTA BARBARA on November 26, 2015
2 Proc IMechE Part C: J Mechanical Engineering Science 0(0)

stability, because most stability criteria are applicable published information about this gait.1 Recently,
only over even terrains. The Zero Moment Point Spröwitz et al. designed a novel compliant quadruped
(ZMP) is the popular criterion that is used for some robot to achieve fast trotting gaits and implemented
legged robots (biped, quadruped, etc.) to achieve a on a treadmill.3 Thus, the design trot gait over uneven
stable path.12–14 Based on this criterion, the robot terrains is still an ongoing research.
continues its motion along the desired path provided In this paper, the stability condition of a whole-
that the ZMP remains inside the support polygon as body quadruped robot will be presented. The
spanned by the tip of stance feet. Since the height of 3D-ZMP is defined with based on a point–mass
main body is a fixed value in this criterion and also the model of the robot to design the trot gait on uneven
ZMP is defined on the horizontal ground, it is only terrain. It is a point in the 3D space where the
applicable on the even terrains in usual form. Some moment produced by inertial and gravitational
methods have been proposed to deal with the stability forces becomes zero around all axes. The definition
evaluation on uneven terrains.15,16 To design a trot of this point enables us to define a linear model to
gait on uneven terrains, it is essential to develop a compute the COG path in 3D motion. A dynamics
stability criterion for 3D motion of a quadruped model that relates the ZMP position and the COG
robot on uneven terrains. In this article, we attempt acceleration is derived in the state–space form.
to do it at first. Then, an optimal control approach is used to minim-
Gait generation for a quadruped robot has been ize the tracking error. The controller is designed so
addressed in some studies. Through using a simple that the terminal output reaches exactly to its desired
model,17,18 the explicit Center of Gravity (COG) values. The proposed planning approach is based on a
path can be found by solving the ZMP dynamic equa- point mass model of the robot. However, in the real
tions19–21 or it can be calculated by using the preview robot, the tumbling moments about diagonal lines
control,18 feedback, and feedforward control,22 may make the robot unstable in the presence of the
model-predictive control,23 and optimization meth- masses of the legs. To reduce these moments, various
ods,13 for some cases, e.g. walking of a biped robot methods are proposed, such as increasing the duration
with a fixed ZMP, also 3D trotting of a quadruped of a step, or designing of a better trajectory for
robot (which is the focus of this paper), the ZMP path the swing legs, and finally by the adjustment of the
may become discontinuous. The gait generation with role angle of the main body. Finally, to complete
more complex models also were considered.24,25 The the motion generation procedure, the tip of swing
ZMP-based trot gait was proposed and implemented foot path will be planned. Compared to even terrains,
on the littleDog robot.26 In this method, an optimiza- in designing the tip of feet path on uneven terrain, the
tion problem is defined to minimize squared acceler- collision avoidance is an important factor. A compari-
ations along the trajectory subject to ZMP stability son with previous methods will be done to show the
constraints. A main drawback of this method is that merits of the proposed algorithm especially on uneven
the ZMP equations used in this work is based on the terrains. The proposed algorithm makes sure that the
assumption of zero ZMP along z-axis i.e. it is held on moments about supporting legs become zero. Finally,
the ground. In uneven terrains, the motion surface is the proposed algorithm is applied on a real robot by
approximated by a virtual horizontal surface and the using a feed-forward control and the obtained experi-
motion is generated based on this surface by ZMP mental results will be discussed.
method.27,28 Some methods have been suggested to
formulate the motion generation procedure in static-
ally walking over rough terrains.26,29
Stability evaluation over uneven terrains
The CPG-inspired methods have been suggested to For even terrains, the ZMP criterion is usually used to
design the gait for quadruped robots moving on even obtain a stable motion. However, this criterion is not
and uneven terrains.30–32 In this method, the open- applicable for motion over uneven terrains. This is
loop signal is generated and sent to all legs to produce due to the fact that ZMP is normally defined on the
the rhythmic motions. In the transition between dif- ground plane and expressed only in two-dimensional
ferent gaits, the Central Pattern Generator (CPG) spaces, whereas for uneven terrains, the ZMP should
generates the signal to change the leg-lifting sequences move in 3D space. Thus, a point in 3D space can be
and modulate the time of each step within a gait.33 In chosen, and the moment of all forces about this point
recent years, some attempts have been made to inte- must become zero. Despite conventional ZMP
grate the sensor information to adapt for uneven method, since this point has three components, we
terrains.32,34 specify that by 3D ZMP.
Many attempts have been carried out to plan the In this study, the geometry equation of the terrain
trot gait. However, most of these works only address is assumed to be known. In other words, the robot
this problem for motion over even terrains.35–38 To trots on the known uneven terrains. To trot on the
enable the BigDog robot built by Boston Dynamics various uneven and known terrains, a plan of the foot-
in order to traverse rough terrains, a balanced trot prints is generated via a footstep planning algorithm.
gait was designed and implemented, but there is no Then, the 3D stable COG path will be computed with

Downloaded from pic.sagepub.com at UNIV CALIFORNIA SANTA BARBARA on November 26, 2015
Khorram and Moosavian 3

the proposed algorithm. Since the designed COG path during the robot motion. Based on the above, in the
ensures the zero-tumbling moments about the sup- following, the 3D ZMP will be derived.
porting legs, the trotting on uneven terrains will be
realized. Therefore, the robot can trot stably on the
3D ZMP computation
various terrains based on the designed footprints plan.
In trot gait, which is the focus of this paper, the Our objective is to obtain a point with zero moment.
robot becomes unstable when there exists a moment Let us consider a quadruped robot model which is
about the diagonal line of the supporting legs. This is shown in Figure 1. To obtain the 3D ZMP, the sum
due to the fact that in this gait diagonal legs (a leg and of moment of external forces (inertial and gravita-
a hand) are paired and move simultaneously. Thus, tional forces) of all legs and main body, M3DZMP , is
the moment of the forces exerted on the main body computed about this point and set equal to zero as
about this diagonal line should be zero to guarantee follow
the robot stability. In fact, we have
 
M3DZMP ¼ 0 ) ðPG  PZMP Þ  mP€ G þ mg
M13 ¼ 0 if leg 1 and 3 are in the stance phase Xm Xn  
þ PijG  PZMP
M24 ¼ 0 if leg 2 and 4 are in the stance phase i¼1 j¼1
ð2Þ
ð1Þ  
 mij P€ ijG þ mij g ¼ O

where M13 and M24 denote the tumbling moments


about the diagonal lines of supporting legs 1 and 3 where, PG and PijG denote the positions of the COG of
and also legs 2 and 4, respectively. main body and the COG of ith segment of the jth leg,
To generate an appropriate gait, we first define a respectively. PZMP is the position of ZMP in the 3D
point with zero moment and design the COG path so space.g is the gravitational acceleration vector. m and
that this point remains on the diagonal supporting mij are the masses of the main body and the jth seg-
line. This guarantees zero moment of the external ment of the ith leg, respectively. In the above equa-
forces, which prohibits any tumbling. Therefore, fol- tion, the angular moment effects of the main body and
lowing this approach, the stability of the robot is all legs are ignored. This assumption is made to get a
guaranteed. In the procedure of computation of sta- simple model for the ZMP. Using a simple model of
bility condition, it is assumed that there is sufficient the ZMP equation leads to a COG generation algo-
friction between the stance legs and the environment. rithm, which is computationally efficient. In addition,
In other words, the tips of stance legs do not slip it is assumed the robot has m leg and each leg is made

Figure 1. A quadruped robot on the uneven terrain, (a) the robot and the terrains, (b) the diagonal line of the supporting legs as well
as inertial and gravitational forces are applied on the COG and all legs.

Downloaded from pic.sagepub.com at UNIV CALIFORNIA SANTA BARBARA on November 26, 2015
4 Proc IMechE Part C: J Mechanical Engineering Science 0(0)

up of n segments. Here, we have m ¼ 4, n ¼ 2. 8   


Through the simplification of above equation, the >
> m g þ P€ zG PyG  pyZMP
>
>  
ZMP can be calculated from the following equation >
> þ PzG  pzZMP mP€ yG ¼ 0 ðaÞ
>
>
>
! < mg þ P€ z Px  px 
>
2   G G ZMP
  X4 X )  z  x
PZMP  mP€ G þ mg þ mij P€ ijG þ mij g >
> þ PG  pZMP mP€ G ¼ 0
z
ðbÞ
>
>  
i¼1 j¼1 >
>
>  PxG  pxZMP mP€ yG
>
  X4 X
2 >
>  
ð3Þ :
¼ PG  mP€ G þ mg þ þ PyG  pyZMP mP€ xG ¼ 0 ðcÞ
i¼1 j¼1
  
 PijG  mij P€ ijG þ mij g To ensure the robot stability, the COG path should be
designed so that the three above equations are always
Based on the above equation and according to the held. If the desired ZMP path is known, the solution
cross product properties, a necessary condition to of these equations offers the COG path. However, the
find a ZMP point in 3D space is defined as computation of the COG path with these equations is
! not a simple task due to the fact that there exists a
  X 2 
4 X  nonlinear relationship between the COG acceleration
€ € ij
mPG þ mg þ mij PG þ mij g : and position and also the ZMP position. However, if
i¼1 j¼1
   first two ZMP equations i.e. equations (7a) and (7b)
€ are always satisfied, the nonlinear equation i.e. (7c) is
 PG  mPG þ mg ð4Þ
met. In other words, the meeting of only the first two
2 
4 X
X   equations is sufficient to maintain the robot stability.
þ PijG  mij P€ ijG þ mij g ¼0 To prove this claim, we can rewrite equations (7a) and
i¼1 j¼1 (7b) as follows
  
This equation expresses that it should exist a nonlinear m g þ P€ zG PxG  pxZMP
relationship between the path of all legs and main body P€ xG ¼  z 
PG  pzZMP
to find a zero moment point in 3D space. The satisfac-    ð8Þ
tion of the above condition is not a simple task and y m g þ P€ zG PyG  pyZMP
P€ G ¼  z 
also it makes the design procedure of the path of swing PG  pzZMP
legs and main body a complicated task. Therefore, the
computation of ZMP point in 3D space may not be If above equations are substituted in equation (7c),
possible and it depends on the path of the main body the proof will be completed
and all legs. In the case that the robot has the light legs,
   
the terms associated to the legs are deleted from equa-  PxG  pxZMP mP€ yG þ PyG  pyZMP mP€ xG ¼ 0 )
tions (3) and (4). Now, we can see that the condition (4)   
  m g þ P€ zG PyG  pyZMP
is met easily in this case as follow  PxG  pxZMP  z 
PG  pzZMP
       
mP€ G þ mg : PG  mP€ G þ mg ¼ 0 ð5Þ  y y  m g þ P€ zG PxG  pxZMP
þ PG  pZMP  z  ¼0
PG  pzZMP
With neglecting the masses of all legs, in fact, the
quadruped robot is replaced by a point mass model ð9Þ
at the COG of the main body. For the new model, the
ZMP is calculated as follows As seen, equations (7a) and (7b) are still nonlinear
equations in terms of the components of the ZMP.
 
ðPG  PZMP Þ  mP€ G þ mg ¼ 0 ð6Þ To get a linear form of above equations, let us
define ! as
where PG and PZMP denote the COG and the ZMP  
position with respect to the world coordinate frame, Pz  pzZMP
respectively. In addition, the vector g represents the ! ¼ G  ð10Þ
g þ P€ zG
gravitational acceleration vector. By simplifying equa-
tion (6), the relation between the ZMP and the COG ! is assumed to be a constant value. As shown in the
can be expressed as following, ZMP equations in three directions are
linked via this parameter. The time varying of !
 
 b
i b
j b
k  makes the ZMP equation the time variant and thus
 
 x  solving the equation in order to obtain the COG path
 PG  pxZMP PyG  pyZMP z z
PG  pZMP  ¼ 0 ð7Þ
  becomes more complicated. On other hands, there is a
 mP€ x mP€ y mð g þ P€ z Þ 
G G G distance between the ZMP and the COG path along
the z-axis because of the height of the main body.

Downloaded from pic.sagepub.com at UNIV CALIFORNIA SANTA BARBARA on November 26, 2015
Khorram and Moosavian 5

This distance can be regulated by this parameter. will be derived. The same procedure can be employed
High variation of this parameter leads to the height to derive similar equations along other axes. The dis-
variation and it is not desirable on the uneven ter- crete model of the ZMP equation can be derived as
rains. Here, we can introduce the ZMP equation
along z-axis based on above equation as follows Xððk þ 1ÞTÞ ¼ Ad XðkTÞ þ Bd UðkTÞ
  YðkTÞ ¼ Cd XðkTÞ k ¼ 1, 2, . . .
PzZMP ¼ PzG  ! g þ P€ zG ð11Þ
T
XðkTÞ ¼ PxG ðkTÞ P_ xG ðkTÞ P€ xG ðkTÞ ,
This equation has an additional term in the compari- UðkTÞ ¼ PxG ðkTÞ, YðkTÞ ¼ pxZMP ðkTÞ
son with the traditional ZMP equations along x- and 2 3 2 3 3
y-axes, which is the influence of gravitational acceler- 1 T T2 =2 T =6
6 7 6 2 7
ation in the ZMP equation along z-axis. Therefore, Ad ¼ 4 0 1 T 5, Bd ¼ 4 T =2 5,
the ZMP along z-axis is not coincident with the 0 0 1 T
COG when the acceleration of the COG becomes

zero. To eliminate the gravitational term from the Cd ¼ 1 0 !


ZMP equation along z-axis, we define a new param- ð15Þ
eter PzG,v as

PzG,v ¼ PzG  !g ð12Þ where T denotes the sampling time. By using above
ZMP dynamics equation, the jerk of the COG can be
PzG,v defines an virtual COG path. The ZMP equation regulated so that the error between the measured and
is expressed in terms of this parameter instead of the desired ZMP is minimized. In the next section, the
COG. By substituting equation (12) in equation (11), ZMP reference path generation will be presented.
the ZMP equation along the z-axis can be simplified as We define a path in 3D space based on the desired
path of the main body so that if the ZMP travels
PzZMP ¼ PzG,v  !P€ zG,v ð13Þ along that path, the robot continues its motion with-
out any falling.
This equation represents a relationship between the
virtual COG and the ZMP, which is similar to the
ZMP reference path over uneven terrains
equations along the x-and y-axes. When the acceler-
ation of the virtual COG is zero i.e. the acceleration of Our objective is to design a path for the COG so that
the COG becomes zero, the ZMP along z-axis is equal the robot remains stable. First of all, we design the
to the virtual COG. In the following, the ZMP equa- ZMP path based on the desired COG path and also
tions along x- and y-axes can be defined by using the location of the footprints. This is due to the fact
equations (8), (10), and (11) as follows that the COG path becomes exactly equal to the ZMP
path when the COG acceleration becomes zero as
pxZMP ¼ PxG  !P€ xG described by the ZMP dynamic equations. Thus, the
ð14Þ ZMP path is designated based on the desired COG
py
ZMP ¼ Py  !P€ y
G G path so that the robot begins its motion from initial
position and arrives at the predetermined target. In
As seen, the relationships between the ZMP position the cases that the robot wants to change its COG
and the COG acceleration in three directions are path, the ZMP path should be modified accordingly.
linear and time-invariant equations. This makes the In this section, the ZMP reference path will be com-
problem simple to obtain the stable COG path by puted based on knowing of the accurate position of
utilizing a linear controller. In addition, the ZMP footprints.
equations along different axes are independent from To attain the stability, the supporting diagonal
each other. Thus, the COG path generation algorithm lines must be as a part of the ZMP reference path.
can be performed along each axis independently. During the trot gait, the ZMP path must be changed
when the supporting legs switch. The shift form a
diagonal line to next diagonal line takes place at the
ZMP dynamics equations intersection point of these two lines. In trotting on
To design a stable motion, the ZMP reference path is even terrains, the intersection points always exist.
generated at first and the COG acceleration will be However, in uneven terrains due to properties of the
adjusted so that the ZMP moves along its reference 3D lines, these points maybe not find. In other words,
path. The COG path generation algorithm can be the supporting diagonal lines may be skew lines. Thus,
viewed as a tracking problem. Therefore, it is neces- the ZMP reference path becomes discontinuous and
sary to transform the ZMP equations into an appro- that causes sudden jump form on diagonal line to the
priate state–space model. In the following, the other. To improve the smoothness of the ZMP path,
dynamics model along one axis, for instance x-axis, the ZMP path is designed so that the discontinuous

Downloaded from pic.sagepub.com at UNIV CALIFORNIA SANTA BARBARA on November 26, 2015
6 Proc IMechE Part C: J Mechanical Engineering Science 0(0)

changes will appear only along one axis. Here, the intersect each other, the intersection point in the 3D
ZMP path along z-axis will be discontinuous. space is used to calculate the ZMP reference path. The
switching point of the intersecting diagonal lines for
first and second steps of each gait can be calculated as
ZMP reference path along x- and y-axes
2  3
To design the ZMP reference path, as shown in Px3,i þ ki,1 ð1, 1Þ Px3,i  Px1,i
Figure 2, the 3D diagonal supporting lines are pro- 6  7
6 y y y 7
jected into a horizontal plane. Then, the ZMP reference Pswt,1i ¼ 6 P3,i þ ki,1 ð1, 1Þ P3,i  P1,i 7
6
7,
paths are calculated along the x- and y-axes by using 4  5
these 2D lines. The switching from one diagonal line Pz3,i þ ki,1 ð1, 1Þ Pz3,i  Pz1,i
into next diagonal line, which takes place at the instant 2  3
of switching of the supporting legs, is assumed to occur Px3,iþ1 þ ki,2 ð1, 1Þ Px3,iþ1  Px1,iþ1
6  7
at the intersection point of two adjacent 2D diagonal 6 y y y 7
lines. However, in the case in which two diagonal lines Pswt,2i ¼6 P
6 3,iþ1 þ k i,2 ð1, 1Þ P3,iþ1  P 7
1,iþ1 7
4  5
Pz3,iþ1 þ ki,2 ð1, 1Þ Pz3,iþ1  Pz1,iþ1
ð16Þ

where ki,1 and ki,2 are given by


2   31 " #
Px1,i  Px3,i  Px4,i  Px2,i Px2,i  Px3,i
6 7
ki,1 ¼ 4  5 ,
Py1,i  Py3,i  Py4,i  P72,i Py2,i  Py3,i
2   31
Px1,iþ1  Px3,iþ1  Px4,i  Px2,i
6 7
ki,2 ¼ 4  5
y y y 7
P1,iþ1  P3,iþ1  P4,i  P2,i
" #
Px2,i  Px3,iþ1

Py2,i  Py3,iþ1
ð17Þ
Figure 2. The footholds and diagonal lines in 3D space during
trotting over uneven terrains. The ZMP reference paths in 3D In some cases especially over uneven terrains, the sup-
space and also in x–y plane are represented by blue and green porting diagonal lines are skew lines. The switching
lines, respectively. points for nonintersecting diagonal lines can be

Figure 3. The COG and legs path generation algorithm for trotting a quadruped robot on uneven terrains.

Downloaded from pic.sagepub.com at UNIV CALIFORNIA SANTA BARBARA on November 26, 2015
Khorram and Moosavian 7

calculated as

2   31 2   3 2   31
Px1,i Px3,i Px1,i Px3,i Px1,iþ1 Px3,iþ1
" #   x   y " #  
Pxswt,1i 6 1  Py Py 7 6 P1,i  Py Py P1,i 7 Pxswt,2i 61  y
P1,iþ1 Py3,iþ1 7
6 1,i 3,i 7 6 1,i 3,i 7 6 7
¼6  7 6   7, ¼6   7
Pyswt,1i 4 Px4,i Px2,i 5 4 x Px4,i Px2,i y 5 Pyswt,2i 4 Px4,i Px2,i 5
1  y y  P2,i   y y  P2,i 1  y y 
P4,i P2,i P4,i P2,i P4,i P2,i
2   3 ð18Þ
x x
P1,iþ1 P3,iþ1 y
Px
6 1,iþ1    P 1,iþ1 7
6 Py1,iþ1 Py3,iþ1 7
6   7
4 P x
P x
y 5
Px2,i   y y  P2,i
4,i 2,i

P4,i P2,i

The z-component of the switching points can be where


described as
Pxswt,11  Px0 Px  Px0
  ax1 ¼ , ax2 ¼ Pxswt,11  swt,11 T2 ,
T2  T1 T2  T1
Pz1,i  Pz3,i  
Pyswt,11  Py0 Pyswt,11  Py0
z,b
Pswt,1i ¼ Pz1,i þ   Pyswt,1i  Py1,i , ay1 ¼ , ay2 ¼ Pyswt,11  T2 ;
Py1,i  Py3,i T2  T1 T2  T1
x x
  Pswt,21  Pswt,11 Pswt,21  Pxswt,11
x

Pz4,i  Pz2,i   ax3 ¼ , ax4 ¼ Pxswt,21  T3 ,


T3  T2 T3  T2
z,a
Pswt,1i ¼ Pz2,i þ   Pyswt,1i  Py2,i
Py4,i  Py2,i Py  Pyswt,11 Py  Pyswt,11
ay3 ¼ swt,21 , ay4 ¼ Pyswt,21  swt,21 T3
  ð19Þ T3  T2 T3  T2
Pz4,i  Pz2,i   ð21Þ
z,b
Pswt,2i ¼ Pz2,i þ   Pyswt,2i  Py2,i ,
y y
P4,i  P2,i
  where it is assumed that the duration of the first

and
Pz1,iþ1  Pz3,iþ1   second steps of a single gait is T T and
z,a
Pswt,2i ¼ Pz1,iþ1 þ   Pyswt,2i  Py1,iþ1
1 2
T2 T3 , respectively. In addition,P0 is the initial
Py1,iþ1  Py3,iþ1
position of the ZMP, which is usually equal to the
initial position of the COG because initial acceler-
where Pxswt,1i and Pyswt,1i denote the position of inter- ation is assumed to be zero.
section point of the current diagonal line of the sup-
porting legs with the next diagonal line. If legs 2 and 4
ZMP reference path along z-axes
go to the swing phase at the start of a single gait, as
seen in Figure 2, Pswt,1i will be the intersection point of As explained earlier, the discontinuous variation of
the diagonal line associated to the supporting legs 1 the ZMP path occurs along the z-axis when the sup-
and 3 and the diagonal line associated to the new porting diagonal legs are skew lines. In these situ-
footholds of the legs 2 and 4. Pxswt,2i and Pyswt,2i repre- ations, the z-components of the diagonal lines at the
sent the intersection point of the diagonal line asso- intersection points are used to calculate the ZMP ref-
ciated to the supporting legs 2 and 4 of current gait erence path and there are some jumps in the reference
and the diagonal line associated to the new footholds ZMP path at the points where the 2D diagonal lines
of the legs 1 and 3 of next gait. In this case, the ZMP intersect each other. Therefore, the z-directional ZMP
paths along the x- and y-axes at each step become trajectory for single gait can be written as
piecewise continuous straight line. The x- and y-direc-

tional ZMP trajectories within a single gait can be az1 t þ az2 T1 4t4T2
defined as Pz,d
ZMP ðtÞ ¼ ð22Þ
az3 t þ az4 T2 4t4T3

where the coefficients of above equations during single


ax1 t þ ax2 T1 4t4T2 gait are given as
Px,d
ZMP ðtÞ ¼ ,
ax3 t þ ax4 T2 4t4T3
( ð20Þ
ay1 t þ ay2 T1 4t4T2 Pz,b z
swt,1i  P0 Pz,b z
swt,1i  P0
Py,d
ZMP ðtÞ ¼ az1 ¼ , az2 ¼ Pz,b
swt,1i  T2
ay3 t þ ay4 T2 4t4T3 T2  T1 T2  T1

Downloaded from pic.sagepub.com at UNIV CALIFORNIA SANTA BARBARA on November 26, 2015
8 Proc IMechE Part C: J Mechanical Engineering Science 0(0)

Pz,b z,a
swt,2i  Pswt,1i input that leads to a minimum value for J can be
az3 ¼ , defined as
T3  T2
Pz,b z,a
swt,2i  Pswt,1i  1
az4 ¼ Pz,b
swt,2i  T3 ð23Þ ui ¼ R1 BTd I þ Kiþ1 Bd R1 BTd
T3  T2   1
T T
 Kiþ1 Ad Xi þMiþ1 S11 Cf Cf Cf
where Pz,b z,a
swt,1i and Pswt,1i are the z-components of the 
intersection point Pswt,1i on diagonal line of the sup-  T

 yf Cf M1 X1 Cf h1 þgiþ1 i ¼ 1, . . . , N
porting legs 1 and 3 and diagonal line of supporting
legs 2 and 4, respectively. In addition, Pz,a swt,2i and ð26Þ
Pz,b
swt,2i are the z-components of intersection point
Pswt,2i on diagonal line of the supporting legs 2 and in the above equation, Ki , Mi , gi , Si and hi matrices
4 in the current gait and diagonal line of supporting can be calculated by using the following recursive
legs 1 and 3 in the next gait, respectively. When there expressions
is an intersection point between the diagonal lines, the
 1
z-component of this point is used to define the ZMP Km ¼ Ad Kmþ1 I þ Bd R1 BTd Kmþ1 Ad þCTd QCd
reference path. In this case, the coefficients of the path  1
can be calculated as Mm ¼ ATd I þ Kmþ1 Bd R1 BTd Mmþ1
 1
gm ¼ ATd I þ Kmþ1 Bd R1 BTd gmþ1
Pzswt,1i  Pz0 Pzswt,1i  Pz0 CTd Qyf m ¼ N  1 : ... : 1
az1 ¼ , az2 ¼ Pzswt,1i  T2 ;  1 ð27Þ
T2  T1 T2  T1
hm ¼ hmþ1 MTmþ1 I þ Bd R1 BTd Kmþ1
Pzswt,2i  Pzswt,1i Pzswt,2i  Pzswt,1i
az3 ¼ , az4 ¼ Pzswt,2i  T3  Bd R1 BTd gmþ1
T3  T2 T3  T2
 1
ð24Þ Sm ¼ Smþ1 MTmþ1 I þ Bd R1 BTd Kmþ1
 Bd R1 BTd gmþ1
Thus, the coefficients of the z-directional ZMP
reference path for both cases are determined from the boundary conditions for solving above equations
equations (23) and (24). can be defined as

KN ¼ O33 , MN ¼ I33 , gN ¼ O31 ,


Controller design ð28Þ
SN ¼ O33 , hN ¼ O33
To obtain the COG path, we can solve the ZMP
dynamics equation explicitly or by using the control Since the terminal conditions are only specified to solve
approach. Here, a linear quadratic controller will be (27), these equations must be resolved backward.
defined to minimize the error between the output of When the matrices are obtained, the optimal input
defined model and its reference values along with add- can be calculated by equation (26). The states of the
itional constraints to resulting from terminal ZMP dynamics model i.e. the COG path can be calculated by
and initial conditions of all states. This controller is equation (15). In brief, the COG Path Generation algo-
used due to the fact that the z-directional ZMP path is rithm is depicted in Figure 3. The appropriate footsteps
a discontinuous function. Based on the ZMP equa- on the uneven terrain are chosen by a footsteps plan-
tion, to obtain COG path, the control problem is ning algorithm. Here, it is assumed that the terrain
defined as equation is known by using a vision measurement
system. Then, the footsteps over the terrains are speci-
fied by an expert user with precise consideration of the
1X N  
terrains equation and physical specification of the
J¼ Y~ Ti QY~ i þ uTi Rui
2 i¼1 robot. Since the focus of present work is not the
subject to design of the footsteps, this method was used to find
ð25Þ the appropriate footprints. Then, the ZMP reference
Xððk þ 1ÞTÞ ¼ Ad XðkTÞ þ Bd UðkTÞ
path is generated by using equations (20) and (22)
YðkTÞ ¼ Cd XðkTÞ and the COG path is computed by equation (15).
X1 ¼ X0 , YN ¼ yf ¼ Cf Xf
Path planning for the tip of swing foot
where Y~ denotes the error between the measured and A suitable path for the tip of the swing legs particu-
desired ZMP i.e. Y~ ¼ pxZMP  px,d
ZMP . In addition, yf larly on uneven terrains must be taken into account to
represents the terminal desired ZMP. By using the enable the robot to negotiate successfully over these
method was proposed by Park et al.,39 the optimal terrains. In this paper, a piecewise-cubic spline is used

Downloaded from pic.sagepub.com at UNIV CALIFORNIA SANTA BARBARA on November 26, 2015
Khorram and Moosavian 9

Figure 4. The swing leg path to cross over the uneven terrain.

to design the path of swing legs.40,41 In this section, it adjusted for having a collision-free path.i is the
is assumed that the initial and terminal positions of angle between the line and the x-axis which is calcu-
each swing leg are known by using an appropriate lated as
footstep planning algorithm. As shown in Figure 4,
the distance between the initial and final positions in !
1
PSWL,j
z,f  PSWL,j
z,i
each step is divided into four segments and a piece- i ¼ tan ð31Þ
wise-cubic spline is defined for each segment to pass PSWL,j
x,f  PSWL,j
x,i
through these waypoints, while some additional con-
straints are required to satisfy smoothness conditions. The waypoints of PSWL,j SWL,j
midi and Pmidf can be obtained by
The waypoints are chosen to avoid any collision
with the environment. Since it is assumed that the
terrain equation is known, the waypoints are selected PSWL,j þ PSWL,j
PSWL,j
midi ¼
mid midi
,
based on this equation. The waypoints for jth swing 2
ð32Þ
leg are defined as PSWL,j
mid þ PSWL,j
midf
PSWL,j
midf ¼
2
h i
PSWL,j
midp ¼ PSWL,j SWL,j SWL,j
midi , Pmid , Pmidf ð29Þ
To find the trajectory for each swing leg, a cubic func-
tion is chosen for each segment. For instance, swing
Since it is assumed that the swing legs move only in foot trajectory for the mth segment of the jth leg can
the x–z plane and the y-components of the footprints be expressed as
are the same, the position of midpoint between the
initial and final footholds for one step is calculated as
PTSWL,j
m ¼ am ðt  tm Þ3 þbm ðt  tm Þ2 þcm ðt  tm Þ
þ dm tm 4 t4tmþ1
PSWL,j
x,i þ PSWL,j
x,f
PSWL,j
x,mid ¼  h sinði Þ, ð33Þ
2 ð30Þ
PSWL,j
z,i þ PSWL,j
z,f
PSWL,j
z,mid ¼ þ h cosði Þ To find the coefficients of the above equation, some
2
constraints should be added. To guarantee the
smoothness of the path, these polynomials must be
where h is the maximum height of the tip of swing leg continuous in the position, velocity, and acceleration
respect to the line connecting the initial and final pos- levels. In addition, the path must pass through defined
itions of a leg within a step. This parameter can be waypoints. Consequently, the coefficients of defined

Downloaded from pic.sagepub.com at UNIV CALIFORNIA SANTA BARBARA on November 26, 2015
10 Proc IMechE Part C: J Mechanical Engineering Science 0(0)

also rotate about all three axes. Therefore, the robot


has totally 18 DOFs. The explicit dynamics model of
the robot was obtained and validated. The designed
paths are applied on the robot to show the effective-
ness of proposed algorithm.
Since the main contribution of this paper is the
locomotion over uneven terrains, an uneven terrain
model must be taken into account at the first.
This type of the terrain can be expressed as
8
> 0 x40:4
>
>
< 0:9ðx  0:4Þ0:7 þ0:1ðx  0:4Þ
Z¼  
> þ0:15ðx  0:4Þ0:5 cos 20ðx  0:4Þ0:5 0:44x43
>
>
:
2:17 x53
ð35Þ

The above curve is defined in the x–z plane. The pro-


file of 3D terrain will be constituted via the extension
of this curve along the y-axis. This terrain is shown in
Figure 6(a). The y-components of the footprints of
Figure 5. The Quadruped robot configuration, which is taken each leg are the same. This is due to the fact that
as a model in the simulation. there is not any roughness along the y-direction.
Another terrain with the roughness along three direc-
tions is selected to shown the merits of the proposed
polynomials can be computed by solving the follow- algorithm. This terrain is shown in Figure 6(b).
ing equations The geometric parameters, which are introduced in
Figure 5, the control parameters, and the essential
PSWL,j
1 ðt1 Þ ¼ PSWL,j
i , PSWL,j
4 ðt5 Þ ¼ PSWL,j
f , data for the design of the path of COG and swing
legs are summarized in Table 1.
PSWL,j
m ðtmþ1 Þ ¼ PSWL,j SWL,j SWL,j
midp ðmÞ, Pmþ1 ðtmþ1 Þ ¼ Pmidp ðmÞ To design the COG path, the reference ZMP path
P_ SWL,j
m ðtm Þ ¼ P_ SWL,j
mþ1 ðtm Þ, Pm
€ SWL,j ðtm Þ ¼ P€ SWL,j ðtm Þ
mþ1
must be designed at first. The reference paths along
m ¼ 1,   , 3 three axes were calculated by using the proposed
method. A four-support phase is chosen at the initial
P_ SWL,j ðt1 Þ ¼ O, P_ SWL,j ðt5 Þ ¼ O
1 4 and final of the motion. The ZMP is a constant value
ð34Þ during these steps. This is due to the fact that the
robot gets ready to take a step stably. The time of
It is noted that to ignore the influence of the feet each step within the trot gait is the same and its
impact on the robot stability, the initial and final velo- value is assumed to be 0.4 s.
cities of swing legs are set equal to zero. The joint To apply the proposed optimal control, the value
angle of all legs for moving over uneven terrains can of ! must be calculated. Since the initial position of
be found by the COG and the swing-leg path by using the COG and also initial z-directional ZMP reference
inverse kinematics. are known, this parameter can be calculated by using
equation (12) as follows

Obtained results and discussions PzG ðt0 Þ  PzG,v ðt0 Þ


!¼ ¼ 0:0714 ð36Þ
System description g

To show the validity and examine the performance of in the above equation, the initial acceleration of the
the proposed algorithm, the COG and swing leg paths COG is assumed to be zero.
are generated and are applied on a quadruped robot,
which is depicted in Figure 5, in the simulation and
Experimental setup
the experiment. Also, obtained results will be dis-
cussed. The robot is composed of four legs. Each leg The proposed algorithm is implemented on a small-
has three degrees of freedom to allow the robot to size quadruped robot, which is composed of a rect-
move its leg freely in 3D space. The joints of each angular base with four legs that each one has three
leg are two hip joints about pitch and roll axes and active joints with DC servo motors, as shown in
a knee joint about pitch axis. In addition, the main Figure 7. Dynamixel AX-12 actuator is chosen for
body of the robot is free to move along all axes and each leg. This motor is a modular one with a gear

Downloaded from pic.sagepub.com at UNIV CALIFORNIA SANTA BARBARA on November 26, 2015
Khorram and Moosavian 11

Figure 6. Uneven terrains that the robot must move on it, (a) with roughness along only two directions and (b) with roughness
along three directions. The color circles represent the footholds of all legs during the robot motion form initial position to terminal
position. Green, red, blue, and black circles show the footholds of left front, left hind, right hind, and right front legs, respectively.

box and a control circuitry. Also, it has the position The experiments were executed using a laptop Intel
feedback via a potentiometer mounted on the motor i5-2430 with 2.4 GHz processor and 6.00 GB RAM.
shaft. The maximum holding torque of this motor is The connection between the motor and the PC is
1.62 Nm at 10 V. In addition, the maximum speed of established with USB2Dynamixel. A KINECT
this motor is 114 r/min or 11.9 rad/sec. The operating device, which has a depth sensor and two Red-
angle of the motor is 300 . The speed control of the Green-Blue (RGB) cameras, is used to measure the
motor is performed by pulse width modulation algo- position of the main body in the 3D space through
rithm. Also, transistor-transistor logic (TTL) level image processing. This camera takes the image from
serial communications are used to send and receive the robot with the rate of 30 frames per second and
signals. The desired values and all computations are the images are analyzed to compute the position of
performed in MATLAB and the computed com- the COG. The position control frequency of the robot
mands are sent to the motors. is restricted by the vision measurement systems.

Downloaded from pic.sagepub.com at UNIV CALIFORNIA SANTA BARBARA on November 26, 2015
12 Proc IMechE Part C: J Mechanical Engineering Science 0(0)

Despite the fact that the motors have higher fre- COG jerk. Since ensuring stability has higher priority
quency, the sampling time of our experimental in the locomotion over uneven terrains, the tracking
system is 33 ms. error weight is chosen higher than the jerk weight.
The COG, reference and resultant ZMP paths in
three directions for both terrains are shown in
Obtained results
Figure 8. The error between the resulting ZMP and
The selection of the optimization weight parameter is its desired values for a point mass model is very small
an important issue in the obtained results. There is a and this provides a stable motion. When the COG
trade-off between the minimization of the ZMP track- moves along the obtained path, the stability of the
ing error and the COG jerk through the tune of the robot is ensured because the resultant ZMP is very
values of the weight parameters Q and R. These par- near to the desired value at each instant. In addition,
ameters are chosen based on which objective has more the algorithm provides a smooth COG path, which is
importance: the reduction of the ZMP error or the important in control task to apply continues torques
to the actuators. Compared to previous methods,
which takes a constant height in the COG path plan-
ning, the height of the COG changes continuously in
Table 1. The geometric parameters and required data in the order to match the terrain.
design of COG path for simulation studies. The swing leg path must be generated to help the
Value
robot to move over the uneven terrain. The path of
Symbol (unit) Definition swing legs for all legs for traversing the terrain shown
in Figure 6(a) is depicted in Figure 9. As seen, the
m 10 (kg) Robot’s body mass swing legs move on the ground without any collision
l1 0.4 (m) Length of thigh with the environment. h is assumed to be a constant
l2 0.6 (m) Length of shank value in the design of the path for all swing legs.
m1 0.1 (kg) Mass of thigh We could also select different values for this param-
m2 0.1 (kg) Mass of shank eter for each step and leg.
Lb 0.8 (m) Length of body With the computation of the COG and the swing
Wb 0.3 (m) Width of body leg paths and also the selection of an appropriate
value for the main body orientations, the robot con-
hb 0.15 (m) Height of body
figuration can be determined during the motion.
lc1 0.2 (m) Distance between the hip joint to
This is performed by using an inverse kinematics algo-
the COG of the thigh
rithm. The stick figure of the quadruped in the
lc2 0.3 (m) Distance between the knee joint to
trotting on the uneven terrain is shown in Figure 11.
the COG of the shank
In the design of main body orientation, the avoidance
Q 1 Tracking error weight
of the collision of the swing and stance leg with envir-
R 106 Input weight
onment is taken into consideration. Due to avoid the
h 0.1 (m) Maximum height for the tip of swing tipping over the robot, the minimum pitch angle is
legs
selected. Due to lack of space, the orientation design
algorithm is not described here.

Figure 7. The experimental setup.

Downloaded from pic.sagepub.com at UNIV CALIFORNIA SANTA BARBARA on November 26, 2015
Khorram and Moosavian 13

4 3.5
(a) 0.04
3.0
3 0.02
2.5
0.00
2 2.0
-0.02
X(m)

Z(m)
Y(m)
1.5
1 -0.04
1.0
The COG -0.06 0.5
0 The Reference ZMP
The Resultant ZMP -0.08 0.0

-1 -0.10 -0.5
0 2 4 6 8 10 12 14 16 18 0 2 4 6 8 10 12 14 16 18 0 2 4 6 8 10 12 14 16 18
Time(sec) Time(sec) Time(sec)

(b)

Figure 8. The desired and resulting ZMP as well the COG path in three-dimensional space for a point mass model, (a) for terrain
with the roughness along x and y axes (Figure 6(a)) and (b) for terrain with the roughness along three axes (Figure 6(b)). The blue solid
lines correspond to the COG path and red solid lines to the reference ZMP. The dashed black lines represent the resultant ZMP.

2.5 2.5

2.0 The Terrain 2.0 The Terrain


The Path of Leg 1 The Path of Leg 2

1.5 1.5
Z(m)
Z(m)

1.0 1.0

0.5 0.5

0.0 0.0

0 1 2 3 4 5 -1 0 1 2 3 4 5
X(m) X(m)

2.5 2.5

2.0 The Terrain 2.0 The Terrain


The Path of Leg 3 The Path of Leg 4

1.5 1.5
Z(m)

Z(m)

1.0 1.0

0.5 0.5

0.0 0.0

-1 0 1 2 3 4 5 0 1 2 3 4 5
X(m) X(m)

Figure 9. The two-dimensional path of the legs and the terrain in the X–Z plane for terrain 6-a.

Downloaded from pic.sagepub.com at UNIV CALIFORNIA SANTA BARBARA on November 26, 2015
14 Proc IMechE Part C: J Mechanical Engineering Science 0(0)

Compared to the other methods, in this paper, the located in the ground surface, thus the z-component
ZMP path is designed along three axes. In other of the ZMP becomes zero, whereas, in the step 3, one
words, the height of main body is calculated through supporting leg is located on the horizontal plane and
the ZMP equation. Whereas, the z-directional COG other stance leg is placed on a plane, which is not
path along is assumed to be constant or an arbitrary coplanar with the horizontal plane and the ZMP
function of time in previous methods. The compari- should leave the ground in this case. The paths of the
son between the proposed algorithm and the method COG for both methods are shown in Figure 10. The
presented in Kalakrishnan et al.13 is shown in Figure moment about support legs for point mass model for
10. The motion consists of three steps. During step 1, both methods is shown in Figure 10. As seen, when the
all four legs are the contact with the ground. Within ZMP is on the ground, i.e. z-component of the ZMP is
step 2 and 3, legs of 1 and 3; legs of 2 and 4 are in zero, both methods result in zero moments. However,
swing phase, respectively. In step 2, the stance legs are in the case that the ZMP has three components, the
proposed method shows its merit. Since the proposed
method in Kalakrishnan et al.13 is based on the
3.5
assumption of Pzzmp ¼ 0, the moment about support
legs is no longer zero and it produces a tumbling
3.0 moment about diagonal supporting line and the
2.5
robot becomes unstable. The influence of this tumbling
moment for real robot becomes more important.
2.0 Now, the generated paths are applied on an 18 DOF
Z(m)

1.5
quadruped robot in the simulation. Since the main
challenge is the stability, it should be evaluated
1.0 during the motion. In other words, the 3D ZMP for
0.5
the robot should be calculated. Since the calculation of
this point is a difficult task, the moment of the inertial
0.0 and gravitational forces of all legs and main body
0 1 2 3 4
about diagonal lines and also the angular moment of
X(m)
all legs and main body are taken as a criterion for the
robot stability. This moment is calculated as
Figure 10. The comparison between the proposed algorithm
and the COG path generation method presented in 
 
Kalakrishnan et al.13. Mij ¼ eTij ðPG  Pi Þ  mP€ G þ mg

(a) (b) (c)


0.5 0.02 0.78
The Proposed Method
0.4 Method in [13] 0.01 0.76
0.3
0.00 0.74
X(m)

Y(m)

Z(m)

0.2
-0.01 0.72
0.1

0.0 -0.02 0.70

-0.1 -0.03 0.68


0.0 0.5 1.0 1.5 2.0 0.0 0.5 1.0 1.5 2.0 0.0 0.5 1.0 1.5 2.0
Time(sec) Time(sec) Time(sec)

(d) 0.6
0.5
0.4 Step2 Step 3
M(N.m)

0.3
0.2
0.1
0.0
-0.1
0.8 1.0 1.2 1.4 1.6 1.8 2.0
Time(sec)

Figure 11. Stick-figure illustration of the quadruped robot in the trot on the given terrain.

Downloaded from pic.sagepub.com at UNIV CALIFORNIA SANTA BARBARA on November 26, 2015
Khorram and Moosavian 15

2
2.0

1 1.5

1.0
0
0.5
M 13(N.m)

M 24(N.m)
-1 0.0

-0.5
-2
-1.0
-3
-1.5

-4 -2.0
0 2 4 6 8 10 12 14 16 18 0 2 4 6 8 10 12 14 16 18
Time(sec) Time(sec)

Figure 12. The moment about the diagonal lines in the real robot (18 DOF).

n 
m X
X    are illustrated in Figure 13(c). With the definition of
þ PijG  Pi  mij P€ ijG þ mij g optimization problem, appropriate values for the roll
i¼1 j¼1 angle are selected so that the tumbling moment is
m X
X n  minimized. The comparison of three reduction meth-
 HG  HijG ð37Þ ods is shown in Table 2. As seen, first method is the
i¼1 j¼1 best among proposed methods. This is due to the fact
that the moment produced by the motion of the swing
In ideal situation, a robot with the massless legs, these legs because of the high accelerations for small swing
moments will be zero. However, in the real robot, all phase duration (i.e. 0.4 s) is a dominant factor in total
tumbling moments about diagonal lines are no longer values of moments. If swing phase duration increases,
zero. These tumbling moments are shown in the other methods show their merits in the reduction
Figure 12. As expected, these moments are not zero of tumbling moments. In the second method, the
and these moments may make the robot unstable design of news trajectory for swing legs, the moments
especially in the case in which the legs are relatively in the middle of each step decrease because the accel-
heavy. eration of the tip at those points becomes zero.

Reduction of the tumbling moments Experimental results


In the real robot, there is a tumbling moment about The quadruped robot is tested in the motion on a
the diagonal line, which may make the robot unstable. sloped terrain of 10 . The path data for main body
We can solve this problem in two levels: planning and and all legs are generated for the robot and are sent to
control. In the control level, these tumbling moments the motors with feed-forward controller. Since the
are taken as a disturbance and they should be com- motors are only position servo, it is expected that
pensated by the controller. This is not the focus of the joint position error be very small. The desired
present study. and the measured joint values for leg 1 are shown in
To decrease the tumbling moments and conse- Figure 14(a). As seen the errors are small and the
quently improve the robot stability in the planning robot follows its desired value. In addition, the
level, three methods are presented. The increase in desired and measured velocity of the joint of the leg
the duration of each step up to two times of its initial 1 are shown Figure 14(b). Since the motors only are
value is the first solution which is shown in the position servo, the desired and measured velocities
Figure 13(a). This causes the reduction of the robot are not the same. The snapshot of the robot in trotting
velocity. As seen, the tumbling moments are relatively a sloped terrain is shown in Figure 15. The COG path
small in this case. In another method, the change of obtained from vision measurement system is shown in
the swing legs trajectory is used to alleviate the tum- Figure 16.
bling moments. In the new trajectory, a constant vel- The experimental results prove that the robot can
ocity path is generated. The tumbling moments for trot on an uneven terrain with the proposed algo-
this case are depicted in Figure 13(b). As seen, the rithm. In fact, the robot can change its height over
tumbling moments in the middle of each step reduce these terrains stably. The efficiency of using of a point
because the acceleration of the feet becomes zero. The mass model instead of whole body robot is estab-
last method to improve the robot stability is the lished. Using this model allows us to generate a
adjustment of the roll angle of main body. The results stable path for a complicated model only using a

Downloaded from pic.sagepub.com at UNIV CALIFORNIA SANTA BARBARA on November 26, 2015
16 Proc IMechE Part C: J Mechanical Engineering Science 0(0)

(a) 0.6 0.4


0.4
0.2
0.2

0.0 0.0
M13(N.m)

M 24(N.m)
-0.2
-0.2
-0.4

-0.6 -0.4
-0.8
-0.6
-1.0

-1.2 -0.8
0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35
Time(sec) Time(sec)

(b) 4 2

3
1
2

1
M 13(N.m)

0
M24(N.m)

-1 -1

-2
-2
-3 The poroposed swing trajectory
A New swing trajectory

-4 -3
0 2 4 6 8 10 12 14 16 18 0 2 4 6 8 10 12 14 16 18
Time(sec) Time(sec)

(c) 3 2

2
1
1

0
M 13(N.m)

M 24(N.m)

-1
-1

-2
-2
-3 With the adjusment of roll With the adjusment of roll
No adjusment of roll No adjusment of roll

-4 -3
0 2 4 6 8 10 12 14 16 18 0 2 4 6 8 10 12 14 16 18
Time(sec) Time(sec)

Figure 13. The reduction of the tumbling moments by various methods, (a) the increase in the duration of a step, (b) the design of a
better trajectory for swing legs, and (c) the adjustment of the role angle of main body.

Table 2. The comparison between the tumbling moment reduction methods.

Standard division (STD) Mean value The maximum of absolute

Methods M13 M24 M13 M24 M13 M24

Main method 0.2897 0.2801 0.0809 0.0197 3.1206 1.6440


The increase in the duration of a step 0.1097 0.0925 0.0647 0.0065 0.9361 0.5978
The design of a better trajectory for swing legs 0.3461 0.3500 0.0693 0.0094 3.4657 2.5948
The adjustment of the roll angle of main body 0.2809 0.3005 0.0044 0.0254 1.8399 2.2211

Downloaded from pic.sagepub.com at UNIV CALIFORNIA SANTA BARBARA on November 26, 2015
Khorram and Moosavian 17

(a) 0.35 3.1 -1.0

0.30 3.0 -1.2

0.25 2.9 -1.4


q11(rad)

q12(rad)

q13(rad)
0.20 2.8 -1.6

0.15 2.7 -1.8

0.10 2.6 -2.0

0.05 2.5 -2.2


0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35
Time(sec) Time(sec) Time(sec)

(b) 0.4 2 5
0.3 4
1
0.2
qdot11(rad/sec)

qdot12(rad/sec)

qdot13(rad/sec)
3
0.1 0
2
0.0 -1
1
-0.1
-2 0
-0.2
-0.3 -3 -1
0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35 0 5 10 15 20 25 30 35
Time(sec) Time(sec) Time(sec)

Figure 14. The experimental results in trotting over a sloped terrain for several gaits. The blue line corresponds to the measured
data and the red line indicates the desired value, (a) the angle of all joints of the leg 1 and (b) the velocity of all joints of the leg 1.

Figure 15. The snapshot of the robot in moving on a sloped terrain.

simple model, which its main characteristic is less model and under sufficient friction assumption
computation time. between the tip of the stance legs and the ground,
the 3D ZMP was introduced. The reference ZMP
path was computed along three axes. Then, the
Conclusions
COG path was calculated by using an optimal control
The gait generation to enable a quadruped robot to approach based on the ZMP reference path. Finally,
trot on challenging terrains was investigated in this the swing leg path is defined so that the contact with
article. A main problem in the development of the environment is not occurred during the 3D motion.
trot gait on uneven terrains is the derivation of an To examine the performance of the proposed algo-
appropriate stability criterion to guarantee the robot rithm, an uneven terrain was modeled and the path
stability on such terrains. By taking a point–mass for the main body in three dimensions and also the

Downloaded from pic.sagepub.com at UNIV CALIFORNIA SANTA BARBARA on November 26, 2015
18 Proc IMechE Part C: J Mechanical Engineering Science 0(0)

0.28

0.00 0.27

-0.01 0.26

-0.02
Ybody(m)

Zbody(m)
0.25

-0.03 0.24

-0.04 0.23

-0.05 0.22

-0.06 0.21
-0.05 0.00 0.05 0.10 0.15 0.20 0.25 0.30 0.35 -0.05 0.00 0.05 0.10 0.15 0.20 0.25 0.30 0.35
Xbody(m) Xbody(m)

Figure 16. The experimental results of COG path which are measured by using kinect device.

swing legs path were generated. Through comparing 5. Hardarson F. Stability analysis and synthesis of statically
with other COG path generation, the merits of the balanced walking for quadruped robots, PhD Thesis.
proposed algorithm were approved. Since this plan- Stockholm: Royal Institute of Technology, 2002.
ning approach is based on a point mass model of the 6. Liu F, Wu D and Chen K. The simplest creeping gait
robot, the tumbling moments for real robot are no for a quadruped robot. Proc IMechE, Part C: J
longer zero and they should be reduced. This can be Mechanical Engineering Science 2013; 227: 170–177.
done by various methods, such as increasing the dur- 7. Zamani A, Khorram M and Moosavian SAA.
ation of a step, or designing of a better trajectory for Dynamics and stable gait planning of a quadruped
the swing legs, and finally by the adjustment of the robot. In: Proceeding of International Conference on
Control, Automation and Systems (ICCAS),
role angle of the main body. The obtained results
Gyeonggi-do, China, 26–29 October 2011, IEEE.
revealed the merits of the proposed planning algo-
8. Havoutis I, Semini C, Buchli J, et al. Quadrupedal trot-
rithm, which is successful in stable motion planning ting with active compliance. In: Proceeding of
for a complicated 18 DOF quadruped robot moving International Conference on Mechatronics, Vicenza,
on an uneven terrain in simulation. Furthermore, the Italy, 27 Febuary–1 March 2013, IEEE.
robot could trot successfully over a sloped terrain 9. Gehring C, Coros S, Hutter M, et al. Control of
with proposed algorithm in experimental studies. dynamic gaits for a quadrupedal robot. In: Proceeding
of nternational Conference on Robotics and Automation
(ICRA), Karlsruhe, Germany, 6–10 May 2013, IEEE.
Declaration of conflicting interests
10. Marhefka DW, Orin DE, Schmiedeler JP, et al.
The author(s) declared no potential conflicts of interest with Intelligent control of quadruped gallops. Mechatronics
respect to the research, authorship, and/or publication of IEEE/ASME Trans 2003; 8: 446–456.
this article. 11. Poulakakis I, Smith JA and Buehler M. On the
dynamics of bounding and extensions: Towards the
half-bound and gallop gaits. In: Kimura H, Ishiguro
Funding
A and Witte H (eds) Adaptive motion of animals and
The author(s) received no financial support for the research, machines, Springer-Verlag, Tokyo, 2006, pp.79–88.
authorship, and/or publication of this article. 12. Vukobratović M and Borovac B. Zero-moment
point—thirty five years of its life. Int J Hum Robot
References 2004; 1: 157–173.
1. Raibert M. BigDog, the rough-terrain quadruped robot. 13. Kalakrishnan M, Buchli J, Pastor P, et al. Learning,
In: Chung M (ed). Proceedings of the 17th IFAC World planning, and control for quadruped locomotion over
Congress. COEX, Korea, South, 2008. challenging terrain. Int J Robotics Res 2011; 30: 236–258.
2. Semini C. HyQ—design and development of a hydraulic- 14. Huang H-P, Yan J-L and Cheng T-H. State-incremental
ally actuated quadruped robot. Italy: University of optimal control of 3D COG pattern generation for
Genoa, 2010, p. 210. humanoid robots. Adv Robotics 2013; 27: 175–188.
3. Spröwitz A, Tuleu A, Vespignani M, et al. Towards 15. Takao S, Yokokohji Y and Yoshikawa T. FSW (fea-
dynamic trot gait locomotion: design, control, and sible solution of wrench) for multi-legged robots. In:
experiments with Cheetah-cub, a compliant quadruped Proceeding of International Conference on Robotics and
robot. Int J Robotics Res 2013; 32: 932–950. Automation (ICRA), Taipei, Taiwan, September 2003,
4. Hutter M, Gehring C, Hopflinger MA, et al. Toward pp.14–19, IEEE.
combining speed, efficiency, versatility, and robustness 16. Garcia E, Estremera J and de Santos PG. A compara-
in an autonomous quadruped. Robotics IEEE Trans tive study of stability margins for walking machines.
2014; 60: 1–14. Robotica 2002; 20: 595–606.

Downloaded from pic.sagepub.com at UNIV CALIFORNIA SANTA BARBARA on November 26, 2015
Khorram and Moosavian 19

17. Kajita S, Kanehiro F, Kaneko K, et al. The 3D Linear 29. Kolter JZ and Ng AY. The Stanford LittleDog: a learn-
Inverted Pendulum Mode: A simple modeling for a ing and rapid replanning approach to quadruped loco-
biped walking pattern generation. In: Proceeding of motion. Int J Robotics Res 2011; 30: 150–174.
IEEE/RSJ International Conference on Intelligent 30. Barasuol V, Buchli J, Semini C, et al. A reactive con-
Robots and Systems, Maui, Hawaii, 29 October–3 troller framework for quadrupedal locomotion on chal-
November 2001, IEEE. lenging terrain. In: Proceeding of IEEE International
18. Kajita S, Kanehiro F, Kaneko K, et al. Biped walking Conference on Robotics and Automation (ICRA),
pattern generation by using preview control of zero- Karlsruhe, Germany, 6–10 May 2013, IEEE.
moment point, In: Proceeding of IEEE International 31. Fukuoka Y, Kimura H, Hada Y, et al. Adaptive
Conference on Robotics and Automation, Taipei, dynamic walking of a quadruped robot ‘Tekken’ on
Taiwan, 14–19 September 2003, IEEE. irregular terrain using a neural system model. In:
19. Takanishi A, Lim H-o, Tsuda M, et al. Realization of Proceeding of IEEE International Conference on
dynamic biped walking stabilized by trunk motion on a Robotics and Automation, Taipei, Taiwan 14–19
sagittally uneven surface. In: Proceeding of IEEE September 2003, IEEE.
International Workshop on Intelligent Robots and 32. Ugurlu B, Havoutis I, Semini C, et al. Pattern gener-
Systems, Ibaraki, Japan, 3–6 July 1990, IEEE. ation and compliant feedback control for quadrupedal
20. Erbatur K and Kurt O. Natural ZMP trajectories for dynamic trot-walking locomotion: experiments on
biped robot reference generation. Industr Electronics RoboCat-1 and HyQ. Autonomous Robots 2015; 38:
IEEE Trans 2009; 56: 835–845. 415–437.
21. Harada K, Kajita S, Kaneko K, et al. An analytical 33. Santos CP and Matos V. Gait transition and modula-
method for real-time gait planning for humanoid tion in a quadruped robot: a brainstem-like modulation
robots. Int J Humanoid Robotics 2006; 3: 1–19. approach. Robotics Autonomous Syst 2011; 59: 620–634.
22. Hong S, Oh Y, Kim D, et al. Real-time walking pattern 34. Ajallooeian M, Gay S, Tuleu A, et al. Modular control
generation method for humanoid robots by combining of limit cycle locomotion over unperceived rough ter-
feedback and feedforward controller. Industr rain. In: Proceeding of IEEE/RSJ International
Electronics IEEE Trans 2014; 61: 355–364. Conference on Intelligent Robots and Systems (IROS),
23. Wieber P-B. Trajectory free linear model predictive con- Tokyo, Japan, 3–7 November 2013, IEEE.
trol for stable walking in the presence of strong pertur- 35. Raibert MH. Trotting, pacing and bounding by a quad-
bations. In: Proceeding of IEEE/RAS International ruped robot. J Biomechan 1990; 23: 79–98.
Conference on Humanoid Robots, Genova, Italy, 4–6 36. Kurazume R, Hirose S and Yoneda K. Feedforward
December 2006, IEEE. and feedback dynamic trot gait control for a quadruped
24. Albert A and Gerth W. Analytic path planning algo- walking vehicle. In: Proceeding of IEEE International
rithms for bipedal robots without a trunk. J Intelligent Conference on Robotics and Automation (ICRA),
Robotic Syst 2003; 36: 109–127. Seoul, Korea, 21–26 May 2001, IEEE.
25. Kuindersma S, Permenter F and Tedrake R. An effi- 37. Kurazume R, Yoneda K and Hirose S. Feedforward
ciently solvable quadratic program for stabilizing and feedback dynamic trot gait control for quadruped
dynamic locomotion. In: Proceeding of IEEE walking vehicle. Autonomous Robots 2002; 12: 157–172.
International Conference on Robotics and Automation 38. Ugurlu B, Havoutis I, Semini C, et al. Dynamic trot-
(ICRA), Hong Kong, 31 May 2014–7 June 2014, IEEE. walking with the hydraulic quadruped robot–HyQ:
26. Kalakrishnan M, Buchli J, Pastor P, et al. Fast, robust Analytical trajectory generation and active compliance
quadruped locomotion over challenging terrain. In: control. In: Proceeding of IEEE/RSJ International
Proceeding of IEEE International Conference on Conference on Intelligent Robots and Systems (IROS),
Robotics and Automation (ICRA), Anchorage, AK, 3– Tokyo, Japan, 3–7 November 2013, IEEE.
7 May 2010, IEEE. 39. Park JH, Han S and Kwon WH. LQ tracking controls
27. Sugihara T, Nakamura Y and Inoue H. Real-time with fixed terminal states and their application to reced-
humanoid motion generation through ZMP manipula- ing horizon controls. Syst Contr Lett 2008; 57: 772–777.
tion based on inverted pendulum control. In: 40. Kolter JZ and Ng AY. Task-space trajectories via cubic
Proceeding of IEEE International Conference on spline optimization. In: Robotics and Automation, 2009
Robotics and Automation, Washington, DC, 11–15 ICRA’09 IEEE International Conference on: IEEE,
May 2002, IEEE. 2009, pp.1675–1682.
28. Sato T, Sakaino S, Ohashi E, et al. Walking trajec- 41. Tian L and Collins C. An effective robot trajectory
tory planning on stairs using virtual slope for biped planning method using a genetic algorithm.
robots. Industr Electronics IEEE Trans 2011; 58: Mechatronics 2004; 14: 455–470.
1385–1396.

Downloaded from pic.sagepub.com at UNIV CALIFORNIA SANTA BARBARA on November 26, 2015

You might also like