ACTIVE SLIDING SYNTHETIC WHEEL BIPED: DYNAMICS, CONTROL, AND VERIFICATION By Kyle James Crayne A THESIS Submitted to Michigan State University in partial fulfillment of the requirements for the degree of Mechanical Engineering–Master of Science 2014 ABSTRACT ACTIVE SLIDING SYNTHETIC WHEEL BIPED: DYNAMICS, CONTROL, AND VERIFICATION By Kyle James Crayne The active sliding synthetic wheel biped is an underactuated, planar, biped robot capable of sliding while walking. This biped is a modification of the previously developed Michigan State University (MSU) synthetic wheel biped (SWB). To create the sliding-while-walking motion, a hybrid controller was created that consisted of a continuous controller over the course of the step and a discrete controller at the end of the step. Partial feedback linearization was used to control the biped’s motion to a specified gait during the step. By discretely adjusting gait parameters at the end of each step through chaos control, the biped’s motion was stabilized over multiple steps. Numerical simulations were used to determine the configurations in which the biped would step and to validate the hybrid control method. New hardware in the form of belted feet and an electronic controller were added to the previous MSU SWB to account for the increased complexity of sliding while walking. To implement the controller on the physical system, the control method was modified from the theoretical design to account for physical realities. Once altered, the biped successfully walked for multiple steps in experiments by using the hybrid control method. ACKNOWLEDGEMENTS I would like to thank my advisor Dr. Ranjan Mukherjee and my committee members Dr. Steve Shaw and Dr. Hassan Khalil. Their guidance and instruction were fundamental in the success of this project. I would also like to thank my colleagues in the Dynamics and Controls lab. Specifically, I want to thank Frank Mathis for his outstanding support with all aspects of the project and Connor Boss for his excellent hardware assistance. Without their help, this project may not have been possible. The support provided by the National Science Foundation, NSF Grant CMMI 0925055, is gratefully acknowledged. Advanced Motion Controls donated motor drives and discounted others in support of this project as well. Finally, I want to thank my friends and family for their never-ending support throughout my academic career. iii TABLE OF CONTENTS LIST OF TABLES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v LIST OF FIGURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi CHAPTER 1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . 1 CHAPTER 2 DYNAMICS AND CONTROLS . . . . . 2.1 Mathematical Modeling . . . . . . . . . . . . . . . . . 2.1.1 Biped Dynamics . . . . . . . . . . . . . . . . . 2.1.2 Foot Interchange . . . . . . . . . . . . . . . . . 2.2 Controller Design for Continuous Dynamics . . . . . . 2.2.1 Partial Feedback Linearization . . . . . . . . . . 2.2.2 Desired Gait Design . . . . . . . . . . . . . . . 2.2.3 Simulations of Continuous Dynamics . . . . . . 2.3 Controller Design for Hybrid Dynamics . . . . . . . . . 2.3.1 Periodic Behavior . . . . . . . . . . . . . . . . . 2.3.2 Chaos Control . . . . . . . . . . . . . . . . . . . 2.3.3 Simulations of Hybrid Dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 4 6 7 8 11 13 14 14 15 16 CHAPTER 3 HARDWARE DESIGN . . . . . . . . . . . . . . . . . . . . . . 20 3.1 Sliding Foot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.2 Electronic Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 CHAPTER 4 EXPERIMENTAL VALIDATION . . . . 4.1 Controller Implementation . . . . . . . . . . . . . . . . 4.1.1 Programming and Operation . . . . . . . . . . . 4.1.2 Control Changes . . . . . . . . . . . . . . . . . 4.2 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 . . . . 24 . . . . 24 . . . . 25 . . . . 29 CHAPTER 5 CONCLUSIONS . . . . . . . . . . . . . . . . . . . . . . . . . . 34 APPENDIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 BIBLIOGRAPHY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 iv LIST OF TABLES Table 2.1 Physical Parameters for Simulation . . . . . . . . . . . . . . . . . . . . . 13 Table 4.1 Experimental Physical Parameters . . . . . . . . . . . . . . . . . . . . . . 30 Table .1 Electrical Hardware on ECU . . . . . . . . . . . . . . . . . . . . . . . . . 43 Table .2 Additional Electrical Hardware . . . . . . . . . . . . . . . . . . . . . . . . 43 v LIST OF FIGURES Figure 1.1 Synthetic Wheel Biped (SWB) by Flynn [1] . . . . . . . . . . . . . . . . 3 Figure 2.1 An arbitrary configuration of the active sliding synthetic wheel biped . . 5 Figure 2.2 A schematic of the biped about to step. Stance and swing denoted in the figure refer to their designations before the step happens. . . . . . . . 7 Figure 2.3 Phase portrait of passive coordinate θ when α = 0. The vertical lines at θ = −β/2 and θ = β/2 indicate the bounds for which the dynamics are valid. The dashed line represents the coordinate transformation q + = T q − at the end of the step. . . . . . . . . . . . . . . . . . . . . . . 14 Figure 2.4 Simulated Angle States. Each vertical dashed line represents a step. . . . 17 Figure 2.5 Plot of error states vs time . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Figure 2.6 Plot of continuous control effort vs time . . . . . . . . . . . . . . . . . . 19 Figure 3.1 Picture of Active Sliding Synthetic Wheel Biped . . . . . . . . . . . . . . 20 Figure 3.2 Comparison of old (top) and new (bottom) feet . . . . . . . . . . . . . . 21 Figure 3.3 ECU block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Figure 3.4 Picture of ECU mounted on robot . . . . . . . . . . . . . . . . . . . . . . 22 Figure 3.5 Picture of motor amplifiers mounted on robot . . . . . . . . . . . . . . . 23 Figure 4.1 Phase portrait of passive coordinate θ with α = 0 when the inside leg (left) and the outside leg (right) are the stance leg. The vertical lines at θ = −β/2 and θ = β/2 indicate the bounds for which the dynamics are valid. The dashed line represents the coordinate transformation q + = T q − at the end of the step. . . . . . . . . . . . . . . . . . . . . . . 28 Figure 4.2 Experimental Angle States. Each vertical dashed line represents a step . 30 Figure 4.3 Experimental Angle State Errors . . . . . . . . . . . . . . . . . . . . . . 31 Figure 4.4 Experimental Torques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Figure 4.5 Experimental Chaos Control Error . . . . . . . . . . . . . . . . . . . . . 33 Figure .1 38 Biped Model with forces . . . . . . . . . . . . . . . . . . . . . . . . . . . vi Figure .2 ECU Board - Component Layout . . . . . . . . . . . . . . . . . . . . . . 44 Figure .3 ECU Wiring Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 vii CHAPTER 1 INTRODUCTION Bipedal robots and walking machines have superior mobility over non-uniform terrain when compared to wheeled mobile robots. However, wheeled robots are significantly more efficient on flat terrain when compared to walking machines. Because human-friendly environments incorporate large stretches of flat terrain combined with non-uniform features such as stairs, it is desirable to have machines capable of traversing both terrains in the most efficient manner possible. A wheeled bipedal robot that can combine the functionalities of a wheeled robot and a traditional biped could provide such mobility. Active wheeled bipeds designed by Matsumoto et. al. [2] and Hashimoto et. al. [3] are capable of rolling on their wheels like a car and stepping like a biped with locked wheels. Itabashi et. al. [4] studied bipeds with passive wheels and demonstrated skating motion. These passive skating bipeds have the ability to roll on wheels, but they cannot control their wheels directly. Neither the passive skating bipeds by Itabashi [4] nor the active wheeled bipeds of Hashimoto [3] or Matsumoto [2] exploit the full potential of the hybrid platform since they do not consider sliding while walking. The main advantage of the sliding-while-walking motion is increased versatility in terrain navigation. While Matsumoto [2] can roll on flat ground and step over obstacles, it needs an explicit transition point between rolling and walking. If the sliding and walking motions are combined, it would be possible to transition between different terrain without changing control strategies. Such control strategies, by design, guarantee stability during the transition phase. If separate controllers are used for rolling and sliding motions, one would have to additionally ensure stability of the switched system during transition. The sliding-whilewalking motion can enable transport over discontinuous terrain such as a step between a side-walk and a road without needing a complete stop. Sliding-while-walking motion 1 is a combination of the efficiency of rolling and the versatility of walking. While active wheeled bipeds will require more sophisticated control strategies when compared to those used by Matsumoto [2], Hashimoto [3], and Itabashi [4], the added complexity could enable slip rejection in wheeled bipedal robots. A simple, active biped design based on McGeer’s Synthetic Wheel [5] was used for the development of the control methods for this hybrid motion. The “Synthetic Wheel” by McGeer [5] refers to bipeds with circular arc feet that, when walking, create a continuous rolling surface like a wheel. Asano et. al. [6] showed that the speed of bipeds with this arc foot design can be increased by decreasing the energy lost due to foot-ground impact. These biped designs are primarily passive walkers, but can be modified with active joints. Different active designs such as MABEL [7] have more mobility than their passive counter-parts but use significant energy to maintain stability and track trajectories. In an effort to strike a balance between the mobility of active bipeds and the efficiency of passive bipeds, Flynn et. al. developed the active synthetic wheel biped with torso (SWB) [8]. Starting from Flynn’s synthetic wheel design shown in Figure 1.1, we have added sliding capabilities that can be realized through the use of an active belt on the feet. While this work explicitly analyzes sliding-while-walking motion, it may also be beneficial to those who study motion in changing inertial frames, such as stepping onto a conveyor belt or escalator. This hardware also has applications to slip rejection control, such as remaining stable when slipping due to spilled water on a tiled floor. Instead of building precise low-friction surfaces to test slip rejection methods, this hardware could be used to simulate slip at any time through the use of the active belt on the feet. While not all of these applications will be addressed in this paper, the hardware and overall control design being used would be applicable to these important problems. This paper investigates the control of sliding-whilewalking locomotion, and the effectiveness of the control is analyzed through simulations. In Chapter 2 we discuss the dynamic model and theoretical control development for 2 Figure 1.1: Synthetic Wheel Biped (SWB) by Flynn [1] the biped. In Section 1 we present the mathematical model of the biped platform, which includes the dynamics of stepping and the foot-ground interaction. Section 2 covers the controller design for trajectory tracking during each step. This includes designing the desired trajectories and verifying that the biped will step. Section 3 presents the discrete chaos control approach used to guarantee the stability over multiple steps. Numerical simulations are presented to demonstrate the sliding-while-walking hybrid gait. Chapter 3 explains the changes in hardware to the SWB to accommodate the desired motion. Section 1 presents the design of the sliding foot, and Section 2 covers the design of the electronic control unit (ECU). The experimental results are discussed in Chapter 4. Section 1 explains the many changes to the theoretical controller that are required for the biped to operate. Section 2 presents experimental data of the biped while it is walking while sliding. 3 CHAPTER 2 DYNAMICS AND CONTROLS 2.1 2.1.1 Mathematical Modeling Biped Dynamics The active sliding synthetic wheel biped is shown in Figure 2.1, which is a slight modification of Flynn’s SWB [8]. It has four generalized coordinates: θ, φ, ψ, and x. The biped stands on its stance leg, while the swing leg and torso are connected to the stance leg at the hip. The angular displacement of the stance leg, measured counter-clockwise from the downward vertical axis, is defined as θ. The angular displacement of the torso with respect to the stance leg is φ and the angular displacement of the swing leg with respect to the stance leg is ψ. The linear displacement of the point of contact of the stance leg is defined as x. The length of the torso is denoted as lt and the center of mass of the torso along the axis of the torso is measured as dt from the end of the torso. Similarly, R is the length of each leg and dsw and dst are the locations of center of mass for the swing leg and stance leg respectively. The arc angle of the foot is defined as β and a measurement of the torso with respect to the upward vertical axis is given as α. The vector of generalized coordinates is given by T q= θ φ ψ x (2.1) The equations of motion (EOM) for the biped when the stance leg is in contact with the ground can be determined using Lagrange equations as M(q)¨ q + N(q, q) ˙ =Q 4 (2.2) dt φ α lt β j R i dsw ψ g R θ x dst Figure 2.1: An arbitrary configuration of the active sliding synthetic wheel biped where M is the mass and inertia matrix while N is the vector of Coriolis and gravitational terms as shown in the Appendix (1). The vector of generalized forces, Q is given by T Q= RF τ1 τ2 F (2.3) where τ1 and τ2 are the generalized forces acting on the φ and ψ coordinates, and F is is the horizontal force produced corresponding to the generalized coordinate, x. This force creates a moment on the stance foot, hence its term RF in the θ equation. A full derivation of the generalized forces can be seen in the Appendix. Walking will be achieved by interchanging the swing and stance legs at each step. It is assumed that the generalized forces acting on the systems are non-impulsive; and, therefore, there are no jumps in velocities caused by the foot-ground interaction at the time of foot interchange. This assumption will be justified in later sections. 5 2.1.2 Foot Interchange A discrete coordinate transformation occurs during the foot interchange due to the switching of the stance and swing leg. The old swing leg is now defined as the new stance leg, and vice-versa. This coordinate transformation is given by q+ = T q− (2.4) q˙+ = T q˙− (2.5)  T =            1 0  1 0  0 1 −1 0 0 0 −1 0 0 0 0 1           (2.6) where q − and q + are the generalized coordinates shown in equation (2.1) before and after the foot interchange respectively. Figure 2.2 shows the biped about to step and the coordinates before and after the step. Normally a horizontal impulse from foot-ground interaction would affect the velocities of the coordinates, as shown by Flynn et. al. [8], which would change the coordinate transformation. However, we are modeling the foot-ground interaction force, F , to be nonimpulsive and controllable. Physically, this can be realized by a belt that interacts between the foot and the ground but is frictionless between the belt and the connecting foot. At the time of contact with the ground, the belt will grip the ground but will allow the foot to slide without impulse on the belt. This frictionless belt will ideally eliminate all of the horizontal impulsive forces and the wheel-like design of the SWB will ideally eliminate vertical impulsive forces [8]. Additionally, it is possible to minimize horizontal impulsive forces through careful gait design as shown in future sections. 6 torso φ+ φ− θ− stance leg heel θ+ ψ+ swing leg toe ψ− swing leg heel stance leg toe Figure 2.2: A schematic of the biped about to step. Stance and swing denoted in the figure refer to their designations before the step happens. 2.2 Controller Design for Continuous Dynamics Planar biped walkers have been explored in great detail by Westervelt et. al. [9]. The hybrid nature of these robots was ascribed to the continuous motion over the step and the discrete events that occur when switching legs. In this paper we control the hybrid dynamics through the use of a continuous controller over the step and a discrete controller at the discrete foot interchange. This is similar to the work by Mathis et. al. [10], [11] which controls the hybrid dynamics of a hopping robot. Grizzle et. al. [12] employed an alternate control method which used a finite time controller to ensure convergence by the end of a step. The combined continuous and discrete controller was used instead of the finite time control method due to the challenges of implementing finite time controllers in practice, such as discontinuous control torques and chattering. 7 2.2.1 Partial Feedback Linearization The biped shown in Figure 2.1 is underactuated; and, therefore, it cannot independently actuate all degrees of freedom (DOF). Partial feedback linearization was chosen to control the motion of the biped. We define the controllable states as φ, ψ, and x where θ is uncontrollable. To this end, we partition the coordinates in equation (2.1) as follows:   q=   q1  q2    =             θ  φ ψ x           (2.7) Similarly, the matrices from equation (2.2) can be partitioned as   M1 M2  M(q)−1 =    M3 M4   N(q) =    N1   N2  Q=      Q1  Q2     =            (2.8) (2.9)   RF    τ1     τ2     (2.10) F This partitioning results in the matrices M1 , M2 , M3 , and M4 being 1×1, 1×3, 3×1, and 3×3 sized matrices respectively. N is partitioned identically to q. From equations (2.2) and (2.8)-(2.10), q¨2 is given by q¨2 = M3 [Q1 − N1 ] + M4 [Q2 − N2 ] (2.11) Through equation (2.10), Q1 can be rewritten as Q1 = 0 0 R Q2 8 (2.12) Substituting equation (2.12) into equation (2.11) gives q¨2 = C2 Q2 − C1 (2.13) C1 = M3 N1 + M4 N2 (2.14) where C2 = M4 + M3 0 0 R (2.15) ¨ ψ, ¨ x¨) are in terms of the inputs (Q2 ), we Now that the controllable accelerations (φ, define the desired dynamics of the controllable system as ¨ = −KP E − KD E˙ E (2.16) where E, KP , and KD are given by  E=         φ − φd    ψ − ψd     x − xd  KP =    2 ωn     (2.17)  100  010 000       KD = 2ζωn I (2.18) (2.19) Note that ωn and ζ are positive constants and I is the identity matrix. The last diagonal term of KP is 0 while the last diagonal term of KD is 1, allowing us to define a desired velocity for our biped without defining a desired displacement. Substituting equation (2.17) into (2.16), the desired dynamics can be written as  q¨2 = K    +    9  φ¨d    ψ¨d     x¨d (2.20) where K is the desired linear controller, given as  K=    −KP         φ˙ − φ˙ d    φ − φd     ψ − ψd   − KD  ψ˙ − ψ˙ d        x˙ − x˙ d x − xd    (2.21) With the desired controller defined, the control inputs (Q2 ) can be written as   Q2 =   −1  C2   C1   +K    +     φ¨d     ψ¨d     x¨d (2.22) For this derivation, the desired accelerations (φ¨d ,ψ¨d ,¨ xd ) are allowed to be arbitrary functions ¨ A parametrization of this can be written as of the states and θ.          φ¨d    ψ¨d     x¨d  ˜ q) = K(q, ˙     θ¨  1 (2.23)   ˜ q) where K(q, ˙ is a 3×2 matrix that is defined by the desired accelerations of our controllable states. The constant 1 is used to allow the desired accelerations to have components that ˜ used in this controller are only functions of the measured states. The explicit terms of K will be defined after the definition of the desired gait. To write our desired accelerations as a function of only the state variables, the equation of motion for θ is used. Using the partitions from equations (2.8)-(2.10) and equation (2.2), the desired accelerations can be written as   ¨   φ d         ψ¨d     x¨d    −M1 N1 − M2 N2 + M1 0 0 R Q2  ˜ q) = K(q, ˙   1   (2.24) Rewriting equation (2.24) gives   ¨d   φ         ψ¨d   = C3 Q2 + C4 x¨d   10 (2.25) where   M1 ˜ q) C3 = K(q, ˙     0 0 R + M2  000  −M1 N1 ˜ q) C4 = K(q, ˙      − M2 N2  1   (2.26) (2.27) Substituting equations (2.25) and (2.20) into equation (2.13) gives the control inputs (Q2 ) as  Q2 =         τ1    τ2     = [C2 − C3 ]−1 [C1 + C4 + K] (2.28) F It is assumed that [C2 − C3 ] is invertible. If it is not, a pseudo inverse can be used in place of the inverse to compute the minimum norm solution. 2.2.2 Desired Gait Design Flynn et. al. developed the “Impact-Free” gait for the synthetic wheel biped with torso [8]. This gait ideally removed impulses due to impact by making the velocity of the swing leg zero at the end of the step. We propose a modified version of this gait as follows: φd = π + α − θ ψd = −β sin(πθ/β) (2.29) x˙ d = −Rθ˙ + Va where β is the arc angle of the foot; α is a constant that defines the desired torso angle counterclockwise from the upright-vertical axis as shown in Figure 2.1; and Va is a constant that determines the added velocity due to sliding. The angle at which the biped switches feet is θ = −β/2. Note that we choose to not define a desired trajectory for the coordinate x but we do define a desired trajectory for x. ˙ This is reflected in our choice of gains in ˜ the second derivatives of the gait described in equations (2.18) and (2.19). To obtain K, 11 equation (2.29) are taken, resulting in  ˜ = K        −1 0 −π cos(πθ/β) (π 2 /β)θ˙ 2 sin(πθ/β) −R 0         (2.30) Note that the first column is multiplied by θ¨ and the second column is just a constant. With the gait defined, we need to guarantee that the biped will step. To this end, we first show that if E ≡ 0 at the end of each step, then E ≡ 0 at the start of the next step. This can be shown by setting the coordinates and their derivatives equal to their desired trajectories at the end of the step. Note that we do not know the value of θ˙ at the end of the step and x is arbitrarily set to zero. At the end of a step we have from equation (2.29) θ− = −β/2 φ− = π + α + β/2 φ˙ − = −θ˙− ψ − = −β sin(−π/2) = β ψ˙ − = −π θ˙− cos(−π/2) = 0 (2.31) x˙ − = −Rθ˙− + Va x− = 0 Substituting equation (2.31) into the coordinate transformations in equations (2.4) and (2.5), we find the values at the beginning of the next step as follows: θ˙+ = θ˙− θ+ = β/2 φ+ = π + α − β/2 φ˙ + = −θ˙+ ψ+ ψ˙ + = 0 = −β (2.32) x˙ + = −Rθ˙+ + Va x+ = 0 Knowing that θ = β/2 at the beginning of a step when E ≡ 0, we can find the values of the desired trajectories at the beginning of the step. Note that θ˙− is unknown and x is arbitrarily set to zero as stated above. These desired values are then given as θd+ = β/2 φ+ d = π + α − β/2 ˙+ φ˙ + d = −θ ψd+ = −β sin(π/2) = −β ψ˙ d+ = −π θ˙+ cos(π/2) = 0 x+ d =0 ˙+ x˙ + d = −Rθ + Va 12 (2.33) A comparison of the results in equations (2.32) and (2.33) shows that E ≡ 0 before the step results in E ≡ 0 after the step. If we assume “perfect control”, that is E ≡ 0, the dynamics of θ, φ, and x are described by equation (2.29). These can be substituted into equation (2.2), which then reduces to a single DOF system in terms of the passive dynamics of θ as shown in the Appendix, equation (25). While the passive dynamics are too complicated to solve analytically, we can numerically investigate the dynamic behavior of θ when E ≡ 0 to determine if the biped will step. 2.2.3 Simulations of Continuous Dynamics Simulations were used to explore the behavior of the system assuming E ≡ 0. The system parameters are given in Table 2.1. Note that Jt , Jst , Jsw , and Mt , Mst , Msw denote the moment of inertia about the center of mass and the mass of the torso, stance leg, and swing leg respectively. All physical values are given in SI units and all angles were measured in radians. Note from the values that we assume both legs are identical. Table 2.1: Physical Parameters for Simulation Parameter Jt Jst Jsw dt dst dsw Mt Mst Msw R lt β g Value 0.2376 0.0547 0.0547 0.2415 0.3175 0.3175 12.22 1.628 1.628 0.635 0.483 0.3927 9.810 Units kgm2 kgm2 kgm2 m m m kg kg kg m m rad m The phase portrait of the passive system is shown in Fig 2.3 when α = 0. The shaded region denotes the space where θ will reach the foot switching angle, −β/2 (≈-0.2 rad). From 13 equation (2.32), we know that θ after the step will be β/2 and θ˙ does not change during the step. This means that once the stepping angle is reached, the beginning of the next step will be inside the shaded region. Therefore, if the biped steps, it will continue stepping when E ≡ 0 and α = 0. If α = 0, Flynn et. al. [8] showed that the magnitude of θ˙ will continually increase for the ideal case but will remain bounded due to friction and other unmodeled dynamics. Note that this phase portrait is independent of Va because Va effectively changes the inertial frame without affecting any internal dynamics. β/2 −β/2 0.2 ˙ θ[rad/s] 0.1 0 - 0.1 - 0.2 - 0.3 - 0.4 - 0.3 - 0.2 - 0.1 0 0.1 0.2 0.3 θ[rad] Figure 2.3: Phase portrait of passive coordinate θ when α = 0. The vertical lines at θ = −β/2 and θ = β/2 indicate the bounds for which the dynamics are valid. The dashed line represents the coordinate transformation q + = T q − at the end of the step. 2.3 2.3.1 Controller Design for Hybrid Dynamics Periodic Behavior We have shown that the “perfectly controlled” biped (where E ≡ 0) will keep stepping for certain initial conditions. In general, E will not be identically zero; and, therefore, the biped will not perfectly track its desired gait. The coordinate transformation at the time of foot interchange could magnify this error. It is therefore necessary to control the behavior of the 14 biped across multiple steps and ensure that the biped asymptotically approaches a periodic configuration, which will induce stepping. Assume the initial conditions at the end of the kth step to be p(k) = ˙ ˙ ˙ φ(k) ψ(k) θ(k) φ(k) ψ(k) x(k) ˙ T (2.34) Note that these are our generalized coordinates and their derivatives excluding θ and x. We do not need θ because it is constrained at the end of the step to be −β/2. We also do not need x because it is allowed to be arbitrary. For the initial conditions given, the Poincar´e map P (·), that describes the motion from one step to the next, is given as p(k + 1) = P (p(k)) (2.35) The initial conditions in (2.34) can be defined as a period-1 periodic point [13] if P (p∗ ) − p∗ = 0 (2.36) The periodic points of (2.36) were found numerically in a defined space of p. Multiple periodic points were found and we chose p∗ that resulted in behavior that mimics the phase portrait in Figure 2.3, i.e. E ≡ 0 and α = 0. Note that we had to fix values for ωn , ζ, α, and Va to simulate the dynamics and find the periodic points. Knowing that there are multiple periodic points in our dynamic space, we want to force our desired periodic point to be asymptotically stable. 2.3.2 Chaos Control With our desired periodic point found, we now want to control the biped to this periodic point, i.e. asymptotically stabilize the periodic point. To do this, we will use the OGY method of Chaos Control [14]. We start by defining error states for our initial conditions as x˜(k) = p(k) − p∗ 15 (2.37) where p∗ is the desired periodic point. We then define the input at each step k as T u(k) = (2.38) ωn (k) ζ(k) α(k) Va (k) and the error input as u˜(k) = u(k) − u∗ (2.39) where u∗ is the desired set of control values used to find the periodic point in the previous section. We can now write a discrete linear controller as x˜(k + 1) ≈ A˜ x(k) + B u˜(k) (2.40) Note that A is the Jacobian of the Poincar´e map, i.e. A = δP/δ˜ x|x˜=0 , and that A and B were computed numerically. The discrete control u˜(k) is defined as follows: u˜(k) = −K x˜(k) (2.41) where K can be found by using the discrete LQR method [15]. This would use ωn (k), ζ(k), α(k), and Va (k) to control p(k) to p∗ when we start from initial conditions arbitrarily close to the periodic point. 2.3.3 Simulations of Hybrid Dynamics Simulations were used to validate the hybrid controller described above. The physical parameters from Table 2.1 were used for these simulations. The desired periodic initial conditions at the end of the step were assumed to be p∗ = T 3.338 0.393 −0.664 0.664 0.000 0.722 (2.42) and the desired control values are u∗ = T 10 0.7 0 0.3 (2.43) The starting configuration was assumed to be T q0 = 0 π 0 0 T q˙0 = 0 0 0 0 16 (2.44) Note that this configuration is one where the biped is at rest with both legs straight down and the torso straight up. The gain used in the chaos control feedback is  K=            0.02 0.02 −0.09 −0.08 0.04  0.23  0.02 −0.00 −0.09 −0.08 0.05 0.24 0.07 −0.00 0.05 0.04 0.00 −0.11 0.05 −0.01 0.08 0.07 −0.01 −0.17           (2.45) To move from rest, α(0) or Va (0) will have to be non-zero. To this end, we choose u(0) to be T u(0) = (2.46) 10 0.7 −0.08 0 Figure 2.4 shows the simulated angle states. The vertical dashed lines represent a step, with the step number listed next to them. The initial step is not shown so the consistency of the steps can be seen. Transient effects are seen in the first few steps after which periodic behavior can be observed. 0.4 ψ 0.3 2 3 4 5 6 7 8 θ 0.2 [rad] 0.1 0 −0.1 φ−π −0.2 −0.3 −0.4 2 3 4 5 6 7 time [sec] Figure 2.4: Simulated Angle States. Each vertical dashed line represents a step. Figure 2.5 shows the components of x˜(k) vs. time for the same simulation as Figure 2.4.1 1 A video of the simulation results can be found at www.egr.msu.edu/ ~ mukherji/Active_ Sliding_Synthetic_Wheel_Biped_Simulation.mp4 17 [rad] 0.5 x ˜2 0 x ˜1 −0.5 0 1 [rad/s] 1 2 3 x ˜5 4 5 6 7 8 9 10 11 12 13 14 15 4 5 6 7 8 9 10 11 12 13 14 15 4 5 6 9 10 11 12 13 14 15 x ˜3 0 x ˜4 [m/s] −1 0 0 1 2 x ˜6 −0.5 −1 0 3 1 2 3 7 8 kth step Figure 2.5: Plot of error states vs time Note that the error of the chaos controller has converged to zero within 15 steps. Figure 2.6 shows the generalized forces and how they decreased in magnitude over time as the biped approached its periodic gait. The jumps in magnitude are due to jumps in the non-linear terms of the input calculations, which can be attributed to the coordinate transformation at the end of the step. Note that these torque discontinuities are an idealization and it will not be possible to reproduce them exactly in experiments. From Figure 2.3, it is clear that the sign of θ changes during the step, but θ˙ remains the same. This is because θ is an odd function, while θ˙ is an even function. This implies that θ¨ is an odd function. Since θ and θ¨ are odd functions, their discrete jumps at the end of each step cause the discontinuities in the inputs. Even and odd function characterization of the passive dynamics of the SWB were explored by Flynn [1]. 18 4 τ1 [Nm] 2 0 −2 τ2 −4 0 2 4 6 8 10 12 2 4 6 time [sec] 8 10 12 15 [N] 10 5 0 −5 0 F Figure 2.6: Plot of continuous control effort vs time 19 CHAPTER 3 HARDWARE DESIGN To experimentally validate the control algorithm developed, the Synthetic Wheel Biped (SWB) created by Flynn [1] was re-purposed to allow for additional sliding motion at the foot. The original SWB as seen in Figure 1.1 was a planar biped with two hip motors and solid arc shaped feet. The new biped as seen in Figure 3.1 maintains the majority of the hardware from the previous version but has new feet and new electronics. To create the sliding motion, a mechatronic foot was designed to replace the previous solid foot. The Electronic Control Unit (ECU) on the SWB did not have the capacity for the extra motors and encoders needed to operate the feet, so a complete redesign of the robot’s electronics was done. Figure 3.1: Picture of Active Sliding Synthetic Wheel Biped 20 3.1 Sliding Foot Figure 3.2 shows a comparison of the old foot (top) and new foot with one side panel removed (bottom). On the new foot, a belt is driven by a small motor to allow for slip between the ground and the foot. The torque on the motor creates a linear force (F ) at the ground due to the traction provided by the belt. An oil-impregnated plastic was used for the contact surface of the belt and Delrin rollers were used to reduce friction while snaking through the foot. The motors used for the feet were Faulhauber’s 2342-024CR with a 14:1 gearhead and Faulhaber IE2-512 encoders. The new sliding foot has the same curvature as the previous static foot created by Flynn [1] to maintain the synthetic wheel design. The two bolts in the center of each foot are used to mount each foot to the biped’s legs. Figure 3.2: Comparison of old (top) and new (bottom) feet 21 3.2 Electronic Controller With 8 motors and 8 encoders needed to run the newest iteration of the Synthetic Wheel Biped, a new ECU was designed. Figure 3.3 shows the major components and logic flow to operate the robot while Figure 3.4 shows the ECU when mounted on the robot. Figures depicting the ECU schematic and physical board layout are shown in the Hardware Appendix. To accommodate all of the different voltages required for operation, a 30V Nickle-Cadmium (NiCd) battery was used with several different DC/DC voltage regulators to power every component on the ECU. A separate 24V NiCd battery was used to power the motors and motor amplifiers. Wireless Comm. Encoders Microcontroller Motor Controllers IMU Data Storage Figure 3.3: ECU block diagram Figure 3.4: Picture of ECU mounted on robot 22 An STM32F4-Discovery board was used as the microcontroller for the ECU. This was chosen for its large number of serial communication buses and high clock speed. A CH Robotics UM6 Inertial Measurement Unit (IMU) was used to measure the biped’s angle relative to the earth, and encoders on each motor allowed for angular measurements of each joint. A Digi Xbee S1 wireless module was used to communicate with the microcontroller during operation by sending commands from a computer wirelessly. Data was stored using a microSD card reader. The motor controllers were also changed in this version of the Synthetic Wheel Biped to account for the added motors. AMC motor amplifiers Z6A6 and Z12A8 operating in torque control mode were used because it was possible to mount 8 of them on the biped torso by using AMC two-axis MC2XZQD mounting cards as shown in Figure 3.5. Six Z6A6 controllers were used to control the feet and linear joints, while two Z12A8 controllers were used for the hips due to their higher amperage capacity. All of these amplifiers use a ±10 V analog input to control the output torque. This voltage was not readily available from the microcontroller, so an amplifier circuit was designed to convert a 0-5V output from the Digital-to-Analog Converter (DAC) to the required ±10 V input of the motor amplifiers. A diagram of this system can be seen in the ECU schematic in the Hardware Appendix. Figure 3.5: Picture of motor amplifiers mounted on robot 23 CHAPTER 4 EXPERIMENTAL VALIDATION 4.1 4.1.1 Controller Implementation Programming and Operation The STM32F4-Discovery breakout board uses an ARM Cortex-M4 processor for its computations. To program this chip, code was written in C and compiled using proprietary software to run on the chip. Several Integrated Development Environments (IDEs) allow for this compilation, and the Embedded Workbench from IAR Systems was used. The program used software interrupts for timers and serial data input. This allowed the system to have a precise, fixed-time loop and read all of the information sent from the IMU and Xbee. The data coming from the IMU contain checksum information to verify the data being received, while the Xbee does not. This is acceptable because no data is being streamed over the wireless connection, only commands from a computer to enable/disable operation and data logging. The software has two main phases, being a setup phase and a fixed loop phase. In the setup phase, all of the communication buses are initialized before any data is being manipulated. Once setup is complete, the system enters an infinite, fixed-time loop phase where the main body of the program runs. This phase reads all of the information from the sensors, computes the desired torques, and sends the information to the motor amplifiers and data storage if enabled. The motors and data storage are initially disabled until a command is sent to the Xbee. To start the robot, the encoder values and angle from the IMU are recorded to initialize the system in a set configuration. Once initialized, a command is sent to the Xbee to start the data collection and robot walking. 24 4.1.2 Control Changes To account for differences between the theoretically modelled control system and the implementable system, several changes were made to the controller as described in the previous section. In the dynamic derivation, it was assumed that the biped could slide with perfect slip to uncouple the coordinates x and θ. In reality though, the designed foot is not frictionless enough for this assumption to hold true. To compensate, the control algorithm was reworked as a 3 DOF system where the biped will roll with a set slip speed, meaning x˙ = −Rθ˙ + Va (4.1) Instead of the system having 4 DOF where sliding is caused by controlling the force at the ground, the biped’s controller uses the 3 DOF model described by Flynn [8] and has a velocity controller on the motors of the foot. The added velocity Va just changes the inertial frame of the biped and none of the dynamics include this term. Instead of re-deriving the entirety of the dynamics and control as done in the previous sections, the general form of the Lagrange equations as shown in equation (2.2) can have the terms manipulated to convert the 4 DOF system into a 3 DOF system as follows: ˆ q )¨qˆ + N ˆ (ˆ ˆ M(ˆ q, qˆ˙ ) = Q (4.2) where T qˆ = ˆ= Q (4.3) θ φ ψ T 0 τ1 τ2 (4.4) ˆ is now a 3×3 matrix and N ˆ is a 3 element column vector. The values of M and N from M ˆ and N ˆ . We can couple the x dynamics the Appendix (1), can be manipulated to find M into the other terms by equating F in Q and using equation (4.1). Note that no terms in the original M and N contained x or x, ˙ therefore the Va term does not appear in the dynamics 25 as stated earlier. The conversion from 4 DOF to 3 DOF can be seen as ˆ 11 = M11 − 2RM14 + R2 M44 M ˆ 12 = M12 − RM24 M ˆ 13 = M13 − RM34 M ˆ 21 = M21 − RM24 M ˆ 22 = M22 M ˆ 23 = M23 M (4.5) ˆ 31 = M31 − RM34 M ˆ 32 = M32 M ˆ 33 = M33 M ˆ1 = N1 − RN4 N ˆ2 = N2 N ˆ3 = N3 N With these new equations, the partial feedback linearization derivation follows the same steps as equations (2.8) to (2.22), resulting in    τ1      τ2 = [C2 ]−1 [C1 + K] (4.6) where C1 = M3 N1 + M4 N2 (4.7) C2 = M4  K = −ωn2      φ − φdes  ψ − ψdes   − 2ωn ζ    (4.8)  φ˙ − φ˙ des  ψ˙ − ψ˙ des    − 2ωn ζ  d   φ˙  ψ˙   (4.9) remembering that M1 , M2 , M3 , M4 are the partitioned matrices from the inversion of the mass matrix. The full derivation can be found in the Appendix, equations (8)-(24). In this derivation, the desired accelerations were assumed to be zero. If the accelerations are included, numerical inaccuracies can accumulate from velocity squared terms and matrix 26 inversions which can cause instability. It is also important to note that K now includes an additional viscous damping term with a small positive constant ζd based on the angular speeds compared to the damping term based on the error of angular speeds. This serves to filter the torques applied to the biped based on the speed of the robot. Instead of filtering the torques using a generic low-pass filter or first-order filter, the viscous damping term was added. This results in slower, smoother motion of biped. Now that the torques (τ1 and τ2 ) have been found, the speed of the belt still needs to be controlled. This was done by using a simple, linear, proportional-integral (PI) controller on the speed of the motors. The desired speed was set to Va , and an individual PI controller was used for each foot to account for the differences in friction of each foot. To keep the biped walking straight, the speed controllers had additional terms from each foot that were coupled to the other foot. This controlled the speed between feet to each other as well as the desired speed, resulting in straight walking. Besides the change in DOF, the theoretical model also assumed that both legs had equal physical parameters while the physical system has legs with different masses and moments of inertia. To account for this, the robot had to keep track of which leg was in contact with the ground and apply the physical parameters appropriately in the control algorithm. As expected, these changes in physical parameters lead to differences in the gait of the robot depending on which foot is in contact with the ground. Similar to Figure 2.3, which showed the desired region of operation for the theoretical biped during perfect control, Figure 4.1 shows the phase portrait of the passive coordinate θ when the stance leg is on the inside (left) and outside (right) leg respectively. As shown, the desired path of θ differs per step, but the symmetry about θ = 0 allows for a single desired period-1 periodic point instead of a period-2 point. This allows the chaos controller to still update every step instead of once every two steps, making the convergence twice as quick. Besides the physical parameters, there are measurements needed by the controller that are ˙ φ, ˙ ψ, ˙ and x. not explicitly available with the sensors on the biped, being θ, ˙ While encoders 27 β/2 −β/2 β/2 −β/2 0.2 ˙ θ[rad/ s] 0.1 0 − 0.1 − 0.2 − 0.3 − 0.4 − 0.3 − 0.2 − 0.1 0 0.1 0.2 0.3 − 0.3 − 0.2 − 0.1 0 0.1 0.2 0.3 θ[rad] Figure 4.1: Phase portrait of passive coordinate θ with α = 0 when the inside leg (left) and the outside leg (right) are the stance leg. The vertical lines at θ = −β/2 and θ = β/2 indicate the bounds for which the dynamics are valid. The dashed line represents the coordinate transformation q + = T q − at the end of the step. allow for measurement of angular rotation, they do not measure angular rate. However, the velocity measurements can be obtained by numerically differentiating the encoder signals and passing the output through a low-pass filter. The filter is required to avoid large discontinuities in the velocity measurements, which could induce chattering in the system. In the theoretical model, it is assumed that the center of mass (COM) of the torso is along the axis of the torso. In the physical system, however, this is not the case. It was emprically determined that the COM of the torso is actually 2 degrees counter-clockwise of the torso’s axis as shown in Figure 2.1. To compensate, all terms with φ in the EOM have an offset of 2 degrees added. This ensures the gravity compensation in the non-linear controller is as accurate as possible. The final change is in the design of the chaos controller. In the theoretical model, all states at the periodic point are used to update gains in the controller (ωn , ζ) and desired values (α, Va ). In the physical system, it was decided that the chaos controller should only update the desired values (α, Va ). It is undesirable to update the controller gains because it can cause instability and chattering in the system after usable gains have been found via 28 experimentation. From Figure 4.1, we see that the dynamics of the system collapse to the 2D manifold of θ × θ˙ when the continuous control is perfect (E ≡ 0). Because we fix θ at the end of the step to define our periodic point, the periodic point can be uniquely described by the value of θ˙ at the end of the step. Therefore, instead of 6 values, only the value of θ˙ will be used in the chaos control as the control objective. In the actual implementation, the measurement of θ˙ is averaged over several time steps to reduce errors caused by noise in the velocity data. Therefore, ¯θ˙ will be the implemented control objective. With all of this information, the chaos controller used is as follows:     4.2  α(k + 1)  Va (k + 1)      αdes  ¯˙  = −K θ(k) +   Vades (4.10) Experimental Results The physical parameters of the biped are given in Table 4.1. Note that these are different values from those in the theoretical simulations. As physical changes to the biped were made, the parameters were updated to make the controller as accurate as possible. Feedback linearization is sensitive to differences between the model and the physical device, so these changes were crucial in obtaining the desired performance. Figure 4.2 shows the angle states of the biped during an experimental trial. Each vertical dashed line represents a step, with a step number next to it. The biped was started at step 0. The data before step 1 was not shown so that the details of the following steps would be visible. Due to the way the biped is started, the first step takes a long time because the biped does not immediately start walking. Note that the experimental data is qualitatively similar to that of the simulations in Figure 2.4. There are two major distinctions, being the lack of similarity between steps in the experimental data and the small upswing in θ on some steps of the experimental data. The lack of similarity between steps of the experimental data could be due to external stimuli in the form of impulses from the ground or ground irregularity. 29 Table 4.1: Experimental Physical Parameters Parameter Jt Jout Jin dt dout din Mt Mout Min R lt β g Value 0.192 0.128 0.094 0.3429 0.3096 0.2048 11.744 3.956 2.132 0.638 0.467 0.35368 9.81 Units kgm2 kgm2 kgm2 m m m kg kg kg m m rad m In simulation, all of the states smoothly traversed from their starting position to their final position. In some portions of the experimental data (namely steps 2, 3, 7, & 8), it seems that the biped hesitated and even moved backwards slightly at certain spots. This indicates that the passive dynamics are underdamped based on the controller used, resulting in an overshoot and oscillation about the desired path. Despite the differences from the simulated results, the biped still continued to step in experiments. 0.4 2 3 4 5 6 7 8 0.3 0.2 [rad] 0.1 φ−π 0 −0.1 −0.2 −0.3 −0.4 ψ 10 θ 11 12 13 14 15 time [sec] Figure 4.2: Experimental Angle States. Each vertical dashed line represents a step Given E1 = φ − φdes and E2 = ψ − ψdes from equation (2.17), these errors and their 30 derivatives are shown in Figure 4.3 for the experimental trial. Note at the beginning of each step, the velocity error E2 corresponding to the swing leg ψ has a discrete jump. This error then moves towards zero, while the position error grows. The discrete jumps in velocity error are due to impulses from collision with the ground at each step. If the velocity of the swing leg is not exactly zero as the gait specifies, these impulses noticeably affect the motion of the biped. From Figure 4.3, it is clear that the position error of the biped is not constantly decreasing. However, when the position error is increasing, the velocity error is converging towards zero. The relationship between which errors converge at what rates could be manipulated by adjusting the gains (ωn , ζ, ζd ). If the steps took more time, it may be possible for the errors and their derivatives to both converge to zero before the next step occurs. 0.1 2 E1 3 4 5 6 7 8 [rad] 0 −0.1 −0.2 E2 −0.3 10 11 E˙ 2 2 2 12 3 13 4 5 14 6 7 15 8 [rad/s] 1 0 −1 −2 E˙ 1 10 11 12 13 14 15 time [sec] Figure 4.3: Experimental Angle State Errors The torques for the experimental trial are shown in Figure 4.4. Note that these do not match well with the torques shown in the simulated results in Figure 2.6. This could be due to many factors including the difference in models, physical parameters, external noise, impulses, and measurement filtering. It is important to note that the torques on the swing leg (τ2 ) are large at the start of the step. This is most likely due to τ2 trying to counter the 31 effects of the impulse from the contact with the ground. As shown, the experimental torques are still bounded and the biped did successfully walk. These differences just show the lack of correlation between simulated and experimental control input to result in walking motion. 2 12 10 3 4 5 6 7 8 τ2 8 6 [Nm] 4 2 0 −2 −4 τ1 −6 −8 10 11 12 13 14 15 time [sec] Figure 4.4: Experimental Torques Figure 4.5 shows the experimental chaos controller data over multiple steps. Note that the value of ¯θ˙ does not completely converge compared to the theoretical estimations. This could be due to external stimuli such as impulses from impact pushing the biped’s motion away from the periodic point. There is a large jump in magnitude of all values at step 8. It is unclear what caused the jump, but it was possibly in response to ground irregularities or some other stimulus. 32 [rad/s] 0.6 ¯˙ θ 0.4 0.2 0 −0.2 0 1 2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 9 3 4 5 kth step 6 7 8 9 [deg] 1 0 −1 α −2 0 1 0.05 [m/s] 0 −0.05 Va −0.1 −0.15 0 1 2 Figure 4.5: Experimental Chaos Control Error 33 CHAPTER 5 CONCLUSIONS In this work, the previous MSU SWB was modified to allow for sliding-while-walking motion. The first model of the active sliding synthetic wheel biped had the ability to control the horizontal ground interaction force, thus allowing the biped to slide. A partial feedback linearization controller was designed to track desired trajectories during each step. It was shown that once the biped steps, it will continue stepping when the error of the continuous controller is zero. However, this will not be always true. Due to the asymptotic convergence of the tracking controller, finite time of each step, and any impulses from impact, the continuous controller will likely not be converged by the end of the step. A chaos controller was therefore designed to stabilize the biped’s motion to a desired periodic gait in the presence of these issues. This hybrid controller was shown to effectively control the motion of the biped during each step and over multiple steps through simulation. To implement this controller, the synthetic wheel biped built by Flynn [1] was modified to allow sliding-while-walking motion. The feet were changed to incorporate motors and a new ECU was designed to handle the increased complexity. It was clear in early experimentation that the physical feet were not capable of near-frictionless motion, so the theoretical biped system was re-modeled and the control was changed to account for these differences. After changes were made, the biped exhibited sliding-while-walking motion in an experimental trial. While the gait did not converge as expected, the chaos controller did add a level of stability in that it can account for external stimuli that change between steps and the robot was able to walk for multiple steps. In the future, it would be beneficial to investigate a new design of the foot that would allow frictionless motion at the ground. This could be accomplished by redesigning the current foot to remove sources of friction. Another possibility would be to eliminate the synthetic 34 wheel design and substitute wheels for arc feet. While the latter option completely changes the model, it can still create the desired sliding-while-walking motion. This biped would need to be designed with ”point feet” instead of the synthetic wheel, but the capabilities would remain essentially the same. This wheeled biped could also include knee joints, which would allow for other motions like climbing ledges or stairs to greatly extend the biped’s mobility. 35 APPENDIX 36 Equations Lagrange Equations - 4 DOF Terms of the 4 DOF Lagrange equations. Note that the mass matrix, M, is symmetric. M11 = Jst + Jsw + Jt + mst (dst − R)2 + msw (dsw − R)2 + mt (dt − lt )2 M12 = Jt + mt (dt − lt )2 M13 = Jsw + msw (dsw − R)2 M14 = msw (R − dsw ) cos(ψ + θ) + mt (lt − dt ) cos(φ + θ) + mst (R − dst ) cos(θ) M22 = Jt + mt (lt − dt )2 M23 = 0 M24 = mt (lt − dt ) cos(φ + θ) M33 = Jsw + msw (R − dsw )2 (1) M34 = msw (R − dsw ) cos(ψ + θ) M44 = Mst + msw + mt N1 = [mt (lt − dt ) sin(θ + φ) + mst (R − dst ) sin(θ) + msw (R − dsw ) sin(θ + ψ)]g N2 = mt (lt − dt ) sin(θ + φ)g N3 = msw (R − dsw ) sin(θ + ψ)g ˙ 2 N4 = msw (dsw − R) sin(θ + ψ)(θ˙ + ψ) ˙ 2 +mt (dt − lt ) sin(θ + φ)(θ˙ + φ) +mst (dst − R) sin(θ)θ˙2 37 Generalized Force Derivation The generalized forces in equation (2.3) are derived here from Figure .1 and the analysis below. dt lt R j i φ, τ1 dsw ψ, τ2 g R z x θ dst C F Figure .1: Biped Model with forces The vector C points from the center of mass of the stance leg to the contact point on the ground. C = −(R − dst ) sin(θ)i − [R − (R − dst ) cos(θ)]j (2) Therefore, the moment produced by F on the stance leg about its center of mass is given by [R − (R − dst ) cos(θ)]F 38 (3) The net moments operating on each link about their respective centers of mass are given as: Mst : [R − (R − dst ) cos(θ)]F − τ1 − τ2 (4) Msw : τ2 Mt : τ1 The virtual work done on the system can now be expressed as δW = ([R − (R − dst ) cos(θ)]F − τ1 − τ2 )δθ + τ1 (δθ + δφ) + τ2 (δθ + δψ) + F δz (5) z = x + (R − dst ) sin(θ) (6) where Upon simplification, the virtual work is given as δW = RF δθ + τ1 δφ + τ2 δψ + F δx (7) Thus, the generalized forces corresponding to θ, φ, ψ, and x are RF , τ1 , τ2 , and F respectively. 39 Partial Feedback Linearization - 3 DOF Derivation The following equations derive the feedback linearized controller in 3 DOF. We start by defining the state and input vectors of the generalized Lagrange equations. T q= θ φ ψ Q= 0 τ1 τ2 (8) T (9) M(q)¨ q + N(q, q) ˙ =Q (10) With the equations of motion defined, the vectors and matrices are partitioned to separate the controllable (φ, ψ) and uncontrollable (θ) coordinates. q=     q1    =   q2   N(q) =     Q1  Q2 ψ M3 M4  Q= φ       (11) M1 M2     θ   M(q)−1 =                 N1  N2  =        (12) (13)    0    τ1     τ2 (14) With the partitioned matrices, we can solve for q¨2 as q¨2 = −M3 N1 + M4 [Q2 − N2 ] 40 (15) which simplifies to q¨2 = C2 Q2 − C1 (16) C1 = M3 N1 + M4 N2 (17) C2 = M4 (18) where ¨ ψ) ¨ defined, the desired controller is defined as With the controllable accelerations (φ, ¨ = −ω 2 E − 2ζωnE˙ E n where (19)   φ − φd   E=  ψ − ψd (20)   Note that ωn and ζ are positive constants. Rewriting this in terms of the desired accelerations results in   ¨   φ  d  q¨2 = K +  ψ¨d (21)  where K is the desired linear controller, given as  K = −ωn2      φ − φd    − 2ζωn    ψ − ψd  φ˙ − φ˙ d  ψ˙ − ψ˙ d (22)   For the actual controller, an additional viscous damping term based on angular speeds instead of angular error speeds is added, resulting in  K = −ωn2      φ − φd  ψ − ψd   − 2ζωn     φ˙ − φ˙ d  ψ˙ − ψ˙ d    − 2ζ ωn  d    φ˙  ψ˙   (23) where ζd is a small positive constant. The desired accelerations φ¨d , ψ¨d are assumed to be zero in the implemented controller to avoid numerical inaccuracies caused by velocity squared terms and matrix inversions in the desired accelerations. 41 The final control torques can then be written as   Q2 =    τ1   τ2  = [C2 ]−1 [C1 + K] (24) Passive Dynamics of θ If E ≡ 0, the passive dynamics of θ can be written as θ¨ = (Msw g sin(θ)(dsw − R) − R(πMsw θ˙ cos(πθ/β) sin(θ − β sin(πθ/β)) ˙ sw θ˙ sin(θ)(dsw − R) (θ˙ − π θ˙ cos(πθ/β))(dsw − R) − θ(M +Msw sin(θ − β sin(πθ/β))(θ˙ − π θ˙ cos(πθ/β))(dsw − R)) +(Msw π 2 θ˙2 cos(θ − β sin(πθ/β)) sin(πθ/β)(dsw − R))/β) +Mt g sin(α)(dt − lt ) + Msw g sin(θ − β sin(πθ/β))(dsw − R) −(π 2 θ˙2 sin(πθ/β)(Msw dsw2 − 2Msw dsw R + Msw R2 + Jsw ))/β) /(2Jsw + R(Msw cos(θ − β sin(πθ/β))(dsw − R) +Msw cos(θ)(dsw − R) − Mt cos(α)(dt − lt )) +R(R(2Msw + Mt ) + Msw cos(θ − β sin(πθ/β))(dsw − R) + Msw cos(θ)(dsw − R) −πMsw cos(πθ/β) cos(θ − β sin(πθ/β))(dsw − R)) − d2t Mt + 2Msw (dsw − R)2 − Mt lt2 +Mt (dt − lt )2 + 2dt Mt lt − π cos((πθ)/β)(Msw d2sw − 2Msw dsw R + Msw R2 + Jsw )) (25) 42 Hardware Table .1: Electrical Hardware on ECU Component Name Microcontroller DAC Encoder Counters Wireless UART SD Card Reader Voltage Regulator (12V) Voltage Regulator (24V) Voltage Regulator (5V) Voltage Regulator (3.3V) Header (Encoders) Header (Amps) Header (IMU) Header (Battery) Header (STM Power) Part Number STM32F4-Discovery MAX510 LSI LS7366R Xbee S1 uDRIVE uSD-G1 CUI V7812-1000 CUI V7812-1000 CUI V7805-1500 CUI V7803-1500 – – – – – Schematic Name STM DAC1-DAC2 EC1-EC8 XBee SD VR+12V VR+24V VR+5V VR+3.3V EnH1-EnH8 AMPH1-AMPH2 IMUH Batt STM Pow Table .2: Additional Electrical Hardware Component Name IMU Motor amplifier (hips) Motor amplifier (feet) Motors (feet) Motors (hips) Motors (linear) Encoders (feet) Encoders (hips) Encoders (linear) Battery (motor) Battery (ECU) Part Number CH Robotics UM6 AMC Z12A8 AMC Z6A6 Faulhauber 2342-024CR Maxon RE40 Faulhauber 3243 CR Faulhauber IE2-512 Agilent HEDS-5500 Agilent HEDS-5500 24V NiCd 30V NiCd 43 Figure .2: ECU Board - Component Layout 44 Figure .3: ECU Wiring Schematic 45 BIBLIOGRAPHY 46 BIBLIOGRAPHY [1] Louis L Flynn. Active synthetic wheel prismatic joint biped. PhD thesis, Michigan State University, 2010. [2] O. Matsumoto, S. Kajita, M. Saigo, and K. Tani. Biped-type leg-wheeled robot. Advanced Robotics, 13(3):235–236, 1998. [3] K. Hashimoto, T. Hosobata, Y. Sugahara, Y. Mikuriya, H. Sunazuka, M. Kawase, H. Lim, and A. Takanishi. Realization by biped leg-wheeled robot of biped walking and wheel-driven locomotion. In Robotics and Automation, 2005. ICRA 2005. Proceedings of the 2005 IEEE International Conference on, pages 2970–2975. IEEE, 2005. [4] Ken Itabashi and Masaaki Kumagai. Development of a human type legged robot with roller skates. In System Integration (SII), 2010 IEEE/SICE International Symposium on, pages 120–125. IEEE, 2010. [5] T. McGeer. Passive dynamic walking. The International Journal of Robotics Research, 9(2):62–82, 1990. [6] F. Asano and Z.W. Luo. The effect of semicircular feet on energy dissipation by heelstrike in dynamic biped locomotion. In Robotics and Automation, 2007 IEEE International Conference on, pages 3976–3981. IEEE, 2007. [7] JW Grizzle, Jonathan Hurst, Benjamin Morris, Hae-Won Park, and Koushil Sreenath. Mabel, a new robotic bipedal walker and runner. In American Control Conference, 2009. ACC’09., pages 2030–2036. IEEE, 2009. [8] L.L. Flynn, R. Jafari, and R. Mukherjee. Active synthetic-wheel biped with torso. Robotics, IEEE Transactions on, 26(5):816–826, 2010. [9] ER Westervelt, JW Grizzle, and D.E. Koditschek. Hybrid zero dynamics of planar biped walkers. Automatic Control, IEEE Transactions on, 48(1):42–56, 2003. [10] Frank B. Mathis and Ranjan Mukherjee. Apex height control of a four-link hopping robot. IEEE/RSJ International Conference on Intelligent Robots and Systems, 2013. [11] Frank B. Mathis and Ranjan Mukherjee. Apex height control of a two-mass hopping robot. IEEE International Conference on Robotics and Automation, 2013. [12] Jesse W Grizzle, Gabriel Abba, and Franck Plestan. Asymptotically stable walking for biped robots: Analysis via systems with impulse effects. Automatic Control, IEEE Transactions on, 46(1):51–64, 2001. [13] Nino Boccara. Modeling Complex Systems. Springer, 2004. [14] E. Scholl and H.G. Schuster. Handbook of chaos control. Wiley-Vch, 2008. 47 [15] Katsuhiko Ogata. Discrete-time control systems, volume 8. Prentice-Hall Englewood Cliffs, NJ, 1995. 48