11
74 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, VOI. 19, NO. 1, JANUARY/FEBRUARY 1989 Acceleration Compensation for Biped Robots to Reject External Disturbances Abstract -The disturbance rejection problem associated with practical biped robots is studied. When the biped robot receives an external distur- bance, robot joints and the supporting angle (the angle between the supporting foot and ground) suffer abrupt velocity changes. The velocity changes of the supporting angle causes it to deviate from 0", which leads the robot into an unstable status. For rejecting external disturbances, a new strategy called acceleration compensation is proposed. This strategy employs joint accelerations to impose a negative acceleration upon the angular velocity of the supporting angle, i.e., the acceleration is in the opposite direction of the angular velocity. As a result, the angular velocity acquired at the moment of a disturbance can be reduced to zero in a minimum amount of time. Consequently, the deviation of the supporting angle is minimized. To verify the usefulness of the method, computer simulation and experimental results are presented. I. INTRODUCTION ESEARCH on biped locomotion and biped robots R has been conducted for a number of years. Theoreti- cal studies have resulted in numerous publications in many aspects of the subject including kinematic and dynamic modeling, control mechanism, and stability problems [1]-[13]. Due to the complexity of both theory and prac- tice, however, very few biped robots have actually been built. Kat0 and his colleagues built one of the earliest biped robots, which started to walk in 1973 [14]. It was statically stable at all times, relying on keeping its center of gravity above at least one of its large feet. Later, Kat0 and coworkers developed a locomotion gait for bipeds referred to as quasi-dynamic walking [15]. Its main feature was that the transition of support from one foot to the other was very quick, resulting in no obvious two-foot support. Later, dynamic walking of a biped robot (WL-1ORD) was real- ized by the same group of scientists [16]. More recently, Miura and Shimoyama built a biped that employed a dynamic walking gait [17]. The robot had no ankle torques and each foot contacted the ground at a single point. As a result, continuous stepping was required to maintain an upright balance posture. Raibert built a Manuscript received July 5, 1987; revised February 10, 1988. This work was supported in part by the National Science Foundation under Grants DMC-8620409 and DMC-8657416 and in part by the Savannah River Laboratory under Contract AX-0721012. The material in this paper was partially presented at the 1987 IEEE International Conference on System, Man, and Cybernetics, Alexandria, VA, October 20-23, 1987. The author is with the Department of Electrical and Computer Engi- neering, Clemson University. Clemson, SC 29634-0915. IEEE Log Number 8825843. two-legged machine that could run [18]. It tipped all the time to keep a dynamic balance that was similar to Miura's machine. A physical biped robot was also built and studied by Katoh and Mori [19]. The robot was similar to the one built by Miura and Shimoyama. The emphasis was put on a control method of dynamic locomotion that gave an asymptotic stability of the trajectory. A biped robot was also constructed, and its locomotion was studied by Miyazaki and Arimoto [20], [21]. They noticed that in some cases the degrees of freedom of a biped robot became larger than the number of actuators during dynamic walkmg. To stabilize the biped robot, the singular perturbation technique was used to control the biped motion. The technique extracted an unstable mode corresponding to the translation of the center of mass from the remaining stable modes corresponding to the relative motion of the robot links. As a result, a hierarchical control system that made the robot walk dynamically was generated. Research on biped robots has been conducted at Clem- son University since 1984. A practical biped robot named SD-2, was designed and constructed with eight degrees of freedom. The hip joints each have two degrees of freedom, and each ankle joint has two degrees of freedom as well. A degree of freedom is represented by a mechanical joint, whch will be called a robot joint throughout t h s paper. The overall structure of the robot can be seen in Fig. 1. Dynamic walking was recently realized for SD-2 was re- ported in [22], [23]. Whle conduction experiments on the SD-2 robot, we determined that realizing dynamic walking for the biped is just the first step toward the practical applications of biped robots. Many complicated problems still need to be solved. One of them is the disturbance rejection problem. An external disturbanced can be represented by an unex- pected impulsive force exerted on the biped robot. An impulsive force caused abrupt velocity changes of robot joints and the supporting angle, which is defined in this paper as the angle formed by the supporting foot and the ground (Fig. 2). Thus the supporting angle deviates from its normal status, which is 0" for stable standing, and the majority of time it is involved in dynamic walking. Only during a small period of time when the support of the robot is shfted from one leg to the other, many of the 0018-9472/89/0lOO-O074$Ol .OO 01 989 IEEE

Acceleration compensation for biped robots to reject external disturbances

  • Upload
    yf

  • View
    214

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Acceleration compensation for biped robots to reject external disturbances

74 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, VOI. 19, NO. 1, JANUARY/FEBRUARY 1989

Acceleration Compensation for Biped Robots to Reject External Disturbances

Abstract -The disturbance rejection problem associated with practical biped robots is studied. When the biped robot receives an external distur- bance, robot joints and the supporting angle (the angle between the supporting foot and ground) suffer abrupt velocity changes. The velocity changes of the supporting angle causes it to deviate from 0", which leads the robot into an unstable status. For rejecting external disturbances, a new strategy called acceleration compensation is proposed. This strategy employs joint accelerations to impose a negative acceleration upon the angular velocity of the supporting angle, i.e., the acceleration is in the opposite direction of the angular velocity. As a result, the angular velocity acquired at the moment of a disturbance can be reduced to zero in a minimum amount of time. Consequently, the deviation of the supporting angle is minimized. To verify the usefulness of the method, computer simulation and experimental results are presented.

I. INTRODUCTION

ESEARCH on biped locomotion and biped robots R has been conducted for a number of years. Theoreti- cal studies have resulted in numerous publications in many aspects of the subject including kinematic and dynamic modeling, control mechanism, and stability problems [1]-[13]. Due to the complexity of both theory and prac- tice, however, very few biped robots have actually been built.

Kat0 and his colleagues built one of the earliest biped robots, which started to walk in 1973 [14]. It was statically stable at all times, relying on keeping its center of gravity above at least one of its large feet. Later, Kat0 and coworkers developed a locomotion gait for bipeds referred to as quasi-dynamic walking [15]. Its main feature was that the transition of support from one foot to the other was very quick, resulting in no obvious two-foot support. Later, dynamic walking of a biped robot (WL-1ORD) was real- ized by the same group of scientists [16].

More recently, Miura and Shimoyama built a biped that employed a dynamic walking gait [17]. The robot had no ankle torques and each foot contacted the ground at a single point. As a result, continuous stepping was required to maintain an upright balance posture. Raibert built a

Manuscript received July 5, 1987; revised February 10, 1988. This work was supported in part by the National Science Foundation under Grants DMC-8620409 and DMC-8657416 and in part by the Savannah River Laboratory under Contract AX-0721012. The material in this paper was partially presented at the 1987 IEEE International Conference on System, Man, and Cybernetics, Alexandria, VA, October 20-23, 1987.

The author is with the Department of Electrical and Computer Engi- neering, Clemson University. Clemson, SC 29634-0915.

IEEE Log Number 8825843.

two-legged machine that could run [18]. It tipped all the time to keep a dynamic balance that was similar to Miura's machine.

A physical biped robot was also built and studied by Katoh and Mori [19]. The robot was similar to the one built by Miura and Shimoyama. The emphasis was put on a control method of dynamic locomotion that gave an asymptotic stability of the trajectory.

A biped robot was also constructed, and its locomotion was studied by Miyazaki and Arimoto [20], [21]. They noticed that in some cases the degrees of freedom of a biped robot became larger than the number of actuators during dynamic walkmg. To stabilize the biped robot, the singular perturbation technique was used to control the biped motion. The technique extracted an unstable mode corresponding to the translation of the center of mass from the remaining stable modes corresponding to the relative motion of the robot links. As a result, a hierarchical control system that made the robot walk dynamically was generated.

Research on biped robots has been conducted at Clem- son University since 1984. A practical biped robot named SD-2, was designed and constructed with eight degrees of freedom. The hip joints each have two degrees of freedom, and each ankle joint has two degrees of freedom as well. A degree of freedom is represented by a mechanical joint, whch will be called a robot joint throughout ths paper. The overall structure of the robot can be seen in Fig. 1. Dynamic walking was recently realized for SD-2 was re- ported in [22], [23].

Whle conduction experiments on the SD-2 robot, we determined that realizing dynamic walking for the biped is just the first step toward the practical applications of biped robots. Many complicated problems still need to be solved. One of them is the disturbance rejection problem. An external disturbanced can be represented by an unex- pected impulsive force exerted on the biped robot. An impulsive force caused abrupt velocity changes of robot joints and the supporting angle, which is defined in this paper as the angle formed by the supporting foot and the ground (Fig. 2). Thus the supporting angle deviates from its normal status, which is 0" for stable standing, and the majority of time it is involved in dynamic walking. Only during a small period of time when the support of the robot is shfted from one leg to the other, many of the

001 8-9472/89/0lOO-O074$Ol .OO 01 989 IEEE

Page 2: Acceleration compensation for biped robots to reject external disturbances

Fig. 1. SD-2 biped robot.

supporting angles have nonzero values. Therefore, to main- tain stable motion of the biped robot, the external distur- bance should be rejected, i.e., the deviation of the support- ing angle form 0" must be as small as possible.

Two strategies for stabilizing the biped motion under external disturbance were once proposed [6]. The first one dealt with small disturbances and the second one handled large disturbances. For small disturbances, a self stabiliza- tion technique was suggested. Biped robots that utilized linear feedback control for their joint motions could be automatically stabilized, requiring no other active re- sponse. For large disturbances, the biped robot would take strides to acquire a new stable status which was the closest to the original status of the biped [7]. Whle conducting experiments on the SD-2 robot, we found that the self-sta- bilization strategy for small disturbances was not suitable for practical biped robots. First, it took too long a transi- tion period for the supporting angle to vanish, although the robot could finally stabilize itself. Secondly, the stabil- ity margin of the robot was considerably reduced during the transition period. If the robot suffered another distur- bance before the robot completely returned to its stable status, a small disturbance would become a large one. Then the robot would have to take strides to stabilize itself or simply fall. As a result of taking strides to keep the robot from falling, the original motion plan was totally disturbed, thus requiring extra efforts to return to its original status. Apparently, taking strides was not a method that could be very frequently used unless large and severe disturbances occurred. For the above two reasons, we concluded that the deviation of the supporting angle under a small disturbance should be minimized such that the stable status can be promptly recovered. Also the stability

margin, under a small disturbance. should be virtually maintained such that the robot does not need to take strides if disturbances happen again before the stable status is recovered. To do so, the robot must take active responses to a small disturbance rather than the self-sta- bilization method.

A new method has been developed for the SD-2 biped robot to reject small disturbances. The method is called acceleration compensation. I t uses joint accelerations to eliminate the angular velocity of the supporting angle due to the disturbance in a minimum amount of time. As a result, the total displacement of the supporting angle is minimized, and also the stability margin is virtually main- tained.

The structure of the paper is as follows. In the next section, the effects of an external disturbance will be systematically studied. We will treat the external distur- bance as an impulse acting on the biped robot. Then the velocity changes of the supporting angle and the robot joints will be derived. Based on the velocity changes, the definitions of small and large disturbances will be given. In the third section, the acceleration compensation method is proposed for the robot to reject small disturbances. We will first discuss the algorithm of the method, then the practical implementation of the method. I t will be shown that the acceleration compensation can be implemented by using maximum torques. The directions of the latter, how- ever, are the same as those of the compensating accelera- tions for the real biped robot. In addition, the required time of compensation will be studied. To verify the pro- posed method, computer simulation and experimental re- sults are presented in the fourth section, which is followed by the conclusions of this paper in the fifth section.

11. THE EFFECTS OF EXTERNAL DISTURBANCES ON

BIPED ROBOTS

Any external disturbance can be treated as an impulse acting on a biped robot. Assume that the impulse is in the frontal plane and the robot stands on one foot (Fig. 2). The dynamic equation of the robot can be written as

D(B)B '+ H ( B , d ) + G ( B ) = T + JTF8 (1)

where 8 = [ p , q l , qr: . ., q,,IT. T = [O. T,. T 2 . . . T,,IT, D ( 8 ) is inertia matrix, H ( 8, d ) defines Coriolis and centrifugal terms, G ( 0 ) represents the gravity terms. F, is an external impulsive force, J is the Jacobian matrix relating d to the linear velocity of the acting point of the force, and p . the first element of 8, is the supporting angle as defined in the previous section. If the impulse happens in the sagittal plane, p should be replaced by r , which denotes the angle between the foot and the ground in the saggital plane (Fig. 3). If the impulse takes place in a general direction, both p and r need to be considered. Our study. however, will concentrate on the frontal plane. Since an impulse of a general direction can be decomposed into two vectors lying in the frontal and saggital planes, respectively, the study of the frontal plane is applicable in general cases. The re-

Page 3: Acceleration compensation for biped robots to reject external disturbances

16 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, VOL. 19, NO. 1, JANUARY/FEBRUARY 1989

(a) (b) Fig. 2. (a) Parameters of SD-2 biped robot in frontal plane. (b) Robot is disturbed by impulsive force and supporting angle

deviates from 0".

maining elements of 8, i.e., q , q 2 ; . . , q , represent the robot joint angles. Every robot joint has an actuator that produces T,, but no actuator is involved with p , which explains why the first element of T is 0.

The supporting angle is zero when the robot stands on the ground or walks. This has been the practice while we program the SD-2 robot for its static standing and dy- namic walking. Only an external disturbance can result in a nonzero supporting angle. This can be mathematically understood by integrating both sides of (1) in an infinitesi- mally short period of time:

t i lim ( J t 8 ) e d T + / ' + A t [ H ( 8, e') + C( e ) ] d r A t - 0 f

= lim ( l r + A r T d T + l t tA tJ 'F8dr . (2)

During an infinitesimally short time interval, robot joint positions remain uncharged since joint angular velocities Fig. 3. Robot is disturbed in saggital plane.

A t 4 0 i are finite. In addition, the integral of any finite quantity over an infinitesimally short time interval vanishes. As a result, one may have

e ( t + A t ) - e ( t ) = D-l(e)T,

T, = lim 4' + A r ~ ~ ~ , d r .

Since the magnitude of impulsive force tends toward infin- ity as A t + 0, T, converges toward a finite quantity.

Equation (3) reveals that, because of the external distur- bance, the robot joints and the supporting angle receive abrupt velocity changes. For robot joints, the velocity

(3) where

A t + O

changes can be very quickly eliminated because of the linear feedback control. Practically, no visible joint veloci- ties can really be seen when the SD-2 biped robot is disturbed. For the supporting angle, however, since no servo mechanism is directly involved, the velocity change is not immediately eliminated and causes an angular dis- placement, thus driving the robot into an unstable status. Our goal is to reduce the deviation of p for 0" such that the biped robot is less unstable. In our study, however, only small disturbances will be considered. We therefore need to define the small disturbance before the discussion proceeds further.

Page 4: Acceleration compensation for biped robots to reject external disturbances

ZHENG: ACCELEKATION COMPENSATION FOR BIPED ROBOTS TO REJECT DISTURBANCES

The csnter-of- gravity d the robot

I I ! y

l x w A La " t ' \The stability margin

(4 (b)

Fig. 4. (a) Biped robot is standing on ground. (b) Biped robot is disturbed.

Consider that a biped robot is supported by one foot (Fig. 2), and all the joints are servoed to specific positions. Assume that the potential energy of the biped robot before it suffers an external disturbance is E,. Then we have

E, = MgY (4)

where M is the total mass of the biped robot, g is the gravitational constant, and Y is the height of the robot's center of gravity. The robot acquires kinetic energy imme- diately after it suffers an impact, which can be described as

E, = 0.51p2 ( 5 )

where I is the equivalent moment of inertia of the robot about the supporting point 0 (Fig. 2). Note that the kinetic energy of the individual link is not considered here because the joint velocity is quickly eliminated by the servo mecha- nism as was cited earlier. Because of the kinetic energy, the center of gravity tends to move up, and the potential energy is increased. If the maximum potential energy E, which the robot could possess is greater than the summa- tion of E, and E,, i.e.,

E, = Mg( Y + Xz)1 '2 > E, + Ek ( 6 )

where X and Y describe the position for the center of gravity before the robot is disturbed as shown in Fig. 4a, the center of gravity will stop moving up before its vertical projection goes across the supporting point 0. The angular velocity p then becomes negative because of the gravita- tional force. As a result, the robot tends to come back to its stable status at which time p is zero. We consider that if the robot eventually returns to its stable status, the robot is said to suffer a small disturbance.

If, on the other hand, E , is less than the summation of E, and E,, the center of gravity will go across the support- ing point 0, and p continues to be positive. Angle p will become larger and larger and the robot will finally fall. The robot is then said to have received a large disturbance. To clarify the difference between the two lunds of distur- bances further, we introduce the following definition.

Definition: A biped robot is said to have suffered a small disturbance if supporting angle p , formed by the supporting foot and the ground, and the angular velocity p have opposite signs immediately after the center of gravity reaches maximum height. Otherwise, the biped robot is said to have received a large disturbance.

Although biped robots can stabilize themselves under small disturbances, it is desired that the deviation of the supporting angle from 0" be reduced for the reasons specified in the previous section. Now we would like to explain further why the stability margin needs to be main- tained for biped robots under small disturbances.

For a biped robot, if the supporting angle becomes nonzero, the stability margin, which is the horizontal dis- tance from the center of gravity C to the supporting point 0, is reduced. This can be seen by comparing the two stability margins shown in Fig. 4(a) and (b). In Fig. 4(b), the robot has just been disturbed, and its supporting angle is nonzero. The stability margin is clearly less than the one in Fig. 4(a). As a result, smaller external disturbances can push the center of gravity across the supporting point 0 and capsize the robot. To make a biped robot more stable under a small disturbance, the deviation of the supporting angle should be minimized. Thus the stability margin can be virtually maintained. To do so, we have developed an acceleration compensation method. The details of the method will be discussed in the following section.

111. REJECT SMALL DISTURBANCES BY USING THE ACCELERATION COMPENSATION METHOD

In this section, we will discuss the acceleration compen- sation method. We will first present the algorithm of the method, then its the practical implementation.

A. The Algorithm of the Acceleration Compensation Method

Consider the biped robot as shown in Fig. 2. The position of the center of gravity [ X Y ] can be expressed as a function of the supporting angle p and the robot joint positions q = [ ql, q2, + . . , qn], i.e.,

The inertia of the biped robot about its center of gravity is a function of q and can be denoted as I (q ) . The inertial force moment for I ( q ) may be written as

M, = I( q ) p . (8) The linear acceleration of the center of gravity with respect to the reference point is [YY]? The force that causes the acceleration can be written as

F = [ F,F,] = M [ XY ] ', ( 9 )

Since the total of the inertial force moments must be the same as the sum of the external force moments around the reference point 0, we get

.. .. T I ( q ) j j + M [ - Y X ] [ X Y ] = - M g X (10)

where g is the acceleration due to gravity. Taking the

Page 5: Acceleration compensation for biped robots to reject external disturbances

IX IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, VOL. 19, NO. 1, JANUARY/FEBRUARY 1989

mize the magnitude of the first term, but in the negative direction. Thus p will have a maximum negative accelera- tion. Since the joint accelerations are used to eliminate the effects of external disturbances, the strategy is called the acceleration compensation method.

To materialize the acceleration compensation method further, we let M[C,,(B)- C,(B)]A,(B) be expressed as

The center-of-gravity of the robot

"'""----./" I \

/ I

M [ c , ( e ) - ~ x ( e ) ] A 2 ( e ) = [a l (e )a , (e ) . - an (8> l .

Fig. 5 . Relation between ,? and p .

derivative of (7) with respect to time twice, we get

[ x i ' ] ' = [ A ( e ) 8 + ~ ( e , e ) ] (11) To make the joint accelerations most effective in the compensation, we select each ioint acceleration as

where ~ r = - s g n [ a i ( ~ ) ] i j r m , (19)

A ( e ) =dc(e)/de B ( e , d ) = [ d ~ ( e ) / d t ] e . (12) where q,,, is the maximum magnitude of the joint accel- eration for i and Replacing [ %Y]' in (10) by (ll), we have

m p + ~ [ - ~ X I [ ~ 1 ( ~ ) ~ 2 ( ~ ) I [ l i i j T l T

+ M [ - Y X ] B ( e , e ) = - MgX (13) where Al(B) is the first column of A ( 0 ) and A 2 ( 0 ) repre- sents the rest of A ( 8 ) . Note that

A l p ) = [ - Y X ] ? (14) The truth of (14) can be verified by the illustration in Fig. 5 . From Fig. 5 , we can see a simple relation between k and p if X is only a function if p , i.e.,

Since the coefficient of p is positive, the joint accelerations represented by (19) will make p negative but with a maximum magnitude. The angular velocity of p can thus be reduced to zero in a minimum amount of time. It is necessary that the signs of a i ( e ) be calculated in real time such that an adequate compensation can be made.

(I5) where cos y is equal to Y/( X 2 + Y 2)1/2. Thus we end up

B. Using Maximum Torques to Realize Maximum Accelerations

x = - p ( x 2 + Y y 2 cos y

with

k= - p ( X 2 + Y 2 ) 1 ' 2 [ Y / ( X 2 + Y 2 ) 1 / 2 ] = - Y p . (16)

For a similar reason, one may find Y = Xp. However, [ XY]' is also the same as A l ( e ) p only if p affects the linear velocity [ X Y ] . As a result, we get (14). By using (14) we may get the following equation from (13):

[ qq) + M ( x 2 + Y ' ) ] p = M [c,(e)- cx(e)] ~ , ( e ) i j

+ M [ c,(e> - cx(e)] B ( @ , e ) - MgC,(d). (17)

Note that in (17) the coefficient of jj is always positive. Equation (17) reveals that the acceleration p is affected

by the three terms on the right side of (17). The third term, MgX represents the effect of the gravitational force that always causes a negative acceleration of p . The second term defines the effects of the Coriolis and centrifugal forces which are related to the joint velocities and p . Since the joint velocities are very small, as discussed in the previous section, and p is also small for small distur- bances, the latter effects are almost negligble. In reality, the quantities of the above two terms are not controllable. We can only use the first term to enlarge further the magnitude of the negative acceleration of the supporting angle. That is we can use the joint accelerations to maxi-

In the previous subsection, the algorithm of the accelera- tion compensation has been studied. We now need to discuss how to implement the algorithm practically. We first determine that the maximum joint accelerations can be achieved by using maximum joint torques. To under- stand ths , we use (1) that describes the overall dynamic behavior of the robot. Multiplying both sides of (1) by D - '( e), we get

~ = D - ~ ( ~ ) T - D - ~ ( B ) H ( ~ , ~ ) - D - ~ ( ~ ) G ( ~ ) (20)

whch is a vector of n +1 scale equations. Note that the impulsive force is not included. The first equation of (20) can be written as

p = E ( e ) T - F( e , 8) - K ( e ) (21) where E ( @ ) is the first row of D - ' ( e ) and F ( e , e ) and K ( 8 ) are the first elements of D - ' ( e ) H ( B , e ) and Da1(8)G(B) , respectively. It appears that (21) has the same form as (17) does. Then for the same reasons as for the joint accelerations, we can use the maximum joint torques in (21) to acheve a maximum negative accelera- tion of p provided that the signs of torques are adequately selected. Unfortunately, the inertia matrix D( e ) is very complicated for robots with more than three links. To calculate the inverse of D ( 0 ) is very time-consuming. As

Page 6: Acceleration compensation for biped robots to reject external disturbances

ZHENG: ACCELERATION COMPENSATION FOR BIPED ROBOTS TO REJECT DISTIJRBANCES

t T2

\ Note: q( I T ) = the acceleration vector correspo- 4, nding to IT.

Maximum torque

ii(2T) t q2

z I c

\t -.6

vectors

YT) 1 I )

-.6

:: ii,

(a) (b)

Fig. 6. Relation between niaximum torque vectors and maximum acceleration vectors. (a) q1 has same direction as 7; (b) Some q, have different direction from corresponding 7;.

the SD-2 biped robot has five links in the frontal plane, using E( 0) to select torque directions is practically unac- ceptable. This is indeed the reason why we derived the acceleration compensation method of (17). However, the merit of (21) lies in the fact that when the joint accelera- tions are maximum to achieve a maximum effect of com- pensation, joint torques are also maximum. As a result, we can use maximum joint torques to achieve the acceleration compensation.

The selection of the signs of the joint torques deserves further discussion. If the direction of a joint acceleration is always the same as its joint torques, we can simply use (19) to determine the signs of joint torques. For practical robots, this is generally true, but theoretically, it may not be the case. To understand the two aspects, we need to investigate (1) again.

Since the joint torques of practical robots are always large enough to compensate the effects of the Coriolis and centrifugal terms and gravity terms, we may eliminate these two and use the following equation to study the relation between the joint accelerations and joint torques

where D( q ) defines a linear transformation between q and [ T,, T,, . . . , T'] T. The diagonal terms of D( q ) represent the effective link inertias that are always positive, and the off-diagonal terms define the coupling inertias [24]. If the coupling inertias are negligible, q, has the same sign as T,. Otherwise, they may be in two opposite directions. To see this, we study a simple two-link system, for which (22) can

be written as

We assume that the maximum magnitude of the applied torques is one unit. For the purpose of compensation, maximum torques can be applied in four possible combi- nations, which are expressed as four vectors shown in Fig. 6. We first let the inertia values be D,, = 3, D,, = D,, = 1, and D,, = 2. The maximum acceleration vectors corre- sponding to the four torque vectors can be derived and are shown in Fig. 6(a). We can see that in Fig. 6(a), each joint acceleration has the same direction as its applied torque. We now change the inertia values to D,, = 3, D,, = D,, = 4, and D,, = 2 in which the coupling inertias are increased. As a result, some joint accelerations, as shown in Fig. 6(b), go toward the opposite directions of their applied torques. However, for practical robots like the SD-2 biped, it is impossible for accelerations to be in the opposite direc- tions of the torques for the following reasons.

First, joint actuators have inertias, denoted as I , . The actuators drive robot joints through a speed reducer of ratio R( R = 100 for the SD-2 biped). Consequently, the total effective link inertia for joint i is D,, + Z,R2, which makes the coupling inertias less effective. Secondly, actua- tors introduce Coulomb friction. Coulomb friction always tends to oppose the motion, whch makes the effective link inertias even larger. Finally, if we assume that one joint tends to turn in the direction opposite to the applied torque, the dc motor becomes a generator and the power supplier becomes the load of the generator. As a result, the equivalent inertia of the actuator becomes much larger

Page 7: Acceleration compensation for biped robots to reject external disturbances

80 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, VOL. 19, NO. 1, JANUARY/FEBRUARY 1989

than the original I , . Because of these aforementioned three facts, the effective link inertias are dominating factors in the SD-2 robot; therefore, the opposite-direction phe- nomenon never happens in our SD-2 biped robot.

We have discussed in t h s subsection that the maximum accelerations can be realized by applying maximum torques, and the directions of accelerations are the same as those of applied torques for the torques for the SD-2 robot. As a result, we can use (19) to determine the signs of the compensating accelerations and use maximum ap- plied torques to realize the maximum accelerations.

C. Determining the Sign of Acceleration when a,(e) is Close to Zero

When the calculated a,(B) in (19) is close to zero (0' or 0 - ), the actual value of a,(e) may have an opposite sign. This is caused by errors introduced by the measurement of joint positions. If the sign of the calculated a,(e) is still used in this case, an undesirable opposite direction on q, may be selected. We should discuss how to avoid t h s problem.

First of all, it should be pointed out that when a,(e) is very close to zero, the compensation effect of the corre- sponding acceleration u,(O)q, is also very close to zero. Consequently, the overall compensation will not be af- fected much even without ql being activated. As a result, we may let q, be zero when a, ( e ) is close to zero. Thus the wrong-direction problem can be avoided, but the overall compensation effect is still virtually maintained.

Taking into account the measuring errors, sgn[ a, (e)] should be replaced by the following function

- e < .,(e) < e .

-1, u , ( e ) < - e

The value of e is determined by the accuracy of the measurement. A hghly accurate measurement only needs a small value of e .

D. The Duration of the Compensation Time

Since the compensating accelerations have maximum magnitudes, the required compensating time needs only a very short duration. In fact, if the compensation time is too long, the acceleration compensation will affect the stability margin and will become inadequate, for whch additional details will be addressed later. Assume that the disturbance takes place at time t = 0 and the duration of the compensation is At. Then by integrating both sides of (17) in the time period At, one gets

where ZM = [ I ( 0 ) + M ( X 2 + Y ')I and MC( e ) = M [ Cy( e )

- C,( e) ] . Note that MC( B)B( 8,d) represents centrifugal and Coriolis forces. Their effects can be ignored if the angular velocity d is small, which is true for small distur- bances. Furthermore, 8 may be considered constant in a very short period of time. Equation (23) then becomes

@ ( A t ) - P ( O ) = - ( Z M ) - ' A l r n

L ,=1 I At the end of the compensation, P ( A t ) is zero; therefore, the left side of (24) is equal to - P(0). The compensation time can then be computed as

A t = ( I M ) P ( O ) C Iai(e> 1qrrna.x + MgCx(0) . (25) K1 1 Now let us examine how the duration of the compensa-

tion time A t affects the stability margin. The compensating accelerations displace, more or less, the joint positions, thus modifying the position of the center gravity and affecting the stability margn. It is desired that the joint displacements caused by the compensating accelerations be very small. Thus the method will not reduce the stabil- ity margin. In general, the relation between the displace- ment AqJ and At for joint j can be written as

AqJ = 0.5qJma( A t ) ' .

By using (25), we get AqJ = O.5qJma

In the denominator of (27), the effect of MgC,(B) can be ignored if the ti,,, is very large. Thus we may have

In the denominator of (28), qJ among all the maximum joint accelerations, is on the order of two, but it is on the order of one in the numerator. Therefore, AqJ decreases if qJma increases, which indicates that we need large qfma to reduce Aq. On the other hand, if the q,,, are in a low range, MgC,(e) will dominate the denominator of (27). We will have the following for AqJ

that indicates that AqJ is monotonically increasing with respect to qJma. This means that we need small q,,, to reduce joint displacements. Small magnitudes of q, ,,, however, will make the required compensation time longer, whch will in turn enlarge the deviation of the supporting angle. This situation is not desired. We therefore conclude that for a good compensation result, the maximum joint accelerations should be as large as possible, hence reducing the deviation of the supporting angle but not significantly displacing joint positions. If, on the other hand, the robot

Page 8: Acceleration compensation for biped robots to reject external disturbances

ZHENG: ACCELERATION COMPENSATION FOR BIPED ROBOTS TO REJECT DISTURBANCES 81

TABLE I THE PARAMETERS OF THE SD-2 BIPED ROBOT

Mass m, Radius k , Radius I , Foot Width I , Link (kn) (m) (m) (m)

~

1 0.263 0.0555 0.0195 0.040 2 1.723 0.2632 0.0620 -

3 3.156 0.1200 0.0840 -

4 1.723 0.2632 0.0620 -

5 0.263 0.0555 0.0195 -

Note: The inertia of the robot about the supporting point 0 is 0.804 kg.m' when q1 = -0.124 rad, q2 = -0.1 rad, q3 = 0.1 rad, and q4 = 0 rad.

joints are not powerful enough to produce large accelera- tions, the acceleration compensation method becomes less effective. Recall that in reality a strong man is able to resist vigorous disturbances, but a young child is not. This is because a man has more powerful joints than a child does.

It appears that to find an adequate compensation time from (25), p(0 ) must be precisely known. In reality, how- ever, it is not necessary to find the exact value of p(0) to calculate the required compensation time. Instead, A t can be calculated based on the worst p(0) . According to the definition of small disturbances, the maximum angular velocity prna does not capsize the robot even if no com- pensation is made. From Fig. 4(b), we may find that p(O),,,= can be computed as

p(O),,= ( 2 M [ ( X 2 + Y 2 ) ' / 2 - Y ] g / Z ) 1 / 2 . (30)

Based on p(O),,,, one may further use (25) to find the compensation time. The calculated compensation time may be equal or greater than what is exactly required. If the compensation period is greater, a negative b(At) is con- tained at the end of the Compensation time period. A negative p may stabilize the robot in an even shorter period of time, since it drives the supporting angle back to its original status.

So far we have developed the acceleration compensation method for biped robots to reject small disturbances. To verify the method, computer simulations and experiments were conducted in our laboratory. The results will be presented in the next section.

IV. SIMULATION AND EXPERIMENTAL RESULTS

To verify the theoretical results obtained in the previous sections, computer simulations and experiments were con- ducted by using the SD-2 biped robot. The SD-2 biped robot has eight joints. Four of them are used to control the biped motions in the saggital plane and the other four are for the motions in the frontal plane. Our theoretical stud- ies, however, have been concentrated on the frontal plane. To make the simulation and experimental results compara- ble with the theoretical studies, we lock the four joints in the saggital plane. Thus the robot can be considered as a planar model as shown in Fig. 2. It can be seen that the model has five links and four joints. Associated with every

link, there are a number of parameters whch are shown in Fig. 2, and their values are listed in Table I.

From the given model and the parameters, we find that the position of the center of gravity in the x-y axis can be expressed as functions of robot parameters:

x=c,(e) = ~ ~ c o s p - [ ( I ,+ k , ) ~ ' + I ,M,] sinp

+ [ ( I 2 + kz)M2 + I2MZl s i n k , - P ) + k , ~ ~ c o s ( q , - P + q2)

- [k,M4 + (14 + k4)MSl 4 % - P + 42 + q3)

- k,Wsin(41+ 42 + q3 + 44)

+ [ ( I 2 + k 2 ) M 2 + I2M21 COS(41 - P)

+ ~,M,COS(41- P + 42 + 4 - P4M4 + ( 4 + k4)MSl

'cOs(41- P + 42 + 43)

- k5MsCOS(q1+ 42 + q 3 + 44)

+ I,M,sin(q, - p + q2 + a)

(31) and

Y = cy ( e ) = I/ sin p - [ ( I, + kl ) M' + I,M,] cos p

- k , ~ , sin(q, - p + q2)

(32) where

k = i + l 1 j = 1

and MI = 1 - M ' . The robot is at a static-standing status with the joint positions as follows; q1 = -0.124 rad, q2 =

-0.1 rad, q3 = 0.1 rad, and q4 = 0 rad. By using (31) and (32), we can calculate that the position of the center of gravity is X = 0.040 m and Y = 0.266 m.

We first consider that only self-stabilization is used. We assume that the robot receives the worst small disturbance, i.e., the center of gravity reaches the highest altitude possi- ble, without capsizing the robot. From Fig. 4, we may notice that, for the worst small disturbance, the maximum deviation of the supporting angle occurs when the center of gravity is right at the top of the supporting point, whch makes deviation of p equal to angle OCA. Thus the maxi- mum deviation of the supporting angle can be simply calculated as

p = tan-'( X / Y ) = tan-'(0.040/0.266) = 0.151 rad.

( 3 3 ) By using (30), one can calculate the maximum angular velocity p that the robot acquires after receiving the worst small disturbance

' / 2 ( x 2 + Y y 2 - Y ] g / l )

= (2 x 7.728 x [ (0.0402 + 0.2662)1/2 - 0.2661

X 9.81/0.804)1/2 = 0.761 rad/s. (34)

Page 9: Acceleration compensation for biped robots to reject external disturbances

R2 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS, VOL. 19, NO. 1, JANIJARY/FEBRUARY 1989

Now consider that the acceleration Compensation is used to handle the same worst small disturbance. To use (17), we need to evaluate A(B) , which can be obtained by taking the derivative of (31) and (32) with respect to 8. The individual terms of A ( 8 ) can be found as ax/ap = - Y

a x / a q , = [ ( I , + ~ , ) M ~ + ~ ~ M ~ ] C O S ( ~ ~ - P )

- k , M sin ( q1 - p + q 2 )

+ z3M3c0s(q1 - P + q2 +

- [k4M4 + (I4 + k4)M51 cos(q1 - P + q 2 + q3)

- k5M5cos(ql - P + q2 + q3 + q4)

+I,M3cOs(ql-P+q2+q3)

- k4M4 + (I4 + k4)M51c0S(q1- P + q 2 + q 3 )

ax/aq2= - k 3 M 3 s i n ( q 1 - p + q 2 )

ay/aq, = k,M5Sin(ql- P + q 2 + q 3 + q4). For the given joint positions as cited earlier and p = 0 (before an external disturbance, the robot is in stable status), A 2 ( 8 ) is calculated as

- 0.0°2 1 0.309 -0.017 -0.071 [ -0.077 -0.117 -0.009 -0.000 ‘

Then [a,(8) , a , ( @ ) , . . ., a4(8)] can be calculated as

[ a i ( e> , a 2 ( e ) , . . . a4<e>I

= M [ C ” ( 8 ) - CX(8)] A 2 W

= [0.659 0.003 -0.143 -0.0041.

We first use the aforementioned value to conduct com-

puter simulations. Assume that every joint has the same maximum joint acceleration that is 1 rad/s2. One can calculate the required compensation time by using (25), whch is

1 Iai(e) l q i rnax+ MgCx(8)

=0.804X0.761/[(0.659+0.003+0.143+0.004)

.1+ 7.728 X 9.81 X 0.0401 = 0.159 S . (35) The maximum deviation of the supporting angle with the acceleration compensation will be about

p ( A t ) =0.5p(O)At = 0 . 5 ~ 0 . 7 6 1 ~ 0 . 1 5 9 = 0 . 0 6 0 rad. (36)

If the maximum joint acceleration is raised to 10 rad/s’, the compensating time is calculated as 0.055 s, and the maximum deviation of the supporting angle is about

p ( A t ) =0.5~(0)At=0.5x0.761x0.055=.020 rad (37)

which is much less than the result of (36). This proves that if the robot joints are more powerful, the acceleration compensation method becomes more effective. It was men- tioned in the previous section that the acceleration com- pensation method should not significantly affect the stabil- ity margin. We would like to check if t h s is true for the above two cases.

In the first case, the joint acceleration is 1 rad/s2, and the compensating time is 0.159 s. The joint displacement will be

Ap, = OSq,,,( At)’ = 0.5 x 1 x (0.159)2 = 0.0126 rad. (38)

Along with the deviation of the supporting angle, p = 0.060 rad, the results of (38) can be used to evaluate (31) and (32) which give the new position of the center of gravity, X = 0.021 m and Y = 0.268 m, where X is the new stability margin. In the second example, q is raised to 10 rad/s2 and the compensating time is reduced to 0.055 s. By using (38), the joint displacements are calculated as 0.015 rad, which, along with the deviation of the supporting angle p =0.020 rad, make the new position of the center of gravity X = 0.032 m and Y = 0.267 m. Apparently, the stability margin in the second case is less affected than in the first case.

Next we would like to present the experimental results. To use the acceleration compensation method properly, we must first determine what are the maximum joint accelera- tions for the SD-2 robot. The SD-2 biped robot uses dc servo motors as joint actuators. The peak torque each dc motor can produce is about 0.071 N.m. Each joint has a speed reducer with a 100: 1 gear reduction ratio. This raises the maximum torque to 7.10 N . m for each joint. Of the maximum torque produced by the actuator, about 20 percent is used to overcome frictions and actuator inertias. Thus the maximum torque is about 5.68 N-m. The link

Page 10: Acceleration compensation for biped robots to reject external disturbances

Disturbing contact r I

Control Computer

The ground of the - power supply.

lq - power The ground supply. of the

Fig, 7. Synchronization mechanism for testing acceleration compensa- tion method.

inertias, nevertheless, are different for different joints. Joint q1 has the largest inertia to drive, which is about 0.80 kg.m2, followed by 0.50, 0.35, and 0.05 kg.m2 for joints q2, q3, and q4, respectively. We ignore the coupling effects and approximately calculate that the maximum joint accel- erations are 7.10, 11.36, 16.22, and 113.6 rad/s2, respec- tively. By using (25), the compensating time can be calcu- lated as A t = 58 ms.

To enable the biped robot to respond promptly to an external disturbance, we designed a synchronization mech- anism for the control computer. The idea is that the control computer should be interrupted as soon as a dis- turbance occurs. The computer can then jump to the interrupt-service routine to execute the compensation algo- rithm. The detailed structure of the synchronization mech- anism is as shown in Fig. 7.

It can be seen from Fig. 7 that one of the interrupt inputs of the control computer is connected to the higher level of the power supply by a pull-up resistor. A metal contact is also connected to the same input, whch is used to disturb the robot. The robot, however, is wired to the lower level of the power supply. Thus once the contact disturbs the robot, a hgh-to-low transition goes to the interrupt input, and the control computer is interrupted.

In the experiment, the SD-2 biped robot was repeatedly disturbed by the disturbing contact (Fig. 8). We first disturbed the robot without using acceleration compensa- tion (this was realized by disabling the interrupt). It was observed that the maximum deviation of the supporting angle was about 8” with the robot still being able to stabilize itself. When the acceleration Compensation method was used, the deviation of the supporting angle was clearly reduced. For the same strength of disturbance, the deviation was less than 4”. At times, no obvious deviation could be observed. We also found that it took greater efforts for a disturbance to capsize the biped robot with the acceleration compensation functioning. This im- plies that by using acceleration compensation, the biped could even reject certain hnds of large disturbances.

V. CONCLUSION

In this paper, the disturbance rejection problem for biped robots has been studied. It was pointed out that although the biped robot could stabilize itself by using the self-stabilization method after receiving a small distur- bance, reducing the deviation of supporting angle from 0”

Fig. 8. SD-2 biped robot is disturbed by contact

was always desired. This is because the reduction can decrease the transition time for the robot to return to its stable status and maintain the stability margin. A new method called acceleration compensation was developed for the biped robot to reject small disturbances. The method used joint accelerations to impose a negative accel- eration upon the angular velocity of the supporting angle. As a result, the angular velocity of the supporting angle was reduced to zero in a minimum amount of time. and the stabilization effects were obtained. The analysis was made that the acceleration compensation could be equiva- lently realized by using the maximum torques. In addition, for practical biped robots like the SD-2, the direction the joint acceleration was always the same as the joint torque. As a result, we could use a simple algorithm to determine the signs of the compensating accelerations and use the maximum torques to realize this compensation. Finally, simulation and experimental results were presented to ver- ify the newly developed method.

REFERENCES

H. Heniami and B. F. Wyman, “Modelling and control of con- strained dynamic system with application to biped locomotion in the frontal plane,” I E E E Tru17.5 Auromot. Comr.. vol. AC-24. no. 4, pp. 526-535, Aug. 1979. F. Gubina, H. Hemami, and R. B. McGhee,, “On the dynamic stability of biped locomotion,” IEEE Trans. Biomed. Eng., vol. BME-21, no. 2, pp. 102-108, Mar. 1974.

Page 11: Acceleration compensation for biped robots to reject external disturbances

IEEE TRANSACTIONS O N SYSTEMS, MAN, AND CYBERNETICS, VOL. 19, NO. 1. JANUARY/FEBRUARY 1989

A. A. Frank, “An approach to the dynamic analysis and synthesis of biped locomotion machines,” Med. Biol. Eng., vol. 8 , pp. 465-476, 1970. -, “On the stability of an algorithmic biped locomotion machine,” J . Terramech., vol. 8, no. 1, pp. 41-50, 1971. C. K. Chow and D. H. Jacobson,“Studies of human locomotion via optimal programming,” vol. 10, pp. 239-306, 1971. M. Vukobratovic and J. Stepanenko, “On the stability of anthropo- morphic systems,” Math. Biosci., vol. 15, pp. 1-37, 1972. D. Stokic and M. Vukobratovic, “Dynamic stabilization of biped posture,” Math. Biosci., vol. 44, pp. 79-96, 1979. S. H. Koozekanani et al., “On the role of dynamic models in quantitative posturography,” IEEE Trans. Biomed. Eng., vol. BME-27, no. 10, 1980. H. Hemami and Y. F. Zheng, “Dynamics and control of motion on the ground and in the air with application to biped robots,” J . Robot. Syst., vol. 1, no. 1, pp. 101-116, 1984. Y. F. Zheng and H. Hemami, “Impact effects of biped contact with the environment,” IEEE Trans. Syst. Man Cyber., vol. SMC-14, no. 3, pp. 437-443, 1984. M. Vukobratovic, A. A. Frank, and D. Juricic, “On the stability of biped locomotion,” IEEE Trans. Biomed. Eng., vol. BME-17, no. 1

H. Hemami, “Reduced order model for biped locomotion,” IEEE Trans. Syst. Man Cyber., vol. SMC-8, no. 4, pp. 321-325, 1978. B. Bavarian, “Meural compensation, muscle load distribution and muscle function in control of biped model,” Ph.D. dissertation, Elec. Eng. Dep., Ohio State Univ., Columbus, 1984. I. Kato, S. Ohteru, H. Kobayashi, K. Shirai, and A. Uchiyama, “Information-power machine with senses and limbs,” in Proc. 1st CISM-IFToMM Symp. Theory and Practice of Robots and Manipu- lation. New York: Springer-Verlag, 1974. T. Kato, A. Takanishi, H. Ishikawa, and I. Kato, “The realization of quasi-dynamic walking by a biped walking machine,” in Proc. 4th CISM-IFToMM Symp. Theory and Practice of Robots and Manipulation, PWN, Warsaw, 1983, pp. 341-351. A. Takanishi, M. Ishida, Y. Yamazaki, and I. Kato, “The realiza- tion of dynamic walking by the biped walking robot WL-lORD,” in Proc. 1985 Int. Conf. Advanced Robotics, Tokyo, Japan, Sept. 1985,

pp. 25-36, Jan. 1970.

H. Wura and I. Shimoyama, “Dynamical walk of biped locorno- tion,” Int . J . Robot. Res., vol. 3, no. 2, pp. 60-74, 1984. M. H. Raibert, Legged Robots That Balance. Cambridge, MA: MIT Press, 1986. K. Katoh and M. Mori, “Control method of biped locomotion giving asymptotic stability of trajectory,” Automatrca, vol. 20, no. 4.

F. Miyazaki and S. Arimoto, “A Control theoretic study on dy- namic biped locomotion,” J . D.vnam. Syst. Meas. Contr., Trans. ASME, vol. 102, pp. 233-239, 1980. S. Arimoto and F. Miyazak~, “Biped locomotion robots,” in JARECT, vol. 12, Computer Science & Technologies, T. Kitagawa, Ed. OHMSHA, Ltd, and North-Holland, 1984, pp. 194-205. Y. F. Zheng and F. R. Sias, Jr., “On the study of multiple joint biped robots,” in Proc. 1987 Advanced Robotics Programme Work- shop on Manipulators, Sensors and Step towards Mobility, Karlsruhe, Germany, May 1987, pp. 65-105. -, “Design and motion control of practical biped robots,” in Proc. IASTED Int. Symp. Robotics and Automation, St. Barbara, CA, May 1987, pp. 166-170. R. P. Paul, Robot Manipulator, Mathematics, Programming and Control, Cambridge, MA: MIT Press, 1981.

pp. 405-414, 1984.

number of original v Dr. Zheng was aw

the National Science

Yuan F. Zheng (S’82-M’85) received the B.S. degree from Tsinghua University, Beijing, China, and the M.S. and Ph.D. degrees in electrical engineering from the Ohio State University, Columbus, in 1970, 1980, and 1984, respectively.

He joined Clemson University in 1984 and became an Associate Professor in 1987. His re- search interests are in the computer control of robotic systems including both arms and legs. He has recently developed one of the first biped robots called CURBi in the U.S. and published a

rorks in the area of multirobot coordination. arded the Presidential Young Investigator Award by Foundation in 1987 for his contributions in robotics