A Biped Locomotion Strategy for the Quadruped Robot Sony ERS-210

A Biped Locomotion Strategy for the Quadruped Robot Sony ERS-210
Fabio Zonfrilli, Giuseppe Oriolo, Daniele Nardi
September 25, 2001
1
Introduction
ment of the robot in a way to assign a desired trajectory to the ZMP. The movement of the torso and of the
arms is used to correct this trajectory; the objective is
to keep the ZMP within the area of contact of the foot
with the ground. If this goal is achieved, then a stable
biped locomotion is achieved. With this technique a
fast and stable locomotion can be obtained, but the
robot needs many degrees of freedom and high performance actuators and control hardware. For example the humanoid robot SONY SDR-3X, based on the
ZMP principle, has a total of 24 degrees of freedom.
One of the main characteristic of the robots based
on the ZMP is the presence of an actuated foot, absolutely necessary for the dynamic equilibrium. There
is another category of robot, sometimes referred to as
the purely dynamic walkers. These robots do not have
an actuated foot, so they surely do not have any configuration of static equilibrium, and cannot implement
a walking control based on the ZMP. There are many
example of this category [7, 8, 9, 10], and there are
many control strategies also. This kind of robots usually have a simpler hardware structure, and sometimes
use an external support structure for lateral balancing.
The robots belonging to this class are usually cheaper
than the others, and walk pretty fast, since the dynamic is fully exploited.
The interest in biped robots has highly increased
in the last few years. The availability of cheap and
advanced actuators and electronic controllers allowed
the realization of many biped systems. There are some
very famous humanoid robots, like the SONY SDR3X, or the HONDA Asimo. But there are also a lot of
other biped robots at university research level.
Many control strategy have been proposed, in a rich
and various scientific literature. The various works can
be classified using different criteria, but we have found
very useful the classification based on the dynamic features of the biped walking style. There are basically
four great categories.
The first one is that of the passive walking mechanism. These are not real robots, since they don’t
have actuators or control hardware, but are simple passive mechanism that walk on a downslope. One of the
work most widely known is that of McGeer [1, 2]; these
mechanisms are very helpful to understand the basics
of biped walking dynamic, since they are very simple
and intuitive.
The simplest method for biped walking is the one
called static walking. This method is based on basic
principle of static equilibrium: a rigid body is in static
equilibrium if the projection on the ground of its center of gravity is within the area of contact with the
ground. The control strategy consists in planning the
robot’s movement so that the projection of the center of gravity is always within the area of contact with
the ground, that in this case is represented by the foot.
The main disadvantage of this kind of robot is that the
locomotion is very slow, so there is not much interest
in the static walking robots.
In order to achieve a faster locomotion it is necessary to abandon the static equilibrium and rely on the
dynamic equilibrium principle. The dynamic equilibrium has been applied on the biped locomotion for the
first time by M. Vukobratovic, with the introduction
of the Zero Moment Point (ZMP) principle [3]. The
ZMP theory has then been widely used [4, 5, 6]. This
method consists in the planning of the various move-
2
Description of the robot Sony ERS210
The robot used in our work is the SONY ERS-210
shown in figure 1 , sold in the market as AIBO. It
is a quadruped robot, resembling a dog, with a total
of 20 degrees of freedom. Its four legs have a similar
structure, and have 3 degrees of freedom each, as it can
be seen in figure 2. Note that there is not an actuated
foot, and the contact with the ground is obtained by
a rubber semi-sphere.
The robot is fully autonomous, the CPU and the
battery pack are both onboard. The robot is equipped
with a local PID controller and a digital encoder on
each joint.
There are 3 inertial accelerometers onboard, plus a
1
Figure 3: Reference frame for a biped
CMOS sensor for image acquisition.
3
Dynamic Model of the System
In order to develop a theory for controlling the
biped locomotion, a dynamic model of the robot has
to be extracted. A biped in usually decribed in the 3D
space, as it is shown in figure 3. We will refer to the
y-z plane as the sagittal plane, the x-z plane as the roll
plane and the x-y plane as the yaw plane.
We have chosen to limit the problem in the sagittal plane, since the robot has some limitations that
exclude, for the moment, the possibility of implementing a fully three-dimensional walking style: the robot
has only 3 degrees of freedom per leg, and it does not
posses an actuated foot. We have chosen to obtain the
lateral stability by using an external support structure, that will not limit the robot mobility in the other
planes. The dynamic model we are going to extract is
then limited to a 2D coordinate frame, as it has already been done by other authors [7, 8].
Each leg has two links connected by a rotational
joint, and attached to the main body by another rotational joint. The whole system is then represented
by a five link model. The contact with the ground is
modeled as pointshape, so the ground can apply forces
to the robot but not any torque. The resulting model
is represented in figures 4 and 5
The equations of motion are easily derived using
the Eulero-Lagrange method, based on computing the
kinetic and gravitational energy. The resulting system
is composed of five equations:
Figure 1: Robot SONY ERS-210
Figure 2: Kinematic model of a robot leg
B θ̈ + h(θ, θ̇) + f (θ) = τ
(1)
where B is the inertia matrix, h is the vector of
the coriolis and centrifugal acceleration terms, f is the
vector with the gravitational terms. τ represents the
2
Figure 4: Degrees of free- Figure 5: Dynamic paramdom
eters
Figure 6: Take off parameters
torque components acting on the lagrangian coordinates, which are grouped in the vector:
θ = [q1
q2
q3
q4
q5 ]T
(2)
For the explicit representation of the terms cited
above see appendix XX.
The dynamic model explained above represents the
robot in the single support phase, where the system
has 5 degrees of freedom. For our strategy we also
need the dynamic representation of the double support phase, where the robot has only 3 degrees of freedom. We have chosen to obtain such a representation
by reducing the order of the original dynamic model
using the Lagrangian multipliers. This method has
been used before, for example in robotic manipulators
interacting with objects [11].
4
Figure 7: Inverse pendulum scheme
a control strategy in which the double support phase is
assumed to be instantaneous [4, 12, 2, 13, 14], and the
actual biped locomotion is achieved by the single support phase. We have chosen to fully exploit the double
support phase, for the reasons that will be explained
shortly afterward.
The main idea on which we rely for the control of
the system is to reduce the dynamic of the system, in
the single support phase, as that of a passive inverse
pendulum. This has been done before, for example
in [7, 15, 16, 17, 4, 5], but what we want to do is
to explicitly control the boundary conditions of the
pendulum, to obtain a desired dynamic evolution.
The single support phase starts when the robot is
about to lift off the ground one of its two feet, more
specifically the rear foot. This is the take-off configuration CT O , which we have chose to assign using three
parameters: dStep, dSwitch, qM in. The meaning of
these parameters is shown in figure 6.
In the CT O , we treat the whole robot as an inverse
pendulum (figure 7);
this is done by calculating the center of gravity P
and the inertia momentum I of the whole system. The
Locomotion strategy
In this section we will explain the main ideas upon
which the control theory is based, underlining the
robot hardware limitations which have guided some
important choices.
The robot is equipped with local PID controllers at
each joint. It is then possible to assign desired joint
angles, but it is not possible to control neither joint
velocity nor joint torque. Therefore the control system
must only rely upon desired joint angles, so it is mainly
a planning problem.
As it has already been explained, the biped locomotion is composed by two main phases: the single
support phase and the double support phase. During the double support phase the robot is controllable,
while it is not in the single support phase. This is due
to the lack of an actuated foot. In the double support
phase there is the transition of the support leg, from
right to left or viceversa. Many authors have proposed
3
length of the pendulum l is given by the distance of the
COG from the front foot. The initial position of the
pendulum, given by the angle β is easily calculated.
The main principle of our control is to obtain a
single support phase in which the inverse pendulum
moves clock-wise, in order to obtain the locomotion of
the whole robot along the positive x-axis. To obtain
such a goal, the initial velocity of the pendulum must
be greater than a minimum value calculated using the
conservation of the mechanical energy principle:
r
2mgl(1 − cosβ0 )
(3)
β̇0 =
ml2 + I
Figure 8: Double support phase
where β̇0 is the initial velocity of the pendulum, m
and I are the mass and the inertia momentum of the
pendulum, g is the gravity acceleration, l is the length
of the pendulum. Using the inverse kinematics, the
velocity β̇0 is translated in a set of given joint velocities in the CT O ; this configuration is now completely
defined. We can know illustrate the basic principle
of our control strategy: we want to use the double
support phase to bring the robot from a given initial
configuration C0 to the CT O ; in the CT O the robot
will switch to the single support phase, where we will
use the inverse pendulum approximation to control the
dynamic of the swing leg. The objective is to swing
this leg forward in coordination with the main body
movement.
Now we can explain more deeply the meaning of the
various parameter used to define the CT O . The parameter dStep must be assigned accordingly to the robot
legs length. A dStep too long would provoke unfavorable situations for the actuators, plus the body oscillation would be too great. A dStep too short would
result in a slower locomotion and in stability problems.
The parameter qM in is a security margin to avoid the
singularity configuration of the knee joint, situation in
which the thigh and the leg are aligned. This parameter is directly related to the maximum leg extention,
which is reached by the rear leg in the CT O . The
starting angle β0 is directly related to the dSwitch parameter. An higher value for dSwitch causes a longer
path for the inverse pendulum, thus an higher initial
velocity, resulting in an higher actuators power output
needed.
4.1
various movements using polynomials, joint position
function of time.
In the double support phase the system has three
degrees of freedom: xh and yh , cartesian coordinates
of the hip of the robot, and q5 angle of the main
body in the world frame. Therefore we need three
3rd grade polynomials to assign the complete movement. The initial and final conditions for (xh , yh ) are
already known. For the q5 angle we chose a fixed
value throughout the whole locomotion process, to reduce oscillations. The third polynomial is therefore
completely assigned, with final conditions (q5f , q̇5f ) =
(q5 0 , 0). An example of the resulting movement is
shown in figure 8
In figure 9 we illustrate a flow chart of the double
support phase control strategy.
4.2
Single support phase
The single support phase starts in the CT O . The dynamic of the main body is not controllable; it is evolving following the inverse pendulum dynamic. What
we have to control is the dynamic of the swing leg. It
is important to remark that the inverse pendulum dynamic is an approximation: if we move the swing leg,
the whole center of gravity will change as well. But
the swing leg has only 6% of the whole mass, so if we
keep the accelerations of the leg low, the perturbation
on the whole system will be limited.
What we want is to let the swing foot travel the
required 2 ∗ dStep distance, as it is shown in figure 10
There are some important requirements to be met in
the planning of this movement. First of all, the various joint accelerations are to be kept as low as possible,
for the reason explained beforehand. When the foot
touches the ground an impact event occurs: its magnitude has to be minimized, meaning that the linear
velocity of the foot in respect to the ground has to be
Double support phase
The double support phase starts from an initial
given configuration, or from the final configuration of
the preceding single support phase. The objective is
to reach the CT O with a given set of joint velocities.
In the robot used for the experiments we can control
only the joint position, so we have chosen to plan the
4
kept small, ideally zero. Last, the foot trajectory has
to be clear off the ground during the swinging phase.
As in the double support phase we have chosen to
assign the swing foot trajectory using a set of 3rd grade
polynomials.
xsf (s) = axsf s3 + bxsf s2 + cxsf s + dxsf
ysf (s) = aysf s3 + bysf s2 + cysf s + dysf
(4)
As it is shown in figure The trajectory is composed of
two segments: the first one from the foot lifting point
A to the highest point B , the second one from the
highest point B to the foot landing point C (figure
10). We use to segments because in this way we are
able to assign freely the initial and final foot velocity,
and we are able to modify the position of the highest
point of the trajectory.
The polynomials are functions of the parameter
s ≡ [0, 1]: in this way it is possible to easily obtain
a coordination between the dynamic of the swing leg
and that of the main body, using the algorithm that
we are going to explain.
1. We assign the total distance that we want the hip
to travel during the single support phase, as a
fraction of dStep:
xHT OT = Csingle dStep
Figure 9: Flow chart of the double support phase
Csingle ²[0, 1]
(5)
The Csingle parameter represents the fraction of
the step length traveled using the single support
phase. In the human locomotion it is around 0.8,
we have found good results using a value around
0.35; this in mainly due to the limited torque output of the robot joint actuators.
2. During the execution of the movement, we calculate the current hip distance traveled xH, using
the direct kinematics. We now know the fraction
of the single support movement executed
xrel =
xH
xHT OT
(6)
3. What we want is to coordinate the leg with the
body. So if the body (hip) moves a little, so has
to do the leg. And when the body reaches its final
position, the swing foot has to touch the ground.
To easily obtain such a goal we calculate the reference point for the foot using the polynomials 4
with the parameter
Figure 10: Single support phase: trajectory of the
swing foot
s = xrel
(7)
4. Using the inverse kinematics for the swing leg,
knowing the position of the hip and the reference
point for the foot, we can calculate the joint position to be given to the PID controllers.
5
Figure 11: Improvement in the hip trajectory
It is important to remember that we want the angle
of the body in respect to the ground q5 to be kept
stable around a fixed given value throughout the whole
movement. This is done by varying the joint angle
between the body and the support leg accordingly.
The original idea was to keep the joint angle of the
supporting knee fixed in the single support phase, to
keep as close as possible to the initial inverted pendulum configuration. But we have found better results
varying this angle also: in this way it is possible to
smoothen the trajectory of the hip, as it can be seen
in figure 11: the support leg is the only one represented in the figure. A is the CT O , B is a configuration in which the knee angle is fixed: as we can see
the hip trajectory is an arch of a circumference. C is
a configuration in which the knee is varied during the
movement: the hip trajectory is a straight line parallel to the ground. The great advantage in having a
straight line as a hip trajectory, is that the center of
gravity of the whole system stays on a constant height,
so the potential energy remains constant. This results
in saving of actuation energy.
In figure 12 we illustrate a flow chart of the single
support phase control strategy.
4.3
Figure 12: Flow chart of the single support phase
Simulation results
The two phases of the walking cycle that have been
illustrated can produce a stable biped locomotion on a
legged robot. To prove such a statement we have implemented a dynamic simulator of a 5-link biped robot,
using the MATLAB software package. We have conducted various simulations, varying the different walking parameters illustrated in the previous sections. In
figure 13 the result of a simulation of 8 steps is illustrated. Note that the robot starts from a given
configuration of equilibrium, then goes to its assigned
walking configuration, with a fixed angle for the main
Figure 13: Result of 8 steps walking cycle
6
body. Note also that after few steps a stable cycle is
obtained, as it can be seen from the trace of the main
body movement.
5
5.1
Implementation and experiments
Modification in the control strategy
The control strategy introduced in the previous sections has been modified in some parts for the implementation on the robot. This is mainly due to some
hardware limits of the system we use.
The original single support phase was based on a
real time feedback, in which the body angle q5 was
obtained and used to calculate distance xH traveled
by the hip (sec. 4.2). We tried to measure this angle
using the 3 inertial acceloremeters of the robot. We
assumed that the various accelerations were negligible
small compared to the gravity acceleration g: in this
way the data from the accelerometers represent the
current orientation the vector g, always perpendicular
to the ground. With a simple equation in then possible
to obtain q5 .
Though this method can work in theory, we have
found two main problems: accuracy of the calculated
q5 and the feedback rate.
The various accelerations in the system are not
small enough to be ignored. So the assumed g vector is not always perpendicular to the ground.
We have measured that a feedback cycle takes 54
msec to be completed. The single support phase lasts
an average of 0.4 sec, thus we have only 7 or 8 feedback cycles during the movement. This number is obviously too small to guarantee a correct execution of
this phase.
We have then chose to abandon the real time feedback strategy, and to obtain an approximated value
for q5 using an on-line numerical integration of a reduced order system model. We have obtained good
results using the dynamic equation for the inverted
pendulum used in 4:
θ̈ +
g
cos θ = 0
l
Figure 14: Starting configuration (left), beginning of
the double support phase (right)
Figure 15: The swing foot is being lifted off the ground
(left), beginning of the single support phase (right)
plemented on the robot software platform. It has produced its desired results, which we summarize in the
sequence from figure 14 to 17.1
6
Conclusions
7
Dynamic equations
The dynamic equations governing the system are
expressed in the form:
B θ̈ + h(θ, θ̇) + f (θ) = τ
1 There
is a movie available at
http://www.geocities.com/fabiozonfrilli
(9)
the
web
site:
(8)
It is important to note that we calculate the angle θ
not q5 ; but the latter can be obtained from the former with the addition of a constant, assuming that
the approximated inverse pendulum does not alter its
configuration during the movement.
5.2
Experiments
Figure 16: Execution of the single support phase (left),
highest point h0 for the swing foot (right)
The proposed control strategy, with the modifications explained in the previous section, has been im7
References
[1] Tad McGeer, “Passive dynamic walking”, The
International Journal of Robotics Research, vol.
9, no. 2, pp. 62+, 1990.
[2] Tad McGeer, “Passive walking with knees”, 1990
IEEE Robotics & Automation Conference, pp.
1640+, 1990.
Figure 17: Swing foot almost on the ground (left), the
swing foot touches the ground (right)
[3] D. Juricic M. Vukobratovic, “Contribution to the
synthesis of biped gait”, IEEE Transactions on
Bio-Medical Engineering, , no. 1, pp. 1–6, 1969.
where B is symmetric and is 5×5, h, f and τ are 5×1.
The general element of B is in the form:
[4] Kazuo Tani Shuuji Kajita, “Experimental study
of biped dynamic walking in the linear inverted
pendulum mode”, IEEE International Conference on Robotics & Automation, pp. 2885+, 1995.
bij = aij cos(θi − θj )
The terms aij
a11
a12
a13
a14
a15
a22
a23
a24
a25
a33
a34
a35
a44
a45
a55
i = 1, ..., 5
j = 1, ..., 5
(10)
are given by the following expressions:
[5] Kazuo Tani Shuuji Kajita, “Study of dynamic
biped locomotion on rugged terrain”, Proceedings of the 1991 IEEE International Conference
on Robotics & Automation, pp. 1405+, 1991.
= m1 (l1 − lc1 )2 + I1 + m2 l12 + m3 l12 + m4 l12 + m5 l12
= m2 l1 (l2 − lc2 ) + m3 l1 l2 + m4 l1 l2 + m5 l1 l2
= −m3 l1 lc3 − m4 l1 l3
= −m4 l1 lc4
= m5 l1 lc5
= m2 (l2 − lc2 )2 + I2 + m3 l22 + m4 l22 + m5 l22
= −m3 l2 lc3 − m4 l2 l3
= −m4 l2 lc4
= m5 l2 lc5
2
= m3 lc3
+ I3 + m4 l32
= m4 l3 lc4
=0
2
+ I4
= m4 lc4
=0
2
+ I5
= m5 lc5
[6] Shuuji Kajita Kenjii Kaneko Hirohito Arai
Noriho Koyachi Kazuo Tanie Qiang Huang,
Kazuhito Yokoi, “Planning walking patterns for
a biped robot”, Submitted To IEEE International
Conference on Robotics & Automation.
[7] M. Masubuchi J. Furusho, “A theoretically motivated reduced order model for the control of dynamic biped locomotion”, Journal of Dynamic
Systems, Measurement, and Control, vol. 109, pp.
155+, 1987.
[8] Gill Pratt Jerry Pratt, “Intuitive control of a planar bipedal walking robot”, Proceedings of the
1998 IEEE International Conference on Robotics
& Automation, pp. 2014+, 1998.
The elements of the h vector are expressed by the
following:
2 Pratt Jerry Pratt, 2Peter Dilworth, “Virtual
− θGill
h1 (θ, θ̇) = a12 sin(θ1 − θ2 )θ̇22 + a13 sin(θ1 − θ3 )θ̇32 + a14 sin(θ1 [9]
4 )θ̇4 + a15 sin(θ1 − θ5 )θ̇5
model
control
of a −
bipedal
2
2
a25 sin(θ
θ5 )θ̇52 walking robot”, Proh2 (θ, θ̇) = −a21 sin(θ1 − θ2 )θ̇1 + a23 sin(θ2 − θ3 )θ̇3 + a24 sin(θ2 − θ4 )θ̇42 +
2
ceedings
of
the
1997
IEEE
International Confer2
2
2
h3 (θ, θ̇) = −a31 sin(θ1 − θ3 )θ̇1 − a32 sin(θ2 − θ3 )θ̇2 + a34 sin(θ3 − θ4 )θ̇4
ence
on
Robotics
&
Automation,
pp. 193+, 1997.
h4 (θ, θ̇) = −a41 sin(θ1 − θ4 )θ̇12 − a42 sin(θ2 − θ4 )θ̇22 − a43 sin(θ3 − θ4 )θ̇32
h5 (θ, θ̇) = −a51 sin(θ1 − θ5 )θ̇12 − a52 sin(θ2 − θ5 )θ̇22
[10] Isao Shimoyama Hirofumi Miura, “Dynamic walk
of a biped”, The International Journal of Robotics
The elements of the f vector:
Research, vol. 3, no. 2, pp. 60+, 1984.
fi (θ) = wi sin(θi )
i = 1, . . . , 5
(11)
[11] Heikki N. Koivo Raimo K. Kankaanranta, “Dynamics and simulation of compliant motion of a
manipulator”, IEEE Journal of Robotics and Automation, vol. 4, no. 2, pp. 163+, 1988.
where
w1
w2
w3
w4
w5
= −g[m1 (l1 − lc1 ) + m2 l1 + m3 l1 + m4 l1 + m5 l1 ]
= −g[m2 (l2 − lc2 ) + m3 l2 + m4 l2 + m5 l2 ]
= g[m3 lc3 + m4 l3 ]
= g[m4 lc4 ]
= −gm5 lc5
[12] K. Aida Y. Nasu K. Mitobe, N. Mori, “Nonlinear
feedback control of a biped walking robot”, IEEE
International Conference on Robotics & Automation, pp. 2865+.
8
[13] Guy Bessonnet Mostafa Rostami, “Impactless
sagittal gait of a biped robot during the single
support phase”, Proceedings of the 1998 IEEE
International Conference on Robotics & Automation, pp. 1385+, 1998.
[14] D. T. Phan P. H. Channon, S. H. Hopkins,
“Derivation of optimal walking motions for a
biped walking robot”, Robotica, vol. 10, no. 2,
pp. 165–172, 1992.
[15] M. Masubuchi J. Furusho, “Control of a dynamical biped locomotion system for steady walking”,
Journal of Dynamic Systems, Measurement, and
Control, vol. 108, pp. 111+, 1986.
[16] Kyoung D. Kim Jong H. Park, “Biped robot
walking using gravity-compensated inverted pendulum mode and computed torque control”, Proceedings of the 1998 IEEE International Conference on Robotics & Automation, pp. 3526+, 1998.
[17] Robert D. Howe Eric R. Dunn, “Towards smooth
bipedal walking”, In Proceedings of the IEEE International Conference on Robotics and Automation, vol. 3, pp. 2489+, 1994.
9