# A Coordination Scheme for an Asymmetrically Running ... - IFToMM

A Coordination Scheme for an Asymmetrically Running ... - IFToMM

A Coordination Scheme for an Asymmetrically Running ... - IFToMM

### You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

12th <strong>IFToMM</strong> World Congress, Bes<strong>an</strong>çon (Fr<strong>an</strong>ce), June18-21, 2007<br />

A <strong>Coordination</strong> <strong>Scheme</strong> <strong>for</strong> <strong>an</strong> <strong>Asymmetrically</strong> <strong>Running</strong> Quadruped<br />

Kenneth J. Waldron<br />

St<strong>an</strong><strong>for</strong>d University<br />

Cali<strong>for</strong>nia, USA<br />

Abstract— In this paper we present a framework <strong>for</strong><br />

decoupling control inputs to a dynamic quadruped. This is a<br />

particularly difficult problem when the feet are placed<br />

individually, as in a gallop gait. The scheme developed here<br />

assumes that a steadily repeatable movement pattern that yields<br />

a stable gallop in a straight line on level terrain in the absence<br />

of disturb<strong>an</strong>ces has been generated, <strong>an</strong>d that control inputs, <strong>an</strong>d<br />

errors c<strong>an</strong> be regarded as small perturbations of this pattern.<br />

Keywords: running, dynamic stability, coordination,<br />

legged locomotion<br />

1 Introduction<br />

This paper will describe a scheme <strong>for</strong> decoupling<br />

control inputs in dynamic locomotion of a quadrupedal<br />

robot. In particular, the proposed method will be<br />

applicable to locomotion by me<strong>an</strong>s of a gallop gait in<br />

which the feet are placed individually, as compared to<br />

symmetric gaits in which they are placed in pairs [6].<br />

In this work we build on the ideas presented in<br />

reference [1] into a comprehensive scheme <strong>for</strong> computing<br />

control inputs on a stride cycle basis. It is assumed that a<br />

steady-state movement pattern is pre-computed that<br />

returns the system to its initial state at the end of every<br />

stride when running at nominally const<strong>an</strong>t velocity on<br />

level terrain. Errors to be corrected <strong>an</strong>d control inputs are<br />

viewed as being small perturbations from this basic<br />

motion pattern. This is very <strong>an</strong>alogous to the central<br />

pattern generator (CPG) concept used in modeling<br />

biological neuromuscular function <strong>for</strong> locomotion. The<br />

basic CPG movement pattern c<strong>an</strong> be evolved using a<br />

genetic algorithm [12], or otherwise derived.<br />

This approach is actually not fundamentally different<br />

from the method used by Raibert [2,6]. The central idea is<br />

that there is a st<strong>an</strong>dard position relative to the vehicle<br />

reference frame where the foot should be placed <strong>for</strong> the<br />

next st<strong>an</strong>ce in order to maintain a steady repetitive cycle at<br />

given const<strong>an</strong>t average speed. If it is desired to accelerate<br />

the system in the direction of motion the foot should be<br />

placed behind this st<strong>an</strong>dard position. If the system is to be<br />

decelerated, the foot should be placed ahead of the<br />

st<strong>an</strong>dard position. If a turn to the left is to be initiated the<br />

foot is placed to the right of the st<strong>an</strong>dard point etc.<br />

The monopod stride consists only of a single hop. That<br />

of a quadruped may consist of up to four hops. Let us<br />

consider a trot in which the diagonally opposed legs are<br />

used together [6]. Here there is a st<strong>an</strong>dard line on which<br />

the next pair of feet should be placed to maintain the<br />

cycle. Placing the left front/right rear foot pair on a<br />

parallel line behind the st<strong>an</strong>dard line produces a net thrust<br />

in the <strong>for</strong>ward direction, but also a thrust component to<br />

the right. If it is intended to continue in the same direction<br />

it is necessary to also place the right front/left rear foot<br />

pair the same dist<strong>an</strong>ce from the st<strong>an</strong>dard line. This<br />

produces a similar net thrust in the <strong>for</strong>ward direction, but<br />

also a thrust to the left that counteracts the thrust to the<br />

right of the previous foot pair. Thus, what matters is the<br />

result<strong>an</strong>t impulse taken over the complete stride. This is a<br />

simpler <strong>for</strong>m of the ideas presented below.<br />

2 KOLT<br />

The work is motivated by our KOLT vehicle project.<br />

KOLT, shown in Figure 1, is a four legged running<br />

Figure 1: The KOLT running machine that is in operation in<br />

the author’s laboratory.<br />

machine, intended to be capoable of asymmetric gaits,<br />

such as gallops [9]. The robot measures approximately 1.8<br />

x 0.6 x 0.8 m <strong>an</strong>d has mass 75 kg.<br />

KOLT is a four-legged machine that uses a store <strong>an</strong>d<br />

release strategy to provide the energy needed by the legs.<br />

St<strong>an</strong>ce times are very brief, m<strong>an</strong>dating such <strong>an</strong> approach<br />

[10]. Each leg has three controllable degrees of freedom.<br />

A valved air spring arr<strong>an</strong>gement is used to provide control

12th <strong>IFToMM</strong> World Congress, Bes<strong>an</strong>çon (Fr<strong>an</strong>ce), June18-21, 2007<br />

of leg thrust. Leg <strong>an</strong>gle at touch down is controlled by<br />

electric motors.<br />

Particularly pertinent to the present topic, the control<br />

method used is a modification of Raibert’s controller [6].<br />

While conceptually simple, injecting energy in the vertical<br />

direction plays havoc with coordination schemes <strong>for</strong><br />

multi-legged systems such as that described here. The<br />

reason is that it ch<strong>an</strong>ges the periods of the hops that<br />

separate st<strong>an</strong>ces <strong>an</strong>d, as will be discussed below, upsets<br />

position <strong>an</strong>d <strong>an</strong>gle relationships. Raibert himself did not<br />

vary the vertical thrust in his quadrupedal robot. A<br />

const<strong>an</strong>t setting worked well <strong>for</strong> the symmetric gaits he<br />

was interested in [6]. We choose to assume that we c<strong>an</strong><br />

apply a const<strong>an</strong>t, preset impulse in the vertical direction to<br />

each front foot [10]. The vertical impulses at the rear, are<br />

different, but also assumed to be const<strong>an</strong>t. This me<strong>an</strong>s that<br />

additional energy, when needed, must be added via the<br />

horizontal impulses produced by the feet.<br />

The legs are viewed as supplying thrust along the leg<br />

axis, being the line between the contact between the foot<br />

<strong>an</strong>d the ground <strong>an</strong>d the center of the hip or shoulder. This<br />

assumption is appropriate <strong>for</strong> functions like running in<br />

which the peak loads supported by the legs are very high.<br />

We have observed hip accelerations in excess of 5 g’s<br />

when testing the legs of our KOLT machine. The<br />

assumption makes good physical sense since both<br />

biological <strong>an</strong>d artificial legs are usually much stronger in<br />

the axial direction th<strong>an</strong> when supporting loads in the<br />

direction normal to the leg axis. Such loads may be<br />

import<strong>an</strong>t <strong>for</strong> less dynamic activities, but maximum<br />

per<strong>for</strong>m<strong>an</strong>ce is obtained when the legs are used to<br />

generate axial thrust. There is also ample evidence in the<br />

literature that biological legs are used in this m<strong>an</strong>ner <strong>for</strong><br />

high stress m<strong>an</strong>euvers such as running [3,4].<br />

It is, however, necessary to support moments about the<br />

longitudinal axes at the hips in order to ensure lateral<br />

stability. This c<strong>an</strong> be done quasi-passively by<br />

comm<strong>an</strong>ding the lateral swing actuators to hold position.<br />

It appears that biological quadrupeds also do this.<br />

It is also assumed that the legs have a preferred<br />

working length. They have the ability to accommodate to<br />

small variations in either direction but the basic motion<br />

pattern should place each foot when the shoulder/hip is at<br />

the correct height <strong>for</strong> the leg to work optimally. This is<br />

certainly true of biological legs, <strong>an</strong>d is also true of most<br />

artificial ones [8].<br />

In order to obtain a relatively simple model that c<strong>an</strong> be<br />

used to address the issue cited above, the thrusts produced<br />

by the legs are represented by their result<strong>an</strong>t impulses<br />

over each ground contact referred to a body fixed<br />

reference frame. Although ground contact periods are<br />

often quite short when running, of the order of 70 ms in<br />

KOLT, this approach does not intrinsically assume short<br />

contact periods. Rather, it is <strong>an</strong>alogous to replacing a<br />

spatially distributed <strong>for</strong>ce system by a single result<strong>an</strong>t.<br />

Here the thrust is temporally distributed <strong>an</strong>d c<strong>an</strong> be<br />

integrated over the contact period to determine the<br />

result<strong>an</strong>t impulse. The net vertical impulse from all four<br />

legs must be equal to the product of the vehicle weight<br />

<strong>an</strong>d the stride period <strong>for</strong> steady locomotion. The net<br />

horizontal impulse component must be equal to the<br />

product of the average drag <strong>for</strong>ce with the stride period.<br />

The net impulsive moment about the center of mass over<br />

the stride must be zero. The cost of this assumption is that<br />

all detail of the time variation of the leg <strong>for</strong>ce over the<br />

st<strong>an</strong>ce period is lost.<br />

However, we do, effectively, assume inst<strong>an</strong>t<strong>an</strong>eous<br />

st<strong>an</strong>ce phases <strong>for</strong> <strong>an</strong>other reason. The problem of relating<br />

<strong>for</strong>ce <strong>an</strong>d leg length to time during st<strong>an</strong>ce is<br />

mathematically intractable, so we assume inst<strong>an</strong>t<strong>an</strong>eous<br />

impacts to allow the motions of the system to be<br />

computed as ballistically free motions between those<br />

impacts.<br />

The basic question we are seeking to <strong>an</strong>swer is: Given<br />

a position or velocity error immediately after the st<strong>an</strong>ce of<br />

a given leg, what set of inputs should be used to remove<br />

that error within the period of one stride?<br />

In this paper we work with four different types of<br />

perturbation that c<strong>an</strong> be used individually, or in<br />

combination, to vary the effect of a leg on the vehicle<br />

motion. They are:<br />

(a) Variation of the impulsive thrust with respect to<br />

the nominal value given by the central pattern<br />

generator<br />

(b) Variation of the <strong>for</strong>e-aft placement of the foot<br />

relative to that of the CPG<br />

(c)<br />

(d)<br />

Variation of the lateral placement of the foot<br />

Variation in the time interval between placements<br />

of successive feet.<br />

In this paper we develop expressions <strong>for</strong> the effect of<br />

each of these inputs at each of the four legs on the state of<br />

the system at the completion of the stride, after the style of<br />

reference [1]. We do assume that the result<strong>an</strong>t variations<br />

are small so that the system c<strong>an</strong> be regarded as being<br />

linear. In particular, this implies that a small <strong>an</strong>gle<br />

approximation is valid <strong>for</strong> body rotations.<br />

The role of hip actuators in the above is a little<br />

problematic. The assumption is that hip torques c<strong>an</strong> be<br />

neglected during contact. Of course, the hip degrees of<br />

freedom must be active during the period the foot is off<br />

the ground in order to ensure that the foot will be correctly<br />

placed <strong>for</strong> the next contact phase. Raibert [6] also used hip<br />

torque during the st<strong>an</strong>ce phase to control body attitude of<br />

his one legged hoppers. The postulate here is that this<br />

tactic would be largely ineffective <strong>for</strong> a leg necessarily<br />

displaced from the center of mass of the relatively<br />

massive body of a quadruped, <strong>an</strong>d that equivalent<br />

adjustment of the body attitude c<strong>an</strong> be accomplished by<br />

use of the above cited leg inputs over the course of a<br />

stride. We do have simulation evidence that this may be<br />

inadequate <strong>for</strong> limiting body roll, <strong>an</strong>d that application of<br />

lateral hip torques during st<strong>an</strong>ce may be necessary. This is

12th <strong>IFToMM</strong> World Congress, Bes<strong>an</strong>çon (Fr<strong>an</strong>ce), June18-21, 2007<br />

probably due to the relatively small moment of inertia<br />

about the roll axis [7]. The application of such a torque<br />

moves the line of action of the leg thrust inward, closer to<br />

the center of mass. There<strong>for</strong>e, we propose that <strong>for</strong> the<br />

present purpose this effect c<strong>an</strong> be treated as being<br />

equivalent to reducing the center dist<strong>an</strong>ces of the<br />

shoulders <strong>an</strong>d hips.<br />

In general, each of the above perturbations affects all<br />

six of the body position, <strong>an</strong>d all six of the body velocity<br />

variables. Thus, in principle a matrix relationship <strong>for</strong><br />

relating the inputs to the body state variables, after<br />

completion of a stride will be a 12 by 12 system. As will<br />

be discussed below, the number of independent variables<br />

is actually less th<strong>an</strong> 12. In principle the system c<strong>an</strong> be<br />

inverted as a pseudo-inverse, but the problem is quite<br />

<strong>an</strong>alogous to that of coordinating the 18 actively<br />

controlled degrees of freedom of the Adaptive Suspension<br />

Vehicle to produce the desired velocity of the body [5]. In<br />

that case a closed <strong>for</strong>m, computationally efficient solution<br />

was obtained by imposing a physically me<strong>an</strong>ingful<br />

coordination principle: the zero interaction <strong>for</strong>ce<br />

condition. Subsequently, several other coordination<br />

principles have been devised that are also computationally<br />

efficient, <strong>an</strong>d which per<strong>for</strong>m optimally in particular<br />

situations. Computational efficiency is import<strong>an</strong>t since,<br />

<strong>for</strong> control purposes this computation must be per<strong>for</strong>med<br />

on-line at rates of at least several hundred Hertz.<br />

This paper will include the <strong>for</strong>mulation of this system<br />

of equations <strong>an</strong>d initial attempts at the design of a suitable<br />

coordination principle. Full validation of the approach will<br />

require application to a high resolution dynamic<br />

simulation of the quadruped, <strong>an</strong>d ultimately<br />

implementation on the KOLT <strong>an</strong>d other dynamically<br />

capable quadrupeds.<br />

3 Velocity Input-Output Relationships<br />

The model that we will apply is shown in the freebody<br />

diagram of Figure 2. This is a slight generalization<br />

of the model that was used in [1]. In order to simplify the<br />

equations it is assumed that the center of mass is copl<strong>an</strong>ar<br />

with the centers of the hip <strong>an</strong>d shoulder joints. It is also<br />

assumed that <strong>an</strong>gular excursions of the body from the<br />

level position in which the z axis is vertical are small. €<br />

Actually, given this latter assumption it is readily shown<br />

that having the center of mass displaced from the pl<strong>an</strong>e of<br />

the hips <strong>an</strong>d shoulders does not make <strong>an</strong>y signific<strong>an</strong>t<br />

difference.<br />

In order to be useful, the system of equations obtained<br />

by assuming a given disturb<strong>an</strong>ce to the system must be<br />

invertible so that a set of inputs c<strong>an</strong> be identified that will<br />

correct <strong>an</strong>y given motion error. The mathematics<br />

presented below have that character, although the system<br />

does have complexities that preclude a single set of<br />

relationships. Un<strong>for</strong>tunately space does not permit full<br />

explication of the position relationships.<br />

€<br />

x<br />

x<br />

It is necessary to model vertical velocity relationships<br />

differently from those in the other directions. Velocities in<br />

the x <strong>an</strong>d y directions are regarded as conservative in the<br />

sense that the impulse produced by a leg st<strong>an</strong>ce is added<br />

to the momentum immediately be<strong>for</strong>e the st<strong>an</strong>ce to get the<br />

momentum immediately after toe-off. Angular velocities<br />

are added to impulsive moments in the same way.<br />

2<br />

r<br />

r 1<br />

J 2<br />

J 1<br />

y<br />

ma<br />

z<br />

z<br />

p<br />

q<br />

1,2 ma 3,4 D 3 1 2 4<br />

y<br />

Most losses in the system are the result of the foot<br />

impact in the vertical direction. Here the direction of the<br />

velocity is reversed. At each st<strong>an</strong>ce <strong>an</strong> amount of energy<br />

equal to the kinetic energy of the effective mass of the<br />

foot is lost. It is assumed that the system is actively<br />

controlled to attempt to achieve the correct CPG value of<br />

z ˙ at toe-off. Any variation from that value is treated as <strong>an</strong><br />

error to be corrected as discussed below. Unlike all the<br />

other components, a variation from the previous saccade<br />

is not carried over to the following one. Over the stride<br />

period, T, the sum of the vertical impulse components<br />

must be WT, where W is system weight.<br />

The legs are numbered left to right <strong>an</strong>d front to back.<br />

A stride is the cycle from st<strong>an</strong>ce of a given leg to the next<br />

st<strong>an</strong>ce of the same leg. It is assumed that the nominal<br />

magnitudes of the left <strong>an</strong>d right front impulses are equal,<br />

<strong>an</strong>d that φ 1 = φ 2 = φ F . Likewise, it is assumed that ψ 1 = ψ 2<br />

= ψ F . Hence<br />

J 1<br />

= J F ( X F<br />

i + Y F<br />

j + Z F<br />

k)<br />

J 2<br />

= J F ( X F<br />

i −Y F<br />

j + Z F<br />

k)<br />

J 3<br />

= J R ( X R<br />

i + Y R<br />

j + Z R<br />

k)<br />

J 4<br />

= J R ( X R<br />

i −Y R<br />

j + Z R<br />

k)<br />

4<br />

s<br />

s<br />

3<br />

W<br />

J W<br />

3<br />

J 3<br />

J 4<br />

J 1<br />

φ 1<br />

φ 3<br />

ψ 3<br />

ψ 4<br />

Figure 2: Free body diagram. The center of mass is assumed to<br />

be copl<strong>an</strong>ar with the shoulder <strong>an</strong>d hip joints. The shoulder <strong>an</strong>d<br />

hip joints are assumed to be pairs of intersecting revolutes that<br />

are, respectively, parallel to the x axis of the body <strong>an</strong>d<br />

orthogonal to the pl<strong>an</strong>e of the leg. The body reference frame is<br />

centered on the center of mass <strong>an</strong>d aligned as shown. The<br />

principal axes of inertia are assumed to coincide with the x, y, z<br />

axes.<br />

D<br />

J 4<br />

J 3<br />

€

€<br />

€<br />

€<br />

€<br />

€<br />

€<br />

€<br />

€<br />

€<br />

€<br />

€<br />

€<br />

where J F is the CPG magnitude of the nominal front leg<br />

impulse, <strong>an</strong>d J R is that of the rear leg <strong>an</strong>d<br />

X F<br />

= sinφ F<br />

,Y F<br />

= cosφ F<br />

sinψ F<br />

,Z F<br />

= cosφ F<br />

cosψ F<br />

X R<br />

= sinφ R<br />

,Y R<br />

= cosφ R<br />

sinψ R<br />

,Z R<br />

= cosφ R<br />

cosψ R<br />

The impulsive moments about the center of mass are<br />

L 1<br />

= J F ( rZ F<br />

i − pZ F<br />

j + ( pY F<br />

− rX F )k)<br />

L 2<br />

= J F ( −rZ F<br />

i − pZ F<br />

j + ( −pY F<br />

+ rX F )k)<br />

€<br />

L 3<br />

= J R ( sZ R<br />

i + qZ R<br />

j + ( −qY R<br />

− sX R )k)<br />

L 4<br />

= J R<br />

−sZ R<br />

i + qZ R<br />

j + ( qY R<br />

+ sX R )k<br />

( )<br />

Applying the impulse-momentum <strong>an</strong>d impulsive<br />

moment-<strong>an</strong>gular momentum bal<strong>an</strong>ces results in <strong>an</strong><br />

equation of the <strong>for</strong>m<br />

δv = Γδu<br />

where<br />

where<br />

[ θ δ θ ˙ δθ ˙<br />

x y z ] T<br />

δv = δ˙ x δ˙ y δ˙ z δ ˙<br />

[ ] T<br />

δu = δJ 1 T ,δJ 2 T ,δJ 3 T ,δJ 4<br />

T<br />

[ ]<br />

δJ i T = δJ i<br />

,δφ i<br />

,δψ i<br />

Γ is a 6 × 12 matrix of the <strong>for</strong>m<br />

⎡<br />

Γ = A 1<br />

A 2<br />

A 3<br />

A 4<br />

⎤<br />

⎢<br />

⎣ B 1<br />

B 2<br />

B 3<br />

B 4 ⎦<br />

A 1 ,…, A 4 , B 1 ,…, B 4 are the following 3 × 3 matrices:<br />

A 1<br />

= 1 ⎡ X F<br />

J F<br />

U F<br />

0 ⎤<br />

⎢<br />

⎥<br />

Y F<br />

−J F<br />

V F<br />

J F<br />

Z F<br />

m ⎢<br />

⎥<br />

,<br />

⎣ ⎢ Z F<br />

−J F<br />

W F<br />

−J F<br />

Y F ⎦ ⎥<br />

A 2<br />

= 1 ⎡ X F<br />

J F<br />

U F<br />

0 ⎤<br />

⎢<br />

⎥<br />

−Y F<br />

J F<br />

V F<br />

−J F<br />

Z F<br />

m ⎢<br />

⎥<br />

⎣ ⎢ Z F<br />

−J F<br />

W F<br />

−J F<br />

Y F ⎦ ⎥<br />

A 3<br />

= 1 ⎡ X R<br />

J R<br />

U R<br />

0 ⎤<br />

⎢<br />

⎥<br />

Y R<br />

−J R<br />

V R<br />

J R<br />

Z R<br />

m ⎢<br />

⎥<br />

,<br />

⎣ ⎢ Z R<br />

−J R<br />

W R<br />

−J R<br />

Y R ⎦ ⎥<br />

A 4<br />

= 1 ⎡ X R<br />

J R<br />

U R<br />

0 ⎤<br />

⎢<br />

⎥<br />

−Y R<br />

J R<br />

V R<br />

−J R<br />

Z R<br />

m ⎢<br />

⎥<br />

⎣ ⎢ Z R<br />

−J R<br />

W R<br />

−J R<br />

Y R ⎦ ⎥<br />

where<br />

U F<br />

= cosφ F<br />

,V F<br />

= sinφ F<br />

sinψ F<br />

,W F<br />

= sinφ F<br />

cosψ € F<br />

U R<br />

= cosφ R<br />

,V R<br />

= sinφ R<br />

sinψ R<br />

,W R<br />

= sinφ R<br />

cosψ R<br />

As discussed above, the equation <strong>for</strong> δ˙<br />

z obtained<br />

above is not me<strong>an</strong>ingful because the variations are not<br />

carried over to successive saccades. What is me<strong>an</strong>ingful<br />

are the variations at the beginning of each saccade<br />

resulting from errors in the leg thrust:<br />

⎥ .<br />

€<br />

€<br />

€<br />

€<br />

δ˙ z 1<br />

,δ˙ z 2<br />

,δ˙ z 3<br />

,δ˙<br />

z 4<br />

where the leg number subscript indicates the value<br />

immediately after the corresponding leg<br />

st<strong>an</strong>ce.<br />

δ˙ z 2<br />

= 1 (<br />

m δJ 2Z F<br />

−δφ 2<br />

J F<br />

sinφ F<br />

cosψ F<br />

−δψ 2<br />

J F<br />

Y F )<br />

etc.<br />

The <strong>an</strong>gular momentum/impulsive moment<br />

relationships<br />

give:<br />

⎡<br />

⎢<br />

rZ F<br />

− J rW F F<br />

⎢ I x<br />

I x<br />

⎢<br />

B 1<br />

= − pZ F<br />

J F<br />

pW F<br />

⎢<br />

I y<br />

I<br />

⎢<br />

y<br />

⎢ pY F<br />

− rX F<br />

− J pV + rU F F F<br />

⎣ ⎢ I z<br />

I z<br />

⎡<br />

⎢ − rZ F<br />

J F<br />

rW F<br />

⎢ I x<br />

I x<br />

⎢<br />

B 2<br />

= − pZ F<br />

J F<br />

pW F<br />

⎢<br />

I y<br />

I<br />

⎢<br />

y<br />

⎢ −pY F<br />

+ rX F<br />

J F<br />

pV F<br />

+ rU F<br />

⎣ ⎢ I z<br />

I z<br />

⎡<br />

sZ R<br />

( )<br />

( )<br />

⎢<br />

⎢ I x<br />

− J RsW R<br />

I x<br />

⎢ qZ<br />

B 3<br />

=<br />

R<br />

− J qW R R<br />

⎢<br />

I y<br />

I<br />

⎢<br />

y<br />

⎢ −qY R<br />

− sX R<br />

J R<br />

qV R<br />

− sU<br />

⎣ ⎢ I z<br />

R<br />

I z<br />

⎡<br />

− sZ R<br />

( )<br />

⎢<br />

J R<br />

sW R<br />

⎢ I x<br />

I x<br />

⎢ qZ<br />

B 4<br />

= R<br />

− J qW R R<br />

⎢<br />

I y<br />

I<br />

⎢<br />

y<br />

⎢ qY R<br />

+ sX R<br />

J R<br />

−qV R<br />

+ sU<br />

⎣ ⎢ I z<br />

R<br />

( )<br />

I z<br />

− J rY ⎤<br />

F F ⎥<br />

I x ⎥<br />

J F<br />

rY F<br />

⎥<br />

I<br />

⎥ ,<br />

y<br />

⎥<br />

J F<br />

pZ F ⎥<br />

I z ⎦ ⎥<br />

J F<br />

rY F<br />

⎤<br />

⎥<br />

I x ⎥<br />

J F<br />

rY F<br />

⎥<br />

I<br />

⎥ ,<br />

y<br />

− J ⎥<br />

F<br />

pZ F ⎥<br />

I z ⎦ ⎥<br />

⎤<br />

− J RsY R<br />

I x<br />

− J R qY R<br />

I y<br />

− J RqZ R<br />

I z<br />

⎥<br />

⎥<br />

⎥<br />

⎥ ,<br />

⎥<br />

⎥<br />

⎦ ⎥<br />

J R<br />

sY R<br />

I x<br />

− J R qR R<br />

I y<br />

J R<br />

qZ R<br />

I z<br />

Here m is the mass of the vehicle <strong>an</strong>d I x , I y , I z are its<br />

principal moments of inertia. The principal axes are<br />

assumed to coincide with the x, y <strong>an</strong>d z axes.<br />

In principal, a generalized inverse of the matrix Γ c<strong>an</strong><br />

be computed to obtain the elements of the vector δu<br />

needed to produce a desired set of velocity adjustments<br />

δv. However, the velocities are not the only variables we<br />

normally seek to constrain in this system. The position<br />

variables are also import<strong>an</strong>t, particularly the attitude<br />

<strong>an</strong>gles. The variations in position produced by a given<br />

⎤<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎥<br />

⎦ ⎥<br />

€

€<br />

vector δu are obtained by integrating the velocity<br />

variations δv. Since there are no <strong>for</strong>ces other th<strong>an</strong> gravity<br />

<strong>an</strong>d atmospheric drag acting on the vehicle between<br />

footfalls, the displacement variations at the end of each<br />

saccade are easily calculated. However, <strong>for</strong> a gallop gait<br />

the leg phasing is asymmetric. Further, the relative phase<br />

of two footfalls is determined by the length of the<br />

intervening saccade, which is proportional to z ˙ . Because<br />

of the asymmetric phasing the position effects of δv<br />

depend on the point of time within the stride that is taken<br />

as the initial time <strong>for</strong> correcting position errors. The<br />

equations below take the st<strong>an</strong>ce of € leg 1 as the initial time<br />

<strong>for</strong> purposes of illustration. Similar results c<strong>an</strong> be derived<br />

if the st<strong>an</strong>ces of other legs are used <strong>for</strong> initiation, as is<br />

necessary during continuous operation.<br />

4 Position Relationships<br />

Whereas we treat velocities as being discontinuous at<br />

st<strong>an</strong>ce, with abrupt ch<strong>an</strong>ges when the leg impulses are<br />

applied, position coordinates are piecewise continuous.<br />

Since position is the integral of velocity, the time at which<br />

<strong>an</strong> impulse is applied is crucial in determining its effect on €<br />

position. All variations associated with leg i are applied at<br />

the st<strong>an</strong>ce of leg i. This temporal dependence nevertheless<br />

complicates the algebra.<br />

For purposes of the following development we assume<br />

a tr<strong>an</strong>sverse gallop with the leg st<strong>an</strong>ces in the order 1, 2, 3,<br />

4. The procedure <strong>for</strong> deriving the corresponding equations<br />

<strong>for</strong> a rotary gallop is exactly the same except the st<strong>an</strong>ce €<br />

order is 1, 2, 4, 3.<br />

Attention must be paid to the variations in the periods<br />

of the ballistic saccades due to variations in vertical<br />

velocity, in particular, but also to variations in pitch <strong>an</strong>d<br />

roll <strong>an</strong>gular velocity. The duration of the saccade is due to<br />

the vertical motion of the center of mass of the system due<br />

to its initial velocity at toe-off of the previous st<strong>an</strong>ce leg<br />

<strong>an</strong>d gravity. It is also affected by ch<strong>an</strong>ges in € the<br />

shoulder/hip height due to ch<strong>an</strong>ges in body attitude. If t 2 is<br />

the period after the st<strong>an</strong>ce of leg 1 to the st<strong>an</strong>ce of leg 2,<br />

as given by the CPG<br />

€<br />

δt 2<br />

= 2 g δ˙ z − rδθ + pδθ x 2 y 2<br />

1<br />

− rδθ − pδθ x1 y 1<br />

z ˙ 1<br />

˙<br />

= 2 g δ˙ z 1<br />

+ t 2<br />

z ˙ 1<br />

˙<br />

( rδ ˙ θ − pδ ˙ θ x1 y1 ) − 1˙<br />

z 1<br />

z 1<br />

( rδθ x1<br />

− pδθ y1 )<br />

Here z 1<br />

is the vertical velocity immediately after the<br />

st<strong>an</strong>ce of leg 1 as required by the CPG. δθ x2 <strong>an</strong>d δθ y2 are<br />

the respective roll <strong>an</strong>d pitch variations at the st<strong>an</strong>ce of leg<br />

2 resulting from errors in the impulse of leg 1, <strong>an</strong>d <strong>an</strong>y<br />

pre-existing errors δθ x1 <strong>an</strong>d δθ y1 in body attitude at the<br />

st<strong>an</strong>ce of leg 1.<br />

The duration of a ballistic saccade, <strong>for</strong> given<br />

horizontal velocity, is directly proportional to the initial<br />

vertical velocity. The height of the shoulder joint also<br />

depends on the pitch <strong>an</strong>d roll <strong>an</strong>gles, so time has to be<br />

€<br />

added to return to the correct leg activation height from<br />

<strong>an</strong>y height errors they produce.<br />

Let t i be the period between the st<strong>an</strong>ce of leg 1 <strong>an</strong>d that<br />

of leg i. The st<strong>an</strong>ce time of leg 1 is then t 1 = 0 or T, where<br />

T is the stride period. If the stride is viewed as starting <strong>an</strong>d<br />

ending with the st<strong>an</strong>ce of leg 1, the variation in roll<br />

attitude at the st<strong>an</strong>ce of leg 2 due to δJ 1 is<br />

where<br />

δθ x 2<br />

= δθ x1<br />

+ t 2<br />

δ ˙ θ x1<br />

+ δt ˙<br />

2<br />

= δθ x1<br />

+ t 2<br />

I x<br />

⎧<br />

+ 2 g δ˙ z 1<br />

+ t 2<br />

⎨<br />

⎩ ˙<br />

θ x1<br />

( δJ 1<br />

rZ F<br />

−δφ 1<br />

J F<br />

rW F<br />

−δψ 1<br />

rJ F<br />

Y F )<br />

z 1<br />

rδ ˙ θ − pδ ˙ ⎫<br />

( θ x1 y1 ) ⎬ ˙<br />

⎭<br />

θ x1<br />

= δθ x1<br />

+ δJ 1<br />

P 1<br />

Z F<br />

−δφ 1<br />

P 1<br />

J F<br />

W F<br />

−δψ 1<br />

Q 1<br />

J F<br />

Y F<br />

P 1<br />

= 2 ˙ θ x1<br />

mg + t 2<br />

r˙<br />

I x<br />

z ˙<br />

z + ˙ θ ( r 2 + p 2<br />

)<br />

1 x1<br />

1<br />

( ),<br />

Q 1<br />

= 2 ˙ θ x1<br />

mg + t 2r<br />

( ˙<br />

I x ˙<br />

z + ˙ θ ( r + p ))<br />

1 x1<br />

z 1<br />

If t 3 is the period between the st<strong>an</strong>ce of leg 2 <strong>an</strong>d that<br />

of leg 3 then<br />

δt 3<br />

= 2 g δ˙ z + rδθ + pδθ x 3 y 3<br />

2<br />

− rδθ + pδθ x 2 y 2<br />

z ˙ 2<br />

˙<br />

= 2 g δ˙ z 2<br />

− t 3<br />

˙<br />

z 2<br />

( rδ ˙ θ + pδ ˙ θ x 2 y 2<br />

) − 1˙ rδθ x<br />

z<br />

2<br />

+ pδθ y 2<br />

2<br />

z 2<br />

The variation in θ x at the st<strong>an</strong>ce of leg 3 is<br />

δθ x 3<br />

= δθ x 2<br />

+ t 3<br />

δ ˙ θ x 2<br />

+ δt ˙<br />

3<br />

= δθ x 3<br />

+ t 3<br />

I x<br />

⎧<br />

+ 2 g δ˙ z + t 3<br />

⎨<br />

2<br />

⎩ ˙<br />

θ x 2<br />

( )<br />

( −δJ 2<br />

rZ F<br />

+ δφ 2<br />

J F<br />

rW F<br />

+ δψ 1<br />

J F<br />

rY F )<br />

z 2<br />

rδ θ ˙ − pδ ˙ ⎫<br />

( θ x 2 y 2<br />

) ⎬ ˙<br />

⎭<br />

θ x 2<br />

δx, δy, δθ y , δθ z follow the same general pattern, but, as<br />

discussed above, δz is assumed to be zero.<br />

5 Conclusions<br />

In this work we have attempted to present a framework<br />

<strong>for</strong> decoupling the control inputs to a galloping<br />

quadruped, assuming that they c<strong>an</strong> be treated as variations<br />

about a fundamental motion pattern. If only rate variations<br />

are considered this results in <strong>an</strong> underconstrained linear<br />

system, as described in Section 2.<br />

As may be seen from Section 3 above, adding<br />

consideration of position errors has problematic aspects,

one of which is a proliferation of sets of position<br />

equations depending on which leg st<strong>an</strong>ce is regarded as<br />

initiating the stride, <strong>an</strong>d the number of leg st<strong>an</strong>ces that is<br />

specified as the period over which errors are to be<br />

c<strong>an</strong>celed. It is possible to generate a properly constrained<br />

linear system that c<strong>an</strong>, in principle, be inverted to yield a<br />

unique set of control inputs to be applied at each leg<br />

st<strong>an</strong>ce.<br />

Of course, the variables to be controlled depend on a<br />

number of factors. One is what we are trying to<br />

accomplish with the machine. Another is what variables<br />

we c<strong>an</strong> measure, <strong>an</strong>d with what resolution. For example,<br />

there is little to be gained by trying to control x position<br />

<strong>for</strong> normal vehicle operation. The same is probably true of<br />

heading. One would expect to control x ˙ . Lateral position<br />

does not need to be closely controlled, <strong>an</strong>d so it would be<br />

preferred to control y ˙ . Conversely, it is critical to<br />

minimize variation in pitch or roll position. Vertical<br />

position in the sense of the € height of the ballistic saccades<br />

is directly coupled to stride period. Thus one would<br />

normally think € of controlling stride period rather th<strong>an</strong><br />

hopping height.<br />

The ideas presented here are being implemented on<br />

KOLT in progressively more complete <strong>for</strong>m as testing<br />

moves to larger numbers of degrees of freedom. At the<br />

present time we are working only with unidirectional<br />

locomotion. A more complete version has been<br />

successfully implemented in simulation [12].<br />

ed. G. Bi<strong>an</strong>chi, J.C. Guinot, C. Rzymkowski, Springer, 2002,<br />

pp481-488.<br />

[8] J.P. Schmiedeler <strong>an</strong>d K.J. Waldron, “The Effect of Drag on Gait<br />

Selection in Dynamic Quadrupedal Locomotion,” International<br />

Journal of Robotics Research, Vol. 18, No. 12, 1999, pp. 1224-<br />

1234.<br />

[9] J.G. Nichol, S.P.N. Singh, K.J. Waldron, L.R. Palmer, D.E. Orin,<br />

“System Design of a Quadrupedal Galloping Machine,”<br />

International Journal of Robotics Research, Vol. 23, No. 10-11,<br />

2004, pp. 1013-1028.<br />

[10] J. Estremera <strong>an</strong>d K.J. Waldron, “Leg Thrust Control <strong>for</strong><br />

Stabilization of Dynamic Gaits in a Quadruped Robot”,<br />

Proceedings of ROMANSY 2006, Warsaw, Pol<strong>an</strong>d, June 20-22,<br />

2006, pp. 213-220.<br />

[11] Krasny, D.P., Orin, D.E., “Evolution of Dynamic M<strong>an</strong>euvers in a<br />

3D Galloping Quadruped Robot”, Proceedings of ICRA 2006,<br />

Orl<strong>an</strong>do, Florida, May 15-19,2006.<br />

[12] Palmer, L.R. <strong>an</strong>d Orin, D.E., “3D Control of a High-Speed<br />

Quadruped Trot”, Industrial Robot, Vol. 33, 2006, pp. 298 ff.<br />

Acknowledgement<br />

The author wishes to acknowledge the support of the<br />

National Science Foundation, gr<strong>an</strong>t numbers IIS 0535226<br />

<strong>an</strong>d IIS 0208664 during the course of this work. He would<br />

also like to acknowledge the assist<strong>an</strong>ce of his students,<br />

particularly Dr. J. Gordon Nichol <strong>an</strong>d Dr. Joaquin<br />

Estremera who was a post-doctoral visitor in Professor<br />

Waldron’s laboratory.<br />

References<br />

[1] Waldron, K.J. <strong>an</strong>d Kallem, V. “Control Modes <strong>for</strong> a Three-<br />

Dimensional Galloping Machine,” Proc. ASME Mech<strong>an</strong>isms<br />

Conference, 2004, paper number DETC2004-57587.<br />

[2] Raibert, M. H., 1986, Legged Robots That Bal<strong>an</strong>ce, MIT Press,<br />

Cambridge, Massachusetts.<br />

[3] Full, R. J., Blickh<strong>an</strong>, R., <strong>an</strong>d Ting, L. H., 1991, "Leg Design in<br />

Hexapedal Runners," Journal of Experimental Biology, 158:369-<br />

390.<br />

[4] McMahon, T.A., 1984, Muscles, Reflexes <strong>an</strong>d Locomotion,<br />

Princeton University Press.<br />

[5] Pugh, D.R., Ribble E.A., Vohnout V.J., Bihari, T.E., Walliser,<br />

T.M., Patterson, M.R., Waldron, K.J., 1990, “Technical<br />

Description of the Adaptive Suspension Vehicle,” International<br />

Journal of Robotics Research, Vol. 9, No. 2, pp. 24-42.<br />

[6] Raibert, M.H., 1987, “<strong>Running</strong> with Symmetry”, International<br />

Journal of Robotics Research, Vol. 5, No. 4, pp. 3-19.<br />

[7] Schmiedeler, J.P., Siston, R. <strong>an</strong>d Waldron, K.J., “The Signific<strong>an</strong>ce<br />

of Leg Mass in Modeling Quadrupedal <strong>Running</strong> Gaits,”<br />

ROMANSY 14: Theory <strong>an</strong>d Practice of Robots <strong>an</strong>d M<strong>an</strong>ipulators,