Hierarchical Controller For Highly Dynamic Locomotion Utilizing Pattern Modulation and Impedance Control Implementation On The MIT Cheetah Robot
Hierarchical Controller For Highly Dynamic Locomotion Utilizing Pattern Modulation and Impedance Control Implementation On The MIT Cheetah Robot
at the
September 2013
A u th or ........ ....
....
....
....
..... .. ........ ..... ....
........
...
Dep/men of Mechanical Engineeri6 L
August 23 201-3
C ertified by .......................... .
Sangbfe Kim
Esther & Harold E. Edgerton Assistant Profpssor of Mechmailcal gineering
-Xhesis Supervisor
by
Jongwoo Lee
Abstract
This thesis presents a hierarchical control algorithm for quadrupedal locomotion. We
address three challenges in developing a controller for high-speed running: locomotion
stability, control of ground reaction force, and coordination of four limbs. To tackle
these challenges, the proposed algorithm employs three strategies. Leg impedance
control provides programmable virtual compliance of each leg which achieve self-
stability in locomotion. The four legs exert forces to the ground using equilibrium-
point hypothesis. A gait pattern modulator imposes a desired footfall sequence. The
control algorithm is verified in a dynamic simulator constructed using MATLAB and
then in the subsequent experiments on the MIT Cheetah robot. The experiments on
the MIT Cheetah robot demonstrates high speed trot running reaching up to the speed
of 6 m/s on a treadmill. This speed corresponds to a Froude number (Fr = 7.34),
which is comparatively higher than other existing quadrupedal robots.
3
4
Acknowledgments
I would like to begin by thanking my advisor, Prof. Sangbae Kim for his advice,
patience, and understanding. I thank the members of the MIT Biomimetic Robotics
Laboratory for their help. I am especially pleased to have met Dr.Dong Jin Hyun
in this lab. Without his support and encouragement, I would not have achieved
anything. I also give many thanks to Sangok Seok for his advice and efforts to
It has been a pleasure to meet all of my friends in Boston, especially the members of
MIT KGSA. It was memorable to hang out with Albert Wang and Meng Yee (Michael)
Chuah. Also, I give thanks to Yoobin (Anna) Seo for correcting grammatical errors.
Additionally, I appreciate Samsung Foundation of Culture for their unconditional
Finally, and most importantly, I would like to give thanks to my family; Kyuheon
Without their love and support, I would not have finished my study.
5
6
Contents
1 Introduction 19
1.1 Motivation and objectives . . . . . . . . . . . . . . . . . 19
1.2 Current state of research . . . . . . . . . . . . . . . . . . 20
1.3 Our approaches and accomplishments . . . . . . . . . . . 24
1.4 Structure of this thesis . . . . . . . . . . . . . . . . . . . 27
7
3.2 Leg trajectory generator . . . . . . . . . . . . . . . . . . . . . . . . . 52
4 Simulation result 63
4.1 Trot running with constant speed . . . . . . . . . . . . . . . . . . . . 64
4.2 Trot running with acceleration and gait transition to gallop . . . . . . 66
6 Discussion 81
6.1 Estimated pitch variation . . . . . . . . . . . . . . . . . . . . . . . . 81
6.2 Fr and COT............................. . ....... 83
A Model Parameters 95
8
C Leg compliance 99
D InverseKinematics 101
9
10
List of Figures
1-1 MIT Cheetah robot in the experiment, running with trot gait pattern
2-1 The planar-rigid model of the MIT Cheetah robot. A planar model is
constructed since the robot is constrained in its sagittal plane for the
current experimental setup. Leg indices are also listed. FR: front and
right side. FL: front and left side. BR: back and right side. BL: back
and left side . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3-2 Sawtooth phase signals generated by phase modulator for trot gait
and its corresponding foot fall pattern diagram. The phase difference
3-3 Sawtooth phase signals generated by phase modulator for gallop gait
and its corresponding foot fall pattern diagram. The phase difference
11
3-4 The reference desired foot end trajectory with control parameters. 12
control points of B6zier curve are shown which define the swing phase
3-5 separation of 12 control points of B6zier curve for swing phase trajec-
vertical axis, the tracking error between the actual foot-end position
and the designed foot-end trajectory is converted into the vertical force
3-7 Front leg with the impedance control: virtual leg compliance realiza-
3-8 Block diagram for leg control; implementation of the impedance control
4-2 Leg trajectory designed for stable trot running. Both front and back leg
4-3 Trot running at 3.4 m/s. Velocity (top) and pitch of the front body
(middle) are plotted over time. Height variation over distance trav-
eled is also plotted (bottom). Pitch variation and height variation are
12
4-4 Measured ground reaction forces (top) and estimated ground reaction
cal ground reaction forces (solid lines) and horizontal ground reaction
4-6 Leg trajectory designed for gallop running. Both front and back leg
4-8 Trot acceleration and gait transition to gallop running. Velocity (top)
and pitch of the front body (middle) are plotted over time. Height
trot to gallop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4-10 Snapshots of gait transition from trot to gallop by varying gait pattern
5-1 Experimental setup: the MIT Cheetah robot runs on the speed-controlled
sagittal plane. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5-3 Snapshot for the trot running gait of the MIT Cheetah robot with each
13
5-4 Estimated forward velocity (top) of the MIT Cheetah robot: ±0.15 m/s
bounded difference was observed between the estimated speed and the
treadmill speed measured by a rotary encoder (CUI Inc. AMT 102-V)
directly attached to the DC motor main axis. Froude number (middle,
blue solid line) and cost of transport(middle, red solid line) of the robot
are plotted together. . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5-5 Graph set of generated desired trajectories by the leg trajectory gen-
erator and measured actual gait trajectories during trotting gait from
1 to 6 m/s for a) front right leg, b) front left leg, c) back right leg, d)
back left leg. In each leg graph, top left: desired trajectories, top right:
actual trajectories with respect to speed, bottom left: comparison be-
tween desired/actual trajectories, bottom right: comparison between
actual trajectories at low/high speeds, respectively . . . . . . . . . . . 76
5-7 Sawtooth phase signals generated by phase modulator for gait transi-
tion from trot to gallop. The phase signal converges from one to an-
other, linearly with time. Gait transition through linear convergence
from the trot parameters to the gallop parameters . . . . . . . . . . . 79
6-1 Actual measured trajectories of four legs with respect to each should/hip
joint, where all the trajectories for four legs are overlapped with re-
spect to each shoulder/hip joint. The data allow us to approximate
the height/pitch variation of the robot during trot experiment. . . . . 82
14
6-2 Estimated shoulder height trajectories: convex shape of shoulder height
m /s. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6-3 Estimated duty factor Det for the front right leg: measured kinematic
phases. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
6-4 Estimation of generated forces in Cartesian coordinate at foot-end of
front legs. Stance phase(high vertical force region) and swing phase(low
duty factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
the foot-end . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
C-1 Measured virtual leg compliance in the polar coordinate (r, 0): a)
D-1 Inverse kinematics of three-segment leg. The proximal and the distal
15
16
List of Tables
2.1 Possible states of a leg after impact and corresponding necessary con-
ditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.2 12 control points for Bdzier curve for designing swing phase trajectory. 55
4.1 Set of control parameters designed for the trot running simulation. . 64
4.2 Set of control parameters designed for the gallop running simulation. 69
E.1 Supplementary videos and urls are listed in the table . . . . . . . . . 103
17
18
Chapter 1
Introduction
Developing dynamic legged machines has been an active field of research in robotics
legged machines can outperform wheeled machines on rough, irregular and discon-
tinuous terrains in terms of mobility, versatility and energy efficiency [1]. This belief
is supported by locomotion skills that animals exhibit on natural terrains which are
unreachable for wheeled vehicles [2]. These advantages have increased investigations
of legged robots for a variety of tasks such as future transportation, disaster response
operations, and military purposes. Despite many robots already proved their ability
for stable walking, the performance of legged robots has not reached our expecta-
tion; few robots show both stable and agile performance in a rough terrain on which
sights from nature as well as the previous approaches performed by other roboticists.
fied mathematical models for quadrupeds, and controllers developed for quadrupedal
using MATLAB, and mathematical derivation of the simulator is also presented. Fi-
19
nally, the controller is implemented on the MIT Cheetah robot, and the experimental
results and analyses of the data are presented.
Biological findings
Quadrupedal animals have various kinds of gait patterns (walk, trot, pronk, bound,
half-bound, rotary gallop, transverse gallop, etc.). Interestingly, Alexander revealed
dynamic similarity between different sized quadrupeds, by defining a non-dimensional
speed, Froude number Fr, which is strongly correlated with gait patterns [3]. The
mechanism and reason of gait transition from one to another is still in question, but
it was observed that quadrupeds use the same gait pattern when their corresponding
Fr are the same.
The studies of quadrupeds discovered the relation between speed of locomotion,
gait pattern and spatial/temporal limb coordination such as stride length and stride
frequency. Dogs and horses tend to use different gait patterns over different speeds. It
has been revealed that the way animals modulate their speed varies by gait pattern:
dogs and horses modulate their stride frequency when they use trot, whereas stride
length is modulated when they use gallop. In both gait patterns, the duration of leg
swing is maintained constant for various speeds [4], [5], [6] and [7]. Metabolic energy
efficiency is often suggested to explain the reason why dogs and horses change their
gait from trot for mid-speed running to gallop for high-speed running [5], [7], while
other researchers speculate that horses transit gait pattern to reduce peak forces for
each limb [8].
20
well predicts the center of mass behavior of running animals with symmetric gait
pattern [9]. In this model, the center of mass behavior is represented as the motion
of a point mass which is attached to an ideal spring. Farley et al. examined that the
effective stiffness of the spring is independent from locomotion speed but determined
Ruina et al. [10] developed a collisional model to study the mechanism of redirect-
ing vertical body motion from downward to upward during running, in the perspective
of collisional energy loss. The collisional loss due to impact can be reduced by dis-
tributing impacts through multiple foot strikes. Aligned with this model, Bertram et
al. [11] tried to explain fundamental difference in mechanics between hind-limb initi-
ated gallop and front-limb initiated gallop, while explaining why galloping is effective
locomotion, whereas more elaborate models with specific controllers explain the de-
A planar model consists of a rigid body and four mass-less springy legs described
pronk and bound of quadrupeds [12] with Energy-pumping feedback controller. Sim-
ilar models were derived in [13] and [14] to compare trot, bound and gallop and
ilar planar model with additional degrees of freedom in body and legs [15], [16].
Feedforward/feedback control were applied to impose the sequence of four legs with
self-stability property. Stride length and stride frequency were related with forward
The concept of Central Pattern Generator (CPG) has been introduced as a way
mechanism can generate gait patterns without any sensory input, and the rhythmic
pattern of limbs and body dynamics are coordinated with sensory feedback [17], [18].
CPGs are often modeled as a set of nonlinear oscillators of which phases are coupled
with each other, to mimic neural networks [19]. Smooth gait transition was possible
21
[20]. The stability and synchronization properties have been studied with contraction
analysis in [21], [22], [23]. An open research topic in controllers using CPGs is to
coordinate the robot body dynamics and the CPG signals with sensory feedback.
mechanism and guides to possible control strategies. A controller based on the varia-
tion of the SLIP model was implemented on RHex robot to achieve stable locomotion
on rough terrain [24]. The stability of the SLIP model also inspired hybrid controllers
which combined the passive dynamics predicted by the SLIP model and higher level
controller [25], [26]. Nonlinear oscillators that mimic biological CPG include Fukuoka
model [27], Van-der-pol oscillator, [28], and Hopf-oscillator [29]. The Tekken [27] and
the Kotetsu [30] achieved walking on a rough terrain, with sensory feedback from
ground reaction forces and body attitude. The Cheeetah-cub [31] showed a successful
trot running using an open-loop CPG, depending on the passive stability given from
On the other hand, Raibert and his company Boston Dynamics, the pioneers of the
legged robotics community, have developed control algorithms which are not directly
inspired by biological findings [32], [33]. The controllers for their recent work are
not published, although they have achieved remarkable performances. Yoneda et al.
Trot and pronk gait was realized by a leg thrust regulation controller on the KOLT
Optimization techniques have been also used to design control algorithms for
tleDog platform to achieve a walking and a bounding gait [37], [38], with a machine
learning technique [39], for slow locomotion on rough terrain where careful motion
planning is required. Genetic algorithm (GA) has been also proposed for trajectory
22
optimization tool for dynamical systems with a large number of degrees of freedom.
These properties make GA fits to legged locomotion problem [40]. For example, foot
trajectories were optimized for the metabolic cost of locomotion using GA [41].
In order to directly control body dynamics of the robot, there have been efforts
to optimize forces exerted by four legs. Valenzuela and Kim showed the possibility of
pronk and bound gait for planar quadrupeds by optimizing hip torques at each stride
[42]. The StarlETH realized walk and trot by computing joint torques to generate
optimal forces and torques for controlling posture of the body [43].
Dynamic simulation techniques for a rigid body with kinematic constraints have been
developed in two different ways. One approach directly calculates forces to impose the
constraints, and the other, penalty method, indirectly applies the forces through dis-
placements. Barzel et al. [44] and Witkins et al. [45] proposed the former method. Fric-
tional dynamics on non-penetrating rigid body was also simulated with the Coulomb
The constraints enforced by the former method are violated due to numerical
errors accumulated during integration. Various methods have been extensively devel-
order dynamics for the constraints to dissipate numerical errors, has been widely used
due to its simplicity and intuitive approach [52]. Optimal Baumgarte parameters for
particular integration solvers with fixed time step size were investigated in [53], [54].
Collision has been another issue in modeling legged dynamics, since collisional
event happens whenever one of the legs hits the ground. It causes the system states
undergo an abrupt change due to large impulsive forces during a short period of
time. Two different approaches have been studied to solve this problem: algebraic
impact period into compression and restitution period. They define relationships
23
between normal impulses at contact point of the two objects before/after the impact
according to the Poisson's hypothesis, and integrate the system equations of motion
over the short compression and restitution period to compute states after the impact.
On the other hand, algebraic formulations deal with impact as an instantaneous event.
They define kinematic relation between normal velocities of the two objects at contact
point before/after impact, and solve for the generalized velocities after the impact
solve multi-link rigid body collision problems using both formulations, especially for
the case when impact between a system and the other occurs at one point while they
are already having contact with each other at multiple points. Advanced algorithms
for the algebraic collision law were invented afterwards [55], [57], but these are not
Dynamic simulations for bipeds and quadrupeds have been built based on the
techniques above. Often, they are accompanied with constrained optimization to find
a periodic solution while avoiding slip on the ground. Optimal controller exploit-
ing hybrid-zero dynamics was studied with bipedal robot simulator in [58]. Direct
collocation technique for legged locomotion to find optimal trajectories of the robot
and optimal ground reaction forces were studied with bipedal and quadrupedal robot
Approaches
Although many robots already proved their ability for stable walking, only a few
robots show both stable and agile performance. To enable quadrupedal robots to
The control algorithm is developed based on three strategies to deal with each of
24
the three issues. Programmable leg compliance is achieved in order to exploit self-
stabilizing property of passive dynamics. We modulate the ground reaction forces us-
feedback. These three strategies are integrated in the hierarchical structure of the
controller.
posture stabilization using high bandwidth attitude feedback such as body pitch and
pitch rate. The previous studies on the SLIP model proved the existence of the state
space region where the self-stability in the sense of limit-cycle is passively achieved
[9], [60]. It was also shown that this stable region could be enlarged with additional
active actuation [24], and this approach was implemented on the RHex robot [61]. The
self-stabilizing property have also been proposed for quadrupedal legged locomotion
[62], [63], [16]. Inspired by the SLIP model, previous researches installed mechanical
springs on the legged machines to exploit the self-stability [64], [31]. For the MIT
Cheetah robot, we achieve the programmable virtual leg compliance by the impedance
forces. The leg compliance created by the impedance control enables modulation
of the ground reaction force by adjusting its equilibrium position. This interaction
force control mechanism was observed in animals [67] and successfully demonstrated
using a planar manipulator [68]. Aligned with this hypothesis, we propose to design
desired leg trajectories for stance phase to penetrate into the ground. The penetration
depth of the trajectory is controllable to modulate the ground reaction force. The
larger impulse is required, the deeper the trajectory is designed to be. Besides, this
hypothesis provides an unified approach to control both motion and interaction force,
Lastly, we propose a gait pattern modulator which coordinates four legs per stride,
combined with a leg touch down event detection feedback. The stride-to-stridemod-
ulation is proposed to coordinate the robot body dynamics and the rhythmic motion
25
of the four legs. The touch down event of the reference leg triggers the pattern mod-
ulator to generate phase signals for four legs. The phases of the other three legs
are coupled with that of the reference leg to accomplish the desired gait pattern.
The touch down event is detected without any additional sensor on the foot. We
call this proprioceptive touchdown detection, which is allowed by the leg actuation
paradigm proposed in [66]. In the previous controllers using CPG, CPG signals are
directly transformed to joint-level trajectories for each joint position controller [27],
[30], [31]. This is distinguished from our approach of which stance phase trajectories
Accomplishments
The controller was verified in simulation experiments with properly chosen control
parameters. The running robot using trot gait reached the constant speed of 3.4 m/s
in the simulation, without any global posture feedback. With a simple accelerating
algorithm proposed for trot gait in this thesis, it also achieved acceleration, without
explicitly changing any control parameter but the target speed. Furthermore, the gait
achieve stable strides after transition from trot to gallop, we had to design different
reference trajectories for gallop from trot. This implies the necessity of a further
research on gallop.
The controller was then verified on the MIT Cheetah robot. The robot equipped
with the controller showed a remarkable performance in terms of both speed and
energy efficiency. The Frounde number (Pr) is one of indices to describe dynamic
locomotion which was studied by Alexander [3]. He examined that quadrupeds change
their gait from walk to run at Fr of 1, and transit their gait to asymmetric running
Cheetah accomplished stable trot running up to the speed of 6 m/s, which corresponds
it achieved highly efficient trot gait rivaling real cheetah, though this result is not
26
Figure 1-1: MIT Cheetah robot in the experiment, running with trot gait pattern on
the treadmill while constrained on its sagittal plane.
27
28
Chapter 2
BL BR FR FL
Figure 2-1: The planar-rigid model of the MIT Cheetah robot. A planar model
is constructed since the robot is constrained in its sagittal plane for the current
experimental setup. Leg indices are also listed. FR: front and right side. FL: front
and left side. BR: back and right side. BL: back and left side.
The robot and its planar model is depicted in Fig.2-1 with generalized coordinates
29
and leg index i E {FR, FL, BR, BL}. The proximal segment and the distal
segment of each leg are parallel according to the pantographic leg design so that
configuration of three-segmented-leg can be determined by two joint coordinates.
Three independent coordinates (x, y, qpit) define the body coordinate with respect
to the inertial frame. The flexible joints of the spine are designed to be dependent
on hip angles of hind legs (ql,BR, ql,BL) through differential gears. Therefore, any
additional coordinate for describing the motion of the spine is not necessary. The
robot model has 11 degrees of freedom (DoF). Inertial and geometrical parameters are
listed in Table A.1 in APPENDIX.A. The kinematic relationship between each joint of
the segmented spine and hip joints of the hind legs is approximated in APPENDIX.B.
MIT Cheetah robot is modeled using Lagrangian formulation with following ad-
ditional assumptions.
" The legs of the robot interact with the ground as point feet.
" The interaction between each foot and the ground follows the Coulomb friction
model.
" Impact between the foot and the ground is perfectly inelastic.
30
2.1 Hybrid dynamic systems
Hybrid dynamic system exhibits both continuous and discrete dynamics. The system
consists of multiple continuous dynamic systems, and when a certain condition is
satisfied the system states jump from one to the other continuous dynamic system[58].
The discrete transition of the hybrid system can be modeled as a Finite state machine
(FSM) as drawn in FIG.2-2. [69].
guard 1/action a
State A State B
If 'guard 1' is satisfied, transition from state A to state B happens, and action a
is executed. If 'guard 2' is satisfied in dynamics in state B, transition from state B
to state A happens without executing any action.
Discrete footfall pattern of legged locomotion inevitably involves hybrid dynamics
[2]. One should notice that the dynamics of the machine interacting with the ground
(stance phase dynamics) is different from that of the machine in the air (flight phase
dynamics). The transition happens whenever any leg of the machine touches down or
lifts off the ground. In particular, when a leg touches down the ground, not only the
dynamics changes from the moment but also instantaneous change in system states
will occur due to impact.
As described in 2-3, flight phase, stance phase, leg touch down, leg lift off and
instantaneousjump in states due to impact map correspond to state A, state B, #1 , 02
and action a, respectively. Typically, touch down event is detected with foot height
and lift off event is detected with normal component of ground reaction force at the
leg [70]. Mathematical description of the guard functions are as follows, for a leg
31
Touchdown(Oi)/Im pact Map
which is labeled as i:
where x is the state of the dynamic system, hi (x) is height of leg i and Fn ,i(x) is the
normal component of ground reaction force of leg i.
case 2. in contact with the ground and fixed to the contact position
32
case 4. in contact with the ground and slipping in the other direction.
motion and impose appropriate constraints according to each dynamic states. Fur-
thermore, floating-based model can directly computes constraint forces such as ground
choose floating based model in the legged robot dynamic simulation as in [58] or [21
and the author also follows the convention. However, it naturally induces accumula-
tion of numerical error on constraints and therefore an effort to inhibit this drift is
additionally required.
To realize the hybrid dynamics in the simulator one should evaluate the guard
functions and provide proper action in transition while integrating the dynamics
over time. The author uses MATLAB ode45 solver with odeevent option. The
event function looks for either foot height for aerial phase legs or normal component
of ground reaction forces for stance phase legs. When one of these values crosses
zero from positive to negative, the ode solver stops integration, the set of constraint
equations is changed, and ode45 restarts integrating with updated initial conditions,
if necessary.
Note that, using the standard ode toolbox of MATLAB has advantages and dis-
advantages. Because it is a "black box" with varying step size, it turned out that
first, it is difficult to choose proper parameters for numerical error inhibition, second,
it is hard to have access and print dependent variables which are not defined as state
of the dynamics, such as ground reaction forces or input efforts, and third, sometimes
the event is not detected precisely without a clear reason. Nonetheless, MATLAB's
ode solvers has varying step size, which enables them to detect events more accurately
than fixed time step solvers. The powerful aspect of this accurate event detection is
33
2.2 Constrained equations of motion
where q :[qitch, ql,FR, q2,FR, -'' , ql,BL, q2,BL, x, yJT E R"? is the generalized
coordinates of the model. The front body is chosen as reference floating body with
three coordinates [qitch, x, y]T to describe its posture and position. D(q), C(q, 4)4,
G(q) and B are the inertial matrix, Coriolis and centrifugal terms, gravitational
torque vector, and the input matrix, respectively. The matrices are calculated through
Lagrange formulation,
d OL(q,4) _L(q,) -(
dt~ aziai (2.4)
where L(q, 4) = T(q, ) -V(q) is Lagrangian of the system which is difference between
kinetic energy (T) and potential energy (V), and Ei is generalized forces. u E R 8 is
leg joint actuation torques which are transformed from geared BLDC motor outputs.
of each ground-contact foot with respect to the inertial frame. Nc is the number of
where h is the number of constraints. Note that, since the holonomic constraint D is
34
function of q only,
where Jh(q) = The partial derivative terms with respect to time, h , are
ignored, since constraints are not explicitly dependent on time in this thesis. Ib = 0,
( = 0 and (5 = 0 are named legal position, legal velocity, and legal accelerationand
the state satisfying these constraints is named legal state in [45]. Equality constraints
for each leg are applied from the moment when the leg makes contact with the flat
ground.
If the initial condition of the dynamics satisfies Eqn.(2.5), and the dynamics is accu-
rately integrated, the states will remain in the manifold which suffices the constraint
equations, if we solve Eqn.(2.3) with N = 0. In practice, however, feedback terms are
required to bring the states back to the desired manifold from the numerical error,
or, drift, which is accumulated during integration or initiated by impact map [45].
Various methods have been extensively studied to inhibit drift on the constraint
either in state-space formulation or projection methods[47]. Particularly, the Baum-
garte's stabilization method [52] is an intuitive and therefore widely studied method
including this work. It creates a virtual damper and a virtual spring around the legal
state so that even though small error occurs, the state of the equations converges to
= 0 and e = 0. Baumgarte's stabilization method is formulated as
where a and # are called Baumgarte parameters. Ideally, any set of Baumgarte
parameters will eventually make the system states converge to legal state. In practice,
however, Baumgarte parameters should be carefully chosen since the stability of the
discrete numerical integration is affected by choice of the parameters. Choosing proper
35
Baumgarte parameters have been studied for a particular type of numerical integrator
with fixed time step [53], [54]. However, a rigorous parametric study on varying time
In our case, it was observed that Baumgarte's parameter values do not affect that
system is frequently changing and therefore duration for any error to accumulate
damped 2da order dynamics to inhibit oscillation which may induce inaccurate event
detection and to employ the fastest convergence rate of the critically damped system:
As a result, two bundle of equations Eqns.(2.3), (2.7) are solved for 4 and F,,t
simultaneously with the Coulomb friction model and the impact map.
Designing a controller which is able to prevent a robot leg from slipping is a very
challenging task, even many studies have built optimal controllers which satisfy the
no-slip assumption [58], [59]. The task itself is difficult even in the simulation, and
moreover, because of inaccurate ground contact model, even if the controllers are
implemented on a real robot, they cannot guarantee the robot will not fall off at all.
Therefore, in the author's opinion, a simulator should allow a robot to slip with ap-
We decide to use the Coulomb friction model which is widely used in legged lo-
comotion community, as [2], [38], and [58]. The Coulomb friction model defines a
relation between tangential and normal component of the GRF, F and F, respec-
tively, namely friction cone: Ft <; pFI. Here p is the friction coefficient between a
foot and the ground. We set the same value for both static and kinetic friction coeffi-
cient, P, = Pk = 1. Computed GRFs, Fext, from Eqns (2.3), (2.7) should obey friction
cone, and are highly related to the construction of equality constraints, Eqn. (2.5). Es-
36
pecially, if a foot slips, the magnitude of tangential force is determined as jFt = pl F,,
ground-contact foot (NS)' and a 'slip ground-contact foot (S)' and to distinguish legs
having different states, indez vectors, are created: IdxNs is a 4 x 1 vector for non-
slipping legs and IdxS is a 4 x 1 vector for slipping legs. Sum of these two vectors
yields IdxTD, a 4 x 1 vector for ground-contact legs. Each boolean element of these
vectors represents FR, FL, BR, and BL, and if the value of the element is 1 then
corresponding leg is a element of the set. For example, if IdxNS = [0, 0, 1, 1 JT and
IdXS = [1, 0, 1, 1 ]T, then FR leg is slipping, BR and BL legs are fixed to the ground,
and FL leg is not contacting with the ground. Though these discrete states are not
explained in detail in the following algorithm, they play an important role to write
code in MATLAB.
Step 1. Solve with non-slip assumption and check friction cone condition
each contact is maintaining non-slip contact, since this is most likely happen
during legged locomotion with a well designed controller, and this assumption
D4 + H = JeFext (2.8)
JO = R (2.9)
37
and then solutions are
reaction force for each leg i and check whether the ratio is not larger than
iteration is terminated.
The leg of which pi is maximum, among those whose values are larger than
friction coefficient, is sorted as a leg sliding on the surface for the next itera-
tion. Update slip index vector IdxS and non-slip index vector IdxNS for the
The holonomic equality constraints are applied to the position of each ground-
contact foot. Non-slip ground-contact foot position should be fixed during in-
-D~q [cS
()
NS
) PNS(qO)
psq)
02NNsxl
ON~1 (2.12)
[pc,.(q)J [p (o)j ONsX 1 j
S[pNSq NS(q) . 02NNSx1
h(q)= - = q , (2.13)
c'.
p(q) J.S (q) ONS x 1
set of normal component of position vectors of slip contact feet, and qO is the
contact foot, and NS is the number of slip ground-contact foot. Since the
38
constraint sets are modified, the Jacobian of holonomic constraint equations in
Eqn.(2.9) also should be modified.
jNS
Jh = (2.14)
jNS F NS
=Bu +
JZ + MJt F
=Bu + JeFe.t, (2.15)
kp. .-- 0
where M = '. contains information of the direction of tangential
0 ---. k
force at corresponding leg.
39
Lastly, the outputs of the iteration are observed by the solver at each time step.
Once any non-contact foot position becomes penetrating the ground, or any normal
component of ground reaction force of contact foot becomes negative, the integrator
When system dynamics make a transition from one to another with 'TD' event(s), the
system states undergo an abrupt change due to large impulsive forces during a short
period time of impact. Two different approaches have been studied to resolve this
ential formulations separate collision into compression and restitution period, define
relation between normal impulses of two object at contact point before/after impact
with Poisson's hypothesis, and integrate the system EoM over the short duration to
compute states after the impact. On the other hand, algebraic formulations deal with
impact as an instantaneous event, and define kinematic relation between two obejcts
using normal velocities at contact point before/after impact, and solve for generalized
In this work, we use algebraic formulation to update the state of the system at
impact. Mason and Wang [72] observed contradiction in using the algebraic formu-
lation, such that kinetic energy of the system increased after the impact for certain
cases. However, if perfect plastic collision was assumed, such problem did not occur.
robots [58], thus we use algebraic formulation which is more stable, faster, and easier
ground models such as inconsistency in impact law. It also provides continuity for
gradient-based optimization, as well as simulation environment for both soft and rigid
cost and induces stiff problem due to high stiffness and damping of the ground model
40
[59]. Besides, we want to evaluate the performance of the controller under the ex-
istence of the discrete jump in the states, which occasionally happens in the real
system.
Generalized positions are invariable before/after impact (q+ = q-). The general-
ized velocities after impact, 4+, can be solved via the algebraic impact law, Eqn. (2.17),
with appropriate equality constraints, Eqn.(2.18).
q+ = q- (2.16)
~h(q) = J4
= Ohxl (2.18)
Step 1. Similar to the multi-link frictional contact problem, we start the iteration
with the simplest conditions. Solve with no-slip, no-bound assumptions for each
ground-contact leg after impact, and check whether conditions are satisfactory
with the assumptions. Let us define 'mp = ft Fextdt, impulse. Then, solutions
for Eqns. (2.17), (2.18) are
4+ = 4- + D1 JImp (2.19)
Imp = (JhD- 1 JT)~1 Jh4-. (2.20)
41
In general, a leg having contact with the ground before impact can have either
one of four different states after impact, and solution with each state should
satisfy a certain condition. Possible leg states after impact and correspond-
ing necessary conditions are listed in 2.1. If the solutions from Eqn. (2.19),
Eqn.(2.20) satisfy all the conditions, terminate the iteration. Otherwise, pro-
Table 2.1: Possible states of a leg after impact and corresponding necessary conditions
and IdxFS, those which slide in the positive and negative tangential direction,
the solutions from Eqn. (2.19), (2.20) satisfy all the conditions, terminate the
and Idxs, those which stick to the ground and slide on the ground, respectively.
Eqn. (2.19), (2.20) satisfy all the conditions, terminate the iteration. Otherwise,
42
Step 4. Update IdxTD.
those which maintain contact after impact. Some of leg contacting with the
ground may rebound after impact. Construct M, Jh and J accordingly as in
Eqn.(2.14), (2.15). If the solutions from Eqn. (2.19), (2.20) satisfy all the
conditions, terminate the iteration. Otherwise, proceed to the next step.
Note that in the numerical computation, the conditions in 2.1 should have thresh-
old values, for example, vt > le - 10. The problem often issued about this algebraic
observed.
43
44
Chapter 3
This chapter presents a new locomotive control framework for quadrupedal robots
developed in this thesis. The control algorithm is developed under guidance and lots
of discussion with Dr. Dong Jin Hyun. We address three challenges in designing
The control algorithm is developed based on three strategies to deal with each
point hypothesis by designing trajectories for four legs. A gait pattern modulator
These three strategies are integrated in the hierarchical structure of the controller.
The controller is governed by a set of control parameters, such as target speed, target
expressed by AS. The gait pattern modulator and the leg trajectory generator con-
stitute the high-level controller which manages and plans the motion and role of four
legs. Proprioceptive touch-down detection on a reference leg provides the stride initi-
45
TD Event Detection
High-level Controller
Figure 3-1: Schematic overall structure of the proposed hierarchical locomotive con-
trol framework. Each block represents each step and corresponding control parame-
ters. In this schematic diagram, the reference leg is front right leg, FR.
ation timing. The phase signals generated by the gait pattern modulator are mapped
to the desired trajectories of four legs. The low level individual leg controller controls
each leg as planned. Table 3.1 shows the control variables to be managed in the
proposed controller.
sensory feedback
The gait pattern modulator achieves a desired velocity and a target gait pattern
by coordinating the robot's four limbs with the phase signals, S. The phase signal
assigned to each leg is a fraction of the desired swing and stance period, T,, and
Tt, respectively, which are determined in accordance with the commanded desired
velocity.
46
Terminology Definition
Vd Desired speed
ASFR,i the phase lag between FR leg and leg i
T~t Desired stance phase period
t. Desired swing phase period
C = [CF, CB] Bezier control points for swing phase trajectory
L.,a. = (L.pan,F, L.pan,B)T half of the stroke length
6 = (SF, B)T penetration depth for stance phase trajectory
PO = (P,F, POB)T reference point of the trajectory
Kp,r radial stiffness of each leg
Kd,r radial damping of each leg
K,,o angular stiffness of each leg
Kd,O angular damping of each leg
advantages of choosing different gait patterns for different speeds have been observed
and therefore it is believed that robots should also be capable of choosing different
gait patterns. To impose a specific target gait pattern such as walk, trot, canter, and
gallop, the gait pattern modulator assigns the phase lag between four legs, As, so
that the temporal limb coordination is achieved.
Generated phase signals are referred as parameters for designing stance/swing phase
trajectories by the leg trajectory generator. Each signal Sj E [0, 1] is time-normalized
by T8 t and T,,, where i E {FR, FL, BR, BL} is leg index and j E {st, sw} is leg state
index(stance, swing).
Maes et al. [4] illuminated that the duration of leg swing remains steady over
various speeds. Respecting the natural behavior of biological systems, the desired
swing phase period, Ts, is prescribed as constant, 0.25 sec.
While maintaining the swing duration, animals decrease stride frequency and con-
tact time as the locomotion speed increases [5], [7]. Therefore the desired stance phase
period, T8 t, is determined according to the desired speed Vd as:
2Lsa
'st = 2L 1" (3.1)
Vd
47
where L.,an is half of the stroke length as depicted in Fig.3-4. The stroke length
approximates a distance traveled of the shoulder/hip joint during stance phase. This
implies we only modulate stride frequency to accelerate, which is similar to [74].
Once the gait pattern modulator is triggered, it assigns stance phase Si" and then
swing phase S" to each leg, which completes a whole stride.
The phase signals generated by the gait pattern modulator have to be synchronized
with the environment such that stance phase or swing phase is properly commanded
to a leg when it touches down or lifts off the ground, respectively. Therefore, detection
of 'TD' event and 'LO' event become crucial. In lots of legged robot researches, a force
sensor is attached to the foot for the event detection, and furthermore, for ground
reaction force feedback control and for stance/swing switching control.
The MIT Cheetah robot leg with low mechanical impedance enables the propri-
oceptive 'TD' detection without additional force sensor, by sensing abrupt change
in the commanded force computed by the impedance control scheme. When a leg
touches down the ground, radial force in outward direction is commanded by the
impedance controller in order to impede the leg's sudden flexion, which is induced by
the ground impact. The value is comparatively higher than one commanded during
the swing phase; therefore, the 'TD' event can be recognized in a way like a limit
switch, by setting a threshold value on radial force, F,.
Note that the leg may lose contact for a short instant during the stance phase due
to uneven terrain, which leads to the controller's mis-detection for 'stance to swing
transition'. To prevent this failure mode, we activate proprioceptive 'TD' detection
after completion of 90% of the swing phase. 10% margin is given for the leg's agile
response to the early occurrence of the 'TD' event'.
'The touch down sensor thus acts similar to limit switch. This type of sensing might be vulnerable
to chattering of leg but note that the chattering after 90% of the swing phase is mainly in the radially
outward direction by the centrifugal force.
48
3.1.3 Imposing gait patterns
In order to impose a desired gait pattern, phase coupling between four legs is required.
If all the leg phases are initiated by each 'TD' event, however, it is challenging to
maintain the consistency of the specific gait pattern. A novel yet simple way is
developed to solve this problem: TD event-based stride to stride pattern modulation.
Detection of 'TD' event initiates generation of the phase signals of the reference leg,
and the other three legs' phases are coupled with that of the reference leg having
predefined phase lag, AS. The proposed method can be versatilely applied to any
This 'stride to stride' method generates phase signals just for one stride and waits
for the next trigger. Therefore, after a completion of one stride, all the legs become
stationary until next 'TD' event on the reference leg is detected. This undesired
stationary period is the result of minimal adaptation to the environment while main-
taining a specific gait pattern, which is necessary for locomotion on rough terrain
with unexpected external disturbances. Ideally, the undesired stationary period can
be vanished if the pre-defined swing phase period, 'T,, is exactly matching to the
phase signals are created referring to clocks of each leg. The reference leg clock is the
time elapsed after 'TD' event, and the other clocks have time delay with respect to
changes from FALSE to TRUE when the event is detected, and one stride cycles with
49
t - tTD
telapse - ref (3.2)
refia
refid if telapse>Ttra
ref >stride
where tlpe is the elapsed time after tTI which is the moment of the TD event on
the reference leg. ti is the clock for each leg, where i E {FR, FL, BR, BL}. ASrefi is
the phase lag of the leg i with respect to the reference leg, represented as a fraction
of the desired stride period. Note that ASrefref is zero by definition. tTj is updated
discretely when the next 'TD' event is detected, while 90% of swing phase of the
reference leg(Sre") is completed.
Si increases from zero to one during ist and subsequently Sj" repeats from zero
to one during ,,. Each leg phase signal follows the reference time having time delay,
or, phase lag with respect to the reference leg.
_ti-
Here we present phase signals generated by proposed phase modulator and cor-
responding foot fall pattern diagrams for trot and gallop gait pattern used in the
experiment. A front right leg (FR) is chosen as the reference leg in the examples. To
accomplish a specific gait pattern, appropriate phase lags are prescribed with respect
to the FR leg. Trot gait is a symmetric gait pattern, of which phase for contralateral
legs are the same.
ASFR,FL 0.5
AStrot = ASFR,BR 0.5 (3.7)
ASFR,FL trot
50
FL *A.;
BR
Figure 3-2: Sawtooth phase signals generated by phase modulator for trot gait and
its corresponding foot fall pattern diagram. The phase difference is represented in
the diagram.
-_.'75k,*'" jp
BL~ASRF
The phase difference between each leg for a gallop, which is an asymmetric gait
pattern, is not well defined but varies by literature. Here, following phase difference
is chosen for gallop.
[ASFRFL [0.2]
Agallop = ASFRBR] =allop5=(3.8)
. .... go p .ed
FR
FL
BR-D
Figure 3-3: Sawtooth phase signals generated by phase modulator for gallop gait and
its corresponding foot fall pattern diagram. The phase difference is represented in
the diagram
51
3.2 Leg trajectory generator
The leg trajectory generator transforms the phase signals from the phase modulator to
the desired trajectories for each foot-end which are designed with variable parameters.
The leg trajectory generator plays a key role in our scheme; the robot is capable
of managing its stability with adjustable trajectories while following a specific gait
pattern commanded by the gait pattern modulator.
Swing phase and stance phase trajectories are designed individually in different
perspectives while guaranteeing continuous and smooth transitions: pure position
control and compliance force control, respectively.
Swing phase trajectories are designed by Bezier curve defined by a set of 12 control
points, C = {ck}, and stance phase trajectories are spatially designed as sinusoidal
wave of which period is twice of stroke length. Also, the trajectory is designed about
the reference point, PO with respect to the local shoulder/hip coordinate system.
Fig.3-4 shows the designed reference gait trajectory.
200 -
300 -
Ctx2.
400- rotr on
IWW-throujgh
7 n
stance
7001 1
-200 -100 0 100 200 3
x-axis (mm)
Figure 3-4: The reference desired foot end trajectory with control parameters. 12
control points of Bezier curve are shown which define the swing phase trajectory (black
solid line). Multiple overlapped points are denoted as 'xn'. Stance phase trajectory
as sinusoidal wave is also described in the figure(red solid line).
52
3.2.1 Design of the trajectory in the swing phase
The primal objective of designing the swing phase trajectory is to protract a leg
with sufficient ground clearance to avoid obstacles and with sufficient leg retraction
rate. Also, feasible swing phase trajectory, pi"(t), should require relatively low energy
The three-segmented pantographic design of the MIT Cheetah leg enables protrac-
tion with low energy usage by exploiting its natural dynamics. Swing phase trajectory
is designed by two dimensional Bezier curve constructed with 12 control points while
approximating the protraction trajectory to around the natural behavior of the legs
n
piW(t) = pi"(Sfw(t)) = cB (Ssw(t)) (3.9)
k=O
S dpi dSr" 1 dpi
= dSfw dt dS(3.10)
where Bn(Sm (t)) is the Bernstein polynomial of degree n, (n+1) is the number of
Horizontal (x) and vertical (y) positions of control points are designed indepen-
2
A, is r-th forward difference operator: Ar ck = A- 1
Ck+1 - Ar-1ck
53
dently based on these properties, in the parasagittal plane with respect to hip/shoulder
1. double overlapped control points, co,y and ci,.,, are used for zero velocity at 'LO'.
trajectory.
4. For comfortable 'TD' with 'swing leg retraction' in the y-direction, the acceler-
5. double overlapped control points, cio,, and cii,,, are used for zero velocity at
'TD'.
The total required 12 control points are shown in Fig.3-5 as red circles.
y-axIs
. 0.a v.
Figure 3-5: separation of 12 control points of Bezier curve for swing phase trajectory
into vertical direction and horizontal direction
In horizontal direction, the leg initially has 'follow-through', changes the direction,
has 'protraction', changes direction again and has 'swing-leg retraction' sequentially.
Therefore,
1. The horizontal velocity at LO is defined as the difference between co, and ci,.
54
2. To change the direction after 'follow-through', double overlapped control points
are positioned.
control points.
Fig.3-5 shows 11 required control points as blue circles. In this thesis, 12 control
points are used for the horizontal direction as well for 'single instruction multiple
data streams (SIMD)', a fast and efficient computation algorithm, by coping with
B6zier control points as 12 x 2 array.
The 12 control points for the designed gait trajectory are listed in Table. 3.2.
Satisfying the requirements described, the swing phase leg-trajectory, of front right
leg for example, is designed to create ground clearance of 0.15 m in the middle of
'protraction', swing leg retraction speed of 4.0 m/s with prescribed '' = 0.25 ms,
Lp,,= 200 mm, and Po = (0 mm, 500 mm) as Fig.3-4.
x (mm) y (mm)
co -200.0 500.0
ci -280.5 500.0
c2 -300.0 361.1
c3 -300.0 361.1
c4 -300.0 361.1
c5 0.0 361.1
c 0.0 361.1
c7 0.0 321.4
c8 303.2 321.4
cq 303.2 321.4
cIO 282.6 500.0
c1 1 200.0 500.0
Table 3.2: 12 control points for B6zier curve for designing swing phase trajectory.
55
3.2.2 Design of the trajectory in the stance phase
The stance phase control of each leg directly affect the performance on quadruped
locomotion via interaction with the ground. Therefore, the stance phase trajectory
The stance phase trajectory is proposed to simply be a sinusoidal wave with two
parameters depicted in Fig.3-4: 1) half of the stroke length, L,,, and 2) amplitude
variable, 6. Based on the phase signals, Sit, the reference foot-end trajectory of each
leg is generated during it 8 . Stance phase trajectories for each leg are parameterized
px (t) = - 2Si'(t)) + P 0 ,x
1an(I (3.12)
dS' dt T
The stance phase trajectory in horizontal direction is linearly designed under the
assumptions that the foot does not slip and the relative velocity of the shoulder/hip
to the foot-end is constant as the desired velocity during Tst. Lspan in stance phase
means a half of the distance traveled of a hip/shoulder during each stance phase. To
guarantee continuity at transition between stance and swing phases, Lspan and P are
of the proposed sinusoidal wave. Again, the vertical trajectory should be interpreted
The robot body dynamics is resulting from net horizontal impulse and net verti-
56
cal impulse exerted by four legs. To achieve periodic motion of the center of mass
of the body in vertical direction during running, the following vertical momentum
where m is the robot mass, Tsatide and T, is the actual stride period and actual
stance phase period, and Fet are external forces, i.e., GRFs. While maintaining
the sum of vertical impulses, redistribution vertical impulses to each leg is necessary
because the combination of net horizontal impulse and net vertical impulse induces
pitch moment to the robot [75]. Therefore, stance phase trajectories of the front and
the rear legs are designed separately to regulate pitch of the robot.
To directly control the robot body dynamics as described, full state sensory feed-
back is required to exactly compute the desired forces for for legs at each moment
the exact body states and proper distribution of the forces are challenging.
Nonlinear coupling between variables such as Tt, T,,side and Fet in Eqn.(3.16)
requires well defined model with minimal model uncertainties. Moreover, to compute
and generate desired force vectors at each foot-end correctly, exact measurement of the
robot orientation, or, reliable state estimation, which requires concurrent regulation
Due to these underlying difficulties, a stance phase control in this thesis is de-
signed in local coordinate only with feasible sensory feedback such as kinematic data
pliance in four legs to employ possible advantage of intrinsic stability. This virtual
compliance provides an effective way to solve the complex problem of contact force
control, equilibrium point hypothesis [67]. The hypothesis proposes that a method
animals might use to exert proper force is controlling the equilibrium point of the
virtual compliant system of their limb to have a penetration depth into a contact sur-
57
face. Then, instantaneous difference between the actual position and the equilibrium
position generate the requisite torques without complex inverse dynamics problem.
Trajectory tracking error in the stance phase is mainly induced by GRF due to
the interaction with the ground. The impedance control realized by the leg controller
generates forces at the foot-end in the reactive manner according to the displace-
ment/velocity errors at the foot-end. The integral on the generated force by the
contact legs during the stance period is the impulse as expressed in the right-hand-
side of Eqn.(3.16). Especially at high speed, leg dynamics is comparatively faster
than the body dynamics, and the shoulder/hip height ye is almost stationary while
the robot's leg is moving. When this assumption is effective, the shape of trajectory
error in vertical direction follows that of the desired trajectory, so as the vertical
force exerted to the ground according to the virtual impedance. If an implementable
gains for the impedance control is predefined, the vertical impulse exerted on the
ground during the stance period is possible to be adjusted through the design of the
trajectory [76].
r Impulse
generation
Y' a vertical
force Fy
6.
error
position/velocity
Vutual
e. , e. leg compliance
Desired Trajectory
Figure 3-6: Stance trajectory design with equilibrium-point hypothesis: Along with
vertical axis, the tracking error between the actual foot-end position and the de-
signed foot-end trajectory is converted into the vertical force incorporated with the
leg compliance. The time-integral of the force during the stance period is the vertical
impulse.
Therefore, in order to generate the required impulse for running, the leg force
exerted on the ground can be modulated through adjusting penetration depth of the
virtual reference trajectory into the ground as shown in Fig.3-6 where y, and ye are
the vertical component of a desired trajectory and the position of the ground with
respect to the shoulder/hip joint, respectively.
58
Series of harmonic functions can create various shape of trajectories with a few
parameters which can generate different impulses. In this thesis, only a sinusoidal
stance phase trajectory is generated with the amplitude, 6, as a control variable for
trot gait. We expect higher order series can be used for asymmetric gait pattern.
Once the reference trajectory is defined, additional 4 DoFs are permissible to the
operator for adjusting the predesigned reference trajectory in order to adapt to the
environment. The four parameters are translation of the reference point P in hori-
zontal and vertical direction, scaling of the entire trajectory in horizontal direction,
and penetration depth 6. The potential usage of Po,, is inspired by [77]. For trot,
the value is set to zero, but further investigation is required for gallop where more
pliance for intrinsic stabilitiy as well as to accomplish motion control in swing phase
inverse kinematics nor inverse dynamics. Since the impedance controller provides
stable motion control and effective interaction control, we can avoid complex problem
of switching between stance and swing control which involves exact event detection
problem.
The agility of the mechanical and electrical leg system enables the low level leg
point. The bandwidth of the mechanical parts of the robot's leg is measured to be 100
Hz with efforts to minimize mechanical impedance of the robot leg. For the legged
robot, its legs inevitably has ground impact which generate wide frequency range of
disturbance. In order to stabilize such a leg system and create virtual compliance, the
fast overall closed loop is highly required and therefore a FPGA/RT based control
59
architecture is constructed to achieve 250 us loop time. Consequently, a virtual
compliant leg system could be realized as the visco-elastic model of a muscle, without
Virtual leg impedance is created in the polar coordinate as in Fig.3-7 when the
'virtual leg' is defined as the straight line from the should/hip joint to the foot-end
of each leg. By imposing this virtual spring and damper, one can adopt results
from biological examinations, simplified dynamic model studies and previous robotic
experiments with mechanical springs installed on legs, such as proper value for leg
virtual,
e spring &d r r
92.9
.3
ground
Figure 3-7: Front leg with the impedance control: virtual leg compliance realization
with stiffness and damping for radial/angular directions
Fig.3-8 shows the block diagram for individual leg impedance controller imple-
mented on the real robot. Measuring joint positions with the rotary encoders, leg
forward kinematics and Jacobian return a foot-end position and velocity with re-
spect to a shoulder/hip. The Cartesian position and velocity errors in trajectories are
transformed to the polar coordinate and multiplied with the predefined impedance to
T Kp,rer + Kd,rr
pKp,oeo + Kd,oe(
60
where er, ,., eo, and do are radial position error, radial velocity error, angular position
error and angular velocity error and Jpa,. is Jacobian from hip to foot end.
Environment
Faxt
Polar
Gait generator transformation
[. I
[ forward kinematics
from body
to foot-end
Figure 3-8: Block diagram for leg control; implementation of the impedance control
to create virtual leg compliance.
61
62
Chapter 4
Simulation result
The control framework is assessed in the simulator. The simulation results are con-
vincing enough for the author to verify the validity of the proposed control framework
to enable fast and stable quadrupedal locomotion. It is also able to change its gait
pattern from trot to gallop, followed by a few strides in the simulation. A still shot
of the video is shown in Fig 4-1. The ground patch is adopted from the work of [78].
The simulator is constructed using MATLAB as developed in section 4. Equations of
motion are integrated with the ode45 solver, with the RelTol of le-6 and the AbsTol
of le-6.
Figure 4-1: Animation interface constructed using MATLAB. 3-D animation of planar
simulator, ground reaction forces, velocity, pitch variation, and leg phase(stance: 1 /
swing: 0) are shown in the animation.
63
4.1 Trot running with constant speed
The robot achieved 3.4 m/s running with trot gait in the simulation experiment.
A set of properly chosen control parameters for trot running are listed in Table.4.1.
Corresponding leg trajectories for front and back legs are drawin with respect to local
shoulder/hip joint of legs, in Fig.4-2
-WO0
4000 P0,11
-7001
-N00 -2D -100 0 100 33 30 - 0 -100 0 100 20D 3W0
x-Ws (11M1)
Figure 4-2: Leg trajectory designed for stable trot running. Both front and back leg
trajectories are presented with respect to local shoulder/hip coordinates.
Terminology Value
T., determined according to Eqn.(3.1) with vd
'a, 0.25 s
93F Bezier control points in Table. 3.2
Lspan,F 170 mm
5
F 36 mm
PO,F (0 mm, -500 mm)
93B Bezier control points in Table. 3.2
Lspan,B 170 mm
JB 10 mm
PO,B (0 mm, -500 mm)
Kp,r 5,000 N/m
Kd,, 100 Ns/m
Kp,o 100 Nm/rad
Kd,o 4 Nms/rad
Table 4.1: Set of control parameters designed for the trot running simulation.
Fig. 4-3 shows the transient response of the simulation with the initial perturba-
tion. The robot successfully reach steady-state running of approximately 3.4 m/s with
64
1...........
-1*1 1 2 4 a 10 12 14 16 18 20
imei (9)
-4
0 102 30 10 8 18 0
Time (n)
Figure 4-3: Trot running at 3.4 m/s. Velocity (top) and pitch of the front body
(middle) are plotted over time. Height variation over distance traveled is also plot-
ted (bottom). Pitch variation and height variation are damped out as the robot
approaches to the steady state running.
stable trot gait; which was a bit faster than the target velocity, 3.0 m/s. Note that
Fig. 4-4 shows GRFs solved in the simulator and GRFs estimated from torque
command at each joints. The symmetric trot gait organized by the gait pattern
modulator can be observed from the ground reaction force profiles. Integration of
the vertical forces over one stride, i.e., from t = 13.06 s to t = 13.44 s, matches to
the gravitational impulse over the same period, mgT,,,. Relatively flat portion of
the force plot is due to saturation of knee joint torques for front legs. In addition,
the comparison supports the concept of the proprioceptive feedback; the computed
ground reaction forces and the estimated ground reaction forces are deviated from
Lastly, snapshots from the trot running of the planar MIT Cheeta robot simulation
is shown in Fig.4-5.
65
12 122 14 12 1 11 12 134 11 13 14
Figure 4-4: Measured ground reaction forces (top) and estimated ground reaction
forces at each leg (bottom) between time t = 12 s to t = 14 s. Vertical ground
reaction forces (solid lines) and horizontal ground reaction forces (dotted lines) are
plotted together. Solid-dotted horizontal line indicates the weight, mg, of the robot,
where m = 29.443kg in the simulation. Input joint torques are coordinate transformed
to estimate ground reaction forces.
66
AS, smooth and continuous gait transition is achieved by linear transition of AS over
jectory parameters. It is revealed that the leg trajectories for back leg have to be
designed in a different way. The phase lag vector AS and the leg trajectory control
parameters are both changed linearly in time during gait transition. The modified
equation for stance phase trajectory is as follows. Still, the trajectory is combination
of harmonic waves to create desired shape with a few control parameters [3]. The
back leg trajectory is designed considering that back legs provide strong propulsion
tion, such that GL = 1 will modulate trajectory from sinusoidal shape for trot gait
pattern.
Also, note that the reference point is moved backwards by 50 mm. This is specu-
lated by the reasoning in [77] so that it can produce nose-down pitch and propulsion.
Vot(t)
S
= '
dpi,x dt
' = --r (sin r p,(t)) + GL cos( )2 (4.2)
T8± 2Lvpan 2
Lspan
A set of properly chosen control parameters for gallop running is listed in Table.4.2.
Corresponding leg trajectories for front and back legs are drawn with respect to local
s and t = 9 s. The gait transition happened when all four legs are in the swing phase,
or, the robot has aerial phase. A clear distinction between trot gait and gallop gait
is possible. Also, note the decrease in duty factor, a fraction of stance period in a
Fig. 4-8 shows the velocity, pitch variation and center of mass height variation
during steady state trot running, accelerating trot running, and gait transition to
gallop. The pitch of the gallop running gait fluctuates much more than that of trot
67
D1 *.a3~
-WO
-00 -230
tO -10'0 0 100 O 130 :A0 -100 0 100 200 300O
Figure 4-6: Leg trajectory designed for gallop running. Both front and back leg
trajectories are presented with respect to local shoulder/hip coordinates.
running gait.
The measured ground reaction forces for four legs are also plotted in Fig. 4-9.
It can be seen that the peak value for ground reaction forces increases as the robot
accelerates. Note that rate of increase is more distinguishable in back legs than front
and back leg forces increase to cancel the pitch moment, which corresponds to the
of four legs between trot and gallop. During gallop in the simulator, the forces are
Lastly, Fig.4-10 shows the simulated gait transition snapshots in one stride. In
the simulation, the gait transition induces momentary instability which is desired to
be stabilized in the gallop gait. Even though the stable gallop gait is designed with
the proposed controller on the simulator, it is left for the future work.
68
Terminology Value
Tst determined according to Eqn.(3.1) with Vd
tsw 0.25 s
93F Bdzier control points in Table. 3.2
Lapan,F 170 mm
6F 36 mm
PO,F (0 mm, -500 mm)
93 Bezier control points in Table. 3.2
L,,an,B 170 mm
6B 25 mm
PO,B (0 mm, -500 mm)
GL 1
Kp,, 5,000 N/m
Kdr 100 Ns/m
K,,o 100 Nm/rad
Kd,o 4 Nms/rad
Table 4.2: Set of control parameters designed for the gallop running simulation.
Transition
Trot Gallop
5 6.5 7 75 85 9
-I-
8 55 5 9
-i
M
5 8.5 7 7.5 9 a 9
. . . . . .. . . . . - -----
--
I - - ----
!.. ...
8 6.5 75 9
ti(s)
Figure 4-7: The state of all four legs from t = 6 s to t = 9 s. Gait transition happened
at t = 8 s.
69
S 4 ----- -- - -- - --------
------------------- ---------
C,) n II
6 7 7 a 8.5 9
Time (s)
6 6.5 7 75 8 85 9
lime4s)
~0-
20 21 22 23 24 26 26 27 28 29 30 31
comx (M)
Figure 4-8: Trot acceleration and gait transition to gallop running. Velocity (top) and
pitch of the front body (middle) are plotted over time. Height variation over distance
traveled is also plotted (bottom). From t = 7 s to t 8 s, the robot accelerates and
at t = 8 s, transits its gait from trot to gallop.
0 4z
6 6.2 6.4 6.6 6.8 7 72 74 7.6 7.8 8 8.2 8.4 8.6 8.8 9
Tune (s)
trot 1 3 4
5 6 7 8 ga
Figure 4-10: Snapshots of gait transition from trot to gallop by varying gait pattern
parameters AS in linear over time
70
Chapter 5
mented on the real robot. During the experiments, the sagittally-constrained MIT
Cheetah robot achieved fast and stable trot running up to the speed about 6 m/s, and
transited to gallop running. The control system designed with National Instrument
devices on the MIT Cheetah robot is largely the work of Sangok Seok. Readers are
The MIT Cheetah robot is constrained on its sagittal plane, running on a modified
commercial treadmill (SOLE TT8) as shown in Fig.5-1. The treadmill motor (3.5 hp
minimal friction sliding guide is connected to the CoM of the robot through a revolute
joint in order to prevent the roll and yaw motion of the robot. The effective mass
of the guide on the robot, 3 kg, is equivalent to the mass of the four 22.2 V serially-
connected LiPo batteries (465 Whrs) which is in the explosion proof box outside of
71
the robot for safety.
Cheah
Treadmill
Figure 5-1: Experimental setup: the MIT Cheetah robot runs on the speed-controlled
treadmill. Minimal friction sliding guides constrain the robot on its sagittal plane.
The feasible sensory feedback on the controller are only positional data for each leg
joint given from the 13-bit rotary magnetic encoders installed at dual-coaxial BLDC
motor units of each leg. Other state feedback of the robot are not available in the
experiment. For the 'TD' detection of the reference leg the proposed proprioceptive
feedback is set with the value of the threshold force, 2N, which is obtained in the
preliminary experiment. Four Dynamixel EX-106+ smart motors are used to pre-
vent ab/addution of each leg. Also, the customized motor driver (MCU: Microchip
dsPIC3OF6010) handles the current control of each motor at 20 kHz.
72
0 .......
..
..
............ .......... ..
.. .. .. .. 0
2DO
3W
.............................
A
2W
3W0
....(
.....:.p j it ..
...H ......... .
.......:
............
4W ...........
1. 5W
400
.
.... ..... ....... ....
.....
..
Figure 5-2: Gait trajectories implemented on the experiment with leg workspaces
The predefined gait trajectories for the experiment are shown with respect to the
shoulder joint for the front legs and the hip joint for back legs in Fig.5-2. Shaded
regions are work space of each leg based on each mechanical joint limits. Control
parameters for front and back legs, denoted as F and B respectively, are listed in
Table.5.1.
Terminology Value
The swing trajectories for four legs are set to be identical by sharing the same
set of control points for the Bezier curve. During trot-walking at low speed in the
73
6 6
initial experiment, however, F and B are adjusted separately to stabilize the body
pitch. Due to the coupling effect between the semi-active spine and back legs, the
stance trajectory design of the back legs is conservatively designed just as flat simply
6
by describing B = 0, which is discussed in 6. PO,F and PO,B are designed considering
the stable attitude of the robot in the static posture. The desired swing leg retraction
speed with Lspa=170 mm is determined as 3.4 m/s by the property of the Bezier
curve.
[79], krei,ieg, the virtual radial stiffness of each leg of the robot is set to be 5,000
N/m. The gain values for radial damping (Kd,r), angular stiffness (Kp,O) and angular
To increase the speed of trot running, the stride frequency is modulated in ac-
observations and previous robotic experiment inspired this algorithm [6]. Farley et
al. observed that leg stiffness(keg) is independent on locomotion speed and exam-
ined that animals such as dogs and horses increase their stride frequency linearly
with speed in their treadmill running experiment. However, the statement itself is
Footfall Pattern
Figure 5-3: Snapshot for the trot running gait of the MIT Cheetah robot with each
footfall diagram: the existence of the aerial phase is observed between each paired
legs' step in trotting gait
74
5.3 Experimental results
It is demonstrated that the robot can accelerate up to 6m/s with the trot gait pattern
according to the operator's forward speed command. Stable running in the sense of
the limit cycle is observed over all the range of recorded velocity with the trot footfall
pattern as in Fig.5-3 in the experiment.
At low speed the robot walked with trot gait, but as speed goes up, it started
running, having the aerial phase which all for legs are off the ground.
Fig.5-4 shows the estimated forward speed of the MIT Cheetah robot based on the
measured kinematic data during the experiment because the controlled stance phase
period (''s) for each leg is determined according to the desired speed. Comparing the
...
r...ry
s.red.by .. der.(CUI I. . AMT...2-.)
..... .tta.hed
d i ..- t the D C
0 5 10 15 20 25 30 35 40 45 /s
lime (8)
Figure 5-4: Estimated forward velocity (top) of the MIT Cheetah robot: ±0.15 in/s
bounded difference was observed between the estimated speed and the treadmill speed
measured by a rotary encoder (CUL Inc. AMT 102-V) directly attached to the DC mo-
tor main axis. Froude number (middle, blue solid line) and cost of transport (middle,
red solid line) of the robot are plotted together.
observed speed of the treadmill, the difference is smaller than 0.15 in/s. As shown,
the robot accelerated up to approximately 6m/s in 50 seconds. The nondimensional
metrics Froude number (Fr), cost of transport (CoT) shown together in the graph
below. Fr was a record-breaking high number as 7.34 and CoT was a impressively
75
low number as 0.52 to rival legged animals around the robot's maximum estimated
speed, 6 m/s.
-200 . 4 -200
-20
- 0 a
-400 o
-200 20 _x00(mm 0-xs(
m
-200 0 200 ~ m JO-2ws 214
-200-200
6
x-exis (mm) x-xx( s m) x-axs (mm) (mm) (m()
sho
-200 Bkder -200 shoRLder shoulder ShoWldr
0 0 0 - 1
0 - tDesired 0 -Dkwred. -v-t.06 rn/
- Measured -v=.94 un/s -Measured -v--5.94 rn/s
200 --2 -200~"-2DO0 -00
200 x-axis (fvn 20v0~d
-400 "400
-400 -400
-200 0 200 -20 0 200 -200 0 200 -200 0 200
x-axis (mm) x-axis (mm) x-ads (mm) x-axis (mm)
E
c) ack Right Leg hi d) Back Left Leg
0
Desired Tnd-bw/ Desired Tfejector6
-00
-800 -2000
E-200 -40
-200 0 200 ~ m)
-200 ( M)
x-as (mm) x-xx(m (mm) s-axis (mm)s-xs(m ax m)
0 0 0 0
- Desired - v--1.06 un/s - Desired: - M6r/s
- Measured - v-5.94 rn/s -Measured - v5.94 rn/s
200
-. E-0 EE ..
Figure 5-5: Graph set of generated desired trajectories by the leg trajectory generator
and measured actual gait trajectories during trotting gait from 1 to 6 m/s for a) front
right leg, b) front left leg, c) back right leg, d) back left leg. In each leg graph, top left:
desired trajectories, top right: actual trajectories with respect to speed, bottom left:
comparison between desired/actual trajectories, bottom right: comparison between
actual trajectories at low/high speeds, respectively I
Fig.5-5 shows trajectories of all four legs measured over various speeds during the
experimentation. Trajectories are plotted with respect to each shoulder or hip joint
in the body local coordinate since access to global orientation is precluded in this
experimental setup. Nevertheless, trajectories are consistent with the desired trajec-
76
tory over a large speed variation. The data supports that both the pitch and height
of the frontal body fluctuate a little during the experiment. Slight pitch variation
at the beginning and the end of the swing phase can occur due to effect of the cou-
pling mechanism between hind legs and the spine. The top left subplot shows the
desired trajectory. Again, the shape of the desired trajectory remained the same over
different target speeds. Note the short straight line connecting the end of the swing
phase trajectory and the beginning of the stance phase trajectory. This short-cut
transition in commanded trajectory was due to early TD detection. The top right
subplot expands the actual trajectories with respect to its achieved speeds. As speed
goes up, the vertical width of the trajectory closed-loop decreases such that shoul-
der/hip heights in the stance phase decreases. The shorter stance time requires the
higher vertical force to provide the required vertical impulse for running as explained
in Eqn.(3.16). The bottom left compares the desired trajectory and the measured
trajectory. We can observe the tracking performance of the impedance control for the
swing phase; the trajectory converges within a fourth of duration of the entire swing
phase. On the other hand, for the stance phase, the impedance control exerted high
enough forces to make the robot run, due to the errors in stance phase trajectories.
Stance phase performance will be discussed with force plot. The bottom right plot
compares the measured trajectory at low speed and high speed. The relatively flat
portion of the trajectory indicates ground-contact. It can be concluded that the dis-
tance traveled of the front right shoulder was shorter than we designed as the target
speed increases.
A coupling effect of back legs with the spine through the differential gear was
observed in the measured back leg gait trajectories, which leads to the deviation of
the actual trajectories away from the desired trajectory even during the swing phase
where there was no interaction with the ground. Therefore, in order to improve the
performance of back legs, which are coupled with the spine, understanding of the
77
5.3.3 Estimation of generated leg-force based on applied cur-
rents
To investigate interaction between the robot and the environment, forces generated at
foot-end of the robot should be analyzed. However, the experiment was done without
a force plate on/under the treadmill or any force sensor at the foot to measure GRFs.
Nevertheless, the forces exerted at foot-end can be accurately estimated by joint
torques generated from the impedance control law, which has been demonstrated in
the simulation and in [66]. Each joint torques can be estimated by currents measured
at the customized motor driver for the MIT Cheetah robot considering actuation
transmission and pantographic leg design.
S a) FL - Shoulder/Hip - Knee
15.2 15.4 156 15.8 16 162 164 16.6 47. 47.6 48 48.2 48.4 48.6 48.6 49
-- Knee
Db) FR
-Shoulder/Hip
-0
152 154 156 15. is 182 164 166 I47. 47.8 48 482 454 48.6 468 49
- Shoulder/Hip - Knee
5D c) BL
47.6 47.8 48 482 48.4 48.6 48.8 48
5dK
15.2 18.4 156 18 16 15.2 164 16.
d) BR 50 Shoulder/Hip - Knee
tO 15.2 15.4 15.6 18.8 16 18.2 16.4 166 476I 47.8 48 48.2 4&.4 4865 4885 48
Time (a) This()
Figure 5-6: Commanded currents applied to each EM motor for shoulder/hip and
knee joints at leg i E {FL, FR, BR, BL}: The motor driver supplies the commanded
current to the EM motor which proportionally generate torque by the torque constant
Kr.
The currents at each actuator are precisely measured for the entire experiment.
Fig.5-6 shows measured currents provided to the dual-coaxial electric motors at the
robot's shoulder/hip, for 1.5 second around different speeds (4.1 m/s and 5.9 m/s).
These two sections are selected for fair comparison between different speed, because
the robot CoT, an indicator of efficiency, was similar.
Note the difference between currents at low speed and high speed, as well as for
78
front legs and back legs. We can observe contralateral symmetry in the graphs, which
is the characteristic of symmetric gait pattern, trot. Increase in peak current and
measured at back legs are generally much higher than that at front legs. This is
because 1) the back legs are longer than the front legs and therefore higher torques
are required to exert forces at foot end, given similar hip/shoulder joint height, and
Cheetah robot. At the maximum speed 6 m/s in the experiment, the robot was com-
manded to change its gait from trot to gallop and it was recorded by the high-speed
camera. The Fig.5-7 shows the phase signals for all legs when the gait pattern mod-
ulator linearly changes its phase lag parameters from trot to gallop in the predefined
period, 6 x '',,.. The desired smooth and continuous gait transition was observed
and the robot could keep running a few strides with the gallop gait pattern. However,
this is the preliminary result and further research will enlighten stable gallop with
A~t~t
-linear pattern parameter transition
Figure 5-7: Sawtooth phase signals generated by phase modulator for gait transition
from trot to gallop. The phase signal converges from one to another, linearly with
time. Gait transition through linear convergence from the trot parameters to the
gallop parameters
79
Figure 5-8: Snapshots of gait transition from trot to gallop recorded by a high speed
video captured at 500 fps depicting 150 ms
80
Chapter 6
Discussion
To the best of the author's knowledge, the MIT Cheetah robot is the fastest and the
most efficient quadruped robot among those which are actuated by electro-magnetic
motors. The FPGA/RT based system architecture enables the fast closed-loop con-
trol including data logging for desired/measured leg joint positions and commanded
currents. Based on these logged data, key features of the experiment are discussed in
this chapter.
Effective indices for locomotive stability in the sense of limit-cycle can be body height
and pitch variations. We hypothesizes the stable gait has small repetitive fluctuation
of body height and pitch. These height and pitch fluctuations can be estimated with
measured foot-end trajectory data for four legs as showin in Fig.6-1. The flat regions
of the measured foot-end trajectories is due to interaction with the ground and there-
fore represents the stance phase. The height of each shoulder/hip joint is equivalent
to the distance between shoulder/hip joint and foot-end positions in the stance phase
at instant. Therefore, pitch variation can be deduced from difference between front
and back height data, considering the shoulder-to-hip horizontal distance, 66 cm.
During trotting, the heights of both shoulder/hip joints are observed to remain
around 0.5 m. Maximum estimated height difference between a pair of legs for trot is
81
shoulder/hip joint
0 I4] _
X FR
T FL
Y BR .2-
100- BL
*0
200- -
U)
%6-
0
E
E -
300
400 aa
50-o
1
Estimated ground region
600'
-300 -200 -100 0 100 200 300
x axis (mm)
Figure 6-1: Actual measured trajectories of four legs with respect to each should/hip
joint, where all the trajectories for four legs are overlapped with respect to each
shoulder/hip joint. The data allow us to approximate the height/pitch variation of
the robot during trot experiment.
roughly around 4 cm at low speed and around 2.5 cm at high speed. The estimated
variation is estimated to be 4 deg at low speed and only 2.2 deg at high speed. This
small pitch variation relies on intrinsic stability. Since virtual compliance exerts force
proportional to error, if a large pitch motion occurs, force exerted by front/back legs
For the same reason, as speed increases, the height of the body gets lower as
shown in the trajectory vs speed plot of Fig.5-5. In the experiment, each designed
leg trajectory is identically applied to front/back legs over different speed range. At
higher speed, larger vertical forces are required within shorter stance period to satisfy
on compliant legs the height of body is observed to become slightly lower as speed
goes up.
82
6.2 Fr and COT
Nondimensional metrics such as Froude number (Fr) [74] [31] and cost of transport
(COT) [80] are often used to appropriately compare different sized legged robots and
animals. Fr is size-independent locomotion speed, defined as below
v2
Fr = -- , (6.1)
Indeed, we believe the maximum speed of the robot could be even higher because
1) the recorded maximum speed of the robot was limited by the maximum speed of
the treadmill and 2) the robot's maximum power consumption was not reached yet;
At 6 m/s, the consumed power was 1 kW, whereas the maximum power rating of the
robot is assumed to be 3 kW.
83
CO=P
C T=W-, (6.2)
where P is power used, W is weight of the robot and v is locomotion speed [80].
Computed COT of the robot is surprisingly low by virtue of its mechanical and
electrical design. For detailed description of enabling technology applied to the robot
to achieve high energy efficiency, the reader is referred to [81].
It is estimated that the MIT Cheetah robot ran around 2.2 m/s, by taking the en-
ergetic criterion of running, which was introduced in [82]. Fig.6-2 shows the vertical
length of the virtual front right leg and the estimated speed in the time interval 2 ~ 10
s. The shoulder height can be estimated by the vertical length of the virtual leg in
wallMng running
I...........................
Figure 6-2: Estimated shoulder height trajectories: convex shape of shoulder height
trajectory as a typical representation of running is observed after 2.2 m/s.
the stance phase. The convex shape of the vertical length matches to the concave
shape of the shoulder height and vice versa. Therefore, the typical concave/convex
shoulder trajectory for walking/running can be drawn before/after 2.2 m/s which is
84
matched to the Froude number 1 in Fig.5-4. Interestingly, this result is aligned with
the biological studies which have shown that quadrupeds start running at Fr = 1 [3].
The estimated duty factor D.etin Fig.6-3 provides another evidence that the MIT
Cheetah robot could run. Duty factor of a foot is defined as a fraction of the stride
Figure 6-3: Estimated duty factor Dest for the front right leg: measured kinematic
data for virtual leg is used to estimate duration of the stance/swing phases.
for which the foot is in contact with the ground [3]. Therefore, duty factor < 0.5
implies the animal/ robot has aerial phase. Even though the definition of running
is controversial and animals showed running with duty factor > 0.5, [4], [83], [82], it
is clear that having aerial phase is sufficient condition for running. Because of the
absence of force plate in the experiment, we estimated duty factor, De.,t, based on
kinematic data of each leg as we did for pitch estimation. From the duty factor plot,
we can say that the robot had the aerial phase after time t = 4 s, where the speed
estimation was 1.4 in/s.
85
;
.F . foot
f = (Jart) ' 2 xl, (6.3)
where JCat is Jacobian from shoulder/hip to foot-end. In the preliminary test, the
bandwidth of the leg system was observed around 400 Hz. Therefore, the estimated
forces are filtered with the cut-off frequency of 400 Hz. The vertical force F. and the
horizontal force F, exerted to the ground by the robot are estimated with respect
to the local coordinate at each shoulder/hip joint of the leg, which is described in
Fig.2-1. Nonetheless, we believe this can be an effective approximation for GRFs
with respect to the inertial frame, since the pitch variation was a little.
Around 4.1 nyu -P, Front Eigh -F. Meent Eight -, Frost Left -P. Front Laft
FR FL FR FL...
"- R FL FR FL..
86
Around 4.1 ms FBa*Right - FBakRight -FBakLdt -F.BackLeft
vertical forces during stance phase to compensate impact loss. For swing phase while
protracting legs, forces generated are small compared to that for stance phase, due
to leg design and swing phase trajectory design.
Fig.6-6 shows the vertical motion of front legs with corresponding desired trajec-
tories at 6 in/s. The desired foot-end vertical trajectories penetrate into the ground in
the short stance period, but the actual foot-end vertical trajectories L, cannot track
the desired trajectory due to the ground contact and remains in the estimated ground
region (around 0.5 in), which enables the distinct separation for the stance and air
phases. Therefore, the hypothesis for stationary height of the shoulder joint during
the short stance period is effective such that the height variation is smaller than 1
cm around 5.9 in/s. When the leg contacts with ground, the virtual leg compliance
generates vertical forces according to kinematic error intentionally induced by the
proposed sinusoidal trajectory for the stance phase and the time-integration of the
forces during the stance period is the vertical impulse required for the trot
running.
87
6.6 Contribution of virtual stiffness and virtual
damping to leg compliance
In order to quantify significance of virtual damping in the stance control, Fig.6-7 plots
to force exerted by the foot-end at two different speeds. Not only rejecting force ripple
in trajectory tracking control in the swing phase, virtual damping generates significant
T.W.W&
Figure 6-7: Virtual stiffness and damping contribution to create vertical force at the
foot-end
The two distinctive phenomena observed in the figure are following: 1) virtual
damping creates abrupt high forces at 'TD' event to deal with impact, and 2) the
contribution of virtual damping increases as duration of stance phase decreases, or, as
desired speed increases. Both features can be clearly explained by the fact that force
created by virtual damping is reactive to velocity error of the foot-end. A sudden
impediment due to the ground induces large velocity error which creates a peak force
at impact. As target speed increases, desired stance period decreases and therefore
the commanded velocity becomes faster. Naturally, it results in a huge velocity errors
accompanied with large force exertion. Therefore, virtual stiffness is dominant at low
speed but two compliant elements are equally dominant at high speed. By employing
this effect, we could create very stable fast locomotion with a little pitch fluctuation,
without variable compliance or variable trajectory over speed.
88
6.7 Force analysis on the back legs
Forces exerted at foot-end of the back legs are similarly calculated as shown in Fig.6-
5. As mentioned in chapter 5, however, these values are not good approximation of
GRFs because the back leg's actuating forces are spent for generating GRFs as well
as for bending spine through a differential gear. Nonlinear stiffness of spine is not
accurately modeled yet, thus analysis of GRFs exerted by back legs is complicated.
Still, general trends shown in the front legs are observed in the back legs. similar.
It is possible to observe contralateral symmetry between left and right legs, and legs
exert higher peak forces at higher speeds. To improve tracking/compliance control
performance of the back legs, further consideration of the system identification for
spine is required.
89
90
Chapter 7
A novel hierarchical controller for quadrupedal robots is presented in this thesis. The
and gait pattern modulator combined with touch down event detection. Virtual com-
pliance of each leg is created by low level impedance controller, providing self-stability
to the robot. Leg trajectories are designed to control the motions and ground reaction
point hypothesis. Phase coupling between four legs is imposed by the high level gait
A dynamic simulator is constructed based on the algebraic impact law and the
Coulomb friction model using MATLAB. In the simulator, the proposed controller
demonstrates capability of achieving a stable trot running, and achieving gait tran-
sition from trot to gallop. Simulation experiments conclude that the desired leg tra-
jectories for gallop should be differently designed from that of trot, while a range of
speeds could be achieved without modulating spatial parameters for the leg trajectory
in trot running.
91
the treadmill, without any force sensor or attitude measurements. The performance
of the robot is remarkable in terms of both speed and energy efficiency, which are
noticeable from corresponding Fr and CoT.
A set of control parameters is presented in the thesis with additional degrees of
freedom permitted to the operator, but basically the configuration of the set remains
flexible. According to the simulation experiments, the construction of this set of
parameters highly influences the performance of the robot. The hierarchical structure
of the controller and the flexibility in designing relationship between control variables
open various possibilities on further investigation.
1. Achieving stable gallop at even higher speed by using the proposed control
framework remains an ongoing work. Proper design of front/back leg trajecto-
ries and proper temporal coordination of four legs should be investigated.
3. The ground reaction forces can be more accurately modulated by the force
tracking impedance control. The force tracking impedance control has been
developed for manipulators fixed to the base. This approach can be extended
to legged machines if full-state feedback is feasible.
4. The spine will be modeled so that a force compensation for the effect of the spine
becomes possible in a feed-forward manner. We speculate that this flexible spine
will play an important role in galloping by storing and releasing elastic energy.
5. An intelligent algorithm for active posture control using attitude sensory feed-
back will be investigated for stable running on a rough terrain. Active stabiliz-
ing on top of self-stabilizing will show a better performance on irregular terrain
while maintaining simplicity in control.
92
6. A stabilizing controller for outdoor running using attitude sensory feedback
will be investigated. Roll and yaw stabilization have be to integrated with the
leg.
93
94
Appendix A
Model Parameters
Characteristics Value
Mbody,F 10.05 kg
lbody,F , 0.2 m
1spine 0.144 m
mbody,B 7.13 kg
lbody,B 0.187 m
Table A.1 shows the characteristic model parameters of the MIT Cheetah robot.
Note that, mass of the proximal segments(mscapulaF, mfemur,B) include motor rotor
mass.
95
96
Appendix B
qbackpitch = qfrontpitdz + 4
qspine (B.2)
97
98
Appendix C
Leg compliance
200
---- ------ --- ---.- ---------- ----- -- - 30 ---- - ................... --.- ---
20 - - - - - -- - -----
40
........... ..to l1OONm/nsd - -- --
..
-.-....-.-.--.-.---
..-.... ...-. . -- .-
200
a -..- .... ---.
... ----..
. - - - - - - -.-
-.30
-100
Figure C-1: Measured virtual leg compliance in the polar coordinate (r, 0): a) longi-
tudinal stiffness b) angular stiffness
99
100
Appendix D
InverseKinematics
The derivation of the inverse kinematics for three-segment leg is adopted from [841.
Typos in the reference is modified and rewritten in this work.
Xr
qr,
Figure D-1: Inverse kinematics of three-segment leg. The proximal and the distal
segment are parallel due to pantographic leg design.
101
0 = arctan(-) (D.1)
r = r (D.2)
2 1+ +21,13)
12+l -r 2
q2 = q3= arccos (( + li l -3)3)
212(11 ± 13)
= r3 (D.8)
12(11 +1 3 )sin q2
(l + 13)(12 cos q2 - (l + 13 ))42 (D.9)
l2 + (1i ± 13)2 - 212(11 + 13) cos q2
1 = - 42 - 4 (D.10)
102
Appendix E
Supplementary Video
A video is provided along with this thesis to show the results of theexperiment.
Table E.1: Supplementary videos and urls are listed in the table
103
104
Bibliography
[3] R. M. Alexander, "The gaits of bipedal and quadrupedal animals," The Inter-
national Journal of Robotics Research, vol. 3, no. 2, pp. 49-59, 1984.
[8] C. T. Farley and C. R. Taylor, "A mechanical trigger for the trot-gallop transition
in horses," Science, vol. 253, no. 5017, pp. 306-308, 1991.
[9] R. Blickhan, "The spring-mass model for running and hopping," Journal of
Biomechanics, vol. 22, no. 1112, pp. 1217 - 1227, 1989.
[10] A. Ruina, J. E. Bertram, and M. Srinivasan, "A collisional model of the energetic
cost of support work qualitatively explains leg sequencing in walking and gal-
loping, pseudo-elastic leg behavior in running and the walk-to-run transition,"
Journal of Theoretical Biology, vol. 237, no. 2, pp. 170-192, 2005.
105
[11] J. E. Bertram and A. Gutmann, "Motions of the running horse and cheetah
revisited: fundamental mechanics of the transverse and rotary gallop," Journal
of The Royal Society Interface, vol. 6, no. 35, pp. 549-559, 2009.
[14] P. Nanua and K. Waldron, "Energy comparison between trot, bound, and gallop
using a simple model," Journal of biomechanical engineering, vol. 117, no. 4, pp.
466-473, 1995.
[15] H. M. Herr and T. A. McMahon, "A trotting horse model," The International
Journalof Robotics Research, vol. 19, no. 6, pp. 566-581, 2000.
[17] S. Grillner and P. Wallen, "Central pattern generators for locomotion, with spe-
cial reference to vertebrates," Annual review of neuroscience, vol. 8, no. 1, pp.
233-261, 1985.
[18] A. J. Ijspeert, "Central pattern generators for locomotion control in animals and
robots: a review," Neural Networks, vol. 21, no. 4, pp. 642-653, 2008.
[19] M. Golubitsky, I. Stewart, P.-L. Buono, and J. Collins, "A modular network for
legged locomotion," Physica D: Nonlinear Phenomena,vol. 115, no. 1, pp. 56-72,
1998.
[21] W. Wang and J.-J. E. Slotine, "On partial contraction analysis for coupled non-
linear oscillators," Biological cybernetics, vol. 92, no. 1, pp. 38-53, 2005.
[22] Q.-C. Pham and J.-J. Slotine, "Stable concurrent synchronization in dynamic
system networks," Neural Networks, vol. 20, no. 1, pp. 62-77, 2007.
[23] K. Seo, S.-J. Chung, and J.-J. E. Slotine, "Cpg-based control of a turtle-like
underwater vehicle," Autonomous Robots, vol. 28, no. 3, pp. 247-269, 2010.
[24] J. Seipel and P. Holmes, "A simple model for clock-actuated legged locomotion,"
Regular and chaotic dynamics, vol. 12, no. 5, pp. 502-520, 2007.
106
[25] I. Poulakakis, E. Papadopoulos, and M. Buehler, "On the stability of the pas-
sive dynamics of quadrupedal running with a bounding gait," The International
Journal of Robotics Research, vol. 25, pp. 669-687, 2006.
[28] C. Liu, Q. Chen, and J. Zhang, "Coupled van der pol oscillators utilised as
central pattern generators for quadruped locomotion," in Control and Decision
Conference, 2009. CCDC'09. Chinese. IEEE, 2009, pp. 3677-3682.
[29] L. Righetti and A. J. Ijspeert, "Pattern generators with sensory feedback for
the control of quadruped locomotion," in Robotics and Automation, 2008. ICRA
2008. IEEE InternationalConference on. IEEE, 2008, pp. 819-824.
[321 M. Raibert, Legged robots that balance. MIT press Cambridge, MA, 1986, vol. 3.
[37] J. Z. Kolter, M. P. Rodgers, and A. Y. Ng, "A control architecture for quadruped
locomotion over rough terrain," in Robotics and Automation (ICRA), 2008 IEEE
InternationalConference on. IEEE, 2008, pp. 811-818.
107
[38] A. Shkolnik, M. Levashov, I. R. Manchester, and R. Tedrake, "Bounding on
rough terrain with the littledog robot," The InternationalJournal of Robotics
Research, vol. 30, no. 2, pp. 192-215, 2011.
[40] D. Gong, J. Yan, and G. Zuo, "A review of gait optimization based on evolu-
tionary computation," Applied ComputationalIntelligence and Soft Computing,
vol. 2010, 2010.
[41] K. Chae and J. Park, "Trajectory optimization with ga and control for quadruped
robots," Journal of Mechanical Science and Technology, vol. 23, no. 1, pp. 114-
123, 2009.
[44] R. Barzel and A. H. Barr, "A modeling system based on dynamic constraints,"
SIGGRAPH Comput. Graph., vol. 22, no. 4, pp. 179-188, 1988.
[46] D. Baraff, "Coping with friction for non-penetrating rigid body simulation,"
SIGGRAPH Comput. Graph., vol. 25, no. 4, pp. 31-41, 1991.
[50] M. Cline and D. Pai, "Post-stabilization for rigid body simulation with contact
and constraints," in Robotics and Automation, 2003. Proceedings. ICRA '03.
IEEE InternationalConference on, vol. 3, 2003, pp. 3744-3751.
108
[51] R. Weinstein, J. Teran, and R. Fedkiw, "Pre-stabilization for rigid body articu-
lation with contact and collision," in A CM SIGGRAPH 2005 Sketches. ACM,
2005, p. 79.
[53] S.-T. Lin and J.-N. Huang, "Stabilization of baumgartes method using the runge-
kutta approach," Journal of Mechanical Design, vol. 124, p. 633, 2002.
[54] P. Flores, M. F. Machado, E. Seabra, and M. T. Silva, "A parametric study on the
baumgarte stabilization method for forward dynamics of constrained multibody
systems." ASME, 2011.
[55] A. Chatterjee and A. Ruina, "A new algebraic rigid body collision law based
on impulse space considerations," Journal of Applied Mechanics, vol. 65, pp.
939-951, 1998.
[57] M. Payr and C. Glocker, "Oblique frictional impact of a bar: Analysis and
comparison of different impact laws," Nonlinear Dynamics, vol. 41, no. 4, pp.
361-383, 2005.
[59] M. Posa and R. Tedrake, "Direct trajectory optimization of rigid body dynamical
systems through contact," in Algorithmic Foundations of Robotics X. Springer
Berlin Heidelberg, 2013, vol. 86, pp. 527-542.
109
[63] R. Ringrose, "Self-stabilizing running," in Robotics and Automation, 1997. Pro-
ceedings., 1997 IEEE International Conference on, vol. 1, 1997, pp. 487-493
vol.1.
[64] S. Cotton, I. Olaru, M. Bellman, T. van der Ven, J. Godowski, and J. Pratt,
"Fastrunner: A fast, efficient and robust bipedal robot. concept and planar sim-
ulation," in Robotics and Automation (ICRA), 2012 IEEE International Con-
ference on, 2012, pp. 2358-2364.
[66] S. Seok, A. Wang, D. Otten, and S. Kim, "Actuator design for high force pro-
prioceptive control in fast legged locomotion," in Intelligent Robots and Systems
(IROS), 2011 IEEE/RSJ InternationalConference on. IEEE, 2012, pp. 1970-
1975.
[67] E. Bizzi, N. Hogan, F. A. Mussa-Ivaldi, and S. Giszter, "Does the nervous system
use equilibrium-point control to guide single and multiple joint movements?"
Behavioral and Brain Sciences, vol. 15, pp. 603-613, 1992.
[72] M. T. Mason and Y. Wang, "On the inconsistency of rigid-body frictional pla-
nar mechanics," in Robotics and Automation, 1988. Proceedings., 1988 IEEE
International Conference on, vol. 1, 1988, pp. 524-528.
[73] J. B. Keller, "Impact with friction," Journal of applied Mechanics, vol. 53, no. 1,
pp. 1-5, 1986.
[74] S. Kim, J. E. Clark, and M. R. Cutkosky, "isparawl: Design and turning for high-
speed autonomous open-loop running," The International Journal of Robotics
Research, vol. 25, pp. 903-912, 2006.
110
[75] D. V. Lee, J. E. Bertram, and R. J. Todhunter, "Acceleration and balance in
trotting dogs," The Journal of Experimental Biology, vol. 202, no. 24, pp. 3565-
3573, 1999.
[76] S. Jung, T. Hsia, and R. Bonitz, "Force tracking impedance control of robot
manipulators under unknown environment," Control Systems Technology, IEEE
Transactions on, vol. 12, no. 3, pp. 474-483, 2004.
[77] J. K. Hodgins and M. Raibert, "Adjusting step length for rough terrain loco-
motion," Robotics and Automation, IEEE Transactions on, vol. 7, no. 3, pp.
289-298, 1991.
[78] C. D. Remy, K. Buffinton, and R. Siegwart, "A matlab framework for efficient
gait creation," in Intelligent Robots and Systems (IROS), 2011 IEEE/RSJ In-
ternational Conference on. IEEE, 2011, pp. 190-196.
[79] R. Blickhan and R. Full, "Similarity in multi legged locomotion: Bouncing like
a monopde," Journal of Comparative Physiology A, vol. 173, pp. 509-517, 1993.
[80] V. A. Tucker, "The energetic cost of moving about: Walking and running are
extremely inefficient forms of locomotion. much greater efficiency is achieved by
birds, fishand bicyclists," American Scientist, vol. 63, no. 4, pp. 413-419, 1975.
111