as LIBRARY Michigan State University This is to certify that the thesis entitled Active Synthetic Wheel Prismatic Joint Biped presented by Louis L. Flynn IV has been accepted towards fulfillment of the requirements for the MS. degree in Mechanical Engineering Major Professor’s Signaturg %WW 9; 2009 Date MSU is an Affirmative Action/Equal Opportunity Employer —----.- -.-—----V-.—.-.-.---- PLACE IN RETURN BOX to remove this checkout from your record. TO AVOID FINES return on or before date due. MAY BE RECALLED with earlier due date if requested. DATE DUE DATE DUE DATE DUE 5/08 K:IProj/Aoc&Pres/ClRC/DateDm.hdd ACTIVE SYNTHETIC WHEEL PRISMATIC JOINT BIPED By Louis L. Flynn IV A THESIS Submitted to Michigan State University in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE Mechanical Engineering 2009 ABSTRACT ACTIVE SYNTHETIC WHEEL PRISMATIC JOINT BIPED By Louis L. Flynn IV We have developed a three-link biped with stiff ankles and arc-shaped feet that have the same radius as the leg length: the MSU Active Synthetic Wheel Biped. This biped is an underactuated, planar walker with paired legs for lateral stability and motors between each leg and the torso. The robot is designed to naturally fall in the direction that the torso is leaning, creating the propulsive torque needed to walk. We present a dynamic model for the system and its collision dynamics. Because of the unique shape of the biped, the robot has no‘ vertical component of collision, but ve- locity mismatches at the switching time results in a horizontal component, which has been modeled as a disturbance. We then describe two methods of gait creation. The first method creates a gait by defining predetermined trajectories in the actuated de- grees of freedom and independently tracking them. The second method creates a gait by tracking trajectories in the actuated degrees of freedom based on the rolling unac- tuated degree of freedom at the foot-ground interface through feedback linearization. We present the results of both kinematics and energy consumption for the two meth- ods of gait creation. A discussion about the choice of reference trajectories for our system follows, including methods to create trajectories that minimize the horizontal impulses at the end of the step and to reduce the total work required to complete a step. COPYRIGHT Copyright by Louis L. Flynn IV, 2009 DEDICATION To Sandra and my Family iv ACKNOWLEDGMENT I would like to thank my advisor Dr. Ranjan Mukherjee, and my committee members Dr. Alejandro Diaz and Dr. Brian Feeny. I would also like to thank the students from the Dynamics and Controls Lab at MSU. Particularly, Rouhollah J afari for his help in developing the controllers and debugging the experimental setup and Aren Hellum for his work on the optimization of trajectories. Also I would like to thank Sandra Nauwelaerts and the McPhail Equine Perfor- mance Center at MSU for allowing us to use their motion capture system for measur- ing kinematics. Ramon Yzmon and Advanced Motion Controls for donating motor drives for our robot. The MSU HSHSP and David Crouse and for helping set up the real time operating system. And finally, thank you to Mike Mclean and Roy Bailiff for their work building the robot. TABLE OF CONTENTS List of Tables ................................. List of Figures ................................ Nomenclature ................................. Introduction 1.1 Background ................................ 1.2 Review of Biped Robots and Biped Controllers ............. 1.3 The MSU Active Synthetic Wheel Biped ................ Dynamic Model 2.1 Introduction ................................ 2.2 General Dynamic Model ......................... 2.3 Impulsive Disturbances due to Swing Leg Collision .................................. 2.4 Constrained Motion and the Nominal Trajectory ............ 2.5 Interchange of Stance and Swing Legs .................. 2.6 Forward and Inverse Relations for Control Transformation for Experi- ments ................................... Controller Design 3.1 Introduction ................................ 3.2 Decoupled Controller ........................... 3.2.1 Controller for Fixed Torso Angle ................ 3.2.2 Controller for Constrained Motion of Swing Leg ........ 3.2.3 Simulations of Decoupled Controller ............... 3.3 Coupled Controller ............................ 3.3.1 Motivation ............................. 3.3.2 Feedback Linearization ...................... 3.3.3 Simulations of Coupled Controller ................ Experimental Methods 4.1 Background ................................ 4.2 Mechanical Design ............................ 4.3 Electrical Design ............................. 4.3.1 Version 1 ............................. 4.3.2 Version 2 ............................. vi viii ix 14 17 21 22 25 25 26 26 27 29 31 31 31 33 35 35 5 Experimental Results 44 5.1 Performance Comparison ......................... 44 5.1.1 Decoupled Controller ....................... 44 5.1.2 Coupled Controller ........................ 47 5.2 Energy Consumption ........................... 51 5.2.1 Decoupled Controller ....................... 52 5.2.2 Coupled Controller ........................ 53 6 Determining Reference Trajectories 54 6.1 Parameterized Gait Functions ...................... 55 6.1.1 Boundary Conditions ....................... 55 6.1.2 Work over One Step ....................... 56 6.1.3 Parameterized Gait Functions .................. 56 6.2 Nominal Trajectory ............................ 58 6.3 Optimized Trajectories .......................... 61 6.3.1 Constraints for Steps with Zero Total Work .......... 62 6.3.2 Equations For Gait Requiring Zero Total Work ........ 62 6.3.3 Term by Term Evaluation of Even / Oddness .......... 64 6.3.4 Proof of Zero Total Work Gait .................. 66 6.3.5 Non-Zero Total Work Gait .................... 71 6.3.6 Discussion of Optimization .................... 74 7 Conclusion and Future Research 76 A Impulse Constant K. 78 Bibliography ..................................................... 79 vii LIST OF TABLES 4.1 Kinematic and Dynamic Parameters of Synthetic Wheel Biped . . . . 37 4.2 Control System Hardware ........................ 43 5.1 Energy Consumption of Selected Bipeds ................ 53 viii 1.1 1.2 1.3 1.4 1.5 1.6 1.7 2.1 2.2 2.3 2.4 LIST OF FIGURES Images in this thesis are presented in color Early Waseda Bipeds ........................... The RABBIT Planar Biped ....................... The VU Brussels Robot Lucy ...................... Various Successful Passive Dynamic Walkers .............. Highly Dynamic Robots with Compliant Joints and non-ZMP Based Controllers ................................. Bipeds with Learning Algorithms .................... (a) Self-Propelled Wheel, (b) Design Variant Of Self-Propelled Wheel, (c) Conceptual Design Of Biped With Torso .............. The Two-dimensional Three Link Model ................ Free-body diagrams of the stance leg, swing leg and torso showing impulses of all impulsive forces generated as a consequence of swing leg touchdown ............................... Illustration of the generalized coordinates 91‘) and 1/2 and their relations to 0 and a. ................................ Relationships of the generalized coordinates 9, qb, and w to the coordi- nates 73;, 73w, and a ............................ ix 14 23 3.1 3.2 4.1 4.2 4.3 4.4 4.5 4.6 4.7 5.1 5.2 5.3 Simulation results of the decoupled controller. The motion of the torso is shown in (a) as a solid line, the desired torso angle, ad is shown as a dotted line. The leg motion is seen in (b) where the angle of the stance leg with respect to the vertical is the solid line, and the angle of the swing leg with respect to the vertical is the dotted line. Graph (c) shows the two motor torques for Tst (black) and 75w (grey). Compare this with Figure 3.2. ........................... 30 Simulation results of the coupled controller. The motion of the torso is shown in (a) as a solid line, the desired torso angle, ad is shown as a dotted line. The leg motion is seen in (b) where the angle of the stance leg with respect to the vertical is the solid line, and the angle of the swing leg with respect to the vertical is the dotted line. Graph (c) shows the two motor torques for Tst (black) and 73w (grey). Compare this with Figure 3.1. ........................... 34 MSU Synthetic Wheel Biped With Torso ................ 36 Front View of the Robot .......................... 38 Outer Leg Prismatic Joint ........................ 38 Front View of the Hip Joint ........................ 39 Bottom View of the Hip Joint ....................... 39 Schematic of Version 1 Electrical System ................ 41 Schematic of Version 2 Electrical System ................ 42 Plot of the Torso Angle a with Respect to Time During Walking . . . 45 Plot of the Angles made by the Inner and Outer Legs with respect to Time during walking. The Outer leg angle with respect to the torso is the solid line. The Inner leg angle with respect to the torso is the dotted line. ................................ 46 Plot of control variables V1 and V2 with time. ............. 48 5.4 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 Plots of angles subtended by the inner and outer legs with the vertical. The vertical dashed lines indicate the times when stance and swing legs are interchanged. In the first time interval, the outer leg is the stance leg (0st) and the inner leg is the swing leg (isw). After the first interchange, the outer leg becomes the swing leg (osw) and the inner leg becomes the stance leg (ist). ............ ‘ ......... Simulation of 0, (15 — 7r, and 1,!) over one step starting from rest and torso angle at 1.5 deg ............................... The nominal trajectory torques 7'1 and 7'2, corresponding to the torques on generalized coordinates 45 and t/) respectively. ............ The work and 9f — 60 plotted against initial velocity for a torso angle of 1.5 deg using the nominal trajectory .................. Optimized trajectory simulation of 6, ¢—7r, and 1,!) over one step starting from 0.1 rad/ sec and torso amplitude of -0.06 rad ........... Zero work trajectory torques 7'1 and 72 corresponding to general coor— dinates <15 and 1p respectively. Calculations are over one step starting from 0.1 rad/ sec and torso amplitude of -0.06 rad ........... 9 is shown to be the same at the beginning and end of the step, re- gardless of the initial velocity, 00. The torso amplitude is constant at —0.06 rad .................................. d is shown to be the same at the beginning and end of the step, re— gardless of the amplitude of the torso angle as long as the robot is able to complete a step. For small, or positive, torso amplitudes, the robot is not able to reach the length of a full step and simply wobbles on the stance leg. ................................. Parameter space in k and d. A rough estimate of the valid space of the parameters. ................................ Starting initially from rest, relationships between the parameter d and the final velocity at different torso angle setpoints, ad. ........ 6.10 Starting initially from 1 rad/ sec, relationships between the parameter (1 and the velocity difference at different torso angle setpoints, ad. . . xi 49 60 6O 61 68 69 69 70 73 53> Q! ist isw Jst sz NOMENCLATURE distance of the center of mass of the stance leg, (m) distance of the center of mass of the swing leg, (m) distance of center of mass of the torso, (m) vector of gravitational torques (in original equations of motion) vector of gravitational torques (in constrained equation of motion) vector of gravitational torques (in transformed equations of motion) vector of gravitational torques (in reduced-order equations of mo- tion) inner leg stance inner leg swing acceleration due to gravity, (9.81 ms-2) mass moment of inertia of the stance leg about its own center of mass, (kgmz) mass moment of inertia of the swing leg about its own center of mass, (kgm2) mass moment of inertia of the torso about its own center of mass, (@7712) length of the stance leg, (m) length of the swing leg, (m) length of the torso, (m) inertia matrix (in original equations of motion) xii ost ad CIc inertia matrix (in constrained equation of motion) inertia matrix (in transformed equations of motion) inertia matrix (in reduced-order equations of motion) mass of the stance leg, (kg) mass of the swing leg, (kg) mass of the torso, (kg) matrix of centrifugal terms (in original equations of motion) matrix of centrifugal terms (in constrained equations of motion) matrix of centrifugal terms (in transformed equations of motion) matrix of centrifugal terms (in reduced-order equations of motion) outer leg stance outer leg swing radius of curvature of the feet, (m) vector of torques (in original equation of motion) vector of torques (in constrained equation of motion) generalized coordinate related to the torso angle generalized coordinate related to the leg angles angle of the torso with respect to the vertical, measured positive in the cow direction, (rad) constant desired value of a, (rad) % arc angle of the feet, (rad) vector of generalized coordinates: 6, d) and 2p vector of (constrained) generalized coordinates: 6, <15 angular displacement of the stance leg with respect to the vertical, measured positive in the counter-clockwise direction, (rad) angular displacement of the torso with respect to the stance leg, measured positive in the counter-clockwise direction, (rad) xiii ‘80 T2 ’l’st 73w 7"st 7'sw an odd function in theta for the coordinate <15 angular displacement of the swing leg with respect to the stance leg, measured positive in the counter-clockwise direction, (rad) an odd function in theta for the coordinate 1p generalized force corresponding to (b, (N m) generalized force corresponding to 1p, (N m) angle between torso and stance leg, (rad) angle between torso and swing leg, (rad) generalized force corresponding to first, (N m) generalized force corresponding to 73w, (N m) The following nomenclature pertains to instants of time when the swing leg comes in contact with the ground: an instant of time when the swing leg comes in contact with the ground, (3) horizontal impulse applied to the swing leg by the ground, (N s) impulse applied to the stance leg by the ground in the a: direction, (N 8) impulse applied to the stance leg by the ground in the y direction, (N 8) impulse applied to the stance leg at the hip joint in the a: direction, (N 8) impulse applied to the stance leg at the hip joint in the y direction, (N 8) Iswx Iswy 9+ q'3_ impulse applied to the swing leg at the hip joint in the x direction, (N 8) impulse applied to the swing leg at the hip joint in the y direction, (N 8) impulse applied to the torso at the hip joint in the :1: direction, (N s) impulse applied to the torso at the hip joint in the y direction, (N s) time derivative of 6, immediately before swing leg makes contact with the ground, (rad/s) time derivative of 6, immediately after swing leg makes contact with the ground, (rad/s) time derivative of ab, immediately before swing leg makes contact with the ground, (rad/s) time derivative of (I), immediately after swing leg makes contact with the ground, (rad/s) time derivative of t/J, immediately before swing leg makes contact with the ground, (rad/s) time derivative of ’l/), immediately after swing leg makes contact with the ground, assumed to be zero, (rad/s) disturbance impulse corresponding to 6, (N ms) disturbance impulse corresponding to 45, (N ms) disturbance impulse corresponding to w, (N ms) vector of generalized coordinates 6, qb and t!) after interchange of stance and swing legs coordinate transformation matrix describing stance and swing leg interchange. XV Chapter 1 Introduction 1 .1 Background While the process of developing a viable general purpose walking biped has been a long and challenging endeavor, there is still much work that needs to be done in order to build a useful biped. We currently have machines that can walk and run in straight lines and in circles, perform many tasks such as climbing stairs, carry light masses, and perform complicated path planning; each of these accomplishments stand alone as incredible feats. But current bipeds cannot do many of the things necessary to really be useful as service robots. Primarily, they still require extremely controlled and well known environments in which to work and the most capable robots require a significant amount of energy to complete simple tasks. In comparison to their human counterparts, robots simply underperform. For example, looking at energy efficiency, the estimated specific cost of transport (energy used/[weight a: distance traveled], Get) for human walking is approximately 0.2 and the related specific mechanical energy efficiency (Cmt) of 0.05. Asimo, the famous Honda robot which is still one of the most capable today, achieves an estimated 3.2 Get and 1.6 Cmt [1]. When looking at capability, while these robots can run, they are limited to extremely flat ground at speeds of 6 — 7 km/hr in short bursts, while the current fastest marathon runner ran at an average 20.34 lem/hr [2]. There is still much work to be done regarding stability and efficiency in biped robots and we hope to understand some of the essential issues in overcoming these problems through the development of a simple biped. Bipedal walking is, by nature, a difficult, dynamically challenging controls prob- lem incorporating underactuation, non-linearities, relatively high numbers of degrees of freedom, and hybrid system dynamics due to intermittent contact impact from foot-ground interaction and discrete events such as switching support between legs. Therefore it is no surprise why, even after 40 years of intense study, the best bipedal robots fail to provide the kind of stable, robust and efficient locomotion that biological organisms can achieve [3]. But the advantages of biped design are clear. As compared to traditional wheeled mobile robots, walking machines have the potential for better maneuverability over uneven terrain such as outdoor environments with crevasses and bumps. By virtue of being anthropomorphic, bipeds are well suited to sharing the workspace with humans, interactng in a manner similar to how another human may interact. There have been a large number of methods of adding capability to biped machines including innovative control techniques, drive and actuator designs, and better combinations of the two which have brought basic ability to these machines. Here, we have chosen a sample of these developments to illustrate the wide variety of methods developed that bring unique capabilities and add efficiency to these robots. 1.2 Review of Biped Robots and Biped Controllers The academic study of robotic bipeds began at Waseda University in Japan with the WL—l in 1967 [4]. Due to inherent problems with static controllers, such as speed and stability limitations, researchers at Waseda University developed the first quasi- dynamic (WL—9DR) and fully dynamic (WL-IORD) bipeds. The completely dynamic biped, discussed extensively in [5], employs high-gain controllers to track trajectories satisfying the Zero Moment Point (ZMP) condition, developed by Vukobratovic and Juricic [6]. The ZMP method and its different interpretations [6—8], including the Foot Rotation Index [9], have led to the development of the most stable biped platforms to date [10—14] including the ASIMO line of robots from Honda and similar consumer and academic robots [15, 16]. (a) Waseda WL-l (b) Waseda WL-lORD Figure 1.1: Early Waseda Bipeds The designs for these ZMP bipeds began with equipment and control techniques developed for anchored robotic arms used in the manufacturing industry, and in general are built in much the same manner: light linkages paired with extremely stiff joints which help in driving joints along desired trajectories. There have also been a number of controllers for stiff robots that do not follow the ZMP criterion for stability. One of these robots is the Rabbit, developed at Centre National de la Recherche Scientifique in France [17]. Rabbit is controlled using the virtual constraint and hybrid zero dynamics method [18] which creates a single degree of freedom system by applying virtual constraints. The ankle joint of Rabbit is passive and all other joints are controlled to follow trajectories strictly based on the angle of the ankle. Any locomotion gait involves synchronous movement of relevant degrees of freedom of the system and in this regard the active synthetic wheel biped, presented in this thesis, has similarities with Rabbit. Figure 1.2: The RABBIT Planar Biped In robots built with high mechanical joint stiffness, other techniques such as impedance control [19—21] and variable compliance controllers [22] have been im- plemented in high-level controllers to emulate low joint stiffness to eliminate some of the problems inherent in stiff robots such as collision impulses with the ground. These techniques generally also incorporate a low-level, high-gain trajectory controller for fine position control. This desire for the addition of compliance in joints has led to a different class of trajectory controlled robots that incorporate variable joint stiffness, not in their controllers, but in the mechanisms of the robots. Examples such as Lucy [23] and W'L—14 [24], utilize compliant actuators which ultimately allow some of the natural system dynamics to drive trajectory creation. In the WL—14, trajectory tracking that follows the natural dynamics of the system was shown to have an associated reduction in energy consumption. Compliance controllers have also been applied to these types of robots. The Lucy robot was able to show this reduced energy consumption in simulation, but was not able to experimentally show a reduction in energetic cost due to speed limitations [25]. Figure 1.3: The VU Brussels Robot Lucy Passive Dynamic Walkers (PDW’s), machines that need no actuation to find sta- ble gaits, epitomize the use of natural dynamics to create joint trajectories. This type of approach was pioneered by Tad McGeer in the late 1980s when he investi- gated passive systems using limit cycle analysis together with basin of attraction and F loquet multipliers as indicators of stability [26]. Inspired by a walking toy from McMahon’s 1984 paper [27], McGeer developed a kneed walker that can walk with human-like, periodic, gaits down small slopes with no control, using potential energy from traversing down a slope to balance the losses associated with the collision of the foot during heel strike and system frictional losses. McGeer’s methods for analysis has produced a number of passive dynamic walkers, such as the series built at Nagoya University [28]. The Nagoya University planar walker took approximately 4000 steps on a treadmill, illustrating a reasonable level of stability in these walkers without the need for a controller. The methods for quantification of stability in passive bipeds has been expanded upon with methods such as the Gait Sensitivity Norm [29]. There have also been a few successful three—dimensional passive walkers including the Collins passive dynamic walker developed at Cornell. This walker was able to compensate for the yaw forces using a pair of arms attached to the opposite leg [30]. (a) McGeer’s Dyna— (b) Nagoya Passive Dy- (c) Cornell 3D PDW mite namic Walker Figure 1.4: Various Successful Passive Dynamic Walkers There are quite a few other robots that are not built to follow limit cycles like the passive walkers, but are built with the intention of exploiting natural dynamics during some portion of the gait cycle and use different controllers to remain stable with a high level of mechanical compliance throughout the robot [1, 31—35]. Unlike the pure passive dynamic walkers, they are able to have flat feet, which when ac- tuated either passively or actively are able to increase the control authority of the ankle when the foot is on the ground. Also, they champion the use of series elastic actuators in order to reduce the impedance of the joints, which allows fast adaptation for unknown disturbances without necessarily knowing them in advance [32]. The virtual model control approach developed at MIT is a way to model the robot and its behaviors as virtual objects. In this approach, the joint torques can be calculated to mimic the virtual components of the model without the need for generating joint trajectories [36—38]. Other controllers such as learning algorithms and neural os- (a) MIT Planar Biped (b) MIT Spring (c) TU Delft Flamingo Flame Figure 1.5: Highly Dynamic Robots with Compliant Joints and non-ZMP Based Controllers cillators have also been implemented successfully in a number of different types or robots. Neural oscillators or central pattern generators have been shown to exist in biological systems and have provided insight into how biological systems might control their limbs while performing tasks such as walking [39]. This motivated the approach based on local neural networks [40] that react to inputs from local sensors. Machine learning algorithms employ a learning controller to analyze its steps after training. The Toddler [41], developed at MIT, can learn quickly and is efficient because of its extensive use of natural dynamics. This thesis describes the design for a new biped robot that we believe is a solid platform to study the wide range of problems that bipedal robots encounter. We wanted a design that would remain simple to model, namely having a low number of degrees of freedom, but also included the issues seen in most bipeds such as un— deractuation, intermittent contact, and instability. The design is an extension on the concept of a self-propelled wheel [42], and it promises to provide impact-free and stable motion during walking. (a) RunBot with Learn- (b) MIT Toddler ing Neural Oscillator Con- troller Figure 1.6: Bipeds with Learning Algorithms 1.3 The MSU Active Synthetic Wheel Biped As an extension of previous work from Das and Mukherjee [42], we decided to un- dertake the development of a new dynamic biped that was based on the concept of a self—propelled wheel. This design began as a rolling wheel, as shown in Figure 1.7 (a), where three eccentric masses are constrained and driven along radial spokes 120° apart to create a mass unbalance used to drive the wheel. Similarly, a mass unbalance can also be created by changing the relative angular position of the spokes while keeping the radial distance of the masses fixed. This design variant is shown in Figure 1.7 (b). We can also restrict the range of motion of these spokes within the wheel, such that one spoke is always near the top of the disk, as a torso would be in an upright walking biped, and the other two oscillate around the bottom of the disk, as two legs would. From this variant, we can then cut the outer rim of the wheel and create feet-like sections. In our design, shown in Figure 1.7 (c), these sections of the rim are used as arc-shaped feet that “synthesize” the rim of a wheel as the legs move along. Although our design came from completely different work, a similar type of robot m2 I I I (b) (c) Figure 1.7: (a) Self-Propelled Wheel, (b) Design Variant Of Self-Propelled Wheel, (c) Conceptual Design Of Biped With Torso had been imagined previously by Tad McGeer, though his emphasis was on using the natural dynamics of the system to create the gait cycle [26]. This is where the nomenclature of “synthetic wheel” originated as the wheel would be synthesized naturally as the walker rolled along. Our robot differs in that we use active control of the hip joints to drive the swing and stance angles along desired trajectories. Ideally if we used the same analysis as McGeer, we could determine passive trajectories for our particular robot, but run into limitations of our hardware, particularly foot size, required to fully implement this at reasonable velocities. Future work may include a limit cycle analysis of this particular biped, with hopes of obtaining a more efficient gait, as discussed in Chapter 7. Because the synthetic wheel concept provides a large range of stable gaits and has a low number of degrees of freedom, we believe this is an excellent platform to study the challenges of biped locomotion. Although our biped is normally unstable due to the center of mass lying above the center of rotation, due to its geometry, it is able to remain standing using a relatively simple criterion: one foot always needs to be below the hip joint at all times. Of course, the complexity comes in how we choose to satisfy this criterion while remaining stable and preferably with little work. This design also allows us to avoid collisions. Vertical components of collision are avoided through the nature of the synthetic wheel design, and the horizontal component of the collision during foot interchange can be avoided by exchanging when the velocity of the stance and swing legs are equal. Avoiding the horizontal collisions simplifies analysis, but imposes constraints on our final gait. Experimentally this resulted in a planar biped, with paired legs for lateral stability. The outer pair of legs had a pair of motors that acted in unison to control the leg length to avoid the swing leg from scuffing on the ground as it swung forward. This thesis describes the process that we have taken to develop a simple 3-link biped. We developed two different controllers that were both successfully implemented on our experimental robot. These models and controllers are discussed in Chapters 2 and 3. We created two different versions of the biped. The first version did not successfully accomplish our goals and required a revision which enabled us to easily implement complex controllers. These mechanical and electrical designs are discussed in Chapter 4. We then discuss the experiments we ran and results in Chapter 5. Optimization of the swing leg and torso trajectories is discussed in Chapter 6, describing a method of obtaining an efficient gait and determining velocity changes over a step, as well as discussion on how we might find further improvements. 10 Chapter 2 Dynamic Model 2.1 Introduction Here we present the necessary models to analyze the general motion of our three-link biped. First, we derive the general equations of motion for the biped system and also derive the impulse disturbances for the system when the swing leg contacts the ground with a velocity that is not the same as the stance leg velocity. We then impose constraints to define a gait and derive the equations of motion of the constrained system. Finally, we show the transformation from our mathematical models to the motor torques on our experimental platform in order to physically implement the controllers. A schematic of the biped is shown in Figure 2.1. It has three degrees of freedom and can be described by the generalized coordinates: 6, (15, and t/i. These angles denote the angle of the stance leg with the vertical and the angles of the swing leg and torso with respect to the stance leg, respectively. The system has two actuators corresponding to the generalized coordinates c3 and 1p and is an underactuated system. The system also contains two prismatic joints in the outer legs to avoid foot scuffing at center stance. The prismatic joints are assumed to be dynamically insignificant 11 \\\%’\\\\\\\ Figure 2.1: The Two-dimensional Three Link Model and are therefore not included in this analysis. 2.2 General Dynamic Model Using Lagrange’s equations, the dynamics of the system shown in Figure 2.1 can be written in the form M(Q)ri+N(q.ti)+6—7r (2.16) The constraint C1 ensures that the swing leg is symmetric with respect to the stance leg about the vertical at all times. The constraint C2 ensures that the torso maintains angle ad with respect to the vertical. To satisfy these constraints, we require our parameterized gait functions of Equa- tions 2.13 and 2.14 to have parameter k = —2 and all the other parameters equal to zero. The equations of the constrained motion then simplify to ¢=7T+Ozd—9 (2.17) and w = ——29 (2.18) The torques (7'1 and 7'2) required to impose these constraints can be easily com- puted from Equation 2.1. The constrained system has one passive degree of freedom with the following dynamics which is derived from Equation 2.1. Mc(6) a + New, 9') + CC = 0 (2.19) 19 where MC = 1,, — 1..., + mstdgt — mswdgw +(mt + 2m3t)R2 — 2R(mstd3t — mswdsw) +mtR(R — dt) cos ad — 2m3tR(R — dst) cos6 NC = R [R(m3t — msw) — mstdst + mswdsw] sin662 CC = [R(m3t — msw) — mstdst + mswdsw] g —mt(R - dt) sin ad 9 (2.20) When the stance and swing legs are identical, i.8., mst = msw, dst = dsw, and I st = 13w, the expressions in Equation 2.20 simplify to the form MC = (mt + 2msj)R2 + mtR(R — dt) cos ad — 2m3tR(R — 61306086 NC: 0 CC = —mt(R — dt) sin ad g (2.21) For any set of reasonable parameter values, it can be verified that 6 will be positive for positive angle ad and vice versa. This will theoretically result in unbounded growth of 6 but in reality 6 will saturate at some maximum value due to friction and damping effects that have not been modeled. These constraints for the swing leg and torso were chosen due to an intuitive physical interpretation of the system; if the legs have the same mass and moment of inertia, the total motive torque on the system is directly proportional to the angle of the torso. This means that the robot should constantly accelerate at a rate that is entirely determined by the angle of the torso. As the robot leans forward, it accelerates the robot forward (or slows it down if it traveling backward at the time) just as leaning backward will do the opposite. This is not at all an optimal trajectory, 20 and necessitates an impulse at foot switching because it necessitates that 2/2— 75 0 if 6 75 0, as discussed in Section 2.3. This causes a number of problems for analysis of stability of the system but, as shown in our experiments, it does not cause the experimental system to destabilize. A more detailed discussion about the impulse disturbance due to leg switching at unmatched velocities is covered in Section 2.3. Better choices for trajectories are discussed later in Chapter 6. 2.5 Interchange of Stance and Swing Legs If we consider the constrained motion of the biped for some positive angle ad, it results in positive acceleration 6. This will result in a positive velocity 6 from zero initial velocity. When the biped has a positive velocity, it will roll on its stance leg and the point of contact with the ground will move from the heel to the toe. The stance and swing legs can be interchanged at any time, but to have the maximum step size the swing leg should touch down when the heel of the swing leg is right in front of the toe of the stance leg. As the swing leg becomes the new stance leg and vice-versa, the definitions of the generalized coordinates change. We can determine a transformation matrix from the coordinate set during the step to the coordinates of the new step. Without assuming maximum step size, an interchange in the stance and swing legs will result in the following transformation of the generalized coordinates and their velocities, irrespective of the direction of motion of the biped l 0 1 ] Qnew =P qold: P: O 1 —I (222) 0 0 —-1 where gold is the set of generalized coordinates during the step and qnew is the new 21 set of generalized coordinates after the step has been made. Therefore, anew 901d + ibozd ¢new = ¢old " lbold (223) _ ibnew _ _ -¢ozd . and _ _ _ - 612.22» 901d + tiara 43mm 2 450m — lbold (2-24) _ a... _ . to... , The elements of M, N and G matrices in Equation 2.1 are functions of mst, msw, dst, dsw, J at and J3“), and consequently their values need to be updated in the dynamic model after every interchange of stance and swing legs. 2.6 Forward and Inverse Relations for Control Trans- formation for Experiments In our biped platform, two actuators control the relative angles between the torso and the stance leg and the torso and the swing leg, respectively. We denote the torques of these motors as Tst and 73w and their corresponding generalized coordinates as cyst and 73w, respectively. In order to apply our torques generated from our generalized model, we must transform the torques T1 and 72 into the torques of Tst and Tsw. The angles a, Vst and 7310 are related to the generalized coordinates 6, ()5, and 11), as shown in Figure 2.4, by the forward and inverse relations a = 6+¢—7r 6 = a+73t 'l’st = 7r — Cb => (b = 7r — 'Yst (2.25) 7310 = 7r - (15+ 2P 16 = 73w _ 'Yst 22 K\\<’\\\\\\\ Figure 2.4: Relationships of the generalized coordinates 6, (25, and ’t/) to the coordinates "Yst, 73w: and 0- According to the virtual work principle [43],the total virtual work done by the actuators in each coordinate is the same, z'.e., Tst6'73t ‘l‘ 7.8106732!) = 7—1695 + 7261/} (2°26) On the other hand, from Equation 2.25, we can Show 565 = ‘6’7’313 51/1 = 6’73w"6’73t (2-27) 23 Substitution of Equation 2.27 into Equation 2.26 gives Tst = ”Tl-T2 73w = 7'2 (2.28) which are the actual torques applied by the motors. 24 Chapter 3 Controller Design 3.1 Introduction Two different robot controllers have been implemented successfully on our biped. We call the first our “Decoupled” controller, because the stance and swing leg torques were determined independently of each other and without considering the coupled dynamics of the system. The more complete “Coupled” controller contains the full dynamics of the robot and utilizes feedback linearization for the swing leg and stance leg torque calculations. Both of these controllers were designed using our “Nominal Trajectory”, as described in Section 2.4 and use the interchange transformation dis— cussed in Section 2.5. The model is a two dimensional model, and assumes lateral stability in the experimental setup for all controllers. Using an optimized trajectory, such as those described in Chapter 6, would necessitate a change in the control objec- tives, but analysis could be conducted in a manner similar to that described in this section. 25 3.2 Decoupled Controller 3.2.1 Controller for Fixed Torso Angle The control objective is to reach a fixed desired angle for the torso, i.e., a -—> ad as t ——> 00. From Equation 2.25, we can write 6 = (a + 73!.) (3-1) If ad is the desired angle of alpha and where 7% is the desired angle of the stance leg, then 9 = (ad + iii) (3.2) If we define the error 61 = (ad — a) (33) then Equation 3.1 gives an alternate expression for el, namely «91 = (’i’st — 73‘.) (3.4) To achieve the first control objective, we propose the following error dynamics 61 + kdlél + kplel = 0, kp1,kd1 > 0 (3.5) where km and kdl are positive constant gains. Since ad is constant, we can use Equations 3.3 and 3.4 to rewrite Equation 3.5 as follows 73. ~73. = —kd,a+kp1 0 (3.12) such that 62 —> 0 as t —) 00. Using Equations 3.10 and 3.11, we can write 62 = "(73w + 7323 + 20‘) (.32 = —("st + ”m + 2(5!) (3-13) at = i3... — is... Substitution of Equation 3.12 into Equation 3.13 yields yg’w - as.” = 19,12 (73w + ‘yst + 2a) + kpghsw + 73t + 20:) (3-14) Since rig,” is the desired acceleration, the motor control torque Tsw will be proportional to (fl-[gm _ flaw): 01' T... = C263... — a...) (13-15) where c2 is some positive constant whose value depends on the kinematic and dynamic parameters of the swing leg and its drive. Using Equations 3.14 and 3.15, the second torque controller is expressed in the form 7'sw = C2 [kdz (7310 ‘l‘ ’l’st 'l' 2d) + kpg (7310 + Vst + 20)] (3-16) In the above equation, c2, [C192 and kdg can be lumped into two independent param- eters 62er2 and c2kd2. Once again the appropriate values of these parameters were found experimentally and their values were dependent on the current swing or stance 28 leg. 3.2.3 Simulations of Decoupled Controller A numerical simulation of the system and controller was created and the outputs can be found in Figure 3.1. This simulation uses the mass and inertial properties of our experimental platform, provided in Table 4.1 with initial conditions of 6 = —11.25 deg, (25 = 91.25 deg, and tb = 22.5 deg. The robot starts from rest and the motion of the torso and legs with respect to the vertical are plotted. The joint torques for the stance and swing legs are also plotted. The desired torso angle, ad, was set to 2 deg. The controller gains were set to kp = 400 and kd = 20. The controller gains were chosen to keep the maximum motor torques near the 15 N m limit of our system within the arbitrary 5 sec of the simulation. Because the robot has a forward—leaning torso, it will continue to accelerate due to the lack of dissipative elements in the simulation. This means that the joint torques will continue to increase in magnitude as the robot continues to accelerate. In the actual robot, the robot would at some point stop accelerating when the losses match the increase in energy caused by the torso angle, and therefore reach a steady state velocity. The decoupled controller has difficulty tracking the desired torso and leg angles. As the robot’s velocity increases, the tracking error becomes worse as the dynamic effects of the uncompensated parts of the system become larger. This is particularly apparent in the torso angle. The torso oscillates with each step, reaching approxi- mately 3 degrees of error in within the 5 sec. The next section discusses our coupled controller, which dramatically reduces these errors. 29 a (deg) Leg Angle (deg) Torque (Nm) Time (s) Figure 3.1: Simulation results of the decoupled controller. The motion of the torso is shown in (a) as a solid line, the desired torso angle, ad is shown as a dotted line. The leg motion is seen in (b) where the angle of the stance leg with respect to the vertical is the solid line, and the angle of the swing leg with respect to the vertical is the dotted line. Graph (0) shows the two motor torques for T3t (black) and Tsw (grey). Compare this with Figure 3.2. 30 3.3 Coupled Controller 3.3.1 Motivation In this section, we discuss the design of torque controllers that will enable the biped walk forward or backward along a straight line using a full dynamic model, as opposed to the decoupled model discussed earlier. It was determined that our decoupled controller could not track the desired trajectories sufficiently, and a possible reason for this is that the swing leg controller has no information about the torso angle or the torso dynamics. In the decoupled control method, one controller could not compensate for the dynamics of the other directly, possibly leading to relatively large oscillations in the torso angle as the robot walked along. 3.3.2 Feedback Linearization To design a controller that achieves the control objectives stated in Section 2.4, we consider a new set of generalized coordinates for the system 6 a = v1 (3.17) V2 where V1 = a — ad V2 = 26 + "(,6 (3.18) These new variables are related to the original generalized coordinates 45 and 2/1 by 31 the following relations, ()5 = V1—6+7r+ad a = V2—26 (3.19) Substituting Equation 3.19 into Equation 2.1, we obtain the dynamics of the system in terms of the new generalized coordinates as follows M (a) «'7' + N(q, ci) 6+ 6(6) = T (3.20) where [[4, N and C have the same dimensions of M, N and C, respectively. The generalized force corresponding to 6 in Equation 3.20 is zero and this allows us to eliminate 6 from the two equations corresponding to the generalized coordinates V1 and V2. The reduced-order equations have the form A U A M (2) (i + M2. «7) 2 + 6(6) = T (321) where M E RQX2, N E R2X2 and G E R2X1 are functions of all three generalized coordinates 6, V1 and V2, and '01 Q) H H) II (3.22) '02 7'2 Equation 3.21 represents a completely actuated system and we use feedback lineariza- tion to design our controller as follows A A T = N (r. ci) (i + 6(a) - M(c‘r‘Xchi + Kp 2) (3.23) where Kd and Kp are diagonal positive-definite matrices of dimension two. Indeed, 32 substitution of Equation 3.23 into Equation 3.21 results in éj+Kdé+Kpcj=0 (3.24) which implies (j -—) 0 as t —> 00. From the relations in Equations 3.22 and 3.19 it simply follows that ”01,112 —) 0 :5 a —> ad, 1,1) —) —26 (3.25) as t ——) 00, therefore the constraints in Equation 2.15 are satisfied. 3.3.3 Simulations of Coupled Controller A numerical simulation of the system and coupled controller was created and the outputs can be found in Figure 3.2. This simulation uses the mass and inertial prop- erties of of our experimental platform, provided in Table 4.1 with initial conditions of 6 = —11.25 deg, ()5 = 91.25 deg, and it = 22.5 deg. The robot starts from rest and the motion of the torso and legs with respect to the vertical are plotted. The joint torques for the stance and swing legs are also plotted. The desired torso angle, ad, was set to 2 deg. The controller gains were set to kp = 400 and kd = 41. The controller gains were chosen to keep the maximum motor torques near the 15 N m limit of our system within the arbitrary 5 sec of the simulation. Because the robot has a forward-leaning torso, it will continue to accelerate due to the lack of dissipative elements in the simulation. This means that the joint torques will continue to increase in magnitude as the robot continues to accelerate. In the actual robot, the robot would at some point stop accelerating when the losses match the increase in energy caused by the torso angle, and therefore reach a steady state velocity. 33 The coupled controller exhibits much better tracking of the desired torso and leg angles. This better tracking also results in decreased torque values. The torso error has been reduced to a fraction of a degree for all velocities. The better tracking of the torso has led to a reduced acceleration over the simulation time because the average position of the torso is closer to the desired torso angle. (a) (1 (deg) Leg Angle (deg) Torque (Nm) Time (s) Figure 3.2: Simulation results of the coupled controller. The motion of the torso is shown in (a) as a solid line, the desired torso angle, ad is shown as a dotted line. The leg motion is seen in (b) where the angle of the stance leg with respect to the vertical is the solid line, and the angle of the swing leg with respect to the vertical is the dotted line. Graph (c) shows the two motor torques for Tst (black) and Tsw (grey). Compare this with Figure 3.1. 34 Chapter 4 Experimental Methods 4.1 Background During the period of our research two major versions of this robot were built. Al- though the mechanical system has remained largely unchanged, the architecture of the electronics and the controllers changed significantly. Originally we wanted to use a simple central computer together with integrated position controllers of the motor amplifiers to drive the hip positions to the desired locations. This proved to not work very well as discussed later. The main impetus for changing our computing system was the desire for better inertial measurements. Our original inertial measurement unit was a crude device made with simple accelerometers which were then filtered to approximately determine the direction of gravity. This technique was not accurate enough for a controlled gait and it was decided that we should switch to a more powerful device. This change to a commercial inertial measurement unit required an upgrade to our central computer and therefore it seemed prudent to change our focus from light computing to ease of programming and communications. 35 4.2 Mechanical Design We designed and fabricated our synthetic wheel biped based on the schematic in Fig.2.1 but used paired legs to avoid lateral instability, a common method in 2D bipeds ( e. g. [26,35,44]). A picture of the robot can be seen in Figure 4.2. (a) CAD of MSU Biped (b) Picture of MSU Biped Figure 4.1: MSU Synthetic Wheel Biped With Torso The inner pair of legs is solid, and therefore cannot adjust for leg swing clearance. We compensate for this by adding a pair of prismatic outer legs that were able to lengthen during the stance phase and shorten during the swing phase, but still remain dynamically similar throughout the leg’s range of motion, as in Figure 4.2. A drawing of the prismatic joint can be seen in Figure 4.3. These joints were only used in the outer legs to reduce the complexity and number of required motors. Note that at this time we do not use the prismatic legs for propulsion, but rather only as a means for providing foot clearance. Because the prismatic joints are in the outer legs only, it necessitates that when the outer legs are the stance legs, the prismatic joints must lift the entire mass of the robot, and therefore the motors must be of relatively high 36 power. The robot has 3 internal degrees of freedom (as defined in Fig. 2.1) and stands 1.09 m tall. The main structural material is 6061 Aluminium. Dimensions and mass distribution of the robot are described in Table 4.1. Table 4.1: Kinematic and Dynamic Parameters of Synthetic Wheel Biped Kinematic Parameters Length (m) Foot radius, R (m) 5400215212, 6 (deg) Inner leg 0.635 0.635 11.25 Outer leg 0.635 0.635 11.25 Torso 0.457 — - Dynamic Parameters . Mass (kg) Inertia (kgmz) d in Fig. 2.1 (m) Inner leg 1.64 0.094 0.285 Outer leg 3.64 0.128 0.355 Torso 11.87 0.198 0.307 The robot has four 24 Volt DC servo motors: two of them (Maxon RE40, 150W) are located at the hip and control the angle of the stance leg and swing leg with respect to the torso; the other two (Faulhaber 3243 CR, 26.3W) provide simultane- ous extension and contraction of the outer paired legs. Each hip drive is connected between the torso and a leg through a 43:1 planetary gearhead (Maxon 42C) and a final 2:1 helical gear drive. The leg extension motors have a 3.71:1 planetary gear- head (Faulhaber 38/1) and are connected to the bottom part of the leg through a 4.72 turn/ cm ACME screw drive. The leg extensions ride on linear bearings for a smooth action. The hip joints are made of two concentric tubes, the inner tube is connected to both the inner legs while the outer tube is connected to both of the outer legs. Each tube is also attached solidly to a driven gear, as in Figures 4.4 and 4.5. The motors drive the drive gear which in turn rotates the driven gear, and there- fore changes the angle of the leg with respect to the torso. The motors are mounted slightly offset fore-aft with respect to each other, but retain a symmetry with respect to the midline. 37 Drive Motors Inner Tube Outer Tube Motor With Gearhead Helical Coupler ACME Screw and Nut “.t Linear Bearing \\ . /:\/ Figure 4.3: Outer Leg Prismatic Joint 38 Driv Gear Bellows Outer Leg Motor Coupler w/ gearhead Inner Leg Outer Leg // I riven Gear ' Figure 4.4: Front View of the Hip Joint. Outer Leg Bellows Outer Leg Motor Inner Leg Drivel Gear youpler w/ ge/arhead Driven Gear Inner Leg Motor Outer Leg W/ gearhead Inner Leg Driven Gear Drive Gear Figure 4.5: Bottom View of the Hip Joint. 39 4.3 Electrical Design 4.3.1 Version 1 The original computing system for the robot was a AVR ATMega128 chip on a STK300 development board from Kanda (Embedded Results Ltd., PO. Box 200 Aberysth, SY23 2WD, UK). This board was used to compute position commands that would be sent to the DZRALTE drives from AMC through a step and direction method of communication. The motor amplifiers would then calculate a current to output to the motor based on an internal PID controller that could be independently programmed. This simplified the design because complex encoder velocity calculations could be performed by the motor amplifier rather than having the main computer count the actual values of the incremental encoder. For this method to work, the main computer has to assume that when a joint is commanded to a specific position, that the joint arrives at that commanded position within a reasonable time. This generally requires large gains for fast response. The largest problem with this method came from our inertial measurement unit (IMU). It was decided early on that the measurement of the direction of gravity could have a relatively large error because as long as the robot has the leg near the correct position (i.e. on the correct side of the body) at the switching time, it would remain stable due to the synthetic wheel design. To reduce the expense of the robot, a simple accelerometer based device was built and it was assumed that if the robot was slowly accelerating horizontally or was traveling at a constant velocity, the measurement of gravity would be relatively accurate. This, along with heavy filtering, was thought to provide a reasonable measurement, even though the signal would be subject to lag. The system provided some decent results when the device was slowly rotated through its range of motion, but was found to be severely deficient during actual walking 40 exercises, encouraging us to abandon this method and either buy a professional IMU or to spend considerable resources designing and developing a better IMU containing rate gyros and accelerometers with appropriate Kalman filters. We happened to have a commercial inertial sensor available to us. The use of this type of off the shelf IMU required an upgrade of our computing resources, and necessitated the Version 2 redesign. DZRALTE IMU (PID Controller) Current 533:” Position Faulhaber 3243 jib 3 r 53:?" Maxon RE40 fl Torso Attitude Kanda AVR —* Analog —’ HV Current —> Inc. Encoder (Pulses) —> Digital l/O Figure 4.6: Schematic of Version 1 Electrical System 4.3.2 Version 2 Version 2 saw a number of changes in the way sensor data was collected, what infor- mation was available to the main controller and a significant increase in computing speed. The system redesign included a new embedded computer, new digital and analog acquisition board, new encoder counters, and a new power supply. The largest change in the system was the main computer. The robot was con- trolled using a relatively low power (12W) embedded computer (WinSystems EBC- 855) running a C program on a Linux operating system. The operating system was later changed to incorporate the Xenomai real-time framework with the Linux ker- nel, which allowed for more accurate time measurement by measuring time from the computer system, rather than having to poll an external timer. 41 DZRALTE (PID Controller) Current InertiaCube WinSystems ‘ t ~ ~ ~ (Torque Controller) ‘~ \ ‘~ —> - -> Analog (+/- 10V) 3555‘, aMxon RE40 e x —> R8232 Serial PC104 Bus —> HV Current —9 Inc. Encoder (Pulses) —> Digital I/O Figure 4.7: Schematic of Version 2 Electrical System Data acquisition was provided through a PC104 format data acquisition board also by WinSystems (PCM-MIO). In combination, these boards were capable of reading all of the sensors that we needed while providing plenty of computational overhead, 802.11g wireless and Ethernet. To allow our computer to read the hip positions, we added encoder counter chips (Avago HCTL—2017) to the hip encoders. These allow our robot to easily determine the absolute position of the legs through the use of parallel digital inputs on our data acquisition board. The walker relies on accurate absolute angle measurement of the torso to operate. To measure this, we used one axis of an InterSense Inc. Inertiacube2+ 3D inertial sensor. This provides torso angle data with an angular resolution of 0.01 degrees at a rate of 180Hz. The hip joint drives were programmed to provide current control, requiring a +/- 42 10VDC analog control signal that was proportional to current. The leg extension motors were run in a position control mode, requiring a +/- 10VDC analog control signal that was proportional to position. A comparison of both versions of control system hardware system components can be found in Table 4.2. [ [ Version 1 Version 2 ] Computer AVR ATmega128 (Kanda) WinSystems BBC-855 I / O Card On board I/ O WinSystems PCM—MIO Inertial Sensor Self-Built, accelerometer Inertiacube2+ Motor Encoders Agilent HEDS—5500 x4 Amplifiers AMC DZRALTE x4 Battery 20 cell - 3800 mAh SubC NiMH Hip Motors Maxon RE40, 150W x2 Leg Extension Motors Faulhaber 3243 CR, 26.3W x2 Table 4.2: Control System Hardware 43 Chapter 5 Experimental Results 5.1 Performance Comparison We measured the kinematics of the robot walking on flat ground while using both our controllers. Both of our controllers qualitatively worked and were able to complete many successful steps down a hall, but the coupled controller, discussed in Chapter 3.3, showed better trajectory tracking and better disturbance rejection of step to step impulses. 5.1.1 Decoupled Controller The kinematics of the biped were measured using an eight camera, 3-D, passive marker motion capture system, a product of Motion Analysis Inc., at 120Hz. Reflective markers were attached to the robot to allow external measurement of the torso and both legs with respect to gravity as it walked down a runway. The experimental results are shown in Figures 5.1 and 5.2. The angle of the torso with respect to the vertical, or, is shown in Figure 5.1. The desired angle, ad, was set to 2.5 deg and the results indicate that a did not stabilize to this value. It had a steady oscillation and this in part due to the fact that the 44 torque controller for stabilization of a was designed assuming that the torso dynamics is decoupled from the dynamics of the legs. Another reason for this oscillation in the torso angle is from the impulse at switching due to the fact that the swing leg has a different velocity from the ground. This impulse causes a jump in the velocity of the torso to which the controller cannot instantly correct. The results shown below indicate that the oscillation in 0 did not adversely impact the gait of the biped. The angles of the inner and outer legs are plotted in Figure 5.2. This figure shows a symmetric motion of the legs which implies that the torque controller for constrained leg motion performed well. The average amplitude of the legs were 23 deg, which is close to the ideal case of 22.5 deg. Ideally, the legs must change their direction of rotation at 3:11.25 deg but switching occurs at slightly different angles because of error in initialization as well as lag in the controller. (ID _[ 00 2 4 6 8 10 Time (sec) Figure 5.1: Plot of the Torso Angle a with Respect to Time During Walking 45 _L 01 I T D ' _[ 810r ,'. ". i'. I". (D f ,1 " H II 3 n ,‘ 1‘ '1 11 '1 U) A " ,' 1' :1 11 '1 CD 5- r“ " ,' 1' 1' 1. '1 _ 9 r -- :: -: -: .1 -- :- h "\ 1| ' | .‘ 1| '1 1 1 '1 9 | I l I '1 I. l 3 I 1 '\ ' ‘ I ‘ I ‘ | I I I I O 0-: . 1 I : : 1 : 1 : : I I: :1 g 1 g ‘1 I '1 I. 'l f '1 f ' : l f' :I (U 1 | 1 ' l h ' l “=’ -5‘- : : : . ~ 5 1 j 1 | 1 (I) 1 ‘| : | : 'l l I 1' 1 1 'l 1 1 l 1 5 : | l I l I I. |. I l I l I l I “—_ __ II E. ‘ I I II |' I I I _ O 10' I | ‘l I [I I .[ |l ’ 1' 1 ' |' I. 1! .' 1 I I' a) 1 1 1 . 1 1 1 E) p ., I" ‘1 1, .1 '1 1| 1' . 1 c 1' 1} ‘1 ‘g' I". 1' '1: ‘1' <—15L V l' ' |' n V— 1' - _2G I l l L O N (I) —L 0 Time (see) Figure 5.2: Plot of the Angles made by the Inner and Outer Legs with respect to Time during walking. The Outer leg angle with respect to the torso is the solid line. The Inner leg angle with respect to the torso is the dotted line. The distance traveled by the biped can be estimated from the following equation, D = nsRA (5.1) where as is the number of steps taken by the robot, R is the leg length, and A is the angular amplitude of rotation of each leg during a single step. From Figure 5.2, 17.3 and A are found to be 16 steps and 23 deg (0.4 rad), respectively. This results in an estimated distance of 4.07 m, which closely approximates the actual traveled distance of 3.9 m.The distance was covered in roughly 10 sec and therefore the average walking speed of the biped was 0.4 m/ sec. 46 5.1.2 Coupled Controller The synthetic wheel biped in Figure 2.1 has no preferential direction of motion. With reference to Figure 1.7, it can walk in the direction of the positive :1: axis as well as negative .7: axis. To make the biped walk in the direction of the negative x axis, the desired angle of the torso with respect to the vertical was set to a negative value, equal to ad = —1.5 deg. Since the torso has a large mass (as 70% of total mass - see Table 4.1), a small torso angle is sufficient to cause the biped to walk. The biped was programmed to walk with the maximum step size. Since the biped was walking in the direction of the negative 2: axis, the stance and swing legs were interchanged when the point of contact of the stance leg with the ground reached the heel, i.e., when 6 = —fi = —-11.25 deg (see Table 4.1). The experimental results are shown in Figures 5.3 and 5.4 for some arbitrary initial conditions. Figure 5.3 shows the variation of V1 and V2 with time. Both these variables show oscillatory behavior although they were expected to converge to zero with the controller designed in Section 3.3. The oscillating behavior can be attributed to the periodic impulsive disturbance acting on the biped, not taken into consideration in the control design. The amplitudes of oscillation are small, approximately 2 deg for V1 and 5 deg for V2, respectively, and as such do not pose any problem with the gait. The mean value of V1 (—0.278 deg, likely due to the large error at the initial time) is almost zero and this indicates that the controller compensates the effect of the disturbance. The same cannot be said in regards to control variable V2. The mean value of V2 is —3.68 deg (see Figure 5.3) and this negative offset can be explained with the help of Figure 5.4. Figure 5.4 plots the angles of the inner and outer legs with the vertical and the vertical dashed lines in the figure indicate the times at which the stance and swing legs are interchanged. In the first time interval, the outer leg is the stance leg (ost) 47 V1(deg) V2 (deg) 4.0 mean value = -0.278 I I I I I I I I I r I I I I I I I I I ' ‘ /l ' /) ‘ ' ‘ /\ /\ 01)" j ’i l i“ l 4“ Z/i\ /f\ar i [k V. IVIVIV .Vl .Vl I l I l | I I I I - I I I I l I | I I I I I l I I | '4.0 I I I l I 4.0 ost I 05w [ ost [ ,,,,, [ e= error at the time of interchange l I I I of stance and swing legs I | I | I I l | | 0.0 I}, I I {\II I /\l I /\I I e e I e I I I I I | I I I ' I l I | ' I l I I I I . . '4-0 * i i i i i i i i i ‘-. I | I I I | | I l _ “(I | I | I I I I I 1| | I l I | | I I mean value I l | | | I I -8.0 — =-3.68 I l | | | I I . I . I . | I | | | I | lsW| lst | lSW | ..... | | | | | | 0 time (s) Figure 5.3: Plot of control variables V1 and V2 with time. 48 angle of inner leg with the vertical — — — angle of outer leg with the vertical 11.25 \ 10.0 I angle (deg) o o time (s) Figure 5.4: Plots of angles subtended by the inner and outer legs with the vertical. The vertical dashed lines indicate the times when stance and swing legs are inter— changed. In the first time interval, the outer leg is the stance leg (ost) and the inner leg is the swing leg (isw). After the first interchange, the outer leg becomes the swing leg (osw) and the inner leg becomes the stance leg (ist). 49 and the inner leg is the swing leg (isw). After the first interchange, the outer leg becomes the swing leg (osw) and the inner leg becomes the stance leg (ist). The plots of inner and outer leg angles with the vertical are both comprised of segments with positive and negative slopes, with change in slope occurring approximately at the time of interchange of stance and swing legs. The segments with negative slopes represent the stance leg angle with the vertical (dashed line in the first time interval, solid line in the second time interval) and are therefore plots of 6’ versus time. The segments with positive slopes represent the swing leg angle with the vertical (solid line in the first time interval, dashed line in the second time interval) and are plots of (0 + 1,0) versus time. The legs are interchanged based on stance leg angle, and specifically when 0 = —fl = —11.25 deg, i.e., when the segments with negative slope reaches the lower horizontal line. The control objective of V2 = 0 translates to (0 + 1,11) = —6, i.e., maintaining the swing leg symmetric with respect to the stance leg about the vertical. This symmetry is not achieved at the time of interchange of stance and swing legs since the swing leg angle with the vertical fails to reach the desired value of +1125 deg. This error, denoted by e in both Figures 5.3 and 5.4, can be reduced by increasing the control gains but this results in a stiffer biped that is prone to instability due to the impulsive disturbances. To maintain a symmetric gait, the swing leg angle with the vertical should also have a positive slope immediately after interchange of stance and swing legs. This is not the case, as evident from the undershoots below the lower horizontal line in Figure 5.4. Each leg, for a brief period of time continues to move in the same direction in which it was moving in the stance phase. This effectively results in large negative values of V2 (see Figure 5.3) immediately after interchange of the legs as well as a negative mean value of V2. It is possible to improve overall gait symmetry by increasing the control gains. This is, however, avoided since higher gains leads to 50 instability as mentioned earlier. The inner and outer legs of the biped have different inertia properties and the impulsive disturbance has distinct effects on the gait depending on which leg is the stance leg. This is evident from the nature of the oscillations of V2 in Figure 5.3. It may be useful to note that It in Equation 2.9, for the data provided in Table 4.1, has a value of 0.412 when the outer leg is the stance leg and a value of 0.832 when the inner leg is the stance leg. 5.2 Energy Consumption Energy consumption was not a major goal of this particular project, but it should be noted that simple changes in the designs of bipeds can have a significant effect on energy consumption. Here, we have shown that even though the power values for our robot were determined using a non-optimized leg trajectory, we still have relatively efficient and stable locomotion. The robot is able to perform a number of steps every time it is started. It is expected that simply with trajectory optimization, our robot could achieve much lower energy consumption values while retaining the same amount of capability. Additional savings could be found through slight changes in the geometry and inertial parameters of the system. Although a fair comparison is not possible, Table 5.1 is offered as a reference for how efficient our robot is compared to the some of the efficient and capable robots today. Our robot does not have nearly the capabilities of Asimo, but it is stable and has a robust gait on reasonably flat ground as well as on slightly sloped ground. The most efficient robots, such as the fully passive Dynamite, are extremely sensitive to initial conditions and take some operator skill to achieve a stable gait. They are also unable to climb slopes, as our robot is capable of doing. We can calculate a measure called the total specific cost of transport which is 51 energy used/ [weight * distance traveled] and abbreviated as Get for our robot and a number of other robots as a comparison for overall efficiency. Also related to Get measure is the mechanical energy efficiency, or Cmt. This is calculated similarly, but only accounts for the mechanical work, or energy the motors consume to walk, rather than the total energy. This is used to determine the efficiency of the gait itself, in an attempt to separate computing and sensor energy from actual motor work. We walked the robot down a hall and measured the distance and time during travel. Total power was determined by measuring the battery voltage and amperage using a 0.2 ohm resistor and external data acquisition system at 500 Hz. By sub- tracting the energy required to run our computers and controllers, we determined a mechanical energy efficiency. Finally by determining and subtracting the power required to run the prismatic joints, we could determine a cost of transport using just the hip joints. This was done because the prismatic joints are high power joints that are being driven with high gains to precise positions. The design of these joints is also inefficient due to the use of inefficient high-friction parts such as ACME screws as opposed to a more expensive ball screw system. The results of five trials were averaged and recorded in Table 5.1. The velocity that the robot has during walking can greatly influence the measure- ment of Cat, especially in robots such as ours where there is a large constant cost due to our computing and sensor systems. Because of the nature of our two controllers, the robot had a different preferred speed while making these measurements. There— fore the efficiencies of the two different controllers Show a large difference in Get, but similar Cmt values. 5.2.1 Decoupled Controller The total power required to walk at 0.37 m/s averaged 46 W, corresponding to a total specific cost of transport of 0.98. The power required to run the motors while 52 walking averaged 20 W, corresponding to a mechanical energy efficiency of 0.33. The power consumption without the leg extension motors averaged 8.7 W, corresponding to a cost of transport of 0.14. A comparison of the robot’s energy consumption to a number of other robots as well as a couple of human activities is shown in Table 5.1. 5.2.2 Coupled Controller The total power required to walk at 0.45 m/s averaged 55.4 W, corresponding to a total specific cost of transport of 0.73. The power required to run the motors while walking averaged 26.6 W, corresponding to a mechanical energy efficiency of 0.35. The power consumption without the leg extension motors averaged 13.4 W, corresponding to a cost of transport of 0.18. A comparison of the robot’s energy consumption to a number of other robots as well as a human walking is shown in Table 5.1. Table 5.1: Energy Consumption of Selected Bipeds Cet Cmt Robots1 MSU Synthetic Wheel Biped Decoupled Controller 0.98 0.33/0.14 Coupled Controller 0.73 0.35/0.18 Asimo 3.2 1.6 TU Delft Denise 5.3 0.08 MIT Spring Flamingo 2.8 0.07 Cornell Collins 3D 0.20 0.055 McGeer Dynamite - 0.04 Humans Walking 0.2 0.05 1 Values found in [30] and [1] 53 Chapter 6 Determining Reference Trajectories Due to its synthetic wheel geometry, our robot has a wide variety of possible gaits with which the robot will remain walking. Therefore, we should be able to find swing leg and torso trajectories that can reduce energy consumption as well as control the impact at the switching times. This can be done though creating a trajectory for the swing leg that is a function of the stance angle, 6, that also has a zero velocity in «p at the end of the swing phase. Doing this completely eliminates the impact during switching discussed in Section 2.3. In a similar manner, we can create a trajectory for the torso angle as a function of the stance angle, so that the combination of the two trajectories minimizes the work to take a step. Note that for this system, because our model is completely lossless, any changes in energy of the system results in an increase of kinetic energy of the system if the robot ends its step in the same position as it started, but with legs in reversed positions. Therefore, for all of the reference trajectory calculations, it is beneficial to assume the legs have the same mass and moment of inertia to increase the symmetry in the ‘54 system. This could be achieved in our experimental robot by adding mass to our inner leg. 6.1 Parameterized Gait Functions 6.1.1 Boundary Conditions To create functions to relate the swing leg angle and torso angle to the uncontrollable stance state, we can start by imposing the boundary conditions that guarantee that we satisfy the zero velocity condition in It at the end of each step. For example if we choose to use the entire foot during the stance phase (an arbitrary condition that makes each step the same length), then the stance angle 0 at the start and end of the step is 42(0) = 0(T) = [3 (6.1) if we choose to move in the positive X direction as defined in Figure 2.3. T is the time at the end of the step, 5 is defined as half the foot are as in Table 4.1, and 0 is as defined in Figure 2.1. By extension, this also imposes the condition em = —20 (5.2) where 21) is the angle from the stance to the swing leg, because the swing leg must be in the correct spot to become the new stance leg. To match our velocities of swing and stance legs at transition, we can impose the condition 122(0) = 2])(T) = 0 (53) Note here that ,8 could in reality be any step size by changing the arc length of the foot or simply using a portion of the foot instead of the full length. 55 6.1.2 Work over One Step We would also like the trajectory functions to minimize the work required to make a step. This necessitates the minimization of the work equation T. . W: [0 [an+¢¢2]dt. (6.4) Another way to look a this is through total energy of the system. Because the system is lossless, any energy that is put in or taken out through the motors is found as a reduction or increase of the total energy of the system. This implies that if the robot has the same position at the beginning and end of the step, the only change will be in the kinetic energy of the system. Therefore we can also calculate the change in kinetic energy over one step to derive the amount of work done by, or on, the motors during the step. For most analyses, we choose to model negative work as perfectly regenerated energy. At best, our motors can recapture around 80% of the negative work, and if this energy needs to be stored in the battery, estimations for recapture fall to at least less than 50% of the total work (coulometric charging efficiency of nickel metal hydride batteries is typically 66% for average charges. For faster charges this rate will decrease even lower). Theoretically, we can change the amount of work needed by the motors by adding passive springs to store energy during one part of the gait cycle and returning it at another time instead of using motor work to provide the necessary torques. 6.1.3 Parameterized Gait Functions We now return to our generalized parameterized gait functions. We originally chose these gait functions because they can satisfy the boundary conditions defined in the previous section, and used 5 parameters to minimize the number of parameters needed 56 to satisfy our desired trajectories as well as simplify the trajectory to be tracked. These parameterized gait functions are once again: ¢=(7T+ad-0)+dSIIl(ZTI'B-0-+f) (6'5) for the angle between the stance leg and the torso and 2/2 = k6 + asin ($2) + csin (7:361) (6.6) for the angle between the stance leg and the swing leg. Here, ad is the mean value of the desired torso angle offset with respect to the vertical, ,8 is half of the foot arc angle, and the parameters It, a, c, d, and f are available to be determined. However, due to the boundary condition in 6.2, we have the relationship a = —z3(2 + k) (67) and due to the second boundary condition 6.3 c = — (6.8) We are now ready to determine the remaining parameters, k, d, and f, by solving the differential equation in I9 and calculating the work required to take one step. First, we must derive the differential equation in 0 from the equations of motion of the system. We begin with the equations of motion for the general system (Equation 2.1) and solve the first equation M119. + M1203 + M1320 + N119 + N120 + N130 + 01 = 0 (6.9) while substituting our parameterized gait functions for ab and 1,0. This reduces the 57 equation to a differential equation in 0 of the form N15+N0+C¥=0 (6.10) We can numerically solve this equation for 6 and 6 in time, and at each time step determine the corresponding values of 45, «p and their derivatives. These solutions can then be substituted into the two remaining equations of the general equations of motion, M210 + A1220 + lI/[23'Ill + N219 + N220 + N230 + G2 7'1 M315 + Iv132 + N331!) + 03 = 72 (6.11) to solve for the torques T1 and 72 in time. With the numerical values of the torques calculated, we can solve for the work done over a single step for given initial conditions and a desired torso setpoint ad. 6.2 Nominal Trajectory As a baseline measurement for energy, we can determine the work over one step using the trajectories previously described in Section 2.4. Substituting the nominal trajec- tories of Equations 2.15 and 2.16 into the parameterized gait functions of Equations 6.5 and 6.6 would require parameter values of k = —2 and all the other parameters equal to zero, as shown earlier. The equations of the constrained motion then simplify to ¢=7r+ozd—6 (6.12) and a = —26 (6.13) 58 Therefore, the velocities of the states are <15 = —6 (6.14) and II = —29 (6-15) both of which can never be zero if 0 74 0 For a torso angle of 1.5 deg, and an initial velocity of zero, we can determine the work for the step as well as time traces for the states 0, qb and 11), as shown in Figure 6.1 (Note for ease of viewing, (15 is plotted as qt -— 7r). Total work over the step, assuming a 100% regeneration rate, is .258 J with a step time of 2.47 3. Note that at the end of the step 1b is not zero, implying that there must be an impulse if the legs were switched at this time. This impulse is not included in the analysis of the trajectory. The positive work value also implies that there must be a positive change in the kinetic energy at the end of the step because the change in potential energy must be zero. The torque curves in Figure 6.2 show that the torque needs to be discontinuous at the end of each step, jumping from one value to the other as it switches legs. This also illustrates another issue with this method of optimization. Because all of the parameters are used to control the trajectories with the boundary conditions we have selected, we have no ability to separately control the velocity in the uncon- trollable state, 0. This means that the end velocity can and will be different from the initial velocity of the system without carefully choosing our parameterized gait functions. In this case, 9 starts initially at zero and progresses to 0.319 rad / sec. This is intuitively so because the torso is leaning forward and therefore, while using the nominal trajectory, it is constantly accelerating forward. As we increase the initial velocity of the robot, the difference in velocity at the beginning and end of the step 59 0.6 Radians Figure 6.1: Simulation of 0, (15 — 7r, and ’t/J over one step starting from rest and torso angle at 1.5 deg. I 1.0 Time (s) 1.5 2.0 2.0 1.04 Torque (Nm) 0 O 0.0 0.5 T 1.0 Time (s) 1.5 2.0 2.5 2.5 Figure 6.2: The nominal trajectory torques T1 and r2, corresponding to the torques on generalized coordinates <15 and 1/) respectively. 60 grows smaller, as the system has less time between the beginning and end of the step but is still accelerating at the same rate. This is illustrated in Figure 6.3. l l l I Work (J/step) 0.2 I w . 0.0 0.5 . 1.0 1.5 2.0 0.35 030 - . . . . . 0.25 . FInal Velocny lnItIal Velocuy 0.20 - 0.15 ~ 0.10 I 0.05 . 0.00 . a . 0.0 0.5 1.0 1.5 2.0 Initial Velocity (rad/sec) Radians/sec Figure 6.3: The work and 0f — do plotted against initial velocity for a torso angle of 1.5 deg using the nominal trajectory. 6.3 Optimized Trajectories We can choose better parameterized gait functions that will allow us to further un- derstand the relationship between the uncontrolled and controllable states. First, we will derive parameterized gait functions that allow zero total work over one step and prove that it will always be zero work regardless of the initial velocity of the system or the overall step size. We then can change velocity by changing the parameters of the parameterized gait functions, allowing us to speed up or slow down the robot while eliminating collision at the end of the step. 61 6.3.1 Constraints for Steps with Zero Total Work For all of the previous sections we assumed the torso would lean forward, and therefore the robot was constantly accelerating. This is shown by the increase in kinetic energy at the end of all of the valid steps in the previous section. This system, when modeled without friction as we have, is lossless, and therefore any positive work that enters the system is manifested as an increase in kinetic energy at the end of the step. We can also show that if we allow our controllable states to be constrained to functions in 6 of a certain type, we can guarantee that uncontrollable states will do what we would like them to, primarily progress from —6 to 6, and have 6(0) = 6(T), where T is the time at the end of the step; and thereby ensure the same position and velocity of the robot at the beginning and end of the step, but with legs exchanged. This results in net zero total work over the step, because it has the same kinetic and potential energy at the beginning and end of the step. This simulation requires the ability to capture 100% of the negative work done by the system which, while not really practical, shows that the system could ideally require no work to walk, but still satisfy our desired boundary conditions of an arbitrary, but equal, step length, and zero velocity in 16 at the end of the step. 6.3.2 Equations For Gait Requiring Zero Total Work We would like to develop a constraint for the actuated degrees of freedom of our system that will guarantee that the underactuated degree of freedom will be in the correct place and velocity at the end of the step. Because any valid step will allow the stance foot to rotate from —3 to )8, by definition the kinematics of the underactuated state will satisfy the boundary condition of Equation 6.1. We need to ensure that 6(0) = 6(T). To prove this, it is sufficient to require 6 = .7: (6) where J'- (6) is an even function in 6. Because the derivative of an even function is an odd function, it suffices 62 to say that 6(6) is an odd function in 6. We begin with the first equation from the equations of motion, Equation 6.9. We substitute into this equation our new gait functions, which have the following forms, A 65(6) = (a6 + b) + o (6.16) A 1M6) = (c6 + d) + 1/2 (6.17) where (6 and 26 are any odd functions in 6. By solving the equation for 6, we find 6': 32% (6.18) where N(6) = — 65(10 + m0(d0 — R)(d0 — R + R cos [6 + (DD) (Term A) — tllUsw + msw(dsw — R)(dsw — R + R cos [6 + 10]» (Term B) + m3t(d3t — R)(g + R 62) sin [6] (Term C) + m0(d0 — R) (g + R(6+<13)2) sin [6 + 6] (Term D) + m3w(dsw — R)(g + R(6 + 6)?) sin [0 + 6]) (Term E) 10(6) =10 'I' Ist + 13112 (Term F) + m3t((d3t — R)2 + R2 — 2R(—dst + R) cos [0]) (Term F) + m0((d0 — R)2 + R2 — 2R(—d0 + R) cos [0 + 6]) (Term G) + m3w((dsw — R)2 + R2 — 2R(—dsw + R) cos [9 + 6]) (Term H) 63 We will show, term by term, that N(6) is odd and 10(6) is an even function, and therefore 6 is an odd function. 6.3.3 Term by Term Evaluation of Even/Oddness cos (6 + qb) cos (6 + qb) = cos (6) cos ((13) — sin (6) sin ((25) = cos 6[cos (a6 + 5) COS (<15) — 5111019 'I' b) sin (I’ll — sin 6[sin (a6 + b) cos (gb) — cos (a6 + b) sin (6)] and sin (a6 + b) = odd, cos (a6 + b) = even (6.19) if b = nrr, where n is an integer. This means that cos (6 + (b) is an even function if b = n7r. This is the same as for 21) and therefore cos (6 + 1,6) is also an even function. sin (6 + (1’)) sin (6 + (15) = cos (6) sin ((1)) — sin (6) cos ((25) = cos 6[sin (a6 + b) cos (a5) + cos (a0 + b) sin (46)] + sin 6[cos (a6 + b) cos (6)) — sin (a6 + b) sin (6)] Once again we let b = nvr such that the relationships in Equation 6.19 hold. This means that sin (6 + (15) is an odd function if b = mr, and once again this also applies to sin (6 + 1/1), meaning it is also odd. Term A 64 Term A can be rewritten as —(/5(C1 + 02(03 + cos (6 + 45)) and is therefore the product of an odd function (b, and an even function composed of constants, and the function cos (6 + 65), resulting in an odd term. Term B Term B can be rewritten as —2/1(C4 + C5(Cg + cos (6 + 16)) is odd because it is the product of an odd function 1,6, times a number of constants, times cos (6 + 1b). 0 Term C Term C can be rewritten as 62 C7sin(6) which is an even term 62, times an odd term sin(6), resulting in an odd term. Term D Term D can be rewritten as 08(09 + (9 + is?) sin(6) + ) and is an even constant times an even term (6 + (b)2, times an odd term sin(6 + ¢), resulting in an odd term. Term E Term E can be rewritten as 016(011 + (9 + 6)?) sin(0 + II») 65 and is therefore an even constant times an even term (6+ 11.02, times an odd term sin(6 + ’16), resulting in an odd term. Because Terms A, B, C, D and E are all odd, the numerator, N (6), must be odd. Term F Term F is a constant and is therefore even. Term G Term G can be rewritten as C12(013 + 005(9)) and is therefore an even function. Term H Term H can be rewritten as 014(C15 + cos(6 + phi)) and is therefore an even function. Term I Term I can be rewritten as 016(017 + cos(6 + 1932)) and is therefore an even function. Because Terms F, C, H and I are all even, the denominator, 10(6), must be even. 6.3.4 Proof of Zero Total Work Gait We have proven that 6 is odd in 6, meaning 6 is even. Therefore, for any given symmetric step, the velocity of 6 will be the same at the beginning and the end of the step. This is true for whatever initial velocity we choose because the function 6 is 66 even in 6, and not in time. This requires the step to be a zero total work step because the other constraints put on the system require the robot have the same potential and kinetic energies at the beginning and end of the step, i.e. 6(0) = — 6(7) 6(0) = 6(T) 0(0) = a(T) 61(0) = d(T) 6(0) = — 6m 6(0) = 6m Also note that the restriction on b, namely b = n7r, in Equations 6.16 and 6.17 have physical limitations. The function 65 must be limited to n = 1,3,5, 7... if the torso is to be standing upright, and for 1/J, n must be limited to 0, 2,4,6... if the legs are going to have a small step size. It is easiest to simply set these to 1 and 0 respectively. When using the original parameterized gait functions from Equations 6.5 and 6.6, our zero work constraints would require the parameters k = 0 and f = 0. It is also necessary to make ad = 0 to fit the correct form. Substituting in these parameters creates the new constraint functions (I) = (7r — 6) + dsin (1;) (6.20) for the angle between the stance leg and the torso and R6 6 = —26 sin (7) (6.21) for the angle between the stance leg and the swing leg. Now d is the only parameter that can be varied and will decide if a step is com- pleted in a reasonable time and within our motor capabilities. Note here that even though the total work is zero, the motors have to provide the correct amount of work 67 at the beginning half of the step and extract exactly the same amount of work dur- ing the second half. However, there is no guarantee that we will remain within the instantaneous torque constraints of our physical motors. Figure 6.4 shows the plots for 6, (,b — 7r, and 16 for a step starting with a slow initial velocity of 0.1 rad/ sec and a d value of —0.06 rad. The traces look dramatically different from the nominal trajectory (compare to Figure 6.1). 0.6 Radians 0.0 ' 0.5 1.0 1.5 2.0 Time (s) Figure 6.4: Optimized trajectory simulation of 6, go — 7r, and 1,6 over one step starting from 0.1 rad/ sec and torso amplitude of —0.06 rad. The torque traces in Figure 6.5 are also odd over the course of the step. Because of the odd nature of 6, d) and 1b the resulting work is zero. Note with this trajectory, we continue to have a jump in the torques at the end of the step to meet the torque requirements of the next step. The velocity at the end of the step always matches the initial velocity independent of our choice of initial velocity. To illustrate this, we have plotted 6 vs. 6 for different initial velocities in Figure 6.6. The torso amplitude was set at —0.06 rad for all of these calculations. 68 Torque (Nm) 0.0 0.5 1.0 1.5 2.0 Time (s) Figure 6.5: Zero work trajectory torques 1'1 and r2 corresponding to general coordi- nates 65 and 1,6 respectively. Calculations are over one step starting from 0.1 rad/ sec and torso amplitude of -0.06 rad. 0.7 0.6 - -0.2 -0.1 0.0 0.1 0.2 Figure 6.6: 6 is shown to be the same at the beginning and end of the step, regardless of the initial velocity, 60. The torso amplitude is constant at —0.06 rad. 69 LB 1.6 " = -.01 /\ _ ........... d = -.015 l 1.4 d = -.02 _/ \\ 1.2 - ———— = "03 -’ I ........... d = '.% I \ 1.0 « ~— ----- d = -.1 ./ 1 <1: 0.8 4 I! \- - \ 0.6 - 'l '\ ./ '\ Q46 ./ .u ........... - '\ ‘/ ..0.. .0.... .\ 0.2 1 /-.( ................... '..\. (.332..-——" TTT“:"}3“ -o.2 T . ' r -03 -o.2 -o.1 0.0 0.1 0.2 6 Figure 6.7: 6 is shown to be the same at the beginning and end of the step, regardless of the amplitude of the torso angle as long as the robot is able to complete a step. For small, or positive, torso amplitudes, the robot is not able to reach the length of a full step and simply wobbles on the stance leg. The amplitude of the torso has a large effect on the velocity of the system during the step. This corresponds to injecting energy into the system during the first half of the step and then taking it back out during the second half of the step. While the initial velocity stays constant at 0.05 rad/ sec, the parameter d is varied. The resulting phase portrait is shown in Figure 6.7. Note that for small values of d the robot is not able to complete a full step and will wobble on the stance leg forever. This is shown as a loop in the phase portrait that grows in size until a suitable d allows 6 to reach the boundary of the step. The conditions for the robot to wobble on its stance leg rather than taking a step is a complicated mixture of inertial properties and initial velocity. The conditions can be calculated, but we have chosen to simply exclude simulations that do not make a step within 5 sec, with the rationale that if a step is to be useful, it must be completed 70 in a reasonable time. This is an arbitrary time limitation, but enables us to speed the calculation of our simulation. We should also note that because our system is periodic, if the velocity in 6 changes direction within a step before it reaches the end, it should be considered a failed step. 6.3.5 Non-Zero Total Work Gait All gaits that do not follow the form of the zero work gait discussed in Section 6.3.1 end up with either a higher or lower kinetic energy depending on the direction of lean of the torso and the parameters used in the parameterized gait functions. We can now map parameters from the parameterized gait functions Equations 6.5 and 6.6 to best satisfy the new velocities we desire. The parameter space is large and needs to be simplified for a global parameter search. We selected boundaries for our parameters primarily based on physical limita- tions of our robot, in addition to preliminary low resolution searches of the parameter space. For example, by restricting ()6 to be bounded by i175, the parameter k is con- strained to the region —55 < k < 55. Similarly, a bound on parameter d can be chosen as it corresponds directly to the amplitude of motion around the torso set- point. Here we chose to bound (1 by —0.2 < d < 0.2, corresponding to approximately $11.5 deg of motion around the desired setpoint, ad. We can also declare that any steps that require instantaneous torques above what our motors can individually provide (150W) are not useful for this particular opti- mization and can be disregarded. Once again we limit step time to 5 seconds for reasonable steps. For an illustration of the method, we also calculated solutions for a given torso angle that was similar to the angles used for experiments with the coupled controller (Section 3.3) and nominal gait (Section 2.4). The best angle was empirically deter- mined to be around 1.5 deg for that setup. We begin the search for a better trajectory 71 by covering the parameter space determined in Section 6.3.5. Keeping the average torso angle at ad = 1.5 deg and restricting k to the region —55 < k < 55, d to the region —0.2 < d < 0.2 and f = 0 results in solutions in the shape shown in Figure 6.8. 0.2 — 0.15— o.1 — 0.05— 0 _ 0.05— g 0.1 — E 0.15— 0.2 I I 60 4O 20 0 20 40 60 Parameter k Parameter d Figure 6.8: Parameter space in k and d. A rough estimate of the valid space of the parameters. Figure 6.8 is a two-dimensional plot that gives a rough estimate of the valid region of the parameter space. We can use this plot to determine what area of the parameter space to focus our search. Looking at these values it is apparent that the final velocity does not change much with the parameter k, and therefore we can choose a fixed value for k , such as k = 10, that allows a large variety of possible values of d. Plots of the change in velocity from an initial velocity of zero against different values for parameter d are shown in Figure 6.9. As we change the torso angle setpoint, ad in degrees, we can see that the robot accelerates faster over the course of one step. This allows us to choose a final velocity for the robot after one step if the robot starts from rest. Similar maps can allow different initial conditions, such as the map slowing down the robot in Figure 6.10. 72 1.6 1.4 - 1.2 - 1.0 - 0.8 - 0.6 - 0.4- 0.2 « 0.0 - Initial velocity = 0 rad/sec 06 = 5 9 final — 6initial 0rd = .1 degrees I T l I I -o.'04 ' 0.60 0.04 0.08 Parameter d -o.12 ' -o.'08 Figure 6.9: Starting initially from rest, relationships between the parameter d and the final velocity at different torso angle setpoints, ad. 0.2 Initial velocity = 1 rad/sec 0.0- =— \ do = -.1 E E '0-2‘ ad =-.5 'Q I E -o.4l 0‘0“" as Old = -1.5 -0.6, ad=-2 -O 8 ad = -5 degrees -0.06 -0.04 -0.02 0.00 0.02 0.04 0.06 0.08 0.10 Parameter d Figure 6.10: Starting initially from 1 rad/ sec, relationships between the parameter d and the velocity difference at different torso angle setpoints, ad. 6.3.6 Discussion of Optimization Our optimization method attempts to address the issue of velocity mismatch at the end of each step, but it has not been implemented. We present a method to constrain the controllable degrees of freedom to functions of the uncontrolled degree of freedom and also determine a gait for which the total work is zero over a step and is collision- less at the switching time. We also describe a method of controlling the torso to change the velocity of the robot over one step. The optimization method has a few issues that we choose not to address at this time. This is a simple simulation, and so does not include the controller dynamics. We assume that for each step the controller is able to track perfectly, which is impossible in practice, but especially hard for our robot to approximate because of inability to use large control gains due to nonlinearities, such as backlash, in the physical system. Including the controller dynamics would be an obvious extension of this analysis. Another thing we do not account for is the inability of our system to recapture 100% of the negative work done by the system. Using a weighting method for neg— ative work would be a good way to attempt to optimize the trajectories further. Adding friction and motor dynamics to our model would also be a way of getting the simulation to closer match real life performance of our system. Another method for doing this would be to simply relax our boundary conditions and let the simulation run until the swing leg naturally matches velocity with the stance leg. If there is a zero torque solution that results in an end state that matches the initial state, as in the method of McGeer [26], we could track the resulting trajec— tory, knowing that it is a minimum work trajectory for the passive system. Another good aspect of this type of controller would be that the desired torque would be necessarily zero at the beginning and end of the step, meaning there would be no jump in the required torque of the motor. One major problem with this is that some 74 initial conditions will not have suitable zero torque trajectories, and does not provide a method to rectify this in an efficient way. For example, for a small foot size, at higher velocities the required step length might be beyond the physical foot size, re- quiring an undesirable gap between the feet during transfer. In cases like these, our constrained method would be superior. 75 Chapter 7 Conclusion and Future Research We have presented a new simple paired leg, three-link biped which we have called the MSU Active Synthetic Wheel Biped. This biped has legs that have solid arc feet that have the same radius as the leg length, allowing it to place one foot in front of the other at the right times with the correct velocity to simulate the rolling motion of a wheel. We have developed a general dynamic model and imposed constraints to create gaits. Using these gaits, we designed and implemented two different controllers successfully. The first was a decoupled controller, where the swing leg and stance leg torques were determined independently of each other without considering the coupled dynamics of the system, and the second was a full dynamics controller utilizing feed- back linearization. The experimental results of both of the controllers were presented and finally, we described some ways of improving upon the techniques, primarily in the methods to find better reference trajectories for the machine. The robot takes advantage of its synthetic wheel configuration through the use of its simple stability criterion, namely, if there is a foot below the hip at all times it will remain stable. This guarantees that as long as we have motor bandwidth sufficient to satisfy this condition, we can remain walking. We have not yet taken advantage of the fact that a robot of this type could roll without impact during the switching between 76 legs by matching the swing leg velocity with the stance leg velocity in experiments. Implementing different reference trajectories should allow for a decrease in mechanical work per step through the reduction of impact at the end of each stride and through better control of velocity of the robot. We plan on implementing new reference trajectories in an effort to show this reduction experimentally, as well as attempt to produce a more pleasing, smooth gait. Our method works for our synthetic wheel design, and we feel confident that we can expand the method to robots with more degrees of freedom and different body shapes. Expanding the method to include robots that have feet with a small radius and more degrees of freedom will also require the inclusion of collision dynamics, or at least a different method to avoid collision at the foot fall in at least two dimensions. Inclusion of all of these topics should provide a much better understanding of how to produce stable, controllable, and efficient bipeds for general use. 77 Appendix A Impulse Constant 16 While calculating the change in the velocity of the biped system due to impulse at foot switching (Section 2.3), we encounter a large constant which we defined as It. This constant is comprised of the kinematic and dynamic parameters of the biped and is defined as follows. n =[sz + m,w(d§w — 26sz + 2R2) + msw(dsw - R)((—dst + R) cos (6) + 2Rcos (6 + 10+ (6.. — R) cos (26 + 16) - Rsin (9 + 16)] /[.1,, + sz + dgwmsw — 263.061sz + (mst + 26131161?2 + mst(dst — 10260809) + Rcos (6)(2m3t(dst — R) + msw(dsw - RX? COS (w) - sin (16») + sin (6)(m5tR(—dst + R) + msw(dsw - Ell-5160806) + 2 sin (16)) + 2(—d3t + R) sin (6 + 16)))] 78 [ll [2] [3] I4] [5] [6] l7] [9] BIBLIOGRAPHY S. Collins and A. Ruina, “A bipedal walking robot with efficient and human-like gait,” in IEEE International Conference on Robotics and Automation, 2005, pp. 1983—1988. R. Tajima, D. Honda, and K. Suga, “Fast running experiments involving a hu- manoid robot,” in IEEE International Conference on Robotics and Automation, 2009. R. J. Full and D. Koditschek, “Templates and anchors: Neuromechanical hy- potheses of legged locomotion on land,” Journal Of Experimental Biology, vol. 202, no. 23, pp. 3325—3332, DEC 1999. H. Lim and A. Takanishi, “Biped walking robots created at Waseda university: WL and Wabian family,” Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences, vol. 365, pp. 49—64, 2007. A. Takanishi, M. Ishida, Y. Yamazaki, and I. Kato, “The realization of dy- namic walking by the biped walking robot,” in IEEE International Conference on Robotics and Automation, 1985, pp. 459—466. M. Vukobratovic and D. J uricic, “Contribution to synthesis of biped gait,” IEEE Transactions on Biomedical Engineering, vol. BM16, no. 1, pp. 1—6, 1969. P. Sardain and G. Bessonnet, “Forces acting on a biped robot: Center of pressure- zero moment point,” IEEE Transactions on Systems Man and Cybernetics, Part A - Systems and Humans, vol. 34, no. 5, pp. 630—637, 2004. M. Vukobratovic, B. Borovac, and V. Potkonjak, “ZMP: A review of some basic misunderstandings,” International Journal of Robotics Research, vol. 3, no. 2, pp. 153—175, 2006. A. Goswami, “Postural stability of biped robots and the foot-rotation indicator (FRI) point,” International Journal of Robotics Research, vol. 18, no. 6, pp. 523—533, 1999. 79 [10] J. Yamaguchi and A. Takanishi, “Development of a leg part of a humanoid robot: Development of a biped walking robot adapting to the human’s normal living floor,” Autonomous Robots, vol. 4, no. 4, pp. 369—385, 1997. [11] P. Sardain, H. Rostami, and G. Bessonnet, “An anthropomorphic biped robot: Dynamic concepts and technological design,” IEEE Transactions on Systems Man and Cybernetics, Part A - Systems and Humans, vol. 28, no. 6, pp. 823— 838, 1998. [12] H. Hirukawa, F. Kanehiro, K. Kaneko, S. Kajita, K. Fujiwara, Y. Kawai, F. Tomita, S. Hirai, K. Tanie, T. Isozumi, K. Akachi, T. Kawasaki, S. Ota, K. Yokoyama, H. Handa, Y. Fukase, J. Maeda, Y. Nakamura, S. Tachi, and H. Inoue, “Humanoid robotics platforms developed in HRP,” Robotics and Au- tonomous Systems, vol. 48, pp. 165—175, 2004. [13] I.-W. Park, J .-W. Kim, J. Lee, and J .-H. Oh, “Mechanical design of the humanoid robot platform, HUBO,” Advanced Robotics, vol. 21, no. 11, pp. 1305-1322, 2007 . [14] “Official pal-robotics website.” [Online]. Available: http://www.pal-robotics. com/ [15] Y. Sakagami, R. Watanabe, C. Aoyama, S. Matsunaga, N. Higaki, and K. Fu- jimura, “The intelligent Asimo: System overview and integration,” in IEEE/RSJ International Conference on Intelligent Robots and Systems, vol. 3, 2002, pp. 2478—2483. [16] M. Hirose and K. Ogawa, “Honda humanoid robotics development,” Philosophi— cal Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences, vol. 365, pp. 11—19, 2007. [17] C. Chevallereau, G. Abba, Y. Aoustin, F. Plestan, E. Westervelt, C. C. de Wit, and J. Grizzle, “Rabbit: A testbed for advanced control theory,” IEEE Control Systems Magazine, vol. 23, pp. 57—79, 2003. [18] E. Westervelt, J. Grizzle, and D. Koditschek, “Hybrid zero dynamics of planar biped walkers,” IEEE Trans. on Automatic Control, vol. 48, pp. 42—56, 2003. [19] N. Hogan, “Impedance control: An approach to manipulation, part I - theory,” ASME Journal of Dynamic Systems, Measurement, and Control, vol. 107, pp. 1—7, 1985. [20] H. Lim, S. Setiawan, and A. Takanishi, “Balance and impedance control for biped humanoid robot locomotion,” in IEEE/RSJ International Conference on Intelligent Robots and Systems, vol. 1, 2001, pp. 494—499. [21] J. Park, “Impedance control for biped robot locomotion,” IEEE Transactions on Robotics and Automation, vol. 17, no. 6, pp. 870—882, 2001. 80 [22] S. Kawaji, K. Ogasawara, J. Iimori, and S. Yamada, “Compliance control for biped locomotion robot,” in IEEE International Conference on Systems, Man, and Cybernetics, vol. 4, 1997, pp. 3801-3806. [23] B. Vanderborght, “Dynamic stabilisation of the biped Lucy powered by actuators with controllable stiffness,” Ph.D. dissertation, Vrije University, Brussels, 2007. [24] J. Yamaguchi, D. Nishino, and A. Takanishi, “Realization of dynamic biped walk- ing varying joint stiffness using antagonistic driven joints,” IEEE International Conference on Robotics and Automation, vol. 3, pp. 2022—2029, 1998. [25] B. Vanderborght, B. Verrelst, R. Ham, M. Damme, P. Beyl, and D. Lefeber, “De- velopment of a compliance controller to reduce energy consumption for bipedal robots,” Auton. Robots, vol. 24, no. 4, pp. 419—434, 2008. [26] T. McGeer, “Passive dynamic walking,” The International Journal of Robotics Research, vol. 9, no. 2, pp. 62-82, 1990. [27] T. McMahon, “Mechanics of locomotion,” The International Journal of Robotics Research, vol. 3, no. 2, pp. 4—28, 1984. [28] Y. Ikemata, A. Sano, and H. Fujimoto, “A physical principle of gait generation and its stabilization derived from mechanism of fixed point,” IEEE International Conference on Robotics and Automation, pp. 836—841, May 2006. [29] D. G. E. Hobbelen and M. Wisse, “A disturbance rejection measure for limit cycle walkers: The gait sensitivity norm,” IEEE Transactions on Robotics, vol. 23, no. 6, pp. 1213—1224, 2007. [30] S. Collins, M. Wisse, and A. Ruina, “A three-dimensional passive-dynamic walk- ing robot with two legs and knees,” The International Journal of Robotics Re- search, vol. 20, no. 7, pp. 607—615, 2001. [31] M. H. Raibert, Legged Robots that Balance. Cambridge, MA, USA: Mas- sachusetts Institute of Technology, 1986. [32] G. Pratt, “Low impedance walking robots,” Integrative and Comparative Biology, vol. 42, no. 1, pp. 174—181. [33] J. Pratt, “Exploiting inherent robustness and natural dynamics in the control of bipedal walking robots,” Ph.D. dissertation, Massachusetts Institute of Technol- ogy, 2000. [34] D. G. E. Hobbelen, “Limit cycle walking,” Ph.D. dissertation, TU Delft, 2008. [35] D. G. E. Hobbelen and M. Wisse, “Ankle actuation for limit cycle walkers,” The International Journal of Robotics Research, vol. 27, no. 6, pp. 709—735, JUN 2008. 81 [36] M. H. Raibert, M. Chepponis, and H. B. Brown, “Running on four legs as though they were one,” IEEE Transactions on Robotics and Automation, vol. 2, no. 2, pp. 70—82, 1986. [37] J. Pratt, “Virtual model control of a biped walking robot,” Master’s thesis, MIT, 1995. [38] J. Pratt, C. M. Chew, A. Torres, P. Dilworth, and G. Pratt, “Virtual model con- trol: An intuitive approach for bipedal locomotion,” The International Journal of Robotics Research, vol. 20, no. 2, pp. 129—143, 2001. [39] A. Ijspeert, A. Crespi, D. Ryczko, and J. Cabelguen., “From swimming to walk- ing with a salamander robot driven by a spinal cord model.” Science, vol. 315, no. 5817, pp. 1416 — 1420, 2007. [40] T. Geng, B. Porr, and F. Worgotter, “Fast biped walking with a sensor-driven neuronal controller and real-time online learning,” The International Journal of Robotics Research, vol. 25, no. 3, pp. 243—259, 2006. [41] R. Tedrake, T. Z. Weirui, and S. H. Sebastian, “Learning to walk in 20 minutes,” in Fourteenth Yale Workshop on Adaptive and Learning Systems, 2005. [42] T. Das and R. Mukherjee, “Dynamic analysis of rectilinear motion of a self- propelling disk with unbalance masses,” Journal of Applied Mechanics, vol. 68, no. 1, pp. 58—66, 2001. [43] D. T. Greenwood, Principles of Dynamics, 2nd ed. Prentice Hall, 1988. [44] M. Wisse and J. V. Frankenhuyzen, “Design and construction of Mike: A 2d au- tonomous biped based on passive dynamic walking,” Adaptive Motion of Animals and Machines, vol. 4, pp. 143—154, 2006. 82 3 1293 03063 394 I III IIII |.I l l I II H I II I I I'll l l I