Techniques for Dynamic Maneuvering of Hexapedal Legged Robots

bdml.stanford.edu

Techniques for Dynamic Maneuvering of Hexapedal Legged Robots

TECHNIQUES FOR DYNAMICMANEUVERING OF HEXAPEDAL LEGGED ROBOTSA DISSERTATIONSUBMITTED TO THE DEPARTMENT OF MECHANICALENGINEERINGAND THE COMMITTEE ON GRADUATE STUDIESOF STANFORD UNIVERSITYIN PARTIAL FULFILLMENT OF THE REQUIREMENTSFOR THE DEGREE OFDOCTOR OF PHILOSOPHYArthur Joseph McClung, IIIDecember 2006


c○ Copyright by Arthur Joseph McClung, III 2007All Rights Reservedii


I certify that I have read this dissertation and that, in my opinion, itis fully adequate in scope and quality as a dissertation for the degreeof Doctor of Philosophy.(Mark R. Cutkosky)Principal AdviserI certify that I have read this dissertation and that, in my opinion, itis fully adequate in scope and quality as a dissertation for the degreeof Doctor of Philosophy.(J. Christian Gerdes)I certify that I have read this dissertation and that, in my opinion, itis fully adequate in scope and quality as a dissertation for the degreeof Doctor of Philosophy.(Kenneth J. Waldron)Approved for the University Committee on Graduate Studies.iii


AbstractLegged locomotion is a very important mode of transportation. Even though wheeledand tracked vehicles (which do not appear in nature) can be quicker and more efficientin some situations, they are likely to be able to reach only about 50% of theterrestrial world. Legs can reach a much larger percentage, with the only real limitationscoming from safety and unhabitable conditions. Biomimetics is the applicationof principles learned in biological systems to manmade systems. The Sprawl familyof robots built in our lab are inspired by research done on cockroaches and other agilerunners. The performance of these robots has been improved by steady analysis anddevelopment cycles focused on many aspects of the robot. These studies have ledto design improvements and robot parameter tuning that achieves the best performancefrom the various versions of the family. However, prior to this research, thearea of maneuverability had been overlooked. Without maneuverability, these robotsare limited to only straight ahead speed and stability investigations; and in actualityrobot experimentation primarily took place on a narrow 5 foot long treadmill. Theexperiments are far from trivial, but with maneuverability these studies gain additionalreal-world applicability. Biologists investigations have given key insight intothe ways that cockroaches run and turn. Cockroaches maintain an alternating tripodgait, but shift the foot placement and sweep angle of the legs in order to changethe turning moment about their center of mass. Because of their performance andversatility, the Sprawlettes and iSprawl, two members of the Sprawl family, serve asa good platforms to study biomimetic inspired maneuvers.In this thesis, the dynamic maneuverability of the Sprawlettes is thoroughly investigated.First, the available parameters are evaluated for their effectiveness usingv


Design of Experiment techniques, and narrowed down to ipsilateral leg angles. Theworkspace and use of these parameters was examined to enable these 3 parametersto be further reduced to a single turnfactor variable which moves smoothly throughthe workspace and provides a great range of turning behavior. This analysis involvedexperiments on the robots and in simulation to help expedite the process. As iSprawlcame to fruition, it was included in many of these analyses for comparison and moreinsight on legged maneuverability. System identification techniques have been appliedto help identify bandwidth limitations (around 1-3Hz for both systems) and characterizethe turning dynamics. The similarities and differences in the Sprawlettes andiSprawl have contributed to the understanding and explanation of turning behaviorfor dynamic legged robots. Using the information gained in the process, dynamicmaneuverability concepts were developed and tested to aid future investigations inthis relatively new field.vi


AcknowledgmentsI would like to thank my adviser, my parents, family and friends for all the supportalong the way. I would also like to thank all current and past members ofthe Biomimetics and Dextrous Manipulation Lab (BDML), the Center for DesignResearch (CDR) and other Stanford affiliates that I have worked with.vii


ContentsAbstractAcknowledgmentsvvii1 Introduction 11.1 Context and Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Thesis Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Biomimetic Locomotion 52.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2 Biological Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2.1 Legged Locomotion . . . . . . . . . . . . . . . . . . . . . . . . 62.2.2 Legged Turning . . . . . . . . . . . . . . . . . . . . . . . . . . 72.3 Robotic Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3.1 Legged Locomotion . . . . . . . . . . . . . . . . . . . . . . . . 82.3.2 Legged Robotic Maneuverability . . . . . . . . . . . . . . . . . 102.4 Review of Sprawl Robot Family . . . . . . . . . . . . . . . . . . . . . 113 Design of Experiments 163.1 Robot Design and Turning Parameters . . . . . . . . . . . . . . . . . 163.2 Initial Reduction of Parameters . . . . . . . . . . . . . . . . . . . . . 183.3 Taguchi L9, Latin squares . . . . . . . . . . . . . . . . . . . . . . . . 203.4 Focused Taguchi L4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28viii


4 Simulation 334.1 Simulation background / review . . . . . . . . . . . . . . . . . . . . . 334.2 Sprawlette model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.3 iSprawl model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.4 Correlation with physical model . . . . . . . . . . . . . . . . . . . . . 384.5 Sprawlette Turning experiments . . . . . . . . . . . . . . . . . . . . . 424.5.1 Multiple Leg Alterations . . . . . . . . . . . . . . . . . . . . . 444.5.2 Grid Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484.5.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504.6 Turning Comparison of ADAMS models . . . . . . . . . . . . . . . . 524.7 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555 General System Identification 565.1 Intuitive Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565.2 Systems Investigated . . . . . . . . . . . . . . . . . . . . . . . . . . . 575.2.1 Servo on leg . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585.2.2 Sprawlettes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685.2.3 iSprawl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775.3 General System Identification Summary . . . . . . . . . . . . . . . . 865.3.1 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 885.3.2 Additional Ideas for Future Investigation . . . . . . . . . . . . 886 Dynamic Maneuverability 926.1 Turning Performance metrics . . . . . . . . . . . . . . . . . . . . . . 926.1.1 Duty Cycle Turns . . . . . . . . . . . . . . . . . . . . . . . . . 946.1.2 General Performance . . . . . . . . . . . . . . . . . . . . . . . 966.1.3 Curvature Optimized Performance . . . . . . . . . . . . . . . 976.1.4 Speed Optimized Performance . . . . . . . . . . . . . . . . . . 976.2 Dynamic Maneuvers . . . . . . . . . . . . . . . . . . . . . . . . . . . 996.2.1 Dynamic vs Static Maneuver Planning . . . . . . . . . . . . . 996.2.2 Ways to get dynamic turning . . . . . . . . . . . . . . . . . . 1016.2.3 Semi-Stable Maneuvers and Extreme Turning . . . . . . . . . 119ix


6.2.4 Leg Use Overview . . . . . . . . . . . . . . . . . . . . . . . . . 1256.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1277 Conclusions 1307.1 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1317.2 Suggestions for Future Work . . . . . . . . . . . . . . . . . . . . . . . 133A Documentation for Tern and Sprawlettes Setup 135A.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135A.2 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136A.3 Tern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136A.3.1 Foundation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137A.3.2 Basic Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137A.3.3 Main Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138A.3.4 Run Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139A.3.5 Configuration mode . . . . . . . . . . . . . . . . . . . . . . . . 140A.3.6 Diagnostic Mode . . . . . . . . . . . . . . . . . . . . . . . . . 141A.3.7 Preference Mode . . . . . . . . . . . . . . . . . . . . . . . . . 143A.3.8 Function Summaries . . . . . . . . . . . . . . . . . . . . . . . 144A.4 PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158A.4.1 Foundation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158A.4.2 Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158A.4.3 Main Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159A.4.4 Serial Input (from Tern AE86 board) . . . . . . . . . . . . . . 159A.4.5 Keyboard Input . . . . . . . . . . . . . . . . . . . . . . . . . . 160A.4.6 Preference mode . . . . . . . . . . . . . . . . . . . . . . . . . 160A.4.7 Function Summaries . . . . . . . . . . . . . . . . . . . . . . . 161A.5 Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174A.5.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174A.6 Key Mappings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177x


B Model Progressions 180B.1 Parameter effects - Model tuning . . . . . . . . . . . . . . . . . . . . 180C ADAMS Turning models comparison 187D Parametric Identification Cross-Validation 196E iSprawl Documentation 206E.1 Hardware Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206E.2 Connection Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206E.3 Additional Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207Bibliography 208xi


List of Tables2.1 Turning methods used by several animals. . . . . . . . . . . . . . . . 72.2 Selected timeline of legged locomotion events . . . . . . . . . . . . . . 93.1 Standard Taguchi L9 design. A Taguchi L9 can be used in experimentswith 4 parameters and 3 levels, 3 4 . This partial factorial uses 9 of thepossible 81 parameter combinations in the full factorial to give insightinto influences on the selected output. Note: 0 = Nominal, 1 = LOmagnitude change, 2 = HI magnitude change. . . . . . . . . . . . . . 213.2 Taguchi setup for 3 L9 approaches. The factors of interest for turningexperimentation are friction (Fric), leg angles (LA, nominal leg angle= NLA), duty cycle (DC) and stride period (SP). The duty cycle wasaltered in 3 different ways, resulting in 3 rounds of L9 testing (27separate tests). The duty cycle changes are explained further in Table3.3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.3 Since duty cycle change was previously less studied and understood,and its default value was near the middle of its effective range, threemethods were used for changing the duty cycle. 1) The duty cyclewas decreased from its nominal value of 35% (E), 2) the duty wasaltered through its full usable range 5-65% (F), 3) the duty cycle wasincreased from its nominal value (G). Each column (E,F,G) was usedin one round of Taguchi L9 testing described in Table 3.2. Note: DC= duty cycle, NDC = nominal duty cycle . . . . . . . . . . . . . . . . 23xii


3.4 Taguchi setup for 4 L4 designs. A more focused set of tests investigatedthe interaction of ipsilateral leg angle changes and duty cycle changes.Note: NLA = nominal leg angle, NDC = nominal duty cycle, LA =leg angle, Ips = ipsilateral (same side). . . . . . . . . . . . . . . . . . 284.1 Agreement is seen for some key parameters when comparing publishedresults for iSprawl[40] and ADAMS model v#35 of iSprawl. . . . . . 384.2 The seven simulation groups that were investigated. . . . . . . . . . . 544.3 List of the results that were exported after each test. (The forces andtorques were in world frame coordinates, so it was necessary to rotatethis data.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555.1 Listing of the chirp signal settings that were generated as inputs forthe servo. Note that one servo step is 0.78 degrees. . . . . . . . . . . 595.2 Listing of the chirp signal settings that were generated as inputs forthe Sprawlette. Note: A TF value of 28 is equivalent to approximately20 degrees. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705.3 Listing of the chirp signal settings that were generated as inputs foriSprawl. Note: A TF value of 40 is equivalent to approx 20 degrees. . 816.1 Test settings for Sprawlette axial compliance. PS=PISTON STIFF-NESS, PP=PISTON PRELOAD, *=Default . . . . . . . . . . . . . . 1176.2 Test settings for Sprawlette rotational compliance. HS=HIP STIFF-NESS, *=Default . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1176.3 Test settings for iSprawl axial compliance. PS=PISTON STIFFNESS,*=Default . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1186.4 Test settings for iSprawl rotational compliance. HS=HIP STIFFNESSfor front/mid/rear, *=Default . . . . . . . . . . . . . . . . . . . . . . 1186.5 Test settings for iSprawl rotational compliance height location. . . . . 1196.6 Test settings for Sprawlette rotational compliance height location. . . 1196.7 Test settings for iSprawl body COM height location. . . . . . . . . . 1206.8 Test settings for Sprawlette body COM height location. . . . . . . . . 120xiii


6.9 Frame by frame description of ripple gait turning effects seen in Figures6.27 and 6.28. Note: LF=left front, RF=right front, LM=left mid,RM=right mid, LR=left rear, RR=right rear. . . . . . . . . . . . . . 1296.10 Frame by frame description of turning effects caused by single strideperiod of leg angle changes, as seen in Figure 6.29. Note: LF=leftfront, RF=right front, LM=left mid, RM=right mid, LR=left rear,RR=right rear. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129A.1 The structure of the DATA array variable, which is used for temporaryparameter storage in SCANJOYSTICK, TURNROUTINE, TURN-ROUTINE2 and ADAPTROUTINE. . . . . . . . . . . . . . . . . . . 148A.2 Data types for sending / decoding of data in SENDNUM function . . 155A.3 Data types for the sending / decoding in DATAUPDATE function . . 164A.4 Compass testing mode message decoding . . . . . . . . . . . . . . . . 171A.5 Key Mappings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178A.6 Key Mappings (cont.) . . . . . . . . . . . . . . . . . . . . . . . . . . . 179B.1 Progression of Sprawlette models in ADAMS . . . . . . . . . . . . . . 184B.2 ADAMS Data sets for Sprawlette & models . . . . . . . . . . . . . . 185B.3 Progression of iSprawl models in ADAMS . . . . . . . . . . . . . . . 186xiv


List of Figures2.1 Family of Sprawl robots( followed by approximate length [cm] andspeed [cm/s]) a. Sprawl 1.0 (40cm, 2cm/s), b. Mini-Sprawl (10cm,4cm/s), c. Sprawlita (15cm, 40cm/s), d. Sprawlettes (14cm, 65cm/s),e. Porta-Sprawl (15cm, 80cm/s), f. Aqua-Sprawl (16cm, 5cm/s), g.iSprawl (15cm, 230cm/s). . . . . . . . . . . . . . . . . . . . . . . . . 153.1 Basic design of the Sprawlette robots. The sprawled leg posture contributesto stable locomotion. Each leg contains a rotationally compliantjoint, which also helps with stability and disturbance rejection.Turning can be achieved by changes in the activation signal sent to thepistons, and by changes to the leg angles. . . . . . . . . . . . . . . . . 173.2 Individual legs and pair combinations (ipsilateral, contralateral, diagonal)were the basic groups tested in the parameter reduction investigation.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.3 Two overlaid frames (position of the body at the START and after thebody has come to a STOP) of image data are used to track the bodymotion over a 3 sec test. Illuminated beacons were placed at the foreand aft of the robot, and the camera was adjusted to filter the majorityof other light. After processing, the body beacons are circled (LIGHTBLUE), and the approximate path and radius of curvature were calculatedusing Least Squares (RED), Chord Intersection (YELLOW) andby Circle Averaging (DARK BLUE) (using 3 of the 4 points to create4 different circles). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19xv


3.4 Initial Sprawlette tests of ipsilateral leg angle changes and duty cyclechanges of ipsilateral and tripod legs. Leg angles were decreased fromnominal value of 00/25/40 deg (for front/mid/rear), causing the topof the leg to rotate toward the front of the body. Leg angle increaseswere not tested because these changes cause stability problems andnose-diving. Duty cycle values were both increased and decreased fromthe nominal value of 35%, using both tripod and ipsilateral groupings.Note: LA=leg angle, DC=duty cycle, IPS=ipsilateral, TRI=tripod. . 203.5 Full Factorial. An experiment set with 3 parameters and 2 levels, 2 3 ,has 8 combinations, denoted by the corners of a cube. A full factorialwould test all 8 combinations, and can be used to determine all individual,two-way combinations and three-way combinations of the factors.Many of the same results can be achieved with a partial factorial, asseen in Figure 3.6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.6 Partial Factorial. A partial factorial only tests a certain subset of thefull factorial. In the half-factorial seen here, tests at the four markedcorners of the cube can be used to determine individual, two-way combinations,and some three-way combinations of the factors. The projectionsof these points show how data on all of the two-way combinationscan be gathered by intelligent testing. Individual and some three-waycombinations are available directly from these four tests, while two-wayinteractions require minor processing. . . . . . . . . . . . . . . . . . . 243.7 Sum of Squares Analysis. 1)-3) Sprawlette robot tests on the right,4)-6) ADAMS simulations on the left. Tests labeled ‘e’ (1,4), ‘f’ (2,5),and ‘g’ (3,6), respectively correspond to the 1st, 2nd, and 3rd Taguchisetups listed in Tables 3.2 and 3.3. Leg angles are the single mosteffective factor in every test. Duty cycle is a distant 2nd in severaltests. These two factors were further investigated for interaction. . . . 25xvi


3.8 Taguchi L9. Setups 8e (a) and 8f (b) correspond to the 1st and 2ndTaguchi test setups seen in Tables 3.2 and 3.3. In both cases, theleg angles showed the greatest response, and also the only consistentlymonotonic response. . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.9 Taguchi L9. Setup 8g corresponds to the 3rd Taguchi test setup fromTables 3.2 and 3.3. The leg angles showed the greatest response comparedto the other parameters. . . . . . . . . . . . . . . . . . . . . . . 273.10 Taguchi L4 Sum of Squares Analysis For both a) Sprawlette robot &b) ADAMS model: LEFT TOP = LA and DC Ips decreases, RIGHTTOP = LA and DC Ips increase, LEFT BOTTOM = LA and DC Tridecreases, RIGHT BOTTOM = LA and DC Tri increases. The legangle changes have the greatest effect in all instances. Note: LA=legangles, DC=duty cycle, Ips=ipsilateral, Tri=tripod. . . . . . . . . . . 293.11 Taguchi L4#1 : Duty Cycle Ipsilateral Decrease The leg angle has thelargest impact and is confounded by DC ipsilateral decreases. [FactorA = LA, Factor B = DC]. Note: a)Individual factor effects, b) Factorinteraction effects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.12 Taguchi L4#2 : Duty Cycle Ipsilateral Increase The leg angle hasthe largest impact and has little to no interaction with DC ipsilateralincreases. [Factor A = LA, Factor B = DC]. Note: a)Individual factoreffects, b) Factor interaction effects. . . . . . . . . . . . . . . . . . . . 303.13 Taguchi L4#3 : Duty Cycle Tripod Decrease The leg angle has thelargest impact and is confounded by DC tripod decreases. [Factor A= LA, Factor B = DC]. Note: a)Individual factor effects, b) Factorinteraction effects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.14 Taguchi L4#4 : Duty Cycle Tripod Increase The leg angle has thelargest impact and is confounded by DC tripod increases. [Factor A= LA, Factor B = DC]. Note: a)Individual factor effects, b) Factorinteraction effects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31xvii


4.1 a) Sprawlita is on the left, and the corresponding ADAMS model onthe right. b) A frame of a video overlay, showing the close dynamicsimilarities of the ADAMS model and physical robot. . . . . . . . . . 344.2 A snapshot of one of the Sprawlette legs in ADAMS. The leg containstwo compliant revolute joints (one about the leg angle rotation axis toachieve SLIP-like behavior and a lateral rotational compliance takenabout the same point for more maneuverability. The foot modificationsare also visible. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364.3 The ADAMS iSprawl leg model (a) was designed to have a linear springin series with displacement input (a,INSET). The ADAMS model wasbased on iSprawl (b), which also has displacement based actuation andaxial compliance (b,INSET). . . . . . . . . . . . . . . . . . . . . . . . 374.4 Sprawlette robot experiments using various turning methods. Ipsilateralleg angles were the most effective, followed by ipsilateral dutycycle changes. Tripod duty cycle changes had the least effect. Note:Parameter changes are relative to nominal settings. Heading changewas measured over 3 secs of running. LA=leg angle, DC=duty cycle,Ips=ipsilateral, Tri=tripod. Ips LA increases (LA>0) were notpursued because of nose-diving and in stability. . . . . . . . . . . . . 394.5 ADAMS Sprawlette model of using various turning methods. Themodel shows the same trend as the actual robot, with ipsilateral legangles being the most influential. Note: Parameter changes are relativeto nominal settings. Heading change was measured over 3 secsof running. As in the robot, LA increases (LA>0) were not pursuedbecause of instability. . . . . . . . . . . . . . . . . . . . . . . . . . . . 404.6 Sprawlette model. The initial heading is altered by a disturbance. After2.0 secs to reach steady state, a 0.2sec duration, 2N force is applied,and the simulation returns to a stable heading after a few strides. Thesame stability is seen on the robot. The white line represents the pathof the body. Before and after the disturbance, the steady state velocityremains approximately 62cm/s and the turn rate ∼0deg/s. . . . . . . 41xviii


4.7 iSprawl model. The initial heading is altered by a disturbance. After5.0 secs to reach steady state, a 0.2sec duration, 2N force is applied,and the simulation returns to a new stable heading after a few strides.The same stability is seen on the robot. The white line represents thepath of the body. Before and after the disturbance, the steady statevelocity remains approximately 1.54m/s and the turn rate ∼0deg/s. . 424.8 Sprawlette model. The turning radius of the robot is unaffected by adisturbance. After completing a full revolution of radius r 1 =51cm, at10sec into the simulation, a 0.2sec, 0.2N force is applied to the model.After a few strides, the simulation returns to a stable turn radius,r 2 =51cm, which matches the initial turn radius. The steady state turnrate is 46deg/s before and after the disturbance. Note: The simulationis turning in a clockwise direction, and the white line represents thepath of the body. The leg angles have been set to slow the body on theinside of the turn (leg angles shifted by +15 o from nominal 0/-25/-40 ofor F/M/R) on the right side, to create a turn to the right. . . . . . . 434.9 iSprawl model. The turning radius of the robot is unaffected by adisturbance. After completing a full revolution of radius r 1 =1.54m, at15sec into the simulation, a 0.2sec, 0.2N force is applied to the model.After a several strides, the simulation returns to a stable turn radius,r 2 =1.57m, which closely matches the initial turn radius. The steadystate turn rate is 55deg/s before and after the disturbance. Note:The simulation is turning in a clockwise direction, and the white linerepresents the path of the body. The leg angles have been set to slowthe body on the inside of the turn (middle leg angles shifted by ±3 ofrom nominal 29 o ), to create a turn to the right. . . . . . . . . . . . . 444.10 Leg angles can be changed independently (3D), or by constraining themto intersect at a single point (2D), or all by a uniform value or percentage(1D). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45xix


4.11 Intersection Point. The intersection point is where the projections ofthe 3 legs intersect, and is measured by the intersection distance (ρ)and angle (φ). The distance is measured from the attachment pointof the middle hip, and the angle is measured relative to a verticalprojection through the middle hip. . . . . . . . . . . . . . . . . . . . 464.12 Sprawl Angle. The angle between the front and rear legs is called thesprawl angle. Large sprawl angles (a) give the legs varied functionality.Small sprawl angles (b) cause legs to behave more similarly. . . . . . 474.13 Workspace shapes for Cartesian (square) and cylindrical or polar (arcing)coordinate systems of defining intersection points for leg angles.The Cartesian systems was used for workspace characterization. Thecylindrical system was used in the final implementation. . . . . . . . . 484.14 The intersection point of three ipsilateral legs was swept through agrid to characterize the turning behavior. The grid covers the usableworkspace of leg angles for locomotion. (Note: At each point, legangles were set so that their projections cross at that point.) . . . . . 494.15 Results of varying the location of the intersection point of the leg anglesover a grid in the sagittal plane. The tests show that the trends ina)turning rate and b)forward velocity are radial with an origin nearthe location of the middle leg. The darker regions indicate faster turnrates and velocities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504.16 Turning radius κ, and velocity ν decrease as turning rate increases.There is very close agreement between tests using actual intersectionpoints (2D) and effective intersection points (1D, one control parameter). 514.17 Similar mappings for a) 1D and b) 2D turn methods. The 1D turnmethod changes all the legs by an equal offset (1 parameter). The 2Dturn method requires that the intersection point of the legs be a certainangle and distance (2 parameters) from the origin at the middle leg. . 52xx


4.18 Constraining the legs such that their directions intersect at one pointin the sagittal plane provides an intuitive way of coordinating the threelegs’ degrees of freedom. Here, the position of the intersection point isgiven in polar coordinates (ρ and φ) from the location of the middlelegs’ hip, where φ is relative to the nominal mean leg angle. In thisfigure, φ=25 o and ρ=0.124m. The shaded region represents the rangeof feasible intersection points. Outside this region, performance decreasesmarkedly. The sizes of the circles are related to the turn rate.The front of the robot is facing the right side of the figure. . . . . . . 535.1 Servos. a)Modified servo for use with Sprawlette. b)Modified servofor system identification testing, with leg attached. The potentiometersignal can be accessed via the single wire exiting the servo housing. . 585.2 A typical input signal that is commanded to the servos during a turningexperiment. The parameter set is (0.1,10,28,8), meaning frequencysweep between 0.1 and 10Hz, of amplitude 28 steps (20 o ) over a periodof 8 sec. The continuous chirp signal is seen in dotted green; the signalthat actually goes to into the servo (due to its 40Hz update rate) isseen in blue with x symbols. . . . . . . . . . . . . . . . . . . . . . . . 605.3 ARX Servo Model. The ARX model of order [5 5 4] has a SSR valueof 1887 and it captures the general response of the system without alarge offset or losing the dynamic behavior of the robots. The sinusoidaleffects from the input can be seen in the lag plot at the lower right. . 615.4 ARMAX Servo Model. The ARMAX model of order [2 3 1 1] characterizesthe system at a lower model order than the ARX model, butwith similar results (SSR value=2096). The lag plot in the lower rightshows the sinusoidal effects of the input. . . . . . . . . . . . . . . . . 63xxi


5.5 Box-Jenkins Servo Model. The BJ model of order [2 1 1 2 1] has a SSRvalue of 1734, and characterizes the system at lower orders than boththe ARX and ARMAX models, with comparable results. The lag plotat the lower right shows strong error correlation, and the sinusoidalnature of the input. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645.6 Bode plot of servo dynamics from frequency identification . . . . . . . 665.7 Comparison of Bode plot of between frequency (FID) and parametric(PID) identification techniques. . . . . . . . . . . . . . . . . . . . . . 675.8 Several of the Sprawlette robots, in various stages of assembly andexperimentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685.9 Timing Diagram for 1 Stride Period (130ms) . . . . . . . . . . . . . . 695.10 This is typical output data (post video processing). Because of therotation of the video frame, the heading centers around 90 deg, withfluctuations being turning, drift, or general non-straight running. Dueto the two point and 2D beacon system, excessive pitch and roll cansometimes appear as yaw. . . . . . . . . . . . . . . . . . . . . . . . . 715.11 ARX Sprawlette System Model. The ARX model of order [3 5 5] has aSSR value of 111.7, and does not have significant offset while ignoringsome of the normal noise and drift of running. The lag plot at thelower right shows error correlation and evidence of the sinusoidal input. 725.12 ARMAX Sprawlette System Model. The ARMAX model of order [35 3 5] has a SSR value of 108.9. This model captures some of theSprawlette turning dynamics while disregarding the usual noise anddrift of robot running. The sinusoidal effects from the input can beseen in the lag plot at the lower right. . . . . . . . . . . . . . . . . . . 735.13 Box-Jenkins Sprawlette System Model. The BJ model of order [3 4 14 4] has a SSR value of 105.5, which shows comparable performance tosome of the less complex ARMAX models. The lag plot at the lowerright shows some error correlation. . . . . . . . . . . . . . . . . . . . 755.14 Bode plot of Sprawlette system dynamics from frequency identification 76xxii


5.15 Comparison of Bode plot of between frequency (FID) and parametric(PID) identification techniques. . . . . . . . . . . . . . . . . . . . . . 775.16 Testing iSprawl with servo controller on the treadmill. For useful videodata, iSprawl must keep its beacon LEDs within the camera field ofview (FOV), and avoid extensive contact with the clear barrier walls.The inset in a close-up of the servo controller board, which containsthe beacon LEDs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785.17 ARX iSprawl System Model. The ARX model of order [6 6 4] has aSSR value of 114.5. The sinusoidal effects from the input can be seenin the lag plot at the lower right. . . . . . . . . . . . . . . . . . . . . 825.18 ARMAX iSprawl System Model. The ARMAX model of order [3 5 14] has a SSR value of 110.7. Sinusoidal input residue can be seen inthe lag plot at the lower right, which shows strong error correlation. . 835.19 Box-Jenkins iSprawl System Model. The Box-Jenkins model of order[4 1 1 2 4] has a SSR value of 104.9. The lag plot at the lower rightshows the error correlation. . . . . . . . . . . . . . . . . . . . . . . . 845.20 Bode plot of iSprawl turning dynamics. . . . . . . . . . . . . . . . . . 855.21 Bode plot comparisons of the Sprawlettes and iSprawl. iSprawl usedthe opposing angle middle leg turning scheme, and the Sprawlettesused the ipsilateral leg angle scheme. . . . . . . . . . . . . . . . . . . 865.22 Comparison of Bode plot of between frequency (FID) and parametric(PID) identification techniques. . . . . . . . . . . . . . . . . . . . . . 875.23 iSprawl Test variability. The large variation from test to test made ithard for the parametric methods to model iSprawl. Examples are seenin tests a)#18, b)#21, c)#27, d)#29, e)#31, f)#37. . . . . . . . . . 916.1 Sprawlette duty cycle based turn diameter and curvature for simulationand experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94xxiii


6.2 In duty cycle based turning experiments on Sprawlette, turning diameter,turn rate and velocity are selected for analysis and metric generation.In these tests, larger duty cycle changes do not provide enoughpressure to fully extend the pistons, and the performance falls off. . . 956.3 Turning Performance Metric #1 - Standard turn rate. A 20% DCreduction (to 15% duty cycle on the inside legs) gives the best turn rate. 966.4 Turning Performance Metric #2 - Curvature optimized. This metricmight come in handy in a maze structure. A 25% DC reduction (to10%) provides the best performance. . . . . . . . . . . . . . . . . . . 976.5 Turning Performance Metric #3 - Speed optimized. This metric maybe preferred when time and distance travelled are critical. The bestperformance is reached at 15% DC reduction (to 20%). . . . . . . . . 986.6 Dynamic (straight) Locomotion Results for Sprawlette. Motion is primarilyhop-settle-fire below 2.5Hz (a), and dynamic above 5Hz (b).Between 5 Hz and 6Hz (c), there is a regime characterized by nonperiod-onerunning in which the robot primarily runs on a single tripodand tends to turn rapidly. The nominal running speed is 7.7Hz (d).Note: Turning radii greater than 3 m are considered to be ’straight’. . 1026.7 Dynamic Turning Results for Sprawlette. Results are shown for a commandedturn with a 20 deg. change in leg angles. Below 2.5Hz (a),the motion is hop-settle-fire. Between 4 Hz and 5 Hz (b) there is aregime characterized by non-period-one running in which the robotprimarily runs on a single tripod and turns rapidly. Above 6 Hz therobot reverts to smooth running (c) and turns as expected. The defaultrunning speed is 7.7Hz (d) which provides a compromise betweenmaximum speed and maneuverability. . . . . . . . . . . . . . . . . . . 1036.8 Dynamic (straight) Locomotion Results for iSprawl. Motion is quasidynamic(hope-settle-fire) below 6Hz (a), and dynamic above 10Hz (b).The default running speed is 14.3Hz (c), at which the robot runs verysmoothly. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104xxiv


6.9 Dynamic Turning Results for iSprawl. Results are shown for a commandedturn with a 3 deg. change in leg angles. Below 6Hz (a), therobot is unresponsive to turning commands. Between 6 and 10Hz (b),there is a transition to dynamic motion but the turning performance isunpredictable until the robot enters a regime of smooth running above12 Hz. Turning and speed are both optimized at approximately 14 Hz(c). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056.10 iSprawl. Sum of Moments Analysis for last 20 strides of a 7 sec simulation.1066.11 iSprawl. Sum of Moments Analysis for last 10 strides of a 7 sec simulation.1076.12 Transverse plane model. Nominal body roll state is #7. Body states#5 and #6 are suboptimal for standard running, but may be acceptablefor certain terrain conditions. Body state pairs #1, and#3 can produce turns to the left and right, respectively. . . . . . 1086.13 Changes to 1)axial and 2)rotational compliance in Sprawlette. (Test#4 is the default setting for both compliance groups. Note: Decreasesto the left, increases to the left of Test#4. See Tables 6.1 and 6.2 fortest settings.) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1106.14 Changes to 1)axial and 2)rotational compliance in iSprawl. (Test #3is the default setting for axial compliance, #4 is the default setting forrotational compliance. Note: Decreases to the left, increases to the leftof default test number. See Tables 6.3 and 6.4 for test settings.) . . . 1116.15 Changes were made to the height of the rotational compliance on theiSprawl legs (actual iSprawl included for comparison). 1) default, 2)middle (DOWN 20mm), 3) low (DOWN 35mm) . . . . . . . . . . . . 1126.16 Changes were made to the height of the rotational compliance on thesimulated Sprawlette legs (actual Sprawlette included for comparison).1) default, 2) middle (UP 15mm), 3) high (UP 30mm). . . . . . . . . 1126.17 Changes in the location of rotational compliance for a)Sprawlette andb)iSprawl. Test #s correspond to those seen in Figures 6.15 and 6.16.(#1 is the nominal setting. See Tables 6.5 and 6.6 for test settings.) . 113xxv


6.18 Changes to the body COM height for iSprawl. 1. low (DOWN 5mm),2. default 3. middle (UP 10mm), 4. high (UP 20mm) . . . . . . . . . 1146.19 Changes to the body COM height for Sprawlette. 1. low (DOWN10mm), 2. middle (DOWN 5mm), 3. default 4. high (UP 10mm) . . 1156.20 Changes in location of the body COM height for a)Sprawlette andb)iSprawl. Test #s correspond to those seen in Figures 6.18 and 6.19.(#3 is the nominal setting for Sprawlette, #2 is the nominal settingfor iSprawl. See Tables 6.7 and 6.8 for test settings.) . . . . . . . . . 1166.21 Sagittal plane model. Body pitch #1 is used in normal running. Bodypitches #2 and #3 can be used to speed and slow the body to a certaindegree. When pitch speed control is only executed on one body side,turning can be induced. Note: Left is forward direction of travel. . . . 1196.22 Tank Tread Analysis. Tanks turn by settings the speed of the treadsto different values. The slower tread (v 1 < v 2 ) becomes the inside ofthe turn, and the treads follow the inner and outer circles, while theCOM of the tank follows the middle, dashed circle. . . . . . . . . . . 1216.23 Tread Theory results for iSprawl. Tread theory was used to predictthe turn rate for each base (nominal) value of the middle legs. Thebase middle leg angle (d) (28 o ) was varied to more broadly examinethe feasibility of the tread theory. . . . . . . . . . . . . . . . . . . . . 1226.24 Extreme maneuvers. a)Turning about a planted leg, and b)using morevertical legs to produce smaller forward propulsive forces on one side. 1236.25 Alternate gaits. One example of an alternate gait is the “ripple” gaituses follow the leader leg activation in either a CW or CCW directionaround the body. This can create significant heading change withinone stride period. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1236.26 Leg reversal. Legs on one side can be rotated to a reverse position toturn the body about a point near the COM. . . . . . . . . . . . . . . 125xxvi


6.27 Ripple - First Frames. A significant heading change can be quickly accomplishedby using a “ripple” gait for one stride period, then returningto the standard tripod gait. Note: Each numbered set contains acorresponding side view (TOP frame) and front view (BOTTOM frame).1266.28 Ripple - Last Frames. A significant heading change can be quicklyaccomplished by using a “ripple” gait for one stride period, then returningto the standard tripod gait. . . . . . . . . . . . . . . . . . . . 1276.29 Leg Angles. For comparison, a smaller heading change can be accomplishedby changing the leg angles for one stride period, then returningto the nominal leg angles. Note: Each numbered set contains a correspondingside view (TOP frame) and front view (BOTTOM frame). . 128A.1 Schematic representation of the Sprawl robots . . . . . . . . . . . . . 136A.2 Main loop display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139A.3 Run Mode display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141A.4 Configuration Mode display . . . . . . . . . . . . . . . . . . . . . . . 142A.5 Configuration Mode for ADC display . . . . . . . . . . . . . . . . . . 142A.6 Diagnostic Mode display . . . . . . . . . . . . . . . . . . . . . . . . . 143A.7 Preference Mode display . . . . . . . . . . . . . . . . . . . . . . . . . 144A.8 Dinsmore representation of “linear” regions in sine and cosine signals 145A.9 SIB w/ Tern, H-Bridges and Mini-SSC . . . . . . . . . . . . . . . . . 175C.1 Spring deformation (iSprawl) and Stroke (Sprawlette) - iSprawlturning: a) Moderate, b) Hard. Sprawlette turning: c) Moderate,d) Hard. Values represent the percentage change from the nominalvalue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190C.2 Leg swing - iSprawl turning: a) Moderate, b) Hard. Sprawlette turning:c) Moderate, d) Hard. Values represent the percentage changefrom the nominal value. . . . . . . . . . . . . . . . . . . . . . . . . . 191C.3 Body frame axes for the iSprawl and Sprawlette models. X = Longitudinal,Y = Normal, Z = Lateral. . . . . . . . . . . . . . . . . . . . 192xxvii


C.4 X (Longitudinal) GRF - iSprawl turning: a) Moderate, b) Hard.Sprawlette turning: c) Moderate, d) Hard. Values represent the percentagechange from the nominal value. Top value is the largest positiveor MAX force (acceleration), bottom value is smallest negative orMIN force (deceleration). . . . . . . . . . . . . . . . . . . . . . . . . . 193C.5 Y (Normal) GRF - iSprawl turning: a) Moderate, b) Hard. Sprawletteturning: c) Moderate, d) Hard. Values represent the percentage changefrom the nominal value. . . . . . . . . . . . . . . . . . . . . . . . . . 194C.6 Z (Lateral) GRF - iSprawl turning: a) Moderate, b) Hard. Sprawletteturning: c) Moderate, d) Hard. Values represent the percentage changefrom the nominal value. Top value is the largest positive or MAX force(to the RIGHT), bottom value is smallest negative or MIN force (tothe LEFT). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195D.1 Servo Parametric ARX model validation. a) Cross validation withsame input. b)Cross validation with different input. . . . . . . . . . . 197D.2 Servo Parametric ARMAX model validation. a) Cross validation withsame input. b)Cross validation with different input. . . . . . . . . . . 198D.3 Servo Parametric Box-Jenkins model validation. a) Cross validationwith same input. b)Cross validation with different input. . . . . . . . 199D.4 Sprawlette Parametric ARX model validation. a) Cross validation withsame input. b)Cross validation with different input. . . . . . . . . . . 200D.5 Sprawlette Parametric ARMAX model validation. a) Cross validationwith same input. b)Cross validation with different input. . . . . . . . 201D.6 Sprawlette Parametric Box-Jenkins model validation. a) Cross validationwith same input. b)Cross validation with different input. . . . . 202D.7 iSprawl Parametric ARX model validation. a) Cross validation withsame input. b)Cross validation with different input. . . . . . . . . . . 203D.8 iSprawl Parametric ARMAX model validation. a) Cross validationwith same input. b)Cross validation with different input. . . . . . . . 204xxviii


D.9 iSprawl Parametric Box-Jenkins model validation. a) Cross validationwith same input. b)Cross validation with different input. . . . . . . . 205xxix


xxx


Chapter 1IntroductionCan 6-legged bio-inspired hexapedal robots exhibit some of the same rapid maneuveringability seen in insects and arthropods? This thesis seeks to answer this question,and in the process raises others along the way. This investigation first introducesthe ideas of biomimetics and dynamic legged locomotion, and points out their importance.It also highlights the area of dynamic legged maneuverability and gives furthermotivation for research in this area of the Sprawl hexapedal robots project before givingan overview of the thesis layout. The chapter concludes with the contributions ofthis research.1.1 Context and MotivationLegged locomotion is a very important mode of transportation. Even though wheeledand tracked vehicles (which do not appear in nature) can be quicker and more efficientin some situations, they are likely to be able to reach only about 50% [47]of the terrestrial world. Legs can reach a much larger percentage, with the onlyreal limitations coming from safety, uninhabitable conditions, and some lack of efficiency.Biomimetics is the application of principles learned from biological systemsto manmade systems. In Mark Cutkosky’s Biomimetic Locomotion lab 1 , we havedesigned and built several small hexapedal robots that are inspired by research doneon cockroaches and other agile runners [14]. The performance of the Sprawl family of1


2 CHAPTER 1. INTRODUCTIONrobots has been improved by steady analysis and development cycles focused on variousaspects of the robot. These studies have led to design improvements and robotparameter tuning that achieves the best running performance from the many versionsof the family. However, prior to this research, the area of maneuverability hadbeen overlooked. Without maneuverability, these robots are limited to straight aheadspeed and stability investigations. In actuality, robot experimentation primarily tookplace on a narrow 5 foot long treadmill. The experiments are far from trivial, butwith maneuverability these studies gain additional real-world applicability. Studiesperformed in Bob Full’s Polypedal lab 2 at UC Berkeley, have given insight into theways that cockroaches run and turn [25, 32, 33, 38, 39]. Cockroaches maintain analternating tripod gait, but shift the foot placement and sweep angle of the legs inorder to change the turning moment about their center of mass. Using these techniques,cockroaches are able to achieve alternating turn rates up to 25Hz and turn 90deg within one stride [9, 10]. This research aims to determine if similar performancecan be achieved by dynamic, sprawled-posture robots. In this biomimetic roboticsproject, the Sprawlettes and iSprawl serve as a good platforms to study bio-inspiredmaneuvers. The Sprawlettes afford up to 19 control parameters that can be investigatedfor influence on turning, while iSprawl is one of the fastest legged runners basedon size. Ultimately, it is found that using a strategy similar to that of the cockroach(and other insects), the Sprawlettes and iSprawl change their leg angles, which altersfoot placement and creates turning moments about the center of mass.1.2 Thesis OverviewThis first chapter gives an introduction and motivation for the dissertation alongwith contributions. Chapter 2 gives a background of legged locomotion, includingthe Sprawl family of robots. The importance and advantages of maneuverable leggedmachines are highlighted with respect to real-world applications. The chapter closeswith a review of biomimetic maneuvering. Chapter 3 reviews the morphology of the1 http://bdml.stanford.edu/2 http://polypedal.berkeley.edu/


1.3. CONTRIBUTIONS 3Sprawlette robots and identifies the parameter space for maneuverability studies beforeapplying Design of Experiment (DOE) techniques in a systematic approach to theproblem of understanding which controllable parameters have the greatest influenceon turning and what the major interactions among control parameters are. With areduced parameter space, Chapter 4 explores the steady-state turning (rate) problemusing dynamic simulations of the robots. Various techniques for (multi-degreeof freedom) parameter variation are investigated, with promising variants receivingadditional experimentation on the actual robot. The combination of simulation andactual robot experiments leads to the development of a ’turnfactor’ control knob, i.e.,a single factor that can be used to adjust the leg angles, for maneuvers. In Chapter5, the steady-state turning results are applied to the Sprawlette robots to investigatedynamic turning. A Sprawlette robot was subjected to system identificationtechniques to reveal system and component responsiveness (transfer functions, Bodeplots, etc.). The availability of these results allows for the development of controllersrelating to maneuverability. Chapter 6 explores the transient characteristics relatingto initiation of dynamic maneuvers and looks at ways to exploit the transient behaviorfor increased turning effectiveness. The final chapter contains a summary andconclusions from the above research.1.3 ContributionsThe work described in this dissertation has provided several contributions to both thefield of legged locomotion and robot maneuvering experimentation in general. Themain contributions covered by this dissertation are the following:• Identified effective turning parameters and the most effective turning methodsfor several dynamic hexapedal robots. The parameter space is identified, andthe most influential individual parameters and combinations of parameters areidentified. Effective turning methods are created from subsets of these parameters.• Determined the maximum steady state turning rate for a dynamic hexapedal


4 CHAPTER 1. INTRODUCTIONrobot. Turn strategies are optimized for maximum turning performance withminimal complexity.• Characterized the dynamic responsiveness of dynamic hexapedal robots to turningcommands. The system dynamics are identified, finding the limits of theturning frequency and its sources.• Identified ways to exploit the transient effects of turn initiation. Transient turningproperties are identified and analyzed, resulting in methods to take advantageof these effects and get increased turning performance.


Chapter 2Biomimetic LocomotionWhat has already been done in terms of biomimetic locomotion research? To answerthis question, this chapter first introduces the idea of biomimetic locomotion. It thenincludes a discussion of turning in biology and in legged robots, along with a leggedrobot timeline. It closes with a review of the Sprawl robots.2.1 BackgroundMammals have been on our planet for around 200 million years, and insects andother invertebrates for over 400 million years [65]. During this time, there have beenconsiderable changes both to the planet and its occupants. The planet surface hasgone from molten lava to being almost completely covered in ice to being 70% coveredby water [6]. Along the way its inhabitants have adjusted and produced offspring thatcould adapt. Tracing back and trying to decipher how the planet’s current occupantscame to be is a natural history lesson. Throughout history, biology has either adaptedto find solutions or perished when facing obstacles to existence. Some animals haveused passive (albino bears, striped zebras, stick bugs) and active (chameleon, Arcticfox, cuttlefish) camouflage to deceive prey and predators. Others have developednew ways to use their appendages (lobsters, crabs) and specialized gaits (antelope,millipedes) to move about more effectively. In most cases, if you are thinking abouthow to accomplish a certain task, biology has likely already found some solution for5


6 CHAPTER 2. BIOMIMETIC LOCOMOTIONit. Thus, whenever an intelligent designer is faced with a problem, it would be ofgreat benefit to consider biological solutions as inspiration. This concept extends tothe field of robotics, and is the basis of biomimetics.Biomimetics is the development of synthetic systems based on information frombiological systems 3 . The principles have been applied to architecture, engineeringand art. In mechanical engineering design, and locomotion in particular, biomimeticsshould be an important factor in the design process.2.2 Biological Systems2.2.1 Legged LocomotionAn essential capability for terrestrial animals is locomotion, to locate food and water,to find partners for reproduction, and to escape from predators. And becausethe earth presents rough terrain at many different length scales, most animals willencounter terrain that, for them, is rough.Thus, while man-made approaches tolocomotion such as wheels or tank treads achieve remarkable speed and efficiency onrelatively smooth surfaces, it is estimated that nearly half of the world is unreachableby wheeled or tracked vehicles [56].A primary reason for the ineffectivenessof wheeled or tracked vehicles on all surfaces is their use of a continuous footholdfor support and traction (ie. rolling)[56]. Legs allow for isolated and discontinuoussupport, which broadens the reachable workspace.In addition to being ubiquitous, legged locomotion exhibits functional characteristicsthat remain similar across numerous species and length scales. When running,most legged animals, from ants to horses, employ a similar bouncing gait that canbe modeled as a ”spring-loaded inverted pendulum” (SLIP) [4, 12, 30]. The verticaland horizontal velocities exhibit a characteristic harmonic oscillation, indicating theperiodic exchange of kinetic, gravitational and elastic energy. On landing, the legsare used to convert kinetic to elastic potential energy, employing a combination of3 http://www.genpromag.com/Glossary∼LETTER∼B.html- (Genomics and Proteomics Magazine)


2.2. BIOLOGICAL SYSTEMS 7muscle and tendon as a spring-like system. This energy is partially recovered whenlifting off for the next step. The legs provide damping (energy dissipation) as well,helping to keep the system stable [31]. The compliance and damping in the limbs arecombined with reflexes to accommodate unplanned variations in the terrain.For small creatures, such as insects and arthropods, the legs are often sprawledoutward in the fore-aft and lateral directions. This ”sprawled posture” confers additionalstability with respect to unexpected disturbances. It also provides the animalswith exceptional maneuverability. With horizontal forces equaling or exceeding verticalforces, it becomes possible to execute very tight turns at high speeds.2.2.2 Legged TurningThere have been many studies by biologists to determine how different animals areable to turn as they move about. These start with the slower moving animals, whichare easier to study, and are often quasi-static. A sampling of these studies are summarizedin Table 2.1. Many of these findings have been integrated into the locomotionand turning of quasi-static robots (either consciously or by coincidence).Animal & motionBees turning [78]Cockroach (Blattellagermanica) courtship [29]Crayfish defensiveturning [21, 26]Method- changes in step amplitude and direction of drag- shorter duty cycles on the inside of turn, and longerones on the outside- using the rear inner leg as a pivot- using the rear outer leg as a pivot- having the legs on the inside of the turn to walkbackwards- changing frequency of stepping- changing magnitude of leg arcs- changing the length of stroke- use of step geometry rather than leg timingsTable 2.1: Turning methods used by several animals.Some groups have examined dynamic legged locomotion and turning in relation


8 CHAPTER 2. BIOMIMETIC LOCOMOTIONto size (scaling) and rotational inertia[11, 42, 76]. In these tests and examinations onanimals from theropod dinosaurs to humans to lizards and rodents, it was found thatlarger rotational inertia generally led to a slower turn radius and rate. Leg placementwas a common technique used to make turns over differing body sizes. This wasalso found to be the case in some studies on the cockroach (Blaberus discoidalisand Periplaneta americana)[9, 10, 38]. The cockroaches also tend to use changes indirection of leg motion and to modify leg forces to a slightly lesser degree. It was alsofound that preflexes and the compliance of the exoskeletal system helped to stabilizethe cockroach after a perturbation[39]. In an effort to characterize these findings,various models have been developed to describe the motion of these animals[61, 62,60].2.3 Robotic Systems2.3.1 Legged LocomotionIn terms of legged locomotion, there have been many highlights that have occurredover the years. Table 2.2 contains a summary of these events. From this brief summary,it can be seen that the progression of robotic legged locomotion is roughlysimilar to the evolution of biological legged locomotion, from mostly static to fullydynamic systems.In these legged robotic highlights, only recently has there been a proliferationof dynamic systems. The majority of the robots in the list fall into the static andquasi-static locomotion categories. Quasi-static locomotion is motion when the bodyis always in a statically stable configuration. Dynamic locomotion involves motionthat relies on potential and kinetic energy, and may involve an aerial phase. In asense, the body is continually falling in dynamic locomotion, and it takes advantageof this to obtain better performance than is available in quasi-static motion. Thetradeoff is that it can be less robust and is by definition more prone to falling since itis not continually statically stable. The transition between quasi-static and dynamiclocomotion occurs when kinetic energy begins to factor significantly into the motion.


2.3. ROBOTIC SYSTEMS 9Year Event1850 Chebyshev designed linkages for a walking mechanism1872 Muybridge uses photography to document running animals1893 Rygg patents a human-powered mechanical horse1920 Karel Capek introduces the word robot in the play R.U.R. -Rossum’s Universal Robots1937 Westinghouse creates ELEKTRO a human-like robot that could walk,talk, and smoke1945 Wallace patents a hopping tank with reaction wheels for stability1961 Space General creates an eight-legged kinematic machine that walks inoutdoor terrain1968 Frank and McGhee create the Phoney Pony1969 Bucyrus-Erie Co releases Big Muskie, a 15,000 ton walking draglineused for strip mining1977 McGhee and Gurfinkel, independently, use computers to control andcoordinate motions separate hexapedal walking machine1977 McMahon and Greene compliantly tune a track to enable human runnersto set new speed records1980 Hirose and Umetani create a quadruped machine that climbs stairs andover obstacles using simple sensors1980 Kato creates a hydraulic biped that uses a quasi-dynamic gait1981 Miura and Shimoyama create a walking biped that actively balancesin 3D space1984 Hodgins and Raibert create a dynamic biped (Biped) capable of upto 1.5-4.1m/s1986 Waldron and McGhee guide the Adaptive Suspension Vehicle (ASV) inits first steps on unpaved ground1994 Dante II explores the Mt. Spurr volcano in Alaska1997 Quinn and Ritzmann create Robot-III, a hexapedal robot basedon the cockroach1999 Sony begins to market and sale Aibo, entertainment quadruped2000 Cutkosky creates Sprawlita, a dynamic hexapedal robot2000 Koditschek and Buehler introduced the RHex, another dynamic hexapod2004 Cutkosky and Kim introduce iSprawl, capable of15 body-lengths/sec (2.3m/s)Table 2.2: Selected timeline of legged locomotion events


10 CHAPTER 2. BIOMIMETIC LOCOMOTIONThe majority of mammals use some form of dynamic locomotion. In termsof robotic legged locomotion, quasi-static locomotion is slowly giving way to moredynamic moving systems. Some of the first dynamic (and quasi-dynamic) robotswere either biped walkers or monopod jumpers, often constrained to a plane ofmotion[34, 66]. By being able to trot, the Raibert quadruped was the exceptionin 1984 [57]. Two of the first non-biped multi-legged robots (more than 4 legs) thatleft the quasi-static (walking) and quasi-dynamic (move-stabilize-move) regime wereRHex [8] and Sprawlita [14]. Thus, as dynamic legged locomotion remains a relativelynew field, there are still many areas which have not been fully or even partiallyexamined, from sensory feedback, to active gaits, to control and even turning andmaneuverability.2.3.2 Legged Robotic ManeuverabilityMost previous six-legged robots have relied on statically-stable walking strategies,where turns are achieved by specifying either the kinematic trajectory or the forceproduced by each leg such that the body turns as desired [49, 75]. In order for a walkingrobot to be statically stable, it must have its center of mass within the polygon ofsupport at all times [64]. Some robots have used compliance to their advantage to turnwith the combined use of slip and torques between body and leg segments[68]. TheSony AIBO has served as a good platform for legged locomotion studies, with somegroups using rectangular locus planes to create motion and tread-like turning[36].The Scout-I robot, used foot placement, via hip angles, to create turns[7], which issimilar to changes seen in cockroaches. Many of these robots have used biology as abasis for initial gaits, and built upon them. Some have also harnessed the power ofgenetic algorithms to train robots for more advanced walking and turning[55].RHex uses a timing (and indirectly force) based method to achieve turning, asseen in cockroaches and some other animals[38, 59]. The Scout-II robots use a moredirect force method, by changing the torques on the inside and outside of the turnwhile performing a bounding gait[54]. The Sprawlettes and iSprawl prefer a legplacement method, which is also often seen in nature, from ants to antelopes. The


2.4. REVIEW OF SPRAWL ROBOT FAMILY 11Sprawlettes have also been able to use turning in conjunction with a biomimeticantenna for wall following studies[22, 46]. Whegs and Mini-Whegs have been able toachieve dynamic turning via steering axes on the front ’whegs’[2, 53]. The Ohio Stategalloping quadruped project has harnessed the power of evolutionary algorithms tocreate dynamic turns in simulations[41]. The resulting turns show considerable bodyroll, an altered gait, and large forces on the inside legs (counter to hexapedal insectstudies [39]). The Stanford arm of this project has found that creating a velocitydifference between sides of the vehicle creates turns [74]. This can be accomplishedby using the first two footfalls of a cycle to create a short angular velocity, which iscountered by the last two footfalls of the cycle. Tsujita at Kyoto University has notedthe relationship of body inclination (roll) to dynamic turning and center of pressure(COP) for dynamic legged quadrupeds[69].In an effort to summarize turning behavior, the horizontal plane dynamics havebeen characterized in the lateral leg spring (LLS) model[60, 63]. Other analyses haverevealed valuable metrics to compare maneuverability between various animals androbots[32]. Some of these models along with the information from studies on naturehave served as inspiration for maneuverability investigations on dynamic leggedrobots.Many-legged (ie. non-bipedal) dynamic locomotion is still a young research area,so as it continues to advance, studies into maneuverability will continue also. The followingsection details the progress of the Sprawl legged robotic project, and highlightsmembers that were used to advance the study of dynamic legged maneuverability.2.4 Review of Sprawl Robot FamilyThe Sprawl project began in 1999, as a grant #N00014-98-1-0669 from Office of NavalResearch. In July of 1999, Sprawl 1.0 (see Figure 2.1a) was produced by Cham, Baileyand Cutkosky. Sprawl 1.0 was intended to be a reconfigurable hexapod platform toexperiment with basic gaits, leg placement and configuration. It contained 12 degreesof freedom (DOF) via extension and angle parameters for each of the six legs. It wasinspired by the cockroach Blaberus discoidalis, along with knowledge of how nature


12 CHAPTER 2. BIOMIMETIC LOCOMOTIONuses compliance to attain better performance[48, 67, 71, 72]. The robot used lowfrictionpneumatic pistons 4 for axial extension of the legs and radio-control (RC) servomotors for rotations at the hips. The pneumatic pistons were operated at a low enoughpressure that there was compliance in the axial direction; the RC servo motors used aproportional control and were sufficiently back-drivable that they provided rotationalcompliance at the hips. Despite these features, Sprawl moved clumsily, staggeringmore than trotting. Knowledge gained from experiments on Sprawl 1.0 gave insightfor the design of Mini-Sprawl and Sprawlita.Mini-Sprawl is largely similar to Sprawl 1.0, but at a more favorable scale for thetorque available from RC servos (approximately 10cm long and 0.3Kg mass). Thereduced weight also reduced the effect of the servo compliance, so elastic leg couplingswere used for additional rotational compliance. Rudimentary feet were also developedto add some linear leg compliance. The combined knowledge from Sprawl 1.0 andMini-Sprawl led to the development of Sprawlita with the aid of the Shape DepositionManufacturing (SDM) process [77].SDM is a layered manufacturing process that allows a wide range of design andbuild possibilities including multi-material parts, embedded components, and unibodyparts (ie. a single integrated part with no assembly). One of the key aspectsin the design of Sprawlita, is the use of legs with a single actuated degree of freedomfor normal running. In Sprawlita, small pneumatic pistons provide actuationalong the axis of the leg, approximating the thrust provided by cockroach legs. Passiverotational joints at the hips allow the legs to swing back and forth with eachstep. They also accomplish a combination of braking and acceleration as they storeand return energy. This combination of active thrusting and passive hip rotationallows Sprawlita to approximate the spring-loaded inverted pendulum (SLIP) behaviorobserved in running animals. Because the body and the legs were made usingSDM processes, there was more uniformity between legs than in Sprawl and Mini-Sprawl[14]. Like Sprawl and Mini-Sprawl, Sprawlita used exclusively an alternatingtripod gait, as used by running insects [43]. Building on the lessons from Sprawl andMini-Sprawl, Sprawlita was able to run up to 2.5 body lengths per second (bl/s) and4 Airpel Anti-Stiction Pneumatic pistons - http://www.airpot.com/beta/html/airpel.html


2.4. REVIEW OF SPRAWL ROBOT FAMILY 13to traverse obstacles of up to 2 cm high without significantly slowing down. Aftertesting Sprawlita, an effort to improve the performance was embarked upon, resultingin the Sprawlettes.The first members of the Sprawl family were made as one-of-a-kind systems; theSprawlettes were made as a batch of 10 identical robots, taking advantage of theability of SDM to create arrays of parts on a single pallet. The author of this thesiswas directly involved in the design and operation of the Sprawlettes (see AppendixA for documentation on the operation of the Sprawlettes). Design improvementsincluded:• individual leg servos, for setting the equilibrium angle of each leg (the swing ofeach leg during stride was still accomplished passively),• an embedded circuit board, to reduce wiring and connectors and improve reliability,• individual leg valves to permit various gaits to be utilized,• an on-board air reservoir to reduce problems with transient air flow rate whensupplying air through a long, thin hose,• interchangeable ”plug in” flexures for the rotational hip joints that could easilybe exchanged to modify the hip compliance,• on-board LEDs to give a visual indication of valve actuation.After the Sprawlettes were produced, there was a push to increase autonomy. Thefirst effort to make the robots more autonomous was to move all of the electronicson board. A PIC-based BASIC Stamp was used as the simple brains of one of theSprawlette robots, resulting in Porta-Sprawl [20]. With a portable compressed airtank and a thin hose, Porta-Sprawl could go for walks of a few minutes outside thelab. A wireless RF link was added to allow remote control, including turning andsome demonstration routines that displayed the effects of different gaits.The first fully autonomous member of Sprawl family was Aqua-Sprawl. It wasbuilt around a master/slave hydraulic piston system. Shortly thereafter, iSprawl


14 CHAPTER 2. BIOMIMETIC LOCOMOTIONbegan to take form. In its final design, iSprawl substituted a DC motor and a slidercrankmechanism with push-pull cables for the valves and pistons of the previousSprawl robots[40]. This development eliminated the need for compressed air andallowed the robot to run entirely on rechargeable lithium polymer batteries. Standardremote control products were used to control the speed of the main motor drivingthe slider-crank mechanism and the small RC servo motors that adjusted the legequilibrium angles (for accommodating slopes and for steering). New low-inertiacompliant legs were also designed.Sprawlita, the Sprawlettes and iSprawl have all been studied and tuned to improveperformance [19]. In most cases, the measures of performance focused on maximumvelocity and the open-loop stability, as defined in terms of running smoothly overobstacles without evident pitching or nose-diving [20] and with steady-state periodonelocomotion from an open-loop actuation signal [3, 15, 16]. Maneuvering has notbeen a focus of previous investigations. However, the ability to turn is clearly essential.Furthermore, one of the potential advantages of the Sprawl family, with its wide stanceand sprawled posture with front legs angled forward and rear legs angled backward,is that rapid turning should be possible due to the relatively large horizontal forcecomponents. Two members of the Sprawl family were selected for the majority of themaneuverability investigations, with another receiving some limited attention also.These were all selected based on the availability of parameters to affect turning. TheSprawlettes have the greatest versatility, allowing for individual control of all legangles, duty cycles and timings. iSprawl offers unparalleled speed performance, andeasy middle leg angle control (with potential extension for control of all leg angles).These robots form the base for the majority of the maneuverability studies. Theother Sprawl family robot with access to useful maneuverability parameters is Porta-Sprawl, which can individually control duty cycle and timing for all legs, but wasan intermediate step to iSprawl, and thus does not come close to matching iSprawl’sperformance.Now that there is a greater knowledge of the field of dynamic legged robots, we cantake a first step in evaluating the maneuverability of the Sprawl robots. It is desirableto know which of the various controllable parameters had the greatest effect, singly


2.4. REVIEW OF SPRAWL ROBOT FAMILY 15a. b. c.d. e.f. g.Figure 2.1: Family of Sprawl robots( followed by approximate length [cm] and speed[cm/s]) a. Sprawl 1.0 (40cm, 2cm/s), b. Mini-Sprawl (10cm, 4cm/s), c. Sprawlita(15cm, 40cm/s), d. Sprawlettes (14cm, 65cm/s), e. Porta-Sprawl (15cm, 80cm/s), f.Aqua-Sprawl (16cm, 5cm/s), g. iSprawl (15cm, 230cm/s).and in combination, on the ability to execute turns. To this end, an empirical Designof Experiments approach was undertaken, as described in the following chapter.


Chapter 3Design of ExperimentsWhat parameters have the greatest effect on turning rate and radius of the the Sprawlrobots? What are these parameter effects singly and in combination? Seeking toanswer these questions, this chapter describes the systematic approach to the investigationof maneuverability for a feed-forward hexapedal robot. Because of thenumerous degrees of freedom, DOE principles were applied to streamline testing andmaximize results. This involved testing procedures such as Taguchi methods andLatin squares, and analysis by multi-dimensional ANOVA. The results reveal whichparameters could be used most effectively to produce turning. In subsequent chapters,the actual use of these parameters is optimized for performance and ease ofimplementation.3.1 Robot Design and Turning ParametersThe basic design of the Sprawl robots is shown in Figure 3.1 and consists of a body andlegs built up in layers by a process called Shape Deposition Manufacturing (SDM)[17].Each leg has two degrees of freedom. The first is in the thrust direction and isaccomplished by linear pneumatic actuators embedded in the leg. The second degreeof freedom is passive and consists of a visco-elastic element that allows rotation mostlyin the sagittal plane. This leg design is inspired by the trochanter-femur joint incockroaches, which is believed to be mostly passive in the sagittal plane. Each leg is16


3.1. ROBOT DESIGN AND TURNING PARAMETERS 17attached to one of six servo motors embedded in the body of the robot. Movementof the servo motors orients the equilibrium position of the compliant hip joints inincrements of 0.8 degrees in the sagittal plane. For straight-ahead running, the legsare arranged in a sprawled posture, as shown in Figure 3.1.This arrangement isalso based on studies of the cockroach, which show that front, middle and hind legsperform very different functions in term of acceleration and deceleration [14]. On theSprawlettes, each leg is controlled by a small solenoid valve, which regulates air to thepiston from a high-pressure source, causing the leg to extend or retract. Locomotionis achieved by alternately activating the valves of each tripod of legs according to asimple binary motor pattern. This motor pattern dictates the frequency and dutycycle with which the valves are activated. Thus, the parameters of the open-loopconfiguration of the system are the leg angles (LA), as determined by the position ofthe servo motors, and the relative phase and duration (or duty cycle, DC) of activationof the valves. Since all these parameters can be altered independently for each leg,there are 18 leg configuration parameters in total (the stride period Compliant is an Sagittal additionalfull body variable, for 19 in all). For additional details on the hardware and softwareoperation of the Sprawlettes, see Appendix A.Perspective ViewRearCompliant SagittalRotary JointFrontLinearActuatorsSample legPerspective ViewRotary Jointthe horizontal plane becomes the principle method to createa turn. A successful LinearSample legturn can be defined as a change inActuatorsheading (the direction of the velocity of the center ofmass), along with a coincident change in the direction ofSide Viewthe fore-aft Leg axis. Angles This can be achieved Decreased an appropriate Leg Angles forceand moment 40 about the center of mass (COM). In theo 25 o 0 oRearSprawl robots, there are many parameters that can beFrontRearFrontaltered that create non-zero turning moments, such asstride period, gait pattern, duty cycles, and leg angles.Basically, any change that causes non-symmetric forceswill create a turn, but some changes are more effectivethan others.Side ViewFigure 2. Basic design of the Sprawlette robots. BesidesLeg AnglesDecreased Leg Angleschanges In in order the activation to reduce signal the parameter sent to the search pistons, space, the leg only leg40 o 25 o 0 o angles angles can also and be duty changed cycles in the were sagittal investigated, plane to effect using turns. a standardReartripod gait. In order to change the turning moment, theFrontRearFrontEach force leg in output turn holds at the a feet the valve can change and a pneumatic magnitude piston or be relocatedused to for have thrusting Turning asymmetry (see can Figure about be 2). the The longitudinal achieved rotation of body by the axis.that iships, As which discussed sets the in nominal the previous angle section, of the hip these flexures are the (here ways incalled which “leg angles”) the cockroach can be turns. actively set through the controlof the servo motors.Figure 2. Basic design of the Sprawlette robots. Besides The parameter space is narrowed to leg angles and dutychanges in the activation signal sent to the pistons, the leg Locomotion cycles, which is achieved present by 3 independent using the contralateral configuration legpaths.angles can also be changed in the sagittal plane to effect turns. pairs These for varying paths functions, represent the according basic methods to the leg that angles can set be usedby the to servos. create a The turning front moment legs are from used these to decelerate parameters. theFirst,Each leg in turn holds a the valve and a pneumatic piston body the and duty ensure cycle that can obstacles be increased can be for traversed. one tripod The of legs rear(rightthat is used for thrusting (see Figure 2). The rotation of the legs are front, used left primarily middle and to accelerate right rear the or body. vice versa). The middle Likewisehips, which sets the nominal angle of the hip flexures (here legs also the duty contribute cycle to can acceleration be reduced and for add the to tripod the stability in a similarcalled “leg angles”) can be actively set through the control of the manner. robot. Each In another tripod configuration of legs is actuated path by to compressed turning, the dutyof the servo motors.air that cycle is released of ipsilateral into the (same pistons side) by legs the valves, can be causing increased orFigure 3.1: Basic design of the Sprawlette robots. The sprawled leg posture contributesto stable locomotion. Each leg contains a rotationally compliant joint, whichalso helps with stability and disturbance rejection.changes in the activation signal sent to the pistons, and by changes to the leg angles.RearFrontthe horizontaate a turn. Aheading (themass), alongthe fore-aft aand momentSprawl roboaltered thatstride periodBasically, anwill create athan others.In order toangles and dutripod gait. Iforce outputcated to haveAs discussedwhich the coThe paramcycles, whicThese pathsto create a tuthe duty cyclfront, left mthe duty cycmanner. In acycle of ipsidecreased. Treducing thetigation, the elateral legs, wfront, middleand nominalchanges werpossibilities.


18 CHAPTER 3. DESIGN OF EXPERIMENTS3.2 Initial Reduction of ParametersThe following experiments were performed on the Sprawlette robot and also in theMSC ADAMS simulation package for comparison. The Sprawlette model evolved froma thorough model of Sprawlita created in ADAMS by Jonathan Clark[20]. It has arigid body with six legs, each modeled as a prismatic actuator attach to the body bya compliant revolute joint. A more detailed description of the ADAMS model followsin Chapter 4. For simplicity, we first limited the parameter set to 12 by imposinga strict alternating tripod gait in which there is no phase difference in activationbetween the legs that make up each tripod. Thus, the remaining parameters were theangles and the duty cycles of each leg.Individual Ipsilateral Contralateral DiagonalFigure 3.2: Individual legs and pair combinations (ipsilateral, contralateral, diagonal)were the basic groups tested in the parameter reduction investigation.Initial experiments were performed to determine the configuration parameters thathave the greatestOne effect Control turning. Parameter PermutationsIntersectionchanges in leg angle and dutycycle were investigated for individual legs and for coordinated changes between pairsof legs. Legs were paired contralaterally (opposite sides), ipsilaterally (same side),and by diagonal pairs (see Figure 3.2) to determine their turning effect. These initialtests revealed that ipsilateral leg angle changes were the single most effective way tocreate turns. More specifically, the tests showed that changes to the inside front andrear leg angles were most significant. Before becoming overwhelmed with parameters,some triplets of parameters were tested for effectiveness. These included ipsilateralleg angle changes, tripod leg angle changes, ipsilateral duty cycle changes and tripodduty cycles. In these tests, the Sprawlette turn settings were set, then the robot


3.3. TAGUCHI L9, LATIN SQUARES 19was allowed to run for 3 sec. Using overhead video capture, the change in headingwas measured by tracking illuminated beacons on the body (see Figure 3.3 5 ). It wasquickly realized that leg angle tripod changes can easily create interference problemswith other legs during locomotion, and this method was not further pursued. Theremaining turn method results can be seen in Figure 3.4. In these tests, it became clearthat decreasing ipsilateral leg angles and increasing ipsilateral duty cycle changes weresome of the most effective methods. It was also found that these changes can producesome nonlinear responses. Based on these initial tests, the most promising methodswere subjected to further design of experiment tests to better gauge effectiveness andinteraction.Figure 3.3: Two overlaid frames (position of the body at the START and after thebody has come to a STOP) of image data are used to track the body motion overa 3 sec test. Illuminated beacons were placed at the fore and aft of the robot, andthe camera was adjusted to filter the majority of other light. After processing, thebody beacons are circled (LIGHT BLUE), and the approximate path and radius ofcurvature were calculated using Least Squares (RED), Chord Intersection (YELLOW)and by Circle Averaging (DARK BLUE) (using 3 of the 4 points to create 4 differentcircles).


20 CHAPTER 3. DESIGN OF EXPERIMENTSHeading [deg]3002001000−100Sprawlette Heading for Gait ChangesLA Ips LeftLA Ips RightDC Ips LeftDC Ips RightDC Tri LeftDC Tri Right−200−300−35 −30 −25 −20 −15 −10 −05 Str +05 +10 +15 +20 +25 +30 +35LA−xx [deg]DC+xx/DC−xx [%]Figure 3.4: Initial Sprawlette tests of ipsilateral leg angle changes and duty cyclechanges of ipsilateral and tripod legs. Leg angles were decreased from nominal valueof 00/25/40 deg (for front/mid/rear), causing the top of the leg to rotate towardthe front of the body. Leg angle increases were not tested because these changescause stability problems and nose-diving. Duty cycle values were both increased anddecreased from the nominal value of 35%, using both tripod and ipsilateral groupings.Note: LA=leg angle, DC=duty cycle, IPS=ipsilateral, TRI=tripod.3.3 Taguchi L9, Latin squaresMany experimental design techniques have been devised to minimize the number oftests needed to evaluate the influences of factors on an outcome. Rather than testing afull factorial (all possible combinations of x i parameters, each with v i different levels,see Figure 3.5), partial factorials (testing a subset of the full factorial, see Figure 3.6)can be used to infer the effects and interactions.Subsets of the full factorial canbe chosen and analyzed in many different ways, depending on the case particularsand concerns of the testing[5, 52]. One such economical methodology is known asthe Taguchi approach and is used as a quality building tool in many manufacturing5 See http://bdml.stanford.edu/twiki/pub/Main/RisePublications/McClung Thesis.pdf for acolor PDF copy of this thesis.


3.3. TAGUCHI L9, LATIN SQUARES 21Test No. Factor 1 Factor 2 Factor 3 Factor 4 Abbreviated Name1 0 0 0 0 00002 0 1 1 1 01113 0 2 2 2 02224 1 0 1 2 10125 1 1 2 0 11206 1 2 0 1 12017 2 0 2 1 20218 2 1 0 2 21029 2 2 1 0 2210Table 3.1: Standard Taguchi L9 design. A Taguchi L9 can be used in experimentswith 4 parameters and 3 levels, 3 4 . This partial factorial uses 9 of the possible 81parameter combinations in the full factorial to give insight into influences on theselected output. Note: 0 = Nominal, 1 = LO magnitude change, 2 = HI magnitudechange.designs[24, 58]. The system of interest in this case is the turning behavior of theSprawlette robots. Initial testing has indicated that the behavior of some parametersis non-linear (see Figure 3.4). For this reason, 3 levels of parameters were used tocharacterize the effects and account for non-linear effects. The parameters that wereof particular interest with respect to turning were the leg angles, leg duty cycle, strideperiod and friction. Taguchi methods indicate that a L9 factorial should be used with4 parameters at 3 levels each. The L9 design utilizes a nominal, low and high levelfor each parameter to better characterize non-linear effects and interactions. Thestandard L9 test design is seen in Table 3.1.The selection of parameter levels in DOE experiments is an important part ofthe experiment, as these levels influence the outcome. For this investigation, theL9 matrix was approached from 3 directions with regards to the duty cycle. In thefirst method, the duty cycle levels were based on decreasing the duty cycle from thenominal value, ie. 35% → 20% → 5%. In the second approach, the duty cycle wasvaried over the majority of its feasible workspace (ie. min to max acceptable values),ie. 5% → 35% → 65%. (Note: Values significantly larger than 65% are similar to a


22 CHAPTER 3. DESIGN OF EXPERIMENTSFigure 3.5: Full Factorial. An experiment set with 3 parameters and 2 levels, 2 3 ,has 8 combinations, denoted by the corners of a cube. A full factorial would test all8 combinations, and can be used to determine all individual, two-way combinationsand three-way combinations of the factors. Many of the same results can be achievedwith a partial factorial, as seen in Figure 3.6.continually extended leg) The third approach is similar to the first approach, exceptthat the duty cycle levels are based on increases, ie. 35% → 50% → 65%. Theremaining 3 parameters were all investigated in similar fashions. The nominal legangles were set at 0 o for front legs, 25 o for middle legs and 40 o for rear legs, basedon default values derived to optimize velocity and stability in previous studies. Theleg angles were always rotated in a negative fashion from 0 to 15 to 30 degrees fromthe nominal settings (see bottom of Figure 3.1). (Note: Positive rotation is definedas causing the top of the leg to move toward the front of the body, usually resultingin velocity increase, up to a point of instability and nose-diving.) The nominal strideperiod of the robot was set at 130ms (default running value), and altered to 115 msand 100ms for low (LO) and high (HI) magnitude levels of change, respectively. In theADAMS simulations, the friction coefficient has been estimated to be 0.9 by JonathanClark[18]. This value was altered to be 0.85 and 0.75 for LO and HI parameter changelevels, respectively. Using the aforementioned test parameter levels results in the testmatrices seen in Tables 3.2 and 3.3.The 3 test groups that are shown in Tables 3.2 and 3.3 were performed on theSprawlette robot (body #2) and in ADAMS simulations. The experiments that were


3.3. TAGUCHI L9, LATIN SQUARES 23Tag. Test Fric LA DC SP0000 0.9 NLA See Table 3.3 row #1 1300111 0.9 NLA-15 See Table 3.3 row #2 1150222 0.9 NLA-30 See Table 3.3 row #3 1001012 0.85 NLA See Table 3.3 row #4 1001120 0.85 NLA-15 See Table 3.3 row #5 1301201 0.85 NLA-30 See Table 3.3 row #6 1152021 0.75 NLA See Table 3.3 row #7 1152102 0.75 NLA-15 See Table 3.3 row #8 1002210 0.75 NLA-30 See Table 3.3 row #9 130Table 3.2: Taguchi setup for 3 L9 approaches. The factors of interest for turningexperimentation are friction (Fric), leg angles (LA, nominal leg angle = NLA), dutycycle (DC) and stride period (SP). The duty cycle was altered in 3 different ways,resulting in 3 rounds of L9 testing (27 separate tests). The duty cycle changes areexplained further in Table 3.3.Test No. 1st Tag. (E) 2nd Tag. (F) 3rd Tag. (G)1 NDC NDC-30% NDC2 NDC-15% NDC NDC+15%3 NDC-30% NDC+30% NDC+30%4 NDC-15% NDC NDC+15%5 NDC-30% NDC+30% NDC+30%6 NDC NDC-30% NDC7 NDC-30% NDC+30% NDC+30%8 NDC NDC-30% NDC9 NDC-15% NDC NDC+15%Table 3.3: Since duty cycle change was previously less studied and understood, andits default value was near the middle of its effective range, three methods were usedfor changing the duty cycle. 1) The duty cycle was decreased from its nominal valueof 35% (E), 2) the duty was altered through its full usable range 5-65% (F), 3) theduty cycle was increased from its nominal value (G). Each column (E,F,G) was usedin one round of Taguchi L9 testing described in Table 3.2. Note: DC = duty cycle,NDC = nominal duty cycle


24 CHAPTER 3. DESIGN OF EXPERIMENTSFigure 3.6: Partial Factorial. A partial factorial only tests a certain subset of thefull factorial. In the half-factorial seen here, tests at the four marked corners of thecube can be used to determine individual, two-way combinations, and some threewaycombinations of the factors. The projections of these points show how data onall of the two-way combinations can be gathered by intelligent testing. Individualand some three-way combinations are available directly from these four tests, whiletwo-way interactions require minor processing.performed on the robot did not include friction changes, and thus it was treated as adummy variable. For each factor the sum of squares was calculated using the form:SS factor = ( ∑ ( ∑ fl i ) 2n i) − (∑ atl) 2N , (3.1)where fl i =all tests at factor level i, n i =number of tests at factor level i, atl=all tests(any level), N=number of tests. These results can be extended to interactions[58][24], but since individual effects are of primary interest here, this analysis is discussedin the next round of more focused testing. The results from sum of squares for factorsanalysis was normalized and can be seen in Figure 3.7. The experiments performedin ADAMS were included for means of comparison, and a more detailed descriptionof the simulation model and further simulation investigations are in Chapter 4.


3.3. TAGUCHI L9, LATIN SQUARES 25Sum of Squares − Sprawlette Tests 8eSum of Squares − Tag L9 8e10.90.80.70.60.50.40.30.20.10Leg Angle Duty Cycle Stride Period1)10.90.80.70.60.50.40.30.20.10Leg Angle Duty Cycle Stride Period2)10.90.80.70.60.50.40.30.20.1Sum of Squares − Sprawlette Tests 8fSum of Squares − Sprawlette Tests 8g0Leg Angle Duty Cycle Stride Period3)10.90.80.70.60.50.40.30.20.10Friction Leg Angle Duty Cycle Stride Period4)10.90.80.70.60.50.40.30.20.1Sum of Squares − Tag L9 8f0Friction Leg Angle Duty Cycle Stride Period5)10.90.80.70.60.50.40.30.20.1Sum of Squares − Tag L9 8g0Friction Leg Angle Duty Cycle Stride Period6)Figure 3.7: Sum of Squares Analysis. 1)-3) Sprawlette robot tests on the right, 4)-6) ADAMS simulations on the left. Tests labeled ‘e’ (1,4), ‘f’ (2,5), and ‘g’ (3,6),respectively correspond to the 1st, 2nd, and 3rd Taguchi setups listed in Tables 3.2and 3.3. Leg angles are the single most effective factor in every test. Duty cycleis a distant 2nd in several tests. These two factors were further investigated forinteraction.


26 CHAPTER 3. DESIGN OF EXPERIMENTSFrom the sum of squares analysis seen in Figure 3.7, we see that there is considerabletrend agreement, even though the magnitudes vary between the experiments.In test E (DC decreases), the leg angles dominated, followed by the duty cycle, thenstride period. For the ADAMS simulations, friction ranked slightly higher than strideperiod. For test F (full range DC changes), the leg angles again dominated, followedby stride period and then duty cycle. The friction effects were between duty cycle andstride period rankings in the ADAMS simulation. The reduced influence of the dutycycle in these tests may be attributed to the non-linear response of DC changes. Inthe ADAMS simulation for test G (DC increases), the leg angles dominated followedby duty cycle, friction and stride period, respectively. On the robot experimentsin test G, the leg angles dominated, followed by stride period, and then duty cyclechanges. This discrepancy in duty cycle and stride period rankings could be the effectof the tether, which can induce a force that may not be overcome by the turn rateachievable by duty cycle changes. Most important overall, both experiments showthat the leg angle changes have the greatest influence, and test E also shows thatduty cycle can have a large impact on the maneuverability. Thus, these two factorswere promoted for further investigation.The data was also examined by other standard Taguchi analysis and plottingtechniques. The simulations were analyzed using an Excel Design of Experiments(DoE) plug-in known as Matrex 6 . This package extracts the main effects of thefactors from L9 test data. The monotonic and non-monotonic nature of the factorscan be seen in Figures 3.8 and 3.9.In these figures, the vertical axis shows the strength of the turning response. TheMatrex DoE analysis agrees with the results from the sum of squares technique. Theleg angle changes are seen to have a major effect in all tests. Test E (DC decrease)shows that both leg angle and duty cycle have significant effects, though they arenot complementary. Friction and duty cycle are shown to have non-monotonic effectsin this test, possibly suggesting non-optimal settings. Test G (DC increase)shows complementary leg angle and duty cycle behavior, which may indicate positiveinteraction. By identifying factors with smaller influences on output, more focused6 http://www.rsd-associates.com/matrex.htm


3.3. TAGUCHI L9, LATIN SQUARES 27Taguchi L9#8e : Effects Plot for A|B|C|DTaguchi L9#8f : Effects Plot for A|B|C|D350303030a)Average Heading Response [deg]3002502001501000.90.850.7501535Factor Levels205130115FrictionLeg AngleDuty CycleStride Period100b)Average Heading Response [deg]20100−10−20−30−40−50−600.90.850.750155Factor Levels3565FrictionLeg AngleDuty CycleStride Period130115100Figure 3.8: Taguchi L9. Setups 8e (a) and 8f (b) correspond to the 1st and 2ndTaguchi test setups seen in Tables 3.2 and 3.3. In both cases, the leg angles showedthe greatest response, and also the only consistently monotonic response.Taguchi L9#8g : Effects Plot for A|B|C|DAverage Heading Response [deg]2502001501000.90.850.7515303550FrictionLeg AngleDuty CycleStride Period65130115100500Factor LevelsFigure 3.9: Taguchi L9. Setup 8g corresponds to the 3rd Taguchi test setup fromTables 3.2 and 3.3. The leg angles showed the greatest response compared to theother parameters.


28 CHAPTER 3. DESIGN OF EXPERIMENTSTag. Test #1 LA Ips DC Ips - Tag. Test #3 LA Ips DC Tri -00 NLA NDC 00 NLA NDC01 NLA NDC-30% 01 NLA NDC-30%10 NLA-30 NDC 10 NLA-30 NDC11 NLA-30 NDC-30% 11 NLA-30 NDC-30%Tag. Test #2 LA Ips DC Ips + Tag. Test #4 LA Ips DC Tri +00 NLA NDC 00 NLA NDC01 NLA NDC+30% 01 NLA NDC+30%10 NLA+30 NDC 10 NLA+30 NDC11 NLA+30 NDC+30% 11 NLA+30 NDC+30%Table 3.4: Taguchi setup for 4 L4 designs. A more focused set of tests investigatedthe interaction of ipsilateral leg angle changes and duty cycle changes. Note: NLA= nominal leg angle, NDC = nominal duty cycle, LA = leg angle, Ips = ipsilateral(same side).tests can occur on the most promising factors. All indicators point to leg angles asan important factor for turning, with duty cycle changes also having some influence.These were further investigated for interaction using Taguchi L4 tests.3.4 Focused Taguchi L4Since ipsilateral leg angle (LA Ips) changes were determined to be the most effectivesingle parameter for turning, a more focused set of tests were performed to examinetheir interactions with other parameters. The interactions were examined by justaltering 2 parameters at a time. The Taguchi L4 setup is a factorial for 2 parameterswith 2 levels that can be used to examine these interactions. Different methods ofchanging parameters were again used as separate parameters to generate 4 ways ofinvestigating the interaction between ipsilateral leg angle changes and duty cycle.The duty cycle was altered by ipsilateral and tripod leg groups for both increases anddecreases from the nominal values to reveal the 4 L4 Taguchi groups seen in Table3.4.


3.4. FOCUSED TAGUCHI L4 291Taguchi L4 LA & DCi−1Taguchi L4 LA & DCi+1Taguchi L4 LA & DCi−1Taguchi L4 LA & DCi+0.50.50.50.50Leg AngleDuty Cycle0Leg AngleDuty Cycle0Leg AngleDuty Cycle0Leg AngleDuty Cycle1Taguchi L4 LA & DCt−1Taguchi L4 LA & DCt+1Taguchi L4 LA & DCt−1Taguchi L4 LA & DCt+0.50.50.50.5a)0Leg AngleDuty Cycle0Leg AngleDuty Cycleb)0Leg AngleDuty Cycle0Leg AngleDuty CycleFigure 3.10: Taguchi L4 Sum of Squares Analysis For both a) Sprawlette robot & b)ADAMS model: LEFT TOP = LA and DC Ips decreases, RIGHT TOP = LA andDC Ips increase, LEFT BOTTOM = LA and DC Tri decreases, RIGHT BOTTOM= LA and DC Tri increases. The leg angle changes have the greatest effect in allinstances. Note: LA=leg angles, DC=duty cycle, Ips=ipsilateral, Tri=tripod.The experiments outlined in Table 3.4 were carried out in both ADAMS simulationand in Sprawlette experiments. Again the results were analyzed by both the sum ofsquares method and using Matrex DoE package. The normalized sum of squaresanalysis shows the strength of the response to the variable changes in Figure 3.10.In all of the tests, it is apparent that the leg angles are the dominant factor. Theipsilateral duty cycle increases also show a consistent noticeable impact. The Matrexanalysis can be used to more clearly show the responses and interactions between theleg angle and various duty cycle methods.For the Taguchi L4 tests on 2 factors, the Matrex DoE analysis package can calculateboth the main effects and the interactions. This analysis involves groupingtests with similar factor levels for comparison. In Figures 3.11, 3.12, 3.13 and 3.14,the main effects are on the left plot and the interaction effects are on the right sideplot. The interaction plots can be used to identify how variables combine to yielda response. Parallel lines mean that there is no interaction, and the effects of independentlychanging each factor can be combined to give a summed output response.Non-parallel lines in an intersection plot indicate that the factors exhibit some form


30 CHAPTER 3. DESIGN OF EXPERIMENTSa)Average Heading Response [deg]22020018016014012010080604020Taguchi L4#1 : Main EffectsA+B−B+A−Factor Levelsb)Average Heading Response [deg]Taguchi L4#1 : Interactions300B=35250200150B=5100B=5500 B=350 30Levels of Factor AFigure 3.11: Taguchi L4#1 : Duty Cycle Ipsilateral Decrease The leg angle has thelargest impact and is confounded by DC ipsilateral decreases. [Factor A = LA, FactorB = DC]. Note: a)Individual factor effects, b) Factor interaction effects.Taguchi L4#2 : Main EffectsTaguchi L4#2 : InteractionsAverage Heading Response [deg]350300250200150100A+B−B+Average Heading Response [deg]40035030025020015010050B=65B=65B=3550A−0B=35a)Factor Levelsb)0 30Levels of Factor AFigure 3.12: Taguchi L4#2 : Duty Cycle Ipsilateral Increase The leg angle has thelargest impact and has little to no interaction with DC ipsilateral increases. [FactorA = LA, Factor B = DC]. Note: a)Individual factor effects, b) Factor interactioneffects.


3.4. FOCUSED TAGUCHI L4 31250Taguchi L4#3 : Main EffectsA+300Taguchi L4#3 : InteractionsB=35Average Heading Response [deg]20015010050B−B+Average Heading Response [deg]25020015010050B=5B=50A−0B=35a)Factor Levelsb)0 30Levels of Factor AFigure 3.13: Taguchi L4#3 : Duty Cycle Tripod Decrease The leg angle has thelargest impact and is confounded by DC tripod decreases. [Factor A = LA, Factor B= DC]. Note: a)Individual factor effects, b) Factor interaction effects.a)Average Heading Response [deg]250200150100500Taguchi L4#4 : Main EffectsA+B−B+A−Factor Levelsb)Average Heading Response [deg]300250200150100500Taguchi L4#4 : InteractionsB=35B=65B=65B=350 30Levels of Factor AFigure 3.14: Taguchi L4#4 : Duty Cycle Tripod Increase The leg angle has the largestimpact and is confounded by DC tripod increases. [Factor A = LA, Factor B = DC].Note: a)Individual factor effects, b) Factor interaction effects.


32 CHAPTER 3. DESIGN OF EXPERIMENTSof interaction. Intersecting lines indicate that the factors can have confounding effectswhen altered together.In Taguchi L4 tests #1, #3 and #4 (Figures 3.11, 3.13, and 3.14, respectively),the interaction plots have intersecting lines, which indicates the combination of theseparameters will yield a response that is less than sum of the two parameters individually.In Taguchi L4 test #2 (Figure 3.12), the lines are near parallel, indicating thatthey have a combined effect that produces responses at or near the sum of the twoparameters individually. This means that the effects of changing the ipsilateral legangles and increasing the ipsilateral duty cycles on the legs on the inside of the turnwill not degrade the response of each other. Thus, they could be used in conjunctionto produce a maneuver without a counteractive effect between variables.The use of design of experiment techniques, and Taguchi methods in particular,has helped to identify the key factors in creating turning maneuvers. These methodsfirst helped to identify the most influential factors, namely the leg angle and dutycycle changes. The second stage of the investigation used DoE methods to drawconclusions about the interaction of the significant factors. It was found that bycombining ipsilateral leg angle changes with increased ipsilateral duty cycle changes,the response would not be compromised, and greater turning can be achieved. DoEtechniques were very useful in the determination of the parameter effects, as a fullfactorial test would have been very time consuming.Now that ipsilateral leg angle changes have been identified as the single mosteffective way to influence turning, a more focused look into implementation can occur.In hexapods, ipsilateral leg angle changes yield three parameters that can be alteredin a myriad of ways. For example, all three could change by a fixed magnitude orpercent, or two could be coupled while moving the third separately, or all three couldchange independently and unrelated. The ways of changing these three ipsilaterallegs is investigated in the following chapter.


Chapter 4SimulationHow fast can the Sprawl robots turn? What limits their performance and why? Toanswer these questions, this chapter introduces the models that were developed forsimulation environments to study the motion of legged robots. This work includestwo comprehensive ADAMS models. Discussion includes the development and tuningof these models, along with their use for turning and stability experiments. Inparticular, the results from Chapter 3 are used to more closely study the turningof the Sprawlettes. Having found that ipsilateral legs are the single most effectivemethod for turning, the methods for manipulation of these 3 legs are more closelyinvestigated. Once good turning is achieved in both iSprawl and Sprawlette models,a more in depth analysis of the details of turning is performed.4.1 Simulation background / reviewBecause of their complex and dynamic nature, the Sprawl family of robots have beenmodeled with respect to speed and stability, where “stability” is defined empiricallyas the ability to execute a timer-driven steady alternating tripod gait that recoversfrom disturbances and does not nose-dive or stumble. When tuned to matchthe performance of the robots, the dynamic simulations permit numerous “what if”experiments to be conduced, varying parameters and observing their effect on fast,stable locomotion. Particularly for changes in design parameters, such as leg stiffness33


34 CHAPTER 4. SIMULATIONa)b)Figure 4.1: a) Sprawlita is on the left, and the corresponding ADAMS model on theright. b) A frame of a video overlay, showing the close dynamic similarities of theADAMS model and physical robot.and inertia, the simulations permit much faster exploration of the space of possibilitiesthan is possible with experiments on the robots.A comprehensive dynamic model was originally developed for Sprawlita in theMSC.ADAMS v11 7 software package (see Figure 4.1 8 ) by Jonathan Clark[18].the top level, Sprawlita was modeled as a rigid body with six compliantly attachedprismatic, actuated legs.A floor contact model allows drag and bounce to occurbetween the ground, the feet and the body. The body dimensions, masses and inertiawere all matched to those of the robot. The piston actuation was modeled, including7 http://www.mscsoftware.com/products/adams.cfm (as of March 2006)8 See http://bdml.stanford.edu/twiki/pub/Main/ RobotSimulation/blend3 light.mov for a videoclipof this superposition of the ADAMS model and high speed video.At


4.2. SPRAWLETTE MODEL 35the delay from the valve input signal to the changes in air pressure and flow rate inthe piston. The compliant legs and the drag from the tether were also studied andused to help design and develop the Sprawlettes. A related model was developed bysome of our collaborators at Johns Hopkins [27] to explore the effects of changes inleg angles on body pitch and running speed.One example of the benefit of using the ADAMS model is seen in the performanceof Porta-Sprawl. Porta-Sprawl, created from one of the Sprawlette bodies, is a slightlymore autonomous version, with all of its electronics on board, and only a line ofcompressed air going to the robot. In the ADAMS simulation, the speed and stabilityof Porta-Sprawl were studied with respect to leg compliances and angles. Usingthe model, the legs of Porta-Sprawl were redesigned and the maximum speed wasincreased from 40cm/s to 80cm/s [20].For the work in this thesis, the Sprawlita model was further extended to a batch ofrobots called the Sprawlettes and subsequently to an all-electric version called iSprawl.The maneuverable Sprawlette and iSprawl models have been used to characterize theturning of these robots and help develop effective turn strategies.4.2 Sprawlette modelThe original Sprawlita ADAMS model was expanded to cover the Sprawlette familyof robots. In the development of the Sprawlettes, several innovations were added toenhance their maneuverability and increase running speed including:• functional servos at each hip to adjust each leg angle individually• a dedicated pneumatic valve at each leg to control each piston independentlyand minimize pneumatic delays associated with tubing between the valve andthe piston• air reservoirs embedded in the body to reduce any “starvation” effects whenmultiple pistons are fired at once• specialized front, middle and rear legs with different rotational stiffnesses.


36 CHAPTER 4. SIMULATIONSince turning was to be investigated, several key changes were made to the modelaccommodate the new maneuverability. A lateral leg compliance was added, and the(somewhat recentering) drag from tether was more closely modeled. The feet alsochanged from fairly compliant feet made from short lengths of pneumatic tubing tosmall rubber spherical studs. Accordingly, the foot properties and friction values wereadjusted for the new model. With the updates to the ADAMS model (see AppendixTable B.1 for model progression and Table B.2 for data set listing), the simulationcould now match any of the parameter changes that were used on the Sprawlettes toeffect turning.Figure 4.2: A snapshot of one of the Sprawlette legs in ADAMS. The leg contains twocompliant revolute joints (one about the leg angle rotation axis to achieve SLIP-likebehavior and a lateral rotational compliance taken about the same point for moremaneuverability. The foot modifications are also visible.


4.3. ISPRAWL MODEL 374.3 iSprawl modelIn light of ongoing experiments with the iSprawl robot, the ADAMS Sprawlette modelwas further adapted to match the characteristics of iSprawl. The major change wasfrom a force-driven input associated with the pressures in the pneumatic pistonsto a displacement-driven input resulting from the approximately sinusoidal outputkinematics of the slider-crank mechanism in iSprawl. In addition, a spring was addedin series with the displacement to match the compliance in the iSprawl transmissionsystem (see Figure 4.3). Along the way unused variables, such as duty cycle, wereremoved and new variables such as displacement stroke length were added.a) b)Figure 4.3: The ADAMS iSprawl leg model (a) was designed to have a linear spring inseries with displacement input (a,INSET). The ADAMS model was based on iSprawl(b), which also has displacement based actuation and axial compliance (b,INSET).For iSprawl, the stride period was adjusted to about 14Hz (stride period=0.07secor 14.29Hz, which should yield a velocity of 1.8-2.1m/s according to iSprawl calculationsfor 14Hz [40]). Most new parameter values were obtained by measurement ofthe robot, including high-speed video analysis of the running performance. The footgroundfriction values were adjusted empirically to better match those of iSprawl(µ s = 1.5, µ d = 1.2). A second ground contact model, and separate ground-bodyinteraction parameters were added to account for body drag since iSprawl has lowfrictionskid plates at the rear. Finally, the hip rotation point was moved higher onthe leg, to match the location of the bending flexures in iSprawl. Like the Sprawlettes,


38 CHAPTER 4. SIMULATIONiSprawl has different values of hip compliance for the front, middle and rear legs.Key variables, including axial and rotational leg stiffness and damping, were adjusteduntil the performance of the ADAMS model was similar to that of the iSprawlrobot (see Appendix table B.3 for model progression). A comparison of iSprawl robotdata [40] and ADAMS model data can be seen in Table 4.1. These are a few of theparameters that can provide an idea of how stably the system is running and using itsdegrees of freedom. A more detailed description of model tuning is in Appendix B.1.Like the iSprawl robot, the model is quite sensitive, in terms of speed and stability,to variations in the parameters when compared to the Sprawlette model or robots.Name of measure IJRR paper value Experiment model v#35 valueStroke length 25mm 25mmLeg swing 25deg (-15,15 o ) or |30 o |Vertical motion of body 1mm


4.4. CORRELATION WITH PHYSICAL MODEL 39Heading [deg]3002001000−100Sprawlette Heading for Gait ChangesLA Ips LeftLA Ips RightDC Ips LeftDC Ips RightDC Tri LeftDC Tri Right−200−300−35 −30 −25 −20 −15 −10 −05 Str +05 +10 +15 +20 +25 +30 +35LA−xx [deg]DC+xx/DC−xx [%]Figure 4.4: Sprawlette robot experiments using various turning methods. Ipsilateralleg angles were the most effective, followed by ipsilateral duty cycle changes. Tripodduty cycle changes had the least effect. Note: Parameter changes are relative tonominal settings. Heading change was measured over 3 secs of running. LA=legangle, DC=duty cycle, Ips=ipsilateral, Tri=tripod. Ips LA increases (LA>0) werenot pursued because of nose-diving and in stability.corresponding velocities and ground reaction forces are close to those measured onthe robots. However, the robots are noisy systems with many oscillations and footgroundand body-ground impacts. In addition, there are some incompletely modeledeffects such as the drag produced by the tether for the Sprawlettes and individualvariations in leg stiffness and damping (the robots are not mass produced items andthe leg-to-leg manufacturing tolerances can affect their performance). Despite thesediscrepancies, the general behavior of the models is close enough to that of the robotsthat the models can be used for “what if” experiments regarding turning strategiesand the effects of various parameters on turning.As an example, Figures 4.4 and 4.5 show, for the Sprawlette robot and ADAMSmodel, respectively, how the heading varies as a result of changes in controllableparameters. In both cases, the Sprawlette was allowed to run for 3 secs, and theparameter changes are relative to nominal settings. The curves indicate the effectsof ipsilateral variations in left and right leg angles (LA) and changes in valve duty


40 CHAPTER 4. SIMULATIONHeading (deg)4003002001000−100ADAMS Simulation Heading Summary for Gait ChangesLA Ips LeftLA Ips RightDC Ips LeftDC Ips RightDC Tri LeftDC Tri Right−200−300−400−35 −30 −25 −20 −15 −10 −05 Str +05 +10 +15 +20 +25 +30 +35LA−xx [deg]DC+xx/DC−xx [%]Figure 4.5: ADAMS Sprawlette model of using various turning methods. The modelshows the same trend as the actual robot, with ipsilateral leg angles being the mostinfluential. Note: Parameter changes are relative to nominal settings. Heading changewas measured over 3 secs of running. As in the robot, LA increases (LA>0) were notpursued because of instability.cycles (DC). Note that the leg angles are always negative (top of legs rotate towardthe rear) for stability. In both the robot and the model, ipsilateral leg angles werethe most effective overall, followed by ipsilateral changes in duty cycles. Changes intripod duty cycles had small turning effects.The duty cycle changes show some discrepancies between the robot and model.For ipsilateral duty cycle increases beyond 15-20%, the robot behavior remains fairlyconsistent. The legs are likely holding the body in a full “standing” state throughoutthe stride period, with small heading changes occurring when each alternating tripodis fired. Leg, body and tripod asymmetries lead to these small heading changes attripod actuation. The heading in the model decreases beyond 20%, likely due to full“standing” over a higher percentage of the stride period, and less motion. The modelis ideal, so the legs, body and tripods are symmetric, and when fully “standing”,an alternate tripod actuation has no effect. This difference could also be caused bydifferences in the piston and pneumatic leg retraction, which become more important


4.4. CORRELATION WITH PHYSICAL MODEL 41in larger duty cycles. For ipsilateral duty cycle decreases, the robot heading continuesto increase, as one tripod contributes less to opposing the turn. In the model, it seemsthat one tripod’s lack of contribution to opposing the turn reaches a peak sooner (near15%) than on the robot. This may be attributed to the model of the buildup pressureprofile for the piston and pneumatics differing slightly from the actual robot, whichbecomes important for lower duty cycles.Figure 4.6: Sprawlette model. The initial heading is altered by a disturbance. After2.0 secs to reach steady state, a 0.2sec duration, 2N force is applied, and the simulationreturns to a stable heading after a few strides. The same stability is seen on the robot.The white line represents the path of the body. Before and after the disturbance, thesteady state velocity remains approximately 62cm/s and the turn rate ∼0deg/s.Upon disturbance, both robot models reorient to a new asymptotically stableheading, as seen in Figures 4.6 and 4.7. A turn of fixed radius also remains asymptoticallystable after a disturbance; only the center of rotation changes, as seen in Figures4.8 and 4.9. In both cases, iSprawl takes a few more strides to fully recover, due to itshigher speed and more compliant legs. iSprawl has more compliance and less headingdamping (no tether), thus similar disturbances have greater temporal and magnitudeeffects on the model as it returns to steady state (running or turning). The samestability behavior has been observed on the actual robots.


42 CHAPTER 4. SIMULATIONFigure 4.7: iSprawl model. The initial heading is altered by a disturbance. After 5.0secs to reach steady state, a 0.2sec duration, 2N force is applied, and the simulationreturns to a new stable heading after a few strides. The same stability is seen onthe robot. The white line represents the path of the body. Before and after thedisturbance, the steady state velocity remains approximately 1.54m/s and the turnrate ∼0deg/s.4.5 Sprawlette Turning experimentsLike the cockroach that inspired them, the Sprawl robots rely on passive mechanicalproperties to achieve fast and robust locomotion [14]. As studies of the cockroach suggest,only small changes to the open-loop configuration may be necessary to achieverapid turns. Although they have a less sprawled posture than insects in the lateraldirection, and consequently smaller lateral forces, the Sprawl robots do have significantcontact forces in the fore-aft direction, and these forces are located a distanceof roughly 1/2 body length to each side of the center of mass. Initial experiments


4.5. SPRAWLETTE TURNING EXPERIMENTS 43Figure 4.8: Sprawlette model. The turning radius of the robot is unaffected by adisturbance. After completing a full revolution of radius r 1 =51cm, at 10sec into thesimulation, a 0.2sec, 0.2N force is applied to the model. After a few strides, thesimulation returns to a stable turn radius, r 2 =51cm, which matches the initial turnradius. The steady state turn rate is 46deg/s before and after the disturbance. Note:The simulation is turning in a clockwise direction, and the white line represents thepath of the body. The leg angles have been set to slow the body on the inside of theturn (leg angles shifted by +15 o from nominal 0/-25/-40 o for F/M/R) on the rightside, to create a turn to the right.showed that small asymmetric changes in the robot’s leg configuration or timing ofactuation can result in rapid changes in heading and orientation. However, giventhe many possible parameters for controlling the robot, it becomes desirable to findways to combine the parameters to simplify turning control. Essentially, we wantto collapse the space of configuration parameters to a small number of independentvariables that can then be used to steer the robot and evaluated for controller design.In this section, the results of experiments are described that attempt to reduce theparameter space of variables for turning.


44 CHAPTER 4. SIMULATIONFigure 4.9: iSprawl model. The turning radius of the robot is unaffected by a disturbance.After completing a full revolution of radius r 1 =1.54m, at 15sec into thesimulation, a 0.2sec, 0.2N force is applied to the model. After a several strides, thesimulation returns to a stable turn radius, r 2 =1.57m, which closely matches the initialturn radius. The steady state turn rate is 55deg/s before and after the disturbance.Note: The simulation is turning in a clockwise direction, and the white line representsthe path of the body. The leg angles have been set to slow the body on the inside ofthe turn (middle leg angles shifted by ±3 o from nominal 29 o ), to create a turn to theright.4.5.1 Multiple Leg AlterationsIt was clear from initial testing that changing more than one leg at a time willproduce a better (faster and more stable) turn than just adjusting a single leg. Thusthe method for coordinating the leg changes was further investigated.From theexperiments in Sections 3.2 and 3.4, it is apparent that changing leg properties onthe same side of the body is more effective than changing contralateral or diagonalleg properties. It was also found that when changing these ipsilateral legs, changingthem in the same direction (in particular moving the foot placement of multiple legsforward, or increasing the duty cycle on two legs) is more effective than changingthe legs in different patterns. The nominal leg settings allow the robot to run fast


4.5. SPRAWLETTE TURNING EXPERIMENTS 45and stably with rapid recovery from disturbances. By altering the legs on a singleside in unison, the relative changes in horizontal and vertical force components forthe middle and the front-rear leg combinations can be made relatively consistent,reducing horizontal oscillations.Using intuition gained from previous tests (see Chapter 3), promising duty cycleand leg angle results were expanded to other combinations of 3 and 4 legs. Asseen previously, ipsilateral leg angle changes continued to show the highest impact onturning. More surprisingly, the simultaneous application of duty cycle and leg anglechanges (using top turn producers which previous tests showed as having little negativeinteraction) did not result in significantly better turning over using leg anglesalone. Thus, it became clear that a simple, yet effective, strategy for turning wasto utilize only ipsilateral leg angle changes, thereby reducing the parameter space to3 degrees of freedom. Consistent with these findings, another group working on acompliant hexapod has also found ipsilateral leg angle changes useful for turning[35].Figure 4.10: Leg angles can be changed independently (3D), or by constraining themto intersect at a single point (2D), or all by a uniform value or percentage (1D).Once turning has been narrowed to ipsilateral legs moving in the same direction,various methods for changing these leg angles can be investigated (see Figure 4.10).There are 3 legs on each side giving 3 degrees of freedom for independent control.The dimension of the control parameters can be reduced by introducing dependenciesbetween the legs and other supplemental parameters. First, we will introduce theconcept of the intersection point, which is where the projections of all 3 legs intersect.


46 CHAPTER 4. SIMULATIONThe notion of an intersection point is inspired by studies of stability in walking,which utilize concepts such the Zero Moment Point (ZMP) and Center of Pressure(COP) [27][73]. In the Sprawlette case, the use of the intersection point allows us toapproximately decouple the effects of the leg angle changes on stability and wholebodyforce production and is motivated by the observation that the leg forces areapproximately collinear with the axes of the leg pistons.Figure 4.11: Intersection Point. The intersection point is where the projections ofthe 3 legs intersect, and is measured by the intersection distance (ρ) and angle (φ).The distance is measured from the attachment point of the middle hip, and the angleis measured relative to a vertical projection through the middle hip.To locate the virtual intersection point, the pivot of the middle leg is used asthe origin, and the distance to the intersection point is measured with the variableρ, while the angle (relative to vertical) of a vector to this point is measured by thevariable φ (see Figure 4.11). The magnitude of ρ controls the “sprawl angle” of thelegs in the fore-aft direction. The sprawl angle affects the stability with respect topitching rotations and also affects the extent to which the front and rear legs behavedifferently. A large ρ leads to a small sprawl angle, for which the front and rear legsact in a similar fashion (see Figure 4.12a). For a small ρ, a large sprawl angle results,leading to varied functionality (for example, front legs may be mostly braking, midlegs supporting and thrusting, and rear legs thrusting forward, see Figure 4.12b). Thevalue of φ controls the net forces in the fore-aft direction and determines into whichoperational regimes each of the legs falls. Those legs that are mostly vertical willprimarily provide support, those that incline forward will accelerate and those that


4.5. SPRAWLETTE TURNING EXPERIMENTS 47incline backward will brake. In similar models for Porta-Sprawl [18], the amount ofsprawl angle (ρ) is shown to be related to stability. Likewise, models of body slopeand speed show great correlation between mean angle (φ) and velocity [20, 27].a) b)Figure 4.12: Sprawl Angle. The angle between the front and rear legs is called thesprawl angle. Large sprawl angles (a) give the legs varied functionality. Small sprawlangles (b) cause legs to behave more similarly.Another 2 dimensional method for defining the intersection point simply involvesa Cartesian coordinate system on the sagittal plane (see Figure 4.13). By selecting anX and Y intersection point for the 3 legs in the sagittal plane, the leg angles of thesethree legs become uniquely defined. The location of the intersection point relative tothe body will determine the performance of the robot. This approach is useful forrunning batteries of tests in simulation but is less useful for application on the robotbecause it requires either a lookup table or the calculation of trigonometric functionsin the on-board microprocessor.If the leg angles are adjusted by equal amounts for the front, middle and rear legs,the resulting intersection will generally be not a single point but a triangular region.The center of this region can be taken as the effective intersection point. The angleof a vector to this point is the effective leg angle (see Figure 4.11, third case). In thiscase, a single control parameter is used to rotate all the legs forward or backward bya given angle.


48 CHAPTER 4. SIMULATIONFigure 4.13: Workspace shapes for Cartesian (square) and cylindrical or polar (arcing)coordinate systems of defining intersection points for leg angles. The Cartesiansystems was used for workspace characterization. The cylindrical system was used inthe final implementation.4.5.2 Grid TestsIn order to more fully understand the effects of the intersection point and its sagittalplane workspace, the Cartesian definition was used to create a test region correspondingto configurations that exhibited stable running (see Figure 4.14). The grid spacetest contained close to 500 points and covered the reasonable parameter space for legangles. For each intersection point, the corresponding ipsilateral leg angles were calculated,and the simulation was allowed to run and turn for 3 secs. The final heading(and thus average turn rate), lateral displacement and velocity were measured andcalculated for each test. The turn rate and velocity results are shown in Figure 4.15.The grid based parameter investigation brought some key points to light. Thetest results show a clear radial pattern (see Figure 4.15). The center of these radialpatterns is close to the location of middle leg hip joint, which is also near the centerof-massof the robot, indicating that this was an appropriate choice for the origin of


4.5. SPRAWLETTE TURNING EXPERIMENTS 49Figure 4.14: The intersection point of three ipsilateral legs was swept through a grid tocharacterize the turning behavior. The grid covers the usable workspace of leg anglesfor locomotion. (Note: At each point, leg angles were set so that their projectionscross at that point.)the coordinate space. Moving the location of the intersection point further away fromthe origin had relatively little effect on turning rate or velocity. Conversely, sweepingthe intersection forward or rearward had a pronounced effect on velocity and turningrate.As expected, the forward velocity decreases as the intersection point is movedforward of its nominal setting (see Figure 4.15). Changing the angle of the intersectionpoint has an interesting effect on heading. Moving the intersection point forward onthe right side causes the robot to turn slightly to the left; moving it backward causesthe robot to turn sharply to the right. As the intersection point is moved furtherback, foot slippage eventually causes both velocity and turn rate to decrease. Overthe full range of the grid testing the turn rate varied from zero (at nominal leg angles)to 4.01 rad/s for the best turn. The nominal forward velocity varied from 680 cm/s(at nominal) to around 10 cm/s.The turning radius (i.e., the radius of curvature of the trajectory of the robot) isanother useful measure. This radius can be also viewed as the ratio between forward


50 CHAPTER 4. SIMULATIONa) b)Figure 4.15: Results of varying the location of the intersection point of the leg anglesover a grid in the sagittal plane. The tests show that the trends in a)turning rate andb)forward velocity are radial with an origin near the location of the middle leg. Thedarker regions indicate faster turn rates and velocities.velocity and turning rate. As discussed above, changes to the intersection point thatincrease the turning rate also decrease forward velocity. As a result, the turningradius is inversely related to φ, as shown in Figure 4.16. Thus, while small turningradii can be achieved, they are accompanied by slow forward velocities. However, thevelocity drops gradually so that fairly sharp turns can be obtained at 1 the maximum3velocity. These tradeoffs in performance are discussed more in Chapter 6.4.5.3 DiscussionBased on grid test results, it was concluded that moving the intersection point of theinside legs along an arcing path from forward to backward is a simple and effectivemethod of coordinating the parameter space to achieve turning. The grid tests haveindicated that changes in ρ do not significantly affect the turning results. Therefore,


4.5. SPRAWLETTE TURNING EXPERIMENTS 51Radius of curvature, κ [cm]400300200100Grid Tests − Radius of Turn & Velocity25κ00 5 10 15 20 25 30 35 40 0νLeg Angle Offset, φ [deg]κ, One Control Parameterκ, Intersection Pointν, One Control Parameterν, Intersection Point1007550Velocity, ν [cm/s]Figure 4.16: Turning radius κ, and velocity ν decrease as turning rate increases.There is very close agreement between tests using actual intersection points (2D) andeffective intersection points (1D, one control parameter).a range of ρ values can be chosen for stable running while achieving a wide range ofturns (see Figure 4.15).The arc of approximate intersection locations corresponds to a single parametercalled the turnfactor (TF), which represents the amount that the legs are rotatedrearward on the inside of a turn. As seen in Figure 4.16, the radius of curvature andvelocity obtained by adjusting the TF are nearly identical to those obtained with thetwo-dimensional adjustment of intersection points. As seen in Figure 4.18 the actualleg angles are quite similar whether a single TF parameter is used or whether the theintersection point of the leg angles is varied along an arc.


52 CHAPTER 4. SIMULATIONLeg Angles Iso−Ips [0 to 40deg change]Leg Angles Int Pt [0 to 40deg change]0.120.120.10.10.080.08Y (m)0.06Y (m)0.060.040.040.020.0200a)−0.02−0.08 −0.06 −0.04 −0.02 0 0.02 0.04 0.06 0.08X (m)b)−0.02−0.08 −0.06 −0.04 −0.02 0 0.02 0.04 0.06 0.08X (m)Figure 4.17: Similar mappings for a) 1D and b) 2D turn methods. The 1D turnmethod changes all the legs by an equal offset (1 parameter). The 2D turn methodrequires that the intersection point of the legs be a certain angle and distance (2parameters) from the origin at the middle leg.The turnfactor is the final step in reducing the parameter space from 18 parametersto a single variable that can control turning. In use, the TF alters all ipsilateral legangles by equal amounts. A single parameter corresponding to nonuniform changesin leg angles could have been devised, but this would have increased the risk of leginterference as the legs swing back and forth with each stride. The single TF parameteris convenient for steering control and has been used in antenna-based wallfollowing experiments [22]. In the following chapter, the TF is used to characterizethe dynamic behavior of the Sprawlettes.4.6 Turning Comparison of ADAMS modelsIn order to more closely study the turning methods of both the Sprawlettes andiSprawl, several groups of turning simulations and a ‘straight’ run were performedwith an extensive list of output variables and data. There were five main stableturning groups (T0,T1,T2,T3,T4) and two slightly unstable groups (T5 & T6) whichare described in Table 4.2. For each of these groups, 58 result variables were exportedfor study. These variables are listed in Table 4.3, and include body rotations, foot


4.6. TURNING COMPARISON OF ADAMS MODELS 53Figure 4.18: Constraining the legs such that their directions intersect at one point inthe sagittal plane provides an intuitive way of coordinating the three legs’ degrees offreedom. Here, the position of the intersection point is given in polar coordinates (ρand φ) from the location of the middle legs’ hip, where φ is relative to the nominalmean leg angle. In this figure, φ=25 o and ρ=0.124m. The shaded region representsthe range of feasible intersection points. Outside this region, performance decreasesmarkedly. The sizes of the circles are related to the turn rate. The front of the robotis facing the right side of the figure.forces, and compliant component movements. All of the tests were run for 7 secondswhich gives the simulation ample time to ramp up to steady state and observe turningeffects. The unstable tests were intended to produce LEFT turns, and thereforecompared with hard LEFT turn and ‘straight’ running tests (which have similarbehavior when compared with unstable tests). A more exhaustive summary of theresulting data is included in Appendix C, but the highlights are discussed here.First, it should first be noted that the robot models run at different levels ofperformance. The Sprawlette models run around 0.7m/s which is about 7 bodylengths/sec, and iSprawl runs about 2.3m/s, which is about 15 body lengths/sec.Both robots slow somewhat when turning. The two robots use slightly different


54 CHAPTER 4. SIMULATIONTest Group iSprawl settings Sprawlette settingsT0 ’straight’ ahead settings LA=0 o /25 o /40 oLA=14 o /29 o /44 o (F/M/R for both sides)T1 moderate left turn, LM=28 o , RM=30 o LBASE=5 oT2 moderate right turn, LM=30 o , RM=28 o RBASE=5 oT3 hard left turn, LM=26 o , RM=32 o LBASE=15 oT4 hard right turn, LM=32 o , RM=26 o RBASE=15 oT5 Unstable turn, LM=35 o , RM=23 o n/aT6 Unstable run, v38 w/k rot =0.8/0.8/0.9(F/M/R) n/aTable 4.2: The seven simulation groups that were investigated.turning methods, which result in slightly different turn behavior. The Sprawlettesuse ipsilateral leg angle changes and have stiffer legs, resulting in a body roll to theoutside during turning. They also show a reduction in passive leg swing for all but theoutside rear leg, while iSprawl has increased leg swing on the outside and a reductionon the inside leg during turning. iSprawl employs changes in the middle leg angles forturning, resulting in a slight body roll to the inside. These differences in compliancealso cause iSprawl to pitch less than normal while turning, while the Sprawlettes pitchmore. The body roll behaviors of the Sprawlettes and iSprawl are further examinedin Chapter 6. During turning, both robots have an increase in the vertical motionrange of the body COM.In terms of ground reaction forces, the inside legs provide less longitudinal forcethan normal, while the outside legs provide more. In particular, the mid and rearoutside legs are contributing significant longitudinal forces. The outside middle leghas a considerable increase in vertical forces during turning, meaning that it may beplaying the role mainly of a vertical support. On the Sprawlettes the same is truefor the inside front leg, while on iSprawl the inside rear leg is more supportive thannormal. The front and the middle legs contribute the largest lateral forces duringturning, with the front being the most influential due to their location relative to theCOM.


4.7. SUMMARY 55Variable Description Num of vars File no.Velocity 1 1Body Yaw, Pitch & Roll 3 1Body COM Y motion and angular velocity 2 1(about vertical axis)Axial leg spring deformation (iSprawl) & 6 1Axial leg stroke (Sprawlette)Leg swing 6 1Body-floor contact 4 1(for drag, measured at four corners)Foot X ground force 6 2Foot Y ground force 6 2Foot Z ground force 6 2Foot ground torque about X 6 2Foot ground torque about Y 6 2Foot ground torque about Z 6 2Total 58 2 filesTable 4.3: List of the results that were exported after each test. (The forces andtorques were in world frame coordinates, so it was necessary to rotate this data.)4.7 SummaryIn this chapter, we have gained a better understanding of how ipsilateral leg angles canbe used to obtain turning performance. We also have gathered an understanding ofthe details of turning for both Sprawlette and iSprawl robots, and found a maximumturn rate of 4 rad/s. The similarities and differences between the Sprawlettes andiSprawl help to create a physical understanding of how the front, middle and rearlegs contribute to turning. Due to the nature of the simulation used, the tests wereconducted using fixed turns, starting from a straight-ahead running condition. In realuse, the robots will need to continually alter their turn rates. Limitations on turningresponsiveness (i.e., the frequency response to turn commands) may arise. Thus, inChapter 5 (System Identification), the dynamic turning capabilities of the robots areexplored.


Chapter 5General System IdentificationWhat is the dynamic responsiveness of the robots to commanded turns? The previouschapter explored the effects of various parameter settings on the robot, primarilythrough simulations, for executing steady, controlled turns. Startup effects were observed,and allowed to die out before evaluations were made. However, in practice,robots will need to make left and right turns frequently, and their speed of response tocommanded changes is of interest. This chapter uses system identification techniquesto understanding the dynamic turning response to commanded changes in leg angles,using the turnfactor command defined and motivated in the previous chapter. Thefollowing chapter discusses maneuverability more generally, leading to the developmentof dynamic strategies that enhance turning, by exploiting transient effects.5.1 Intuitive ModelIn an informal analysis, the dynamics of the turning can be viewed as a 2nd ordersystem with a transfer function, G, of the form G(s) = Y (s)U(s) = A(s)s(Js 2 +Bs+K) , whereU(s) is the input (turnfactor), Y (s) is the output (heading), J is the polar momentof inertia, B is a rotational damping term, K is a rotational spring term and A(s)accounts for uncharacterized dynamics. The moment of inertia is derived from themass and volume properties of the body, and represented here by J. The dampingterm, B, comes from losses such as foot and tether drag that retard motion. The56


5.2. SYSTEMS INVESTIGATED 57spring term, K, is largely the result of the tether on the robot, which drags behind thebody and attempts to straighten the body during forward motion. Since the output isabsolute heading rather than a turning rate, an integrator, 1 , is also included, whichswill cause greater response for lower frequencies. For the Sprawlettes, the centeringnature of the tether counteracts this integrator effect at low frequencies, and it behavesmore like a true second order system. Since iSprawl does not contain a tether, theintegrator effects should be more prominent in this system. In this intuitive model,the moment of inertia can be measured, but both the damping and spring terms alsodepend on the dynamics of running and are difficult to measure accurately whetherstatically or dynamically. Even without accurate values, this analysis helps to guidethe selection of parameters during system identification and aids resulting analysis.5.2 Systems InvestigatedIn many systems, one of the keys to system performance is knowing the limits. Whenlimits are exceeded, devastating consequences can occur, from falling and damage,to sliding over a cliff on a curve, or stalling while in flight. For the Sprawl robots,exceeding limits is less serious and generally results in inefficient running or turning.This inefficiency generally comes from wasted actuation energy, from excessive legslippage due to poor leg angle and compliance settings, or from poor gait parametersresulting in subpar locomotion. For this reason, this chapter explores the limits ofthe dynamic turning actuation, and when it begins to become inefficient.The various Sprawl robots turn by slightly different methods depending on theirdesign, though they all involve either varying their leg angles or duty cycles. TheSprawlettes have the greatest versatility, being able to vary leg angles and valveduty cycles individually for each leg. Porta-Sprawl, with its on-board processor, hasunpowered leg servos and turns exclusively by varying valve duty cycles. On iSprawl,the duty cycle is fixed at 50%, by the kinematics of the slider-crank mechanism, andonly the middle legs have hip servos. Consequently, it turns by varying the middleleg angles only. Due to their performance and versatility, Sprawlette, iSprawl andone of their common denominators, the servo, were identified as three key systems


58 CHAPTER 5. GENERAL SYSTEM IDENTIFICATIONwhose limits could help further turning studies.5.2.1 Servo on legBefore examining the turning response of each robot as a system, it is useful toobtain the frequency response of the legs in isolation. The servo motors that controlthe leg angles of the Sprawlettes are the Maxx Products MPI MX-50HP. The legsare manufactured using Shape Deposition Manufacturing (SDM) such that they areattached directly to the splined output horns of the servo motors. The wiring andservo housing were modified to work as interchangeable “plug and play” componentsin the Sprawlette bodies (see Figure 5.1a). The wiring was rerouted to three compliantcopper strips on the servo housing. Once inserted into the Sprawlette body, thesecopper strips are in contact with circuit board traces embedded in the body.Figure 5.1: Servos. a)Modified servo for use with Sprawlette. b)Modified servo forsystem identification testing, with leg attached. The potentiometer signal can beaccessed via the single wire exiting the servo housing.In order to determine the frequency response of the system, a frequency-rich signal


5.2. SYSTEMS INVESTIGATED 59is needed as the input. The chirp (swept sine wave) signal has been chosen as the inputand applied to the leg turnfactor (TF) as defined Chapter 4. The chirp is defined interms of its range of frequencies and the time period over which the range is swept.An amplitude parameter determines the magnitude of the TF signal. The selectionof these parameters depends on the characteristics of the system, as discussed in thenext section. Table 5.1 displays the minimum and maximum frequencies, amplitudeand chirp duration used in leg servo tests; a typical chirp input, and the correspondingsignal that actually is sent to the servos (due to the servo’s 40Hz update rate) areshown in Figure 5.2.Name (freq#1, freq#2, steps, seconds)cp81 (0.1, 10, 28, 8)cp82 (0.1, 5, 28, 8)cp83 (0.05, 5, 28, 8)cp84 (0.1, 1, 28, 8)cp85 (0.5, 5, 28, 8)cp86 (1, 5, 28, 8)Table 5.1: Listing of the chirp signal settings that were generated as inputs for theservo. Note that one servo step is 0.78 degrees.The servos are positioned by a pulse width modulated (PWM) signal that operatesat 40Hz, rendering higher frequency control input useless. The robot runs with a130ms stride period (7.69Hz), which also sets a practical bound on the commandedfrequencies for leg control, as periods much shorter than the stride period will havelittle effect on locomotion over the entire stride. The output of the servo is position.For this experiment a servo was modified so that the position could be measured usingan analog-to-digital converter (ADC) connected to the potentiometer on the outputshaft (see Figure 5.1b). In our implementation, the leg angles are set to be updatedat 25Hz, and the servo output shaft was recorded at 250Hz. A leg from a Sprawlettebody was connected to the servo to include its inertia.The settings of the ‘cp81’ test in Table 5.1 were selected for the majority ofthe tests because it best covers the frequencies of interest. This test comes closest


60 CHAPTER 5. GENERAL SYSTEM IDENTIFICATION30Chirp Signal [0.1−10] for 8s at 25HzServo Position [steps]20100−10−20−300 1 2 3 4 5 6 7 8Time [sec]Figure 5.2: A typical input signal that is commanded to the servos during a turningexperiment. The parameter set is (0.1,10,28,8), meaning frequency sweep between 0.1and 10Hz, of amplitude 28 steps (20 o ) over a period of 8 sec. The continuous chirpsignal is seen in dotted green; the signal that actually goes to into the servo (due toits 40Hz update rate) is seen in blue with x symbols.to including a decade above and below the desired frequency, which is commonlydesirable in system identification experiments. In an attempt to reduce the effectsof noise that were present in the ADC reading of the potentiometer, this test wasperformed 50 times.Servo Dynamics from Parametric IdentificationParametric system identification is a technique used to identify the parameters of thecharacteristic equation and the noise model. There are 3 models that are commonlyused in parametric system identification - ARX, ARMAX and Box-Jenkins. TheARX model is one of the simplest, which assumes that white noise may be present,and allows for order selection of the denominator and numerator of the plant transferfunction (2 parameter equations of any order). The ARMAX model allows for theinclusion of some moving average noise characteristics, by allowing a numerator forthe noise model (3 parameter equations of any order). The Box-Jenkins is the mostinclusive allowing both a numerator and denominator for both the plant and noisemodels (4 parameter equations of any order). The sprawl systems were investigated


5.2. SYSTEMS INVESTIGATED 61with respect to all 3 models. The orders seen in the models represent how manycoefficients are present in particular equations. For more info on parametric systemidentification, see System Identification: Theory for the User by L. Ljung[44].For the servo, the ARX model with orders [5 5 4] was used to characterize the servoparameters, and the resulting transfer function, poles and zeros are seen in equation5.1. Higher orders were also examined, without significant differences. Thus, thislower order model with a SSR value of 1887 was selected. The resulting systemmodel was then simulated for the tested chirp signal (see Figure 5.3).200150ARX Model #01 with orders [5 5 4]ExperimentARX100AD Values500−50−100150100Lag Plot for ARX Model [5 5 4] #0150−150ε i−10−50−2000 1 2 3 4 5 6 7 8Time [sec]−100−150−150 −100 −50 0 50 100 150ε iFigure 5.3: ARX Servo Model. The ARX model of order [5 5 4] has a SSR valueof 1887 and it captures the general response of the system without a large offset orlosing the dynamic behavior of the robots. The sinusoidal effects from the input canbe seen in the lag plot at the lower right.T F =−0.09193z 4 − 0.1744z 3 + 0.2442z 2 − 0.01427z + 0.7469z 8 − 0.5562z 7 + 0.03295z 6 + 0.04164z 5 − 0.04697z 4 − 0.3842z 3 (5.1)Input: turnfactor, Output: servo position, t s =4msZeros:(-3.0634, 1.6154, -0.2245±1.2615i)


62 CHAPTER 5. GENERAL SYSTEM IDENTIFICATIONPoles:(0, 0.9677, 0.3684±0.7790i, -0.5742±0.4527i)As seen in Figure 5.3 and equation 5.1, the ARX model characterized the systemdynamics well, without significant offset or ignoring higher frequency behavior. Thephasing and magnitude seem to be off a bit, but that could be the result of the noisefrom the ADC affecting the model. In order to accomplish this with the ARX model,the system was characterized as a fairly high order system. For validation, lag plotsof the model residuals are used to determine if there is correlation in the model errors.If the errors are random and have no correlation, the lag plot will appear as a cloud.Clustering in lag plots indicate error correlation. In the lower right of Figure 5.3 itcan be seen that there is strong correlation in the residual, which can be attributedto the sinusoidal nature of the input, and the fact that this is not a perfect model.Imperfections come from attempting to fit a linear model to a non-linear system.Further cross validation of the model was performed by using additional test datathat used the same input signal, and also test data where a different input signal wasused. Two of these cross-validation tests can be seen in Appendix Figure D.1.The ARMAX model was examined over several orders (up to 6) for the servo.Several of the orders created results that were fairly similar. The lowest order systemthat did not contain errant offsets or ignore higher frequency behavior is [2 3 1 1],and the resulting transfer function, poles and zeros can be seen in equation 5.2. Thissystem model also went through a simulation with the tested chirp signal, which areseen in Figure 5.4.T F = −0.02506z2 − 0.3668z + 0.5427z 3 − 1.465z 2 + 0.4839z(5.2)Input: turnfactor, Output: servo position, t s =4msZeros:(-15.9911, 1.3543)Poles:(0, 0.9620, 0.5030)After the chirp signal was sent through the model, the results show performancesimilar to the ARX model. The added noise characterization in the model does agood job of covering some of the additional dynamics that are present in the system.


5.2. SYSTEMS INVESTIGATED 63200150ARMAX Model #01 with orders [2 3 1 1]ExperimentARMAX100AD Values500−50−100200150100Lag Plot for ARMAX Model [2 3 1 1] #01−150ε i−1500−2000 1 2 3 4 5 6 7 8Time [sec]−50−100−150−150 −100 −50 0 50 100 150 200ε iFigure 5.4: ARMAX Servo Model. The ARMAX model of order [2 3 1 1] characterizesthe system at a lower model order than the ARX model, but with similar results (SSRvalue=2096). The lag plot in the lower right shows the sinusoidal effects of the input.For validation purposes, lag plots and cross-validation with other test data were againused. The lag plots in the lower right of Figure 5.4 again show the sinusoidal natureof the input. The cross-validation tests seen in Appendix Figure D.2 show similarbehavior to the original test data.The third parametric model that was investigated is the Box-Jenkins model. Thismodel was also investigated up to orders of 6. Several of the order combinations doa good job of characterizing the system.T F = −0.1177z2 + 0.2397z − 0.101z 3 − 2.489z 2 + 2.031z − 0.5378(5.3)Input: turnfactor, Output: servo position, t s =4msZeros:(1.4411, 0.5955)Poles:(0.9475±0.0871i, 0.5941)


64 CHAPTER 5. GENERAL SYSTEM IDENTIFICATION200150Box−Jenkins Model #01 with orders [2 1 1 2 1]ExperimentBox−Jenkins100AD Values500−50−10010050Lag Plot for Box−Jenkins Model [2 1 1 2 1] #01−150ε i−10−50−2000 1 2 3 4 5 6 7 8Time [sec]−100−150−150 −100 −50 0 50 100ε iFigure 5.5: Box-Jenkins Servo Model. The BJ model of order [2 1 1 2 1] has a SSRvalue of 1734, and characterizes the system at lower orders than both the ARX andARMAX models, with comparable results. The lag plot at the lower right showsstrong error correlation, and the sinusoidal nature of the input.The Box-Jenkins model of order [2 1 1 2 1] fits the data without significant offsetor ignoring higher frequency dynamics, which are common issues in these models.The resulting transfer function, poles and zeros are seen in equation 5.3. As seen inFigure 5.5, the model matched the experiment very well when the input signal wasrun though the system. It was noted that all three models contained zeros and polesthat overlapped somewhat. In Figure 5.5 the lag plot of the residual error showsstrong correlation, which reveals the sinusoidal artifacts of the input, and also theimperfection resulting from fitting non-linear systems to linear models. In AppendixFigure D.3, cross-validation with other data reveals similar results from the model,giving it greater confidence.


5.2. SYSTEMS INVESTIGATED 65Sum of Squared Residuals AnalysisA more exhaustive model search was later performed, using additional quantitativeanalysis methods. Using a Matlab script, models were created for all of the dataexperiments, searching all model order combinations up to order 6. This was done forall three parametric methods, ARX, ARMAX and Box-Jenkins. For each experimentand model, the sum of the squared residuals (SSR) was calculated based on theformula seen in equation 5.4.SSR = ∑ (y a (i) − y b (i)) 2 , (5.4)where y a (i) is the simulated response at time step i, and y b (i) is the actual response attime step i. This is essentially the sum of the difference between the model predictionand actual experiment at each point. For each model, this value was summed (andaveraged) over all of the experimental runs, and this value was a quantitative measureof the fit of that particular model to all of the corresponding data. The SSR alongwith χ 2 measurements helped identify the models that fit the data best. For theservos, a 4th order Box-Jenkins model of order [4 1 1 2 1] had the lowest SSR value of1733. The SSR results identify models with the greatest agreement, but lower ordermodels previously identified often have very similar results without the additionalorder parameters, which is advantageous.Servo Dynamics from Frequency IdentificationThe techniques of frequency identification are another “Black Box” method to gatherinformation about the responsiveness of systems. By providing the system a frequencyrich input signal, the output can be collected and analyzed to reveal a Bode plot ofthe system. The input and output data are the same as that used for parametricidentification, but the analysis is different. The Fourier transform is taken of boththe input and output, then the output result is divided by the input result to give theEmpirical Transfer Function Estimate (ETFE). For the systems investigated in thisthesis, the ETFE results of each dataset are averaged to get a more representativeoutcome from the noisy systems. The ETFE result is a vector of complex numbers,


66 CHAPTER 5. GENERAL SYSTEM IDENTIFICATIONwhose magnitude and phase give the necessary information for the two figures of aBode plot. For more information on frequency identification techniques, see SystemIdentification: Theory for the User by L. Ljung[44]. The data was processed usingthe above frequency identification techniques, and the resulting Bode plot can be seenin Figure 5.6.50Bode Plot − Servo Test CP81 (Avg of 50)Magnitude (dB)0−5010 −1 10 0 10 1Phase(deg)2000−20010 −1 10 0 10 1Frequency (Hz)Figure 5.6: Bode plot of servo dynamics from frequency identificationThe Bode plot for the servo motor shows that at around 2-3Hz, the magnitude andphase begin to decrease markedly. The added inertia of the leg on the servo may havereduced the bandwidth some, but this is what happens in running and is thereforeappropriate to include in system identification investigations. Additional tests wouldcause this plot to become smoother throughout the frequencies of interest. Thenoise added from ADC readings is the main source of the rough frequency plot. Forvalidation and more confidence in both the frequency and parametric identificationresults, the resulting Bode plots from each are often compared. This Bode comparisonof the servo results is seen in Figure 5.7.The comparison shows that the parametric and frequency identification methodshave good agreement in phase and magnitude. The ARX, ARMAX and Box-Jenkins


5.2. SYSTEMS INVESTIGATED 67Magnitude (dB)500−50Bode Plot − FreqID(Avg of 50) & ParamID(Test #1) [SERVO]FIDPID (ARX)10 −1 PID (ARMAX)PID (BJ)10 0 10 1Phase(deg)2000−20010 −1 10 0 10 1Frequency (Hz)Figure 5.7: Comparison of Bode plot of between frequency (FID) and parametric(PID) identification techniques.models also have good agreement with each other. The similarity of these modelsprovides greater confidence in the results, and indicates that this system can becharacterized by these linear techniques.Servo SummaryThe system identification techniques have revealed that performance will fall off above3Hz. Above 3Hz, there will be delay (or phasing) problems, and also position (ormagnitude) issues. Since the normal operating frequency of both iSprawl (14Hz+)and the Sprawlettes (7Hz) is above 3Hz, it is clear that active stride to stride servoingcan not be used to help influence turning. It is also apparent that there would be atleast a 2 stride period delay for any control commands to get legs to a new position.This could possibly be improved by driving the servos at a higher than normal voltage,potentially increasing the effect of the P gain in their position controllers. Nonetheless,the results help identify some of the limitations of the robot leg motion.


68 CHAPTER 5. GENERAL SYSTEM IDENTIFICATION5.2.2 SprawlettesThe Sprawlettes are a family of hexapedal running robots that can achieve maneuverabilitythrough the use of their 18 degrees of freedom relating to leg use (see Figure5.8). Each parameter change can have interesting effects on the locomotion of therobot, and the possibility of parameter interaction is great for this dynamic leggedsystem. Thus, an investigation to better understand the parameters effects on turningwas performed in chapters 3 and 4. In this section, the effects of one parameterturning method, namely turnfactor, are examined with respect to turning dynamics.Figure 5.8: Several of the Sprawlette robots, in various stages of assembly and experimentation.Experiment Setup DetailsThe technique used to maneuver the Sprawlettes involves changing all leg angles onone side of the body (ipsilateral) by the same amount. The servos that determineleg angle move in increments of 0.78 degrees, and receive commands at 40Hz. Bydefault, the Sprawlettes run at 7.69Hz (130ms stride period), with 35% duty cycle (ofthe stride period) for each alternating tripod. For these settings, each leg is ideallyonly in contact with the ground for ∼45.5ms (see Figure 5.9).There are generally two ways to create a turn on the Sprawlettes using the legangles: 1) use static selection of leg angles to create a non-zero moment over a full


5.2. SYSTEMS INVESTIGATED 69Figure 5.9: Timing Diagram for 1 Stride Period (130ms)stride (fixed leg angle throughout the stride), 2) actively use timed leg angle changesto affect the body during stance. The 2nd method seems likely to create the greatestresult, but the leg angle changes should occur during the time the legs are in contactwith the ground. This can prove to be difficult since, in the previous section, itwas shown that the servo bandwidth is slower than the stride frequency. Thus, thismethod is not very feasible for these robots in their current configuration.In previous chapters, the turnfactor (TF) variable was created to control turningvia the leg angles. A positive TF value (T F ∈ Z) will rotate the top of the right sidelegs toward the rear of the body (CCW viewed from the right side of the body, withthe front of the body to the right), creating a right turn, due to the non-zero turningmoment caused by the asymmetric leg angles. Note that no left leg angle changeswere made for a right turn, and that the ipsilateral legs never move toward the front(from nominal positions) because of potential instability and nose-diving. A negativeTF value will rotate the top of the left side legs toward the rear (CW viewed fromleft side), creating a left turn. Thus, when a sine wave is input as TF values, the leftand right legs each rotate with a half of the sine wave, out of phase.A method similar to the servo system identification analysis was used for identifyingthe full body turning dynamics, with slight experimental hardware differencesto get the desired information about the full body. Two LED beacons were placedon the body, and used to form vectors indicating the heading. These beacons were


70 CHAPTER 5. GENERAL SYSTEM IDENTIFICATIONrecorded from above via a high speed camera. The camera system can record up to256 frames, and was set at its lowest speed (60 frames/sec) to record testing for 4.27seconds. For this reason, the chirp signal was given a duration of 4 sec to ensurethat the entire signal was captured. Each frame has a pixel size of 480x420, whichcorresponds to ±0.023in positioning resolution or ±0.5 o heading resolution in thissetup.Sprawlette Dynamics from Parametric IdentificationSeveral chirp signals were generated for testing purposes.The list of the chirp signalscan be seen in Table 5.2. The settings of the ‘cp41’ test were chosen because they bestcover the frequencies of interest on Sprawlette. This test comes closest to includinga decade above and below the desired frequency. This test was performed 50 timesto counteract the noise that is generated through standard running (ie. drift, jitter).These test settings were similar to those used for the servo but the duration was 4sec rather than 8 sec because of hardware restrictions. A Bartlett filtering window ofsize 10 was used to smooth the output before some system identification techniqueswere performed.Name (freq#1, freq#2, amp, time length)cp41 (0.1, 10, 28, 4)cp42 (0.1, 5, 28, 4)cp43 (0.05, 5, 28, 4)cp44 (0.1, 1, 28, 4)cp45 (0.5, 5, 28, 4)cp46 (1, 5, 28, 4)Table 5.2: Listing of the chirp signal settings that were generated as inputs for theSprawlette. Note: A TF value of 28 is equivalent to approximately 20 degrees.For a test to be useful, the robot needs to spend the majority of the treadmill runaway from the barrier walls (in order to get true turning dynamics), and keep bothbeacons within the camera field of view (in order to track the heading). This oftenproves to be a very difficult task (see Figure 5.16). Problems include matching the


5.2. SYSTEMS INVESTIGATED 71speed of the treadmill with the robot, and adjusting the nominal heading to get therobot to run relatively straight in the middle of the treadmill. 9 A typical video (ifusable) will produce heading results similar to those seen in Figure 5.10. When thebeacons are not visible in every frame, the video processing software can try to findneighboring values for interpolation. But in many cases the bad video frame datamay leave the test useless. Choosing proper test settings can help ease some of thetesting hurdles.−85Heading Output for 060324 Test #7−90Heading Angle [deg]−95−100−105−1100 0.5 1 1.5 2 2.5 3 3.5 4 4.5Time [sec]Figure 5.10: This is typical output data (post video processing). Because of therotation of the video frame, the heading centers around 90 deg, with fluctuationsbeing turning, drift, or general non-straight running. Due to the two point and 2Dbeacon system, excessive pitch and roll can sometimes appear as yaw.In the same way that parametric system identification was performed on the servo,it was repeated for the entire system with respect to ARX, ARMAX and Box-Jenkinsmodels. The first parametric model to be investigated was the ARX model. Thissystem was characterized with models up to order 6.models showed no marked improvement over the lower order models.9 Note: These concerns are for both the Sprawlettes and iSprawl.Several of the higher order


72 CHAPTER 5. GENERAL SYSTEM IDENTIFICATION2015ARX Model #25 with orders [3 5 5]ExperimentARX10Heading [deg]50−5−10321Lag Plot for ARX Model [3 5 5] #25−15ε i−10−1−200 0.5 1 1.5 2 2.5 3 3.5 4 4.5Time [sec]−2−3−4−4 −3 −2 −1 0 1 2 3ε iFigure 5.11: ARX Sprawlette System Model. The ARX model of order [3 5 5] hasa SSR value of 111.7, and does not have significant offset while ignoring some ofthe normal noise and drift of running. The lag plot at the lower right shows errorcorrelation and evidence of the sinusoidal input.The [3 5 5] order model, and other higher order ones, did a fair job of predictingthe response of the system to the chirp signal test, as seen in Figure 5.11. Thecorresponding transfer function, poles and zeros are listed in equation 5.5. The errorthat is seen in the model response is within the range of fluctuation (±2.5 o ) seenduring normal running. In the lower right of Figure 5.11, the lag plot of the residualsshows some error correlation. The magnitude of the error correlation is smallconsidering that this is not a perfect model, since a non-linear system is being fit bya linear model. For further verification, Appendix Figure D.4 shows cross-validationwith other data and reveals similar results from the model, which strengthens theconfidence in the model.T F = −0.003851z4 + 0.003655z 3 + 0.006008z 2 + 0.003491z + 0.00137z 9 − 1.49z 8 + 0.2717z 7 + 0.2608z 6 (5.5)Input: turnfactor, Output: body heading, t s =16.7ms


5.2. SYSTEMS INVESTIGATED 73Zeros:(2.0002, -0.6382, -0.2064±0.4859i)Poles:(0, 0.9012±0.1504i, -0.3124)The ARMAX model was also investigated with orders up to 6. Again, the lowerorder models did very poor job of predicting the system when compared to the higherorder systems. The [3 5 3 5] order ARMAX model produced the transfer function,poles and zeros seen in equation 5.6. The resulting model response to the chirp inputcan be seen in Figure 5.12.2015ARMAX Model #25 with orders [3 5 3 5]ExperimentARMAX10Heading [deg]50−5−102.521.51Lag Plot for ARMAX Model [3 5 3 5] #25−15ε i−10.50−0.5−200 0.5 1 1.5 2 2.5 3 3.5 4 4.5Time [sec]−1−1.5−2−2.5−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5ε iFigure 5.12: ARMAX Sprawlette System Model. The ARMAX model of order [3 53 5] has a SSR value of 108.9. This model captures some of the Sprawlette turningdynamics while disregarding the usual noise and drift of robot running. The sinusoidaleffects from the input can be seen in the lag plot at the lower right.T F = −0.003846z4 + 0.00727z 3 + 0.001953z 2 − 0.001942z − 0.000247z 9 − 2.482z 8 + 2.062z 7 − 0.57z 6 (5.6)Input: turnfactor, Output: body heading, t s =16.7msZeros:(2.0100, 0.5168, -0.5169, -0.1196)Poles:(0, 0.8929±0.1464i, 0.6962)


74 CHAPTER 5. GENERAL SYSTEM IDENTIFICATIONAs seen in Figure 5.12 and equation 5.6, the ARMAX model predicts the systemfairly well. The magnitude and phasing match very well at the beginning of the experiment.Near the end, the model predicts small fluctuations about the nominal heading.The system actually fluctuates much more, which is common in the Sprawlettes (theSprawlettes can vary by ±2.5 o while running). The resulting lag plot of the residuals(in the lower right of Figure 5.12) shows artifacts of the sinusoidal input, andsome error correlation of relatively small magnitude. Cross-validation of this modelin Appendix Figure D.5 shows that it is well-behaved for different data, increasingthe confidence in the model.The third model to be investigated was the Box-Jenkins model. The [3 4 1 4 4]order model behaves much like higher order cases, and produces the transfer function,poles and zeros seen in equation 5.7. Its chirp response can be seen in Figure 5.13.T F = −0.0008728z4 − 0.00132z 3 + 0.008494z 2 − 0.005775zz 8 − 3.429z 7 + 4.624z 6 − 3.083z 5 + 1.04z 4 − 0.1496z 3 (5.7)Input: turnfactor, Output: body heading, t s =16.7msZeros:(-4.2027, 1.8299, 0.8604)Poles:(0, 0.9378±0.1523i, 0.8067, 0.3733±0.2570i)The Box-Jenkins model structure seems to be about as effective as the ARMAXand ARX models. The lag plot (lower right of Figure 5.13) and cross-validation withother datasets (Appendix Figure D.6) shows that this is a well behaved model, withsome error correlation.Considering that this is a linear model fit to a non-linearsystem, the imperfect model shows error correlation of a relatively small magnitude.Sum of Squared Residuals AnalysisThe sum of squared residual analysis was performed again, in the same way thatit was performed for the servo analysis. Using SSR and χ 2 analysis, it was againpossible to find model orders that provide the best fit for all test sets. For example, a5th order Box-Jenkins model (orders = [3 1 2 5 5]) was found to have the lowest SSRvalue (104.8), but lower order models were fairly close, and possibly more desirable


5.2. SYSTEMS INVESTIGATED 752015Box−Jenkins Model #25 with orders [3 4 1 4 4]ExperimentBox−Jenkins10Heading [deg]50−5−102.521.51Lag Plot for Box−Jenkins Model [3 4 1 4 4] #25−15ε i−10.50−0.5−200 0.5 1 1.5 2 2.5 3 3.5 4 4.5Time [sec]−1−1.5−2−2.5−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5ε iFigure 5.13: Box-Jenkins Sprawlette System Model. The BJ model of order [3 41 4 4] has a SSR value of 105.5, which shows comparable performance to some ofthe less complex ARMAX models. The lag plot at the lower right shows some errorcorrelation.because of their lower order. In the end, an ARMAX [3 5 3 5] (SSR=108.9) and BJ[3 4 1 4 4] (SSR=105.5) model were most commonly used for full system analysis,with ARX not being used much because of its lacking of a noise model.Sprawlette Dynamics from Frequency IdentificationUsing the same frequency identifications techniques as for the servo, analyzing theSprawlette input and output yields the ETFE. From the ETFE, it is possible to createa Bode plot, characterizing the response of the system to a turning input, as seen inFigure 5.14. The frequency identification shows that around 1Hz, the magnitude andphase start to drop off. This is about 1 to 1 of the bandwidth of the servos. This may2 3be due to the inertia effects of the body and also the delay caused by the sequentialservo command sequence that is necessary to change 3 leg angles.The frequency and parametric identification techniques are again compared for


76 CHAPTER 5. GENERAL SYSTEM IDENTIFICATION50Bode Plot − Sprawlette Test CP41 (Avg of 30)Magnitude (dB)0−5010 −1 10 0 10 1Phase(deg)2000−20010 −1 10 0 10 1Frequency (Hz)Figure 5.14: Bode plot of Sprawlette system dynamics from frequency identificationverification and confidence. In Figure 5.15, all three of the parametric models arecompared to the ETFE. For the magnitude, all three parametric models show closematching and suggest a performance fallout at a very slightly lower frequency (2Hz)than the ETFE (2-3Hz), and also a weaker response. In the lower frequencies, thefrequency results show greater magnitude response, which is similar to the intuitiveintegrator effects expected. But, the magnitude amplification is relatively small, andvery likely limited by the tether which limits the max heading change while running onthe treadmill. In terms of phase, all three parametric models show roughly the samebehavior as the ETFE, but having a slightly lower phase response from 1-5Hz. Inthe frequency identification results, higher frequencies results become less meaningfulas decreased performance reaches the level of the general noise and variability in thesystem. Based on these results and previous cross-validation results, the parametricmodels and frequency identification results add greater confidence to the bandwidthlimits of turning on Sprawlette.


5.2. SYSTEMS INVESTIGATED 77Magnitude (dB)500−50Bode Plot − FreqID(Avg of 30) & ParamID(Test #25) [SPRAWLETTE]FIDPID (ARX)10 −1 PID (ARMAX)PID (BJ)10 0 10 1Phase(deg)2000−20010 −1 10 0 10 1Frequency (Hz)Figure 5.15: Comparison of Bode plot of between frequency (FID) and parametric(PID) identification techniques.Sprawlette System SummaryThe results of the Sprawlette system identification techniques have revealed that ithas a system bandwidth near 1Hz. Thus any command updates faster than thatwill not show much effect unless they are cumulative over multiple strides. Strongevidence of a 5th order model was found to characterize the system. These acquiredtransfer functions can be used for closed loop control of the Sprawlette. A portionof this analysis was used to implement an antenna-based wall following controller forone of the Sprawlettes[22, 45].5.2.3 iSprawliSprawl was our first fully testable (and regularly usable) autonomous Sprawl robot.iSprawl is also currently the world’s fastest legged robot in body-lengths per second(bl/s). Thus, it is a prime specimen for investigating dynamic maneuverabilityand for comparison with other members of the Sprawl family. Appendix E contains


78 CHAPTER 5. GENERAL SYSTEM IDENTIFICATIONinformation about the operation and components used for iSprawl.Figure 5.16: Testing iSprawl with servo controller on the treadmill. For useful videodata, iSprawl must keep its beacon LEDs within the camera field of view (FOV), andavoid extensive contact with the clear barrier walls. The inset in a close-up of theservo controller board, which contains the beacon LEDs.Experiment Setup DetailsIn a similar fashion to the Sprawlettes, the turning dynamics of iSprawl were investigatedusing system identification techniques. On iSprawl, the turning methodchanges the angle of the two middle legs in an opposing fashion. This creates a turningmoment over each half stride and full stride. This also has the advantage of usinga single servo signal. This was originally done to reduce the use of onboard resourcesof the RC receiver, and later found to be a fully effective method through furtherinvestigations. By tying these input signals together, both servos will rotate the samedirection, but since they are on different sides of the robot, this causes opposing legangle changes. Thus, only one channel of the RC receiver is needed to control both


5.2. SYSTEMS INVESTIGATED 79servos. One important thing to remember on iSprawl is that the nominal mountingpositions (angles) of the legs will dictate at what point (angle) the leg will becomeparallel. This angle must be in tune with the other (front and rear) leg pairs to havestability and high speed. In these tests, the front and rear legs are unpowered (withrespect to rotation), and fixed at a certain equilibrium angle. The front legs are fixedat ∼3 o , and the rear are fixed at ∼14 o . 10The middle legs are mounted to the servooutput shafts (similar to the Sprawlettes), and the servo offsets are adjusted so thatthe angles are ∼11 o .With this configuration, iSprawl ran approximately straight on the treadmill whensupplied a voltage of 22.8V. In all of the tests, the treadmill speed was kept approximatelythe same (∼2m/s to match the robot speed when supplied 22.8V), through theuse of a marker on the treadmill slider control. By keeping the speed and power inputof the robot at constant values, these elements could be eliminated as possible sourcesfor additional test variance, since both of these could affect the turning performance.On iSprawl, the motor drive power was supplied by a DC regulated source, and thepower for the servos was supplied by an on board 7.2V rechargeable Li-Po (lithiumpolymer) battery. These decisions were made in an effort to reduce the amount ofcabling going to the robot (while maintaining fairly consistent performance) sincetethers could affect the turning performance, and the results would not capture thetrue behavior of iSprawl.In its native setup, the leg angle (and turning) control of iSprawl is done by RCsignals. The remote controller is a Hitec Neon-SS FM Transmitter, which allows theoperator to control the speed and steering. For the system identification studies ofturning, a consistent input was needed, so the human element needed to be reduced asmuch as possible. A PIC-based servo controller was developed by a visiting researcher(Virgilio Mittolli 11 ) in our Biomimetics Lab at Stanford.This controller can beprogrammed to replay a sequence of servo positions in a loop, and has been usedextensively by our lab members in the development and design of some of our robot10 Note: These angles are measured from vertical, and positive values represent rotation towardthe front of the body. Also, there are slight left/right angular differences usually ∼ ±1 o required forgood performance, the result of leg mounting and construction asymmetries.11 http://bdml.stanford.edu/twiki/bin/view/Main/ServoDriverController


80 CHAPTER 5. GENERAL SYSTEM IDENTIFICATIONplatforms (eg. SpinyBot I and II, StickyBot I and II). The software, firmware andhardware were replicated and modified to fit the needs of testing on iSprawl. Insystem identification experiments, it is often useful to have a swept sine wave sent toa system only once. Also, in order to determine the heading direction of the body,two LED beacons were added to serve as markers for front and rear points of thebody (similar to those used for Sprawlette tests). The controller was modified tosynchronously illuminate these markers, start the high speed camera capture systemand play one cycle of a chirp signal on the middle legs. In addition, before and afterthe swept sine signal, the middle legs are commanded to hold a nominal position,so as not to allow normal running dynamics to backdrive the servo and repositionthem. These additions allowed for more precise control of the testing environment foriSprawl. A tethered hand-based controller with minimal cabling was made to startthe tests, and separately STOP/START the main (running) motor. Once the servocontroller receives a START signal, the LEDs are illuminated, a high trigger is sentto the high speed camera to trigger the recording of 256 frames at 60Hz, and a servosequence is initialized at 50Hz.iSprawl Dynamics from Parametric IdentificationThe common servo sequence that was used for these system identification tests wasagain a swept sine wave. Due to the operation and update frequencies of the motorand servos, the frequency range for inspection was kept around 1 to 10 Hz. Muchhigher frequencies become less important as the legs generally cycle around 17Hz andthe servos cannot update any faster than 50Hz. The amplitude was generally keptbelow 40 servo steps (roughly 20 o on the actual robot), to prevent large turns thatwould steer the robot out of the camera field of view and into the treadmill sidebarriers. A list of the chirp signals used for testing can be seen in Table 5.3.Parametric system identification techniques involving ARX, ARMAX and Box-Jenkins models were performed on iSprawl in a similar fashion to the Sprawlette andthe servo. The ARX model, which contains white noise, was investigated for modelsup to 6th order. The model with the lowest SSR value (SSR=114.5) has the modelorder [6 6 4]. The response of this model to a chirp signal can be seen in Figure 5.17.


5.2. SYSTEMS INVESTIGATED 81Name (freq#1, freq#2, amp, time length) # Tests Used (Total)cp21 (0.1, 5, 40, 4) 3 (5)cp22 (0.1, 10, 40, 4) 0 (5)cp41 (0.1, 5, 20, 4) 9 (15)cp42 (0.1, 10, 20, 4) 34 (44)cp43 (0.1, 5, 10, 4) 8 (10)Table 5.3: Listing of the chirp signal settings that were generated as inputs for iSprawl.Note: A TF value of 40 is equivalent to approx 20 degrees.The corresponding transfer function, poles and zeros are listed in equation 5.8.T F = −0.02852z5 + 0.02459z 4 + 0.0079z 3 + 0.03393z 2 − 0.06067z + 0.07235z 9 − 1.117z 8 + 0.1289z 7 + 0.09461z 6 − 0.1279z 5 − 0.08382z 4 + 0.1851z 3 (5.8)Input: turnfactor, Output: body heading, t s =16.7msZeros:(-0.8943±0.9685i, 1.4724, 0.5892±0.8026i)Poles:(0, 0.8799±0.1203i, 0.2297±0.7086i, -0.5511±0.3453i)As seen in Figure 5.17, the data contains considerable low frequency drift, whichthe model ignores. As the test progresses, more phasing differences are noticeable.The lag plots in the lower right of Figure 5.17 demonstrate the sinusoidal nature ofthe input, and shows strong error correlation. Input data from other tests was usedfor cross-validation in Appendix Figure D.7, revealing a fairly well behaved model,despite the actual robot output data.In the ARMAX investigation, the [3 5 1 4] order model has a SSR value of 110.7,which is the lowest among those studied. The output resulting from a chirp input isseen in Figure 5.18. The transfer function, poles and zeros that are associated withthis model are seen in equation 5.9.T F = −0.01725z4 + 0.03031z 3 − 0.0139z 2 + 0.02078z − 0.008169z 8 − 1.956z 7 + 1.044z 6 − 0.07008z 5 (5.9)


82 CHAPTER 5. GENERAL SYSTEM IDENTIFICATION2015ARX Model #32 with orders [6 6 4]ExperimentARX10Heading [deg]50−5−10864Lag Plot for ARX Model [6 6 4] #322−15ε i−10−2−4−200 0.5 1 1.5 2 2.5 3 3.5 4 4.5Time [sec]−6−8−10−10 −8 −6 −4 −2 0 2 4 6 8ε iFigure 5.17: ARX iSprawl System Model. The ARX model of order [6 6 4] has a SSRvalue of 114.5. The sinusoidal effects from the input can be seen in the lag plot atthe lower right.Input: turnfactor, Output: body heading, t s =16.7msZeros:(1.6080, -0.1400±0.8165i, 0.4292)Poles:(0, 0.9390±0.1253i, 0.0781)Even with additional noise modeling, the ARMAX model still does not capturesome of the lower frequency drift in the system, and overall behaves quite similar tothe higher order ARX model. For model verification, the lag plot in the lower rightof Figure 5.18 shows the error correlation of the model data. There is strong errorcorrelation, and also evidence of the sinusoidal input. Cross-validation with otherdatasets of both similar and different input signals shows a fair response in AppendixFigure D.8.Again the final model to be investigated was the Box-Jenkins, which has greatercapacity to track noise. Of the model orders investigated, a [4 1 1 2 4] order modelwas found to have the best fit, with a SSR value of 104.9. Equation 5.10 lists the


5.2. SYSTEMS INVESTIGATED 832015ARMAX Model #32 with orders [3 5 1 4]ExperimentARMAX10Heading [deg]50−5−10864Lag Plot for ARMAX Model [3 5 1 4] #322−15ε i−10−2−4−200 0.5 1 1.5 2 2.5 3 3.5 4 4.5Time [sec]−6−8−10−10 −8 −6 −4 −2 0 2 4 6 8ε iFigure 5.18: ARMAX iSprawl System Model. The ARMAX model of order [3 5 1 4]has a SSR value of 110.7. Sinusoidal input residue can be seen in the lag plot at thelower right, which shows strong error correlation.transfer function, poles and zeros for this model. The chirp response of this modelcan be seen in Figure 5.19.T F = −0.01781z4 + 0.03431z 3 + 0.006491z 2 − 0.03414z + 0.0119z 8 − 2.863z 7 + 2.752z 6 − 0.8875z 5 (5.10)Input: turnfactor, Output: body heading, t s =16.7msZeros:(-1.0032, 1.5352, 0.9260, 0.4685)Poles:(0, 0.9667±0.1421i, 0.9296)In Figure 5.19, it is apparent that the model is attempting to track the low frequencydrift seen in the output. Overall, it does a decent job of this. The lag plotin the lower right of the figure shows the sinusoidal nature of the input and the errorcorrelation. The strong error correlation results from the imperfections in creating


84 CHAPTER 5. GENERAL SYSTEM IDENTIFICATION2015Box−Jenkins Model #32 with orders [2 3 1 1]ExperimentBox−Jenkins10Heading [deg]50−5−10−15ε i−186420−2Lag Plot for Box−Jenkins Model [4 1 1 2 4] #32−200 0.5 1 1.5 2 2.5 3 3.5 4 4.5Time [sec]−4−6−8−8 −6 −4 −2 0 2 4 6 8ε iFigure 5.19: Box-Jenkins iSprawl System Model. The Box-Jenkins model of order [41 1 2 4] has a SSR value of 104.9. The lag plot at the lower right shows the errorcorrelation.a linear model of a non-linear system. In all of the parametric methods, the magnitudeof the error correlation is about 3-4 times larger than the error correlation inSprawlette, revealing a poorer model and fit. In Appendix Figure D.9, cross-validationwith other data shows how the characterization of the low frequency drift can causeout of phase results in other datasets, reducing the confidence in this model some.iSprawl Dynamics from Frequency IdentificationIn a similar method to the servo and Sprawlette frequency identification, the input andoutput signals are compared to determine the turning dynamics over the frequenciesof interest. Using the ETFE generated from the tests, a Bode plot summarizing theturning response is seen in Figure 5.20. The system seems to show a falloff in phaseand magnitude near 1Hz. The results fall within the same frequency realm as theSprawlettes, with the Sprawlette dynamics behaving a bit slower than iSprawl (seeFigure 5.21).


5.2. SYSTEMS INVESTIGATED 8550Bode Plot − Test #1 (Avg of 54)Magnitude (dB)0−5010 −1 10 0 10 1Phase(deg)2000−20010 −1 10 0 10 1Frequency (Hz)Figure 5.20: Bode plot of iSprawl turning dynamics.For comparison, the frequency and parametric identification results are comparedfor validity in Figure 5.22. Again, the three parametric models are fairly consistentwith each other in phase and magnitude. All three parametric models show a weakermagnitude response than the EFTE at the lower frequencies. For the phase, thereis a slight offset separating the parametric models and the ETFE for frequenciesabove 1Hz. Based on these results and previous cross-validation results, the parametricmodels and frequency identification results combined help to provide someinformation about the bandwidth of iSprawl.iSprawl SummaryIn the iSprawl tests, variations can confuse the parametric methods and cause theodd model predictions seen in Figure 5.23(a-f). The discrepancies seen in the iSprawlfrequency and parametric identification methods, and its test to test variability can beexplained by the intuitive integrator in the system. This integrator will magnify anydisturbances in the system, and without a tether to resist and dampen the effects, cancause large variability to occur. These disturbances can come from treadmill seams


86 CHAPTER 5. GENERAL SYSTEM IDENTIFICATIONMagnitude (dB)500−50Comparison Bode Plot − Sprawlette (Avg of 30) vs iSprawl (Avg of 47)SprawletteiSprawl10 −1 10 0 10 1Phase(deg)2000−20010 −1 10 0 10 1Frequency (Hz)Figure 5.21: Bode plot comparisons of the Sprawlettes and iSprawl. iSprawl used theopposing angle middle leg turning scheme, and the Sprawlettes used the ipsilateralleg angle scheme.and general multi-legged dynamic locomotion, creating effects larger than those ofinterest, which confound the results. These variations cause less confidence in thelinear system identification methods for iSprawl. The effects are mostly seen in thelow frequency magnitude response and some of the high frequency phase response.Nonetheless, the combination of parametric and frequency identification methods canhelp identify the system bandwidth near 1-2Hz.5.3 General System Identification SummaryIn general the parametric identification was more involved than the frequency identification.The parametric models were generated on a dataset by dataset basis. Whendata is present that can fluctuate significantly from one trial to the next, the parametricmodels can give differing results. In contemplating sources of variability andnoise in testing, the issue of timing arose. Since the tripod is composed of 2 legs on


5.3. GENERAL SYSTEM IDENTIFICATION SUMMARY 87Magnitude (dB)500−50Bode Plot − FreqID(Avg of 54) & ParamID(Test #32) [ISPRAWL]FIDPID (ARX)10 −1 PID (ARMAX)PID (BJ)10 0 10 1Phase(deg)2000−20010 −1 10 0 10 1Frequency (Hz)Figure 5.22: Comparison of Bode plot of between frequency (FID) and parametric(PID) identification techniques.one side of the body and 1 on the other, whenever all the legs on one side of the bodyare rotating, there is a good chance that one of the legs will contact the ground withthe desired rotated angle. From this observation, it should be clear that sine andcosine inputs may yield different results. Depending on when the sine or cosine termcrosses zero, and on its frequency, turns can begin with different legs and producedifferent results. Along these lines, the initial peak and trough of the chirp signalcan also cause varying effects. Based on the servo frequency response results, the twoextremes are when the servo is most likely to be able to reach the actual desired positionof the command input. If the peak comes and goes at a point where only 1 leg isin contact with the ground for part of the time, the heading change will be minimal;if the peak occurs at the time 2 legs of the tripod are in contact with the ground,the heading change will be more significant. These considerations suggest a systemwith bimodal behavior. The system can fall into two testing regimes, depending onthe point in the stride period when the chirp (or turn) is initiated, and whether itis a sine or cosine chirp. For the servo and Sprawlette testing, the timing of chirp


88 CHAPTER 5. GENERAL SYSTEM IDENTIFICATIONinitiation was fully controlled, and repetitive from test to test, eliminating anothersource of test variation. For iSprawl, the leg displacement (for running) and leg anglechirp were asynchronous, but the higher operating frequency of iSprawl lessened theeffects of the timing in the crucial lower ferquencies.5.3.1 DiscussionThe system identification techniques that were used here revealed results that willhelp in future design and testing on the Sprawl robots. The frequency identificationprovided very useful information concerning the bandwidth of the systems. This helpsto draw limits on what to expect from each system, and what areas to improve forbetter performance. The parametric methods were able to produce models to fit thedata. Due to the noisy and varied nature of some of the data, discretion must beused in analysis of the results. The iSprawl testing did not behave well overall underthese linear system identification techniques because of its variability. Althoughobservations and results can help to identify limits. Nonetheless, the models can beused to derive some transfer functions for the systems, and in designing controllers (aswas done for an antenna based Sprawlette wall navigator). In the end, the frequencyidentification technique seemed to be the most useful for these systems. It allowedfor averaging, which eliminates some of the test to test variability, and revealed bandwidthlimits of the systems.5.3.2 Additional Ideas for Future InvestigationAlthough the testing procedure and the analysis were very adequate for the identificationperformed, there are several items that show room for improvement. Theoverhead camera recorded the LED beacons as blobs in the frame. This image isconverted to a binary black and white picture, and then the centroids of the blobs arefound. If there is significant roll or pitch of the body, the size of the LED blob canbecome distorted. This distortion can cause errors in the locations of the centroids,and thus the measurement of the angle. Spherical reflectors could replace the LEDsin future testing.


5.3. GENERAL SYSTEM IDENTIFICATION SUMMARY 89The tubing of the valves on the Sprawlettes and the push-pull cables on iSprawlcan influence leg positioning. This effect can be lumped in with the model, but it issomething that may have a remedy through careful routing to avoid influence to therotating legs. Although it rarely happened, the tubing could interact with the beaconmounting stands during extreme leg rotation. The beacons are not rigidly mounted,so this tube interference could cause LED motion, disturbing the heading measures.The beacons could also vibrate from the extreme accelerations that are present inrunning. For future tests, the beacons could be rigidly attached at a less vulnerableposition.For the Sprawlettes, the tether was held at a fixed length in order to keep thebody within the camera field of view. The tether undoubtedly affected the dynamics,which may or may not be acceptable depending on the ultimate goal of the model andthe Sprawl robots. Along the same lines, the treadmill was not moving for Sprawlettetests (it was for iSprawl), which could create slightly different dynamics than thoseseen in a free run. These last few points may all be addressed by using a normal videocamera that has a wider field of view, allowing the robot to wander over a greater areaduring the test. This would also allow for longer tests, which are currently restrictedby the memory available on the high speed camera frame grabber card.If it was desirable to optimize iSprawl for turning, a more thorough set of experimentscould be performed to maximize the turning rate, at all costs. This wouldlikely involve using more than two legs for turning. A plausible solution would bevery similar to the Sprawlettes, and could likely have better performance than theSprawlettes, since there is no tether to deter the turning. Each leg would becomeactive, rather than the current situation with the front and rear fixed, and couldbe used for turning. iSprawl is a much faster running system than the Sprawlettes,thus some of the dynamics would differ some. But, it would be a fair assumptionto believe that using a similar turning method could yield similarly stable runningand turning as in the Sprawlettes. In this scheme, all three legs of one side wouldbe used for turning in one direction. Due to the speed of iSprawl, it would likely bebetter to use these 3 legs in more of a braking mode than acceleration. Braking modewould cause the legs to be on the inside of the turn. Acceleration mode would cause


90 CHAPTER 5. GENERAL SYSTEM IDENTIFICATIONthe legs to be on the outside of the turn. Further acceleration could easily push thesystem into an unstable regime, as it is fairly close to this area currently to achieveits great performance. Using three legs on one side of the body is a fairly nice mixof staying close to stance stability and getting good turning performance. Becauseof the high speed of the robot, using additional legs could cause drastic turning andlead to instability and tip over. These remain to be investigated in the future roundof optimization and development for iSprawl v3.0. In future testing, the realizationof the multiple testing regimes that may be present in swept sine tests gives insighton how future tests should be performed to explore and eliminate the bimodal effects.Several methods of analyzing the performance of dynamic systems are been presentedin this chapter. These techniques have been applied to several of the Sprawlrobots for particular turning methods, and a turning bandwidth of 1Hz was discovered.This limit is the result of body and leg dynamics and also the servos, whichthemselves have a bandwidth of only 3Hz when in use. These results help boundexpectations of the system while turning and for use with controllers. The methodsof analysis presented here for dynamic maneuvers are not the only analysis path, andother means of achieving and approaching maneuvers are explored in the followingchapter.


5.3. GENERAL SYSTEM IDENTIFICATION SUMMARY 9115105Box−Jenkins Model # 18 with orders [ 4 1 1 2 4])ExperimentBox−Jenkins2015Box−Jenkins Model # 21 with orders [ 4 1 1 2 4])ExperimentBox−Jenkins010Heading [deg]−5−10Heading [deg]5−150−20−25−5a.−300 0.5 1 1.5 2 2.5 3 3.5 4 4.5Time [sec]2015Box−Jenkins Model # 27 with orders [ 4 1 1 2 4])ExperimentBox−Jenkinsb.−100 0.5 1 1.5 2 2.5 3 3.5 4 4.5Time [sec]1510Box−Jenkins Model # 29 with orders [ 4 1 1 2 4])ExperimentBox−JenkinsHeading [deg]1050−5−10−15−20Heading [deg]50−5−10−15c.−250 0.5 1 1.5 2 2.5 3 3.5 4 4.5Time [sec]1510Box−Jenkins Model # 31 with orders [ 4 1 1 2 4])ExperimentBox−Jenkinsd.−200 0.5 1 1.5 2 2.5 3 3.5 4 4.5Time [sec]1510Box−Jenkins Model # 37 with orders [ 4 1 1 2 4])ExperimentBox−Jenkins5Heading [deg]50Heading [deg]0−5−10−5−15e.−100 0.5 1 1.5 2 2.5 3 3.5 4 4.5Time [sec]f.−200 0.5 1 1.5 2 2.5 3 3.5 4 4.5Time [sec]Figure 5.23: iSprawl Test variability. The large variation from test to test made ithard for the parametric methods to model iSprawl. Examples are seen in tests a)#18,b)#21, c)#27, d)#29, e)#31, f)#37.


Chapter 6Dynamic ManeuverabilityWhat are good ways of comparing the turning performance under different turningsituations? Do we see evidence of significant transient effects associated with onsetof turning maneuvers? Can transient effects be exploited to achieve faster turns?This chapter addresses the first question by presenting several measures of turning.The measures are compared in the context of turns achieved by duty cycle variationsfor a robot with an alternating tripod gait. The remaining questions broach topicof dynamic maneuvering. Investigation of the Sprawlette and iSprawl robots in thischapter reveals that there is a threshold above which the stride frequency becomessufficiently rapid that dynamic effects (in particular, kinetic energy) during one strideperiod propagate to the next. Once in the dynamic regime, new ways of creating turnsare possible, as described in the final sections of this chapter.6.1 Turning Performance metricsThere is a need for a convenient performance measure that is transportable fromADAMS simulations to experiments on the robots and beyond to other systems. Inorder to compare and contrast turning data between Sprawl platforms, it is firstimportant to know which characteristics are most important and whether they arerelevant to both the Sprawlette and iSprawl platforms. Given the compact body sizeand bouncing gait, with continual small linear and angular motions, sensing certain92


6.1. TURNING PERFORMANCE METRICS 93body measures such as angular velocity or acceleration in turning may require indirectmeasurements using, for example, the motions of markers on the body tracked overseveral stride periods. In simulation too, it can be difficult to get good direct estimatesof variables such as contact forces and it may be more reliable to use a measure suchas the turn radius or heading rate measured over several strides.On the robot, it is easiest to measure position and heading for turning tests offixed duration. For such tests, the narrow treadmill cannot be used, so the robotis placed on the laboratory floor, with a camera mounted overhead to track its motion.(In future investigations, a wide angle lens could be used for a larger field ofview.) Currently, the robots are outfitted with two LED beacons and a standardCCD camera is used to capture position and heading data at specific times. Theapproximate average angular turning rate can be determined from the position andheading data. For comparison, it can also be obtained from a timed full 360 degreeturn test. Standard video at 29 frames/second can also be used to determine someturning performance parameters. For short tests, high speed video can also be used.The high speed video is most useful in conjunction with markers on the robot legs todetermine the extent of compliant leg deflection and the swing angle during a stride.Finally, for selected tests it is possible to run the robot over a force plate to measureground reaction forces (GRF); however these tests typically require many trials dueto variability in foot placement which can make it difficult to get a repeatable signalfrom each leg as the robot traverses the plate. For these reasons, it is particularly usefulto supplement the turning experiments dynamic simulations of the robots undersimilar settings.In the simulation, a full 360 degree turn can take upwards of 10 minutes on desktopcomputers, for 9 seconds of data. Thus, 180 degree and 90 degree turns are also usedto determine circular turn diameters and angular turning rate for various settings andsystems. Other useful information from the simulations includes details of averagefoot forces, friction limits, and the magnitudes of body roll and pitch motions, whichcan add further insight into the dynamics of turning.


94 CHAPTER 6. DYNAMIC MANEUVERABILITY6.1.1 Duty Cycle TurnsDuty cycle variations are easily achieved on the Sprawlettes, due to the presenceof a valve directly attached to each leg piston (pneumatic delays are small). Ingeneral, there is good agreement between the actual and simulated effects of dutycycle variations for the Sprawlette robots and their models. As seen in Figure 6.1, forduty cycle variations of less that 10% with respect to the nominal value, the effect onheading is very small. In the ADAMS simulation, such minor variations in duty cycleresult in nearly straight running. However, the ADAMS model does not account forrandom robot-to-robot variations and manufacturing differences among the legs. Inpractice, the robots almost never run completely straight but instead drift to the leftor right with a large radius of curvature.5Comparison of Turn Diameter and curvature (κ) for Sprawlette and ADAMS204.54Diam (ADAMS)Diam. (Sprawlette)κ (ADAMS)κ (Sprawlette)18163.514312[m]2.521.5110864[1/m]0.5205 10 15 20 25 30 35 0DC−X%Figure 6.1: Sprawlette duty cycle based turn diameter and curvature for simulationand experimentsIn this set of tests, the ADAMS simulations were varied from a 5 to 35% reductionin duty cycle on the left side of the body. The turn diameter monotonically decreasedas the DC was reduced. At 5% reduction, the turning moment forces were not significantin the simulation. Thus, the turn diameter was 40m, and the turn rate nearzero deg/s. Throughout these tests three performance measures were extracted for


6.1. TURNING PERFORMANCE METRICS 95analysis (see Figure 6.2): the turn diameter or radius (#1) is a measure of the abilityto execute curved paths in tight spaces; the turning rate (degrees/second) (#2) is ameasure of how quickly the direction can change; and the velocity (#3) is a measureof how rapidly the robot can continue to move while turning.Figure 6.2 suggests that DC changes of ±5% (in any configuration) may notsignificantly affect the motion of the robot. Over the range of DC changes, thevelocity monotonically decreases with increased DC variation. The turning rate hadthe most interesting characteristic. The turn rate reached a peak and then droppedas DC variations of more than 20% were performed (see Figure 6.3). This result maybe attributed to the physical properties of the pistons. Below a certain fill time, thepistons do not achieve their maximum pressure and the force delivered by each leg onthe side experiencing a duty cycle reduction begins to drop, reducing the total forceavailable for forward motion.Diameter [m]Turn rate [deg/s]Velocity [m/s]10 210 0Turn diameter10 −1 0 5 10 15 20 25 30 35Turn Rate5000 5 10 15 20 25 30 3510.5Velocity00 5 10 15 20 25 30 35Left DC−X%Figure 6.2: In duty cycle based turning experiments on Sprawlette, turning diameter,turn rate and velocity are selected for analysis and metric generation. In these tests,larger duty cycle changes do not provide enough pressure to fully extend the pistons,and the performance falls off.The choice of a cross-platform turning measure depends on the context in which


96 CHAPTER 6. DYNAMIC MANEUVERABILITYthe robot is operating. Negotiating a maze may require small turn diameters andbetter turn rate performance. Escape behaviors will favor a mix of velocity and turnrate performance. The following subsections provide three different measures thatare easy to compute.6.1.2 General PerformanceThe first turning performance measure is turn rate. This gives the expected change inheading for a given period of turn time, which is critical in general path planning orobstacle avoidance. Though this is the single most important measure, it is not alwaysthe easiest measurement to obtain. Other items may often have to be measured andused to derive the turn rate. The majority of other performance measures should seekto optimize the turn rate, with some additional constraints for certain situations. Thestraightforward of turn rate is seen in equation 6.1 and Figure 6.3 for DC based turns.Turn rate is greatest for duty cycle variations of appproximatley 20%.P 1 = ˙θ, where θ is the heading. (6.1)60Metric #1 : Turn rate5040[deg/s]30201005 10 15 20 25 30 35DC−X%Figure 6.3: Turning Performance Metric #1 - Standard turn rate. A 20% DC reduction(to 15% duty cycle on the inside legs) gives the best turn rate.


6.1. TURNING PERFORMANCE METRICS 976.1.3 Curvature Optimized PerformanceThe curvature optimized performance measure seeks to obtain the maximum changein heading in the smallest distance covered.Small radii turns are useful in clutteredenvironments. A general equation for this performance measure would have theturning rate divided by the turn diameter, as seen in equation 6.2. Applied to theduty cycle based turn example, the curvature optimized performance metric is seenin Figure 6.4 and occurs for the largest practical variations in duty cycle.P 2 = ˙θ , where D is the turn diameter. (6.2)D150Metric #2 : Turn rate / Turn diam.100[deg/(m*s)]5005 10 15 20 25 30 35DC−X%Figure 6.4: Turning Performance Metric #2 - Curvature optimized. This metricmight come in handy in a maze structure. A 25% DC reduction (to 10%) providesthe best performance.6.1.4 Speed Optimized PerformanceThe speed optimized performance measure seeks to obtain the maximum turningrate, while also maintaining high velocity. Maintaining a higher speed also improvesthe efficiency of motion, as less energy is wasted accelerating and decelerating the


98 CHAPTER 6. DYNAMIC MANEUVERABILITYbody. A general equation for this performance measure would have the turning ratemultiplied by the velocity, as seen in equation 6.3. For the duty cycle based turningexample, the speed optimized performance metric is shown in Figure 6.5 and occursat modest variations of 15% with respect to the nominal duty cycle.P 3 = ˙θ · V, where V is the forward velocity. (6.3)20Metric #3 : Turn rate * Vel[deg⋅m/s 2 ]1816141210864205 10 15 20 25 30 35DC−X%Figure 6.5: Turning Performance Metric #3 - Speed optimized. This metric maybe preferred when time and distance travelled are critical. The best performance isreached at 15% DC reduction (to 20%).Looking more generally at the turning performance obtained with duty cycle variations,we can observe that DC-based turning is likely to achieve curvature-optimizedperformance at the expense of speed. For significant variations in duty cycle, we runinto limitations on the fill time for the pistons, with a corresponding drop in the axialleg forces. In comparison, slightly varying the equilibrium leg angles results in significantchanges in the horizontal ground force components, which can produce turningmoments without affecting the total leg force and with small changes in the forwardspeed.


6.2. DYNAMIC MANEUVERS 996.2 Dynamic ManeuversFor the purposes of this thesis, dynamic locomotion occurs when kinetic and gravitationalpotential energy undergo substantial variation over a stride. In dynamicrunning, the motion during a stride depends significantly on the exit conditions atthe end of the previous stride. Most gaits with an aerial phase can be considereddynamic. However, at low stride frequencies the Sprawl robots revert to a ”hopsettle-fire”behavior in which no kinetic energy is recovered at the end of a hop and,therefore, motion during one stride is independent of the previous stride [15].For turning maneuvers, dynamic behavior is characterized by significant angularmomentum, often in the pitch and roll directions as well as in yaw. The pitch androll motions can be used to temporarily increase the vertical forces on particular feet,reducing their tendency to slip and creating larger turning moments. Such motionsmay be marginally stable [18]. The body goes through a pitching and rolling motionto put it in a configuration to obtain peak turning performance (somewhat analogousto the procedures used for rapid maneuvering in aircraft [1]). This technique isaddressed in Section 6.2.3.6.2.1 Dynamic vs Static Maneuver PlanningFinding the proper ways to use body dynamics can help to improve performance.By examining the natural frequencies of the body and subsystems, better controltechniques can be implemented to exploit the natural dynamics. For example, itwould be good to avoid attempts to actuate the legs at frequencies that defeat theleg or body dynamics.The Sprawl robots exhibit stable open-loop running over a range of stride frequencies,examined in simulation and in experiments. The default stride period is 130ms(∼8Hz) for the Sprawlettes and 70ms (∼14Hz) for iSprawl. However, some frequenciesare more conducive to controllable turns than others. This effect can be seen byrunning the robots or their simulations over a range of frequencies and observing thechanges in speed, heading, etc. that result for (i) nominal straight ahead runs and(ii) commanded turns.


100 CHAPTER 6. DYNAMIC MANEUVERABILITYFigures 6.6 - fig:dynturnIS show the preformance of the Sprawlette and iSprawlmodels as the stride frequency is varied between 0.5Hz and 20Hz. The results thatwere recorded are: 1) Heading, 2) Distance traveled 12 , 3) Velocity, 4)Turn Radiusand 5) Turn Rate. In each case, the robot model was launched and allowed to reachsteady-state motion. The variables were recorded over 5 seconds of running.For commanded straight ahead locomotion in the Sprawlette model, the distancetraveled and velocity showed a monotonic increase with increased stride frequency(see Figures 6.6 and 6.7). The heading, and consequently the turn rate and radius,were less predictable. In particular, we see that at frequencies of approximately 5-6Hz, the robot invariably turned to one side with a significant turn rate. On closerinspection, it was found that this behavior was correlated with large roll oscillationsand with the robot essentially running on only one tripod. This is an example of nonperiod-onehopping, which has been observed in previous work for open-loop hoppersand hexapods [13]. At frequencies below 2.5 Hz, the robot is exhibiting hop-settle-firebehavior in which all kinetic energy is lost at the end of each hop.Figure 6.7 shows the corresponding results for a moderate turn, commanded bychanging the leg angles 20 degrees from their nominal position, according to the turnfactordiscussion in Chapter 4. Again we see the effects of non-period-one hopping,now at a slightly lower frequency of 4-5 Hz. Below 2.5 Hz, the robot again exhibitshop-settle-fire behavior. Depending on the desired performance, distinct stride periodscould be used to either minimize the turn radius and maximize the turn rate(4.5Hz or 222ms), or maximize the velocity and distance traveled (near 10Hz or100ms). The nominal stride period that the robot and simulation operate at is 7.7Hzor 130ms, provides a balance of speed and turning performance.Similar tests were conducted for the iSprawl model. For nominal straight-aheadrunning (Figure 6.8) the velocity shows a general increase as the frequency rises,with a significant increase as it approaches the nominal stride frequency of 14.3 Hz.iSprawl is more highly tuned than the Sprawlettes and in fact runs rather poorly,with substantial pitching and rolling at frequencies below 6 Hz. Between 6 and 12 Hz12 Note: The distance was measured by arc length and absolute distance traveled, to be useful forboth turning and straight ahead tests.


6.2. DYNAMIC MANEUVERS 101the robot begins to exhibit the bouncing dynamic gait that characterizes its normalrunning, however it easily veers off course.The behavior of iSprawl for a commanded turn is similar (Figure 6.9). Again, theheading changes somewhat erratically between 6 Hz and 10 Hz. Above 13.5 Hz, therobot runs smoothly and responds predictably to commanded changes in heading.The turning performance and speed are both optimized for a relatively narrow rangeof frequencies around 14 Hz, at which the robot and its simulation both run verysmoothly.The results seen for the Sprawlette and iSprawl models are reminiscent of observationsof animal locomotion in which animals choose gaits to minimize their energyexpenditure, and maximize speed or maneuverability[37, 50, 51, 70]. Unlike the animals,the robots with their under-actuated mechanisms and open-loop motor patternsare tuned to work best for only a single gait and, especially in the case of iSprawl, anarrow range of stride frequencies.6.2.2 Ways to get dynamic turningUsing any of the three body rotation angles (yaw, pitch and roll), it is possibleto create dynamic maneuvers. In the following sections, these angles are exploredfor their individual effects. Once well understood, these can be combined to createsignificant maneuvers.Yaw Theory: Moment sum about COMThe turning moments about the COM can be estimated using information on theleg placement (approximated from leg angles), time of contact (approximated fromduty cycle) and force (approximated from input pressure and/or duty cycle). In ahorizontal plane model, this information can be used to predict heading changes, seenin the yaw angle. This model assumes small roll and pitch angles (less than 5 o ). Here,we use force data from the full dynamic simulation, averaged over multiple stridesonce the robot has attained stead-state running.For the case of iSprawl, the middle legs are rotated to effect turns. For this


102 CHAPTER 6. DYNAMIC MANEUVERABILITYFigure 6.6: Dynamic (straight) Locomotion Results for Sprawlette. Motion is primarilyhop-settle-fire below 2.5Hz (a), and dynamic above 5Hz (b). Between 5 Hzand 6Hz (c), there is a regime characterized by non-period-one running in which therobot primarily runs on a single tripod and tends to turn rapidly. The nominal runningspeed is 7.7Hz (d). Note: Turning radii greater than 3 m are considered to be’straight’.


6.2. DYNAMIC MANEUVERS 103Figure 6.7: Dynamic Turning Results for Sprawlette. Results are shown for a commandedturn with a 20 deg. change in leg angles. Below 2.5Hz (a), the motion ishop-settle-fire. Between 4 Hz and 5 Hz (b) there is a regime characterized by nonperiod-onerunning in which the robot primarily runs on a single tripod and turnsrapidly. Above 6 Hz the robot reverts to smooth running (c) and turns as expected.The default running speed is 7.7Hz (d) which provides a compromise between maximumspeed and maneuverability.


104 CHAPTER 6. DYNAMIC MANEUVERABILITYFigure 6.8: Dynamic (straight) Locomotion Results for iSprawl. Motion is quasidynamic(hope-settle-fire) below 6Hz (a), and dynamic above 10Hz (b). The defaultrunning speed is 14.3Hz (c), at which the robot runs very smoothly.


6.2. DYNAMIC MANEUVERS 105Figure 6.9: Dynamic Turning Results for iSprawl. Results are shown for a commandedturn with a 3 deg. change in leg angles. Below 6Hz (a), the robot is unresponsive toturning commands. Between 6 and 10Hz (b), there is a transition to dynamic motionbut the turning performance is unpredictable until the robot enters a regime of smoothrunning above 12 Hz. Turning and speed are both optimized at approximately 14 Hz(c).


106 CHAPTER 6. DYNAMIC MANEUVERABILITYMoment sum [N*m]50−550Total Turning Moment from GRFRange: [3355:4201]−3 −2 −1 0 1 2 3Mid LA Offset [deg]BODY.CM.WY (ie. turn rate OR ~angular momentum trend)Range: [3355:4201][deg/s]0−50−3 −2 −1 0 1 2 3Mid LA Offset [deg]Figure 6.10: iSprawl. Sum of Moments Analysis for last 20 strides of a 7 sec simulation.investigation, the middle leg angles were changed by ±3 o at 0.5 o increments, andthe moment sum was calculated using selected strides. In 7 sec of simulation data,there are about 100 full strides. The first 42 are part of a transient period, while therobot gets up to speed. Of the remaining strides, 20 were selected to perform thesum of moments analysis (see Figure 6.10). Using this stride selection, it is clear thatleg angle is closely related to turn rate, and that there is some non-linearity in therelationship between turn rate and moment sum. Using the same data, the 10 last(smoothest) strides were also examined (see Figure 6.11). This selection of stridesshows a closer match between turn rate and moment sum.Roll Theory: Body roll (4 tilt states, 3 level states)Body roll can also contribute to turning. The Sprawlettes in particular can achieveindependent control of leg extension on each side of the body. Viewing the bodyfrom the front or rear, as shown in Figure 6.12, reveals several distinct configurationsthat can be acheived. The nominal configuration is #7. By actuating the valves


6.2. DYNAMIC MANEUVERS 107Moment sum [N*m]20−250Total Turning Moment from GRFRange: [3800:4201]−3 −2 −1 0 1 2 3Mid LA Offset [deg]BODY.CM.WY (ie. turn rate OR ~angular momentum trend)Range: [3800:4201][deg/s]0−50−3 −2 −1 0 1 2 3Mid LA Offset [deg]Figure 6.11: iSprawl. Sum of Moments Analysis for last 10 strides of a 7 sec simulation.with a sufficiently long duty cycle, the legs can be made to extend fully on eitherside while turning to the left (#1, #2) or right (#3, #4). In addition, it is possibleto keep all legs in state of nearly full extension (#5) or compression (#6). Theseconfigurations all occur at the sacrifice of power and speed; however they can be usedto execute abrupt maneuvers. For example, keeping the middle leg extended on theinside of a turn allows the robot to pivot about that leg in a manner that resemblesturning about a fixed peg leg for bipeds. Other height increase strategies (such as DCincrease) cause similar effects, only to a lesser degree. For example, a height decrease(DC-based strategy used by Porta-Sprawl and (collapsing) leg angle strategy used byiSprawl, see Figure 6.12 #1 and #4) causes less forward motion on the right, so thatthe left side turns the body.In vehicle dynamic analysis, it is possible to calculate an instantaneous roll center,based on suspension characteristics. The roll center is a point about which thesuspension forces produce no roll. The location of the roll center relative to the bodyCOM helps determine which direction the body will roll in a turn and affects turning


108 CHAPTER 6. DYNAMIC MANEUVERABILITYFigure 6.12: Transverse plane model. Nominal body roll state is #7. Body states#5 and #6 are suboptimal for standard running, but may be acceptable for certainterrain conditions. Body state pairs #1, and #3 can produce turns to theleft and right, respectively.charcteristics. Like most vehicles, the Sprawlettes roll to the outside of turn; howeveriSprawl rolls to the inside. In the remainder of this section, I examine the effects ofvarying the axial and rotational compliances (the suspension of these ”vehicles”) ontheir roll behavior during turns.There are limits to how much the suspension characteristics can be modified beforethe robots either run slowly or unstably. For the iSprawl and Sprawlette models, themagnitude of the axial and rotational compliances were changed by ±3 incrementalsteps that caused a modest 50% change to the default values (see Tables 6.1-6.4). Forthe axial compliance in the Sprawlettes, there were no significant trends (see Figure6.13.1). The body roll and turn rate generally decreased with larger changes (90 ocorresponds to no roll). The rotational compliance of the Sprawlettes created moreconsistent results (see Figure 6.13.2). For decreasing stiffness, the body rolled moreand the turn rate decreased. For increasing stiffness, the body rolled less and the turnrate again decreased. As expected, the iSprawl model was more temperamental. Axialcompliance changes in iSprawl led to great instability in a couple of cases (ending onits back in one case, see Figure 6.14.1). Decreasing axial stiffness on iSprawl eventuallyled to a change in the sign of turn rate (ie. turning a different direction), but thebody roll remained in the same direction. Thus, the iSprawl model began to roll toto the outside at low stiffness. The rotational compliance changes showed a similar


6.2. DYNAMIC MANEUVERS 109change in roll direction for slight decreases in stiffness (see Figure 6.14.2). Furtherrotational compliance decreases and any increases in rotational compliance lead toinstability.The location of the leg compliance is another parameter that can be altered toinvestigate the body roll response. The default location of the iSprawl leg complianceis near the top of the upper leg (see Figure 6.15), while it is closer to the bottom of theupper leg on the Sprawlettes (see Figure 6.16). The location was moved to a middleand low point on the iSprawl legs (see Table 6.5), and moved up to a middle and highpoint on the Sprawlette legs (see Table 6.6). Raising the compliance location did notchange the direction of body roll (see Figure 6.17a); however the body tended to rollmore and the turn rate decreased. In the iSprawl case, the turn rate decreased andeven turned the other way as the compliant flexure was lowered (see Figure 6.17b).The body COM is the other variable that influences the direction of the bodyroll. In the Sprawlette and iSprawl models, the body was shifted up and down (seeTables 6.7 and 6.8) to investigate the roll response (see Figures 6.18 and 6.19). Inboth models, the COM changes did not change the direction of the body roll or turnrate. For the Sprawlettes, increased body COM height produced slightly more bodyroll and turn rate (see Figure 6.20a). For iSprawl, the results were less consistent,with both increases and decreases producing slightly less roll, and small variations inturn rates (see Figure 6.20b).In summary, it does not appear that changes in the Sprawl and iSprawl axial orrotational compliances, compliant flexure locations or COM heights would be particularlyadvantageous. In a few cases they might lead to faster turns, but at theexpense of stability or speed. The roll analysis does highlight the differences in turningbehavior observed for the iSprawl platform in comparison to the Sprawlettes.Pitch Theory: Different speeds for each side (∼PITCH) & Tread TheoryThe turning effects can also be interpreted from the point of view of ipsilateral legspeed which, in the case of the Sprawl robots, is closely correlated with the overallpitch angle of the body. Jonathan Clark [20, 18] and Goran Dordevic [27] haveperformed experiments that correlate leg angle settings (via intersection points and


110 CHAPTER 6. DYNAMIC MANEUVERABILITY[deg]250200’COMP_A_SP’ TEST GROUP SUMMARY − [Range − 3950:4201]Body Heading (Yaw)1501 2 3 4 5 6 7Turn Rate[deg/s]4030201)[deg][deg]1 2 3 4 5 6 7Body Roll96949290881 2 3 4 5 6 7Test #25020015010050’COMP_R_SP’ TEST GROUP SUMMARY − [Range − 3950:4201]Body Heading (Yaw)1 2 3 4 5 6 7Turn Rate2)[deg/s][deg]4030201 2 3 4 5 6 7Body Roll9998971 2 3 4 5 6 7Test #Figure 6.13: Changes to 1)axial and 2)rotational compliance in Sprawlette. (Test#4 is the default setting for both compliance groups. Note: Decreases to the left,increases to the left of Test#4. See Tables 6.1 and 6.2 for test settings.)


6.2. DYNAMIC MANEUVERS 111[deg]2000−200−400’COMP_A_IS’ TEST GROUP SUMMARY − [Range − 3950:4201]Body Heading (Yaw)1 2 3 4 5 6 7 8Turn Rate[deg/s]0−50−1001 2 3 4 5 6 7 8Body Roll1)[deg][deg][deg/s]2001501001 2 3 4 5 6 7 8Test #2000’COMP_R_IS’ TEST GROUP SUMMARY − [Range − 3950:4201]Body Heading (Yaw)−2001 2 3 4 5 6 72001000Turn Rate2)[deg]1 2 3 4 5 6 7Body Roll9694929088861 2 3 4 5 6 7Test #Figure 6.14: Changes to 1)axial and 2)rotational compliance in iSprawl. (Test #3is the default setting for axial compliance, #4 is the default setting for rotationalcompliance. Note: Decreases to the left, increases to the left of default test number.See Tables 6.3 and 6.4 for test settings.)


112 CHAPTER 6. DYNAMIC MANEUVERABILITYFigure 6.15: Changes were made to the height of the rotational compliance on theiSprawl legs (actual iSprawl included for comparison). 1) default, 2) middle (DOWN20mm), 3) low (DOWN 35mm)Figure 6.16: Changes were made to the height of the rotational compliance on thesimulated Sprawlette legs (actual Sprawlette included for comparison). 1) default, 2)middle (UP 15mm), 3) high (UP 30mm).


6.2. DYNAMIC MANEUVERS 113[deg][deg/s]25020015045403530’COMP_SP_H’ TEST GROUP SUMMARY − [Range − 3950:4201]Body Heading (Yaw)1 2 3Turn Rate1 2 3Body Roll100[deg]98a)[deg]1 2 3Test #’COMP_IS_H’ TEST GROUP SUMMARY − [Range − 3950:4201]Body Heading (Yaw)8060402001 2 320Turn Rateb)[deg][deg/s]1001 2 3Body Roll89.9289.989.8889.8689.8489.821 2 3Test #Figure 6.17: Changes in the location of rotational compliance for a)Sprawlette andb)iSprawl. Test #s correspond to those seen in Figures 6.15 and 6.16. (#1 is thenominal setting. See Tables 6.5 and 6.6 for test settings.)


114 CHAPTER 6. DYNAMIC MANEUVERABILITY1. 2.3. 4.Figure 6.18: Changes to the body COM height for iSprawl. 1. low (DOWN 5mm),2. default 3. middle (UP 10mm), 4. high (UP 20mm)


6.2. DYNAMIC MANEUVERS 1151. 2.3. 4.Figure 6.19: Changes to the body COM height for Sprawlette. 1. low (DOWN10mm), 2. middle (DOWN 5mm), 3. default 4. high (UP 10mm)


116 CHAPTER 6. DYNAMIC MANEUVERABILITY300’COMP_SP_B’ TEST GROUP SUMMARY − [Range − 3950:4201]Body Heading (Yaw)[deg]280a)[deg][deg/s]504597.59796.5961001 2 3 4Turn Rate1 2 3 4Body Roll1 2 3 4Test #’COMP_IS_B’ TEST GROUP SUMMARY − [Range − 3950:4201]Body Heading (Yaw)[deg]80b)[deg][deg/s]1 2 3 4Turn Rate2520151051 2 3 4Body Roll90.059089.951 2 3 4Test #Figure 6.20: Changes in location of the body COM height for a)Sprawlette andb)iSprawl. Test #s correspond to those seen in Figures 6.18 and 6.19. (#3 is thenominal setting for Sprawlette, #2 is the nominal setting for iSprawl. See Tables 6.7and 6.8 for test settings.)


6.2. DYNAMIC MANEUVERS 117Test# Settings [N/m,N]1 PS=16.5, PP=0.462 PS=36.5, PP=0.763 PS=56.5, PP=1.064 (*) PS=76.5, PP=1.36 (*)5 PS=96.5, PP=1.666 PS=116.5, PP=1.967 PS=136.5, PP=2.26Table 6.1: Test settings for Sprawlette axial compliance. PS=PISTON STIFFNESS,PP=PISTON PRELOAD, *=DefaultTest# Settings [N/deg]1 HS=0.0792 HS=0.1043 HS=0.1294 (*) HS=0.154 (*)5 HS=0.1796 HS=0.2047 HS=0.229Table 6.2: Test settings for Sprawlette rotational compliance. HS=HIP STIFFNESS,*=Defaultsprawl angles) to the Sprawl robot speed. To achieve a turn, one can set the legangles on each side of the body to produce different speeds so that the robot turnslike a treaded vehicle (Figure 6.22). The result is a kinematic theory of turn radiusand speed.To examine this tread theory on iSprawl, the middle leg angles are the parametersof interest. First the relationship between robot velocity and middle leg angles isneeded. Both middle leg angles were set at the same angle from ±10 o of the nominalsetting of 29 o , using 1 o test increments, and the corresponding velocity was recorded.Using this information, it is possible to estimate turn rates based on tread theoryfor various middle leg settings. These predictions are compared with simulations


118 CHAPTER 6. DYNAMIC MANEUVERABILITYTest# Settings [N/m]1 PS=5002 PS=10003 (*) PS=1500 (*)4 PS=20005 PS=25006 PS=30007 PS=35008 PS=4000Table 6.3: Test settings for iSprawl axial compliance.*=DefaultPS=PISTON STIFFNESS,Test# Settings [N/deg](all 3)1 HS=(0.5,0.5,0.45)2 HS=(0.6,0.6,0.55)3 HS=(0.7,0.7,0.65)4 (*) HS=(0.8,0.8,0.75) (*)5 HS=(0.9,0.9,0.85)6 HS=(1.0,1.0,0.95)7 HS=(1.1,1.1,1.05)Table 6.4: Test settings for iSprawl rotational compliance. HS=HIP STIFFNESS forfront/mid/rear, *=Defaultconducted for various combinations of leg angles. For turning iSprawl, the middlelegs angles are changed in opposing directions by equal amounts of up to ±3 o .Several initial middle leg angles were investigated in addition to the nominal angleof 29 o . Figure 6.23 shows the results for initial angles of 24 o to 29 o . In general, thecorrelation between the turning predicted by kinematic tread theory and the actualturning performance of the robot is poor. Turning in iSprawl evidently involvesdynamic effects which are not explained by kinematic theory.In general, we observe that the turning performance of the Sprawlette and iSprawlrobots is best understood as a dynamic phenomenon. The default values of the leg


6.2. DYNAMIC MANEUVERS 119Test# Settings1 Default2 Moved DOWN 20mm (middle)3 Moved DOWN 35mm (low)Table 6.5: Test settings for iSprawl rotational compliance height location.Test# Settings1 Default2 Moved UP 15mm (middle)3 Moved UP 30mm (high)Table 6.6: Test settings for Sprawlette rotational compliance height location.angles, compliances, etc. give nearly the best results for turning as well as for straightahead running. Simple kinematic theories of speed versus leg angles do not accountfor the performance.6.2.3 Semi-Stable Maneuvers and Extreme TurningTo increase the turning performance further, we can take advantage of the dynamicnature of the Sprawl locomotion and investigate transient maneuvers that may not becompletely stable over multiple strides. In the following sections, examples and ideasare presented for creating abrupt turns. These involve simple changes that cause aFigure 6.21: Sagittal plane model. Body pitch #1 is used in normal running. Bodypitches #2 and #3 can be used to speed and slow the body to a certain degree. Whenpitch speed control is only executed on one body side, turning can be induced. Note:Left is forward direction of travel.


120 CHAPTER 6. DYNAMIC MANEUVERABILITYTest# Settings1 Moved DOWN 5mm (low)2 Default3 Moved UP 10mm (middle)4 Moved UP 20mm (high)Table 6.7: Test settings for iSprawl body COM height location.Test# Settings1 Moved DOWN 10mm (low)2 Moved DOWN 5mm (middle)3 Default4 Moved UP 10mm (high)Table 6.8: Test settings for Sprawlette body COM height location.combination of yaw-pitch-roll dynamics to create a turn.Leg as pivot (DC primary, LA secondary)The simplest approach is to use legs as a pivot point to create abrupt turns, asexamples from nature have shown [28, 78]. The effect can be achieved by actuatingone of them middle legs for an extended time, as in the case of the Sprawlettes (Figure6.24a). Depending on the forward speed, the leg may exceed its friction limits anddrag for some distance. For iSprawl, a roughly analogous situation can be obtainedby making one middle leg vertical while keeping the other legs at an angle (Figure6.24b).“Ripple” GaitIn general, iSprawl achieves turns by changing middle legs in opposite directions,but the changes are small, and do not result in full reversal. Larger changes leadto instability and spinning. For the extreme case of turning about the COM of therobot, angular leg reversal may be the most promising technique (similar to early


6.2. DYNAMIC MANEUVERS 121Figure 6.22: Tank Tread Analysis. Tanks turn by settings the speed of the treadsto different values. The slower tread (v 1 < v 2 ) becomes the inside of the turn, andthe treads follow the inner and outer circles, while the COM of the tank follows themiddle, dashed circle.RHex turning [59]). For the Sprawl robots, this degree of leg motion may not beachievable within one stride period due to the actuator dynamics revealed in Chapter5. If this is the case, helpful transient sequences may be necessary to start the turnwhile the legs rotate to the desired position. This has been demonstrated with the“ripple” (circular) gait.A “ripple” gait moves as a circular wave of leg actuation around the body, eitherCW or CCW (Figure 6.25). This gait causes a moderate turn within one stride(see Figures 6.27 and 6.28), but does not result in a stable period 1 locomotion overmultiple strides. A description of the details for each frame of Figures 6.27 and 6.28is given in Table 6.9. The first 2 frames are standard alternating tripod steps. In thethird frame, the ripple gait starts with all of the legs retracted. The legs are thensequentially actuated and retracted in a CCW motion, starting with the left front(LF) leg in frame 4. In frame 5, the left middle (LM) leg is actuated and there isconsiderable body roll to the outside of the turn, and pitch to the rear. In frame 6,the left rear (LR) leg is actuated, and the LF is retracted. In frame 7, the right rearleg is actuated, the LM is retracted and body roll and pitch decrease. In frame 8, the


122 CHAPTER 6. DYNAMIC MANEUVERABILITY150100Comparison of iSprawl Turn RatesADAMS SimTread Theory150100Comparison of iSprawl Turn RatesADAMS SimTread Theory5050[deg/s]0[deg/s]0−50−50−100−100a)[deg/s]−150−3 −2 −1 0 1 2 3Test Steps [base=24deg]806040200−20−40−60Comparison of iSprawl Turn RatesADAMS SimTread Theoryb)[deg/s]−150−3 −2 −1 0 1 2 3Test Steps [base=26deg]3002001000−100−200Comparison of iSprawl Turn RatesADAMS SimTread Theoryc)−80−3 −2 −1 0 1 2 3Test Steps [base=27deg]300200d)Comparison of iSprawl Turn Rates−300−3 −2 −1 0 1 2 3Test Steps [base=28deg]ADAMS SimTread Theory100[deg/s]0−100−200e)−300−3 −2 −1 0 1 2 3Test Steps [base=29deg]Figure 6.23: Tread Theory results for iSprawl. Tread theory was used to predict theturn rate for each base (nominal) value of the middle legs. The base middle leg angle(d) (28 o ) was varied to more broadly examine the feasibility of the tread theory.


6.2. DYNAMIC MANEUVERS 123a) b)Figure 6.24: Extreme maneuvers. a)Turning about a planted leg, and b)using morevertical legs to produce smaller forward propulsive forces on one side.Figure 6.25: Alternate gaits. One example of an alternate gait is the “ripple” gaituses follow the leader leg activation in either a CW or CCW direction around thebody. This can create significant heading change within one stride period.


124 CHAPTER 6. DYNAMIC MANEUVERABILITYright middle (RM) leg is actuated, the LR is retracted, and the body pitches forwardand rolls to the inside. In frame 9, the right front (RF) leg is actuated, the RR isretracted and the inside body roll increases while the body starts to turn. In frame10, the standard left tripod is commanded again, but RF continues to complete itsfull ripple stage. During the left to right tripod transition in frame 11, there is aconsiderable left turn that continues into the following right and left tripod stancesof frames 12 and 13. In the final frames, the robot continues on its new path, takinga step with the left tripod. The final result is a ∼45 o turn within one stride period(130ms). In the gait, the body rotates such that highly influential legs (front andrear) can impart significant turning moments quickly.For comparison, Figure 6.29) shows the effect of turning with only leg anglechanges, while maintaining an alternating tripod gait. Again, a description of thedetails for each frame in Figure 6.29 is given in Table 6.10. In frames 1 through 4,the robot moved in its standard alternating tripod gait. In frame 5, the left tripod isactuated and the left leg angles have rotated (the tops of the legs move toward therear) to create a left turn. The left front and rear legs are at angles that nearly canceltheir propulsive effects. In frame 6, the right tripod is actuated, and the forwardmomentum of the body causes the left middle leg to rotate considerably. The leftturn is noticeable as the left middle leg acts like a peg about which the body rotates.The turn continues slightly in frame 7, as the legs return to normal angles and theleft tripod is actuated. In the last two frames, the body continues on its new pathand alternating tripod gait. The final result is a ∼30 o turn within one stride period(130ms). There is significantly less yaw-pitch-roll motion in this example when comparedto the ripple maneuver, with the exception being frames 6 and 7, when mostof the turning occurs.Yaw-Pitch-Roll CombinationsThe ripple gait shows how yaw, pitch and roll dynamics can be exploited to enhanceturning. The “ripple” gait can be applied for one stride period, to quickly get theturn started. At the same time, the leg angles can be commanded to shift to aturning state. At the end of the ripple, the leg angles have moved to a position to


6.2. DYNAMIC MANEUVERS 125Figure 6.26: Leg reversal. Legs on one side can be rotated to a reverse position toturn the body about a point near the COM.be effective for turning. By the end of the second stride period with offset leg angles,the body will have rotated 90 o , which could not be achieved by either the ripple gaitor the leg angle turning methods separately. This combination, though not suitablefor sustained locomotion, achieves a rapid turn in a very short distance. Future workcould involve the use of numerical algorithms to search for other transient maneuvers,following the general approach taken in [41] for a galloping quadruped.6.2.4 Leg Use OverviewIn testing the Sprawlettes and iSprawl, some general trends in leg function appear.The front leg has the most distinct function of the 3 contralateral leg pairs. Themiddle legs are used to support and also thrust the body. The rear legs are mainlyused to thrust the body forward and usually contribute little to turning. In otherwork, the front leg has been shown [20] to especially influence the speed and stabilityof the robot. It is also the most important leg in maintaining control of the robotduring abrupt maneuvers.Changes in leg function occur by altering leg angles or duty cycles (for theSprawlettes). As in insects and arthropods, leg placement changes generally havea substantial effect on body maneuvers [21, 23, 26, 38] but duty cycles changes canbe used individually or in concert with leg placement changes to get a desired effect(such as the “ripple” and leg angle combination).


126 CHAPTER 6. DYNAMIC MANEUVERABILITYFigure 6.27: Ripple - First Frames. A significant heading change can be quicklyaccomplished by using a “ripple” gait for one stride period, then returning to thestandard tripod gait. Note: Each numbered set contains a corresponding side view(TOP frame) and front view (BOTTOM frame).


6.3. SUMMARY 127Figure 6.28: Ripple - Last Frames. A significant heading change can be quicklyaccomplished by using a “ripple” gait for one stride period, then returning to thestandard tripod gait.6.3 SummaryIn this chapter, dynamic maneuverability has been explored through example andexperiment. Operational regimes are identified for some of the Sprawl family, whichhighlight the importance of considering how the dynamics of the robot are affected bychanges in stride frequency, leg angles, and duty cycle. Simple kinematic models donot provide accurate predictions of turning. The complex robot dynamics can also beexploited, with transient maneuvers that, while not suitable for sustained operation,allow it to achieve more abrupt turns than can be obtained with a single strategysuch as changing leg angles or duty cycles.


128 CHAPTER 6. DYNAMIC MANEUVERABILITYFigure 6.29: Leg Angles. For comparison, a smaller heading change can be accomplishedby changing the leg angles for one stride period, then returning to the nominalleg angles. Note: Each numbered set contains a corresponding side view (TOP frame)and front view (BOTTOM frame).


6.3. SUMMARY 129Frame # Description1 Std. LEFT tripod2 Std. RIGHT tripod3 Start of ripple, all legs UP4 LF foot DOWN5 LM foot DOWN6 LF foot UP, LR foot DOWN7 LM foot UP, RR foot DOWN8 LR foot UP, RM foot DOWN9 RR foot UP, RF foot DOWN10 Std. LEFT tripod11 Large change in heading during L↔R tripod switch12 Std. RIGHT tripod13 Std. LEFT tripod14 Std. RIGHT tripodTable 6.9: Frame by frame description of ripple gait turning effects seen in Figures6.27 and 6.28. Note: LF=left front, RF=right front, LM=left mid, RM=right mid,LR=left rear, RR=right rear.Frame # Description1 Std. LEFT tripod2 Std. RIGHT tripod3 Std. LEFT tripod4 Std. RIGHT tripod5 LEFT tripod with altered leg angles6 RIGHT tripod with altered leg angles7 Std. LEFT tripod8 Std. RIGHT tripod9 Std. LEFT tripodTable 6.10: Frame by frame description of turning effects caused by single strideperiod of leg angle changes, as seen in Figure 6.29. Note: LF=left front, RF=rightfront, LM=left mid, RM=right mid, LR=left rear, RR=right rear.


Chapter 7ConclusionsTo what extent can hexapedal robots with a wide stance and partially sprawledposture exhibit some of the same maneuverability as seen in arthropods and insects?Although the Sprawl robots are not yet capable of the extreme maneuverability seenin insects, they have demonstrated the ability to execute fast turns. In their currentstate, the Sprawl robots are not able to exert lateral force control as many animalsdo, but they are able to manipulate the magnitude and placement of longitudinalforces to create turning moments about the center of mass, resulting in sharp turns.In doing so, the Sprawl robots can achieve turn rates of 4rad/s and can respond toturn commands with frequencies of 1Hz. These results are somewhat limited by thebandwidth of the servos that control leg positioning. The nominal stride frequencyof the robots ranges from 7 to 15Hz, while the hip servos (including leg inertia) havea bandwidth of 3Hz, creating a bound for significant leg angle actuation. In Chapter6 techniques to temporarily overcome these bounds were discovered by implementinga transient unstable gait. While this unconventional method has been found to workwell on the robots, at this time it is not clear whether similar techniques are used byanimals. This path is an interesting direction for future investigation.130


7.1. SUMMARY 1317.1 SummaryOne of the first steps in approaching a problem is to gather useful information onthe subject. In biomimetics, we look to biology for inspiration and building blocksfor solving our problems. Information on animal motion, from morphology to gait,has been used in robots such as the ASV (Adaptive Suspension Vehicle) and theRaibert hopper. In terms of dynamic legged locomotion and maneuverability, thecockroach is an outstanding performer. It can run up to 50 body lengths per second,and turn over 90 o in one stride. Studies have found that leg compliance allows a SLIP(spring loaded inverted pendulum) behavior to occur that makes them very fast androbust runners with a simple motor pattern. The altering the placement of their legs,along with slight force redistribution, they add fast turning to their repertoire, whichmakes them a very durable species. Knowledge of insect locomotion has been usedby roboticists to develop dynamic legged robots such as the Sprawl family, RHex andWhegs. This thesis takes advantage of the performance of the Sprawl family of robotsto study dynamic maneuverability of legged robots.The Sprawl family of robots contains at least seven distinct members, some ofwhich are more apt for turning. The Sprawlettes have the most available parametersfor turning control, but they are tethered, which slightly reduces peak performance.Porta-Sprawl is a step toward more autonomy, but still has a light tether and a fewless turning parameters. iSprawl is an outstanding runner and happens to be fullyautonomous, with a similar number of turning parameters as Porta-Sprawl. Thus, atvarious stages, these three robots were used for turning investigations.Due to the large number of turning parameters available on the Sprawlettes (19),design of experiment techniques were used to determine which parameters had thegreatest effect on turning, and what types of interaction occur between these parameters.Ipsilateral leg angles were found to be the single most effective method forturning, and there was not substantial interaction with other parameters. With thisknowledge, a simulation of the Sprawlettes was created to determine how to bestcoordinate the use of these legs. By restricting the leg projections to intersect in one


132 CHAPTER 7. CONCLUSIONSpoint, a 2D sagittal workspace was realized for turning. This workspace was thoroughlyinvestigated in a series of grid tests that revealed a maximum steady stateturn rate of 4 rad/s on the robot. It was also found that the workspace has a radialnature, with the middle leg acting as the origin. The largest turning effects are seenby sweeping left to right across this workspace, with linear motion from the originat the middle leg behaving primarily the same. The singular turnfactor variable wasdeveloped to sweep through this region in an arcing fashion and span the range ofturning performance. Based on default leg angle settings, the turnfactor uses isometricipsilateral changes to achieve turning on the Sprawlettes. With decent control ofthe Sprawlettes achievable, the dynamic responsiveness of the robots was pursued todetermine the limitations of turning.Friction is a global parameter that will always limit the turning based on the legangles and feet that are present during turning. However, the robots themselves alsohave actuators and inertias that limit their performance. System identification techniqueswere used to help find these limits. On both the Sprawlettes and iSprawl servomotors are used to change the leg angles, and thus were also investigated. In thesestudies, it was found that with the legs attached, the servos had a bandwidth around3Hz, and that the robots had a turning bandwidth of about 1Hz. This information,along with other information gathered from system identification techniques, providesinformation on the maximum achievable turn frequencies, and what to expect from acontroller on the real robot. In other work, some of this information was used to addan antenna-based wall following controller to a Sprawlette.Along the way, it was found that, due to their different use of legs and turnmethods, the Sprawlettes and iSprawl roll in different directions during turning. TheSprawlettes uses their inside legs in a more supportive role, and the body rolls to theoutside. iSprawl, which uses changes to only the middle leg angles to achieve turning,rolls to the inside as the inside legs slightly collapse and the outside legs provide themajority of the running and turning force.Once the performance limits and sources of limitations were identified for thesespecialized cases of legged locomotion, examples of general metrics were developed forcross-platform turning comparison. These metrics take the objective of the motion


7.2. SUGGESTIONS FOR FUTURE WORK 133into account, and allow for speed and position based preferences that may occur intight spaces or when time is short.The transient periods of the robots’ locomotion and maneuverability are exploredin closing of this thesis. Just as the initiation of turning causes changes, the rangeof motion from static to dynamic locomotion also contains a transient period. In thecase of running speed, there are certain actuation frequencies that should be avoidedto achieve stable running, due to dynamics of the body and legs. For turning, itwas found that the transient period related to turn initiation could be exploited bythe temporary use of an altered, “ripple” gait (90 o + turns within 2 stride periods).Using this transient effect, and the knowledge gained in the parameter studies, theperformance of the Sprawl robots is starting to approach some of the outstandingcharacteristics of its inspiration, the cockroach.The work presented in this these helps to answer the question that has driven thework from the start. In short, it is possible to exhibit some of the rapid maneuveringability seen in insects and arthropods through the use of biomimetic principles.7.2 Suggestions for Future WorkThere are several directions for future research based on the material presented in thisthesis. These range from physical testing improvements, to simulation investigationsto help the design of future dynamically maneuverable robots, to broad comparisonsusing maneuverability metrics, to the study of additional extreme maneuver techniques.The simple “ripple” gait is an example of how the use of yaw-pitch-roll dynamicscan create highly effective turns. These body dynamics should receive additionalstudy as more dynamic legged robots are developed, no matter the size. To a certaindegree these techniques can be very portable from large to small robots. Using combinationsof these yaw-pitch-roll dynamics with timed leg use is analogous to whathumans do in many sports, and what legged animals do naturally. These maneuversshould be more carefully studied and used as inspiration for dynamic maneuvers onlegged robots. The area of dynamic legged robot maneuverability has not received


134 CHAPTER 7. CONCLUSIONSconsiderable attention yet, so new results are inevitable as more robots are developed.In this thesis, the power of simulation was used heavily at times to expedite robottesting. This can be further utilized to more fully examine the maneuverability ofiSprawl. iSprawl currently only has two actively steered legs, but if control wereavailable for additional legs, other maneuverability methods could be considered forimproved turning performance. The simulations could also be used to design andtune the next revision of iSprawl or another dynamic legged robot.The system identification and dynamic maneuverability tests have revealed a greatdeal of information about the behavior of the robots. These tests have also revealeditems that could be improved in future testing. Many of these are highlighted intheir corresponding testing chapters. Additional hardware (ie. better body markers,wide-angle lens) could increase the data yield from these tests. Compliant legs thatare fresh, rather than slightly aged and worn, along with improved cable routing onthe Sprawlettes and iSprawl could help remove asymmetries that sometimes impedeturning. In additional testing, careful attention should also be paid to the bimodaleffects of the chirp signal input to the system. Along the same vein, if the locomotionof small tethered robots is studied, the tether dynamics should receive attention, possiblythrough serial chain analysis. These points are specific to the testing performed,but could carry over to other dynamic and compliant legged robots too.In other dynamic maneuverable systems, it would be helpful to consider the performancemetrics presented here. Future investigations should seek to gain data onother systems to start building a database showing how different systems compare.This would just require researchers that are studying maneuverability to measure acommon subset of values so that cross platform comparisons could be made.These are some of the directions that concepts presented in this thesis could takefor future investigations. This is just the beginning of dynamic legged maneuverability.Its future is looking bright based on the robots examined thus far.


Appendix ADocumentation for Tern andSprawlettes SetupA.1 OverviewThe program code is stored onboard the Tern AE86 in its battery backed SRAM.This code is set to run whenever 12V power is applied to the board. A 5V powersupply is also used by the SIB to power the servos and external circuitry. The PCis used mainly for display purposes and to make gait changes via the keyboard. TheTern board could run the robot independent of the PC, but the PC is convenientas a display source, and thus a communication protocol is necessary for the datatransfer. The Tern and PC communicate through their serial ports, using standardserial communication and a developed data transfer protocol. If necessary, the PCcan also be used to debug running Tern code through serial communications. TheTern board has six output lines that are dedicated to control the leg valves on therobot. These valves are supplied air from a pressurized air source that is used toactuate the piston on each leg. The second serial port on the Tern board is used tosend information to the Mini-SSC, which in turn controls the 6 servos that dictateleg angles. The legs are numbered zero through six, with zero being the top leftleg when looking down on the robot facing forward. The legs are numbered left toright, top to bottom, so that 0-3-4 form one tripod and 1-2-5 form another. These135


136APPENDIX A. DOCUMENTATION FOR TERN AND SPRAWLETTES SETUPFigure A.1: Schematic representation of the Sprawl robotsalternating tripods are the basic gait pattern used for locomotion on this robot. But,the flexibility of the Tern and SIB allow for the gait pattern to be fully independentcontrollable. Using the variable valve gait form, the gait can be a pronk, bound, trot,cantor or gallop, among others.A.2 SoftwareThe software is divided into two programs. One program actually controls the robotby sending the signals to the robot. This program resides on the Tern board andmust be downloaded by the PC compiler. The other program mainly handles thedisplay of information received from the Tern and transmits keyboard input to theTern fir interpretation. This interface program is on the PC side. These two programsinteract to allow the user to control the robot.A.3 TernThe heart of the Sprawlette system is the TERN Inc AE-86 microprocessor module.The AE86 is built around a 40 MHz, 16-bit CPU from AMD (Am186ES). Our setupcontains 512KB flash, 512KB SRAM, a UART driver, a real time clock, 11 - 12 bit10kHz A/D lines, 8 - 12 bit 300kHz A/D lines, and 31 digital I/O lines. Members


A.3. TERN 137of our lab have designed a motherboard for this module, which also contains easieraccess to desirable pins and a MiniSSC servo driver by Scott Edwards for use withour robot. This motherboard is known as the Sprawl Interface Board and can be usedto control both the Sprawlettes and Sprawlita, among various other lab projects.A.3.1FoundationThe Tern AE86 is currently being programmed in the C language. The Paradigmcompiler is used to compile and load the code to the Tern board. In order toproperly build and execute the code on the Tern micro-controller, the project mustbe set up properly in the Paradigm compiler. The Paradigm project file shouldhave ‘Paradigm App(.axe)’ as its Target Type, ‘Real address mode’ as its Platform,‘Small’ as its Target Model, ‘PDREMOTE/ROM’ as its Target Connection, ‘None’for Options and Math Support, and ‘No exceptions’ for the Libraries. The projectfile should have two children, 186.CFG (found at C:/TERN/CONFIG/186.CFG formost installations) and PROJECT.ROM (where PROJECT is the name of the currentproject file). The PROJECT.ROM should have one child, AE.LIB (found atC:/TERN/186/LIB/AE.LIB for most installations) which contains definitions for thebasic AE86 commands. The project options need to be set so that they include‘C:/TERN/186/LIB’ in the library source directory, and ‘C:/TERN/186/INCLUDE’in the include source directory (click Options→Project). Finally, ‘#INCLUDE AE.H’must be in the C program for the code to work onboard. (Note: For C++ compiling,you must use ‘EXTERN “C¨’ then brackets before and after your other header files.)After the above items have been completed, the project has the basics necessary fora build.A.3.2Basic SetupThe Tern AE86 and the OC communicate through the serial ports located on each.In order for the Tern to communicate through its serial port, it should have theheader files ‘SER0.H’ and ‘SER1.H’ pound included in program code (ie. #INCLUDE“SER0.H” ). The six outputs that are used for leg valve signals are defined as fixed


138APPENDIX A. DOCUMENTATION FOR TERN AND SPRAWLETTES SETUPvariables. This allows for changes to be made at one convenient place if these outputneed to be remapped. A large block of memory is set aside for the data variable. Thisvariable is presently set at 1501 rows and 7 columns, allowing for 10507 data elements.The serial input/output buffers are set to 512 bytes for the servo communications.The serial input and output buffers are set for 1kb and 4kb, respectively, for theTern - PC communications. The initial active leg is set to 1. The first six 10kHzAD channels are set to be active for data collection, and all valves are set to beinactive in fully variable mode. In the body of the main program, the Tern AE86is first initialized and then the serial ports are configured to enable communication.The initial gait parameters are set and the necessary lines are set as output for thevalves. After the Tern prepares itself, it sends an open communication byte ‘X’ tothe PC along with the initial gait settings for display. If the debug variable markerhas been defined, the 1st serial port (SER0) is left closed for debug communication,and because of this, servo commands can not be executed. The DEBUG variableis used to quickly deactivate most servo commands, so that it is possible to debugwithout the Tern trying to send servo signals to the PC. The serial cable should beswitched from the MNI-SSC to the PC in the debug mode, or the debug switch shouldbe flipped, if installed. From here everything has been set to enter the main controlloop.A.3.3Main LoopIn the main loop, the programs first checks to see if the joystick calibration markerhas been set, and if so, it will execute the CALIBRATE JOYSTICK function. Otherthan that, the main loop just waits for an input byte to reach the serial port (SER1).The input byte is sorted to one of seven cases, based on its value. If the input byteis ‘@’, then it is receiving a communication check from the PC. The PC sends thisbyte periodically, and expects to receive the same byte back, which signifies thatboth sides are communicating properly. The PC has a display function that tracksthe communication in most states. The second case for the input byte is ‘z’, whichsignifies that the PC has requested that the serial port (SER0) for servo control has


A.3. TERN 139Figure A.2: Main loop displaybeen requested to be active. If it is not already active, this case will open the port,and illuminate an LED on the Tern board. The next four cases are control modulesfor the robot operation. These include the RUN mode, CONFIGURATION mode,DIAGNOSIS mode and PREFERENCE mode. These four modes are signified by theinput bytes ‘1’ through ‘4’. The final input byte case handles all other input bytesby sending them to the function CHANGE SETTINGS for decoding. The key mapis included in the Appendix and the decoding specifics are listed with the functiondescription.A.3.4Run ModeThe run mode is the only mode where the robot can perform its repeated gait cyclethat causes locomotion. This mode starts by activating the Tern LED (if not alreadyactive) and setting the timing for the first two legs. If the variable mode is notselected, these are the only two timings that are necessary to run the robot. If thevariable valve mode has been selected, then the timings for the remaining 4 legs arealso set. The joystick button interrupts are activated and the second timer (TMR2)is activated at the specified interrupt frequency that relates to the gait resolution.


140APPENDIX A. DOCUMENTATION FOR TERN AND SPRAWLETTES SETUPAfter a display message is sent to the PC, the current gait parameters are stored (inrows of the DATA variable) for later use in turning and adaptation routines. Thesevalues are used as nominal values to which the robot will return after the sensingroutine returns a nominal value. The gait period is stored in the DATA row 5. Theleg angles are in DATA row 6. The individual leg duty cycles are in DATA row7. The valve OFF timings are in DATA row 8. The gait mode is stored in DATArow 9. The valve timings are forced to pseudo tripod gait if the tripod gait is notselected. This is done to simplify the gait parameter control in the turning andadaptation routines. After these initial items have been performed, the run modeloop is started, which can also be exited by an input byte of ‘q’. The run loopscans for input bytes and checks for other parameter changes that can be affectedby interrupts. The spacebar is used to toggle the activation of the run cycle bysetting a timer key and using it to start or stop timer 0 (TMR0), which controlsthe valve actuation. If the input byte is ‘d’ or the joystick trigger marker has beenset, the DATAQ function is called to perform data collection. If the input byte is‘D’, the TESTSEQUENCE function is called to perform one test. For the remainderof the input bytes, the value is sent to CHANGE SETTINGS for decoding. Afterthe input byte has been sorted, the run loop checks to see if any other markersare set and performs the necessary functions. These markers may cause any of thesefunctions to be executed: TURNROUTINE, TURNROUTINE2, ADAPTROUTINE,SCANJOYSTICK, CALCCOMP and UPDATEVALVES. If the DONE marker hasbeen set, the timer 0 key is reset, and the robot is stopped. Once the run loopis terminated by ‘q’, the initial gait parameters are restored to the robot, and thejoystick interrupts are deactivated. Both of timers (TMR0, TMR2) are ensured to bedeactivated, and the run mode ends by sending a termination message and all of thedisplay variables (by SENDDISP).A.3.5Configuration modeThe configuration mode is used to view the majority of the key map and view thevariable settings on the Tern board that are related to the robot. These settings can


A.3. TERN 141Figure A.3: Run Mode displayinclude gait period/phase offset, duty cycle, active leg, leg angle, gait mode (tripodor variable valve), 2/6 valve operation, number of samples, sampling frequency, datapresent and communication check speed. In the configuration mode, the AD channelscan also be configured by pressing ‘A’ to enter the AD setup loop. The PC displayis changed, and setting changes can be made until ‘q’ is pressed to exit the AD setupand return to the configuration mode. The configuration mode can also be terminatedby pressing ‘q’, which results in an exit message and gait parameters being sent tothe PC for display.A.3.6Diagnostic ModeThe diagnosis mode is used to test the functionality of the valves, servos and ADconverters. When this mode is selected, the special settings required for the 300kHzAD are performed first. The mode then enters the diagnosis loop that scans for inputbytes from the PC and displays AD conversions if the AD is being tested. If an inputbyte is detected, it is sent to CHANGE SETTINGS for processing. The functionCHANGE SETTINGS has special conditions for several diagnosis features. Whenthe numbers ‘0’ through ‘5’ are received, the corresponding leg valve becomes active


142APPENDIX A. DOCUMENTATION FOR TERN AND SPRAWLETTES SETUPFigure A.4: Configuration Mode displayFigure A.5: Configuration Mode for ADC display


A.3. TERN 143Figure A.6: Diagnostic Mode displayand pulses for a fraction of a second. By pressing the spacebar, the active valvecan be toggled open or closed. In a similar fashion, if shift is held while pressing anumber ‘0’ through ‘5’ (ie. ‘)’,‘!’,‘@’,‘#’,‘$’ and ‘%’), then the corresponding leg servois swept through its entire range of motion to test its operation. If the input byte is‘A’, the program will cycle through selections for 10kHz AD, 300kHz AD or None.Whenever a particular AD converter is chosen, its active channel is converted andsent for display on the PC diagnosis screen. The input bytes ‘a’ and ‘z’ can increaseand decrease the active channel, respectively. As in most modes, the termination ofthe mode is controlled by the input byte ‘q’, which sends a termination message tothe PC along with the current gait settings for display. The timer 2 key is also resetso that TMR2 can be stopped.A.3.7Preference ModeThe preference mode is used to save and load preset gait parameters. This cansimplify the configuration of the gait for different bodies, tests, gaits, maneuvers, etc.The majority of the action takes place on the PC is this mode. This modes startsout by sending all tripod and variable valve information to the PC. This information


144APPENDIX A. DOCUMENTATION FOR TERN AND SPRAWLETTES SETUPFigure A.7: Preference Mode displaycan be saved in various forms by the PC side of this code. After the Tern has sent allthe gait parameters, it enters the preference loop that waits for either a terminationbyte or a start byte (’X’) for receiving a new set of gait parameters. If an ‘X’ isreceived, the GETCONFIG function is run which takes in all the data and processesit into gait parameters. When exit byte, ‘q’, is received, the loop ends, and a systemmessage is sent to the PC along with the latest gait parameters for display.A.3.8Function SummariesThe following functions are used in this program to control various aspects of the gaitcontrol. Each function has a short summary of what is does below.TESTSEQUENCE - This is the test sequence for maneuverability used with theelectronic compass or an overhead data recorder. It should right the body, bymaking the legs perpendicular to the floor, take a compass reading, and display it (ifapplicable), then resume original leg settings and run for a fixed time beforerepeating the initial heading calculation. For the electronic compass case, thefunction averages 10 values to get the reading, and it pauses after the test, and


A.3. TERN 145Figure A.8: Dinsmore representation of “linear” regions in sine and cosine signalsbefore the 2nd reading to allow the compass to stabilize. This reading is processedby the CALCHEAD function to determine the angular heading. For the overheadvideo case, the function will turn on the markers/beacons during the time the legsare perpendicular to the floor. For both cases, the function pauses approx. 3 secwhile the legs are perpendicular.CALCHEAD - This function takes in the two compass sinusoidal outputs (calledxwave, ywave) and determines the heading based on these inputs. It can return theheading direction or the region designation, based on the third binary input. Theangular range of 0-360 is divided into four regions: A(0-90), B(90-180), C(180-270),and D(270-360). These four regions are related to areas in the sin and cos wavesthat are considered to be relatively linear (see Figure). The upper and lower linearrange cutoffs are preset, and the midpoint is calculated from these. The values aretemporarily stored in the data variable row 10. Data row 12 is used as temporarystorage in this function to record the converted value and the region that the valuefell into.Region A is defined as both input values being larger than the midpoint. If eitherof these values are less than the upper cutoff, the one that is closer to the midpointis used as the linear signal. If both are greater than the upper cutoff, the signal thatis closer to the upper cutoff is used as the linear signal. For Region A, the xwave


146APPENDIX A. DOCUMENTATION FOR TERN AND SPRAWLETTES SETUPequation is:The ywave equation is:data[12][0] =data[12][0] =xwave − rangemiddleuppercutoff − rangemiddle × 45(A.1)( )uppercuttoff − ywaveuppercutoff − rangemiddle × 45 + 45 (A.2)Region B is defined as when xwave is above the midpoint, ywave is below themidpoint. If either of these values are within the cutoff range, the one that is closerto the midpoint is used as the linear signal. If both are outside of the cutoff range,the signal that is closer to its corresponding cutoff is used as the linear signal. ForRegion B, the xwave equation is:( )uppercuttoff − xwavedata[12][0] =uppercutoff − rangemiddle × 45 + 135 (A.3)The ywave equation is:data[12][0] =( )rangemiddle − ywaverangemiddle − lowercutoff × 45 + 90 (A.4)Region C is defined as when both xwave and ywave are below the midpoint. Ifeither of these values are greater than the lower cutoff, the one that is closer to themidpoint is used as the linear signal. If both are below the lower cutoff, the signalthat is closer to the lower cutoff is used as the linear signal. For Region C, the xwaveequation is:data[12][0] =( )rangemiddle − xwaverangemiddle − lowercutoff × 45 + 180 (A.5)The ywave equation is:()ywave − lowercutoffdata[12][0] =rangemiddle − lowercutoff × 45 + 225 (A.6)Region D is defined as when xwave is below the midpoint, ywave is above themidpoint. If either of these values are within the cutoff range, the one that is closerto the midpoint is used as the linear signal. If both are outside of the cutoff range,


A.3. TERN 147the signal that is closer to its corresponding cutoff is used as the linear signal. ForRegion D, the xwave equation is:( )xwave − lowercutoffdata[12][0] =rangemiddle − lowercutoff × 45 + 315 (A.7)The ywave equation is:data[12][0] =( )ywave − rangemiddleuppercutoff − rangemiddle × 45 + 225 (A.8)Following the execution of any regional code, that region is set as the active decodedregion by setting data[12][1] equal to the numeric equivalent for the lettered region(ie. A⇒1, B⇒2, etc.). Then, based on the third function input, either the data valueor the range will be returned.CALCCOMP - This function is used for continuous heading updates on the PCinterface. This function first checks for a time marker set by the timer interrupt(sampling rate). It then takes an AD reading from both of the compass outputs,and sends these to CALCHEAD for processing. CALCHEAD returns the angle andregion info, which is temporarily stored in the data variable row 12. The angle andrange data are encoded (region multiplied by 1000 and added to angle) and sent tothe PC as one number.CALIBRATE JOYSTICK - This function will run through the process ofcalibrating the joystick. The calibration values will be stored in the ‘calibjoy’variable matrix. Timer 2 is activated and then six data values are taken thatcorrespond to the max and min values for the joystick x and y axes and the throttle.Each time the function waits for the user to press the spacebar, takes the average of10 values to get the reading, and sends the reading to the PC in encoded form(reading number times 10000 plus the reading) to be displayed. The data form ‘9’ isused to transfer this data in SENDNUM. After the six readings have been taken,the calibration settings are calculated based on how much resolution is desired foreach axis, and stored in the CALIBJOYDC and 1st row of the CALIBJOY variable.Finally, if the readings were terminated early by ‘q’, this will be resent to the PC fordisplay, otherwise, a test completion message will be displayed.


148APPENDIX A. DOCUMENTATION FOR TERN AND SPRAWLETTES SETUPRow 0: Lower contact limit (based on VDC)Row 1: Upper contact limit (based on VDC)Row 2: Adaptation sensorsRow 3: 0 - AD1(X), 1 - AD2(Y), 2 - AD3(Throttle)Row 4: 0 - X axis factor, 1-Y axis factor, 2 -Throttle factorRow 5: 2 - Initial GPRow 6: (0,5) - Initial Leg AnglesRow 7: (0,5) - Initial Leg Duty CyclesTable A.1: The structure of the DATA array variable, which is used for temporaryparameter storage in SCANJOYSTICK, TURNROUTINE, TURNROUTINE2 andADAPTROUTINE.SCANJOYSTICK - This function scans the joystick X, Y, and Throttle lines viathe AD ports 0-2 and sets gait parameters based on these readings. This functionfirst verifies that the time marker has been set, then checks to see whether the Xaxis or Y axis is the active joystick axis. The X and Y axes are mutually exclusivefor simplicity in computation and communication of leg angles active. In all of theaxes cases, the functions takes an AD reading (stored in DATA row 3 -see TableA.1) and checks to see if the axis reading is within a band around the nominalvalue, and resets the leg angles (X,Y) or the stride period (throttle) if that is thecase. If the reading is not in the neutral range, and also not outside of the cutoffpoints (defined in the variable CALIBJOY), the function determines what factor tochange the leg angles (X,Y) or stride period (throttle) by and stores it in DATA row4 (see Table A.1). If the previous DATA row 4 values matches the present, thennothing is done. But, if they differ, the necessary changes are sent to the robot.(Note: A second turning method was added that changes the ipsilateral duty cyclesrather than leg angles. The turning method toggles between leg angles and dutycycle by pressing ‘&’).ADAPTROUTINE - This function is the heart of the adaptation routine. Thisfunction was built around force sensors that were placed on each foot. The aim ofthe function is to adjust the gait based on the ground contact line. It was originallywritten to sweep through all foot sensors, but revised to just check one sensor (#3).


A.3. TERN 149The foot readings are stored in DATA row 2 (see Table A.1). The function checks ifthe sensor reading is above the threshold, indicating contact, and records contacttime if this is the case (by incrementing a column in CONTACT). This functionsincludes two adaptation routines that can be toggled by ‘?’.Version 1 : This adaptation scheme compares the foot contact time with afraction of the gait period proportional to that leg’s duty cycle. It thenchanges the phase offset (different gait) for that leg. This was designedfor use in independent valve control mode.Version 2 : This adaptation scheme compares the foot contact time with somefixed range. It then adjusts the gait period accordingly. Note: This wasdesigned for use in tripod mode.TURNROUTINE - This function causes the leg angles on one side to changeproportional to the difference in two AD lines. First, the two AD lines are scannedand stored in the variable TSENSOR. If these two readings differ by more than apreset value, then ipsilateral legs are commanded to change accordingly. If thereadings do not differ by the specified amount, the leg angles are reset, if necessary.The function sends encoded data to the PC to display the turn direction andmagnitude of turn.TURNROUTINE2 - This function causes the duty cycles on one side to changeproportional to the difference in two AD lines. This function is similar toTURNROUTINE, but changes duty cycles instead.T0 ISR (Timer 0 interrupt service routine (ISR)) - This is the Timer 0 interruptservice routine. It increments a counter to keep track of period timings and actuatevalves. It also counts the period so that it can signal when a fixed length test shouldend. This function handles valve timings for both tripod mode and variable valvemode. Notes on ISRs: -Make sure to enable interrupts in timer initialization (bit 13of t2m) if you want this code executed -There MUST be an End Of Interrupt (EOI)call to remove the interrupt flag (see last line) of functionT1 ISR - (Timer 1 interrupt service routine) This timer is not being used at thetime of this writing.


150APPENDIX A. DOCUMENTATION FOR TERN AND SPRAWLETTES SETUPT2 ISR - (Timer 2 interrupt service routine) This timer is being used to controlthe sampling rate of the AD conversions. It sets a flag (doADCnow) that causes theAD conversion to be performed in the main loop, but only when the dataacquisition marker (done) has been set. This function controls the AD samplingrate for joystick calibration, joystick control, turning, compass reading, adaptationroutine, diagnostic mode and standard data collection. This ISR used to incrementthe interrupt count, t2 count, which can be used to determine how many ADreadings have been taken.INT0 ISR - (Interrupt 0 ISR) This function is the interrupt service routine forexternal interrupt #0, which is connected to joystick button #4. This interrupttoggles the activation of the robot, and includes some software debouncing.INT1 ISR - (Interrupt 1 ISR) This function is the interrupt service routine forexternal interrupt #1, which is connected to joystick button #1. This interrupt setsthe variable TRIGGER which is used to initiate the data acquisition in the programmain loop. It also includes some software debouncing.INT2 ISR - (Interrupt 2 ISR) This function is the interrupt service routine forexternal interrupt #2, which is connected to joystick button #2. This functionincreases the duty cycle for tripod mode gait, and includes some software switchdebouncing.INT3 ISR - (Interrupt 3 ISR) This function is the interrupt service routine forexternal interrupt #3, which is connected to joystick button #3. This functiondecreases the duty cycle for tripod mode gait, and includes some software switchdebouncing.SET LEG ANGLE - This function communicates with the Mini-SSC servo driverto control the leg angles based on 4 inputs. The function should receive input fordesired leg, mode of change, desired value, and feedback options. There are threemodes by which this function can change leg angle. In MODE 1, the leg angle isswitched to the value specified by the VALUE input. In MODE 2, the leg angle isincreased by the number of steps given by VALUE. In MODE 3, the leg angle isdecreased by the number of steps given by VALUE. Modes 2 and 3 are primarilyused in turning routines, and mode 1 is mostly used when setting all legs to specific


A.3. TERN 151values. The function may send the leg angle, and/or the active leg to the PC, basedon the input value in SENDBACK.CHANGE SETTINGS - This function allows you to change the settingson-the-fly. It basically takes any keyboard input and decides whether or not it is avalid input, and performs the designated actions. Note: See various modes for modespecialized key definitions, and also Appendix.@ - This is the communication check used to determine if the serial communicationsare working between the PC and Tern. The speed of the communication check iscontrolled by the PC, and dependent on processor speed. The character is bouncedback to the PC by the Tern, and the PC should move the Knight Rider-esque strobein the upper right corner back and forth each time a successful communicationoccurs.p o - These two characters are used to increment and decrement the gait period (varT0A) or phase offset (var PO[i]), depending on which gait mode is active (tripod orvariable valve). The maximum gait period is 3 sec and the minimum is 10ms. Thephase offset of the active leg can be varied from zero to the length of the period(variable TOA). In either case, the resulting value is sent back to the PC for display.] [ - These two characters are used to increase and decrease the duty cycle for eitherthe active leg (var VDC[i]) or for the tripod gait (var DC). In either case, themaximum DC is 99% and the minimum is 1%, and the result is sent back to the PC.* / - These two characters are used to increment and decrement the active leg (varLEG). These values will wrap around when they exceed the leg numbers (ie. 6⇒0,-1⇒5).+ - - These two characters are used to increase and decrease the leg angles (varLEG ANGLES[i]), while accounting for which side the leg is on. Note that theservos must turn a different direction on different sides of the body. The leg anglesare incremented by 1 step, which corresponds to 0.703 when the servos are in 180mode. This decoding sequence also checks to see if the leg row is locked (varLEGLOCK[i]) and will change the angle for both legs in the row is this is true.s S - These two characters can be used to send collected data from the Tern to thePC. These keys will call SENDDATA whenever timer 0 is inactive. SENDDATA


152APPENDIX A. DOCUMENTATION FOR TERN AND SPRAWLETTES SETUPwill only send the data array if data has been collected and the DATADONEvariable has been set.< , - These two characters are used to increase (rotate top of leg toward back ofbody) and decrease (rotate top of leg towards front) all of the leg angles on the leftside of the body. These characters will change the leg angles by 5 servo steps, whichis about 3.5 degrees.> . - These two characters behave the same as ‘¡’ and ‘,’ but operate on the rightside of the body. V - This character is used to switch actuation between two and sixvalves. The two valve form can be used with Sprawlita, while the six valve form isdesigned for use with the Sprawlettes. 012345 (Diagnosis Mode) These charactersare used to select the active leg valve in diagnosis mode. Pressing these will alsopulse the valve for a fraction of a second. Space (Diagnosis Mode) This key willtoggle the active valve open and closed in diagnosis mode.A - (Diagnosis Mode) This character will toggle between the two AD converters and‘None’ in diagnosis mode. This allows for testing of AD conversion inputs.a z - (Diagnosis Mode) These keys will increment and decrement the active ADchannel in diagnosis mode once an AD converter has been selected.v - This character toggles the gait mode between tripod and variable valve control.Tripod mode uses two alternating tripods for locomotion. Variable valve modeallows for complete control of the gait by allowing independent timings and dutycycle for each leg valve. Whenever this mode is switched, a fresh display is sent tothe PC display.l k - a) These characters are used to increase and decrease the total number ofsamples that will be taken on each channel during data collection. The number ischanged by multiples of 10, with 10 being the minimum and the maximumdependent on the number of AD channels selected for collection and the size of theDATA array.b) If the testing mode has been activated (by ‘T’), these characters will increase anddecrease the total number of periods of the test duration. These periods are trackedby TMR0 every time it initiates a new gait period.L - This character will lock a contralateral pair (row) of legs so that they move


A.3. TERN 153together whenever either of their leg angles are changed. After a pair of legs arealigned, it is convenient to lock them and move them together for many gaitchanges.∧ - character will toggle the turning sequence between activated and deactivated.This turning sequence is determined by the function TURNROUTINE orTURNROUTINE2 and usually based on differences in inputs from two ADchannels. The two turn routine functions are for leg angle and duty cycle basedturns, respectively.F - This character toggles whether the valve firing frequency will be embedded inthe DATA array during data collection. The valve opening is encoded as -2, and thevalve closing is embedded as -3.? - This character toggles the adaptation routine ON and OFF. In the process ofswitching the routine on, the gait mode is set based on the predefined adaptationmode. A sensor calibration reading is taken before the adaptation mode is fullyactivated, and the default adaptation variable are also set.c - This character conducts a sensor calibration routine that takes the average of 16data samples for each active AD channel. These readings are stored in the variableCALIBVAL and usually included in the DATA array when sent via the SENDDATAfunction. If a channel is inactive, then a value of 9999 is stored by default.J - This character will toggle the joystick activation for use in RUN mode. A markerfor variable valve mode is also set here, for use in RUN mode duty cycle turning.& - This character will toggle the turn method between leg angle and duty cyclebased turning. This will only toggle after the joystick has been enabled.m - This character toggles the active joystick axis between X and Y. The X-axis isused mainly for turning maneuvers, while the Y-axis is used mainly to go forward orbackward. These axes are activated separately to simplify setting of gait parametersin the SCANJOYSTICK function.% - This character is used to toggle the operation of the turn routine algorithm,which is based on differences in two AD channel inputs. The character will togglebetween the activation of TURNROUTINE (leg angle) and TURNROUTINE2(duty cycle) functions in the RUN mode loop. This also causes the gait mode to


154APPENDIX A. DOCUMENTATION FOR TERN AND SPRAWLETTES SETUPswitch between tripod and variable valve. Note: Other than changing the gaitmode, this character does not give any feedback.T - (Run mode) This character will toggle between normal run and testing mode.The normal mode runs the robot until a user stop signal is received. The testingmode runs until a user set number of stride periods have been executed. The inputcharacter is cleared to prevent other actions that could result from key map overlap.C - This character will set a marker for the joystick calibration to occur on the nextpass through the MAIN loop. This will cause the functionCALIBRATE JOYSTICK to be executed.H - This character will toggle the compass display output to the PC. When active,this will cause the region and angular heading seen by the compass to be displayedon the PC. The suggested compass linear upper and lower crossings ranges are setalong with the midpoint.U u - These characters are used to increase and decrease the upper crossing limit ofthe linear range for the electronic analog compass. This upper limit is changed by 5AD counts during each change.n N - These characters are used to increase and decrease the lower crossing limit ofthe linear range for the electronic analog compass. This lower limit is changed by 5AD counts during each change.w - This character will produce a quick suggested joystick calibration table. Thesesuggested values were observed for power supplies set at 12.0V and 4.9V, and are tobe considered ballpark figures. This circumvents the joystick calibration routine forquick joystick use on bootup.M - This character will toggle the activation of the LED beacons. The beacons areused as visual markers in the overhead video data collection setup. A beaconvariable marker is toggled, and the output pins are either driven high or low, whichcontrol the LEDs.UPDATEVALVES - This function is used to update the valve timings once aparameter has been changed. It first checks for tripod or variable valve mode. Invariable valve mode, leg #0 always starts at the first count in the period, and theother legs are set relative to this. The total time of activation is first calculated with


A.3. TERN 155No.Type1 System Messages2 Gait Period3 Duty Cycle4 Active Leg5 Leg Angle6 Data Acquisition7 Interrupt Frequency8 Special Values9 Adaptation & Joystick CalibrationA Turning (-ve) & Joystick Calibration ResultsB Turning (+ve)C Compass DisplayD Compass crossing limitsE Test sequence commentsTable A.2: Data types for sending / decoding of data in SENDNUM functiona two step multiplication (by VDC[i]) and division (by 100) scheme since floatingpoint operations are not supported on this processor. This value is then fit withinthe gait period based on the offset dictated by PO[i]. This process is repeated for allsix legs. In the tripod mode, timing values are only set for legs #0 and #1, whichcontrol the timing for the remaining legs.CHANGE ADSETTINGS - This function allows you to change the ADconfiguration that is used during data collection. It allows 8 channels to be toggledON/OFF and has controls for switching between the selected channel. This functionreturns data to the PC about the channel selected and its state.SENDNUM - This function is used to send data to the PC with a specific markingfor each data type. The protocol opens with an ‘x’ and closes with a ‘y’. In the datatransfer portion, this function first sends the character for the data type it is aboutto send (see Table A.2). Then, it will send a full 5 bits of data (0-99999) from thedecoded digits of the data. It can be upgraded to a faster 2 byte data value(0-65535) by using high and low bytes, as seen in the SENDDATA function.DATAQ - This functions runs the data acquisition routine until a certain number


156APPENDIX A. DOCUMENTATION FOR TERN AND SPRAWLETTES SETUPof conversions have been done. The data acquisition rate can be controlled by thetimer 2 interrupt frequency. (Default 1kHz, 1000 samples) This routine takes 6(default) channels of data at each timer interrupt, and one channel as a data timemarker. This function uses STOREVAL to sequentially store the data values. Thefunction starts by saving the sampling frequency as 2 bytes and then which ADchannels are active. The function then records the calibration values for the selectedchannels. Next the function takes data until it reaches the desired number ofsamples. This function will also embed tripod valve frequency data for selectedchannels if this has been toggled to ON by ‘F’. The valve frequency is embedded asa ‘-3’ value when the valve turns OFF, and a ‘-2’ value when the valve turns ON.After the specified number of channels has been reached, the DATADONE marker isset, and function exit is allowed.STOREVAL - This function will store values into the data array in a rolling,wrap-around format. This means it will fill up the DATA array from the left toright on a row, and top to bottom in the column, until it gets to the end. The datamarkers are stored in the variables MARK1 and MARK2.SENDDATA - This function will send the data array collected from the ADconversions to the PC. The function starts out by determining which channels havebeen stored by scanning the ADCHAN variable. This result is sent to the PC,followed by the number of samples. The function then breaks each data reading(two bytes w/only 12 bits used for 12 bit AD resolution) into two 6bit chunks, andsends those individually. The function sends all samples continuously, by rows. Thestart byte for the transfer has been designated as ‘-1’, and the stop byte is ‘-4’.Previous versions had -2 and -3 as intermediate markers for bytes, or rows, butthese added unnecessary bytes to transfer time. A delay is placed periodically in thedata transfer (initially every 100 rows) to prevent PC lockup (from buffer overrun,buffer tested to 16kb on PC with lockup above ∼470 rows of samples). Thisfunction will only send data if the DATADONE marker has been set by the DATAQfunction. The DATADONE variable is reset before this function terminates.REST - This function turns all valves OFF by setting their output lines to a lowvalue ‘0’.


A.3. TERN 157SENDALL - This function sends all the data variables to the PC in order toinitialize the configuration mode. Must be in either Configuration mode or be innormal (tripod) valve setting to receive gait period properly. This function will sendgait period, duty cycle, active leg, number of samples, sampling frequency, interruptfrequency and number of channels sampled, in that order.SENDDISP - This function sends all the variables that are needed to refresh thedisplay after it changes between independent valve operation and two tripod mode.This function starts by sending the active leg and leg angle for each leg. If thevariable valve mode is selected the gait period followed by the leg duty cycles andphase offsets are sent to the PC. If the tripod mode is selected, the function justsends the gait period and tripod duty cycle. The function closes by sending theactive leg.GETCONFIG - This function receives a stored configuration set from the PC.The data is received one character at a time, then reconstructed using theREADNUM function. The data is accumulated in the 1st column of the DATAarray, and terminated by ‘Y’ or after 200 bytes are received. The functionREADNUM is used to get the checksum, tripod duty cycle, gait period, leg phaseoffsets, leg duty cycles, leg angles, 2/6 valve operation mode (Sprawlita capable),number of samples, active AD channels, sampling frequency, krspeed, locked legs,and valve actuation mode, all in that order. The function now uses this informationto set all the leg timings based on which actuation mode is selected (tripod orvariable valve). Next, the active leg is read followed by the checksum. Finally, theleg angles are adjusted to match the latest values.READNUM - This function reads in bytes from the DATA array, and tries tomake a ‘num’ digit integer from them, using the POWER function. The firstcharacter should be a space (ie. the data string ‘ ’ ‘1’ ‘2’ ‘3’ will be converted to123). The space is used to clear the first digit. Then the remaining characters areconverted to numbers, then turned into a ‘num’ digit value with the help of thePOWER function. Note: The ‘data’ array should contain the configuration data inthe 1st column.POWER - This is the standard power function that computes the power function


158APPENDIX A. DOCUMENTATION FOR TERN AND SPRAWLETTES SETUPfor a given base and exponent. (Eg. 10e 3 =1000). This function returns the result.A.4 PCA standard PC is used to program, debug and process user input/output. Debuggingand standard program operation occurs over the serial port. The keyboard is theprimary method for program input, and the monitor is used to display the customGUI for program feedback and status. The PC is not performing any of the real timeprocessing or robot control, but only used as a interface for the user to command theTERN module and thus the robot, and receive feedback on the current status.A.4.1FoundationThe PC interface is currently being programmed in the C language. The Borland 5compiler is used to compile and build the executable. Certain header files need tobe included in the project description to get the serial port to behave properly. Theexecutable, FILENAME.EXE should have two children, RS01.C and FILENAME.C.(Note: filename is the name of the new executable.) Then, FILENAME.C shouldhave two children, RS232.H and FREECOMM.H. With this setup, the project hasbeen configured to recognize the needed serial commands.A.4.2BasicsThe start the code, several header files must be included to get all the needed functionprototypes. The RS232.H and FREECOMM.H files should be pound included(ie. #include rs232.h) along with STDIO.H (for cprintf, power), CONIO.H (for kbhitand getch), DOS.H (for getvect), CTYPE.H (for toupper), STDLIB (for atof),STRING.H (for string manipulation) and TIME.H (for time and date). After theseare declared, the variables are all declared. In this process, the serial variables aregiven their default values of 115200 baud, 8 bits, No parity, 1 stop bit and COM port2. The Knight Rider variable, KRSPEED, is given a default value of 9000 loops betweencommunication checks. The functions are declared next, followed by the main


A.4. PC 159program loop.A.4.3Main LoopBefore the main loop starts, a software reset (SOFTRESET) is performed, and thetext color is set to light gray. The software reset waits for a start byte from theTern first, then it creates a fresh display. At this point, the program enters the mainprogram loop, which scans for input from the keyboard and from the Tern via theserial port. Before the loop terminates, it checks to see if the communication checkvariable COM ON has been set, and then checks to see how many times the mainloop has been performed since the last communication check. The var KRSPEEDholds the number of times the main loop should be executed between communicationchecks with the Tern. When the main loop has been performed KRSPEED times,it will send ‘@’ to the Tern to check if the communications link is still active. Thischeck is sometimes disabled when important timing operations (locomotion, datacollection, etc.) are occurring on the Tern and unnecessary communication couldcause problems. The main loop will continue until the ‘Esc’ key is pressed. At thistime, the serial port to the Tern is closed, and the current gait settings are saved tothe file LASTPREF.SPR for easy future access.A.4.4Serial Input (from Tern AE86 board)If the main loop detects a data byte from the Tern on its serial port, it will sortit according to five cases. The first case is when the character is ‘@’, which is thecommunication check byte. This character has been sent by the PC and now hasbeen returned by the Tern, which results in the Knight Rider strobe advancing onestep in the KNIGHTRIDER function. The second case is when the byte is ‘X’, whichsignifies a software reset (SOFTRESET) should be performed. Whenever the Tern isreset, it sends this character to the PC to make sure both systems are at the samestarting point. The third case is when the data byte is ‘x’, which signifies that theTern will be sending some type of data to the PC. This data is sent as 6 bytes, followedby a ‘y’ to terminate the data transfer process. The first data byte is the data type


160APPENDIX A. DOCUMENTATION FOR TERN AND SPRAWLETTES SETUP(var DATATYPE), and the following 5 bytes are the digits of a 5 digit number (varNUM). Once the number is reconstructed, the data type and the value are sent tothe function DATAUPDATE for processing. The fourth case is when the data byteis ‘-1’, which means that the Tern is preparing to send collected data from the DATAarray. The functions GETDATABLOCK and SAVEDATA are called to receive thisdata. The data transfer summary is displayed on the PC for error checking, and theprogram pauses for the user to acknowledge the data transfer. If the data byte fromthe Tern is not in any of the above four cases, then it goes to the default case, whichignores the byte and continues to look for acceptable bytes.A.4.5Keyboard InputIf the main loop detects that a key has been pressed on the keyboard, then thecharacter is sent through the serial port to the Tern, and also displayed on the PC.This character is also temporarily stored and sorted into four different cases. If thecharacter is either ‘h’ or ‘g’, then it is interpreted as a request to increase or decreasethe communication check speed (var KRSPEED). This variable is altered in steps of500 loops. The third case for keyboard input is reached when the variable PREFhas been set. This variable is set in the function DATAUPDATE when the Ternconfirms that the preference mode has been selected by sending back the necessarymessage. If this variable is set, the function DECPREF determines what to do withthe character. If the character does not fall into any of the above three cases, thenit falls into the default fourth category where the PC side of the interaction does notto do anything with the character.A.4.6Preference modeThe preference mode loop is used to easily save and load gait parameters. Thepreference mode has 5 main features. The default settings can be loaded onto theTern board from the DEAFULT.SPR file. The last saved preference settings canbe loaded from the LASTPREF.SPR file. Also, any other file can be loaded afterthe user enters the filename. The current gait settings can easily be saved in the


A.4. PC 161LASTPREF.SPR file for future use. Finally, the current settings can be saved to anyother file desired by the user. When this mode is entered, the Tern sends all of thegait parameters once at the beginning to ensure that the PC has the most currentdata. From that point, most of these functions are handled by the PC and do notrequire additional input from the Tern. The preference mode loop is terminated bypressing ‘q’ to exit.A.4.7Function SummariesSOFTRESET - This function performs a software reset on the PC, which involvesmaking sure the serial port is open and displaying a new interface. This functionstarts by closing the serial port if it is open, which is followed by a open request.This makes sure that there are no ongoing communications through the port. Thebase display (DISPLAYBASE) is drawn next. This is the main title and systemmessage sections. The main menu is drawn next (DISPLAYMENU). The mainmenu consists of four modes: Run, Configure, Diagnosis and Preference. Thestandard tripod gait parameter names are drawn next (DISPLAY00). Theseparameters are gait period, duty cycle, active leg and leg angle. The robotrepresentation is then drawn (DISPLAYROBOT00) in tripod gait mode. After thedisplay has been created, several of the basic operation parameters are reset, andthe function looks for either the Tern reset byte (’X’) or any keyboard entry. Thefunction displays a ‘Ready’ message before ending.DISPLAYBASE - This function is used to display the basic program data in theinterface window. The name of the program is displayed, and the section of thescreen designated for system messages is prepared.DISPLAYMENU - The standard menu is created by this function. The standardmenu displays all of the main program modes and how to get to these modes. Themodes are Run, Configure, Diagnosis and Preference. This function also refreshesthe system messages text in case something has overlapped into its area.DISPLAYROBOT00 - This function creates a representation of the robot for usein tripod gait mode. The leg angles are displayed within the body of the robot and


162APPENDIX A. DOCUMENTATION FOR TERN AND SPRAWLETTES SETUPthe ‘Lock’ sign is placed between a contralateral pair (row) of legs if they are lockedto move together.DISPLAYROBOT01 - This function creates a representation of the robot for usein variable valve gait mode. The individual leg angles, duty cycles, and phase offsetsare shown inside the body for each leg. The gait period is also displayed within thebody, along with the ‘Lock’ sign if a row is locked.DISPLAY00 - This function is used to create the structure to display the gaitparameters for the tripod gait mode. The settings that are prepared by thisfunction are gait period, duty cycle, the active leg, and the leg angle. This functionalso clears the system messages, and shows which characters control these variables.DISPLAY01 - This function is used to create the structure to display the gaitparameters for the variable valve gait mode. The settings that are prepared by thisfunction are valve duty cycle, phase offset (from valve 0), the active leg, and the legangle. All of these values are displayed within the body, by the active leg, with anexception for the active leg, which is displayed by the active leg text. This functionalso clears the system messages, and shows which characters control these variables.DISPLAY1 - This function adds the necessary text for operation in Run mode.The characters that are specific for the Run mode are added to the menu. Theseinclude the spacebar for toggling activation, ‘d’ to take data, and ‘c’ to calibrate thesensors.DISPLAY2 - This function creates the interface for the Configuration mode. Ithas spacing for the display of the gait period/phase offset (value depends on gaitmode), duty cycle, active leg, leg angle, gait control mode, number of valvesoperating, number of samples/channels, sampling frequency, the new data marker,and the communication check speed variable. This functions lists the charactersthat control all of the above and also the keys to control the ipsilateral (same side)leg angles, data array transfer and the AD configuration mode.DISPLAY21 - This function creates the AD configuration display. It creates achart for 8 AD channels and their states, and displays the keys used to change thesesettings. It also creates a display for the channel that is actively being manipulated,and shows how to exit the AD configuration mode. Before it terminates, the chart is


A.4. PC 163filled with the current status of all AD channels.DISPLAY3 - This function creates the display for the Diagnosis mode. It creates astructure to display the active AD converter, the active channel and the currentvalue. The characters that are used to control the active channel and converter areexplained along with the keys to test the servos ’)’ ,‘!’ ,‘@’ ,‘#’ ,‘$’ ,‘%’ and thevalves (0,1,2,3,4,5).DISPLAY4 - This function creates the menu display for the Preference mode.This menu allows the user to load DEFAULT.SPR, LASTPREF.SPR or any otherfile is its first three options. The next two options allow the user to save the currentsettings as LASTPREF.SPR or any other file. The last option that is displayed isthe exit option.DISPLAY5 - This function creates a display structure for the special Testing mode.It prepares a space to display the number of periods of the test, and the calculatedtest length. It also displays which keys will change the number of test periods.DATAUPDATE - This function processes the encoded data that is received fromthe Tern board and designated for some specific purpose. This data may simply bea system message that provides the user feedback, or it can be sensor data from therobot that can be used for the user to respond to. This function receives two inputvalues, a data type (var DATATYPE - see Table A.3) and a number (var NUM). Itsdata type into different cases first sorts the data.System MessagesCase ‘1’ provides the user with system messages, the majority of which are feedbackfrom keyboard inputs. Based on the value of the var NUM, the data is processed,and the necessary message is displayed. The messages are usually displayed in thesystem message area, which is cleared during the message display process. Abreakdown of the numbering and the response follows.0 - The Tern has returned to standby mode. The gait parameters are refreshed byDISPLAY00 or DISPLAY01 depending on the current gait mode. Thecommunication check is activated.1 - The Tern has entered Run mode and DISPLAY1 is called to create the text.


164APPENDIX A. DOCUMENTATION FOR TERN AND SPRAWLETTES SETUPNo.Type1 System Messages2 Gait Period/Phase Offset3 Duty Cycle4 Active Leg/AD Channel5 Leg Angle & Channel I/O6 Data Acquisition7 Interrupt Frequency8 Special Values9 Adaptation & Joystick CalibrationA Turning (-ve) & Joystick Calibration ResultsB Turning (+ve)C Compass DisplayD Compass crossing limitsE Test sequence commentsTable A.3: Data types for the sending / decoding in DATAUPDATE functionThe communication check is cut off.2 - The Tern has entered Configuration mode and DISPLAY2 is called to create theinterface. After the interface is done, the relevant text values are inserted in thechart. These are gait control mode, 2/6 valve operation, new data in array, and thecommunication speed.3 - The Tern has entered Diagnosis mode and DISPLAY3 is called to create theinterface. The communication check is cut off.31 - Data acquisition has started on the Tern. The current time on the PC isdisplayed. These are both displayed in the system message area.32 - The data acquisition is complete. Options for taking more data and exit aredisplayed. The variable NEWDATA is set to denote that this data has not beentransferred yet.33 - An attempt to transfer the data array was received, but there is no new data inthe Tern DATA array.34 - The Tern is about to start sending the DATA array.35 - The Tern has completed sending the DATA array.


A.4. PC 16536 - An attempt to transfer data has been made from a mode where this may notbe safe. A request to return to STANDBY mode is given to the user.41 - The 300kHz AD converter has been selected in Diagnosis mode. Informationabout the location of the AD inputs is listed. The communication check is turnedoff.42 - The 10kHz AD converter has been selected in Diagnosis mode. Informationabout the location of the AD inputs is listed. The communication check is turnedoff.43 - Neither of the AD converters are selected, and the AD diagnosis is consideredoff. The communication check is turned off.44 - The Tern has entered the AD configuration mode from the Configuration modeand the function DISPLAY21 is called to create the interface.10 - The robot locomotion has been activated and the communication checkdeactivated.11 - The robot locomotion has been halted and the communication check activated.12 - The Tern is in Testing mode and the test has finished its designated number ofperiods. The communication check is cut on.30 - The Tern serial port (SER0) has been opened for communication to servos.50-55 - The lock has been toggled on the active leg. This will adjust the variableLEGLOCK[i] and the ‘Lock’ sign on the robot representation in the display. Note:The Tern has added 50 to the active leg for encoding.61 - The Tern will send output valve signals to all six legs, and the variableALLVALVES is set. If the Configuration mode is active, the chart display will beadjusted.62 - The Tern will send output valve signals to only two legs, and the variableALLVALVES is cleared. If the Configuration mode is active, the chart display willbe adjusted.63 - The Tern has entered variable valve control mode, a marker is set to get the gaitperiod and the variable MODE is set to ‘V’. The Tern will send output valve signalsto all six legs, and the variable ALLVALVES is set. If the Tern is in Configurationmode, the chart will be updated. If it is in another mode, DISPLAY01 and/or


166APPENDIX A. DOCUMENTATION FOR TERN AND SPRAWLETTES SETUPDISPLAY1 will update the view to represent the new characters that control thegait parameters. Finally, the variable valve gait robot representation is displayed.64 - The Tern has entered the tripod gait mode and the mode is set to ‘v’. If theTern is in Configuration mode, the chart will be updated. If it is in another mode,DISPLAY00 and/or DISPLAY1 will update the view to represent the newcharacters that control the gait parameters. Finally, the tripod gait robotrepresentation is displayed.70-75 - The Tern is in Diagnosis mode and a valve test has been requested. Theactive valve will be pulsed for a fraction of a second. Note: The Tern has added 70to the active valve for encoding.80-91 - The Tern is in Diagnosis mode and the active valve is being toggled OFF/ON. Note: The Tern encoded the data by multiplying the active leg by 2 andadding 81 for toggle ON or 80 for toggle off.92-97 - The Tern is in Diagnosis mode and a servo test has been requested. TheTern will cycle the servo through its full range. Note: The Tern has added 92 to theactive valve for encoding.99 - The Tern has requested that the System Messages area be cleared.100 - The Tern is set for its maximum data storage limit, and a request was sent toincrease the number of samples. The number of samples, the active AD channels,and the time needed for the test are displayed.101-108 - The Tern is in Configuration mode, and number of active channels needsto be added to the chart. Note: The Tern has added 100 to the number of activechannels for encoding.110 - The PC has entered Preference mode and the preference menu is created bythe function DISPLAY4. The communication check is cut off.130 - The Tern has deactivated the gait Adaptation mode.131 - The Tern has activated the gait Adaptation mode and the user is requested tosuspend the robot momentarily for a calibration routine. The PC sends a ‘Z’ to theTern to signify that the robot is ready, after the user presses a key.122 - The sensor calibration has been completed.123 - The Turn Adaptation mode has been deactivated.


A.4. PC 167124 - The Turn Adaptation mode has been activated.125 - The Tern has received a request for sensor calibration. The user is requestedto prepare the robot for a calibration routine. The PC sends a ‘Z’ to the Tern tosignify that the robot is ready, after the user presses a key.126 - The Tern will not embed valve frequency signals during data collection.127 - The Tern will embed valve frequency signals in the DATA array during datacollection.129 - The Tern is in Adaptation mode and has received a request to start datacollection, but data can not be collected since the array will be used to temporarilystore adaptation variables.132 - The Tern has deactivated the joystick control.133 - The Tern has activated the joystick control, and leg angle based turns will beperformed.136 - The Tern has activated the joystick control, and duty cycle based turns willbe performed.134 - The Tern has entered the Testing mode and the function DISPLAY5 is calledto show the special test control keys. In testing mode, the robot is halted after a setnumber of periods.135 - The Tern has returned to continuous activation mode and the functionDISPLAY1 is called to refresh the menu. The System Message text is refreshed also.140 - The Tern is preparing to calibrate the joystick. The variable CALIBJ is set todisplay special joystick messages.141-147 - The user is requested to move the joystick to various positions and pressthe spacebar for calibration.148 - The Tern received a request to abort the joystick calibration.149 - The joystick calibration process is complete and the variable CALIBJ is reset.150 - The Tern will not be sending any more compass heading information, so theheading display is nullified (ie. x’s are out in the display).151 - The Tern will be sending compass heading information soon, so the headingdisplay is updated.152 - The quick joystick settings have been requested. This allows the user to skip


168APPENDIX A. DOCUMENTATION FOR TERN AND SPRAWLETTES SETUPthe calibration routine is the permanently stored values are trusted or close enough.Gait Period/Phase OffsetCase ‘2’ is used to display either the gait period or the phase offset, depending onwhich gait mode is active. For the variable valve mode, the phase offset is displayedby the active leg within the robot body representation, and the value is stored inthe variable PO[i]. For the tripod mode the gait period is displayed in the ‘Settings’section of the mode interface, and stored in the variable PERIOD.Duty CycleCase ‘3’ is used to transfer the duty cycle of either the tripod mode or the activeleg. For the tripod gait mode, the value is displayed under the ‘Settings’ portion ofthe mode interface, and stored in the variable DC. In the variable valve mode, thevalve duty cycle offset is displayed by the active leg within the robot bodyrepresentation, and the value is stored in the variable VDC[i].Active Leg/AD ChannelCase ‘4’ is used to transfer the active or the active channel. In the AD configurationmode, the value is displayed as the active AD channel. In other modes, the value isdisplayed as the active leg in the ‘Settings’ section, and the leg number is highlightedwithin the robot body representation. The value is saved in the variable NUM.Leg Angle & Channel I/OCase ‘5’ displays the leg angle and also the AD channel status. In the ADconfiguration mode, the value is placed in the AD chart as the status (0 or 1) of theactive AD channel. In all other modes, this value is displayed within the robot bodyrepresentation and stored in the variable LEG ANGLE[i].


A.4. PC 169Data AcquisitionCase ‘6’ is used to display AD channel diagnosis data and the data samplinginformation. In the Diagnosis mode, the data value is displayed as the current ADvalue for the active AD channel. In all other modes, it is interpreted as related tothe sampling frequency. Thus, the sampling frequency is calculated and the time forthe test is also displayed based on the number of samples desired. In the process thesampling frequency is stored in the variables DAHZ and SAMPF.Interrupt FrequencyCase ‘7’ is used to display the interrupt frequency for the gait period resolution.This is normally set to 1kHz, and most code calculations are based on thisfrequency. If this value is changed, the timing figures for test lengths may bemiscalculated. If this occurs in the Configuration mode, the keys that control thischange are highlighted in the menu. In all cases, the new interrupt frequency isshown and a warning is issued as the value is stored in the variable HZ.Special ValuesCase ‘8’ is used to get the gait period, the number of samples and the active ADdiagnosis channel. If the variable GETPERIOD is set, this value will be saved anddisplayed as the gait period in the ‘Settings’ section of mode interface. The variableGETPERIOD will be reset in this case. This is used to get the gait period oncewhen in variable valve mode, since this parameter is not changeable in that mode.In the Diagnosis mode, this value is displayed as the active AD channel for theactive AD converter. In the Testing mode, this value is displayed as the totalnumber of desired periods, along with the test duration. In all other modes, this isdisplayed as the number of samples to take during data collection. Thiscorresponding time is shown with the number of samples.


170APPENDIX A. DOCUMENTATION FOR TERN AND SPRAWLETTES SETUPAdaptation & Joystick CalibrationCase ‘9’ is used to display ground contact time and calibration values during joystickcalibration. If the calibration sequence is active (var CALIB J set), the fifth digit ofthe value allows you to determine which calibration value is being received. Note:By dropping the fifth digit, the actual digit becomes apparent. For all other modes,this value is displayed as the ground contact time in the system message area.Turning (-ve) & Joystick Calibration ResultsCase ‘A’ is used to display the degree of the turn in the negative angular directionand the joystick calibration results. If the joystick calibration sequence is active,this value is decoded as a nominal value for one of the axes (X, Y, throttle) basedon the fifth digit. This value is displayed once the fifth digit is dropped. In all othermodes, this value is displayed as the degree of the turning either as a result ofjoystick movement or turn adaptation.Turning (+ve)Case ‘B’ is used to display the degree of the turn in the positive angular direction.This value is displayed as the degree of the turning either as a result of joystickmovement or turn adaptation.Compass DisplayCase ‘C’ is used to display the compass heading and region. The region is encodedas the fourth digit, and the lower three are the angular heading seen by the analogcompass. Once decoded, these values are displayed in the compass heading sectionof the mode interface.Compass crossing limitsCase ‘D’ is used to display the upper and lower crossing limits of linearity for thecompass. These limits are used by the compass heading algorithm to determine the


A.4. PC 171MessageDescription0 The test sequence has been initiated.1 The Tern is taking a heading measurement while the robot is stationary.2 The experiment is being performed and the robot should be in motion.3 The test sequence is complete.4 The running portion of the test is complete, and the program pausesfor user response as the compass reading settles.1000-5000 is interpreted as the initial heading reading with 1000 added.5000-10000 is interpreted as the final heading reading with 5000 added.Table A.4: Compass testing mode message decodingangular heading. The upper limit in encoded by adding 5000. Based on the size ofthe value, it is decoded and displayed as either the upper or lower crossing limit inthe system message area.Test sequence commentsCase ‘E’ is used to display messages during the Testing mode sequence. There arefive messages related to single digit numbers, and 2 ranges to sort initial and finalheading (see Table A.4).Note: All of these messages and results are displayed in the system message area.GETDATABLOCK - This function is used to receive the DATA array from theTern. This is the result of data collection during the Run mode. This function usesa two byte transfer method and has a designated stop byte. (Note: The start bytehas already been received and caused this function to be executed) The 12 bit data(range:0-4096) has been broken up into two 6 bit values (range: 0-64) that can betransferred easier. This was done by masking the upper 6 bits to get the 1st value,then shifting the original value to the right 6 times to get the 2nd value. Thus, toreconstruct the value, shift the 2nd value to the left 6 times and add the 1st value tothe result. (ie. numchan = (numstack[2]≪6) + numstack[1]) The first 4 bytescontain the number of channels and samples in the array. The function receives 14bytes (or one row) of data, then reconstructs the values and places them into the


172APPENDIX A. DOCUMENTATION FOR TERN AND SPRAWLETTES SETUPstorage array. As an error check, this function sends the number of rows of 7 columndata it has received back to the Tern board. This function also resets the data arraymarkers (vars MARK1 and MARK2) for future use.SAVEDATA - This function saves the data array received from the Tern board toa file on computer. It gives the files a number, and increments the number toprevent files from being overwritten. This function starts by opening a file forwriting and inserting the necessary text in MATLAB comment form. Then basedon the variable NUMCHAN is creates an array with that number of columns plusone (for a sample marker), and populates it with data using the functionSTOREVAL to retrieve the data. After all the data is entered, the array is closedand a script is added to extract the frequency when this ‘.m’ file is run inMATLAB. The file is then saved and the variable FILENUMBER is incremented toprevent overwrite. Finally, the variable NEWDATA is cleared to denote that thisdata has already been transferred and saved. Note: This counter is reset each timethe program is executed, so the first file written will always be ‘data001.m’STOREVAL - This function returns values from the data array. It uses twomarkers to keep track of rows (var MARK1) and columns (var MARK2) to knowwhich data element to send next. Note: A workaround was added to get the 0th rowof data with this method.KNIGHTRIDER - This function was added to provide a visual display of thecommunication link between the PC and the Tern. Whenever the Tern successfullybounces the character ‘@’ back, the character line ‘***’ advances (var KR) in itsactive direction (var KRDIR). When it reaches the boundary, the active directionchanges and it moves in the opposite direction, similar to the red light on the frontof Knight Rider.SAVEPREF - This function allows the user to save all of their current gaitparameters from the setup in the working file directory. It starts out by opening afile for writing and creating a variable CHECKSUM from the sum of all theparameters. This can be used during data transfer as a check to see if all theparameters were transferred properly. The function proceeds to write the checksum,tripod duty cycle, gait period, phase offsets, valve duty cycles, leg angles, 2/6 valve


A.4. PC 173operation mode, number of samples, active channels, sampling frequency, knightrider speed, locked leg rows, gait mode, active leg and the checksum again, all intothe open file with spaces separating them. This file is then saved, and the messageis displayed to the user to denote this.LOADPREF - This function allows the user to load all of the previous gaitparameters from another setup into the PC memory. It starts by opening thedesignated file and reading the data into the DATA array until it sees an EOF (endof file) marker. At this point, the numbers are read from the DATA array andassembled by the function READNUM. Using the function READNUM, it ispossible to extract the checksum, tripod duty cycle, gait period, phase offsets, valveduty cycles, leg angles, 2/6 valve operation mode, number of samples, activechannels, sampling frequency, knight rider speed, locked leg rows, gait mode, activeleg and a checksum. This file is then closed and the message stating that the file hasbeen loaded is displayed. This file is usually used with the function SENDPREF.SENDPREF - This function allows the user to send all of the previous gaitparameters from another setup to the Tern. It starts by opening the designated fileand sending the data, one byte at a time to the Tern, until is reaches the EOFmarker. The Tern can reconstruct the data is a similar fashion seen in the functionsLOADPREF and READNUM. After all of the data is sent, the file is closed, andthe display is refreshed with the current gait parameters based on which gait modeit is in. This file is usually used with the function LOADPREF.READNUM - This function reads in bytes from the DATA array, and tries tomake a ‘num’ digit integer from them, using the POWER function. The firstcharacter should be a space (ie. the data string ‘ ’ ‘1’ ‘2’ ‘3’ will be converted to123). The space is used to clear the first digit. Then the remaining characters areconverted to numbers, then turned into a ‘num’ digit value with the help of thePOWER function. Note: The ‘data’ array should contain the configuration data inthe 1st column.DECPREF - This function performs the sorting of keystrokes in Preference mode.There are two main categories, saving a file and loading a file, both have variationsthat are shortcuts for certain operations. The characters ‘0’ ,‘1’ and ‘2’ all use the


174APPENDIX A. DOCUMENTATION FOR TERN AND SPRAWLETTES SETUPfunctions LOADPREF and SENDPREF to access DEFAULT.SPR,LASTPREF.SPR and any other file, respectively. The characters ‘3’ and ‘4’ bothuse the function SAVEPREF to save to LASTPREF.SPR or any other file,respectively. The character ‘5’ is used to access the unsupported code to debug thekeystroke capture process. If the character does not fall into one of the aboveclasses, it is sent to the Tern for processing. Finally, the character byte is resetbefore the function terminates.ACTIVELEG -This function is used to highlight the active leg in the robotdisplay. It first goes through and clears any previous highlights, then draws thehighlighted leg 0 through 5, OR nothing otherwise (ie. this can be used todeactivate all legs).POWER - This is the standard power function that computes the power functionfor a given base and exponent. (Eg. 10e3=1000). This function returns the result.A.5 InterfaceThe Sprawl Interface Board (SIB) acts as the hub for many information and commandtransfers. Data to and from the PC and TERN board go through the SIB. Also manysystem extensions (joystick, servo controller, sensors, H-bridge, etc) are connectedthrough the SIB.A.5.1HardwareSIBThe Sprawl Interface Board (SIB) has been designed as a convenient interface betweenthe Tern AE86 board and the other components. The SIB connects the PC and theTern, the Tern to the Mini-SSC to the robot, the Tern to the H-bridges to the robot,power to the robot, the Tern to the robot, and external sensor circuits to the Ternand the robot. To accomplish all of this, the SIB was designed to hold serial ports,H-bridge ICs, diodes, a Mini-SSC servo driver, power distribution, I/O routing, aTern AE86, connections for robot tethers, jumpers for configuration changes, and


A.5. INTERFACE 175Figure A.9: SIB w/ Tern, H-Bridges and Mini-SSCI/O ports for external additions.TernThe Tern board is the heart of the robot control system. The Tern AE86 is a microcontrollerbased on the AMD186 and manufactured by Tern, Inc. The particularone that is used in this application has a 40MHz clock, 2 serial ports, 8 300kHz ADinputs, 11 10kHz AD inputs, 3 timers, 512 SRAM, and 24 configurable I/O lines.The Tern board is used to interpret keyboard input, send gait signals to the robot,and determine changes that should be made based on input.Mini-SSCThe Mini-SSC is made by Scott Edwards Electronics and is used to control the sixservos that dictate leg angle. This controller was chosen for its small size and abilityto control up to 8 servos via a input serial connection. The SER0 Tern serial port isused to communicate with the Mini-SSC. The servo control requires three bytes. The


176APPENDIX A. DOCUMENTATION FOR TERN AND SPRAWLETTES SETUPfirst byte is a sync byte, the second byte is the servo number, and the third byte isthe servo value. (Eg. This would turn servo #1 to its 128th step.)This controller allows 256 steps, and can be set for 90 or 180 full range, dependingon the resolution needs.H-bridgeThe 5V output from the Tern is sent to the H-bridge circuit, which acts as a switch forthe 12V supply that powers the valves. These H-bridge ICs have been integrated intothe SIB along with the necessary diodes that complete the basic switching circuit.JoystickThe joystick becomes a convenient method to control the robot during many aspectsof testing. The joystick is interfaced with the Tern inputs to control various gaitparameters. The joystick receives 5V power and all the buttons outputs are connectedto 5V by a resistor, so that the output switches from 5V to 0V when the button ispressed. The X,Y, and throttle axes are connected to ground by a resistor in afashion that the output voltage will change proportional to the axis movement. TheX axis on the joystick controls heading either by changing ipsilateral leg angles orduty cycles. The Y axis controls the leg angle of all legs equally, allowing for legreversal and reverse movement. The throttle can be used to change the stride periodof the gait. These three axes are monitored by the SCANJOYSTICK function. Twoof the joystick buttons near the thumb are used to increase or decrease the duty cycle(separate interrupts). The large thumb button actuates the motion, and the triggeris used for data collection (both separate interrupts). The buttons are all monitoredby external interrupt inputs on the Tern, which look for falling edges.Other sensorsThe Sprawlette robots have been equipped with various sensors and features for differenttest scenarios. Photodiodes have been placed on some Sprawlettes to detectvarious lighting conditions. These photodiodes, when used in pairs as eyes, can be


A.6. KEY MAPPINGS 177useful in either following or avoiding a light source. This has been implemented witha simple P control feedback that is related to the difference in light intensity betweenthe two sensors. The photodiodes are connected directly to power and by a resistorto ground. The output is taken from the resistor side and given to the Tern. Ananalog compass has also been added to several of the robots for heading information.The compasses were intended to be used in a maneuverability experiment. Due tothe strong magnetic fields that are apparent in the vicinity of the test setup, the useof the electronic analog compass did not result in a feasible heading measurementsolution. The compass requires a regulated 5V supply and ground, and it delivers 2sinusoidal signal that are out of phase and related to the compass orientation. Thesinusoidal center is near 2.5V and should fluctuate by 0.75V based on heading. Apair of LED beacons have been mounted on several of the Sprawlettes. These areintended for use with an overhead video data collection setup. In order to prevent theTern from nearing its output current specs, these are powered by Darlington arraysthat are controlled by the Tern output.A.6 Key MappingsThe keyboard mapping for the control of the Tern board program used to operatethe Sprawlette robots is compiled in Table A.5. This table can serve as a quick guidefor running the Sprawlette robots. The order of commands is roughly a timeline ofwhen certain functions were added.


178APPENDIX A. DOCUMENTATION FOR TERN AND SPRAWLETTES SETUPSprawl Key Function Mode active1 Run mode Standby2 Configuration Mode Standby3 Diagnosis Mode Standby4 Preference Mode Standby@ Background communication check All*z Activate serial port 0 (SER0, default debug port) All*q Usually goes to previous menu All*p Increase the gait period All*o Decrease the gait period All*] Increase the Duty Cycle All*[ Decrease the Duty Cycle All** Increment active leg number All*/ Decrement active leg number All*+ Increase leg angle All*- Decrease leg angle All*, Decrease leg angle on left side All*< Increase leg angle on left side All*. Decrease leg angle on right side All*> Increase leg angle on right side All*t Increase sampling frequency of AD converter All*y Decrease sampling frequency of AD converter All*T Increase valve resolution All*Y Decrease valve resolution All*l Increase total number of samples All*k Decrease total number of samples All*g Increase communication check frequency Non timered modesh Decrease communication check frequency Non timered modesv Toggle between tripod / independent control gaits All*V Toggle between 2/6 valve operation All*? Adaptation mode toggle All*F Frequency embedding toggle for data collection All*L Lock toggle for left-right leg pair All*c Take a static sensor reading for calibration All*∧ Turning mode toggle All*J Toggle joystick activation All*& Toggle the turning mode (LA or DC) All*m Toggle active joystick axis All*% Toggle turn routine method All*T Toggle testing mode All*C Calibrate joystick All*Table A.5: Key Mappings


A.6. KEY MAPPINGS 179H Toggle compass display All*u Decrease compass upper crossing level (UCL) All*U Increase compass upper crossing level (UCL) All*n Increase compass lower crossing level (LCL) All*N Decrease compass lower crossing level (LCL) All*w Quick joystick calibration (from stored table) All*M Toggle LED markers All*d Start data acquisition Runs,S Send data block to PC StandbyA Switch to AD configuration menu Configuration),!,@,#,$,% Cycle servos through full range Diag0,1,2,3,4,5 Set valve for diagnosis (Test 4 only) Diagspacebar Toggle for 1) Test Two 2) Valve diagnosis DiagA Switch between AD converters Diaga Increment the AD channel Diagz Decrement the AD channel Diag0 Load settings from DEFAULT.SPR Preference1 Load last settings from LASTPREF.SPR Preference2 Load settings from a specified file Preference3 Save settings to DEFAULT.SPR Preference4 Save settings to a specified file Preference) Activate Timer 1 (TMR1) Not active( Activate Timer 2 (TMR2) Not active& Set PIO lines to output Not active∧ Activate external interrupts Not active% Activate 10kHz AD converter (AN0-AN10) Not activeD Test sequence RunTable A.6: Key Mappings (cont.)


Appendix BModel ProgressionsB.1 Parameter effects - Model tuningThe iSprawl model was built upon the Sprawlette base, and needed considerabletuning for it to achieve similar speed and stability of the actual robot. In the followingsection, the details of the iSprawl model tuning are presented and discussed.Periodic StabilityFor all tests, the results were initially analyzed with respect to their final headingand velocity. One method of determining the velocity stability of these tests, was totake the last 100 points (300 steps/sec and 0.07 stride period ⇒ approximately 4.75full periods), and get the standard deviation. Values less than 0.01 were generallyconsidered acceptable. Similar to the velocity, the final heading stability was basedon the last 100 points, and a standard deviation less than 0.5 was generally consideredacceptable, as the body may yaw some with each half stride.13 FIXED is used to mean a fixed arithmetic difference between related parameters.13 RATIO is used to mean a geometric difference between related parameters.180


B.1. PARAMETER EFFECTS - MODEL TUNING 181Hip (rotation spring) stiffness - k hipThe rotational hip stiffness is comprised of 3 independent values for the three rowsof legs (front, mid, rear). All three were shifted independently, and it was found thatk hip = (0.8/0.8/0.6) works moderately well and was stable. These parameters werethen grouped together to reduce the dimension of the problem. One method was touse the geometric ratio from a decently stable model and shift the values around.Using this RATIO method yielded wildly non-monotonic behavior and instability,resulting is continual use of the ‘decent’ values. Grouping k hip and b hip from thedecent values, also gave unstable, non-monotonic results, so that scan resulted in noimprovements either. Once the ‘decent’ range was validated, more focused test wereperformed in a scanning method to investigate the front and middle together, andthe rear separately. The rear stiffness, k hipR , was scanned first, while k hipF M washeld at 0.8. (Note: FM=front & mid; R=rear) Any values of k hipR greater than 0.75resulted in unstable heading, though faster speeds in some cases. Changes to thek hipR parameters brought close to a 50% increase in speed, while changing the finalheading by 5-10 o . The results were fairly monotonic, except for when k hipR is greaterthan k hipconsistentF M . Is appears that k hipR should be slightly less than k hipF M foroptimal performance. Next, the values of k hipF M were scanned, while holding k hipR at0.75. Any values of k hipF M greater than 0.8 generally gave unstable heading, thoughslightly faster velocity in some cases. Values lower than 0.8 had a gradual monotonicdecrease in speed performance (by about 50%). Since heading is of concern in thismodel, parameter changes that destabilized the heading were not pursued.Default(FM):0.8, Range:[0.7 0.9], Step size:0.01, Suggested value:0.8Default(R):0.6, Range:[0.55 0.85], Step size:0.01, Suggested value:0.75Hip (rotational spring) damping - b hipThe hip damping involves 3 independent values also, but to reduce the parameterspace, these were grouped to one value. After determining that 1E-4 was a workablevalue, it was scanned for an order of magnitude above and below that value. Itturns out that 1.5E-4 is near the peak of speed performance, with speed falling off on


182 APPENDIX B. MODEL PROGRESSIONSboth sides. Changes in this parameter did not greatly affect the heading, and speedchanges were about 10-20%, without considerable instability.Default:1E-4, Range:[1E-5 1E-3], Step size:4.71E-5, Suggested value:2.5E-4Leg anglesThe leg angles of the 3 rows of legs (front, mid, rear) are controlled by three parameters.To help reduce the dimension of the search, these 3 parameters were groupedtogether in a way similar to k hip , ie. by geometric ratios and by arithmetic differences,based on decent values [10/25/40] o . For the arithmetic (FIXED) difference tests, thespeed increased as the top of the legs were angle more toward the front of the robot.But, as the angle increased, the heading began to loose its stability. Thus, the valuesof [14/29/44] o were chosen as optimal. In general all of these FIXED tests were fairlystable, except the extreme cases. Over the range of the test, the speed almost doubled,but from the starter values, there was only about a 5% increase (0.88⇒0.93m/s). Forthe geometric (RATIO) difference tests, the stability was much less consistent. Noreal improvements were found by scanning with the RATIO method.Default:[10 25 40], Range:±10 o , Step size:1, Suggested value:[11 29 44]Linear leg spring stiffness & damping- k pist and b pistThe linear leg (often called the piston, due to residue in the code from the Sprawlettemodels) stiffness and damping were treated as uniform for all the legs, as is the caseon the robot. Thus, only 2 parameters needed to be tuned rather than the possible12. In the process of scanning, it was found that softening the spring (from 2500 to1500) and damper (4 to 1.5), it is possible to obtain about a 5% speed increase withsome heading stability improvement. The velocity and heading were mostly stablethroughout the scan, with a few exceptions.Default:[2500 4], Range:[[1000 4000] RATIO-based], Step size:[100 RATIO-based],Suggested value:[1500 2]


B.1. PARAMETER EFFECTS - MODEL TUNING 183Static and dynamic friction (foot-ground) - µ s and µ dThe foot-ground friction values were also scanned around the decent values of µ s = 1.5and µ d = 1.2. Using the FIXED method (fixed difference in the values, ie. 0.3,based on decent parameters), lower friction values resulted in monotonic decreasesin velocity, and varying heading with decreasing yaw stability. Higher friction valuesshowed an slight increase in velocity (about 5%), and a decrease in yaw stability andheading. There were no standouts that would suggest a friction change in the model.Using the RATIO method (keep the same geometric ratio between values), the resultswere similar to those seen in the FIXED method, with no real standouts.Default:(1.5,1.2), Range:±1, Step size:0.1, Suggested value:(1.5,1.2)Timed stroke length ramp upThe iSprawl model is created in the air, and must drop to the ground at the startof the simulation. It is likely that a large part of the heading offset that occurs in asimulation may be an artifact of things occurring in the transient time as the robotgets up to a steady state speed. The most influential instances may be the initialfoot-ground contact sequence and the reaction of the 1st couple of strides. Thus, avariable (t ramp ) to allow a slow, linear ramp up of the stroke length over time wasadded and scanned for effectiveness. As the length of t ramp increases, the time for therobot to reach steady state increases, and results in lower final velocities for my fixedtime (3sec) scans. Larger t ramp values also showed slightly less stability in velocity.Any values of t ramp over 0.4sec seems to do well in reducing heading offset, with varied,usually fairly good stability. Trends for values of t ramp below 0.4 seem sporadic, thust ramp = 0.4sec was chosen as the best ramp up time length.Default:0.3, Range:[0.0,2.0], Step size:0.05, Suggested value:0.4Tuning SummaryThe primary parameters that were tuned are presented roughly in the order of theirinfluence on the stability and performance of the model. These changes were made


184 APPENDIX B. MODEL PROGRESSIONSsequentially, and some changes resulted in large model improvements, as seen in TableB.3.ADAMS Sprawlette modelsModel nameNotesmake cockroach CMP.cmd Initial working Sprawlette version combining latestchanges from Jonathn Clark and Arthur McClung(built from Sprawlita model make cockroach.cmdmake cockroach2 CMP.cmd Minor parameter changes (body weight, leg positionleg masses and angles)make cockroach3 TripodSwap.cmd swapped tripods to investigate turn biasmake cockroach4 CMP LA.cmd intersection method used for middle leg anglesindividual leg DC addedadded tether force, adjusted hip stiffness and dampingmake cockroach4 CMP no tried removing the drag forcetether drag.cmdmake cockroach4 CMP 6dc.cmd stable version used for majorityof Sprawlette simulationsmake cockroach4 CMP 6dc PERT.cmd added a force and variablesto create a disturbanceTable B.1: Progression of Sprawlette models in ADAMS


B.1. PARAMETER EFFECTS - MODEL TUNING 185FolderTest descriptionsADAMS Data setsCMP/*01 DCi+-(LR),LA(LR) - output (yaw)CMP/*02 combo LA(L),DCi(LR)CMP/*02b combo LA(L),DCi(LR)CMP/*03 DCi-(L)CMP/*04 DCi-(L)CMP/*05 DCi-(L), performance measuresCMP/*06 DCt+-(LR),LA(LR) - 3 outputs(yaw,z,v)CMP/*07 LA(LR) - 3 outCMP/*08comp LA(LR), DCi+-(LR), DCt+-(LR) - 3out, 5 paths for summary plotCMP/*08compa Lat Compl @ L20CMP/*08compb LA/DCi, LA/DCt combo with sim. mag. changesCMP/*08compd Taguchi L4(LA,DCi,DCt), L9 (Friction,LAi,DCi,SP)CMP/*08compe Taguchi L9(LA,DCi-), L4(DCim, DCip, DCtm, DCtp)CMP/*08compf Taguchi L9(LA,DCi-+)CMP/*08compg Taguchi L9(LA,DCi+)CMP/*09 Slope from 0-60 & 100-200% frictionCMP/*09a Various leg combos for turns (Contr,Diag, Indiv,Ipsi), IsoIps/IntIps comparison (0:10:40)CMP/*09b Grid Testing (A-Above,B-Forward,C-Rear,D-Top,E-Bottom,F-Above(Focused))dataset71 LA-10 - 4 out tripods (X,Z,theta)dataset72 LA-10(LR) - 4 out tripods (X,Z,theta)dataset73 LA-10(LR) - 5 out tripods (X,Z,theta,psi)dataset74 DCt-10(LR) - 5 out tripods (X,Z,theta,psi)dataset75 DCi-10(LR) - 5 out tripods (X,Z,theta,psi)dataset76 DCi-10(LR) - 5 out tripods (X,Z,theta,psi)dataset77 Taguchi 3 out (psi,theta,phi)dataset78 Taguchi 3 out (psi,theta,phi)dataset81 Taguchi 3 out (yaw,pitch,roll)dataset82 Taguchi 3 out (yaw,pitch,roll), diff 012 meaningsdataset83 LA001020(LR) - 5 out tripods (X,Z,yaw,pitch)dataset84 DCi000510(LR) - 5 out tripods (X,Z,yaw,pitch)dataset85 LA001020(LR) - Insightdataset86 BoxBenkin DOEdataset87 Taguchi 3 out (yaw,pitch,roll), diff 012 meaningsdataset88 Taguchi 3 out (yaw,pitch,roll), diff 012 meaningsdataset89 LA001020(LR),DCi001020(LR),DCi000510(LR) - check nom LA (00/30/45)dataset8A LA001020(LR),DCi001020(LR),DCi000510(LR) - 00/25/40 -5 out (X,Z,yaw,pitch), shortened to 2.025secdataset8b LADC combo tests (4)dataset8d Tag L4 (4) and L9dataset8e Tag L4 (4) and L9 (DC-)dataset8f Tag L9 (DC-/+)dataset8g Tag L9 (DC+)* = ‘dataset’ text is included in the nameTable B.2: ADAMS Data sets for Sprawlette & models


186 APPENDIX B. MODEL PROGRESSIONSModel nameNotesADAMS iSprawl modelsmake cockroach4 6dc.cmd Sprawlette model used for previous turning experiments(2003-2004) Vel=0.6181m/smake iSprawl.cmd Adjusted mass, dimensions, placement, compliance of legs, feet and body(12/04/05) Changed lower leg force function (valve PWM) to lower leg displacement (sin)Adjusted stride period to ∼14Hz (0.07sec = 14.29Hz)Vel=


Appendix CADAMS Turning modelscomparisonThe following sections summarize an exhaustive comparison between the Sprawletteand iSprawl turning methods. The Sprawlettes use ipsilateral leg angle changes, andiSprawl uses opposing middle leg angle changes. For both robot models, moderateand hard turns were compared with a ‘straight’ run over 7 seconds. Several runsthat contained some unstable locomotion were also included for comparison. Thetest settings and summary are found in Chapter 4.Model ResolutionOne of the first items that was investigated was the resolution of the simulation, ornumber of steps per second. Sprawlette (stride frequency 7-8Hz) simulations weregenerally run at 300 steps per second. The majority of iSprawl simulations havebeen performed with the same settings. It was realized that since iSprawl operatesfaster (∼20Hz), it may be necessary to increase the number of steps per second,especially when looking at per stride analysis. The general results are the same, butwith more steps per second, it is possible to get more data about the nuances ofeach stride. Thus, the steps per second were increased to 600. As anticipated, theoverall results did not differ much (e.g for iSprawl, the final heading over a 7 sec187


188 APPENDIX C. ADAMS TURNING MODELS COMPARISON‘STRAIGHT’ run went from 4.33 o to 8.69 o , and for a moderate turn w/LM=28 oand RM=30 o , from -110 o to -90 o ). But, with the increased steps, it was able tomore closely analyze the ground contact forces that lead to turning.Turn RateFor iSprawl, the average near the end is 1.034 deg/s for ‘straight’, ±21 deg/s formoderate turns (±1 o ), and ±52 deg/s for hard turns (±3 o ). For Sprawlette, the endaverage is -1.789 deg/s for ‘straight’, ±16 deg/s for moderate turns (5 o on left legs),and ±48 deg/s for hard turns (15 o on left legs). This could probably be used adecent turn predictor, or performance measure.Unstable. Large vertical body motion fluctuations seem to correspond with angularvelocity activity.VelocityFor the moderate turns on iSprawl, the velocity did not change much (less than 1%,from 1.547m/s to ∼1.544m/s). For the hard turns, the velocity change was morenoticeable (about 4.4% from 1.547m/s to 1.479m/s), but not big enough to have adrastic affect on performance. Sprawlette tests showed similar results with slightlylarger differences in velocity, changing by 7% for moderate turns, and 30% for hardturns.Unstable. Large pitch, roll and/or body motion along Y-axis (COM.Y) oscillationsseem to match velocity decreases. Velocity decreases also match angular velocitiesabout Y (WY) moving away from zero, while increases match angular velocitiesabout Y being close to zero. T5 has a large unstable range, ie. ∼ [0.3,1.3 sec]. T6has a smaller unstable range, ie. ∼ [0.7,1 sec].YawBeing that these were turning experiments, the final yaw (or body heading) isexpected to change considerably, and this was the case. For moderate turns on


189iSprawl, the final heading was -89.97 o for a left turn and 88.5 o for a right turn,compared with 8.7 o for ‘straight’ running. For hard turns, the final heading was-234.7 o for a left turn and 253.8 o for a right turn. Sprawlette showed similar results,having a ‘straight’ run at -1 o , moderate turns at ±108 o , and hard turns at ±307 o .PitchIn hard turning, the range of the pitch changes from stride to stride decreases foriSprawl. For the Sprawlette model, the range is nearly doubled. This may be due tothe differences in turning methods and leg compliances. iSprawl is more compliantthan the Sprawlette model and may more easily regulate body motion. Sprawletteis stiffer, resulting in more body motion under certain leg conditions.Unstable. Large, increasing oscillations tend to lead to drastic YAW and angularvelocity changes. (Same for roll and vertical body motion)RollThe turning method is revealed somewhat by the body roll. iSprawl rolls slightly tothe inside of the turn, while Sprawlette rolls to the outside of the turn. Thisdifference shows how the legs are used differently. In iSprawl, the inside legs mayslump/collapse a bit and cause the body to dip, while on the outside the middle legbecomes more vertical, resulting in more thrust contribution through compliant hiprotation. (Note: Roll theory is also discussed in Chapter 6.)Unstable. Large, increasing oscillations tend to lead to drastic YAW and angularvelocity changes. (Same for pitch and vertical body motion)Body Motion along Y-axis (vertical)The range of the up-down body motion almost doubles from the nominal value forhard turns in Sprawlette, and the mean value increases. Thus, the body is bouncingmore, and at a higher base value. This again could be tied to the compliance of theSprawlette support system and leg usage for turning (more vertical on the inside


190 APPENDIX C. ADAMS TURNING MODELS COMPARISONlegs). For iSprawl, these is a slight increase in the range of the body motion whenhard turns are performed. Overall, both models show an increased motion rangeduring turning.Unstable. Large, increasing oscillations tend to lead to drastic YAW and angularvelocity changes. (Same for pitch and roll)a) b)c) d)Figure C.1: Spring deformation (iSprawl) and Stroke (Sprawlette) - iSprawlturning: a) Moderate, b) Hard. Sprawlette turning: c) Moderate, d) Hard. Valuesrepresent the percentage change from the nominal value.Axial Compliance(See Figure C.1) For iSprawl, there is more spring deformation in the LEFT tripodfor a LEFT turn, and less deformation in the RIGHT tripod (and vice-versa for aRIGHT turn). This seems that is may be coupled to Y (normal) Ground ReactionForces (GRFs). For the Sprawlette, the leg stroke was selected for investigation,since there is not a direct axial compliance component to measure, the compliancefrom the pressurized piston acts in a similar manner and is seen in the leg strokemeasure. On Sprawlette, there is slightly less stroke on the outside of the turn,while the inside stays about the same. This may be coupled with the body roll.Unstable. Spring deformation suggests sporadic foot placement (by side and tripod)for T5 and T6, with T5 having larger magnitudes.


191Leg Swing(See Figure C.2) This is a measure of the range through which each leg rotatesduring a stride. For iSprawl, there is more leg swing on the outside of the turn, andreduced leg swing on the inside. For Sprawlette, there is reduced leg swing all over,except the inside rear. Also, in general the magnitudes of the swing ranges aredifferent between iSprawl and Sprawlette, and along the body from front to mid torear. For iSprawl, the rear has the largest range (34 o ), followed by the front (32 o )and middle (29 o ). While on Sprawlette the differences are more pronounced, withthe largest being the front (21 o ), followed by the middle (14 o ) and the rear (8 o ).Unstable. Leg swing range decreased and was non-uniform for T5 and T6.a) b)c) d)Figure C.2: Leg swing - iSprawl turning: a) Moderate, b) Hard. Sprawlette turning:c) Moderate, d) Hard. Values represent the percentage change from the nominal value.Body DragThe body drag is measured as the contact between the corners of the body and theground. The only significant body contact occurred near the start of the simulation,when the robot is dropped from a small distance from its creation height to ground.There were no other instances of body drag during the simulations.


192 APPENDIX C. ADAMS TURNING MODELS COMPARISONUnstable. Quite a bit of rear body drag was present throughout the tests, but allfour corners experience some body drag.Ground Reaction Forces (GRF)The GRF were rotated from the simulation world coordinate frame to the bodyframe, in order for the forces to take on a more discernible meaning (longitudinal,normal and lateral - see Figure C.3).Figure C.3: Body frame axes for the iSprawl and Sprawlette models. X = Longitudinal,Y = Normal, Z = Lateral.X (Longitudinal)(See Figure C.4) For the middle legs of iSprawl, the range of the per stride forces isless on the inside and greater on the outside for hard turns. For the middle legs ofSprawlette, the range is also less on the inside and slightly wider on the outside. Ingeneral, the inside is providing less contribution to an opposing turn, and theoutside is making a greater contribution for a desired turn.Y (Normal)(See Figure C.5) For iSprawl, the tripod on the inside of the turn has greater Yforces (ie. likely a more supportive role) than the outside tripod (likely more of athrusting role). The Sprawlette model has a similar behavior to iSprawl, with slightdifferences possibly due to pitching effects.


193a) b)c) d)Figure C.4: X (Longitudinal) GRF - iSprawl turning: a) Moderate, b) Hard.Sprawlette turning: c) Moderate, d) Hard. Values represent the percentage changefrom the nominal value. Top value is the largest positive or MAX force (acceleration),bottom value is smallest negative or MIN force (deceleration).Z (Lateral)(See Figure C.6) For the front and middle legs of iSprawl making a LEFT turn,there are less lateral forces to the inside of the turn, and more to the outside, andvice-versa for a RIGHT turn. For Sprawlette, the inside forces of LEFT and RIGHTturns are similar, and outside forces of LEFT and RIGHT turns are similar. (Note:+Z (labeled as TOP: MAX) is body motion to the RIGHT, forces to the LEFT.And, -Z (labeled as BOT: MIN) is body motion to the LEFT, forces to the RIGHT.)Ground Reaction TorquesIn general these torques contained very small values, and the results did not haveany very striking characteristics. The following are items that seemed perceivable.The behavior was similar for moderate and hard turns.X (Foot Roll)LF. Slightly more (and larger) +ve peaks than -ve for LEFT and RIGHT turns.


194 APPENDIX C. ADAMS TURNING MODELS COMPARISONa) b)c) d)Figure C.5: Y (Normal) GRF - iSprawl turning: a) Moderate, b) Hard. Sprawletteturning: c) Moderate, d) Hard. Values represent the percentage change from thenominal value.RF. Slightly more (and larger) -ve peaks than +ve for LEFT and RIGHT turns.LM & RM. Slightly more (and larger) +ve peaks than -ve for LEFT turns. Slightlymore (and larger) -ve peaks than +ve for RIGHT turns.LR. Mostly -ve peaks for LEFT and RIGHT turns.RR. Mostly +ve peaks for LEFT and RIGHT turns.Y (Foot Yaw)There are not perceptible Y torque in these simulations.Z (Foot Pitch)LF & RF. Mostly -ve peaks for LEFT and RIGHT turns.LM. More noticeable peaks (+ve and -ve) for LEFT turn.RM. More noticeable peaks (+ve and -ve) for RIGHT turn.LR & RR. No real noticeable differences.


195a) b)c) d)Figure C.6: Z (Lateral) GRF - iSprawl turning: a) Moderate, b) Hard. Sprawletteturning: c) Moderate, d) Hard. Values represent the percentage change from thenominal value. Top value is the largest positive or MAX force (to the RIGHT),bottom value is smallest negative or MIN force (to the LEFT).


Appendix DParametric IdentificationCross-ValidationIn parametric system identification, other datasets can often be used to validatemodels. This can be done first with data that has a similar input signal, but adifferent output. Then, datasets with a different input signals can be simulated andthe output compared with actual test output. The above two validation methods wereused for each of the three parametric models investigated (ARX, ARMAX, and Box-Jenkins), and also the three systems (servo, Sprawlette, and iSprawl). The resultscan be seen in the following figures.196


197200150(CROSS VALIDATION for [5 5 4]) ARX Model # 03ExperimentARX100AD Values500−50−100−150a.−2000 1 2 3 4 5 6 7 8Time [sec]200150(CROSS VALIDATION for [5 5 4]) ARX Model # 22ExperimentARX100AD Values500−50−100−150b.−2000 1 2 3 4 5 6 7 8Time [sec]Figure D.1: Servo Parametric ARX model validation. a) Cross validation with sameinput. b)Cross validation with different input.


198 APPENDIX D. PARAMETRIC IDENTIFICATION CROSS-VALIDATION200150(CROSS VALIDATION for [2 3 1 1]) ARMAX Model # 03ExperimentARMAX100AD Values500−50−100−150a.−2000 1 2 3 4 5 6 7 8Time [sec]200150(CROSS VALIDATION for [2 3 1 1]) ARMAX Model # 22ExperimentARMAX100AD Values500−50−100−150b.−2000 1 2 3 4 5 6 7 8Time [sec]Figure D.2: Servo Parametric ARMAX model validation. a) Cross validation withsame input. b)Cross validation with different input.


199200150(CROSS VALIDATION for [2 1 1 2 1]) BJ Model # 03ExperimentBox−Jenkins100AD Values500−50−100−150a.−2000 1 2 3 4 5 6 7 8Time [sec]200150(CROSS VALIDATION for [2 1 1 2 1]) BJ Model # 22ExperimentBox−Jenkins100AD Values500−50−100−150b.−2000 1 2 3 4 5 6 7 8Time [sec]Figure D.3: Servo Parametric Box-Jenkins model validation. a) Cross validation withsame input. b)Cross validation with different input.


200 APPENDIX D. PARAMETRIC IDENTIFICATION CROSS-VALIDATION2015(CROSS VALIDATION for [3 5 5]) ARX Model # 02ExperimentARX10Heading [deg]50−5−10−15a.−200 0.5 1 1.5 2 2.5 3 3.5 4 4.5Time [sec]2015(CROSS VALIDATION for [3 5 5]) ARX Model # 07ExperimentARX10Heading [deg]50−5−10−15b.−200 0.5 1 1.5 2 2.5 3 3.5 4 4.5Time [sec]Figure D.4: Sprawlette Parametric ARX model validation. a) Cross validation withsame input. b)Cross validation with different input.


2012015(CROSS VALIDATION for [3 5 3 5]) ARMAX Model # 02ExperimentARMAX10Heading [deg]50−5−10−15a.−200 0.5 1 1.5 2 2.5 3 3.5 4 4.5Time [sec]2015(CROSS VALIDATION for [3 5 3 5]) ARMAX Model # 07ExperimentARMAX10Heading [deg]50−5−10−15b.−200 0.5 1 1.5 2 2.5 3 3.5 4 4.5Time [sec]Figure D.5: Sprawlette Parametric ARMAX model validation. a) Cross validationwith same input. b)Cross validation with different input.


202 APPENDIX D. PARAMETRIC IDENTIFICATION CROSS-VALIDATION2015(CROSS VALIDATION for [3 4 1 4 4]) BJ Model # 02ExperimentBox−Jenkins10Heading [deg]50−5−10−15a.−200 0.5 1 1.5 2 2.5 3 3.5 4 4.5Time [sec]2015(CROSS VALIDATION for [3 4 1 4 4]) BJ Model # 07ExperimentBox−Jenkins10Heading [deg]50−5−10−15b.−200 0.5 1 1.5 2 2.5 3 3.5 4 4.5Time [sec]Figure D.6: Sprawlette Parametric Box-Jenkins model validation. a) Cross validationwith same input. b)Cross validation with different input.


2032015(CROSS VALIDATION for [6 6 4]) ARX Model # 35ExperimentARX10Heading [deg]50−5−10−15a.−200 0.5 1 1.5 2 2.5 3 3.5 4 4.5Time [sec]2015(CROSS VALIDATION for [6 6 4]) ARX Model # 40ExperimentARX10Heading [deg]50−5−10−15b.−200 0.5 1 1.5 2 2.5 3 3.5 4 4.5Time [sec]Figure D.7: iSprawl Parametric ARX model validation. a) Cross validation with sameinput. b)Cross validation with different input.


204 APPENDIX D. PARAMETRIC IDENTIFICATION CROSS-VALIDATION2015(CROSS VALIDATION for [3 5 1 4]) ARMAX Model # 35ExperimentARMAX10Heading [deg]50−5−10−15a.−200 0.5 1 1.5 2 2.5 3 3.5 4 4.5Time [sec]2015(CROSS VALIDATION for [3 5 1 4]) ARMAX Model # 40ExperimentARMAX10Heading [deg]50−5−10−15b.−200 0.5 1 1.5 2 2.5 3 3.5 4 4.5Time [sec]Figure D.8: iSprawl Parametric ARMAX model validation. a) Cross validation withsame input. b)Cross validation with different input.


2052015(CROSS VALIDATION for [4 1 1 2 4]) BJ Model # 35ExperimentBox−Jenkins10Heading [deg]50−5−10−15a.−200 0.5 1 1.5 2 2.5 3 3.5 4 4.5Time [sec]2015(CROSS VALIDATION for [4 1 1 2 4]) BJ Model # 40ExperimentBox−Jenkins10Heading [deg]50−5−10−15b.−200 0.5 1 1.5 2 2.5 3 3.5 4 4.5Time [sec]Figure D.9: iSprawl Parametric Box-Jenkins model validation. a) Cross validationwith same input. b)Cross validation with different input.


Appendix EiSprawl DocumentationThis is a very general and basic description of iSprawl, mainly for experienced debugging.For more information, see the CLAWAR’04 paper on iSprawl [40].E.1 Hardware BasicsiSprawl has one main actuator, and six lesser actuators for leg positioning. The maindrive actuator is a Maxon A-Max22 (part#11-146), to which a generic 19.8:1 gearheadreduction is mounted. This single main drive motor actuates all six leg strokes. Thetransmission system involves a slider-crank mechanism and push-pull cables to actuatethe six legs as two separate (out of phase) tripods. Each leg is attached to a servomotor for active positioning. The majority of the time, the front and rear pairs arefixed at preset values, while the two middle legs are actively used to steer the body.Servos from Hitec (model HS-55) are used for the active legs. The power comes from3 lithium polymer batteries (2 @ 11.1V and 1 @ 7.2V). Communication is handledby a Hitec Neon SS FM system. It allows for speed and servo control.E.2 Connection BasicsThe FM receiver has 4 channels of control, and thus 4 input connections. Channel #1is used for the servo control. The two middle servos have been wired together into one206


E.3. ADDITIONAL NOTES 207connector. This simplifies wiring and eases control by rotating the legs at opposingangles, due to their mounting. Channel #2 is used for the main motor control, andgives a variable voltage output. This variable output is used to control the maindrive voltage (20+V by connecting batteries in series). Channel #3 is currentlyunused. Channel #4 is used to power the receiver from the 7.2V battery. There isan inline switch on this connection to more easily toggle the power. In addition tothe connections at the receiver, there are several other necessary connections thatneed to be made to run iSprawl. There is a power connection block, where all threebatteries are connected. It is important to connect the low voltage battery and switchto the correspondingly marked spot on the power block. The single output end ofthe power block goes to the motor voltage control IC line. The two remaining powerblock connection spots go to the higher voltage batteries, is any order.E.3 Additional NotesAt the time of this writing, iSprawl is still in a prototype state, so changes may beforthcoming as the design progresses. For the majority of the turning experiments,the FM receiver was not used to control the servos on iSprawl, but rather a customservo controller designed by a visiting research Virgilio Mattoli. Also in these turningtests, the main drive power was provided by a regulated power supply for these test(to ensure a consistent voltage and speed). Thus, only the 7.2V Li-Ion battery wasneeded for testing, which powered the servo controller board and the servos.


Bibliography[1] M. Abzug and E. E. Larrabee. Airplane Stability and Control. Cambridge UniversityPress, New York, NY, 2nd edition, 2002.[2] T. J. Allen, R. D Quinn, R. J. Bachmann, and R. E. Ritzmann. Abstractedbiological principles applied with reduced actuation improve mobility of leggedvehicles. In IEEE International Conference on Intelligent Robots and Systems,volume 2, pages 1370–1375, Las Vegas, Nevada, 2003.[3] S. A. Bailey, J. G. Cham, M. R. Cutkosky, and R. J. Full. Comparing the locomotiondynamics of a cockroach and a shape deposition manufactured biomimetichexapod. In International Symposium on Experimental Robotics (ISER2000),Honolulu, HI, 2000.[4] R. Blickhan and R.J. Full. Similarity in multilegged locomotion: Boundinglike a monopode. Journal of Comparative Physiology. A, Sensory, Neural, andBehavioral Physiology, 173(5):509–517, 1993.[5] G. E. P. Box, W. G. Hunter, and J. S. Hunter. Statistics for experimenters :an introduction to design, data analysis, and model building. Wiley, New York,1978.[6] L. R. Brown. Outgrowing the Earth: The Food Security Challenge in an Age ofFalling Water Tables and Rising Temperatures. Ch. 6: Stabilizing Water Tables.Earth Policy Institute, New York, NY, 2005.[7] M. Buehler, R. Battaglia, A. Cocosco, G. Hawker, J. Sarkis, and K. Yamazaki.Scout: a simple quadruped that walks, climbs, and runs. In IEEE International208


BIBLIOGRAPHY 209Conference on Robotics and Automation (ICRA), volume 2, pages 1707–12, Leuven,Belgium, 1998.[8] M. Buehler, D. Saranli, U. andPapadopoulos, and D. E. Koditschek. Dynamiclocomotion with four and six-legged robots. In Int. Symp. Adaptive Motion ofAnimals and Machines, Montreal, Canada, 2000.[9] J. M. Camhi and E. N. Johnson. High-frequency steering maneuvers mediatedby tactile cues: Antennal wall-following in the cockroach. The Journal of ExperimentalBiology, 202(5):631–643, 1999.[10] J. M. Camhi and A. Levy. Organization of a complex movement fixed and variablecomponents of the cockroach escape behavior. Journal of Comparative Physiology.A, Sensory, Neural, And Behavioral Physiology, 163(3):317–328, 1988.[11] D. R. Carrier, R. M. Walter, and D. V. Lee. Influence of rotational inertiaon turning performance of theropod dinosaurs: Clues from humans with increasedrotational inertia. The Journal of Experimental Biology, 204(22):3917–3926, 2001.[12] G. A. Cavagna, N. C. Heglund, and C. R. Taylor. Mechanical work in terrestriallocomotion: Two basic mechanisms for minimizing energy expenditure. AmericanJournal of Physiology, 233(5):R243–R261, 1977.[13] J. G. Cham. On Performance and Stability in Open-loop Running. PhD thesis,Stanford University, 2002.[14] J. G. Cham, S. A. Bailey, J. E. Clark, R. J. Full, and M. R. Cutkosky. Fast androbust: Hexapedal robots via shape deposition manufacturing. In Proceedings ofInternational Journal of Robotics Research, volume 21, October 2002.[15] J. G. Cham, S. A. Bailey, and M. R. Cutkosky. Robust dynamic locomotionthrough feedforward-preflex interaction. In Proceedings of the ASME InternationalMechanical Engineering Congress and Exposition (IMECE), Orlando,Florida, 2000.


210 BIBLIOGRAPHY[16] J. G. Cham, J. Karpick, and M. R. Cutkosky. Stride period adaptation fora biomimetic running hexapod. International Journal of Robotics Research,23(2):141 – 153, 2004.[17] J. G. Cham, B.L. Pruitt, M. R. Cutkosky, M. Binnard, E.L. Weiss, and G. Neplotnik.Layered manufacturing with embedded components: Process planningissues. In ASME Proceedings, Design Engineering Technical Conferences(DETC) ’99, September 1999.[18] J. E. Clark. Design, Simulation, and Stability of a Hexapedal Running Robot.PhD thesis, Stanford University, 2004.[19] J. E. Clark, J. G. Cham, S. A. Bailey, E. M. Froehlich, P. K. Nahata, R. J. Full,and M. R. Cutkosky. Biomimetic design and fabrication of a hexapedal runningrobot. In IEEE International Conference on Robotics and Automation (ICRA),volume 4, pages 3643–3649, Seoul, South Korea, 2001.[20] J. E. Clark, M. R. Cutkosky, and D. G. Thelen. Dynamic simulation and analysisof a passively self-stabilizing hexapedal running robot. In Proceedings of theASME International Mechanical Engineering Congress and Exposition (DynamicSystems and Control Division, volume 73, pages 1261–1269, Anaheim, CA, 2004.[21] N. H. Copp and M. Jamon. Kinematics of rotation in place during defenseturning in the crayfish procambarus clarkii. The Journal of Experimental Biology,204(3):471–486, 2001.[22] N. J. Cowan, E. J. Ma, M. R. Cutkosky, and R. J. Full. A biologically inspiredpassive antenna for steering control of a running robot. In International Symposiumon Robotics Research, Siena, Italy, October 2003.[23] H. Cruse and M. G. S. Saavedra. Curve walking in crayfish. The Journal ofExperimental Biology, 199(7):1477–1482, 1996.[24] W. J. Diamond. Practical experiment designs for engineers and scientists. VanNostrand Reinhold, Belmont, CA, 2nd edition, 1989.


BIBLIOGRAPHY 211[25] M. H. Dickinson, C. T. Farley, R. J. Full, M. A. R. Koehl, R. Kram, andS. Lehman. How animals move: An integrative view. Science, 288(5463):100–6,2000.[26] P. Domenici, J. Schmitz, and M. Jamon. The relationship between leg steppingpattern and yaw torque oscillations in curve walking of two crayfish species. TheJournal of Experimental Biology, 202(22):3069–3080, 1999.[27] G. S. Dordevic, M. Rasic, and R. Shadmehr. Parametric models for motionplanning and control in biomimetic robotics. IEEE Transactions on Robotics,21(1):80–92, 2005.[28] F. E. Fish and A. J. Nicastro. Aquatic turning performance by the whirligigbeetle: Constraints on maneuverability by a rigid biological system. The Journalof Experimental Biology, 206(10):1649–1656, 2003.[29] R. Franklin, W. J. Bell, and R. Jander. Rotational locomotion by the cockroachblattella-germanica. Journal of Insect Physiology, 27(4):249–256, 1981.[30] R. J. Full and C. T. Farley. Musculoskeletal dynamics in rhythmic systems: Acomparative approach to legged locomotion. In J. Winters and P. E. Crago,editors, Biomechanics and neural control of posture and movement, pages 192–205. Springer-Verlag, New York, 2000.[31] R. J. Full and D. E. Koditschek. Templates and anchors: Neuromechanicalhypotheses of legged locomotion on land. The Journal of Experimental Biology,202(23):3325–3332, 1999.[32] R. J. Full, T. Kubow, J. Schmitt, P. Holmes, and D. Koditschek. Quantifyingdynamic stability and maneuverability in legged locomotion. Integrative andComparative Biology, 42(1):149–157, 2002.[33] R. J. Full and M. S. Tu. Mechanics of a rapid running insect - 2-legged, 4-leggedand 6-legged locomotion. The Journal of Experimental Biology, 156:215–231,1991.


212 BIBLIOGRAPHY[34] P. Gregorio, M. Ahmadi, and M. Buehler. Experiments with an electricallyactuated planar hopping robot. In T. Yoshikawa Miyazaki and F., editors, ExperimentalRobotics III, pages 269–281. Springer Verlag, 1994.[35] T. Hayashi, H.and Kondo and K. Ito. Development of a hexapod robot focusingon leg compliance. In Proceedings of 2nd International Symposium on AdaptiveMotion of Animals and Machines (AMAM2003), Kyoto, Japan, 2003.[36] B. Hengst, D. Ibbotson, D. Son Bao Pham, and C. Sammut. Omnidirectionallocomotion for quadruped robots. In RoboCup 2001: Robot Soccer World CupV. Springer-Verlag, 2002 edition, 2002.[37] D. F. Hoyt and C. R. Taylor. Gait and the energetics of locomotion in horses.Nature, 292(5820):239–240, 1981.[38] D. L. Jindrich and R. J. Full. Many-legged maneuverability: Dynamics of turningin hexapods. The Journal of Experimental Biology, 202(12):1603–1623, 1999.[39] D. L. Jindrich and R. J. Full. Dynamic stabilization of rapid hexapedal locomotion.The Journal of Experimental Biology, 205(18):2803–2823, 2002.[40] S. Kim, J. E. Clark, and M. R. Cutkosky. Isprawl: Autonomy, and the effects ofpower transmission. In 7th International Conference on Climbing and WalkingRobots (CLAWAR 2004), Madrid, Spain, 2004.[41] D. P. Krasny and D. E. Orin. Evolution of dynamic maneuvers in a 3d gallopingquadruped robot. In International Conference on Robotics and Automation(ICRA), volume 1, pages 1084–1089, Orlando, FL, 2006. IEEE.[42] D. V. Lee, R. M. Walter, S. M. Deban, and D. R. Carrier. Influence of increasedrotational inertia on the turning performance of humans. The Journalof Experimental Biology, 204(22):3927–3934, 2001.[43] T. T. Lee, C. M. Liao, and T.K. Chen. On the stability properties of hexapodtripod gait. IEEE Transactions on Robotics and Automation, 4(4):427–34, 1988.


BIBLIOGRAPHY 213[44] L. Ljung. System Identification: Theory for the User. Prentice-Hall, 2nd edition,1999.[45] E. Ma. A highly compliant passive antenna for touch-mediated maneuvering of abiologically inspired hexapedal robot. Stanford Undergraduate Research Journal,2:13–17, 2003.[46] A. J. McClung, M. R. Cutkosky, and J. G. Cham. Rapid maneuvering of abiologically inspired hexapedal robot. In Proceedings of the ASME InternationalMechanical Engineering Congress and Exposition (Dynamic Systems and ControlDivision), volume 73, pages 1195–1202, Anaheim, CA, 2004.[47] R. B. McGhee. Vehicular legged locomotion. In Advances in Automation andRobotics, volume 1, pages 259–284. Jai Press, Inc., 1985.[48] T. A. McMahon and P. R. Greene. The influence of track compliance on running.Journal of Biomechanics, 12(12):893–904, 1979.[49] DA Messuri. Optimization of the locomotion of a legged vehicle with respect tomaneuverability. PhD thesis, Ohio State Univ, 1985.[50] A. E. Minetti. The biomechanics of skipping gaits: A third locomotion paradigm?Proceedings of the Royal Society of London. Series B, Containing papers of aBiological character, 265(1402):1227–1237, 1998.[51] A. E. Minetti, L. P. Ardigo, E. Reinach, and F. Saibene. The relationship betweenmechanical work and energy expenditure of locomotion in horses. The Journalof Experimental Biology, 202(17):2329–2338, 1999.[52] D. C. Montgomery. Design and analysis of experiments. Wiley, New York, 4thedition, 1997.[53] J. M. Morrey, B. Lambrecht, A. D. Horchler, R. E. Ritzmann, and R. D. Quinn.Highly mobile and robust small quadruped robots. IEEE International Conferenceon Intelligent Robots and Systems, 1:82–87, 2003.


214 BIBLIOGRAPHY[54] D. Papadopoulos and M. Buehler. Stable running in a quadruped robot withcompliant legs. In IEEE International Conference on Robotics and Automation(ICRA), volume 1, pages 444–449, San Francisco, CA, 2000.[55] G. B. Parker. Evolving cyclic control for a hexapod robot performing area coverage.In International Symposium on Computational Intellingence in Roboticsand Automation (CIRA), 2001.[56] M. H. Raibert. Legged robots. Communication of the ACM, 29(6):499–514, 1986.[57] M. H. Raibert and W. Joel. Running with symmetry. The International Journalof Robotics Research, 5(4):3–19, 1986.[58] P. J. Ross. Taguchi Techniques for Quality Engineering : Loss Function, OrthogonalExperiments, Parameter and Tolerance Design. McGraw-Hill, New York,2nd edition, 1996.[59] U. Saranli, M. Buehler, and D. E. Koditschek. Rhex: A simple and highly mobilehexapod robot. The International Journal of Robotics Research, 20(7):616–631,2001.[60] J. Schmitt, M. Garcia, R. C. Razo, P. Holmes, and R. J. Full. Dynamics andstability of legged locomotion in the horizontal plane: A test case using insects.Biological Cybernetics, 86(5):343–53, 2002.[61] J. Schmitt and P. Holmes. Mechanical models for insect locomotion: Dynamicsand stability in the horizontal plane: I. theory. Biological Cybernetics, 83(6):501–15, 2000.[62] J. Schmitt and P. Holmes. Mechanical models for insect locomotion: Dynamicsand stability in the horizontal plane: Ii. application. Biological Cybernetics,83(6):517–27, 2000.[63] J.E. Seipel, P. J. Holmes, and R. J. Full. Dynamics and stability of insect locomotion:a hexapedal model for horizontal plane motions. Biological Cybernetics,91(2):76–90, 2004.


BIBLIOGRAPHY 215[64] C. L. Shih. The dynamics and control of a biped walking robot with sevendegrees of freedom. Journal of Dynamic Systems, Measurement, and Control,118(4):683–690, 1996.[65] E. P. Solomon, L. R. Berg, D. W. Martin, and C. Villee. Biology. SaundersCollege Publishing, Fort Worth, 3rd edition, 1993.[66] A. Takanishi, M. Ishida, Y. Yamazaki, and I. Kato. The realization of dynamicwalking by the biped walking robot wl-10rd. In Proceeding of InternationalConference on Advanced Robotics, pages 459 – 466, Tokyo, Japan, 1985.[67] L. H. Ting, R. Blickhan, and R. J. Full. Dynamic and static stability in hexapedalrunners. The Journal of Experimental Biology, 197:251–269, 1994.[68] Kazou Tsuchiya, Shinya Aoi, and Katsuyoshi Tsujita. A turning strategy of amulti-legged locomotion robot. In Proceedings of the 2nd International Symposiumon Adaptive Motion of Animals and Machines, 2003.[69] K. Tsujita, H. Toui, and K. Tsuchiya. Dynamic turning control of a quadrupedrobot using nonlinear oscillators. In International Conference on IntelligentRobotics and Systems, pages 969–974, Sendai, Japan, 2004. IEEE.[70] J. R. Usherwood and J. E. A. Bertram. Per-step energetic cost of changing gait.In 25th Annual Meeting of the American Society of Biomechanics, University ofCalifornia at San Diego, 2001.[71] A. J. van Soest and M.F. Bobbert. The contribution of muscle properties in thecontrol of explosive movements. Biological Cybernetics, 69(3):195–204, 1993.[72] S. Vogel. Better bent than broken. Discover, pages 62–67, May 1995.[73] M. Vukobratovic, B. Borovac, and D. Surdilovic. Zero-moment point-properinterpretation and new applications. IEEE-RAS International Conference onHumanoid Robots, November 2001.


216 BIBLIOGRAPHY[74] K. J Waldron and V. Kallem. Control modes for a three-dimensional gallopingmachine. In Proceedings of the ASME Design Engineering Technical Conferenceand Computers and Information in Engineering Conference, volume 2B, pages1525–1533, Salt Lake City, UT, 2004.[75] K. J. Waldron, V. J. Vohnout, A. Pery, and R. B. McGhee. Configuration-designof the adaptive suspension vehicle. International Journal of Robotics Research,3(2):37–48, 1984.[76] R.M. Walter and D. R. Carrier. Scaling of rotational inertia in murine rodentsand two species of lizard. The Journal of Experimental Biology, 205(14):2135–2141, 2002.[77] L. E. Weiss, R. Merz, F. B. Prinz, G. Neplotnik, P. Padmanabhan, L. Schultz,and K. Ramaswami. Shape deposition manufacturing of heterogeneous structures.Journal of Manufacturing Systems, 16(4):239–248, 1997.[78] V. Zolotov, L. Frantsevich, and E. M. Falk. The kinematics of phototactic turnsin the honey bee apis-mellifera. Journal of Comparative Physiology. A, Sensory,Neural, And Behavioral Physiology, 97(4):339–353, 1975.

More magazines by this user
Similar magazines