km ..9 , .1 f . Hagar: :Bnmu . ;...".....n....flu1l . ... .‘v’n n.3,. rfll “...—wan? .... .....u. M 136.. ...4. , .3“ .’ 5‘ . II. umfin .. Mm.“ k : {.3 $15) ...-”tin In. 4. .vu 4-‘ul‘ , Aud- .....uu......5...."é. It... a . . F5 \uV 1.3“th . ...... §§.a$f an.» ( ... ”at J $3563.! r Slfiwfiuh a ’ afihfluflrgfir? 3!). .....r; 1M"? cl...» 9...)..Wflo.‘ . .5 . 1.! f. ..4. ......12 .2! z . .. 1 . .41!!! .. u» r "null... in»?! . 1.6.11.6.4. . . a it)... ... . J,'—15 II ‘3‘ this 1‘ I, n} ...I...n..sv..u...a.x\ Monti... \ Jul}. LI . I l» .3 ma...» . his... iifiwwm... .‘II. . . 43.... .b «n . and, .. u .L. ...}... I... a. 50 3.1.11. v‘l... 1:)! 31.11.. “a... 60.3.3.2 ... {...-low: 3.5... 1‘1: . 1.. . a : kink): Lu... .. 1.15 .- 31....(6 I tV}... (5.1.” ~ ms 2 LlBRARY' 9 0‘3” Michigan State ...”- This is to certify that the dissertation entitled AN lMPULSIVE-MOMENTUM APPROACH TO CONTROL OF A CLASS OF UNDERACTUATED MECHANICAL SYSTEMS presented by THAMER ALBAHKALI has been accepted towards fulfillment of the requirements for the Ph.D degree in Mechanical Enfleering @fiflm My“; Mafir Professor’s Signatur‘e’ Wl 26, 2006] I Date MSU is an Affirmative Action/Equal Opportunity Employer PLACE IN RETURN BOX to remove this checkout from your record. TO AVOID FINES return on or before date due. MAY BE RECALLED with earlier due date if requested. DATE DUE DATE DUE DATE DUE 5/08 K:IProj/Acc&Pres/CIRC/DaleDue.indd AN IMPULSE-MOMENTUM APPROACH TO CONTROL OF A CLASS OF UNDERACTUATED MECHANICAL SYSTEMS By Thamer Albahkali A DISSERTATION Submitted to Michigan State University in partial fulfillment of the requirements for the degree of DOCTOR OF PHILOSOPHY Mechanical Engineering 2009 Copyright by THAMER ALBAHKALI 2009 ABSTRACT AN IMPULSE-MOMENTUM APPROACH TO CONTROL OF A CLASS OF UNDERACTUATED MECHANICAL SYSTEMS By Thamer Albahkali Underactuated mechanical systems pose challenging control problems because they have fewer control inputs than degrees of freedom. The dynamics of these systems are such that they cannot be always controlled by traditional nonlinear control methods. In this dissertation we present a new and general methodology to control underactuated mechanical systems, and we apply this methodology to the control problems of systems with two and three generalized coordinates with a single underactuated joint. We first consider the swing-up control problems of the Pendubot and the Acrobot, which are benchmark problems. A comparison of our methodology with other controllers previously applied to these problems shows that the systems are stabilized in a settling time comparable to the best results available in the literature, using the same actuators. However, a significant advantage of our methodology is that it can be applied to both the pendubot and the acrobot alike, and only two of the many previously developed control methodologies share this feature. Our methodology is based on rest-to-rest maneuvers of the actuated link using impulse-like control inputs. These inputs are designed to make the energy of the system converge to a level corresponding to that at the desired equilibrium point while restricting the movement of the actuated link. In order to show the generality of this methodology we show in this dissertation that it can be used for posture control of a synthetic-wheel biped robot. The biped robot, which is introduced for the first time in this dissertation, has two legs and a torso; and we consider stabilization of its standing configuration after the application of disturbances. Specifically, we consider the case of small disturbances in which we require the robot to maintain its posture using only the torso and keeping its feet on the ground. The torso will use impulsive torques to bring the energy of the system to the desired level. This problem is similar to a person who is trying to balance and stand without taking any steps. However, not all disturbances can be handled this way; therefore, we consider the stabilization problem for this biped after the application of a large disturbance. This time the biped is going to use both legs during the stabilization process. The biped will walk the necessary steps before stopping and finally stabilize around the standing configuration. The torso again is responsible for bringing the energy to the desired level while the legs role are to keep the biped from falling. The algorithms are provided for solving each control problem mentioned above. Simulation results are also presented to demonstrate the efficacy of the approaches. . . To my dear family ACKNOWLEDGMENTS I want to express my deep gratitude to my advisor Dr. Ranjan Mukherjee for his continuous guidance and support during the years I worked under his supervision. He did not hesitate to teach me the things I needed in this field and I learned a lot from him. Moreover, I want to thank all the committee members for their helpful suggestion to improve my work, especially Dr. Steven Shaw who helped me when my advisor was gone on sabbatical. In addition, I want to thank all my friends in the Control Lab for their friendship and help, especially, Dr. Tuhin Das for teaching me some computers skills that helped me do my work. Finally, I want to thank Bob Chalou for helping me create simulation videos of my work using NX program. vi TABLE OF CONTENTS LIST OF TABLES ................................... ix LIST OF FIGURES .................................. x 1 Introduction ..................................... 1 1.1 Background ................................... 1 1.2 The Pendubot .................................. 4 1.3 The Acrobot .................................. 6 1.4 An Active Synthetic Wheel Biped Robot with Torso ............. 7 2 The Pendubot .................................... 11 2.1 Background .................................. 11 2.2 Nomenclature ................................. 12 2.3 System Dynamics ............................... 14 2.3.1 Equations of Motion .......................... 14 2.3.2 Force Interaction Between the Two Links ............... 16 2.3.3 Holding Torque ............................ 17 2.3.4 Braking Torque ............................ 17 2.4 Energy Consideration of the Second Link ................... 19 2.4.1 Effect of Sudden Stopping of the First Link .............. 19 2.4.2 Pumping Energy to the Second Link ................. 21 2.4.3 Maintaining the Energy of the Second Link at the Same Level . . . 22 2.4.4 Negative and Positive Work on the Second Link ........... 23 2.4.5 Rest-to-Rest Maneuver of the First Link ............... 24 2.5 Algorithms for Swing-Up Control ...................... 25 2.5.] First Algorithm ............................ 26 2.5.2 Second Algorithm .......................... 32 2.6 Remarks .................................... 4O 3 The Acrobot .................................... 42 3.1 System Dynamics ............................... 42 3.1.1 Equations of Motion ......................... 42 3.1.2 Holding Torque ............................ 43 3.1.3 Braking Torque ............................ 43 3.1.4 Opposite Angular Velocities Torque ................. 44 3.1.5 Impulse Angular Velocity Matching Torque ............. 45 3.1.6 Impulse Constant Angular Velocity Torque ............. 45 3.2 Impulse-Momentum Effect .......................... 46 3.3 Energy Consideration of the System ..................... 50 3.3.1 Energy Change Due to the Impulse-Momentum Approach ...... 50 3.3.2 Rest—to-Rest Maneuver of the Second Link .............. 51 3.4 Algorithms for Swing-Up Control ...................... 53 2.5.1 First Algorithm ............................ 53 2.5.2 Second Algorithm ........................... 60 vii 2.5.3 Third Algorithm ............................ 64 3.5 Remarks .................................... 74 4 Stabilizing an Active Synthetic Wheel Biped due to Small Disturbances . . . 75 4. 1 Introduction .................................. 75 4.2 Nomenclature ................................. 76 4.3 System Dynamics ............................... 78 4.3.1 Equations of Motion .......................... 78 4.3.2 Holding Torque ............................ 80 4.3.3 Braking Torque ............................ 80 4.4 Energy Consideration of the System ..................... 81 4.4.1 Effect of Sudden Stopping of the Torso ............... 81 4.4.2 Rest-to-Rest Maneuver of the Torso .................. 86 4.5 Stabilization Algorithm ............................ 88 4.6 Remarks .................................... 95 S Stabilizing an Active Synthetic Wheel Biped due to Large Disturbances . . . 97 5. 1 Introduction .................................. 97 5.2 Nomenclature ................................. 99 5.3 System Dynamics ............................... 100 5.3.1 Equations of Motion ......................... 100 5.3.2 Torque Expressions of the Actuated Joints .............. 103 5.4 Impulse-Momentum Effect .......................... 106 5.5 Energy Consideration of the System ..................... 111 5.5.1 Energy change when both the second leg and the torso are moving . 111 5.5.2 Energy change due to the impulse-momentum effect ........ 116 5.6 Stabilization Algorithm ............................ 120 5.7 Remarks ................................... 123 6 Conclusions and Future Work .......................... 125 BIBLIOGRAPHY ................................... 130 viii LIST OF TABLES 2.1 Comparison of simulation results of braking with analytical results .................... 29 ix 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.1 3.2 3.3 LIST OF FIGURES The pendubot ................................................................................ 12 Forces of interaction between the two links ............................................. 16 Effect of sudden stopping the first link .................................................. l9 Swinging-up control of the first link ..................................................... 25 Plot of joint angles, joint angle velocities, control torque, and energy of the second link ............................................................................................ 30 Vertically down configurations of the second link during rest-to-rest maneuver... 33 Plots showing regions in the 91-62 space where 1'] > 0 and H < 0 ................... 34 Plot of joint angles, joint angle velocities, control torque, and energy of the second link ........................................................................................... 35 Plot of joint angles, joint angle velocities, control torque, and energy of the second link ........................................................................................... 37 2.10 Plot of joint angles, joint angle velocities, control torque, and energy of the second link ........................................................................................... 40 The acrobot ................................................................................. 43 The impulsive force and moment on the second link and their effect on the first link ........................................................................................... 47 Sketch of the acrobot during the swing-up process .................................... 56 Solution of the inequality and the selected values of a .............................. 57 3.4 3.5 3.6 3.7 Plot of the first simulation of the first algorithm, which shows the joint angles, joint angle velocities, control torque, and energy of the system ........................... 59 Plot of the second simulation of the first algorithm, which shows the joint angles, joint angle velocities, control torque, and energy of the system ..................... 6O Plot of the simulation of the first algorithm, which shows the joint angles, joint angle velocities, control torque, and energy of the system ........................... 62 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 4.1 4.2 4.3 4.4 4.5 5.1 5.2 5.3 5.4 5.5 The acrobat at the instant after the application of the impulsive force ............... 66 The change in the acrobot configuration in the moment after the application of the impulsive force with the change in the negative and positive areas of h1 ........... 67 The change in the acrobot configuration in the moment after the application of the impulsive force with the change in the negative and positive areas of h2 ........... 68 The change in the acrobot configuration in the moment after the application of the impulsive force with the change in the negative and positive areas of (111+ 112). .. 69 The angular acceleration of the first link 65 at the moment just after the impulsive 1 force .......................................................................................... 70 The angular acceleration of the second link 652 the moment just after the impulsive force .......................................................................................... 71 (51 + 52) the moment just after the impulsive force ................................... 72 Plot of third algorithm joint angles, joint angle velocities, control torque, and energy of the system ................................................................................. 73 An active synthetic wheel biped robot with torso where the legs are aligned ....... 78 Impulsive forces and moments on the biped ............................................. 82 The range selection for the torso angle ((92) .............................................. 92 Plot of joint angles, joint angle velocities, control torque, and energy of the system ........................................................................................ 93 Plot of joint angles, joint angle velocities, control torque, and energy of the system ........................................................................................ 95 An active synthetic wheel biped robot with torso ...................................... 98 Impulsive forces and moments on the biped ........................................... 107 (a) The first leg has negative angle value. (b) The first leg has positive angle value ......................................................................................... 113 The range of rate of change of energy below zero with 63 is fixed to be It rad.. 114 The range of rate of change of energy below zero with 63 is fixed as 2.9 rad. . .. l 15 xi 5.6 (a) The start of event (a). (b) The start of event (b) ................................. 119 5.7 Plot of joint angles, joint angle velocities, control torques, and energy of the system ..................................................................................... 124 xii CHAPTER 1 Introduction 1.1 Background In this dissertation we develop a new and general impulsive control methodology that we apply to the problem of controlling underactuated mechanical systems. The control of underactuated mechanical systems have been investigated by many researchers, but our approach is the first where impulsive forces are used as a part of the control inputs. We first apply this methodology to the classic benchmark problems for underactuated systems, the pendubot [6 - 10], [16], [19 - 21], [23 - 24] and [29] and the acrobot [33 - 38], [40 - 45], and [47 - 59]. A comparison of our methodology with other controllers previously applied to these problems shows that the systems are stabilized in a settling time comparable to the best results available in the literature, using the same actuators. However, a significant advantage of our methodology is that it can be applied to both the pendubot and the acrobot alike, and only two of the many previously developed control methodologies share this feature. Thus, we have developed a new and competitive control strategy for these systems, and proven its efficacy on the standard benchmark problems in the field. The proposed methodology is quite general and can also be applied to other underactuated mechanical systems. As an example, we show in this dissertation that it can be used for the posture control of a synthetic-wheel biped. This class of robots are currently of great interest since, as compared to wheeled mechanisms, walking machines have the advantage of better maneuverability over uneven terrain and are better suited to avoiding moving obstacles, making them ideal for outdoor environments [13], and [60 - 74]. The dynamics of bipeds are, however, strongly non-linear, often inherently unstable, typically underactuated, involve foot-ground interactions and the attendant abrupt changes in the number of degrees of freedom, and discrete impact events, all of which makes analysis and control of these systems quite challenging. We show that the control methodology developed in the present work can stabilize this synthetic-wheel biped in a short settling time with reasonable impulsive torques that will not require large motors. This demonstrates the general applicability of the methodology, and its potential for application to other underactuated mechanical systems. Despite the use of impulsive forces, it is noteworthy to mention that it is not necessary that the system will require the use of large actuators. For example, for mechanical systems where electric motors are used, our approach will benefit from the fact that motors generally have a peak torque which is greater than the maximum continuous torque [28]. We can therefore take advantage of this peak torque, yet still limit the impulsive torques to be less than the peak torque of the selected motor. Underactuated mechanical systems are systems that have fewer control inputs than degrees of freedom [26]. These systems have generated significant interest in the control community since underactuation reduces cost and weight [81], [82], can help deal with actuator failure [83], and since many systems are naturally underactuated [84]. Underactuated systems pose challenging problems in control because many of the methods developed for completely actuated systems ( such as feedback linearization, Lyapunov theory, passivity, etc.) are not directly applicable to underactuated systems. The idea of using impulsive forces as control inputs is not new and some of the early work can be credited to Pavlidis [25], Gilbert and Harasty [17], and Menaldi [22]. In recent years, researchers have investigated the problems of stability, controllability and observability, optimality, etc. (see [14], [27], [32] and the references therein). However, we are the first to use the impulsive forces to control underactuated mechanical systems. In our approach we impose joint restrictions on the actuated links and make them perform rest-to-rest maneuvers with small amplitudes around their desired configuration. The rest- to-rest maneuvers are designed to bring the unactuated joints to their desired configuration. These joint restrictions imposed on the actuated links help us control both the passive and active joints using only the active joints. Each of the controlled systems in this dissertation (the pendubot, the acrobot, and the biped) are locally asymptotically stabilizable using linear control, and the primary objective of control design is to bring the configuration of the system within the region of attraction of the equilibrium. This is a common goal for many researchers working with underactuated systems [6], [7], [21], [30], [34], [35], [37], [40]. While most of these results are largely applicable to specific platforms only, our control methodology is general and can be applied to multiple platforms and has the potential to be applied to underactuated systems with multiple degrees of underactuation. This dissertation is organized as follows: in this chapter we present a literature survey of earlier work done on control problems of the pendubot, acrobot, and biped robots and summarize our contribution in relation to earlier work. In chapter 2 we deal with the control problem of the pendubot. The control problem of the acrobat is considered in chapter 3. Chapter 4 presents the control problem of the biped subject to small disturbances. The discussion of the control problem of the biped subject to large disturbances is followed in chapter 5. Finally, in chapter 6 we present our conclusion and future work. 1.2 The Pendubot The pendubot (Figure 2.1) is a two-link robot in the vertical plane with an actuator at the shoulder joint and a passive elbow joint. It is a classical example of an underactuated system [11], [26], and its control problem has similarities with that of the single and double inverted pendulums on a cart. The complete control of the pendubot requires swing-up to the neighborhood of its equilibrium configuration with the highest potential energy followed by stabilization. The stabilization problem, also known as the balancing problem, has been addressed by several researchers. For example, Spong and Block [6] linearized the dynamic equations and used a linear quadratic regulator, Erdem and Alleyne [15] demonstrated a large region of attraction using nonlinear control based on state-dependent Riccati equation, and Zhang and Tarn [20] used hybrid control. We linearize the dynamic equations and use a linear controller for stabilization, but the contribution of this work lies in the development of a new methodology for swing-up of the pendubot. Several methods have been proposed in the literature for swing-up of the pendubot. Spong and Block [6] proposed a method based on feedback linearization and F antoni, et al. [1] utilized passivity properties of the pendubot to develop an energy-based controller. The controller of Fantoni, et al. [1] requires tuning of parameters for an acceptable rate of convergence and imposes restrictions on the initial conditions to avoid a singularity. Kolesnichenko and Shiriaev [18] proposed global feedback transformations for passivity based control and Lai, et al. [19] used a Lyapunov function with a time-varying parameter to avoid the singularity problem. A different approach to the problem, based on limit cycle oscillations in zero dynamics of the pendubot, was adopted by Grognard and Canudas-de-Wit [10] and Orlov, et al. [9]. In contrast to the energy-based method [1], where the pendubot moves in a homoclinic orbit, these methods achieve orbital stabilization. Orlov, et al. [9] used sliding mode control to deal with uncertainties and external disturbances. A sliding mode controller typically provides ultimate boundedness and this motivated the zeno-mode control design by Orlov, et al. [23]. Zeno mode controllers require infinite switchings and hardware implementation [24] results in chattering. The theoretical and experimental results of F reidovich, et al. [16] are similar to the work of Grognard and Canudas-de-Wit [10] and impose virtual holonomic constraints to generate periodic motions of the passive link. Other approaches to swing- up of the pendubot include fuzzy control, [21], for example. All swing-up methods essentially aim to increase the energy of the pendubot. Our method is no exception but we focus on the force of interaction between the two links and the work done by this force on the second link. For swing-up of the pendubot, we instinctively take the first link to the vertically upright position and conduct a series of rest-to-rest maneuvers about this configuration that results in swing-up of the second link. Similar to the work of Fantoni, et al. [1], our approach is based on the energy of the system, but it does not impose restrictions on the initial conditions or suffer from any singularity. Furthermore, the rest-to-rest maneuvers allow swing-up in the presence of joint limit restrictions on the first link. A salient feature of our approach is the use of impulsive torques for the rest-to-rest maneuvers as mentioned earlier in this text. The use of impulsive force provides the scope for a large change in velocity over a short time interval, and this property is exploited in this dissertation for swing-up of the second link with joint limit restrictions imposed on the first link. The simulation results for the pendubot show that the approach is very effective, and we will do a comparison with some other earlier work to show this successfulness. 1.3 The Acrobot The acrobot (Figure 3.1) is the same physical system as the pendubot, but the elbow joint is actuated instead of the shoulder joint. The complete control problem of the acrobot requires swing-up to the neighborhood of its equilibrium configuration with the highest potential energy followed by stabilization. Several researchers worked on the swing-up problem and they used different techniques such as partial feedback linearization [34-3 7], pseudo-linearization [38-39], optimal control [40], intelligent control [41-47], passivity- based control [48], and energy-based control [49-53]. The last technique is considered the best between others because it exploits the physical characteristics of the system; and therefore, one can get a very robust swing-up control law. Banavar and Mahindrakar [52] proposed an energy-based method to guarantee stability. Xin and Kaneda [53] introduced a combination technique between partial feedback linearization and robust control. They also worked on flying acrobot and studied the control its posture with a non-zero initial angular momentum [54]. Yonemura and Yamakita [55] and Lai et a1. [56] analyzed the singularity of the problem and introduced algorithms to deal with it. Lai et al. [57] extended their work and introduced a non-smooth Lyapunov function, which theoretically guarantees the stability of the acrobot in the whole motion space. Zergeroglu et al. [58] proposed a Lyapunov based control algorithm, which guarantees that the first link is asymptotically driven to the desired setpoint provided some conditions are satisfied. Furthermore, Shiriaev et al. [59] presented motion planning and feedback stabilization of periodic orbits of the acrobot. We investigated the applicability of the impulse-momentum approach for swing-up control of the acrobot. For the acrobot, the elbow joint is actuated instead of the shoulder joint; and hence, the swing-up control algorithm is based on a series of rest-to-rest maneuvers of the second link around the zero angle. The rest-to-rest maneuvers are designed such that each maneuver results in a net gain in energy of the system. Once the acrobot configuration reaches the region of attraction of the desired equilibrium point, a linear controller is invoked to stabilize the equilibrium. Although the pendubot and the acrobot have different system behaviors, we were able to successfully apply the impulse- momentum approach for swing-up control of the acrobot. However, swing-up control of the acrobot takes a longer time since the actuated joint has to pump energy into the system from the lowest potential energy configuration to the highest potential energy configuration. In the case of the pendubot, the first link is actuated and raised to its vertical configuration in the first step; this reduces the amount of energy that needs to be added by the controller. To achieve swing-up control of the acrobot over a shorter duration of time, a controller can be designed to first increase the overall energy of the system or an initial condition can be chosen that corresponds to higher potential energy. 1.4 An Active Synthetic Wheel Biped Robot with Torso For a long time, researchers have tried to develop walking machines and "bipeds in particular. As we said earlier in this chapter, walking machines are better suited for outdoor environments, which have uneven terrain and natural obstacles, than wheeled machines and bipeds have the potential for staying leveled and stable in such environments. The dynamics of bipeds are, however, non-linear and often unstable, involving foot-ground interaction and continual change in degrees of freedom and discrete events that make their analysis and control difficult. It is not surprising that only recently researchers made a good progress in the design and development of bipeds. Takanishi, et al. [60] proposed a control method for a dynamic biped walking under unknown external force. Zheng and Shen [61] achieved control of a static biped to walk on an unknown sloped terrain using force sensors at the feet and position sensors of the joints. Although the implementation of the strategy was simple, it was only applied to static walking. Yamaguchi, et al. [62] introduced an anthropomorphic dynamic biped which can adapt to structured environments. Chew, et al [63] used simple intuitive control strategies to compel bipedal robots to walk over sloped terrain. Pratt, et al. [64] used Virtual Model Control to control a planar biped to walk on flat ground. Stitt and Zheng [65] proposed a method to generate gaits based on distal supervised learning; this method incorporates a forward model of the robot dynamics and uses it to convert stability information into information on how to adjust the robot’s joints so as to regain stability. Lohmeier, et al. [66] designed a biped robot to achieve a dynamically stable gait pattern and the robot reached a walking velocity of 2.4 km/hr in experiments. The robot required accurate sensors and a powerful computer system for performance and stability. Many of the results in the literature use the “Linear Inverted Pendulum Mode” for control of bipeds. For example, Kajita and Tani [67] developed a simple control method for walking on ground constituted of planes and vertical steps, such as stairs. Park and Kim [68] proposed a gravity-compensated inverted pendulum mode to design reference motions of biped robots that includes the dynamics of free leg motion. Matsumoto, et al. [69] designed a combined leg-wheeled biped that has the ability to travel quickly on flat surfaces using wheels and climb stairs effectively. Ota, et al. [70] proposed similar hybrid locomotion with twin-frame structure robot. In this dissertation a new biped robot is introduced. The feet of this robot are part of a circle, which allows the overall movement of the biped to be similar to a rolling wheel. We described this robot as “An Active Synthetic Wheel Biped Robot with Torso.” In order to start walking, the torso will lean to the front to create a moment on the system. Then, the robot will take a step forward to avoid falling over. Before the first leg tip is reached, the second leg will take over to complete the circle and the robot will repeat the process to achieve walking. Our goal in this dissertation is to solve the stabilization problem of this robot about its standing configuration. We investigate the solution for small and large disturbances. First, we are going to assume that the system is only affected by a small disturbance. The control problem then will be similar to a standing person pushed and tried to maintain the standing position without pulling out his or her leg. Hence, we have applied our methodology for stabilizing the system where the two legs are aligned. The objective is to move the torso in a manner that allows the robot to regain is standing posture after being disturbed. The system is then considered as a two- link underactuated system depending only on the torso for its movement. Second, the effect of a large disturbance is considered. Therefore, we have used both the second leg and the torso this time to regain the standing posture. The second leg role is always going to be completing the circle of foot (i.e. make the system walk) while the torso is going to adjust the energy of the system by its movement until the energy level reaches the desired one. We have obtained very good results and this establishes the generality of our methodology. This methodology is in fact well suited for the biped model since it restricts the links from going over certain limits. The biped is different from the pendubot and the acrobot in that its torso is not allowed to rotate complete 360 degrees for stabilization. As in the case of the pendubot and acrobot, the control method is based on a series of rest-to-rest maneuvers of the actuated link, the torso in the case of the biped, around its vertical configuration. The rest-to-rest maneuvers are designed such that the energy of the system converges to the desired value. This brings the robot configuration within the region of attraction of the equilibrium point wherefrom a linear controller can be invoked to stabilize the equilibrium. 10 CHAPTER 2 The Pendubot 2.1 Background The pendubot is a two-link planar robot in the vertical plane with an actuator at the shoulder joint but no actuator at the elbow joint. The control problem of the pendubot typically refers to the task of stabilizing its equilibrium point with the highest potential energy, which is unstable. This requires swing-up control of the pendubot from the lowest potential energy configuration to its equilibrium configuration with the highest potential energy followed by balance control that stabilizes the equilibrium. The balance control problem is quite simple; and therefore, we address the swing-up control problem. Our approach to swing-up control focuses on the force of interaction between the two links and the change in energy of the second link resulting from it. We will discuss two algorithms that result in swing-up of the second link as well as the pendubot to the region of attraction of the desired equilibrium point. At that juncture, a linear controller can be invoked to stabilize the equilibrium. This chapter is organized as follows. The next section lists the nomenclature used throughout this chapter. In section 2.3 we provide the equations of motion of the pendubot and derive expressions for the force of the interaction between the two links, the holding torque, and the braking torque. In section 2.4 we discuss several methods for 11 changing the energy of the second link; these methods will be used later in the algorithms for swing-up control of the pendubot. In section 2.5 we present two algorithms for swing- up control along with numerical simulations. Concluding remarks are provided in section 2.6. Figure 2.1. The pendubot 2.2 Nomenclature The Pendubot is shown in Figure 2.1. For the nomenclature listed below, the subscript i assumes values of 1 and, 2; and subscript j assumes values of 1, 2, 3, 4, and 5. l . length of the i-th link, (m) d. distance between the i-th joint and center of mass of the i-th link, (m) m. mass of the i-th link, (kg) 1. mass moment of inertia of the i-th link about its center of mass, (kgmz) t9. angular displacement of the i-th link as shown in Figure 2.1, (rad) é. angular velocity ofthe i-th link, (rad/s) é.— angular velocity of the i-th link, immediately before the first link is stopped, (rad/s) 12 :n .31 .31 '21 angular velocity of the second link, immediately after the first link is stopped, (rad/s) velocity of the center of mass of the second link, (m/s) velocity of the center of mass of the second link, immediately before the first link is stopped, (m/s) velocity of the center of mass of the second link, immediately after the first link is F stopped, (m/s) j Cartesian reference frame fixed to the second link .: inertial reference frame with unit vectors 7 and ] along the X and Y axes, respectively force acting on the second link at the second joint along the x direction, (N) force acting on the second link at the second joint along the y direction, (N) impulsive force acting on the second link at the second joint, (N) force acting on the second link at the second joint along the direction of motion of the second joint; it does positive work on the second link (N) external torque applied on the first link, (Nm) external torque required to hold the first joint fixed, i.e., maintain 91 = O, (Nm) external torque required for braking, i.e., causing exponential decay in the velocity of the first link, (Nm) control torque applied during rest-to-rest maneuver prior to braking, (Nm) impulsive moment acting on the second link at its center of mass, (Nm) total energy of the second link, (J) 13 EZT potential energy of the second link when (6I , (92) = (7r/2, 0), (J) g acceleration due to gravity, (9.81 m/sz) q}. constants, who values depend on kinematic and dynamics parameters of the pendubot S. sin 9. I l C. cos 6. I I Sl2 sin (31 + 62) Cl2 cos (6] + 62) 2.3 System Dynamics 2.3.1 Equations of Motion Consider the pendubot in Figure 2.1. We assume it to be an ideal system with no friction in the joints. The kinetic energy of the two links of the pendubot can be written as follows _1 -2 1 2-2 [(51—5561 +—?:mlai1 91 (2.1) KE —11(é+9' 2+1 2 22) 2‘22 1 2) zmzvz (' where i52=—[léS +d (6' +9 )5 ]i+[le'c +d2(e' +e' )C ]] (2.3) 1 1 1 2 1 2 12 1 1 1 1 2 12 I O 2 v2 4161 +al2 (61+62) +211d261(61+62)C2 (2.4) The potential energies of the two links are given by the relations PE] = m1 gdlSl (2.5) PE2 = ng(lls1 +d2512) (2.6) The system Lagrangian [4] takes the form 14 L=(KE1 +1<152)—(PE1 +PE2) and the equations of motion can then be written as 1[24_]_2L_ - . dt 661 601 agate: : 0 dt 602 662 Putting the results in matrix form, we get A(e)é+3(9,é)e+o(e)=r where A(6)=[q1+q2 +2‘13C2 ‘12 “739] ‘12 +‘13Cz ‘12 13(63):,135 ‘éz “(91 +92) 2 01 0 q4C1+q5C12 G(9)=g[ C ‘15 12 and qi, i = 1, 2, 3, 4, and 5, are constants, given below q1=md2+m12+1 1 1 21 1 q2 = "1sz + I2 ‘13 = ”’2’1d2 q4 = mla’1 + m2]1 %=%% 15 (2.7) (2.8) (2.9) (2.10) (2.11) (2.12) (2.13) (2.14) (2.15) 2.3.2 Force Interaction Between the Two Links In this section we derive an expression for the force of interaction between the two links of the pendubot and the work done by this force in changing the energy of the second link. By applying the Newton—Euler method [4], the force of interaction between the two links can be expressed as follows i 2 .. . — _ . . _ 2 1 I Fx—m2 d2(61+62) +11(als2 91C2)+g812:| (2.16) — '- u .- .. _ .2 Fy—m2_d2(61+62)+11(61C2 6152)+gC12] (2.17) > X Figure 2.2. Forces of interaction between the two links where the directions of F x and FJ) are shown in Figure 2.2. The resultants of F x and F y is F R’ which can be decomposed into a workless constraint force along the length of the first link and the component F that does work on the second link. The force F can be expressed in terms of F x and Fy as follows F=FxS2+FyC2=m2[llt91+d2(61+62)C2—d2(61+62) S2+gCl] (2.18) 16 The energy of the second link and its derivative can be expressed as follows . . 2 - _l l 2 E2 _ K52 +1014:2 _ 2 12(61+62) + 2 mzvz +ng(1151 +d2S12) (2.19) . 1' 1.. .. .. ‘ . . 2 E2 = m2 101 101+d2(61+62)62 —d2 (91 +62) 52 + gC1 (2.20) It can be verified that E2 = F (1191). This is not surprising since (1191) is the velocity of the point of application of the force F and have the same direction as that of F. 2.3.3 Holding Torque During swing-up control, our algorithms will use the technique of holding the first link fixed at certain times, i.e., maintain (91 = 0. We compute the torque required to hold the first link fixed by substituting 91 = (91 = O in equation (2.10), as follows q+qC - é . qC+qC r i 2 3 ]62—[ 2]q35292+g[ 4 1C5 12 = h (2.21) (12 0 ‘15 12 0 By eliminating 652 from the two equations in equation (2.21), Th can be expressed as 2' =— 592+ C—33—q—5CC (222) h ‘13 2 2 g ‘14 (,2 2 12 ' 2.3.4 Braking Torque We consider braking action that results in exponential decay of the motion of the first joint to zero. To this end, we assume 01 = —k1191, kl > 0 (2.23) where k1 is a constant that will control the rate of decay of 6’1. To compute the torque required for braking, we multiply equation (2.10) first with the inverse of the inertia matrix to obtain 651 and 32 as a function of 61,91,62,92 and r 17 [:1]: [1(6) [3}- B(0,é)[:1]—G(6) (2.24) 2 — — C A—1(e)=—1—— q2 q2 (13 2 (2.25) det[A(0)] -q2 - q3C2 q1 + q2 + 2q3C2 Note that: det[A(6)] = qlq2 — q32C§ _ 2 2 2 2 2 2 2 —(11+m1d1 )(12 +m2d2)+m21112 +m211d252 >0 As the determinant is always positive, the angular accelerations of both links will always remain bounded. Substituting the equations (2.13), (2.14) and (2.25) into (2.24) we get [.671] 1 qzr + kl (2.26) z 2 2 _ 6)2 qlqz'q3C2 (q2+q3C2)”h2 where hl and h2 are given by the expressions = (9+é)25+2é2CS+( CC — C) (227) ’71‘12‘131 2 2931223‘13‘15212‘12‘141 ' h =-(e‘ +9 )2( + 2C )5 —( + C) 9'25 2 12 ‘12‘13‘13226116132q312 _g [4345C2C12 —(q2 + q3C2)q4C1+q1q5C12j (2.28) On substituting equation (2.23) in the first equation of equation (2.26), we get _ _—_1_ ' _ 2 2 rb _ ‘12 [k191(q1q2 (13C2 )+ kl] (2.29) When the first joint comes to rest, the braking torque becomes equal to the holding torque. This can be easily verified from equations (2.22) and (2.29). 18 2.4 Energy Consideration of the Second Link 2.4.1 Effect of Sudden Stopping of the First link A large value of gain k1 in the expression for braking torque in equation (2.29) will result in sudden stopping of the first link. This action of suddenly stopping the first link has the effect of application of an impulsive force and an impulsive moment on the second link, as shown in Figure 2.3. The impulsive force results in a change in the linear momentum of the second link and the impulsive moment results in a change in its angular momentum. The change in the linear and angular momentum of the second link can be expressed as follows a _ _.+ _ *_ zmpAt — m2 (v2 2 ) (2.30) —° — _. —o _ -+ — ._ ._ MimpAt — r2 x FAt — 1262 12(01 + 62 ) (2.31) 3r Figure 2.3. Effect of sudden stopping the first link 19 where At is the interval of time over which the impulsive force and impulsive moment act, {3; and 17; are the velocity vectors of the center of mass of the second link before and after the action of the impulsive force, respectively, and 6"; and «92— are the angular velocities of the second link before and after the action of the impulsive moment, respectively. The angular velocity of the first link, before it is suddenly stopped is l .... denoted by (9—. The expressions for v+ 17— and F can be written as follows 1 2’ 2 2 -.. ... - - a v2 =d262 (—5121+C12)) (2.32) v2 =—[119181+d2(61 +92)512]i+[1191C1+d2(91 +92)C12]j (2.33) r2 = —d2 (C12i +512j) (2.34) where fand fare unit vectors, as shown in Figure 2.3. By substituting the equations (2.32), (2.33) and (2.34) into the equation (2.31), we get mIdC é+=e‘+ 1+——2—1——2—2— (9‘ (2.35) 2 2 I +m d2 1 2 2 2 Since there is no change in the potential energy of the second link over the At time interval, the change in the total energy of the second link is due to the change in its kinetic energy alone, and is equal to 2 2 _ +_ —__1_ 2 -+ _i -— ~— AEz—KEZ KE2—2(12+m2d2)(62) 212(61H92) ..lm 12(9‘)2+d2(9‘+é‘)2+21dé‘(é"+é')C (236) 2 2 1 1 2 l 2 121 1 2 2 ' By substituting equation (2.35) into (2.36) and expanding the equation we can see that 20 .2 .2 mldC ,2 mIdC ,, (9+) =(e') + 1+—21——3——22— (91“) +2 1+—ll—2—7§- 61—6,‘ (2.37) 12 + mzd2 12 + m2d2 . 2 . 2 . . comparing the coefficients of (91—) , (t9; ) and 61—62— we can see F -1 222.2 .mldc 2mIdC )1+ 212 2 + 2122 __1_m,2_1md2 2 0 (9—) :l(1 +m d2 l 2 2 2 (I +m d2 .l b 22 md(. —mldC _l1 =lm12__2_;L_1 2122 22 2 211+md2 2 2 2 . (9‘)2-l(1 +m d2)-i1 —lm d2=0 2 '2 2 22 2 2 2 22 ldC '-'-.i 2 ’"2122 _ _L ( 2 )_ - 6162. 2(12+m2d2) 2 1+———1 m d2 12 2m2 2d2+211d2C2 -0 2 2 2 1 2 ”'2‘122C22 - 2 :>AE =—ml ——-1 (0—) (2.38) 2 22 - 2 2 2 = . - -— _ Since m2d2 C2 < (12 +m2d2 ),AE2 S 0 and AE2 0 1f only 1f61 — 0. Clearly, the total energy of the second link decreases whenever the first link is suddenly stopped. 2.4.2 Pumping Energy to the Second Link It was verified in section 2.3.2 that E2 = F (1191). Therefore, if we select 1191 = F and use a proper gain, we will guarantee the increase of E2. Expanding F and rearranging the equation we get 491 = k2[1191+d2(61+62)62 -d2(91+62) 52 + gCl] (2.40) substituting (2.27) into (2.40) and solving for the torque we get 21 22 - qq-qC 6 . .2 r:12 32 —l—gC+d(6+9)S 12 232 — 1 1 +d( +h )C] (241) 2[1h1 2’1 2 2 ' 1142'd2q3C2 . _ 2_ 2 _ 2 2 Note that. 1qu 212(13C2 —ll(12+m2d2) m211d2C2 2 2 21112 +mzlld2 —m211d2 21112 > 0 Therefore, the control law in (2.41) will have no singularities at any time, which allows E2 to increase at all times. 2.4.3 Maintaining the Energy of the Second Link at the Same Level At certain times we need to keep the energy of the second link fixed at a certain level. Therefore, we want to find an expression for 2' that guarantees this to happen. By looking to equation (2.21), we can see that E2 = 0 if: 0 (91 = 0 which is predictable since the system is assumed to have no friction . 1161+d2(l91+62)C2—d2(61+62) 52+gC1=0 substituting (2.27) into the last equation and solving for the torque we get 2 2 611612-(136‘2 . . 2 1 I", _d C2 'gC1+d2(61+62) 52 "I _d C2l’1h1+d2(h1+h2)C2] 1‘12 2‘13 2 1‘12 2‘13 2 (2.42) This expression is similar to (2.41) with only dropping the term (9.1/11:2 , which shows interesting result. When 91 /k2 is positive E2 will increase and vise versa. The first link angular velocity will go between the positive and negative numbers in order to do the mission of keeping E2 at the same level. 22 2.4.4 Negative and Positive Work on the Second Link If the second link has some amount of energy and the first link position is at lower configuration, the second link will spin around itself. In order to move the first link toward the top, the second link energy will be affected either negatively or positively. We will discuss in this section two ways to bring the first link to the top configuration while knowing what is happening to the second link energy. 1. Negative work: As the second link is having energy that will make it spin, we will take the advantage of the force interaction between the two links. Once this force is capable of producing a moment on the first link greater than the moment that is produced from its weight and in the opposite direction, then the first link is released. This means I = 0 (2.43) 2. Positive work: If the interaction force between the two links cannot produce a moment on the first link greater than the moment that is produced from its weight and we forced the first link to go in the other direction by a torque, we will produce a positive work on the second link. Also, we do not want the first link to have a high angular velocity when we stop. Therefore, we will drive the first link to the top with a constant low angular velocity .. . . .. 6121' + hl 0 2 —k3 (t9 — t9 ) and we know from equation (2.27) that 6 = l 1 Ides 1 2 .2 ‘11"2 “13 C2 _ ;l_ ' _ ' _ 2 2 Z” T ‘ ‘12 [k3 (91 61des)(q1q2 ‘13C2 )+ ’71] (2'44) where 91 des is the desired first link angular velocity. 23 2.4.5 Rest-to-Rest Maneuver of the First Link Consider a maneuver in which the first joint starts from rest and is brought back to rest through the application of a braking torque using a large gain k]. Taking into account the loss of energy due to sudden stopping, given by equation (2.39), the net work done on the second link due to the rest-to-rest maneuver can be computed as follows 2 2 md C . 2 . . 2 AE =[Fld6 +im 12 ill-1hr) szledz—im12(e‘) (2.45) 2112211+md21 112211 2 22 where F is given by the expression in equation (2.18). If we impose the constraint d2(61+62)62—d2(61+62) 82+gcl 4411.91, k4>0 (2.46) we get from (2.19), (2.45) and (2.46) AE >11F6idt—lm12(e")2=ljm [(1+k )16]édz—lm12(6—)2 2-1 1 2 1 2 4 21 1 11 1 2 21 1 1+k 2 l+k 2 2 . 4 2 _t 2 -— ___ 4 2 -— _i 2 -— _[ 2 ]szl [29161dt 2mzl1 (61 ) [ 2 ],,2211 (91 ) 2”“2’1 (91 ) zlk m 12(0‘)2>0 (2 47) 2 4 21 1 - Using equation (2.11) it can be shown that the constraint in equation (2.46) can be imposed by applying the torque 41612-61326}? . .2 r: gC—d (6+6)S c kl +qu2 1 21 2 2 41% 232 + 1 {d( +h)C -kl } (248) k, M, C2 2’1 2 2 41"1 ' 41‘12 2‘132 24 Figure 2.4. Swinging-up control of the first link Clearly, the net energy of the second link will increase if the first joint is driven using the torque expression in equation (2.48) and then stopped suddenly. It is important to note that at any time during a rest-to-rest maneuver, while the first link is still in motion, it is possible to compute: (a) E2 from the values of 61,61,62, and 62 , and (b) energy loss that would result from stopping the first link instantaneously, from equation (2.39). When the difference of the energy values in (a) and (b) is equal to E2], the motion of the first link can be quickly stopped to have E2 z E27. . 2.5 Algorithms for Swing-Up Control In this thesis we will use two successful algorithms for swing-up control of the pendubot followed by asymptotic stabilization of the desired equilibrium. Both algorithms depend on the idea of pumping energy to the second link until it reaches EZT while guaranteeing 25 that the first link is at the top configuration. 2.5.1 First Algorithm A five-step algorithm is proposed as follows 1. Initialization: Linearize the dynamic equations of the pendubot in equation (2.11) about the desired equilibrium (6161,6262) = (7r/ 2 ,0, 0,0). The linear system will be f(x,u) = 5c = Ax + Bu (2.49) where x is the state space representation defined as x =6 x =6 x =6 x =6 r=u (2.50) Therefore, the matrices A and B can be found at the top position as ' 0 1 0 0‘ — o - 6x 6x —— A: 1 3 ,3: a“ (2.51) o 0 0 1 0 ?f_4 0 9:4 0 _‘9f_4 6x1 6x3 _au] Using the model of the linearized system, design a linear controller to render the desired equilibrium of the pendubot (nonlinear system) locally asymptotically stable. The system is controllable as the controllability matrix C is full rank C = [B AB A28 A313] (2.52) Since this equilibrium point is not stable, the matrix A is expected to have eigenvalues in the right hand side (RHS) plane. Thus, to stabilize the system 26 using a linear controller, new eigenvalues are assigned to the controlled system (A-BKI) in the left hand side (LHS) plane. Then, the desired feedback gain matrix K is calculated to find the control law 1 = —K1(x—xeqj (2.53) This control law is applied to the nonlinear system and stabilizes it at top position. 2. Pumping energy into the second link: Drive the first link from its initial configuration using the control law in equation (2.41) until the energy E2 reaches the level E27. 3. Maintain the energy of the second link: When E2 reaches EZT in the last step, the value of 61 could be high. Therefore, if we suddenly stop the first link using the braking torque in equation (2.30), E2 will decrease very much as we can see in equation (2.39). Hence, in this step we will use the control law in equation (2.42) to maintain E2 at the level of E2]. while waiting 61 to reach a reasonably small value and then brake. The first link angular velocity will definitely go through zero as the second link is spinning and the first link is trying to maintain E2 on its level by going back and forth. 4. Swing-up control of the first link: In this step we will bring the first link to the top configuration and main E2 at the level of E2]. The problem with the expression in equation (2.42) is that it does not specify a clear path for the first link. Therefore, we cannot predict how the first link can reach the top 27 position. Moreover, even if the first link reaches the desired position, it usually reaches there with an angular velocity that makes the second link loose a high amount of energy if we suddenly stop the first link. Therefore, in this step we will use a series of positive and negative work on the second link to bring the first link to the top configuration and make E2 fluctuate around E27. While the first link is in its way to the top, the level of E2 is tested regularly. Hence, if E2 is at a level higher than E2T and the second link can push the first link to the top by itself, the control law will use the negative work approach described in equation (2.43). Otherwise, the control law will stay using the holding torque described in equation (2.23) waiting to the previous condition to be met. Likewise if E2 is at a level lower than EZT and the second link cannot push the first link to the top by itself, the control law will use the positive work approach described in equation (2.44). Otherwise, the control law will stay using the holding torque described in equation (2.23) waiting to the previous condition to be met. However, the control law can switch to equation (2.30) when the conditions of the equations (2.43) and (2.44) are not met during this process. For example, if the control law in equation (2.43) is operating the system and the first link angular velocity reached the maximum value allowed (i.e.61des ), then the control law will switch to the one in equation (2.30) in order to avoid losing too much energy in E2. Finally, when the first link reaches within a small angle near the top configuration, the braking torque in equation (2.30) is applied. This will stop the first link near the desired position and make the second link swing back and forth like a pendulum near to the upright configuration. 28 5. Stabilization: By the end of the last step, the first link will be fixed within a small angle of the upright configuration and the second link energy is almost equal to E27. This will make the second link behave like a pendulum that swing and can reach the upright configuration in a finite time. Once the pendubot configuration enters the region of attraction of the desired equilibrium point (61,61,6262 ) = (7r/ 2,0, 0,0) , the linear controller in equation (2.53) will be invoked to stabilize the equilibrium point. Numerical Simulations of the First Algorithm The kinematic and dynamic parameters of the pendubot were assumed to be l.=1.0m, d.=0.5 m, m.=1.0kg, l.=im.l.2=0.0833 kgmz, i=l,2 z I I 1 12 l t For this choice of parameters, EZT was evaluated to be 14.715 J. Table 2.1 Comparison of simulation results of braking with analytical results kl At (sec) A61 (rad) 6; (rad/s) difference (%) AE2 (J) difference (%) 10 0.800 0.200 5.890 26.38 0.724 44.76 100 0.080 0.020 7.330 8.37 0.478 4.30 1000 0.008 0.002 7.899 1.26 0.495 0.92 Impulse-momentum model of braking: In section 2.3.1 we modeled the sudden stopping of the first link by the action of an impulsive force and an impulsive moment on the second link. Here we show that this modeling assumption is accurate for large values of gain k1 in the expression for the braking torque in equation (2.30), which we know will cause a sudden stopping of the first link. We consider the pendubot configuration (6161,6262)=(0.0,2.0,0.0,3.0), where the units are rad and rad/s. Ifthe first joint is 29 stopped instantaneously, the velocity of the second joint and change in energy of the second link can be computed using equations (2.36) and (2.39), respectively. Specifically, using 61— = 2.0 rad/s and 62— = 3.0 rad/s, these values can be computed as a"; = 8.0 rad/s, AE2 = —0.5 J (2.54) ‘ l i E/ 1 0 5 10 15 20 25 30 35 time (see) Figure 2.5. Plot of joint angles, joint angle velocities, control torque, and energy of the second link ./ . . The values of 63' and AEZ’ obtained from simulations, are tabulated above in Table 2.1 for different values of gain k1 used in the expression for the braking torque in equation 30 (2.30). It is clear that the differences of these values from those in equation (2.54) are negligible for large values of gain kl' Also, as expected, large values of kl require less time for the first link to come to rest and small angle of travel of the first link before it comes to rest. In our simulation of swing-up control, presented next, we used a moderate value ofk1 = 100. Swing-up control and stabilization: For this simulation we started with initial conditions which represents the lowest potential energy, i.e. the initial conditions were chosen to be (6161,6262 ) = (—72'/2,0.0, 0.0, 0.0) (2.50) where the units are rad and rad/s. It can be seen from Figure 2.5 that E2 reaches the value E att=tS 2T = 5.65 sec. Therefore, the control law switched from equation (2.41) to l (2.42), which happened in this simulation to be for a very small time. At that time, since the second link has energy equal to EZT and the first link at a position far from the top, the second link started to spin fast around itself. This was expected since the potential energy of the second link is low and most of the link energy is expressed by the kinetic energy. Then, the control law used the procedure explained in the forth step of the algorithm (i.e. a series of positive and negative work on the second link) until the first link is brought near to the upright position. Finally, the control law switched to the linear controller at t = t5 = 27.4 sec when the pendubot configuration reaches the region of 2 attraction of this controller at the top equilibrium point. This approach showed very good results. However, the swing-up time is relatively long because of the way we use to bring 31 the first link to the top. Thus, in the next approach we will bring the first link to the top first and then pump energy to the second link. 2.5.2 Second Algorithm A four-step algorithm is proposed as follows 1. Initialization: o The same model of the linear controller used in the first approach will be used again in the second approach. 0 Choose a small angle a, a > 0, such that (6 ,6 ,6 ,6 )=(6 ,0, 0,0) lies in the l 1 2 2 1 1’ 2’ 2 all values of 61 satisfying (Jr/2 —a) S 61 S (7r/2 + a). region of attraction of the desired equilibrium (61,6 6 6 )=(7r/ 2,0, 0,0) for 2. Swing-up control of the first link: Drive the first link from its initial configuration to any configuration that satisfies (7r/2—Ct)S61 S(7r/2+a),61 =0, as shown in Figure 2.4. 3. Swing-up control of the second link: If the configuration of the first link satisfies (7r/2—a) S 61 S (Jr/2+ar),6l = 0, the second link will automatically swing up to the configuration (62,62)=(0,0) if E2 = E2]. . To increase the energy of the second link to E2], we will use a series of rest- to-rest maneuvers of the first link, described above. Additionally, to ensure that 6. will always lie within the region(7r/2—a) S 6] S (7r/2+a) , the following procedures will be used: To hold the first link fixed, the holding torque T h in equation (2.23) will be applied. To move 61 in the positive (counter-clockwise) direction from rest, the torque expression in 32 equation (2.48) will be used provided it is greater than T h at the initial time. To move 61 in the negative (clockwise) direction from rest, the torque expression in equation (2.48) will be used provided it is less than Th at the initial time. As 61 approaches the boundary of the interval [(7t/ 2 — a),(7r/ 2 + 05)], the braking torque T b in equation (2.30) will be used; a large value of k1 will be used to quickly stop the motion of the first link. Conduct the rest—to-rest maneuvers until E2 = E27,. This can be accomplished by monitoring the states of the pendubot as we discussed earlier in section 2.4.5. In order to swing-up the second link, TC has to be greater than 2' h for some values of 62,62, and lesser than Th for other values of 6 ,62, when (7r/2—a)S6 S(7r/2+a) l and 61 = 0. We now show that these conditions will indeed be satisfied. For 61 = 0 , the difference in the torques can be shown to be equal to . _ _ _ _ _ .2 H(61,62,62)—(rc Th)9'1=o—g [C1 46C2C12l d25292 (2'51) where m d2 = 2 2 1 ‘16 " 2 < mzd2 +12 (a) ' ' (b) Figure 2.6. Vertically down configurations of the second link during rest-to-rest maneuver 33 Now consider the joint configuration (61,62) = (7r / 2 — 6, —7r + 6), 6 e (0,a] , shown in Figure 2.6(a), where the second link is vertically down. During swing-up, the second link has to pass through this configuration. Since 52 = —sin 6 < 0, we have from Eq.(2.51) n 2 glcl "1662C12l A plot of the right-hand side of the above equation, shown in Figure 2.7, indicates II > 0 for 6 ,6 = 72' / 2— 6, -7r +6 ,6 6 0,6: for feasible values of a and q . This implies 1 2 6 that the control torque Tc can move the first link in the counter-clockwise direction. A similar analysis indicates II < 0 for the configuration (61,62)=(7r/2-6,—7r+6), 6 e (0,a] , shown in Figure 2.6(b). This configuration is therefore conducive for the first link to move in the clockwise direction. -160 1 1 1 1 [1 1 - *, _86=0.2‘/ I _- . q6=0,4 / -17()_ II;>O- . "$540.6 0 '3-180— — N a -— —t q6=0.7 1 -190/ .. II 0 and II < 0 34 4. Stabilization: With (7r/2—a) S 61 S (7r/2+a),61 = 0, and E2 = E2]. , the second link will behave like a pendulum and will reach the vertically upright configuration in finite time. Concurrently, the configuration of the system will reach the region of attraction of the desired equilibrium point. Invoke the linear controller, as it was done in the first approach, to stabilize the desired equilibrium when (6 6 )z (0, 0). 350 2’ 2 A 120 'l 1 1 1I | 11 ' I 00 ‘l 1 1 1 I 11 ' 8 1 1 1 1 11 ' v 90W H I | " 1 1 ' a 60 :1 : E 51 E i: : . " 1 1 1 1 11 i a 130 ;; : : 1' : II 7 ‘ go 0 _/.,:: : fl : 11.4 A w 3 M : : .: 1 .5 130 4': 1 1 11 1 11 i 1 ' 1 rest-to-rest i I I i ll : maneuvers 1 1 1 1 _.1 1.__ hqld first 'HJT—Hn [S 1 1 1 1 jomt fixed a. 0 1? : : " : :1 : ' d.) 1 1 1 1 11 : 3 -200 : : : . :: 1 - N 1 | 1 1 1 ' Q A/ r- 1- + 1- —1 .400 I I 1 IT I 1 1 i I 1 l l l | I l I | l I 62 (deg/s) O -350 “ ' l 1 . . . i swing-u "—— stabilizatlon —»—— fi contro T (Nm) p—s \O O O l '190 l 1m 9 I | 1 18 i. 1 . .1 1 11 I I 612E211==::aas 6 1 1 m1 1 14 L 1 0 2 time(sec) 4 6 Figure 2.8. Plot of joint angles, joint angle velocities, control torque, and energy of the second link 35 Numerical Simulation of the Second Algorithm As part of the initialization (the first step), a linear controller is designed to stabilize the desired equilibrium. Through repeated simulation of the closed-loop system behavior, a is estimated to be 10 deg. The initial configuration of the pendubot is chosen as (191,611,19262) = (90.0,0.0,—135.0,0.0) (2.52) where the units are deg and deg/s. This choice of the initial configuration eliminates the need for the first step of the algorithm, which is trivial. The simulation results for the second and third steps of the algorithm are shown in Figure 2.6; the plots show the two joint angles, their velocities, the control torque, and the energy of the second link. It can be seen from Figure 2.6 that E2 reaches the value of EZT at t = ts = 3.15 sec. Since the second link is close to its vertically upright configuration at this time, the linear controller is invoked immediately for stabilization. The swing—up control of the second link is achieved over the interval te [0,3.15]sec through a series of rest-to-rest maneuvers separated by periods of time over which the first joint is held fixed. It can be seen from Figure 2.6 that E2 increases for each rest-to-rest maneuver but remains constant during times when the first link is held fixed. The increase of Ezduring each rest-to-rest maneuver is achieved through positive work done by the first link followed by energy loss due to braking. During braking, the control torque peaks. The large magnitude of these peaks, which can be attributed to the large value of gain k1, is not of concern since they are applied intermittently and for short time intervals. 36 110 I: E : I :I I I 61 (deg) Y L ‘ 1 1 1 1 1 00 H , , .. ,, T . I 1 1 : I l ' 1 1 1 61 (deg/s) -200 1 E E i 1 l1 1 1 -—>5 114—5— first joint held fixed ——>§ i4— rest-to—rest maneuver O '1 I I I .I I I 1 1 I 1 1 I 1 1 I 1 1 92 (deg) -400 650 62 (deg/s) _650 1 l l l 1 :1 1 1 swing-u >;<——— stabilization Icolntr'o 1/t=ts --II--- II 13 (Nm) .1.0 1: E E 1 l1 4 1 (13 i i i 132 (J) 0.1 4 6 time (see) Figure 2.9. Plot of joint angles, joint angle velocities, control torque, and energy of the second link Comparison with experimental results: It behooves us to point out that the maximum torque required by our algorithm, by virtue of being impulsive in nature, will be limited by the peak torque of the motor and not the maximum continuous torque. The peak torque of a motor is greater than the maximum continuous torque by a factor that varies from motor to motor. A search of the literature published by motor manufacturers indicates that this factor can vary in the range of 2-10 and is equal to 4 for a specific 37 example worked out in the Handbook of Electric Motors [28]. To check the feasibility of hardware implementation of our algorithm, we now compare our simulation results with experimental results published in the literature. We present simulation results for two sets of kinematic and dynamic parameters of the pendubot. The first set of parameters, taken from Orlov, et al. [9], are presented below: m] = 0.132 kg, ’1 = 0.203 m, d1 = 0.1574 m, II = 0.00362 11ng m2 = 0.088 kg, 12 = 0.254 m, d2 = 0.1109 m, I2 = 0.00114 kgm:2 For this choice of parameters, EZT was evaluated to be 0.2710 J. For initial configuration of the pendubot given by equation (2.52), the simulation results are shown in Figure 2.9. It can be seen from this Figure that E2 reaches the value of E2 T at t = tS = 2.97 sec. At this time the second link is close to its vertically upright configuration and the linear controller is invoked for stabilization. The swing-up control of the second link is achieved over the interval ta [0, 2.97] sec through a series of rest-to-rest maneuvers separated by periods of time over which the first joint is held fixed. It can be seen from Figure 2.9 that E2 increases for each rest-to-rest maneuver but remains constant during times when the first link is held fixed. The increase of E2 during each rest-to-rest maneuver is achieved through positive work done by the first link followed by energy loss due to braking. During braking, the control torques peak, but the peak torques act over short intervals of time. This is expected since the braking torques are impulsive in nature due to the choice of a large value of gain k1. Despite its impulsive nature, the maximum value of the torque required by our algorithm is 1.0 Nm - this is less than the maximum torque of 1.7 Nm required by the algorithm proposed by Orlov, et al. [9]. 38 For the second set of parameters we choose the following kinematic and dynamic parameters of the pendubot: m1 = 1.0367 kg, 11 = 0.1508 m, d1 = 0.1206 m, 11 = 0.0031 kgm2 m2 = 0.5549 kg, 12 = 0.2667 m, d2 = 0.1135 m, 2 = 0.0035 kgm2 These parameters result in the following values of q}, j e { 1, 5}: q1 = 0.0308 kgmz, q2 = 0.0106 kgmz, q3 = 0.0095 kgmz, q4 = 0.2087 kgm, q5 = 0.0629 kgm which are almost identical to the values of 6j( j = qj), j 6 {1,5} , in the paper by Orlov, et al. [24] with experimental results for the control torque. For these parameters E2]. was computed as 1.438 J. For the initial configuration of the pendubot given by equation (2.52), the simulation results are shown in Figure 2.10. It can be seen from this figure that swing up and stabilization is achieved in less than 4 sec. The maximum torque required by our algorithm is approximately 15 Nm. In the experimental work by Orlov, et al. [24], the maximum torque required was 7 Nm for the nominal model and 30 Nm for the model with disturbances. It suffices to say that the motor used in the experimental work [24] can be used for implementation of our algorithm. A comparison of our results with the results for the nominal model alone indicates that our maximum torque is greater than the maximum torque in [24] by a factor of 2.1. This is acceptable since the torque required by our algorithm is intermittent and its maximum value is limited by the peak torque of the motor, whereas the maximum torque in [24] is limited by the maximum continuous torque (which is much less than the peak torque, [28]) due to its high-frequency components. 39 115 :lz': l :l l I 91 (deg) 320 6 1 (deg/S) -320 i i 1 1 ¢ 1 ——>§ <§—— first joint held fixed —+—>§ E4—— rest-to-rest maneuver 92 (deg) -400 900 02 (deg/s) -900 4 1 ' ' l swing-u >4—————— stabilization Ar 15 rigoyuo . Pr’tzts I T 13 (Nm) -15 . é: , . 1.5 . 1. 52 (J) 0.3 time (sec) 6 Figure 2.10. Plot of joint angles, joint angle velocities, co'ntrol torque, and energy of the second link 2.6 Remarks In this chapter we showed two new successful algorithms to swing-up the pendubot. Both algorithms benefit from using the force of interaction between the two links. However, the second one had much better settling time and used more convenient ways in swinging-up the pendubot because it was based on taking the first link to its vertically upright position and executing a series of rest-to-rest maneuvers about this position with 40 a small amplitude of oscillation. Using the principles of work-energy and impulse and momentum, the rest-to-rest maneuvers were designed to increase the energy of the second link. The rest-to-rest maneuvers were carried out until the energy of the second link equals its maximum potential energy. This results in the second link swinging up to its vertically upright position and the pendubot reaching a configuration from which the desired equilibrium can be stabilized using a linear controller. Simulation results were presented to demonstrate the feasibility of both proposed algorithms. In the next chapters we extend our work in the second algorithm to swing-up control of the acrobot and control of other under-actuated robotic systems. 41 CHAPTER 3 The Acrobot 3.1 System Dynamics In this section we will discuss the equations of motion of the acrobot, which are not far from that in the pendubot. In addition, we will derive the holding and breaking torque, which will be applied on the second link in a way analogous to that done for the pendubot in chapter 2. Moreover, we will derive an expression for the torque, which makes the system have opposite angular velocities. Then, we are going to derive the impulsive torque that can match the angular velocity of the two links in magnitude but opposite in direction and show how it can match the last torque at a certain time. Finally, an expression for torque, which makes the second link move in a constant angular velocity, is going to be derived. 3.1.1 Equations of Motion Consider the acrobot in Figure 3.1. Assuming an ideal system with no friction in the joints, the equations of motion is going to be similar to that in the pendubot with the exception of changing the torque equation (2.12) to be T-T (31) _0 , 42 Figure 3.1. The acrobot 3.1.2 Holding Torque We compute the torque required to hold the second link fixed, i.e., maintain (92 = 0. By substituting (92 = 512 = 0 in the modified equation (2.11), we get q1+q2+2q3C2 .. 0 . €14C’l+615C12 _ 0 + C 61- 6., q35261+g C - r (3.2) q2 (13 2 1 ‘15 12 h By eliminating é] from the two equations in equation (3.2), 2' h can be expressed as .2 g 1 W 2' =qS¢9 + [(q +qC )qC —(q +qC )q :l (3.3) h 3 21 1 3 2 512 2 3 2 41 q1+qz+2q3C2 The holding torque in equation (3.3) will be used in one of the algorithms for swing-up control. 3.1.3 Braking Torque We consider braking action that results in exponential decay of 92 to zero. Therefore, we assume 62 = —k56’2, k5 > 0 (3.4) 43 where k5 is a constant that will control the rate of decay of 612. To compute the torque required for braking, we use the same procedure done in chapter 2. Therefore, 51 and 52 will become as a function of 6’ 61 6 0 and r 1’ 1’ 2’ 2 g] _ 1 _(q2+q3C2)T+h1 é2 — 2 2 (3.5) ‘1qu ‘613 C2 (ql + q2 + 2q3C2)r + h2 where h1 and h2 are the same expressions given in chapter 2. On substituting equation (3.4) in the second equation of equation (3.5), we get ,_ —1 2 2 - _ — C k6 +h (3.6) b {(4142 ‘13 215 2 21 q1+q2+2q3C2 When the second joint comes to rest, the braking torque becomes equal to the holding torque. This can be verified from equations (3.3) and (3.6). 3.1.4 Opposite Angular Velocities Torque We compute the torque required to make the angular velocity of the second link stay at the same magnitude of the angular velocity of the first link but in the opposite direction (i.e. 611 = —612 , 511 = —é2 ).By substituting these conditions in the modified equation (2.11), we get q +q C .. 6’ . q C +q C 0 [ 1 (:1 161+1911435291+gl 4 1C5 12]=[ 1 (3.7) ‘13 2 1 ‘15 12 7 By eliminating 9.1 from the two equations in equation (3.7), 2' can be expressed as _ 1 -2 ~ _ ’- q1+q3C2 [q1q35291 +gl‘11‘15C12 q3q4C1C211 (3'8) The torque in equation (3.8) will be used in one of the algorithms for swing-up control. 44 3.1.5 Impulsive Angular Velocity Matching Torque We consider the action that result in exponential matching of 92 to (—611). Therefore, we assume 91+92=—k6(191+62), k6>0 (3.9) where k6 is a constant that will control the rate of matching of 62' To compute the torque required for this action, we have from equation (3.5) 9.1 and 92 as a function of 61,91,492,612 and 1. Therefore, on substituting equation (3.9) in both equations of equation (3.5), we get _ —1 - - _ 2 2 t—ql+q3C2{k6(61+62)(qlq2 q3C2)+hl+h2} (3.10) When the second link angular velocity is equal to (491), the torque in equation (3.10) becomes equal to the torque in equation (3.8). This can be verified by substituting ((91 = —92) in equation (3.10) and comparing the result with equation (3.8). 3.1.6 Impulsive Constant Angular Velocity Torque We consider the action that result in exponential matching of 612 to (612 des ). Therefore, we assume 62=—k7(6?2—62des), k7>0 (3.11) where k7 is a constant that will control the rate of matching of (92. To compute the torque required for this action, we have again from equation (3.5) 51 and 62 as a function of 61,é1,62,6’2 and 1. Therefore, on substituting equation (3.9) in the second equation of equation (3.5), we get _ _1 - _- _ 2 2 T ‘ q] ”,2 +2q3C2 {1‘7 (‘92 62des)(qlq2 ‘13C2 1+h21 (3'12) 45 When the second link angular velocity reaches the desired one (62de51’ it will stay at the same magnitude using the same torque expression. 3.2 Impulse-Momentum Effect In this section the effect of the sudden impulsive force and moment on the angular velocities of the Acrobot’s links is going to be studied. By looking to the free body diagram of the second link in Figure 3.2, the impulsive force and moment on the center of mass can be written as - _ *+_g_ inmpAt—m2(v2 v2) (3.13) - _ .+ .+_ ._ ._ MzimpA"12(61 +62) 12(61 +62) (3.14) F . . . a . . . a ~+__ + + + - + + + - v2 _ _119151+d2(61 +62)S12]z+[1161C1+d2(61 +92)C12]) (3.15) v2 9.1191 S1 +d2(01 +62)S12]i+[1161C1+d2(61 +192 )C12]j (3.16) In order to study the effect of the impulsive force and moment on the first link angular velocity, we will discuss the effect on the second joint first. The impulsive force will stay with the same magnitude and direction. However, there will be impulsive moment added due to the distance ’2 :‘lzlclzi +5121.1 (3'17) Therefore, the addition on the impulsive moment will be _. —o — 2 .+ 0+ — o_ -_ .+ .— r2xF2impAt—m2 {d2 [(61 +92) (91 +92)]+d211C2(91 +01 )} (3.18) Now, if we look to the free body diagram of the first link in Figure 3.2, the impulsive force and the impulsive moment on the center of mass can be written as 46 - __ 3 _- = ,+_,_ FimpAt—( limp inmij’ m1(vl v1) (3.19) M. At=1(6l+-6l") (3.20) Imp where {31+ = c1161+ (—Sli'+clj'), 171— : dlél- (—51t+C1]) (3.21) and Flimp is the impulsive reaction force at the first joint which can be found from equation (3.19) to be - __ .+_._ .+ .+ _ ._ ._ F11mpA" {”7211151191 611+d25121191 +621 (61 +6211] .+_._ 7 .+_._ .+ .+_ ._ ._ +m1d1(6’l 191 )Sl}z+{m2[llCl(61 61 )+d2C12{(01 +62) (6] +62 111 +m d (191+-t9'1—)C 1] (3.22) 11 1 Figure 3.2. The impulsive force and moment on the second link and their effect on the first link Now, we want to calculate the impulsive moment on the first link center of mass due to the impulsive forces applied to its joints. The second joint has an impulsive force with the 47 same magnitude and the opposite direction from that in the second joint in the second link free body diagram. This impulsive force will create an impulsive moment at the first link center of mass due to the distance 73 ‘1’1‘d111C1;+51]1 (3'23) Therefore, the addition on the impulsive moment from this impulsive force will be 73 X 1": 21mm) = ”121—111—6111111611+ “91—1-11““llldizc’lelé1++ 6; Hal— +6511} (3.24) In addition, the impulsive reaction force will add another impulsive moment at the first link center of mass due to the distance 71 = —d1 (C1? + 51]) (3.25) Hence, the impulsive moment added due to this reaction force is .. -° __ 2 -+_°— _ '+_'— "1' '1' — .— .— ’1"F1impA" “1‘11 (61 ‘91) ’"2‘111'11‘91 91 1+d2C21191 +62) 16‘ +6211} (3.26) Therefore, the impulsive moments at the first link center of mass due to the impulsive forces can be written as MlimpAt = _MZimpAt — r2 x F2impAt + r3 x (-F2impAt) + r x F . At (3.27) equating equation (3.27) to equation (3.20) and substituting the equations (3.14), (3.18), (3.24) and (3.26) we can get a formula that can specify the relation between the angular velocities of the links before and after the impulsive force and moment applied to the second link. This can be shown as the following 2 2 2 '+_ '— _ [11+m1d1 +12+m2(d2 +11 +2d211C2)](61 191 )— [12 + m2 (.122 +d211C2 ”(19'2— 43“) (3.28) 48 Now, we will consider three cases in which we specify some of the angular velocities and solve for the angular velocity of the first link after the application of the impulsive force and moment. 1. First case: The two links are having arbitrary angular velocities and then the impulsive force and moment will suddenly stop the second link (i.e. 65" = 0 ). Therefore, if we substitute this condition into the equation (3.28) and solve for the new angular velocity of the first link we will get 2 I +m (d +dIC) _ 2 2 2 212 9— (3.29) 2 2 2 2 11+m1d1 +12+m2(d2 +1l +2d211C2) .+_._ 191—61+ 2. Second case: The first link has an arbitrary angular velocity while the second link is held fixed. The impulsive force and moment then will make the angular velocity of the second link match the magnitude of the angular velocity of the first link but in the opposite direction (i.e. 05' = 0 , 6; = —t91+). Hence, if we substitute that in equation (3.28) and solve for the new angular velocity of the first link we will get 2 2 2 11+ mldl + 12 + m2 (d2 +l1 + 2d211C2) 9‘ 1 2 2 11 +m1d1 +m2 (11 +d211C2) 61+: 1 (3.30) 3. Third case: Both links are at a stationary configuration and then the impulsive force and moment are applied to achieve a desired second link angular velocity (i.e. 611- = (9; = 0). Thus, if we 49 substitute that in equation (3.28) and solve for the new angular velocity of the first link we will get 1 +m (d2+dlC) . 2 2 2 212 0+ (331) 2 2 2 2 Il+mldl +12+m2(d2 +11 +2d211C2) .+__ 61— 3.3 Energy Consideration of the System 3.3.1 Energy Change Due to the Impulse-Momentum Approach Since there is no change in the potential energy of the system over the At time interval, the change in the total energy of the system is due to the change in its kinetic energy alone, and is equal to AE = AE1+ AE2 = AKE1+ AKE2 (3.32) 2 2 0K -1 2 '+ _ '- AKE =11 (é++é+)2+lm 12(é+)2+d2(19++é+)2+21d9+(0'++19'+)C 222122211212121122 -.1—1 (6-+a-)2+lm 12(6-)2+22(9-+9-)2+21d6-(6-+6-)c (334) 2 2 1 2 2 2 1 1 2 1 2 121 l 2 2 ' Now, we want to find the energy change in each case we introduce in the last section. 1. First case: If we induce the condition 19; = O and substitute equation (3.29) into equations (3.33) and (3.34) and solve the equation (3.32) we will get 2 2 2 2 2 AE = _(11 + mldl )(12 + m2d2 )+ m2]1 (12 + ”7261252) 2 2 2 2(11 +m1dl + 12 +m2d2 +m211 + 2m211d2C2) (9;)2 (3.35) which is always negative and indicates an energy loss. 50 2. Second case: If we induce the conditionség =0, 6; 2491+ and substitute equation (3.30) into equations (3.33) and (3.34) and solve equation (3.32), we will get 2 2 2 I+md +1 +m (d +1 +21dC )) 1 11 2 2 2 1 12 2 [(1 +md2)(1 +m d2) 2 2 2 l l 1 2 2 2 2(Il+m1dl +m211 +m211d2C2) ,Ej 2 2 2 2 -— “"211 (12+m2d252)](61 ) (3.36) which is always positive and indicates an energy increase. 3. Third case: If we induce the conditions (91— : 612— : 0 and substitute equation (3.31) into equations (3.33) and (3.34) and solve equation (3.32) we will get 2 2 2 22 (I+md)(1+md)+ml(1+mdS). 2 215:1 11 2 22 21 2 222(6+) (3.37) 2 2 2 2 2(11 + mldl + 12 + m2d2 + mzll + 2m211d2C2) which is always positive and indicates an energy increase. 3.3.2 Rest-to-Rest Maneuver of the Second Link Consider a maneuver in which the second joint starts from rest and is brought back to rest through the application of a braking torque using a large gain k5. Taking into account the loss of energy due to sudden stopping, given by equation (3.35), the net work done on the second link due to the rest-to-rest maneuver can be computed as follows ' (11+m1d12)(12 +m261§)+m2112 (12 +m2d2283) ' 2 AE = jEdt— )(63) (3.38) 2 2 2 2(11 + mldl + 12 + "12.12 + mzll + 2m211d2C2 51 From the energy equations and the equations of motion the rate change of the energy of the system is equal to E1+ E2 = E = r62 (3.39) Therefore, if we choose I = k236i2 such that . .. . . k8 ._ 2 jEdt .—. ”892612.11: [k862d62 = 7(62 ) (3.40) Thus, substituting equation (3.40) into equation (3.38) and selecting k8/2 as the upper bound of the coefficient appeared in the second term of equation (3.38), the total energy change of the system will be positive for each rest-to-rest maneuver. Therefore, the constant k8 will be selected as the following: 2 2 2 k > (12+m2d2 )(11+m1d1 +m211) 8‘ 2 2 2 ) 11+12+m1dl +m2(l1 +d2 +211d2 (3.41) From the second equation of equation (3.5) and the condition 1' = A7892 the torque expression can be found as k h r = 3 2 (3.42) _ 2 2- ‘11"2 q3C k81q1+q2+2q3C21 In order not to have singularity in equation (3.42) 2 2 2 2 2 2 2) ¢ q1q2_q3C2 _(11+m1d1)(12+m2d2)+m211 (12+m2d282 8 C ’ 2 2 2 q +9 +29 ( ) 1 2 3 2 Il+mld1 +12+m2d2 +m211 +2m211d2C2 (3.43) The upper bound of equation (3.43) is the same fraction as in (3.41). Therefore, k8 should be strictly greater than that fraction to guarantee the increase of the system energy and not having any singularity at any time. Thus, 52 (I +m d2)(11+md2+m12) k8> 2 222 211 2 21 (3.44) 11+12+mld1 +m2(ll +d2 +211d2) Clearly, the net energy of the second link will increase if the second joint is driven using the torque expression in equation (3.42) and then stopped suddenly. 3.4 Algorithms for Swing-Up Control In this thesis three successful algorithms is proposed for swing-up control of the acrobot followed by asymptotic stabilization of the desired equilibrium. Each algorithm will use a series of a different impulsive-like torque to add energy to the system until it reaches E T while ensuring that the second link is restricted to be within small angle a from 62 = 0. 3.4.1 First algorithm A three-step algorithm is proposed as follows 1. Initialization: o Linearize the dynamic equations of the acrobot about the desired equilibrium (191,611,62,612 ) = (at/2,0, 0,0). The linear system will be f(x,u)= x = Ax + Bu (3.45) where x is the state space representation defined as x1=¢91, x2=61, x3=92, x4=62, r=u (3.46) Therefore, the matrices A and B can be found at the top position as ”0100‘ F o ' 6x1 5"3 3— A = , B = u (3.47) 0 0 0 1 0 .654 5% 24. O 0 6x1 6x3 .. all 5 53 It should be noticed that there will be some difference between the linearized equations of the pendubot and that for the acrobot due to the change in the torque postions. Therefore, if we compare equation (2.51) to equation (3.47) we will see that the A matrix stays the same, however, the vector B changes. 0 Using the model of the linearized system, design a linear controller to render the desired equilibrium of the acrobot (nonlinear system) locally asymptotically stable. The system is controllable as the controllability matrix C is full rank C = [B AB A28 A38] (3.48) Since this equilibrium point is not stable, the matrix A is expected to have eigenvalues in the right hand side (RHS) plane. Thus, to stabilize the system using a linear controller, new eigenvalues are assigned to the controlled system (A-BKZ) in the left hand side (LHS) plane. Then, the desired feedback gain matrix K2 is calculated to find the control law I =—K2(x—xeq) (3.49) This control law is applied to the nonlinear system and stabilizes it at top position. 0 Choose a small angle a, a > 0, such that (62,612): (6’2 ,0) lies in the region of attraction of the desired equilibrium (6,61,62,61,): (it/200,0) for all values of (92 satisfying — a S (92 S a. 2. Swing-up control of the first link: If the configuration of the second link satisfies —a $62 361,92 = 0, the first link will automatically swing up to the configuration (61,91) z (0,0) if E z ET' To increase the 54 energy of the first link to make the energy of the system reach Er we will use a series of rest-to-rest maneuvers of the second link, described in section 3.3.2. Additionally, to ensure that (92 will always lie within the region —a S 62 S a , the following procedures will be followed: To hold the second link fixed, the holding torque T h in equation (3.3) will be applied. To move 62 in the positive (counter-clockwise) direction from rest, the torque expression in equation (3.42) will be used, provided it is greater than Th at the initial time. To move 92 in the negative (clockwise) direction from rest, the torque expression in equation (3.42) will be used provided, it is less than T h at the initial time. As (92 approaches the boundary of the interval [— ma], the braking torque 2' b in equation (3.6) will be used; a large value of k5 will be used to quickly stop the motion of the second link. Conduct the rest-to-rest maneuvers until E z ET' 3. Stabilization: By the end of the second step the second link position will be within a small angle a from 192 = 0 and the system energy is almost equal to ET This will make the acrobot behave like a pendulum that swings and can reach the upright configuration in a finite time. Once the acrobot configuration enters the region of attraction of the desired equilibrium point (191,191,62,92)= (7r/ 2,0, 0,0), the linear controller in equation (3.49) will be invoked to stabilize the equilibrium point. Numerical Simulations of the First Algorithm The kinematic and dynamic parameters of the acrobot were assumed to be similar to that used in the pendubot, which are 55 .=1.0m, d.=0.5m, m.=l.0kg, 1.:im.t.2=0.0833kgm2,i=1,2 1 I I t 12 It For this choice of parameters, ET was evaluated to be 19.62 J. Y? lg > where _ 2 2 U ‘1‘]1‘12 ‘1362 "”81 q1+q2 +2‘13612111‘11Jr‘72 +2‘13C‘21 (3 ’5 1) 9 1 1.00A 2 I i 0.75 ~- 1 + + ' 0501 l / / l / / I -_ {0‘ l — 311/2 — 551/4 - n/2 Jar/4 0 (1. mes/Oi ’ ’ ~— — 0.25 acctcdia’ I S , , , ’ 4 — 0.50 + 4 — 0.75 1* — 1.00 Figure 3.4. Solution of the inequality and the selected values of a Because of the constraint in equation (3.44) we know that U in equation (3.51) is going to be always negative at all times. Moreover, the second link is at stationary state as it is 57 hold by the holding torque (i.e. 612 = 0) . In addition, to explore the boundaries we will solve the equation for (611 = 0). Therefore, we will end up with the terms 1 _ 2 2 _ U1q1‘12 q3C2111q1+q3C21q5C12 l‘lz‘Lq3C’21q4Cl1<0 (3°52) the term (-g/ U) is always positive and also the term (qlq2 —q§C§ ). Therefore, in order to val1date this inequallty we need the term [(q1 +q3C2 )qSC12 —(q2 + q3C2)q 4C1] to be negative. Using the kinematic and dynamic parameters above and for different values for 61 we can solve for 62. The solution is shown as the curves in Figure 3.4. However, selecting a to be in these boundaries is not a wise decision because both links will soon have some angular velocities, which make the constraint on a get back to the equation (3.50). This will make the inequality vanish directly after the release of the second link. Therefore, it is important to choose a in more conservative way. In our simulation we choose a to be as the dotted line shown in Figure 3.4. As it can be seen from the plot in Figure 3.5, the initial conditions were selected to be (61,91,62,92)= (7r/ 2,0, 0,0). In addition, one can notice that the energy of the system was increasing gradually until it reaches the desired value E 7. Furthermore, by looking to the plot of the second link angle, we can see that the second link did a series of rest-to- rest maneuvers around 62 = 0. As the energy of the system increases, the first link started to swing-up. This can be seen in the first link plot. Finally, the control law switched to the linear controller in equation (3.49) at t = tS = 243.2 see, which guaranteed the local 58 stability of the system at the top equilibrium point. Although this approach is successful, it takes a long time to pump energy to the system when the initial configuration of the system is (61, 61, 62,62) = (7r/ 2,0, 0,0). However, when the system has more energy at the initial stage, the swing-up time will be cut dramatically. For example, if we start with zero initial conditions the swing-up time will be dramatically as shown in Figure 3.6. A 2 I l I I ; “U l g _ 2 WWWVWMANWVWWVWMNWV‘AAN E q 5 I .. 6 1 1 1 1 : A 6 l I u I 2 € : s 0 ° 05 _ 6 1 1 1 1 E A 0. 5 ' ' T ' . “O I E o J’ , N 1 ¢ 1 _. 0_ 5 1 1 1 1 I g 4 . . , . e 0 ‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘ 1 1‘1‘1‘1‘1'1‘1‘1‘1‘1‘1‘1‘1‘1‘1‘1‘1‘1‘1‘1‘1‘1‘1‘1‘1‘1‘l‘l‘l‘l‘l‘l‘l‘l‘I‘l‘l‘l‘I‘I‘I‘III‘I‘I‘I‘“I "I “I ‘1”! 111‘“ I i i i i i H H J 1;; _i'nv ..g "HHHIHW : _ 4 1 1 1 1 A 2 5 I I f I :r E. s a 0 . 1» E '- 25 1 l l 1 1: 20 . . . . g c: E a: 0' ts _ 20 ‘ g 1 1 i 0 5 0 100 l 5 0 200 2 5 0 time (see) Figure 3.5. Plot of the first simulation of the first algorithm, which shows the joint angles, joint angle velocities, control torque, and energy of the system 59 ——-——-1__--— -----1-..4...1___-.. 1—1 0 £11 ---. 92 (rad/s) c S l _10 1 1 0 1 1 N J 0 4 8 12 l 6 time (sec) Figure 3.6. Plot of the second simulation of the first algorithm, which shows the joint angles, joint angle velocities, control torque, and energy of the system The linear controller was invoked at t = ts = 11.41 sec after the second link did a couple of rest-to rest maneuvers. Therefore, the effectiveness of this algorithm depends on the initial conditions of the system. 3.4.2 Second algorithm A four-step algorithm is proposed as follows 1. Initialization: The same linear controller proposed in the first algorithm is used here. 60 2. Matching the angular velocities in magnitude but different in direction: In a case in which the second link is held fixed by the holding torque in equation (3.3) at an arbitrary angle and the first link is free to move since it is not actuated, we will see the system swing back and forth around 61 = -m’2. When the first link is slowing down and most of the kinetic energy of the system transferred to potential energy, we will use the torque expression in equation (3.10) to make the second link angular velocity match the first link angular velocity in the magnitude but in the opposite direction. For example, if 62 is positive, like it can be seen in Figure 3.3, the torque will be imposed when the first link is going in the positive (counter-clock-wise) direction and started to slow down. This will make the first link angular velocity increase suddenly as it can be calculated in equation (3.30) and consequently the energy of the system will increase as it was discussed in equation (3.36). 3. Brake when the second link become to rest: With k6 selected to be a large constant, the torque in equation (3.10) will match the magnitude of the angular velocity of the two links with opposite signs in a short time and keep this relation true at all times. Therefore, we will see at the beginning of applying this torque that the magnitude of the angular velocity of both links increases suddenly and then starts to slow down again. Then, we will wait until the second link angular velocity reaches almost zero and apply a sudden braking torque as in equation (3.6). In this process the system will not loss energy as it can be seen in equation (3.35). Hence, the combination of the second and third steps will create rest-to-rest maneuvers analogous to 61 the first algorithm. Moreover, the energy of the system will increase after each maneuver; and after some time, the energy will reach the desired one. 4. Stabilization: As was done in the first algorithm, by the end of the third step the system energy is almost equal to ET When both links enter the region of attraction of the desired equilibrium point 9 ,9 ,9 ,9 = 7: 2,0, 0,0 , the linear controller in equation (3.49) 1 1 2 2 will be invoked to stabilize the equilibrium point. 2 1 I 1 T =3 5 35-2 : . 5 5 —6 1 1 1 t 1.? 6 ' ' E a E 3 o - .¢_6 1 1 1 : Ao.7 . . . ' “O 3 o N CD -017 J l 1 :fi 7’? 6 I I I r E g o 8' . .1-6 1 1 1 :1 A250 1 1 1 ' E. I E 0 . -250 1 1 1 4 21 I I I . 5 . 3 1 Lu 3 ts ; __15 1 1 1 \— 0 25 55 85 110 time (sec) Figure 3.7. Plot of the simulation of the second algorithm joint angles, joint angle velocities, control torque, and energy of the system 62 Numerical Simulations of the Second Algorithm Using the same kinematic and dynamic parameters used in the first algorithm and the initial conditions (91,91,92,92)=(—7r/4,0,—7r/2 0,0) it can be seen from the plot in Figure 3.7 that the energy increased with each rest-to-rest maneuver done by the second link. Furthermore, the first link started to swing-up more and more until it reached the upright position. Finally, the control law switched to the linear controller in equation (3.49) at t = t5 = 99.67 sec, which guaranteed the local stability of the system at the top equilibrium point. When applying the impulsive torque in equation (3.10), the control torque peaks. The large magnitude of these peaks, which can be attributed to the large value of gain k , is not of concern since they are applied intermittently and for short time intervals. When the system gain energy close to the desired one (i.e. ET) during the swing-up process, the travel of the second link was restricted to a reasonable angle from 92 = 0. This was done to ensure that the system can be controlled by a linear controller when its configuration enters the region of attraction of the desired equilibrium point. This means that we needed to stop the second link after applying the impulsive force and moment and before its angular velocity goes to zero. However, this should not be a concern since we know that the angular velocity of the second link at the time of braking is less than what it was after the impulsive force and moment. Therefore, the net energy change of the rest- to-rest maneuver will be positive. This can be verified by substituting equation (3.30) into equation (3.36), we will get 63 2 2 2 2 2 AE=(Il+mld] )(12+m2d2)+m211 (12 261.111211252)“+ +2) (3 53) 2 2 2 2(Il+mld1 +12+m2al2 +m21l +2m211612C2)l and we know from the conditions discussed in this case that 9;=—91+, which means that ( 2)( 2) 2( 2 2) I+md I+md +mI I+mdS 2 AE= l 11 2 22 21 2 22 2 (92) (3.54) 2 2 2 2(11 + mldl + 12 + 111de + 11121] + 2112111129) The expression in equation (3.54) is similar to equation (3.35) but with a positive gain in energy. It means that if we brake suddenly after the impulsive force and moment, the system will lose the same amount of energy added. But since we will brake after some time, we know that the second link angular velocity will be less than that after the impulsive force and moment. Hence, the net energy change in this process will be positive. 3.4.3 Third algorithm A five-step algorithm is proposed as follows 1. Initialization: The same linear controller proposed in the first algorithm is again used here. 2. Matching the second link angular velocity to a desired value: In a case in which the second link is held fixed by the holding torque in equation (3.3) at an arbitrary angle and the first link is free to move since it is not actuated. We will use the torque expression in equation (3.12) to make the second link angular velocity match a specified value éZdes when the first link is slowed down completely (i.e. 91 z 0) and all of the kinetic energy of the system transferred to potential energy. This torque will be 64 applied only for a short period of time as an impulsive force and moment applied to the second link. Moreover, since the system is considered to be a non-minimum phase, éZdes is selected to be negative when the first link is slowing down from positive angular velocity values and vice versa. Hence, looking again to the case in Figure 3.3, the second link is held fixed at a positive angle and the first link is going to the positive (counter- clockwise) direction. Once the first link slows down completely we will apply the impulsive torque that will make the second link angular velocity reach a negative value of éZdes in a short time. This will make the first link gain some angular velocity in the positive direction as it can be calculated from equation (3.31) and consequently gain some energy as it can be calculated from equation (3.37). 3. Make the second joint free: After the second link angular velocity reaches the desired value, the control law will be switched to make the second joint free or r = 0 (3.55) Therefore, we will see at the beginning of applying the torque in equation (3.12) that the magnitude of the angular velocity of both links increases suddenly and then after applying the torque in equation (3.55), they start to slow down again as we are going to discuss later. The energy of the system will not change since the torque is zero. 4. Brake when the second link become to rest: After the torque in equation (3.55) is applied, the second link angular velocity will slow down eventually. Therefore, we will wait until the second link angular velocity reaches almost zero and apply a sudden braking torque as in equation (3.6). In this process the system will not loss energy as it can be seen in equation (3.35). Hence, the combination 65 of the second, third and, fourth steps will create rest-to-rest maneuvers analogous to the first algorithm. Moreover, the energy of the system will increase after each maneuver and after some time the energy will reach the desired one. 5. Stabilization: In a way similar to the first two algorithms, by the end of the forth step the system energy is almost equal to ET When the acrobot configuration enters the region of attraction of the desired equilibrium point (91,91,92,92)=(7r/2,0,0,0), the linear controller in equation (3.49) will be invoked to stabilize the equilibrium point. YA lg > O in this example). This can be done because we know that 91+ is equal to 1 +m2(d2+d 1C) . 2 2 21 2 . q +q C . 91+ =_ 2 2 2 a§=—[q +31 +32qzc i6; (3'57) 11+m1dl +12+m2 (d2 +11 +2d211C2) 1 2 3 2 Substituting equation (3.57) into (2.27) and (2.28) we get 2 2 q352[q2(q1+q3C2) +‘13C2l‘12‘L‘I3C2) ] .+ 2 "1 = ‘92) +gl‘13‘15C2C12”‘12‘14C1) 2 (‘11 +‘12 +ch3C2) (3.58) 67 q H] C S 2 . 2 h2=‘( (+1 322:2)2[(qzqfqiczilql+q3C2)+q3lq2+q3C ) Mai) ‘11 ‘12 ‘13 2 “g [(41 + q3C2)q5C12 ’(qz +‘13C2)"4C1](3'59) 2C2 Since the term (qlq2 —q3 2 ) is always positive, we should select 9; value so that hl be negative and h2 be positive in order for both links to slow down. However, it is important to notice that the moment after the application of the impulsive force equation (3.57) is no longer valid. This means that I11 and h2 is then only defined by equations (2.27) and (2.28), respectively. 92 1.00 A .5 II . N 0.75 -— 71’ _ <13~ 0.50 ~— 0.25 -- (a) 1,) + g“) —« I; 1 1 1+ —1t/2 —Tl:/4 0 “It/4 n/2 91 Figure 3.10. The change in the acrobot configuration in the moment after the application of the impulsive force with the change in the negative and positive areas of h2 In order to understand the argument that both links will continue slowing down after the application of the impulsive force, one can look to the example at Figure 3.8 and the corresponding Figures 3.9, 3.10 and 3.11 to realize the following 0 After the application of the impulsive force it is important to know that 68 > 9+ is always true and this can be figured out from equation (3.57). '+ '62 1 After the application of the impulsive force the system configuration is located at point 1 (i.e. the negative area of hl and the positive area of I22 and (h]+ 112)), which means that both links will slow down in the moment after the application of the impulsive force. Moreover, the sum of the angular velocities of both links (19141192), which 1s dominated by 92, Wlll also slow down (1e. (01+192)> 0 in this example). After the application of the impulsive force the border line between the positive and negative areas can be described by the curve (c) in Figures 3.9, 3.10 and 3.11. If both links are stationary, the border line between the positive and negative areas can be described by the curve (a) in Figures 3.9, 3.10 and 3.11. This means that the first two terms in equations (2.27) and (2.28) are responsible of changing the border line from curve (a) to curve (c). 92 1.00 -‘- 0.75 1 0.50 ._ _ 0.25 :— -1r/2 —1'1/4 Figure 3.11. The change in the acrobot configuration in the moment after the application of the impulsive force with the change in the negative and positive areas of (111+ h2) 69 0 In the next step after the application of the impulsive force we know that the first link will move in the counter-clockwise direction and the second link will move in the clockwise direction. This means the system configuration will move from point 1 to 2. However, we know also that both links will slow down and the magnitude of their angular velocities is going to be less than that in the last step. In addition, we know that the sum of the angular velocities of both links (91 + 92) will also slow down. This mean that the border line between the negative and positive areas will move from curve (c) to curve (b), which helps the links to continue in slowing down. Figure 3.12. The angular acceleration of the first link 91 at the moment just after the impulsive force 70 Figure 3.13. The angular acceleration of the second link 92 the moment just after the impulsive force For the kinematic parameters we used for our simulation, it can be shown -with the help of Mathematica- that the regions of the desired solution are in Figures 3.12, 3.13 and 3.14. In order to make the understanding of the plots easier on the reader we only consider the changes of the angle of the first link to be in the region [-1t/2, 112/2] rad because in the other region we will have a similar solution with an opposite sign. In addition, the region of the second link angle is [-0.5, 0] rad because the positive region of this angle means the centrifugal forces will join the gravitational forces in decelerating the links. Finally, we selected 92+ values to be negative only [0, -10] rad/s because we want the link to go to the clock-wise direction for this example and we want to see how far we can go in selecting this value. 71 :11- \\\\\ \\".___;J \\\“ \ \\\ , “\“kk‘ < \\\ " 1' \“§\\\\\ Figure 3.14. (91 + 92) the moment just after the impulsive force Numerical Simulations of the Third Algorithm Using the same kinematic and dynamic parameters used in the first two algorithm and the initial conditions (91,91,92,92)=(—rr/4,0,0,0) it can be seen from the plot in Figure 3.15 that the energy of the system increased with each rest-to-rest maneuver done by the second link. In addition, the effect can be noticed on the first link as it started to swing-up until it reached the upright position. Finally, the control law switched to the linear controller in equation (3.49) at t = t8 = 23.76 sec, which guaranteed the local stability of the system at the top equilibrium point. When applying the impulsive torque in equation (3.12), the control torque peaks. The large magnitude of these peaks, which can be attributed to the large value of gain k , is not of concern since they are applied 72 intermittently and for short time intervals. A 6 1 1 S 33 0 . "D—6 1 1 1.8 1 1 ; I 92 (rad) Ox 60 c —-—1_— -_ ‘? 1'12 (rad/s) O = z —6 h P -— -fi——-—— mm c 3 - 14o - 1 21 l n rL TL T a: E m 3 ts - 15 1 1 \1 o 10 time (sec) 20 30 Figure 3.15. Plot of third algorithm joint angles, joint angle velocities, control torque, and energy of the system When the system gain energy close to the desired one (i.e. ET) during the swing-up process, the travel of the second link was restricted to a reasonable angle from 92 = O. This was done to ensure that the system can be controlled by a linear controller when its configuration enters the region of attraction of the desired equilibrium point. This means that we needed to stop the second link after we made the second joint free and before its angular velocity goes to zero. However, this should not be a concern since we know that 73 the angular velocity of the second link at the time of braking is less than what it was after we made the second joint free. Therefore, the net energy change of the rest-to-rest maneuver will be positive. This can be verified by comparing equation (3.35) and equation (3.37). The two expressions look similar to each other; however, there is a sign difference. This means that if we brake immediately after we made the second joint free, the system will loss the same amount of energy added. But since we will brake after some time, we know that the second link angular velocity will be less than that after we made the second joint free. Hence, the net energy change in this process will be positive. 3.5 Remarks In this chapter we presented three new successful algorithms to swing-up the acrobot. All these algorithms used an impulsive-like torque to pump energy to the system using rest- to-rest maneuvers of the second link provided that it is within some angle a from 92 = 0. However, there are some differences between these algorithms, which make some of them superior to the others. The third algorithm gave the best results because we can specify the amount of impulsive torque done on the system. Therefore, the initial conditions do not affect the time of the swing-up process. On the other hand, in the first and second algorithms the torque is decided based on the status of the system. Hence, if we started from a configuration corresponding to the lowest potential energy for example; it will take the system longer time to swing-up. Simulations for all algorithms were provided and showed these remarks. In the next chapter we will discuss the stabilization of an under actuated biped robot with torso and use some of the techniques discussed in this chapter. 74 CHAPTER 4 Stabilizing an Active Synthetic Wheel Biped due to Small Disturbances 4.1 Introduction In this dissertation a new biped robot is introduced. The feet of this robot are part of a circle, which allows the overall movement of the biped to be similar to a rolling wheel. We described this robot as “An Active Synthetic Wheel Biped Robot with Torso.” In order to start walking, the torso will lean to the front to create a moment on the system. Then, the robot will take a step forward to avoid falling over. Before the first leg tip reaches the ground, the second leg will take over to complete the circle and the robot will repeat the process to achieve walking. Our goal in this dissertation is to solve the stabilization problem of this robot about its standing configuration. In this chapter we discuss the control problem due to small disturbances. The objective is to move the torso in a manner that allows the robot to regain its standing posture after being disturbed. Using the impulse-momentum approach introduced in the previous chapters, the control law is going to stabilize the system about its standing configuration. The two legs of the biped are going to be aligned; and therefore, the system will have two degrees of freedom. Hence, the control problem will have some similarities to that for the acrobat. We are going to design the controller to do rest-to-rest maneuvers such that the energy of the system converges to the desired value. This brings the robot configuration within the 75 region of attraction of the equilibrium point wherefrom a linear controller can be invoked to stabilize the equilibrium. This chapter is organized as follows. The next section lists the nomenclature used throughout this chapter. In section 4.3 we provide the equations of motion of the biped and derive expressions for the holding torque and the braking torque. In section 4.4 we discuss the effect of sudden stopping of the torso on the energy of the system, and then we design the rest-to-rest maneuver for the torso to alter the system energy. In section 4.5 we present the algorithm for stabilizing the biped about its standing configuration along with numerical simulations. Concluding remarks are provided in section 4.6. 4.2 Nomenclature The biped is shown in Figure 4.1. For the nomenclature listed below, the subscripts i and j assume values land, 2. I . length of the i—th link, (m) d distance between the end point of the first link and its center of mass, (m) d2 distance between the second joint and center of mass of the second link, (m) R the radius of the feet, (m) m. mass of the i-th link, (kg) 1. mass moment of inertia of the i-th link about its center of mass, (kgmz) 9. angular displacement of the i-th link as shown in Figure 4.1, (rad) 9. angular velocity ofthe 1111 link, (rad/s) 9.— angular velocity of the i-th link, immediately before the first link (legs) is stopped, (rad/s) 9+ angular velocity of the second link (torso), immediately after the first link is stopped, (racfls) 76 V2 ~11 l imp "1‘1 2imp ..5‘1 mp .3 WP velocity of the center of mass of the second link, (m/s) velocity of the center of mass of the second link, immediately before the first link is stopped, (m/s) velocity of the center of mass of the second link, immediately after the first link is stopped, (m/s) inertial reference frame with unit vectors 1" and ] along the X and Y axes, respectively impulsive reaction force acting on the feet, (N) impulsive force acting on the second link at center of mass, (N) impulsive force acting on the first link at center of mass, (N) impulsive moment acting on the j-th link at its center of mass, (Nm) external torque applied on the torso, (Nm) external torque required to hold the torso fixed, i.e., maintain 92 = 0, (Nm) external torque required for braking, i.e., causing exponential decay in the velocity of the torso, (Nm) total energy of the system, (J) potential energy of the system when (91, 92) = ( 0 , 7:), (J) acceleration due to gravity, (9.81 m/sz) sin 9. 1 cos 9. 1 sin (91 + 92) cos (91 + 92) 77 Xj firfio Y ‘1‘ 41,91 18 I“, Q R , Q \1 11 d1 \\\\5\\\\\\\ Figure 4.1. An active synthetic wheel biped robot with torso where the legs are aligned 4.3 System Dynamics 4.3.1 Equations of Motion Consider the pendubot in Figure 4.1. Assuming an ideal system with no friction in the joints, the kinetic energies of the two links can be written as follows -1 '2 l '2 KE1 -21191 +2m1r1 (4-1) KE :11 (19' +19 )2+-1-m 12 (42) 2 2 2 l 2 2 22 ' where r1=[R91—(R—d1)Sl]i+[—R+(R-dl)C-l]j (4-3) r2 =[R91-(R—11)Sl—d2S12:li+[—R+(R-11)C1+d2612]j (4.4) andtherefore 2 . .2_ 2 _ _ _ 2 ,1 _[R +(R d1) 2R(R d1)C1:l91 (4.5) 78 122 = 112912 +(R—11)2 9'12 +d§(a'1 +92)2 ”(R—10.1291 ((11 +112)c2 —2R912(R—11) C1—2R91(91+ 192 )d2C12 (4.6) The potential energies of the two links are as follows PE1=—m1g[—R+(R—d )Cl] 1 (4.7) PE2 =m2g[—R+(R—11)Cl +d2C12] (4.8) Therefore, we can formulate the Lagrangian formulation as follows L=(KE1+KE2)—(PE1 +1352) (4.9) —d- 6_L ——(?—L— = O (4.10) dt 69 69 1 l ’ 2 2 putting the results in matrix form we get A(9)9+B(9,9)9+G(9)=T (4.15) where A(9) , B(9,9) , G(9) , 9and Tare given by the expressions a a _ b b g 9 0 A(9)=[ 11 12],B(9,9)=[b11 £2],G(9)=[ 11],9=[61],T=[ ] (4.16) “12 “22 21 g21 2 T and the terms in the inertia matrix A(9) are defined as all=Ilp+12+m2[R2+(R—ll)2+d22+2(R—ll)d2C —2R(R—l1)C —2Rd C ] 1 2 12 (4.17) a :1 +m [d2+(R——l)d C —Rd C ] (4.18) 12 2 2 2 1 2 2 2 12 _ 2 a22 — I2 +m2d2 (4.19) 79 where 11p =11+m1[R2+(R—dl)2—2R(R—d1)Cl] (4.20) and the terms in the matrices B(9,9) , 6(9) are 1111 = m1R(R—d1)9lSl +1112 [R91 (18-1051 4111191112512] (4.21) 1112 = m2 [—(R—11)d2(20'1 +92)52 +Rd2(291+92)S12] (4.22) b21=m2(R”1)d29152 (4'23) g11 =m1g(R—dl)Sl +1112,c,r[(11—11)s1 +d2812] (4.24) 1:21=ngdzs12 (4.25) 4.3.2 Holding Torque During the stabilization process, our algorithms will use the technique of holding the torso fixed at certain times, i.e., maintain 92 = 0. We compute the torque required to hold the torso fixed by substituting 92 = 92 = 0 in equation (4.15), as follows a .. b . g 0 [11]61_[b11]61+[ 11]=[1] (4.26) “12 21 g21 h By eliminating 91 from the two equations in equation (3.2), Th can be expressed as —a ._ 12 ' ' ’h‘ “11 [1161+g11l+b2191+g21 (4'27) 4.3.3 Braking Torque We consider braking action that results in exponential decay of the motion of the torso to zero. Therefore, as it was in pervious chapters, we assume 80 92 = 419192, 19 > o (4.28) where k9 is a constant that will control the rate of decay of 92. To compute the torque required for braking, we multiply equation (4.15) first with the inverse of the inertia matrix to obtain 91 and 92 as a funct1on of 91,91,92,92 and 2' 91 _ 1 —a121'+h3 é _ 2 h (4.29) 2 ”11"22"’12 all“ 4 where h3 and h; are given by the expressions h3 = ‘a22(b1161+b1292)+“12b21 1‘0225’11 +"125121 (4'30) '74 = “12(b11‘91+b1262)""11b2161+“12811"“11g21 (4'31) Note that: 11111122 —a122 = 12 {11p +1112 [R2 +(R —11)2 —2R(R 41M“ 411112115 {111) + m2 [st122 +(R —11)2 522 — 2R(R «11)(Cl —C2C12)]} > 0 On substituting equation (4.28) in the second equation of equation (4.29), we get 1 =;L(a a -112 )k9 +1 (432) b a“ 11221292 4 ' When the torso comes to rest, the braking torque becomes equal to the holding torque. This can be easily verified from equations (4.27) and (4.32). 4.4 Energy Consideration of the System 4.4.1 Effect of Sudden Stopping of the Torso A large value of gain k9 in the expression for braking torque in equation (4.28) will result in the sudden stopping of the torso. This action of suddenly stopping the torso has the 81 effect of applying an impulsive force and an impulsive moment on the leg, as shown in Figure 4.2. As we did in the first case of the acrobot analysis, we are going to start looking to the free body diagram of the torso in Figure 4.2. The impulsive force and moment on the center of mass can be written as Y ' \‘x F2imp 2 ; 'O l g inmp ‘1 12 MZimp \\ lVl2imp+ I'2 X F2imp rl l:‘imp \ \ Flimp I-O <\\\\\ Figure 4.2. Impulsive forces and moments on the biped inmpm = m2 (17; —-v2—) (4.33) M21111)“: 1291+ — 12 (6'11" + 6'12") (4.34) where a; =[R91+—91+(R—11)C1—91+d2C12]I—:91+(R—11)S1+9ll'd2S12]] (4.35) 17— =[R91‘ —91—(R—11)C1-(91— +9£)d2C12:I°—[91‘(R—11)Sl +(19'l— +e'2-)d2 12]] 82 (4.36) In order to study the effect of the impulsive force and moment on the angular velocity of the leg, we will discuss the effect on the second joint first. The impulsive force will stay with the same magnitude and direction. However, there will be impulsive moment added due to the distance r2 =d2(—Slzi +C12j) (4.37) Therefore, the addition on the impulsive moment will be 2 1 _ _ _ .+ ._ _ ._ rszZimpAt_m2d2{[(R 11)C2+d2 RC12](61 +91) 11292} (4.38) Now, if we look to the free body diagram of the leg in Figure 4.2, the impulsive force and the impulsive moment on the center of mass can be written as a _ _. _- = ,+__,_ Fimpm_(r‘lim FZimijt 1111 (v1 v1) (4.39) _. _ .+_._ MlimpAt—Il (191 91) (4.40) where 1+ =[R—(R—d )C ]19’+2’—(R—d )5 9+] (4.41) 1 1 1 1 1 11 v1 =[R—(R—dl)C1]9lz—(R—dl)Sl9l j (4.42) and Flimp is the impulsive reaction force at the first joint which can be found from equation (4.39) to be as FlimpAt = {[1111 (R—(R—d1)C1)+m2 (R—(R—11)C1 —d2C12)](91+ —19'1“) +m2d29gC12}7+{[—m1(R-d1)Sl+m2(—(R-11)Sl—d2S12)](91+—91—) +m2d292 S12ij (4.43) 83 Now, we want to calculate the impulsive moment on the leg center of mass due to the impulsive forces applied to its joints. The second joint has an impulsive force with the same magnitude and the opposite direction from that in the second joint in the torso’s free body diagram. This impulsive force will create an impulsive moment at the leg center of mass due to the distance ’3 "‘(11 ‘d1)(51i ‘CIJ ) (4'44) Therefore, the addition on the impulsive moment from this impulsive force will be _. _‘° = _ _ , _ '+ _ '_ _ '_ r3 x( F2impAt) 1112(11 dl){[ RC1+(R ll)+d2C2](91 91 ) 92 81262} (4.45) In addition, the impulsive reaction force will add another impulsive moment at the leg center of mass due to the distance r1=(R—d1)Slz +[R—(R—dl)cl]j (4.46) Hence, the impulsive moment added due to this reaction force is — F XFlimpAt =—{m1 [R2 +(R‘d1iz ’2lR‘d1lRC1]+m2(R‘dliilR‘I1)+d2C2] ’mzRiR"lR"1)C1'lR‘d1)C1 “d2C12]i(‘91+‘91_) 411112112 [(11 — d1)C2 — RC12]92 (4.47) Therefore, the impulsive moments at the first link center of mass due to the impulsive forces can be written as —o MlimpAt — _'M2impAt — r2 x F2impAt + r3 x (_FZimpAt) + r1 x FlimpAt (4.48) equating equation (4.48) to equation (4.40) and substituting the equations (4.34), (4.38), (4.45) and (4.47) we can get the new angular velocity of the leg after the impulsive force 84 and moment is applied to the torso in terms of the old angular velocities of both links before the application of the impulsive force and moment. This can be shown as the following . . I+m[d2+R—ldC—RdC]_ 9+=6_+ 2 2 2 l 1) 2 2 2 12 a“ (4.49) 1 1 “11 2 Now to find the energy lose from the system due to the sudden stopping of the leg, we calculate the difference in the kinetic energy AE = A131 + AE2 = AKEI + AKE2 (4.50) KE 11 9+2 61—2 451 A1_21p(1)-(1) (') AKE =%{1 1.111.2[112 +(R—11)2 +1122 +2(R—l1)d2C2 —2R(R—11)C1 —2Rd2C12]}[(91+)2 +9.1— )2]_%l12 +m2d%}(6;)2 — 2 — — ._._ {12+m2[d2 +(R ll)d2C2 Rd2C12]}91192 (4.52) :>AE=——-1—I 1 +m R2+(R-l)2—2R(R—I)C 2a“ 2 1p 2 1 1 1 2 2 2 2 2 _ 2 _ _ _ '- +m2d2 {11p +1112 [R 512 +(R 11) 52 2R(R 11)(C1 C2C12)m(62 ) (4.53) Since an and all the results of the terms between parentheses are greater than zero; then AE S 0 , and AE2 = 0 if only if 9; = 0. Clearly, the total energy of the system decreases whenever the torso is suddenly stopped. 85 4.4.2 Rest-to-Rest Maneuver of the Torso In order to stabilize the biped at the standing position after the application of small disturbances, we only going to make the legs behave like one leg only. Therefore, the biped degrees of freedom will be reduced to two instead of three. The control problem then is going to be analogues to that for the acrobot. However, in the biped case the total energy of the system at the beginning of the control problem might be higher or lower than the desired level. Hence, we are going to discuss two ways to do rest-to-rest maneuvers of the torso. The first one can reduce energy from the system, and the other one will add energy to the system. Both ways depend on the fact that the rate change of energy of the system can be put as E1+ E2 = E = 2'92 (4.54) Therefore, with a positive gain k10 choosing the torque expression to be 1 = —k {9' (4.55) will reduce energy from the system. Similarly, with a positive gain kl] choosing the torque expression to be 1 = k 61' (4.56) will add energy to the system. 1. Reducing Energy The system will start from rest using the torque expression in equation (4.55) and then stop using the torque expression in equation (4.32). We know that the braking action will make the system lose energy as it can be seen in equation (4.53). Hence, we are only going to verify that the moving action will not make the system gain energy. Therefore, if 86 we substitute the equation (4.55) into (4.54) and integrate for the interval of starting from rest to the time just before braking we will get 1 — — 1. 1 _ — 1 1 = _l .2 jEdt _ 1 k109292dt _ 1111 O92d92 2 11092 (4.57) This means that using this torque in equation (4.55) the energy of the system will be decreasing at all times. From the second equation of equation (4.29), and equation (4.55) the torque expression can be found in terms of the system angles and angular velocities as —k h 2': 10 4 (4.58) 2 “11022 ”“12 + k10"11 The dominator of equation (4.58) is always positive; therefore, there is no risk of having singularities in this expression. 2. Pumping Energy Consider a maneuver in which the torso starts from rest using the torque expression in equation (4.56) and is brought back to rest through the application of a braking torque in equation (4.32) using a large gain k , the work done on the system due to the moving action can be found by substituting the equation (4.56) into (4.54) and integrating for the interval of starting from rest to the time just before braking as follows . _ n 1 _ 1 1 -l .2 jEdt —jk119292dt —jk1192d92 — 2 k1192 (4.59) This means that using this torque in equation (4.55), the energy of the system will be increasing at all times. However, since we are going to make the torso brake at some point, and we know from equation (4.53) that the system will lose energy, it is necessary for us to show that the net work done on the system due to the rest-to-rest maneuver is 87 always positive. Hence, comparing the terms in equations (4.53) and (4.59) we can find that k11 should meet the following condition in order to make the net work done positive k1] >—1—{12 {11p +m2[R2 +(R—11)2 —2R(R—11)C1]} “11 2 2 2 2 _ 2 _ _ 1 _ . . +m2d2 {11p +m2[R 512 +(R 11) 52 2R(R [1)(C1 czclzflflmfim From the second equation of equation (4.29), and equation (4.56) the torque expression can be found in terms of the system angles and angular velocities as k h I: 11 4 . (4.61) 2 “11"22 "“12 ’k1 1"11 In order not to have any singularities in equation (4.61) it is required to have k $011022” 11 “11 12 , which is the same fraction as in equation (4.60) after expanding terms. Therefore, selecting kll to be greater than the upper bound of the fraction at equation (4.60) will guarantee the increase of energy of the system and avoiding singularities. 4.5 Stabilization Algorithm In this section we discuss a three-step algorithm for stabilizing the biped about its standing configuration. The basic idea of our algorithm is to make the energy of the system reaches the desired level ET and the links of the system to be located inside the region of attraction of a linear controller, which guarantee asymptotic stabilization of the desired equilibrium. 88 l. Initialization: Linearize the dynamic equations of the biped in equation (4.15) about the desired equilibrium 6 ,9 ,6 ,6 = O,0,7r,0 .The linear system will be 1 1 2 2 f(x,u) = x = Ax + Bu (4.62) where x is the state space representation defined as x1=6ll, x :6? x =6 x =9 r=u (4.63) Therefore, the matrices A and B can be found at the top position as (0 1 o 0‘ —O- I _af_2 0 .65; 0 6f2 6x1 6x3 73— A: ,8: u (4.64) 0 0 o 1 0 6L4 0 .24 0 514 6x1 6x3 _aur Using the model of the linearized system, design a linear controller to render the desired equilibrium of the biped (nonlinear system) locally asymptotically stable. The system is controllable as the controllability matrix C is full rank C = [B AB A28 A33] (4.65) Since this equilibrium point is not stable, the matrix A is expected to have eigenvalues in the right hand side (RHS) plane. Thus, to stabilize the system using a linear controller, new eigenvalues are assigned to the controlled system (A-BK3) in the left hand side (LHS) plane. Then, the desired feedback gain matrix K3 is calculated to find the control law 89 r=—K3 (x—xeq) - (4.66) This control law is applied to the nonlinear system and stabilizes it at standing position. 2. Bringing the energy of the system to E T: Since the torso is actuated, we are going to apply on it the rest-to-rest maneuver technique as it was mentioned in the last section. The torso will be restricted to travel within small angle a from the top position. If the torso happens to start from an angle outside this region, the algorithm will make sure that the torso will be brought to this region. However, the algorithm should choose the torque expression to do all that based on the level of energy of the system. If the system is having energy higher than ET then the torque expression in equation (4.5 8) is going to be chosen. On the other hand, if the system is having energy less than E7, then the torque expression in equation (4.61) is going to be chosen. For both torques to start from rest moving to the positive (counter- clock-wise) direction they need be higher than the holding torque in equation (4.27). Similarly, to start from rest moving to the negative (clock-wise) direction the torque expression need to be lower than the holding torque. Once the torso reaches the border of the designed region for movement, the braking torque in equation (4.32) is applied. In order to verify that the torque selected can be greater or less than the holding torque at the time we apply it, let us follow this example. The torso is needed to go to the negative (clock-wise) direction; therefore, the torque selected should be less than the holding torque at the time we start switching. This can be put as r-rh <0 (4.67) 90 Assuming that we want to reduce the energy of the system and knowing that the torso will start from rest (i.e. 92 =0), and since the legs angular velocity is not very high because of the small disturbances and is going to be used to the power of two in the torque equation, its effect will be minimal, which make it possible to examine the solution with 91 =0. Therefore, using equations (4.27) and (4.58) the equation (4.67) will be reduced to the following condition ‘k10("12311'“11821)+“12 —a2 +k a g —g <0 (4.68) a a a 11 21 11 22 12 10 11 11 with simplifying and rearranging, equation (4.68) can be reduced to the following “12 Similarly, if want the torso to go the negative (clock-wise) direction but with the intention of adding energy to the system, the same conditions will hold. Therefore, using equations (4.27) and (4.61) the equation (4.67) will be reduced to the following condition k a g —a g a 11(1211 1121)+12g _g <0 (470) a a -a2 —k a a 11 21 1122 12 1111 11 with simplifying and rearranging, equation (4.70) can be reduced to the following fllg —g >0 (471) 11 21 ' which is the same condition as in equation (4.69) but multiplied by a negative sign. Both conditions depend on the parameters of the system. Hence, using the parameters used in the numerical simulations at the end of this chapter the solution can be seen in Figure 4.3. The figure shows the results in degrees for simplicity. The angle of the legs (61) can not 91 exceed i11.25 deg in order for the biped not to fall down. The selection of the maximum angle of the torso (62) depends however on the conditions (4.69) and (4.71) and on the fact that it should be small enough to be captured by linear controller. 92 (deg) A 195 190- 185 .— 12 9:(deg) 4:1 00 —12 —8 —4 1751 170 l 1656 Figure 4.3. The range selection for the torso angle ((92) 3. Stabilization: By the end of the second step the torso position will be within a small angle a from the top position, i.e. 62 = 7t and the system energy is almost equal to ET This will make the biped swing back and forth around the desired configuration(61,91,62,92 ) = (0,0,7r,0). The linear controller in equation (4.66) will be invoked to stabilize the equilibrium point once the biped configuration enters the region of attraction of this equilibrium point. Numerical Simulations The robot kinematic and dynamic parameters are assumed to be 92 R =11: 1.0 m, m] = 2.8 kg, d] = 0.32 m, 11 = 0.32 kgmz, 12 = 1.0 m m2 = 1.0 kg, d2 = 0.5 m, 12: 0.0833 kgmz For this choice of parameters, E T was evaluated to be 23.5048 J. N DJ b time (sec) Figure 4.4. Plot of joint angles, joint angle velocities, control torque, and energy of the system There are two examples shown in this section. The first one is shown in Figure 4.4, which represents the case of a disturbance force applied on the robot while it was initially standing. This case was assumed by having initial conditions as follows: 93 (2,91,92,92)=(0,0,n,1.4) where the units are rad and rad/s for the joint angles and joint velocities, respectively. It can be seen from the plots that the system at the beginning of the simulation had more energy than the desired one. This was expected as the system initially had the desired potential energy and we added a force that created a kinetic energy. Hence, the system started to do a series of rest-to-rest maneuvers in order to reduce this energy and bring the robot configuration back to the desired configuration. Then, the control law switched at t = ts = 3.76 sec to a linear controller that guaranteed the local stability of system at the desired configuration. The second simulation is shown in Figure 4.5, which represents the case of the second link having some angle from the vertical posture. This case was assumed by having initial conditions as follows: (61,91,62,92)=(0,O,2.4,O) It can be seen from the plots that the system at the beginning of the simulation had less energy than the desired one. This was expected because the torso initially was not at the top position, which means that it does not have the highest potential energy. Furthermore, the control law as it can be seen from the plots started to raise the energy of the system by bringing back the torso to the top. The system did a one time rest-to-rest maneuver, which was enough in this case to bring the energy to the desired level. Then, the control law waited until the robot configuration entered the region of attraction of the linear controller. Finally, the control law switched at t = ts = 1.71 sec to 94 the linear controller that guaranteed the local stability of system at the desired configuration. 0.2 q d 0 61 (rad) /' - 0.2 1.2 d - --—-— -—-— p—- ' 01 (rad/s) S o q q l _-_—- pan-q --——1—-—-—_—q-—- . 02 (rad/s) c #- —-1———-—p—-p-—q-—--— —-—¢.-—-p-————_ E (J) 13 .( 22 time (sec) Figure 4.5. Plot of joint angles, joint angle velocities, control torque, and energy of the system 4.6 Remarks In this chapter we discussed the stabilization of an under actuated biped robot with torso using the impulsive-momentum approach introduced in previous chapters. We have obtained very good results which establish the generality of this approach. The impulse- 95 momentum approach is in fact well suited for the biped model because it restricts the links from going over certain limits. The biped is different from the pendubot and the acrobot in that its torso is not allowed to rotate complete 360 degrees for stabilization. The control approach was very effective and managed to stabilize the biped in a short time. In the next chapter we discuss the stabilization problem due to large disturbances. The biped is expected to use both legs this time to avoid falling down and the system will have three degree of freedom. 96 CHAPTER 5 Stabilizing the Active Synthetic Wheel Biped due to Large Disturbances 5.1 Introduction In this chapter we discuss the control problem of the biped due to large disturbances. The objective is to move the legs in a manner that allows the robot to walk the necessary steps until the system regains its standing posture. Using the impulse-momentum approach introduced in the previous chapters in slightly different way, the control law is going to stabilize the system about its standing configuration. Once the system is disturbed, it is going to move in the direction of the disturbance. The first leg is the only link touching the ground, and the shape of the feet will make the movement looks like a part of a circle. Meanwhile, the second leg is going to move faster than the first leg in the opposite direction in away that make the two legs look symmetric around the vertical. Once the first leg tip reaches the ground, the second leg will take over and the movements of the two legs are going to be switched. At the same time, the torso is going to reduce the energy of the system, and therefore the velocity of the two legs, by going to the opposite direction of the first leg’s movement and countering by its weight the movement of the two legs. The torso will also try to stay within a small angular range from the vertical in order to be within the region of attraction of the linear controller. This linear controller is invoked once the energy of the system is reduced to the desired level and the two legs 97 enter the region of attraction, too. Finally, the equilibrium will be stabilized after the application of this linear controller. 0l d1 a} ‘. \\\‘P\\\\\\\ Figure 5.1. An active synthetic wheel biped robot with torso This chapter is organized as follows. The next section lists the nomenclature used throughout this chapter. In section 5.3 we provide the equations of motion of the biped and derive expressions for the torques of the actuated joints for different cases. In section 5.4 we discuss impulse-momentum effect of sudden movement of the links on the angular velocities of the system. In section 5.5 we discuss the energy change of the system due to certain movements. In section 5.6 we present the algorithm for stabilizing the biped about its standing configuration along with numerical simulations. Concluding remarks are provided in section 5.7. 98 5.2 Nomenclature The biped is shown in Figure 5.1. For the nomenclature listed below, the subscript i assume values 1, 2 and 3. l3 ~9~ "In 1 imp "11 2imp '11 3imp NE mp length of the torso, (m) distance between the free end point of i-th link and its center of mass, (m) the radius of the feet, (m) mass of the i-th link, (kg) mass moment of inertia of the i-th link about its center of mass, (kgmz) angular displacement of the i-th link as shown in Figure 5.1, (raa’) angular velocity of the i-th link, (rad/s) angular velocity of the i-th link, immediately before the impulsive effect, (rad/s) angular velocity of the i-th link, immediately after the impulsive effect, (rad/s) velocity of the center of mass of the i-th link, (m/s) velocity of the center of mass of the i-th link immediately before the impulsive effect, (m/s) velocity of the center of mass of the i-th link immediately after the impulsive effect, (m/s) inertial reference frame with unit vectors 1" and ] along the X and Y axes, respectively impulsive reaction force acting on the first leg’s feet, (N) impulsive force acting on the second link (second leg) at center of mass, (N) impulsive force acting on the third link (torso) at center of mass, (N) impulsive force acting on the first link (first leg) at center of mass, (N) 99 Mi-imp impulsive moment acting on the i-th link at its center of mass, (Nm) T2 external torque applied on the second leg, (Nm) T3 external torque applied on the torso, (Nm) E total energy of the system, (J) E potential energy of the system when (191 , 92, 193) = ( 0 , 0, 7r ), (J) g acceleration due to gravity, (9.81 m/sz) Si sin 6?]. Ci cos 61. $12 sin (6] + 62) C12 cos (61 + 62) S13 sin (19] + 613) C13 cos (61 + 63) 5.3 System Dynamics 5.3.1 Equations of Motion Consider the pendubot in Figure 5.1. Assuming an ideal system with no friction in the joints, the kinetic energies of the links can be written as follows __1 -2 1 .2 KEY-51161 +§m1r1 (5.1) KE —11 (19 +9 )2+l '2 (52) 2‘22 1 2 2”“2’2 ' KE —11(6'1 +19 )2+—1— r'2 (5 3) 3‘23 1 3 2’"33 ° where r1=[R191—(R—d1)51]i+[—R+(R—d1)C1]j (5.4) 100 ;2 = "R91_(R_d2)812-2‘+:—R+(R—d2)C12jf F3 =FR91 ‘(13 ‘d315131’7+__R+(13 _d3)C13-] and therefore 112 =[R2 +(R—d1)2 —2R(R—d )C p.111: [___—__l ’22 = R2912 +(6'1 +6"2)2(R’d2)2 _2Ré1(é1 +é2)(R_d2)C12 12 =R2192+(é +9 )2(13—d3)2—2R191(él+613)(l3—d3)C13 The potential energies of the links are as follows 101v:1 =—mlgl:—R+(R—dl)C1] PE2 =—m2g[—R+(R—d2)C12] PE3 = —m3gI:—R +(l3 —d3)C13] Therefore, we can formulate the Lagrangian formulation as follows L=(KE +KE +KE 1 2 3)-(PE +PE +PE) 1 2 3 putting the results in matrix form we get A(6)9’+B(0,6‘)6’+G(6)=T 101 (5.5) (5.6) (5.7) (5.8) (5.9) (5.10) (5.11) (5.12) (5.13) (5.14) (5.15) (5.16) (5.17) where A(B), B(6,9), C(19) , Hand T are given by the expressions 1- - F' -1 “11 “12 “13 . 1’11 [’12 [’13 g11 A(6)= a12 2:22 0 , B(6,6)= 0 0 0 ,G(61)= g2], . 0 0 0 _“13 0 “33, — . _331- 1 0 19: 192 , T: 2'2 (5.18) 193- 3'3- and the terms in the inertia matrix A(0) are defined as 2 _ 2 _ _ _ all—11+m1[R +(R d1) 2R(R d1)C1] 1 R2 R d 2 2R R d C +2"”‘2 +( ‘2)- ( '2) 12 1 R21d22RldC 519 +3””"3 +(3'3l' (3‘3) 13 (') 2 2:12:12”:2 (R—dz) —R(R—d2)C12 (5.20) 2 521 “13=I3+’"3 (’3‘d3) 'Rll3‘d3lci3 (' ) 2 22 a22=12+m2(R—d2) (5. ) 1 d 2 523 “33=I3+’"3(3‘ 3) (' ) and the terms in the matrices B(6,é) , 6(6) are ’1 1 = ’"1R(R —d1)élsl +”’2R(R ’d2)(‘91 +26.2)512 +m3Rll3 “’3 )(61 +29'3)513 (5.24) 612 =m2R(R—d2)192S12 (5.25) 102 b =m R(l -—d )6’ s (5.26) 13 3 3 3 313 811=m1g(R-d1)Sl+m2g(R—d2)812+m3g(l3—d3)S13 (5.27) g21=m2g(R‘d21512 (5-23) 5’31 = ”135’ (13 “131513 (5.29) 5.3.2 Torque Expressions of the Actuated Joints In this chapter we will obtain the torque expressions of the two joints using a slightly different way from previous chapters. This is because the system has two motors which create some coupling when solving for the torque expression. We are going to set conditions for both links to achieve and then solve for the torque expressions by eliminatingé ’s from the equations of motion. There are four cases that can happen and they can be shown as follows 1. Both the second leg and the torso are moving In our algorithm we impose a condition to make both legs look symmetric at all times (i.e. 192 = -2611). In order to do that we consider, as we did in previous chapters, the action that results in exponential decay of the motion of the second leg to the negative double of the first one. Therefore, condition can be written as follows (261+612)=—k12(219'1+02) (5.30) Moreover, we will make the torso move with a constant selected angular velocity which is going to be discussed later in this chapter. Hence, condition can be written as follows (5.31) 93 = "k13 (‘93 ‘ 93d“) 103 In order to solve for the torque expressions we look into the equations of motion and rearrange equation (5.17) as follows 6'=A—1(6)[T—B(6,6)—G(6)] (5.32) where —a_1 a_1 a—r Pa 0 a a a a - 11 12 13 22 33 12 33 13 22 -1 _ —1 —1 -1_ 1 __ A 09)" “12 “22 “23 ‘det(,4(g)) “12“33 “11“33 “13 “12“13 —1 —1 —1 2 ,“13 “23 “33, _“13“22 “12“13 “11“22‘“12, (5.33) equation (5.32) can be expand as follows ""7 ra_lr +a—lr H — “ 6’1 12 2 13 3 115 .. _ _1 _1 6.2 — a2212+a23r3 + h6 (5.34) 6 -1 -1 h — 3- _“23’2+“33’3_ - 7— where h5 1 116 =—A (6)[B(6,6)+G(6)] (5.35) _“7_ substituting the second and the third equations of equation (5.34) into equation (5.30) and (5.31) and solving for the torques we get _1 - - —1 —l ' ' T =“33["12(2“1+“2)+2“5+“6l‘(2“13 +a23)[k13(63_63des)+h7] 2 1 1 1 1 1 1 “ (5'36) [“23 (2“13 +“23 )‘“33 (2“12 “22” z' =—:1——[a_lr +k (61 —6’ )+h :l (5 37) 3 a—l 23 2 13 3 3des 7 ' 33 The dominator in equations (5.36) and (5.37) is always negative, and in equation (5.36) if expanded it is equal to the determinant of the matrix (A). 104 2. The second leg is moving and the torso is braking In our algorithm we will face a situation that needs to make the torso brake while the second leg is still moving. Therefore, the condition for the second leg will stay the same (i.e. equation (5.30)) while the condition for the torso will be as follows 193 = —k1463 (5-33) substituting the second and the third equations of equation (5.34) into equation (5.30) and (5.38) and solving for the torques we get _1 - - —l —1 ' = 2:33 [k12(291+62)+2h5 +h6]—(2a13 +2123 )[kl4193 +117] (5 39) 2 0-1(2a-1+a_1)—a—1(2a_1+a—1) . l 23 13 23 33 12 22 — ’1 ‘1 +k 6 +11 540 ’3‘? “2372 143 7 (' ) “33 3.The second leg is braking and the torso is moving This case is the opposite of the previous one; as a result, the condition for the torso in equation (5.31) will hold while the condition for the second leg will be as follows 62 = -k1562 (5.41) substituting the second and the third equations of equation (5.34) into equation (5.31) and (5.41) and solving for the torques we get _1 . . _1 . T = “23 [1‘13 (“3 ”“3des)+“7l‘“33 (“15“2 “76) 2 _1 _1 _1 2 (5.42) “22“33 "(“23) z' =—‘1 a_lr +k (6 —6 )+h] (543) 3 —l 23 2 l3 3 3des 7 ' “33 The dominator of equation (5.42) is always positive. 105 4.Both the second leg and the torso are braking The last case we want to find torque expressions when both the second leg and the torso are braking; hence, the conditions in equations (5.3 8) and (5.41) are applied. Substituting the second and the third equations of equation (5.34) into these equations and solving for the torques we get _1 . _1 . T _“23 (k14“3+“7)‘“33 (k1562+h6) (5 44) 2 — 1 1 1 2 ' “22“33 ‘(“23) — ’1 '1 +k 6 +h 545 ’3‘? “2372 14 3 7 (' ) “33 5.4 Impulse-Momentum Effect In this section the effect of the sudden impulsive force and moment on the angular velocities of Robot’s links is going to be studied. By looking to the free body diagram of the second leg in Figure 5.2, the impulsive force and moment on the center of mass can be written as - _ ~+_~— F2impAt—m2 (v2 v2) (5.46) - _ .+ .+_ ._ ._ 11421.],11)211_12(61 +192) 12(191 +192) (5.47) where ~+_r '+_ '+ '+ _ 2-, '+ '+ __ *- v2 —LR61 (61+62)(R d2)C1241 _(61 +192)(R d2)512(1 (5.48) ‘72— = FR“1_ "(“1— +“2)(R‘“2)C12 ~.1 l (191 +62 )(R—d2)812]j (5.49) In order to study the effect of the impulsive force and moment on the angular velocity of the first leg, we will discuss the effect on the second joint first. The impulsive force will 106 stay with the same magnitude and direction. However, there will be impulsive moment added due to the distance ’2 =(Ii—‘llzll’slz’?+c12j) (5'50) Y ( g F . F3imp 21mp M21mp + M31mp gijL + r2 X FZImp ‘ M2imp + ['3 X F3imp E 1" \ Flimp Figure 5.2. Impulsive forces and moments on the biped Therefore, the addition on the impulsive moment will be “2"F21mpA’=m2(R'“2){klR'dzl'Rclzlléf+gf)+(R_d2)(駗6}2_)} (5'51) Similarly, looking to the free body diagram of the torso, the impulsive force and moment on the center of mass can be written as - _ ~+_~— F3impAt—m3(v3 v3) (5.52) 107 - _ .+ .+ _ ._ ._ 1143impm.13(61 +63) 13(61 +193) (5.53) where N P . . . Ta P . . _. ~+_ +_ + + _ -_ + + _ - v __R61 (61 +63 )(13 d3)C13J b(61+193)(l3 d3)sl3() (5.54) “3 =_R“1 ’(“1 +“3 )(13‘“3)C13_ N.‘ l r ._ ._ 2. L(61 +63 )(13 —d3)sl3() (5.55) Again to study the effect of the impulsive force and moment on the angular velocity of the first leg, we will discuss the effect on the second joint first. The impulsive force will stay with the same magnitude and direction. However, there will be impulsive moment added due to the distance “3 =(l3 _d3)(_Sl3F+C13]) (5'56) Therefore, the addition on the impulsive moment will be _. a _ _ _ _ .+ ._ _ .+ _ ._ r3 xFBimpAt _m3 (13 d3)([(l3 d3) RC13](191 +61 )+(13 d3)(193 63 )( (5.57) Now, if we look to the free body diagram of the first leg in Figure 5.2, the impulsive force and the impulsive moment on the center of mass can be written as - __ - _- _- : fl+_,_ Fimply—”(blimp F2imp F3impjm m1 (v1 v1) (5°58) - _ .+_ ._ 1141imm_11(6l 61) (5.59) where 9+ = _R—(R—d )C _6+7—(R—d )8 6+] (5.60) 1 L 1 1_ 1 1 1 1 —.— 7 - '—‘.' '—‘: v1 =_R—(R—d1)C1d1911—(R—d1)81611 (5.61) and Flimp is the impulsive reaction force at the first joint which can be found from equation (5.58) to be " _ ~+_~— ~+_~— ~+_—-— FlimpAt—m1(v1 v1 )+m2 (v2 v2 )+m3 (v3 v3 ) (5.62) 108 Now, we want to calculate the impulsive moment on the first leg center of mass due to the impulsive forces applied to its joints. The second joint has an impulsive force with the same magnitude and the opposite direction from that in the second joint in the second leg’s and the torso’s free body diagrams. This impulsive force will create an impulsive moment at the leg center of mass due to the distance F4 = (R—d1)(sli—C1j) (5.63) Therefore, the addition on the impulsive moment from this impulsive force will be _. —o — — _ _ — _ 0+ — -_ — 1+ — .- r4XFSum ‘m2(R “1)(_(R “2)“2 RC1_(“1 “1 )+(R “2)C2(“2 “2 )} (1 —d )C —RC (6+ —6‘)+(1 —d )C (6+— —6 3)((5. 64) +”73(R‘“1)(_3 3 3 1, 1 1 3 3 3 3 where FSum = -(FZimp + F3imp ) N In addition, the impulsive reaction force will add another impulsive moment at the first (5.65) leg center of mass due to the distance r1=(R—d1)Slz +[R—(R—d1)C1]j (5.66) Hence, the impulsive moment added due to this reaction force is “1X“11mpA’P(’" 1R2( “(:( “12)2 W1)RC1(+’" +(‘R (“1)(R’“2)C2 ‘R(R’“1)C1“2)12)m3(R2+(R “1)(l3‘ “3)C3 “(R “1)“1 ‘R(’3‘“3)C13()(;" “1—"”’) 2(R “2)((R “12)“ ‘CR C12)(“2‘“2) —m3(l3— d3)[(R—) d )3C R—C3193+]( —63‘) (5.67) Therefore, the impulsive moments at the first link center of mass due to the impulsive forces can be written as 109 —. —. At - r2 x FZimpAt M. zit—~11? . At—M. Izmp 21mp 3zmp -r3 x F3impAt + r4 x FSum + rl x FlimpAt (5.68) equating equation (5.68) to equation (5.59) and substituting the equations (5.47), (5.51), (5.53), (5.57), (5.64) and (5.67) we can get a formula that can specify the relation between the angular velocities of the links before and after the impulsive force and moment applied to the second leg and torso. This can be shown as the following .+_._: .__.+ .__.+ 2111(61 6l ) 2112(62 192)+a]3(63 63 ) (5.69) where a a and al are defined before in equations (5.19), (5.20) and (5.21), 11’ 12 3 respectively. In our algorithm we are going to see two cases in which we specify some of the angular velocities and solve for the angular velocity of the first leg after the application of the impulsive force and moment. M In our algorithm the torso will be either moving with a constant specified angular velocity or held fixed for a certain time. In both ways, if we suddenly stopped the second leg (i.e. 193' = 0) while the torso continuing on its condition, the new angular velocity of the first leg can be found from equation (5.69) to be .+ _ ._ ._ 191 — 61 + a1262 (5.70) and with the condition 612— = —2611— is always maintained this expression can be put as _ a — 2a _ 6+ = (L—J—Z—(K (5.71) 1 a1 1 1 Similarly, if we suddenly brought the second leg from zero angular velocity to 19; = —2191+ then, the new angular velocity of the first leg can be found as 110 . a . 191+ =(——l—21——(61‘ (5.72) “11 ‘ “12 Case 2 In this case the second leg is always maintaining the condition 192 = —2191 before and after the impulsive force and moment, and the torso will be stopped suddenly (i.e.6’; = 0 ). Therefore, from equation (5 .69) and the condition specified above we can find the new angular velocity of the first leg to be as . . a . 61+ = 61‘ +[———1—:-—(19; (5.73) “11 ‘ “12 Similarly, if the torso suddenly brought to a certain angular velocity from zero the new angular velocity of the first leg can be found as . . a . 191+ = 191-—|:———1%—(193— (5.74) “11 ‘ “12 5.5 Energy Consideration of the System 5.5.1 Energy change when both the second leg and the torso are moving In our system we consider two symmetric legs that always keep a symmetrical distance between them. This means that both legs have the same kinematic parameter and the conditions (62 = —261 , and 192 = —2191) are hold, which reduces equations (5.19), (5.20) and (5.22) to be the following all =2(11 4.1721(R2 +(R—d1)2 —2R(R—d1)C1(} +13 +m3 (R2 +(13 —d3)2 —2R(13 _d3)C13( (5.75) 111 a12=11+ml[(R—d1)2—R(R—d1)Cl] (5.76) 2 a22 =11+m1(R—d1) (5.77) The rate change of the energy of the system is known as E = 72192 + r319 (5.78) and since both the second leg and the torso are moving, the torque equations are defined in equations (5.36) and (5.37). In addition, the angular velocity of the torso is going to be selected as é3des and with the condition 92 = —291 is taking in place and using equation (5.37), we can show that equation (5.78) becomes as _1 h '— ' “236 7 6 579 E’ ““1171 3des ’27:? 3des ( ' ) 33 33 Moreover, equation (5.35) can be redefined based on the above changes as r r - —1 —1 —1 h5 “11N1+“12N2+“13N3 _ —1 —1 —1 h6 _ a12N1+622N2+aZ3N3 (5.80) h -1 —1 —1 — 7~ _“13N1+“23N2 +“33N3_ where P . . 2 1 N1 —m3 ([3 'd3)S13 [(61 + 63.1.1.1) + g] N, = m,g(R—ar,)sl (5.81) N3 —m3g(l3 —d3)S13 _ .1 The torque expression in equation (5.36) can then be rewritten as 2' = a33l(2a1-1]+a1_2l)_al_3l(201-31+a2-31) N _ N (5 82) 2 a; (2013' +a;_.‘)—a;.‘ (2a.? +4.1) ' 2 ' 112 This will make equation (5.79) to be a function of 61,61,6363 and the kinematic parameters of the system. Therefore, depending on the kinematic parameters of the system we can select values for 613 that will reduce the energy of the system. §‘\.'; “'1/">§ Torso motion Torso motion Biped motion Biped motion \\\\\\\\\\\ \\\\\\\\\\\ (a) (b) Figure 5.3. (a) The first leg has negative angle value. (b) The first leg has positive angle value. In order to reduce the energy of the system, the torso should always be located on the opposite side of the vertical to counter the motion of the biped by its weight as shown in Figure 5.3. Therefore, by selecting the value of 63 the range of values63 can be predicted. For instance, one can see from Figure 5.3 (a) that when the first leg start from the maximum negative angle value 611, the torso angle can be more than 180 degrees and stays in the desired region. This true until the first leg angle reaches zero, then the 113 situation will be reversed as seen in Figure 5.3 (b). Hence, from this fact we can study the range that can be selected for 93 assuming the range for 611,191 . Figure 5.4. The range of rate of change of energy below zero with 193 is fixed to be 72' rad Using the kinematical parameters discussed in the numerical simulation at the next section and with the help of Mathematica we can plot the solution of equation (5.79) that will show the energy decrease of the system. We will do two plots that illustrate the cases (a) and (b) discussed above. For case (a), 63 is selected to be (It) in order to make the torso in opposite side of the motion of the biped for all values of 611 which is [-0.2, 0] rad. Then, the ranges of values for 91,193 are selected to be reasonable. Since the motion of the biped is to the positive direction we will select the range of 191 to be [0, 8] rad/s. The torso range is selected to be [20, 5] rad/s to show the effect of the positive and 114 negative values on the solution. The plot of this case is illustrated in Figure 5.4. Similarly, for case (b) we select 03 to 2.9 rad in order to make the torso stay on the opposite side of the motion for all values of 61. The range of 61 now is [0, 0.2] rad, and for the angular velocities we select the same ranges as in case (a). The plot of this case is illustrated in Figure 5.4. Looking into these plots, one can deduce that in order to keep the torso on the opposite side of the motion and therefore decreasing the energy of the system, the angular velocity 613 should be higher in magnitude and opposite in signs with the angular velocity of the leg 91. This fact is an intuitively obvious and it was expected to get. Ox \\ (_1 )—a \ 1 \\\ \n \\ x \‘ \}\\ \\\\\\ \ \} _\. 5‘ \\\ Figure 5.5. The range of rate of change of energy below zero with 613 is fixed as 2.9 rad 115 5.5.2 Energy change due to the impulse-momentum effect In section 5.4 we discussed two cases in which the impulse-momentum effect can occur. In this section we want to discuss how this might affect the energy of the system. 9&4. The biped is walking with only the first leg on the ground. In addition, the second leg is moving forward faster that the first leg in order to take over its role of walking once the first leg tip reaches the ground. The way to represent this in our algorithm is to make the second leg move twice the distance of the first leg in the opposite direction. Then, before the second leg angle reaches the maximum value, it will suddenly stop in order to stay on the first leg velocity only. This was represented in equation (5 .71) and we will consider this as event (a) as the following 14>.=(f‘e:—2“1—211a1 11 a Immediately after that, the two legs are going to switch the roles and therefore, the coordinates are redefined. The second leg is going to move with the first leg angular velocity (which was already happening after the sudden stop), and the first leg will be impacted with a sudden torque that make its angular velocity double the angular velocity of the second leg and opposite in direction. This was represented in equation (5.72) and we will consider this as event (b) as the following (“1). (Elli—((91),. (5'84) 11 12 It should be noted that the difference in time between the two events are very short. Therefore, the difference in the constants a and a12 are minimal or unnoticed. This will 11 116 make the final change of the first leg angular velocity (611+ )b depend only on its status before the application of event (b) (i.e. (191— )b ). In the short time between event (a) and (b) the energy of the system is going down due to the movement of the torso as discussed above. Hence, we can deduce from that (61")b 3(61+)a (5.85) Substituting (5.83) and (5.85) into (5.84) we get (61+)b s (61")a (5.86) which means that the system slows down or at least stays at the same velocity during this events. This result is desired because it means that the energy did not increase by these events and we can do the switching without the fear of disturbing the slowing down process of the system due to the impulsive forces. QM During the process of walking and before the two legs do the switching discussed in the first case; the torso might reaches the border of the angle designed not to exceed. Hence, it will be stopped suddenly as described in equation (5.73) and we consider this event as event (a) again as the following (61+)a = (61’ L (“(8143—2113), (63")a (5.87) Once the two legs switch the roles, an impulsive force will bring the torso’s angular velocity to the same value as before event (a) or less depending on the value of the first leg’s angular velocity before event (b) is applied. Event (b) can be deduced from equation (5.74) as follows 117 o c a o I 141 =14) (+1161 b b “11 ‘ “12 b ’7 During the time between events (a) and (b), the first leg’s angular velocity will slow down because the torso is producing a moment by its weight in the opposite direction of the biped motion. However, for the sake of argument will assume that this angular velocity stays the same or (6‘) = (6+) (5.89) 1 b 1 a Thus, if we substitute equation (5.87) into equation (5.89) and used the result in equation (5.88) we will get a - a o a 1 (61+) =14) (—-—( (a) (———] (63*) <53» b a “11" “12 a a “11‘ “12 b b Because of the assumption in equation (5.89) the new desired angular velocity of the torso will stay the same or 6“) =(6‘) (5.91) ( 3 b 3 a Therefore, equation (5.90) can be simplified to be . . a a _ 141 1411—13—1 (+1 141 b a “11' “12 a “11’ “12 b a This means that the change in the constants a1 1, 012 and “13 is the primary effect of the result. By looking to Figure 5.6 we can get the following (“13), ‘(“13)b = ""3R(’3 ‘“3)((C13)a ‘(C13)b) < 0 (5'93) (“11 ‘2“12)a _(“11‘2“12)b = ‘2’"1R(R"“1 )((C1 )1 _(Cl )1.) 118 ‘2’"3R(’3 "“3 )((C13 )a "(C13 )bj < O (5'94) Biped motion Biped motion o \\\\\()\\\\\\ \\\\\(b)\\\\\\ a Figure 5.6. (a) The start of event (a). (b) The start of event (b). From equations (5.93) and (5.94) we find that a a (+( >(——l%——( (5.95) “11' “12 a “11' “12 1, From this relation and knowing the fact that (6; ) is always has the opposite sign of a (61—) , one can deduce from equation (5.92) that the angular velocity of the first leg will a slow down after performing events (a) and (b). This is a very comforting result because it means that the energy did not increase (in fact over all decreased) by these events and we can perform impulsive-like forces on the torso without the fear of disturbing the slowing down process of the system. 119 5.6 Stabilization Algorithm In this section we discuss a three-step algorithm for stabilizing the biped about its standing configuration. The basic idea of our algorithm is to make the energy of the system reaches the desired level ET and the links of the system to be located inside the region of attraction of a linear controller, which guarantees asymptotic stabilization of the desired equilibrium. 1. Initialization: o Linearize the dynamic equations of the biped in equation (5.17) about the desired equilibrium point ( linear system will be 61,61,62,62,63,63 f(x,u)=x=Ax+Bu where x is the state space representation defined as x=6 x=6 11’2 l, x=6 3 2’ ’2 =u )= (1.0.05, 0.0, :0. 1, 0.0, II :c 0.05, 0.0). The (5.96) 2 , r3 = u3 (5.97) Therefore, the matrices A and B can be found at the top position as — h 0 6f2 “x1 0 6f4 “xi 0 6f 6 “x1 1 0 0 6f2 “x3 0 «27,, “x3 0 6f 6 “x3 0 0 af 0 a.“ 5 1 0 5f 0 31 x5 0 0 6f 0 a“ 5 0 0 0 — .11 b 0 6f2 6112 0 6f4 6u2 0 6f6 6u2 0 "1 6f2 6u3 0 6f4 ““3 0 “L6 au 3. (5.98) 0 Using the model of the linearized system, design a linear controller to render the desired equilibrium of the biped (nonlinear system) locally asymptotically stable. 120 The system is controllable as the controllability matrix C is full rank C = (13 AB A23 A313) (5.99) Since this equilibrium point is not stable, the matrix A is expected to have eigenvalues in the right hand side (RHS) plane. Thus, to stabilize the system using a linear controller, new eigenvalues are assigned to the controlled system (A -BK4) in the left hand side (LHS) plane. Then, the desired feedback gain matrix K 4 is calculated to find the control law ’2 T =‘K4(x‘xeq) (5.100) 3 This control law is applied to the nonlinear system and stabilizes it at standing position. 2. Bringing the energy of the system to E T: After the system is disturbed with a high disturbance, the energy of the system will increase. The biped then is going to lean to the direction of the disturbance standing only on the first leg. In addition, the second leg will move with double the angular velocity of the first leg in order to get ready to take over the role of walking from the first leg. At the same time, the torso will move in the opposite direction of the motion of the biped to slow it down and consequently reducing the energy of the system. The torso will move with angular velocity higher in magnitude than the first leg’s angular velocity. Once the torso exceeded the vertical line going to the opposite side of the biped motion, the energy will start to go down as discussed in section 5.5.1. During this process the biped links will be facing impulse-like forces in order to switch the roles of the two legs and to keep 121 the torso inside a selected small angular region from the vertical. We already showed in details in section 5.5.2 that these impulsive forces overall will not add energy to the system. In fact, the energy of the system can go down after the completion of the switching between the two legs or after starting moving the torso again. 3. Stabilization: By the end of the second step the energy of the system is near the desired one (i.e. ET)“ Then, the torso is going to be hold at its position, which is within a small angle a from the top position, i.e. 63 = 7:. The biped will continue the motion slowly and once the second leg angle reaches a position within a small angle ,6 from the desired one, i.e. 62 = -0.1 rad if the biped. is moving forward and 62 = 0.1 rad if the biped is moving backward. This will make the biped swing back and forth around the desired configuration (61,61,62,62,63,63 ) = (:0.05,0.0,;L'0.1,0,7r$0.010). The linear controller in equation (5.100) will be invoked to stabilize the equilibrium point once the biped configuration enters the region of attraction of this equilibrium point. Numerical Simulations The kinematic and dynamic parameters of the biped were assumed to be R :10 m, m1 = m2 =1.4 kg, d1=d2= 0.32 m, 11: 12 = 0.16 kgmz, 13: 1.0 m, m3 = 1.0 kg, d3 = 0.5 m, 13 = 0.08333 kgm2 For this choice of parameters, ET was evaluated to be 23.5312 J. In Figure 5.7 we show the simulation for our algorithm using these parameters. It can be seen from this figure that the system managed to stand in a very short time after walking two steps. The initial conditions we imposed were as follows 122 (61,61,62,62,63,63)=(O,O,O,O,7r,2) The dashed lines illustrated on the figure between arrows indicate the period in which events (a) and (b) of cases 1 and 2 happened. The first set of arrows happened between the time period (t = 0.15 — 0.24 sec). It started with event (a) of case 1 and then, at the time t = 0.19 sec event (a) of case 2 started. Finally, at the end of this period, event (b) of cases 1 and 2 happens simultaneously. The overall energy of the system decreased at that time. Similarly, the second set of arrows happened between the time period (t = 0.41 — 0.74 sec). It started with event (a) of case 2 and then, at the time t = 0.66 sec event (a) of case I started. Finally, at the end of this period, event (b) of cases 1 and 2 happens simultaneously. Again the overall energy of the system decreased at that time. After the energy of the system reaches the desired value, the control law switched to the linear controller at the time t = 1.21 sec which stabilized the equilibrium. 5.7 Remarks In this chapter we discussed the stabilization of an under actuated biped robot with torso after the application of large disturbances using the impulsive-momentum approach introduced in previous chapters. The biped used both legs to avoid falling down and walked few steps before stabilization. We have obtained very good results which establish the generality of the impulse-momentum approach. This approach is in fact, as we mentioned in chapter 4, well suited for the biped model since it restricts the links from going over certain limits. Hence, the idea of using this approach on different systems is very promising and it will Open the door for a new way of research. 123 3 l I l l I I l U L l l I l I I time (sec) l 2 0 0. see a 0 2. . 3 3 M 5. 0 5. 4. . . 0 I. .I. o _ Amhoflv S _ 3a.: 3 Amhufiv Nc 3a.: 3 2 Ago—2v mm 336 N». 5. 2 _ Figure 5.7. Plot of joint angles, joint angle velocities, control torques, and energy of the system 124 CHAPTER 6 Conclusions and Future Work In this dissertation we have developed a new control methodology for underactuated mechanical systems with a single degree of underactuation. From a classical mechanics point of view, underactuated mechanical systems are those that have fewer generalized forces than their degrees of freedom. Such systems are quite common in the literature and some of the systems that have been recently investigated include walking robots, mobile robots, space and undersea robots, ships, helicopters hovercrafts, and satellites. Underactuated systems have generated significant interest in the control community since underactuation reduces cost and weight, can help deal with actuator failure, and since many systems are naturally underactuated. Underactuated systems pose challenging problems in control because many of the methods developed for completely actuated systems, such as feedback linearization, Lyapunov theory, passivity, etc. are not directly applicable to underactuated systems. The dynamics of underactuated systems may contain non-minimum phase zero dynamics, nonholonomic constraints, impulsive disturbances and many other characteristics that make their control problems difficult, and hard to be generalized. A majority of the research on underactuated systems has focused on benchmark problems such as the inverted pendulum, the rotational inverted pendulum, the pendubot, and the acrobot; but 125 control methods developed for these systems, in most cases, are not general where they can be applied to many systems. For example, the pendubot and the acrobot are similar in kinematic structure, and although many control algorithms have been proposed, only two methods are applicable to both systems. In this dissertation we have developed an impulsive control methodology for swing- up control of the pendubot and the acrobot. The method is general and can be additionally used for balance control of biped robots. Each of these systems, the pendubot, the acrobot, and the biped, are locally asymptotically stabilizable using linear control and the primary objective of control design is to bring the configuration of the system within the region of attraction of the equilibrium. This is a common goal for many researchers working with underactuated systems. While most of these results are largely applicable to specific platforms only, our control methodology is general and can be applied to multiple platforms and has the potential to be applied to underactuated systems with multiple degrees of underactuation. Underactuated mechanical systems have been investigated by many researchers but our approach is the first where impulsive forces are used as control inputs for these systems. Although there has been prior work on impulsive control of dynamical systems, control of underactuated systems has not been explored. In our approach we impose joint restrictions on the actuated links and make them perform rest-to-rest maneuvers with small amplitudes around their desired configuration. The rest-to-rest maneuvers are designed to bring the unactuated joints to their desired configuration. These joint restrictions imposed on the actuated links help us control both the passive and active joints using only the active joints. 126 In spite of the copious work on impulsive control, there has been no attempt to look at the challenges of practical implementation. Most of the work in the literature has modeled the effect of the impulse as a discontinuous jump in the states and the problem is dealt mathematically. In our approach, we have investigated the challenges of practical implementation. The impulsive forces are calculated based on change in energy of the system and we include the analysis of how this change in energy is affected when the torques are not perfect impulses. Despite the use of impulsive forces, it is important to mention that it is not necessary that the system will require the use of large actuators. For example, for mechanical systems where electric motors are used, our approach benefited from the fact that motors in general have a peak torque which is greater than the maximum continuous torque. The maximum torque required by our algorithm has been limited by the peak torque. In this dissertation we apply our impulsive control methodology to the control problems of the pendubot, the acrobot which are benchmark problems. We compared our results to the best results available in the literature and prove that our results are comparable and very effective. In addition, we applied our methodology to another underactuated system the synthetic-wheel biped to show the generality of the approach. For each of the systems mentioned above, control is achieved by making the energy of the system converge to the level that the system would have when its configuration is at the desired equilibrium. In the case of the pendubot, impulsive braking torques are used and this results in energy loss. For the acrobot, impulsive braking torques can be used, but a method based on impulsive torques that add to the system energy is more efficient. In the case of the biped, impulsive torques are used to increase and decrease the energy of 127 the system depending on the location of the system in the configuration space. Clearly, impulsive forces can be used to increase and decrease the energy of a system; and therefore, our approach has the potential to be generalized to other systems. In fact, our approach can be applied to a wide range of dynamic systems, not only underactuated systems. The jump in generalized velocities and energetics of impulsive forces were derived from force and moment relations of the underactuated link for the pendubot, acrobot, and synthetic—wheel biped. This process becomes cumbersome when the degrees of freedom and/or underactuation increases. To overcome this difficulty for the general case, we consider Lagrange's equation for an n-dof system with m actuators: A(6)6+B(6,6)6+G(6)=T, 6=(6,,6,,...,6,,) (6.1) where 6,, i = l, 2, ..., m and i = m + 1, m + 2, ..., n, are the generalized coordinates corresponding to the actuated and passive joints, respectively. The generalized forces corresponding to the passive joints are zero and hence T =(r,,...,z'm,0,0,...,0). If we denote the lower blocks of A, B, and G matrices with (n - m) rows by A2, 82, and G2, then, integration of the equations of motion of the passive joints over the time interval of action of the impulsive forces yields ( A, (6)6At + (B, (6,6)6At + (G, (6)At = 0 (6.2) In the above equation, (G, (6) At #0 since At is infinitesimal and (B,(6,6)6At= IB,(6,6)d6 z 0 since d6 z 0 over the duration of the impulse. Thus, equation (6.2) gives (A,(6)6'Az=0:> (A,(6)d6=0:>A,(6)[6+—6“]=0 (6.3) 128 The above equation provides (n - m) constraints involving 11 unknowns, namely, 6: , i = 1, 2, , 11. To solve these constraint equations, an additional m equations are required in terms of the unknowns. The constraints are dependent on the entries of A2(6), a sub- matrix of the mass matrix; and hence, on the configuration of the system at the time of application of the impulse. The pendubot, acrobot, and synthetic-wheel biped with locked feet are systems with n = 2 and m = l and we have verified that the equations, which relate the jump in the angular velocities for these systems, can be derived from equation (6.3). Equation (6.3) will be invaluable in the analysis of general underactuated systems. In this dissertation we have derived the relation in equation (6.3) for each system, the pendubot, the acrobot, and the biped using free body diagram analysis which verified the analysis discussed above. This equation is the core of our analysis when dealing with any new system in the future. Our future work will investigate the effectiveness of this methodology to control multi-link systems with multi-degree of underactuation and also we will look to tracking control problem of bipeds. 129 [1] [21 [3] [41 [5] [61 I71 [8] [9] [10] [11] BIBLIOGRAPHY I. Fantoni, R. Lozano and M. W. Spong, “Energy based control of the pendubot,” IEEE Trans. Automat. Contr., Vol. 44, No. 4, pp. 725-729, 2000. H. K. Khalil, Nonlinear Systems, 3rd ed, New Jersey: Prentice Hall, 2002. K. Ogata, Modern Control Engineering, 3rd ed, Prentice-Hall, Inc., 1997. K. S. Fu, R. C. Gonzalez and C. S. G. Lee, Robotics: control, sensing, vision and intelligence, McGraw-Hill, Inc., 1987. D. T. Greenwood, Principle of Dynamics, 2nd ed, New Jersey: Prentice Hall, 1988. M. W. Spong and D. J. Block, “The pendubot: A mechatronic system for control research and education,” in 34‘h IEEE Conf Decision and Control, New Orleans, pp. 555-556, 1995. D. J. Block, “Mechanical Design and Control of the pendubot,” Master’s thesis. University of Illinois at Urbana-Champaign, 1996 A. S. Shiriaev and O. Kolesnichenko, “On Passivity Based Control for partial Stabilization of Underactuated Systems,” in 39th IEEE Conf Decision and Control, 2000. Y. Orlov, L. T. Aguilar and L Acho, “Model Orbit Robust Stabilization (MORS) of Pendubot with Application to Swing up Control,” in 44th IEEE Conf Decision and Control, 2005. F. Grognard and C. Canudas-de-Wit, “Virtual constraints for orbital stabilization of the pendubot,” in Nonlinear and adaptive control: theory and algorithms for the user, Ed. A. Astolfi, Imperial College Press, pp. 115-145, 2005. H. Arai and S. Tachi, ”Position Control of a Manipulator with Passive Joints Using Dynamic Coupling,” IEEE Trans. 0n Robotics and Automation, vol.7, pp.528-534, 1991. 130 [121 [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] L. T. Aguilar, I. Boiko, L. Fridman and R. Iriate, “Generation of periodic motions for underactuated mechanical system via second-order sliding-modes,” American Control Conference, pp. 5396-5400, 2006. Y. Aoustin, D. T. Romero, C. Chevallereau and S. Aubin, “ Impulsive Control for a Thirteen-Link Biped,” IEEE International Workshop on Advanced Motion Control, Istanbul, Turkey, pp. 439-444, 2006. J. Chudoung and C. Beck, “The Minimum Principle for Deterministic Impulsive Control Systems,” 40’“ IEEE Conference on Decision and Control, Orlando, FL, pp. 3569-3574, 2001. E. B. Erdem and A. G. Alleyne, “Experimental real-time SDRE control of an underactuated robot,” 40’“ IEEE Conference on Decision and Control, Orlando, FL, pp. 2986-2991 , 2001. L. Freidovich, A. Robertsson, A. Shiriaev and R. Johansson, “Periodic Motions of the Pendubot via Virtual Holonomic Constraints: Theory and Experiments,” Automatica, Vol. 44, pp. 785-791, 2008. E. G. Gilbert and G. A. Harasty, “A Class of Fixed-Time Fuel-Optimal Impulsive Control Problems and an Efficient Algorithm for Their Solution," IEEE Transactions on Automatic Control, Vol.16, No.1, pp. 1-11, 1967. O. Kolesnichenko and A. S. Shiriaev, “Partial Stabilization of Underactuated Euler- Lagrange Systems via a Class of Feedback Transformations," Systems and Control Letters, Vol.45, pp. 121-132, 2002. X. —Z. Lai, J. -H. She, S. X. Yang and M. Wu, “Unified Treatment of Motion Control of Underactuated Two-Link Manipulators," IEEE/RSJ Conference on Intelligent Robots and Systems, pp. 574-579, 2006. M. Zhang and T.-J. Tarn, “Hybrid Control of the Pendubot,” IEEE/ASME Transactions on Mechatronics, vol.7, no.1, pp.79-86, 2002. W. Li, K. Tanaka, and H. 0. Wang, “Acrobatic Control of a Pendubot," IEEE Transactions on Fuzzy Systems, Vol.12, No.4, pp.549-552, 2004. J. -L. Menaldi, “The Separation Principle for Impulse Control Problems," American Mathematical Society, Vol.82, No.3, pp.439-445, 1981. Y. Orlov, L. T. Aguilar and L. Acho, “Zeno mode control of underactuated mechanical systems with application to pendubot stabilization around the upright position," 16th IFAC World Congress, Prague, Czech Republic, 2005. 131 [24] [25] [26] [27] [28] [291 [30] [31] [321 [33] [34] [35] Y. Orlov, L. T. Aguilar, L. Acho, and A. Ortiz, “Swing up and Balancing Control of Pendubot via Model Orbit Stabilization: Algorithm Synthesis and Experimental Verification," IEEE Conference on Decision and Control, pp.6l38-6l43, 2006. T. Pavlidis, “Stability of Systems Described by Differential Equations Containing Impulses," IEEE Transactions on Automatic Control, Vol.12, No.1, pp.43-45, 1967. M. W. Spong, “Underactuated Mechanical Systems," Control Problems in Robotics and Automation, B. Siciliano and K. P. Valavanis Eds, LNCIS, Vol.230, pp.l35- 150, Springer Verlag, London, 1998. J. Sun, Y. Zhang and Q. Wu, “Less Conservative Conditions for Asymptotic Stability of Impulsive Control Systems," IEEE Transactions on Automatic Control, Vol.48, No.5, pp.829-831, 2003. H. A. Toliyat and G. B. Kliman, “Handbook of Electric Motors," Second Edition, Marcel Dekker, Inc., New York, NY, pp.354, 2004. D. Qian, J. Yi and D. Zhao, “Hierarchical Sliding Mode Control to Swing up a Pendubot," Ameri can Control Conference, New York City, NY, pp.5254-5259, 2007. Z. Wang, Y. Chen and N. Fang, “Minimum-time Swing-up of a Rotary Inverted Pendulum by Iterative Impulsive Control," American Control Conference, pp.1335- 1340, 2004. S. Weibel, G. W. Howell and J. Baillieul, “Control of Single-Degree-of-Freedom Hamiltonian Systems with Impulsive Inputs," IEEE Conference on Decision and Control, Kobe, Japan, pp.4661-4666, 1996. G. Xie and L. Wang, "Necessay and Sufficient Conditions for Controllability and Observability of Switched Impulsive Control Systems," IEEE Transactions on Automatic Control, Vol.49, No.6, pp.960-966, 2004. J. Hauser and R. M. Murray, “Nonlinear controllers for nonintegrable systems: the acrobot example,” Proceedings of American Control Conference, San Diego, California, May 1990, pp. 669—671. M. W. Spong, “The swing up control problem for the acrobot,” IEEE Control System Magazine, 1995, 15, pp. 49—55. X. Xin and M. Kaneda, “A new solution to the swing up control problem for the acrobot,” Proceedings of the 40th SICE Annual Conference, Nagoya, Japan, July 2001,pp.124—129. 132 [36] [3 7] [33] [39] [40] [41] [42] [43] [44] [451 [46] [47] X. Xin and M. Kaneda, “A robust control approach to the swing up control problem for the acrobot,” Proceedings of the 2001 IEEE/RSJ Int. Conf. Intelligent Robots and Systems, Hawaii, USA, November 2001, pp. 1650—1655. T. Henmi, M. Deng and A. Inoue, “Swing-up control of the acrobot using a new partial linearization controller based on the Lyapunov theorem,” Proc. IEEE Int. Conf Networking, Sensing and Control, Florida, USA, April 2006, pp. 60—65. S. A. Bortoff, “Pseudolinearization Using Spline Functions with Application to the Acrobot,” PhD Dissertation, Department of Electrical and Computer Engineering, University of Illinois at Urbana-Champaign, 1992. D. E. Davison, S. A. Bortoff, “Stabilization using pseudolinearization and high-gain feedback”, Automatica, 1997, 33, pp. 245—251. R. N. Banavar and A. D. Mahindrakar, “A Non-Smooth Control Law and Time- Optimality Notions for the Acrobot,” International Jornal of Control, Vol. 78, No.15, pp.1166-1173, 2005. S. Brown, K. Passino, “Intelligent control for acrobot,” J. Intell. Robot. Syst., 1997, 18,pp.209—248. M. H. Smith, M. A. Lee., M. Ulieru and W. A. Gruver, “Design limitation of PD versus fuzzy controllers for the acrobot,” Proc. IEEE Int. Conf Robotics and Automation, New Mexico, USA, April 1997, pp. 1130—1135. K. Kawada, S. F ujisawa, M. Obika and T. Yamamoto, “Creating swing-up patterns of an acrobot using evolutionary computation,” Proc. IEEE Int. Symp. on Computational Intelligence in Robotics and Automation, Espoo, Finland, June 2005, pp. 261—266. J. Yoshimoto, M. Nishirnura, Y. Tokita and S. Ishii, ”Acorbot Control by Learning the Switching of Multiple Controllers,” International Symposium on Artificial Life and Robotics 9, 67-71, 2005. D. Zhao and J. Yi, “GA-based Control to Swing Up an Acrobot with Limited Torque,” Transactions of the Institute of Measurement and Control 28, pp.3-13, 2006. K. Samejima, K. Katagiri, K. Doya and M. Kawato, “Symbolization and Imitation Learning of Motion Sequence Using Competitive Modules,” Electronics and Communications in Japan, Part 3, Vol.89, No.9, pp.42-53, 2006. X. —Z. Lai, J. —H. She, Y. Ohyama and Z. Cai, “Fuzzy control strategy for acrobot combining model-free and model-based control,” IEE Proc. Control Theory Appl, 1999, 146, pp. 505—511. 133 [43] [49] [50] D. Mahindrakar, A. Astolfi, R. Ortega and G. Viola, “Further constructive results on interconnection and damping assignment control of mechanical systems: the acrobot example,” Proc. American Control Conf, Minnesota, USA, June 2006, pp. 5584—5589. T. Kobayashi, T. Komine, S. Suzuki, M. Iwase and K. Furuta, “Swing-up and balancing control of acrobot,” Proc. 41st SICE Annual Conf, Osaka, Japan, August 2002, pp. 3072—3075. X. Xin and M. Kaneda, “The swing up control for the acrobot based on energy control approach,” Proc. 41st IEEE Conf Decision and Control, Nevada, USA, December 2002, pp. 3261—3266. [51] N. Araki, M. Okada and Y. Konishi, “Parameter identification and swing-up control [521 [53] [54] [55] [56] [57] [581 of an acrobot system,” Proceedings of IEEE International Conference on Industrial Technology, Hong Kong, China, December 2005, pp. 1040—1045. D. Mahindrakar and R. N. Banavar, “A Swing-Up of the Acrobot Based on a Simple Pendulum Strategy,” International Journal of Control, Vol. 78, No.6, pp.424-429, 2005. X. Xin and M. Kaneda, “New analytical results of the energy based swinging up control of the acrobot,” Proceedings of the 43'“ IEEE Conference on Decision and Control, Paradise Island, Bahamas, December 2004, pp. 704—709. X. Xin, T. Mita and M. Kaneda ‘The posture control of a twolink free flying acrobot with initial angular momentum’, IEEE Trans. Autom. Control, 2004, 49, pp.1201—1206. T. Yonemura and M. Yamakita, “Swing up control of acrobot based on switched output functions,” Proc. SICE Annual Conf, Sapporo, Japan, August 2004, pp. 1909—1914. X. —Z. Lai, M. Wu and J. -H. She, “Control of acrobot based on Lyapunov function,” Journal of Central South University of Technology, 2004, 11, pp. 210— 215. X.-Z. Lai, J.-H. She, S.X. Yang and M. Wu, “Control of acrobot based on non- smooth Lyapunov function and comprehensive stability analysis,” IET Control Theory & applications, pp. 181-191, 2008. E. Zergeroglu, W. E. Dixon, D. M. Dawson, S. Jaffar and M. W. Hannan, “Lyapunov based set-point control of the acrobot,” Proceedings of the 1998 International Conference on Control Applications, Trieste, Italy, September 1998, pp. 887—891. 134 [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] A. Shiriaev, A. Sandberg and C. Canudas-de-Wit, “Motion planning and feedback stabilization of periodic orbits for an Acrobot,” Proceedings of the 43rd IEEE Conference on Decision and Control, Paradise Island, Bahamas, December 2004, pp.290—295. A. Takanishi, T. Takeya, H. Karaki, and I. Kato, “A Control Method For Dynamic Biped Walking Under Unknown External Force”, IEEE International Workshop on Intelligent Robots and Systems pp. 795-801, 1990. Y. Zheng and J. Shen, “Gait Synthesis for the SD-2 Biped Robot to Climb Sloping Surface,” IEEE Trans. on Robotics and Automation, Vol. 6, no. 1, pp 86-96, 1990. J. Yamaguchi, N. Kinoshita, A. Takanishi I. Kato, “Development of a Dynamic Biped Walking System for Humanoid: Development of a Biped Walking Robot Adapting to the Humans’ Living Floor,” Proc. 1996 IEEE International conference on Robotics and Automation, pp 232-239, 1996. C.-M. Chew, J. Pratt and G. Pratt, “Blind Walking of a Planar Bipedal Robot on Sloped Terrain,” IEEE International Conference on Robotics and Automation, pp. 381-386, 1999. J. Pratt, P. Dilworth and G. Pratt, “Virtual Model Control of a Bipedal Walking Robot,” Proc. I997IEEE Int. Conf on Robotics and Automation, Albuquerque, New Mexico, 1997. S. Stitt and Y. F. Zheng, “Distal Learning Applied to Biped Robots,” IEEE International Conference on Robotics andAutomation, pp. 137-142, 1994. S. Lohmeier, K. Lbffler, M. Gienger, H. Ulbrich and F. Pfeiffer,“Computer system and control of biped “Johnnie”,” in Proceedings of the 2004 IEEE International Conference on Robotics and Automation, New Orleans, LA, USA, April 26—May 1, pp. 4222—4227, 2004. S. Kajita, K. Tani and A. Kobayashi, “Dynamic Walk Control of a Biped Robot along the Potential Energy Conserving Orbit,” IEEE International Conference on Intelligent Robots and Systems pp. 789-794, 1990. J. H. Park and K. D. Kim, “Biped Robot Walking Using Gravity-Compensated Inverted Pendulum Mode and Computed Torque Control,” Proceedings of the 1998 IEEE, intemational Conference on Robotics & Automation, Leuven, Belgium May 1998, pp 3528-3533. 0. Matsumoto, S. Kajita and K. Komoriya, “Flexible locomotion control of a self- contained biped legwheeled system,” in Proceedings of the 2002 IEEE/RSJ International Conference on Intelligent Robots and Systems, Lausanne, Switzerland, pp. 2599—2604, September 30—October 4, 2002. 135 [70] [71] [72] [73] [74] [751 [76] [77] [78] [79] [80] [81] [82] Y. Ota, K. Yoneda, T. Tamaki and S. Hirose, “A walking and wheeled hybrid locomotion with twin-frame structure robot,” in Proceedings of the 2002 IEEE/RSJ International Conference on Intelligent Robots and Systems, Lausanne, Switzerland, pp. 2645—2651, September 30—October 4, 2002. M. F. Silva and J. A. T. Machado, “A Historical Prespective of Legged Robots,” Jornal of Vibration and Control, 13(9-10), pp. 1447-1486, 2007. J. E. Pratt, “Exploiting Inherent Robustness and Natural Dynamics in the Control of Bipedal Walking Robots,” PhD thesis, MIT, 2000. B. Vanderborght, “Dynamic stabilisation of the biped Lucy powered by actuators with controllable stiffness,” PhD thesis, Vrije University Brussel, Belgium, 2007. M. Wisse, “Essentials of Dynamic Walking: Analysis and Design of Two-Legged Robots,” PhD thesis, Delft Technical University, Holland, 2004. T. Albahkali, R. Mukherjee and T. Das, “lmpusive-Momentum Approach to Swing- Up Control of the Pendubot,” IEEE Transactions on Robotics and Automation, conditionally accepted. I. Fantoni and R. Lozano, “Non-linear Control for Underactuated Mechanical Systems,” Springer-Verlag London Limited, Great Britain, 2002. K.J. Astrom and K. Furuta, “Swinging up a pendulum by energy control,” Automatica, Vol. 36, pp. 287-295, 2000. T. McGeer, “Passive dynamic walking,” Int. Journ. Of Robotics Research, 9(2), 1990. R. Olfati-Saber, “Nonlinear Control of Underactuated Mechanical Systems with Application to Robotics and Aerospace Vehicles,” PhD thesis, MIT, 2001. A. De Luca, “Nonholonomic behavior in redundant robot arms,” IEEE Transactions on Robotics and Automation, Vol. 13, Issue 5, pp. 776-782, October 1997. K. Y. Wichlund, O. J. Sordalen and O. Egeland, “ Control of vehicles with second- order nonholonomic constraints: Underactuated vehicles,” In Proceedings of the European Control Conference, pp. 30086-3091, Rome, Italy, 1995. S. Dubowsky and E. Papadopoulos, “The kinematics, dynamics, and control of free- flying and free-floating space robotic systems,” IEEE Trans. 0n Robotics and Automation, 9(5), 1993. I36 [83] M. L. Corradini, G. Orlando, “Actuator Failure Identification and Compensation Sliding Modes,” IEEE Trans. 0n Control Systems Technology, Vol. 15, pp. 184- 190, 2007. [84] M. W. Spong, “Modeling and control of elastic joint robots, ” Transactions of the ASME, J. Dynamics Systems, Measurement and Control, 109:310-319, 1987 137 4| 3