搜档网
当前位置:搜档网 › Powered ”Passive” Dynamic Walking

Powered ”Passive” Dynamic Walking

Powered ”Passive” Dynamic Walking
Powered ”Passive” Dynamic Walking

Powered “Passive” Dynamic Walking

John Camp

The Sibley School of Mechanical and Aerospace Engineering

Cornell University, Ithaca NY

Masters of Engineering Project Report

August 1997

Advisors: Andy Ruina, Subhas Desa

Abstract

We demonstrate that a simple open-loop actuation/control scheme is all that is required to produce stable, powered, human-like walking motions in a set of roughly human-like legs. This work builds off of the passive dynamic models pioneered by McGeer (1989) and later studied by Garcia (1997). Our model is constrained to move in the sagital plane. It has two identical rigid, straight legs with arbitrary mass distribution, that are hinged to each other at the hip. It has two rigid, round massless feet, one hinged to the base of each leg. The floor is flat, level and rigid. The feet have plastic (no-slip, no-bounce) collisions with the floor at ‘heelstrike’. The energy required to balance that lossed at heelstrike is added through part of the stride by an extension of the stance foot. This extension is powered by a permanent magnet DC motor acting under a constant voltage. When the motor is not activated the feet are held at a prescribed angle by a mechanical stop and the robot moves only under the influence of gravity. This model exhibits stable walking over a large range of control and actuation parameters. It shows behaviors similar to those of the passive walkers previously studied. Stable and unstable gait limit cycles and period doubling, for a variety of structural, physical and control/actuation parameters, have been observed.

1. Introduction

The majority of powered dynamic walking robots built to date require complicated actuation and control schemes. Such schemes take the dynamics of the walkers limbs into account, but only adversarially, as the passive dynamics of the links must be overcome in order to impose the desired walking motion.

It has been shown by McGeer that stable human-like walking motions can be exhibited by uncontrolled sets of rigid links powered only by gravity. McGeer’s work in passive dynamic walking has shown that coordination in human walking does, to some extent, rely on the passive dynamics of our legs. If one’s goal is to study active, human-like, robotic walking it is natural that one would also take advantage of the passive dynamics of the robot’s limbs to reduce the energetic and computational cost of coordinating the walker’s motion. A simple, open loop, powered walking scheme was studied by McGeer (1989, 1990, 1991). McGeer’s powered model achieved stable walking. It had straight legs and replaced the slope required for the passive walkers with impulsive excitations of the stance foot at ‘push off’ and through instantaneous extensions of the walker’s stance leg at points during the swing phase.

Model

2. Our

A schematic of our model, and the different phases of a typical stride, can be seen in figure 1. The walker is two dimensional. It has two identical rigid legs connected by a frictionless hinge at the hip. It has circular rigid, massless feet which are pin-jointed to their respective legs and are extended (when in powered mode) by a permanent magnet DC motor acting under a constant voltage. The feet rest against mechanical stops which keep them in a prescribed position through the passive mode. The legs can have an arbitrary

mass distribution. The walker moves on a level, rigid floor. When the swing foot strikes the floor at heel-strike the collision is plastic (no-slip, no-bounce).

Following McGeer and Garcia the swing foot is allowed to briefly pass through the floor in order to avoid the inevitable foot scuffing of straight legged walkers. There are walking motions of this model that do not require this concession (as the stance leg can be raised), but it is included for those walking motions that do not begin the extension of the stance foot until after the swing leg has passed the stance leg. All of the motions shown in this paper are of the latter type.

figure 1

3. A Typical Stride

A typical stride, shown in figure 1, has two modes, passive and powered. As with the two modes of knee-jointed walkers (McGeer, Garcia) each mode has it own set of governing dynamical equations. In the passive mode the walker is identical to the passive

straight legged walkers studied by McGeer. In the powered mode the walker has three links, the stance foot, stance leg and the swing leg.

The stride ‘begins’ after heelstrike in passive mode, with both feet locked at a prescribed angle. The walker continues only under the influence of gravity until the swing leg reaches the critical angle at which a switch is thrown, beginning powered mode (i.e., the motor is switched on). It stays in powered mode until heelstrike is detected. Following McGeer, Coleman and Garcia the state immediately following heel strike is found, given the state immediately before heelstrike, through a set of jump conditions (conservation of angular momentum about the hip and the new contact point, over the collision). At heelstrike the previous stance foot, now the swing foot, is instantaneously retracted to the locked position.

4. Geometry

Our definition of the generalized coordinates of the system follows from Garcia’s work. A sketch of the relevant angles and structural dimensions is shown in figure 2. A list, and description, of all system parameters is provided in Appendix A.

figure 2

5. Actuation and Control

For our work we wanted the model’s control and actuation scheme to be as simple as possible both mechanically and electronically, so as to allow the possibility of future experimentation. In the development of the model a number of different actuation/control schemes were considered. In the end, a permanent magnet DC motor acting under a constant voltage was decided upon. It was chosen as it is inexpensive, open-loop and essentially ‘on/off’. The motor torque, at each time step of the numerical integration of the powered mode equations, is found from the steady state torque/speed characteristic of permanent magnet DC motors. We have chosen to neglect any transient motor dynamics.

A sketch of the motor torque/speed characteristic can be seen in figure 3. The relation ship is linear, and the two relevant control parameters are the stall torque (the torque the motor applies when the rotor is not moving) and the no-load angular velocity.

figure 3

6. The Equations of Motion

The governing equations of motion were originally derived ‘by hand’ using Kane’s method, then later using AutoLev. The hand derived passive mode equations were used in a straight legged passive simulation written as a precursor to the powered simulation. For the powered simulation, however, we directly went to the AutoLev equations. AutoLev was also used for the jump conditions as it is capable of deriving expressions for the angular momentum of the system, or any sub-system, about any point (see Appendix B, for all AutoLev code).

7. The Search for Period-One Gait Cycles

As with the work of McGeer, Coleman and Garcia our analyses of the powered walker are based on our treatment of a step as a Poinacre map or, the ‘stride function’ as McGeer called it. Gait limit cycles correspond to fixed points of the map, or in other words the roots of the function:

f(θ) = P(θ) - θ

Where P(θ) is the Poincare map and θ is a set of initial conditions. In his analysis of passive walkers, Garcia chose the instant immediately before heelstrike as his Poincare section, as the number of independent state elements required to describe the system was reduced from 4, two angles two angular velocities (6 in the case of the knee-jointed walker) to 3, one angle two angular velocities (2 for the simplest walker). This simplification can be made as only one generalized coordinate is required to describe the walker when both feet are in contact with the floor. The instant immediately before heelstrike in the powered gait cycle, however, differs from that of the passive walkers as the stance foot is in an extended position. This position is solely dictated by the dynamics of the system, so the clean geometry of double stance is disrupted. We have therefore, chosen a different point in the powered gait cycle for our Poincare section. We choose the instant at which the

walker enters powered mode for our section, as the swing leg angle is known (it is a control parameter), the stance foot is in the locked position and the angular velocity of the stance leg relative to the stance foot is zero. We are left with 3 independent state elements, one angle (the stance foot angle) and two angular velocities (the stance foot/leg and the swing leg).

A Newton/Raphson search was used to find the roots of f(θ). The stability of the fixed points of the map was then characterized by the eigen values of a numerical estimation of the Jacobian of the map near the fixed point. The Newton/Raphson method used in the search for limit cycles does not converge unconditionally. It was up to us therefore, to select a set of structural, physical and actuation/control parameters with a limit cycle as well as to find a set of initial conditions in the neighborhood of that cycle in order for the search to converge. Without any insight into the passive dynamics of the system this would have been quite time consuming as there are 11 system parameters (see Appendix A for list of physical, structural and control parameters). We have, however, developed an understanding of passive dynamic walking and we allowed this understanding to guide our search for powered limit cycles. The result was quite nice.

We assumed that sets of physical/structural parameters that exhibited robust passive walking would exhibit powered walking, assuming the actuation scheme reasonably mimics the effects of the slope used in the passive walkers. The foot motion that would achieve this was not exactly known at the time, but we hoped that smoothly extending the foot in a reasonably anthropomorphic way would be good enough. It is.

Building off of Garcia’s simplified model of a straight legged point foot walker (1997) we set the mass of the legs to zero and gave the powered walker a hip mass to ‘foot mass’ (the ‘foot mass’ was located at the ankle) ratio of 1000. To approximate the structural parameters of the passive walker the foot radius was set to zero and the ankle length was made small compared to the length of the leg, as the simplified passive walker walks stably on shallow slopes. The set of initial conditions we used was actually taken

(and slightly modified) from a stable limit cycle found, for this set of parameters, by the passive simulation. As soon as a stall torque that did not cause the foot to either roll over or fall back was found (a few tries), the walker exhibited stable walking (max eigen value of 0.65, see fig. 4). The ankle length, actuator parameters, and the swing leg angle which triggers the start of the powered mode were all just ‘eyeballed’ yet the passive dynamics of the system still coordinated the motion.

Behavior

8. Dynamic

There has been every indication that the dynamic behavior of the powered walker is as rich as that of its passive cousins. As indicated above the powered walking behavior has paralleled the passive walking in every walking regime studied thus far. For the majority of the analyses performed to date all of the actuation and control parameters were fixed except for the stall torque of the motor. The stall torque was ramped up and down as it is a characteristic forcing somewhat analogous to the slope of the passive walkers. Stable and unstable limit cycles for a variety of structural and physical parameters and period doubling have been found. Stance, swing and foot angles vs. nondimensional time for a typical stable limit cycle can be seen in figure 4.

HEELSTRIKE PASSIVE MODE

MOTOR TURNS ON l e g a n g l e s (r a d )

τ

00.5

1

1.5

2

2.5

3

3.5

4

4.5

-0.8

-0.6

-0.4

-0.2

POWERED MODE MOTOR TURNS ON

M hip =1000L=1D=0.05Q2locked =3π/4ωno-load =100

M ankle =1

R=0maxeig=0.65 Q3switch =2.8625

T stall =725

figure 4

A typical stable gait cycle

There have been some rather interesting limit cycles found in which the foot does not extend monotonically. In these walking motions the stance foot rises and falls (sometimes more than once) always ending at heelstrike in some extended position. The motions in which the stance foot behaves in this way may be written off as simply a curiosity, but what they show is that these walkers will walk stably even when the motion

of the foot can’t be doing a particularly good job at fooling the walker into ‘thinking’ that it is walking down a slope. It could be, however, that these motions of the foot actually stabilize the walker, but either way it seems that the details of the foot extension are not too important to successful powered walking. An example of such stable limit cycle (max.eigen value: 0.61) can be seen in figure 5.

HEELSTRIKE PASSIVE MODE

MOTOR TURNS ON l e g a n g l e s (r a d )

POWERED MODE MOTOR TURNS ON

00.51 1.52 2.53 3.54 4.5

-0.8

-0.6-0.4

-0.2

M hip =1000L=1 D=0.05Q2locked =3π/4ωno-load =100

M ankle =1

R=0.03

Q3switch =3.00562

T stall =780

figure 5

8.1. Gait Cycle Stability

Our interest is not only in the existence of gait limit cycles, but also in their stability. Once a limit cycle is found we would like to classify it as either stable or unstable. To do so we numerically estimate the Jacobian of the map in the neighborhood of the fixed point, by perturbing the walker’s initial conditions from the fixed point and seeing how those perturbations grow/decay after one step. If all of the eigen values of the Jacobian are within the unit circle the limit cycle is stable.

Below is a plot of the largest eigen value (abs) vs. stall torque for a powered walker. Our interest is in the largest eigen value as the walker is unstable if any of the eigen values of the Jacobian are larger than one in magnitude. A good deal of interesting behavior was found within the range of stall torques seen here. One interesting feature is that the onset of the rising and falling of the stance foot (in this case it actually falls back first) does not bring with it a major change in the stability of the walker.

685

690

695

700

705

710

715

720

725

730

735

0.20.30.40.50.60.70.80.9

11.11.2Stall Torque

M a x E i g e n V a l u e (a b s )

M hip =1000L=1D=0.05

Q2locked =3π/4

M ankle =1

R=0ωno-load =100Q3switch =2.8625

figure 6

9. Future Work

The addition of actuation and control to passive dynamic walkers brings with it issues quite similar to those dealt with in the passive walker research. Many questions arise, such as:

? What role does the actuation and control of these walkers play in the coordination and

stability of these walking motions?

? What roles do the actuation/control parameters play in the efficiency of powered walking?

? What is the simplest control scheme that will still walk stably?

? How stable can a controlled dynamic walker become?

? What control scheme/physical parameter combination yields the best performance in terms of stability vs. computational cost?

With this simulation in place at least some of these questions can begin to be answered.

The simulation, as it stands at the time of this writing, can be easily expanded to support a knee-jointed powered model. The way in which we have chosen to power the walker will allow us to make this change without deriving any new equations of motion. This is the case as we are free to begin the extension of the foot after kneestrike has occurred (i.e., the walker would effectively be straight legged during powered mode). One only needs to insert a call to a knee-jointed module (integrator) into the main program. A change that can be made quite easily.

10. Conclusion

Whether one’s interest is in biomechanics, autonomous robots, or simply system dynamics, the control of a dynamic system such as this one always brings with it trade offs between performance and financial, computational and philosophical cost. What one is willing to pay may differ greatly across these fields, but there is no question of the advantage of exploiting, rather than fighting, the passive dynamics of the system.

McGeer’s discovery that unpowered, uncontrolled sets of rigid links can achieve stable human-like walking motions brought into light the extent to which the passive dynamics of the human body is capable of coordinating human locomotion. With his work came the possibility of stable, powered, human-like walking with out closed-loop control. We have found that a simple open loop controller/actuator is all that is needed to power these walkers and that the powered behavior parallels that of the passive walkers, as hoped.

11. Acknowledgments

Many thanks to Andy, Subhas, Anindya Chatterjee, Mike Coleman and Mariano Garcia for their years of advice and patience.

References

[1]M.Coleman,A.Chatterjee,and A.Ruina.Motions of a rimless spoked

wheel:A simple3D system with impacts.Dynamics and Stability of Sys-tems,1997.Accepted for publication.

[2]M.Coleman and A.Ruina.A tinkertoy model that walks.1997.In prepa-

ration.

[3]M.J.Coleman.A Stability Study of a Three-dimensional Passive-dynamic

Model of Human Gait.PhD thesis,Cornell University,Ithaca,NY,1997.

In preparation.

[4]J.Furusho and A.Sano.Sensor-based control of a nine-link biped.The

International Journal of Robotics Research,9(2),April1990.

[5]M.Garcia,A.Chatterjee,A.Ruina,and M.J.Coleman.The simplest

walking model:Stability,complexity,and scaling.Accepted for publication in ASME Journal of Biomechanical Engineering,1997.

[6]J.A.Golden and Y.F.Zheng.Gait synthesis for the SD-2biped robot

to climb stairs.International Journal of Robotics and Automation,5(4), 1990.

[7]A.Goswami,B.Thuilot,and https://www.sodocs.net/doc/fb11564506.html,pass-like biped robot,part

I:Stability and bifurcation of passive gaits.Rapport de recherche2996, Unite de recherche INRIA Rh o ne-Alpes,St.Martin,France,October1996.

[8]A.A.Grishin,A.M.Formal’sky,A.V.Lensky,and S.V.Zhitomirsky.

Dynamic walking of a vehicle with two telescopic legs controlled by two drives.The International Jorunal of Robotics Research,13(2):137 -147, April1994.

[9]Y.Hurmuzlu.Dynamics of bipedal gait:Part I objective functions and

the contact event of planar?ve-link biped.Journal of Applied Mechanics, 60:331 -337,June1993.

[10]Y.Hurmuzlu.Dynamics of bipedal gait:Part II stability analysis of

a planar?ve-link biped.Journal of Applied Mechanics,60:337 -343,June

1993.

[11]T.McGeer.Stability and control of two-dimensional biped walking.Techni-

cal Report CSS-IS TR88-01,Simon Fraser University for Systems Science, Burnaby,B.C.,Can.,1988.

[12]T.McGeer.Powered flight,child’s play,silly wheels,and walking machines.

Technical report,Simon Fraser University,Burnaby,British Columbia, Canada,1989.

[13]T.McGeer.Dynamics and control of bipedal locomotion.Progress in

Robotics and Intelligent Systems,1990.

[14]T.McGeer.Passive dynamic walking.The International Journal of

Robotics Research,9(2):62 -82,April1990.

[15]T.McGeer.Passive walking with knees.In Proceedings1990IEEE In-

ternational Conference on Robotics and Automation,pages1640 -1645,Los Alamitos,CA,1990.IEEE.

[16]T.McGeer.Passive dynamic catalogue.Technical report,Aurora Flight

Sciences Corporation,1991.

[17]T.McGeer and L.H.Palmer.Wobbling,toppling,and forces of contact.

American Journal of Physics,57:1089 -1096,December1989.

[18]H.Miura and I.Shimoyama.Dynamic walk of a biped.International

Journal of Robotics Research,3(2):60 -74,1984.

[19]S.Mochon and T.McMahon.Ballistic walking:An improved model.Math-

ematical Biosciences,52:241 -260,1980.

[20]S.Mochon and T.A.McMahon.Ballistic walking.Journal of Biomechan-

ics,13:49 -57,1980.

[21]C.Shih,W.A.Gruver,and T.Lee.Inverse kinematics and inverse dynam-

ics for control of a biped walking machine.Journal of Robotic Systems, 10(4):531 -555,1993.

[22]G.Taga,Y.Yamaguchi,and H.Shimizu.Self-organized control of bipedal

locomotion by neural oscillators in an unstable environment.Biological Cybernetics,65(3):147 -159,1991.

[23]M.Vukobratovic,B.Borovac,D.Surla,and D.Stokic.Scienti?c Fun-

damentals of Robotics7Bip ed Locomotion:Dynamics,Stability,Con-trol,and https://www.sodocs.net/doc/fb11564506.html,munications and Control Engineering Series.

Springer-Verlag,Berlin,1990.

Appendix A: System Parameters

Physical parameters for the composite leg:

M: total leg mass

I/cm: moment of inertia of the composite leg about its center of mass

X,Y cm: X and Y coordinates of the cm, measured in the leg fixed basis Structural parameters:

L: leg length (the distance from the ankle to the hip)

D: the distance from the ankle to the center of the foot

R: the radius of the foot

Q2lock: the prescribed locked foot angle

Actuation/control parameters:

Tstall: the stall torque of the motor

ωno-load: the unloaded angular velocity of the motor

Q3switch: the swing leg angle at which the walker enters powered

mode

Appendix B: AutoLev

Equation Generation Passive Mode:

% Derivation of equations of motion for the two-link mode. newtonian n

bodies a,b,f

points h,o,c,ank

variables u{2}'

variables q1,q1',q3,q3'

constants L,g,m,R,I,Xcma,Xcmb,Ycm,d,q2

mass a=m,b=m,f=0

inertia a,0,0,I,0,0,0

inertia b,0,0,I,0,0,0

inertia f,0,0,0,0,0,0

q1' = u1

q3' = u2

simprot(n,f,3,q1)

simprot(f,a,3,q2)

simprot(a,b,3,q3)

% position vectors

p_o_c> = R*n1>

p_c_ank> = d*f1>

p_ank_h> = L*a1>

p_h_Bo> = (Xcmb)*b1> - Ycm*b2>

p_o_Bo> = p_h_Bo> + p_ank_h> + p_o_c> + p_c_ank>

p_ank_Ao> = Xcma*a1> + Ycm*a2>

p_o_Ao> = p_o_c> + p_ank_Ao> + p_c_ank>

% velocities and angular velocities

v_o_n>=R*q1'*n2>

v_c_n>=dt(p_o_c>,n) + v_o_n>

v_Ao_n>=dt(p_o_Ao>,n) + v_o_n>

v_Bo_n>=dt(p_o_Bo>,n) + v_o_n>

%save Vel_lock.all,45:48

w_f_n>=q1'*n3>

w_a_n>=q1'*n3>

w_b_n>=(q1'+q3')*n3>

% active forces

force_ao>=-m*g*n1>

force_bo>=-m*g*n1>

zero=fr()+frstar()

kane()

code dynamics() passive_mode.f

Equation Generation, Powered Mode:

% Derivation of equation of motion of Powered Mode newtonian n

bodies a,b,f

points h,o,c,ank

variables u{3}'

variables q1,q1',q2,q2',q3,q3'

constants L,g,m,R,I,Xcma,Xcmb,Ycm,d,mtorq

mass a=m,b=m,f=0

inertia a,0,0,I,0,0,0

inertia b,0,0,I,0,0,0

inertia f,0,0,0,0,0,0

q1' = u1

q2' = u2

q3' = u3

simprot(n,f,3,q1)

simprot(f,a,3,q2)

simprot(a,b,3,q3)

% position vectors

p_o_c> = R*n1>

p_c_ank> = d*f1>

p_ank_h> = L*a1>

p_h_Bo> = Xcmb*b1> - Ycm*b2>

p_o_Bo> = p_o_c> + p_c_ank> + p_ank_h> + p_h_Bo> p_ank_Ao> = Xcma*a1> + Ycm*a2>

p_o_Ao> = p_o_c> + p_ank_Ao> + p_c_ank>

% velocities and angular velocities

v_o_n>=R*q1'*n2>

v_c_n>=dt(p_o_c>,n) + v_o_n>

v_Ao_n>=dt(p_o_Ao>,n) + v_o_n>

v_Bo_n>=dt(p_o_Bo>,n) + v_o_n>

%save pow_vel.all,47:50

w_f_n>=q1'*n3>

w_a_n>=(q1'+q2')*n3>

w_b_n>=(q1'+q2'+q3')*n3>

force_ao>=-m*g*n1>

force_bo>=-m*g*n1>

torque_f>=mtorq*n3>

torque_a>=-mtorq*n3>

zero=fr()+frstar()

kane()

code() dynamics powered_mode.f

Jump Conditions:

% Finds the expression for the angular momentum of the system about the new contact point and the % angular momentum of the 'back' leg about the hip before heelstrike.

newtonian n

bodies a,b,f

points h,o,c,ank,sank,cp,sf

variables u{3}'

variables q1,q1',q2,q2',q3,q3'

constants L,g,m,R,I,Xcma,Xcmb,Ycm,d,q2loc

mass a=m,b=m,f=0

inertia a,0,0,I,0,0,0

inertia b,0,0,I,0,0,0

inertia f,0,0,0,0,0,0

q1' = u1

q2' = u2

q3' = u3

simprot(n,f,3,q1)

simprot(f,a,3,q2)

simprot(a,b,3,q3)

% position vectors

p_o_c> = R*n1>

p_c_ank> = d*f1>

p_ank_h> = L*a1>

p_h_Bo> = Xcmb*b1> - Ycm*b2>

p_o_Bo> = p_o_c> + p_c_ank> + p_ank_h> + p_h_Bo>

p_ank_Ao> = Xcma*a1> + Ycm*a2>

p_h_Ao> = -Xcmb*a1> + Ycm*a2>

p_o_Ao> = p_o_c> + p_ank_Ao> + p_c_ank>

p_sank_h> = L*b1>

p_sank_sf> = cos(q2loc)*D*b1> -sin(q2loc)*D*b2>

p_sf_o> = p_o_c> + p_c_ank> + p_ank_h> + p_h_sank> + p_sank_sf>

p_cp_o> = -dot( p_sf_o>,n2>)*n2>

p_cp_Ao> = p_cp_o> + p_o_Ao>

p_cp_Bo> = p_cp_o> + p_o_Bo>

% velocities and angular velocities

v_o_n>=R*q1'*n2>

v_c_n>=dt(p_o_c>,n) + v_o_n>

v_Ao_n>=dt(p_o_Ao>,n) + v_o_n>

v_Bo_n>=dt(p_o_Bo>,n) + v_o_n>

w_f_n>=q1'*n3>

w_a_n>=(q1'+q2')*n3>

w_b_n>=(q1'+q2'+q3')*n3>

h_a_h_n> = momentum(angular,h,a)

h_s_cp_n> = momentum(angular,cp,a,b)

h_a_h_n = dot(H_A_h_n>,n3>)

h_s_cp_n = dot(H_s_cp_n>,n3>)

save mom.all,75:78

相关主题