203 24 8MB
Spanish; Castilian Pages 134 Year 2022
Disturbance rejection control for bipedal robot walkers
Jaime Arcos-Legarda
Jaime Arcos-Legarda Jaime Arcos-Legarda received his B.S. degree in Mechatronic Engineering from the Universidad de Pamplona, Colombia in 2007. He received his M.S. degree in Industrial Automation and his Ph.D. in Mechanical and Mechatronic Engineering at the Universidad Nacional de Colombia in 2013 and 2019, respectively. He was awarded a cum-laude Ph.D. for his dissertation on the control of bipedal robots. In 2017, he was awarded with the prestigious Fulbright Fellowship to carry out research on design of mechatronic systems at Indiana University-Purdue University Indianapolis. Currently, he is a full professor in the Department of Mechatronic Engineering at the Universidad de San Buenaventura, Bogotá, Colombia. His main research areas are Nonlinear Control Systems, Optimal Mechatronics Designing, and Autonomous Legged Robots.
Disturbance rejection control for bipedal robot walkers
Disturbance rejection control for bipedal robot walkers
Jaime Arcos-Legarda
Bogotá, D. C. 2022
© Universidad Nacional de Colombia © Editorial Universidad Nacional de Colombia © Jaime Arcos-Legarda Editorial Universidad Nacional de Colombia Alberto Amaya Calderón Director Comité editorial Alberto Amaya Calderón Ana Patricia Noguera de Echeverry Fabio Andrés Pavas Martínez Veronique Claudine Bellanger Fredy Fernando Chaparro Sanabria Jairo Iván Peña Ayazo Pedro Nel Benjumea Hernández Primera edición, 2022 ISBN 978-958-794-964-3 (digital) Edición Editorial Universidad Nacional de Colombia [email protected] www.editorial.unal.edu.co Colección Techné Coordinación editorial: Andrés Felipe Urrego Salas, Alejandra Muñoz Suárez Corrección de estilo: Leonardo Paipilla Bogotá, D. C., Colombia, 2022 Prohibida la reproducción total o parcial por cualquier medio sin la autorización escrita del titular de los derechos patrimoniales. Digitalizado en Bogotá, D. C., Colombia
Catalogación en la publicación Universidad Nacional de Colombia Arcos Legarda, Willington Jaime, 1984Disturbance rejection control for bipedal robot walkers / Jaime Arcos-Legarda. -- Primera edición. -- Bogotá : Universidad Nacional de Colombia ; Editorial Universidad Nacional de Colombia, 2022 1 CD-ROM (xxii, 108 páginas) : ilustraciones a color, diagramas. -- (Techné) Incluye referencias bibliográficas ISBN 978-958-794-964-3 (digital) 1. Robots -- Investigaciones -- Tesis y disertaciones académicas 2. Robot bipedal 3. Control activo de rechazo de perturbaciones 4. Dinámica cero híbrida 5. Control integral proporcional generalizado 6. Restricciones holonómicas virtuales I. Título II. Serie CDD-23
629.892 / 2022
To my mother, Carmen, my wife, Aura María, and my daughter, Sophie.
Acknowledgements
I would like to thank my advisor, Prof. John Cortés, for his intellectual support, giving me the freedom to propose and explore new ideas, and for his friendship. I would also like to express my gratitude to my co-advisor, Prof. Andrés Tovar, who has been leading my academic development since my undergraduate thesis, enriching every aspect of my career. My appreciation also goes to Colciencias, the sponsor of my doctoral studies, Fullbright Colombia, the sponsor of my research internship at the Purdue School of Engineering and Technology at Indiana UniversityPurdue University Indianapolis (IUPUI), and to the Research Office of the National University of Colombia, Bogotá, for sponsoring the fabrication of Saurian. I would like to thank my colleges and friends Andrés Beltrán, Horacio Coral, and Mauro Baquero for their help with the experiments in the lab activities. Finally, my thanks go to my family, especially the two women who have been by my side during the hardest days of my life, my wife, and my mom.
Table of contents List of figures
xi
List of tables
xiii
Abbreviations
xv
Nomenclature
xvii
1
Introduction 1.1 State of the art in control of bipedal robots . . . . . . . . . . . . . . . . . . . . . 1.2 Highlights . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
Model of a Dynamic Bipedal Robot 7 2.1 Single support phase model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2 Discrete dynamic model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.3 Hybrid dynamic model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3
Disturbance Rejection Control for Trajectory Tracking 3.1 Robust multivariable generalized proportional integral (GPI) controller 3.1.1 Model decomposition . . . . . . . . . . . . . . . . . . . . . 3.1.2 Partial feedback linearization . . . . . . . . . . . . . . . . . . 3.1.3 Integral reconstructors . . . . . . . . . . . . . . . . . . . . . 3.2 Hybrid zero dynamics with uncertainties (HZDU) . . . . . . . . . . . 3.2.1 Derivation of HZDU . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Orbital Gait Stability Analysis for HZDU . . . . . . . . . . . 3.3 Model-based active disturbance rejection control (ADRC) . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
1 1 4 5
17 17 18 20 21 23 23 28 31
x
Table of contents
3.4
4
3.3.2
Nonlinear extended state observer (NESO) . . . . . . . . . . . . . . . . 36
3.3.3
Feedback control law . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Extended hybrid zero dynamics (EHZD) . . . . . . . . . . . . . . . . . . . . . . 39 3.4.1
Derivation of EHZD . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4.2
Asymptotic periodic orbits in EHZD . . . . . . . . . . . . . . . . . . . . 41 43
Virtual holonomic constraints definition . . . . . . . . . . . . . . . . . . . . . . 43 4.1.1
Behavioral constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.1.2
Nonlinear equality constraints . . . . . . . . . . . . . . . . . . . . . . . 47
4.1.3
Nonlinear inequality constraints . . . . . . . . . . . . . . . . . . . . . . 48
4.2
Surface of virtual holonomic constraints . . . . . . . . . . . . . . . . . . . . . . 49
4.3
Reset control law for support-leg exchange . . . . . . . . . . . . . . . . . . . . 50 4.3.1
Optimal reset transition for support-leg exchange . . . . . . . . . . . . . 51
4.3.2
Smooth transition from the passive to target dynamics . . . . . . . . . . 52
Numerical Simulations 5.1
6
Local coordinate transformation . . . . . . . . . . . . . . . . . . . . . . 32
Disturbance Rejection in Trajectory Generation 4.1
5
3.3.1
57
Parameters definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 5.1.1
Robot parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.1.2
Robust multivariable GPI controller tuning . . . . . . . . . . . . . . . . 59
5.1.3
Model-based ADRC tuning . . . . . . . . . . . . . . . . . . . . . . . . 59
5.1.4
Trajectory generation parameters . . . . . . . . . . . . . . . . . . . . . . 59
5.2
Simulation under nominal conditions . . . . . . . . . . . . . . . . . . . . . . . . 59
5.3
Simulation over uneven terrain . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5.4
Simulation with external disturbances . . . . . . . . . . . . . . . . . . . . . . . 65
5.5
Simulation with parameter uncertainties . . . . . . . . . . . . . . . . . . . . . . 66
Design of the Testbed (Saurian) and Physical Experiments
69
6.1
Mechanism design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6.2
Sensors, actuators, and control hardware . . . . . . . . . . . . . . . . . . . . . . 70
6.3
Walking experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.4
Discussion of experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Table of contents
xi
7
81 81 81 81 82 82 82 82 83 83 83
Concluding Remarks 7.1 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.1 Robust multivariable GPI controller for hybrid dynamical systems . 7.1.2 Asymptotic periodic orbits in HZDU . . . . . . . . . . . . . . . . 7.1.3 Model-based ADRC for hybrid dynamical systems . . . . . . . . . 7.1.4 Asymptotic periodic orbits in EHZD . . . . . . . . . . . . . . . . . 7.1.5 Disturbance rejection in trajectory generation . . . . . . . . . . . . 7.1.6 Reset control law to reject disturbances at the support-leg exchange 7.1.7 Numerical simulations . . . . . . . . . . . . . . . . . . . . . . . . 7.1.8 Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.2 Perspectives for future studies . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
References
85
Appendix A Lagrange Formulation
91
List of figures 1.1. Compound control scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2.1. Design of the Biped Robot – Saurian . . . . . . . . . . . . . . . . . . . . . . . 2.2. Saurian: Biped Robot prototype developed at the Control Laboratory at the National University of Colombia, Bogotá . . . . . . . . . . . . . . . . . . . . 2.3. Planar mechanism formed by the multibody model of Saurian (walking from right to left) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4. Torque transmission mechanism . . . . . . . . . . . . . . . . . . . . . . . . .
.
7
.
8
. 9 . 10
3.1. Robust multivariable GPI tracking control loop . . . . . . . . . . . . . . . . . . 18 3.2. Neighborhood around the nominal periodic orbit . . . . . . . . . . . . . . . . . 28 3.3. ADRC tracking control loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4.1. 4.2. 4.3. 4.4.
Trajectory reference curves for different step length targets, sl∗ Trajectory reference surfaces based on Θ(q s ) and step length, sl Optimal reset reference trajectory . . . . . . . . . . . . . . . Transference from the trend to the designed trajectory . . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
49 50 52 55
5.1. Complete scheme of control . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2. Tracking references, control signals, and reaction forces with the GPI tracking controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3. Tracking references, control signals, and reaction forces with model-based ADRC 5.4. States convergence to stable cycles under nominal walking conditions . . . . . . 5.5. Stick diagram with the evolution of the walking over uneven terrain . . . . . . . 5.6. Hip’s horizontal average velocity . . . . . . . . . . . . . . . . . . . . . . . . . . 5.7. States convergence to nominal cycles after external disturbance . . . . . . . . . . 5.8. Parameter uncertainties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57 60 61 62 65 65 66 68
xiv
List of figures 6.1. 6.2. 6.3. 6.4. 6.5. 6.6.
Pointy feet built with fixed rubber wheel . . . . . . . . . . . . . . . . . . . . . . Compliant joint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hip design with a compliant joint . . . . . . . . . . . . . . . . . . . . . . . . . . Knee design with a compliant joint . . . . . . . . . . . . . . . . . . . . . . . . . Saurian’s testbed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Flow diagram containing six modules: Host-PC, XPC-Target, Signal Conditioning, Power Drive, Power Supply, and Saurian . . . . . . . . . . . . . . . . . . . 6.7. Preliminary experiment of hand-assisted walking. Snapshots sampled with a period of 1.0 s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.8. Behavior of the states variables during the physical experiment of Saurian with a GPI controller (Source: author). . . . . . . . . . . . . . . . . . . . . . . . . . . 6.9. Behavior of the states variables during the physical experiment of Saurian with a ADRC strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.10. Periodic behavior in the state variables of Saurian. Experimental data with GPI controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.11. Periodic behavior in the state variables of Saurian. Experimental data with modelbased ADRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.12. Snapshots sampled with a period of 1.0 s . . . . . . . . . . . . . . . . . . . . . .
70 71 72 72 73 74 75 76 76 77 78 79
A.1. Stick description of Saurian. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
List of tables 5.1 5.2 5.3 5.4
Physical parameters of the robot. . . . . . . ADRC tuning. . . . . . . . . . . . . . . . . Energetic cost of walking. . . . . . . . . . Ranking of the mechanical cost of transport.
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
58 59 64 64
6.1 6.2
Energetic cost of walking in experiments. . . . . . . . . . . . . . . . . . . . . . 80 Experimental ranking of the specific energetic cost of transport . . . . . . . . . . 80
Abbreviations ADRC
Active Disturbance Rejection Control
EHZD
Extended Hybrid Zero Dynamics
GPI
Generalized Proportional Integral
HZD
Hybrid Zero Dynamics
HZDU
Hybrid Zero Dynamics with Uncertainties
NESO
Nonlinear Extended State Observer
VHC
Virtual Holonomic Constraints
ZMP
Zero Moment Point
Nomenclature qs
Vector of generalized coordinates in the single support model
qe
Vector of generalized coordinates in the unconstrained model
q˙ s
Vector of angular velocities
qb
Vector of controlled joints
qd
Vector of references
Γs
Vector of generalized forces and torques
D s (q s )
Inertia matrix in the single support model
C s (q s , q˙ s )
Centripetal and Coriolis effects in the single support model
G s (q s )
Vector of gravity terms in the single support model
Bs (q s )
Input matrix
De (qe )
Inertia matrix in the unconstrained model
Ce (qe , q˙ e )
Centripetal and Coriolis effects in the unconstrained model
Ge (qe )
Vector of gravity terms in the unconstrained model
Ks
Spring stiffness matrix
pe
Position of the support leg-end
p2
Position of the swing leg-end
xx
Nomenclature x
State vector
u
Control signal
y
Controlled output
F1v
Tangential reaction force support leg
F1h
Normal reaction force support leg
F2v
Tangential reaction force swing leg
F2h
Normal reaction force swing leg
γ(x, t)
Vector of total disturbance signals
∆(x− )
Reset map
γ∆
Uncertainties in the terrain model
d
Terrain height
K (q s , q˙ s )
Kinetic energy
V (q s )
Potential energy
L
Lagrangian
kl
Left knee joint
kr
Right knee joint
hl
Left hip joint
hr
Right hip joint
qT
Torso absolute angle
ph1
Horizontal position of the support leg-end
pv1
Vertical position of the support leg-end
kl′
Flexible left knee joint
kr′
Flexible right knee joint
h′l
Flexible left hip joint
h′r
Flexible right hip joint
xxi γ˜ ξ (q s , q˙ s )
Lumped disturbances
κ(q s )
Input matrix decomposed model
γξ (q s , q˙ s )
Vector of total disturbance signals decomposed model
ψ(q s )
Gravity terms decomposed model
u∗ξ
Control signal partial feedback linearization
vξ
Control signal GPI
j uGPI
GPI control law for joint j
eqj
Tracking error for joint j
euj
Control signal error for joint j
eˆ˙ q
Estimation of the derivative of the tracking error for joint j
kij
GPI controller constants
ηξ1
Internal dynamic state variable related to the absolute angle Θ(q s )
ηξ2
Internal dynamic state variable related to the angular momentum
Θ(q s )
Absolute angle between the support leg-end and the hip
zξ
State variables of the zero dynamics with uncertainties
Ξη
Uncertainties in the zero dynamics
∆z z−ξ
Reset map zero dynamics with uncertainties
P(z− (kρ ))
Poincaré return map
kρ
Time discrete variable
χ
Vector of collected samples
Jξ
Jacobian of the Poincaré return map
Ξ
Uncertainties in the Poincaré return map
xxii
Nomenclature h(x)
Controlled output vector (tracking error)
Lf h
Lie derivatives of h along vector fields f
Lg h
Lie derivatives of h along vector fields g
Lγ h
Lie derivatives of h along vector fields γ
Φ(x)
Diffeomorphism to change coordinates
ξ
Reachable state variables
η
Unreachable state variables
ρ
Disturbance signal in the zero dynamics
ρp
Persistent uncertainties in the zero dynamics
ρ p¯
Non-persistent uncertainties in the zero dynamics
z
State variables of the extended zero dynamics
∆z (z− )
Reset map of the extended zero dynamics
fη (z)
Extended zero dynamics
ξˆ
Estimation of reachable state variables
ξˆlow
Total disturbance estimation
zˆlow
Swing phase dynamics
sl
Step length
µ
Static coefficient of friction
τN
Nominal torque in the actuators
qaux di (Θ(q s ), sl)
Auxiliary set of references
lij
NESO gains
α2
NESO EHZD gains
Chapter 1 Introduction 1.1
State of the art in control of bipedal robots
After more than five decades of research on stability and motion control, bipedal robots have evolved from passive walking mechanisms, e.g., [1], to sophisticated humanoids with the ability to run and evade obstacles, e.g., [2]. Due to the growing number of applications in rescue tasks, space exploration, manufacturing automation, and rehabilitation, research on bipedal robot motion remains increasingly active [3]. Bipedal robots can be divided into two categories: passive walkers —mechanisms that walk without actuators— and active walkers —robots provided of actuators and feedback control strategies. Originally, passive walkers were created with the purpose of increasing the energy efficiency of the walking process by using the robot’s potential energy to walk over a downhill slope without external actuation, or with a minimum number of actuators. The first successful demonstration of passive walkers was achieved by McGeer in the late 1980s, with a planar biped robot that performed a steady walking in a downslope terrain [1]. McGeer studied the sensitivity of the gait stability to external perturbation in robots with straight legs and kneed legs [4]. In 1996, a “compass gait” walker was considered to perform ballistic walking and develop an active control scheme that enlarged the basin of attraction of the passive limit cycle [5, 6]. This technique was further developed using passivity-based control through the shaping of potential energy in 2D and 3D robots [7, 8]. In the late 1990s, the first three-dimensional passive walkers with kneed-legs, pendular arms, and compliant heels were developed [9]. More than practical applications for the real world, the outstanding achievements of passive walkers have opened a variety of possibilities on the design of active robot walkers with more robust and efficient gaits.
2
Introduction
In the last decades, the focus has been placed on active walkers, which have the potential to follow a path dealing with uncertain environments, unknown terrains, and external disturbances. However, active robot walkers still have numerous challenges regarding energy efficiency, stability analysis, and the design of effective control strategies. According to the control strategy, active walking robots can be divided into two groups: (i) walkers with static stability and (ii) dynamic walkers. Walkers with static or quasi-static stability have achieved robust gaits and skills to interact with complex environments —an outstanding example is ASIMO from Honda R&D [10]. The control of walkers with static stability is based on the zero moment point (ZMP) principle [11]. The ZMP principle states that the robot will reach static stability by locating the reaction forces point inside of a supporting polygon defined by the area under the robot’s feet. In order to provide robustness to the gait, robots with control strategies based on ZMP generally have large and heavy feet. Thus, the stability provided by this technique is limited by the size of the robot’s feet. The main limitation of robots with ZMP is that they need full and flat contact between their feet and the ground during all the walking. This constraints the robot’s movements because important phases of rolling contact between the support-foot and the ground are generally avoided [12]. Moreover, ZMP robots with rolling contact are unable to reject the disturbances generated by unstructured environments or modest external disturbances. An excellent survey of ZMP can be found in [13, Ch. 1]. While effective in controlled environments, the use of the ZMP principle requires complete actuation or overactuation, which results in unnatural movements during gait phases and high energy consumption. On the other hand, dynamic walkers have emerged as a way to produce a natural gait, decrease energy consumption, and increase gait robustness. Dynamic walkers with bioinspired designs and compliant mechanisms provided of with leg-springs mechanisms were introduced in [14, 15]. Besides, the effect of springs in legged locomotion and its potential use in legged robots was well studied in [16]. Following the approach of dynamic walking, robots with the so-called virtual model control were proposed in [17, 18]. This approach uses physical intuition to place virtual components acting between the robot and the environment, so state machine algorithms are used to control the robot and reject disturbances produced by rough terrain. Although the results of virtual model control are remarkable, a method to guarantee the robot’s stability or improve the gait robustness is unclear. Dynamic walkers take advantage of the potential energy of their body to achieve natural movements and reduce energy consumption. Although the approach of dynamic walkers is effective, it implies challenges in terms of control systems. These challenges can be summarized
3
1.1 State of the art in control of bipedal robots
into four points: (i) a highly integration of mechatronic systems is required to perform limb coordination, since this is a multi-input and multi-output control problem; (ii) the alternate change of support-leg makes the dynamics of the walker a hybrid problem of continuous and discrete events; (iii) the stability of a dynamic walker is not defined by classical methods, but requires the design of periodic behavior with limit cycles; and (iv) dynamic walking implies an effective underactuation in which the walker has more degrees of freedom than actuators [19]. Control systems for dynamic walkers generally incorporate model-based strategies with dynamic hybrid models [20–22]. These models are composed of continuous dynamic functions that represent the swing phase of the gait and discrete reset functions that represent support-leg exchange. Hybrid dynamics produced by the continuous and discrete functions are handled by compound control strategies with two interacting loops: a trajectory generator loop and a trajectory tracking control loop. A scheme of these interacting loops can be seen in Fig. 1.1.
+ Tracking Controller
+
𝑢
-
𝑞𝑠
Trajectory Generator
Θ(𝑞𝑠 )
Fig. 1.1. Compound control scheme. Adapted from [23]. Since the dynamic walkers have underactuated degrees of freedom, the time-based trajectory generators, which are extensively used in industrial robots, are unfeasible for bipedal robots. This is why the trajectory generator used in this work is state-based and consists of a set of off-line reference trajectories satisfying holonomic constraints. These constraints, also referred to as virtual holonomic constraints (VHC), are induced through a feedback control loop [24–27]. The Off-line reference trajectories are the solution of a parameter optimization problem consisting of minimizing the mechanical cost of transportation, satisfying natural kinematic and dynamic constraints of a reduced model, i.e., hybrid zero dynamics (HZD) [28]. Exponentially stable periodic orbits of the HZD correspond to exponentially stabilizable orbits of the full model.
4
Introduction
Commonly, the trajectory tracking controllers implemented in dynamic robot walkers are strategies of feedback linearization and proportional derivative actions [23, 28]. Recently, robust nonlinear controllers have been proposed [29–33]. These controllers can deal with random variations of the terrain through exhaustive trajectory generation strategies and the optimization of trajectory references or VHC [29–31, 34, 35]. Nonlinearities such as the physical saturation of the actuators have been also addressed through optimal nonlinear control strategies [32, 33, 36]. However, these strategies are susceptible to model mismatching and external disturbances. This becomes evident during support-leg exchange events, where the reference trajectories and the tracking errors suffer a sudden change. This produces high transitory responses and, ultimately, gait instability. Examples of high transitory responses on physical prototypes can be found in [32, 37]. To alleviate this problem, VHC modifications have been proposed in 3D bipedal robots [38]. Although this technique improves gait stability, it requires an event-based controller in order to select a VHC from a repository of reference trajectories. Finally, the complexity of reproducing simulation results of physical experiments in outdoor environments has been extensively addressed and reported in [39–42]. The main reason of the problems to reproduce simulation results in physical prototypes is the natural imperfection of the mathematical models used in the simulation. This highlights the need of robust control strategies to model mismatching.
1.2
Highlights
This research contributes to the field of disturbance rejection control of dynamic bipedal robots in three specific theoretical aspects, grouped as follows: (i) disturbance rejection with tracking controllers, (ii) disturbance rejection with trajectory generators, and (iii) analysis of periodic stability of biped robots with model uncertainties. (i) Disturbance rejection with tracking controllers: This work develops two disturbance rejection controllers to perform tracking trajectories in dynamic bipedal robots: (a) a robust multivariable generalized proportional-integral (GPI) controller, and (b) a model-based active disturbance rejection controller (ADRC). The GPI controller developed makes possible to reject model-uncertainties and the external disturbances affecting the dynamics of a biped robot. This GPI controller also allows performing a dynamic decoupling of multivariate disturbances through a simplified model.
1.3 Outline
5
A numerical evaluation and experimental validation of the GPI controller are presented in [43, 44]. The model-based ADRC introduced in this study uses a local coordinate transformation that decompose the robot’s model into reachable and unreachable parts. Such transformation is used to develop a nonlinear extended state observer (NESO), which allows the estimation of total disturbances in the continuous dynamics of the robot to actively reject their effects in a feedback control action. Experimental and numerical evaluations of the model-based ADRC in a bipedal robot are presented in [45–47]. (ii) Disturbance rejection with trajectory generators: This study presents a methodology to define trajectory generators that produce periodic stable behaviors in the robot’s dynamics. The trajectory generator developed uses a reset control law that adapts trajectories in order to reject disturbances in the support-leg exchange of the biped robot’s gait. This generator also has the potential to update gait patterns during the evolution of the swing phase. The performance of the proposed trajectory generator strategy is presented in [43, 44]. (iii) Analysis of periodic stability of biped robots with model uncertainties: This research presents a novel method to analyze the gait stability of a robot, considering modeluncertainties and model-mismatching, by introducing the concept of extended hybrid zero dynamics (EHZD). The EHZD uses an extended state variable that models uncertainties in the hybrid zero dynamics. Additionally, EHZD’s state variables are used to identify periodic stable behavior in the hybrid zero dynamics with uncertainties and, consequently, the periodic stability in the gait of a robot with model-uncertainties. A stability analysis with the proposed EHZD method is reported in [46].
1.3
Outline
This work is organized as follows. Chapter 2 describes the hybrid model of a dynamic bipedal robot with model-uncertainties. Chapter 3 presents two disturbance rejection control strategies in the tracking trajectory and a stability analysis of the periodic hybrid systems with uncertainties. Chapter 4 shows a disturbance rejection approach from the point of view of the trajectory generation. Chapter 5 contains numerical evaluations of the proposed control strategies, with emphasis in robustness and performance analysis. Chapter 6 presents a description of the testbed designed and fabricated to evaluate the proposed control strategies in a physical prototype. This chapter also displays the experimental results of the evaluation and shows the effectiveness of the
6
Introduction
disturbance rejection controller. Finally, Chapter 7 summarizes the contribution of this study and establishes some perspectives for future research studies on the field.
Chapter 2 Model of a Dynamic Bipedal Robot This chapter introduces a mathematical model that describes the hybrid dynamics of a dynamic bipedal robot. This model integrates continuous and discrete dynamics. The continuous dynamics takes place in the swing phase of the walking process, when a single support-leg is in contact with the ground. The discrete dynamics takes place in the double support phase during the support-leg exchange. Given that the double support phase has is short, it is considered instantaneous.
Fig. 2.1. Design of the Biped Robot – Saurian (Source: author).
The support leg-end has unilateral constraints, which implies that the normal reaction force in the support leg-end is repulsive and that the tangential reaction does not produce any risk of slipping. These constraints also allow studying the contact between the support leg-end and the
8
Model of a Dynamic Bipedal Robot
ground as a passive pivot [23]. The bipedal robot developed in this work is designed with a torso and two identical legs, as shown in Fig. 2.1. Each leg is composed of a thigh and a shin connected by a revolute (pin) joint that works as a knee, as shown in Fig. 2.2.
Torso
Tight
Shin
Fig. 2.2. Saurian: Biped Robot prototype developed at the Control Laboratory at the National University of Colombia, Bogotá (Source: author).
2.1
Single support phase model
The bipedal robot prototype considered in this work consists of five rigid links forming a torso and two identical legs, which form the planar mechanism shown in Fig. 2.3. Leg-ends have pointy feet without ankle. The robot’s hip is attached to a bar that constraints the gait to a circular path; however, for all practical purposes, it is assumed that the robot follows a straight path and all movements are on the sagittal plane. Each of the robot’s legs is an open linkage of two rigid bodies: thigh and shin. Fig. 2.4. shows the linkage corresponding to the left leg. The location of hip and knee joints are represented by hl and kl , respectively. In this figure, τhl and τkl represent the torques from actuators on the hip and knee mechanisms, respectively. Here, subindex l is used for the left side and subindex r for the right side. The hip and knee mechanisms have two four-bar mechanisms with a torque transmission ratio of 1:1. Each mechanism is connected through a bi-directional spring arrangement with an equivalent torsional spring constant E. The springs provides compliance to the robot’s dynamics,
2.1 Single support phase model
9
Fig. 2.3. Planar mechanism formed by the multibody model of Saurian (walking from right to left) (Source: author).
which allows (i) isolating the actuator from the effect of the impacts produced during the supportleg exchange and (ii) storing the impact energy to be used in the propulsion of the next step. In total, the robot has eleven degrees of freedom (DOFs) distributed as follows: kl Left knee joint kr Right knee joint hl Left hip joint hr Right hip joint qT Torso absolute angle ph1 Horizontal position of the support leg-end pv1 Vertical position of the support leg-end kl′ Flexible left knee joint kr′ Flexible right knee joint h′l Flexible left hip joint h′r Flexible right hip joint The Lagrange differential equation can be used to derive the mathematical model of the swing phase of a planar dynamic bipedal robot with rigid bodies and serial compliant actuation [26]. This model considers the springs effect as part of the input generalized forces; thus, the swing
10
Model of a Dynamic Bipedal Robot
Torso
Thigh
Ground
Shin
Fig. 2.4. Torque transmission mechanism (Source: author).
phase dynamics is defined by D s (q s )q¨ s + C s (q s , q˙ s )q˙ s + G s (q s ) = Γ s ,
(2.1)
where Γ s is the vector of generalized forces and torques, D s (q s ) the inertia matrix, C s (q s , q˙ s )q˙s the vector of centripetal and Coriolis effects, G s (q s ) is the vector of torques associated to the gravity, and q s is a vector of the generalized coordinates, as shown in Fig. 2.3. The order of the terms in the vector q s are dependent on which leg is in support. This is, T [ hl hr kl kr qT ] q s := [ hr hl kr kl qT ]T
for left support for right support.
(2.2)
In our model, the vector of generalized forces and torques Γ s is defined as Γ s = Bs (q s )u + K s (qb − q′b ) + δ(q s , q˙ s ) + ζ(t),
(2.3)
where u is the vector of torque control inputs, the input matrix Bs (q s ) defines how the control inputs u affect the controlled joints, the position vector qb := [ hl hr kl kr ]T contains the controlled joints, q′b := [ h′l h′r kl′ kr′ ]T are the relative angles of the compliant transmission,
11
2.2 Discrete dynamic model
K s is the matrix with the springs stiffness E, δ(q s , q˙ s ) is the vector of model uncertainties, and ζ(t) is the vector of unknown external disturbances. Spring torques, model uncertainties, and external disturbances are lumped into a vector of total disturbance signals γ(x, t). In this way, the perturbed model can be expressed by rewriting (2.1) and (2.3) in the general input affine form x˙ = f (x) + g(x)u + γ(x, t), where x :=
h
q s T q˙ s T
i
T
is the state space vector in Rn , f (x) :=
q˙ s −1 D s (q s ) −C s (q s , q˙ s )q˙ s − G s (q s ) g(x) :=
and
(2.4)
γ(x, t) :=
0 D s (q s )−1 Bs
,
(2.5)
,
0 h i −1 D s (q s ) K s (qb − q′b ) + δ(q s , q˙ s ) + ζ(t)
(2.6)
.
(2.7)
Details of the Lagrange formulation can be found in Appendix A.
2.2
Discrete dynamic model
The support-leg exchange is a discrete event that can be modeled as rigid body collision [48]. To find a suitable mathematical description, our work follows the approach proposed by [28, 49]. In this approach, the support-leg exchange is modeled without the unilateral constraints used in the swing phase; therefore, a total of seven DOFs are considered. The position of the support leg-end is denoted by pe := [phe pve ]T , where phe and pve are the horizontal and vertical coordinates, respectively. Then, the generalized coordinates vector is qe := [q s T pe T ]T . With the new generalized coordinate vector, the dynamic model during the support-leg exchange is described by De (qe )q¨ e + Ce (qe , q˙ e )q˙ e + Ge (qe ) = Be (qe )u + δFext , (2.8) where δFext is a vector of impulsive torques caused by the ground reaction in the swing leg-end at the impact event. During the support-leg exchange, the angular position of the robot joints
12
Model of a Dynamic Bipedal Robot
remains constant, while the velocity undergoes a sudden change. This effect is represented by the angular momentum conservation equation De (q+e )q˙ +e − De (q−e )q˙ −e = Fext ,
(2.9)
where (q−e , q˙ −e ) and (q+e , q˙ +e ) are the position and velocity just before and after the impact, respectively, and Fext is a vector of torques representing the effect of the ground reaction on each joint.
In order to show the relation between Fext and the reaction forces, let us define the reaction force in the swing leg-end as F2 := [F2v F2h ]T , where F2v and F2h are the tangential and normal reaction forces, respectively. The principle of virtual work yields Fext = E2 (q−e )T F2 ,
(2.10)
where E2 := ∂p2 /∂qe and p2 is the position of the swing leg-end. Replacing (2.10) into (2.9) results in (2.11) De (q−e )q˙ −e = De (q+e )q˙ +e + E2 (q−e )T F2 .
To satisfy the unilateral constraints on the support leg-end after the impact, the velocity of the swing leg-end equals zero. This leg thus becomes the support leg of the next swing phase. Then, d p2 ∂p2 (q−e ) + = q˙ e = E2 (q−e )q˙ +e = 0. dt ∂qe
(2.12)
Expressing (2.11) and (2.12) in matrix form yields to De (q+e ) −E2 (q−e )T q˙ +e De (q−e )q˙ −e = . E2 (q−e ) 02×2 F2 02×1
(2.13)
Considering that De is positive definite and that E2 (q−e ) is full rank, and that q˙ −e
I5×5 = ∂p e
∂q s
− q˙ s ,
(2.14)
13
2.2 Discrete dynamic model the solution for (2.13) can be expressed as I5×5 −1 − q˙ +e De (q+e ) −E2 (q−e )T De (qe ) ∂p e = ∂q s F2 E2 (q−e ) 02×2 02×1
q˙ −s ,
(2.15)
Since the inertia matrix De (q−e ) is invertible, the Schur complement of the block De (q−e ) and a lower diagonal upper (LDU) decomposition [50] can be used to find the inverse matrix in the right hand side of (2.15), which can be expressed as −1 T −1 T −1 −1 −1 T −1 T −1 D−1 − D E D E 2 (E 2 De E 2 ) E 2 De 2 (E 2 De E 2 ) e e e , −1 T −1 −1 −1 T −1 −(E2 De E2 ) E2 De (E2 De E2 )
(2.16)
which summarizes (2.15) into q˙ +e
=
F2 =
∆qe (q−e )q˙ −s ∆F2 (q−s )q˙ −e
= (I − =
I5×5 − q˙ s , ∂pe
−1 T T −1 D−1 e E 2 (E 2 De E 2 ) E 2 )
T −1 −(E2 D−1 e E2 ) E2
I5×5 ∂p e
∂q s
− q˙ s .
(2.17)
∂q s
(2.18)
Considering the symmetry of the robot, the model is developed for half of the step (swing leg phase). The second half of the step is described by the same equation with the role of the legs swapped, i.e., the former support leg becomes into the swing leg, and vice versa. The connection between the continuous dynamics of the swing leg phases is given by an instantaneous double support phase, which is modeled by a discrete reset function that maps the state variables from the values just before the support-leg exchange to the values after it. In order to consider the uncertainties of the terrain where the robot should walk, a reset function with uncertainties is proposed in order to describe the discrete dynamics in the support-leg exchange. This is, x+ := ∆(x− ) + γ∆ ,
(2.19)
where x− and x+ are the state variables just before and after the support-leg exchange, respectively, γ∆ models the uncertainties of the terrain, and ∆(x ) := −
∆q q−s ∆q˙ q−s q˙ −s
,
(2.20)
14
Model of a Dynamic Bipedal Robot
where ∆q represents the angles relabeling in the role change of the legs in the support-leg exchange and ∆q˙ is a function that resets and relabels the angular velocities. Thus, ∆q and ∆q˙ are defined as 0 1 ∆q := 0 0 0
1 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 0 0 , 0 1
(2.21)
i h ∆q˙ q−s := ∆q 05×2 ∆qe (q−e ),
(2.22)
with ∆qe (q−e ) defined as in (2.17).
2.3
Hybrid dynamic model
The hybrid model considers the continuous model (2.4) and the discrete reset function (2.19) as x˙ = f (x) + g(x)u + γ(x, t), Σ: x+ = ∆(x− ) + γ∆ ,
x− < S x− ∈ S,
(2.23)
where the switching set is defined as S :=
nh
q s T q˙ s T
i
T
o ∈ Rn | pv2 (q s ) = d, p˙ v2 (q s , q˙ s ) < 0 ,
(2.24)
where pv2 (q s ) is the vertical Cartesian position of the swing leg-end, and d is the terrain height, which is defined with respect to the support leg-end. In this way, d = 0 represents a flat terrain, which corresponds to walking on nominal condition, d > 0 indicates an uphill terrain, and d < 0 is a downhill terrain. If the terrain is rough (uncertain), then d is random. For control design purposes, d is considered bonded as dmin ≤ d ≤ dmax ,
(2.25)
where dmin and dmax are the minimum and maximum terrain heights, respectively. Since model uncertainties and external disturbances act collectively against gait stability, Chapter 3 develops robust multivariable control strategies to reject disturbances in the continuous
2.3 Hybrid dynamic model
15
dynamics of the robot, whereas Chapter 4 addressses adaptive trajectory generation strategies to overcome the disturbances in the discrete dynamics.
Chapter 3 Disturbance Rejection Control for Trajectory Tracking This chapter introduces two disturbance rejection control strategies for trajectory tracking in the swing phase of a dynamic bipedal robot. The first control strategy proposes a robust multivariable generalized proportional integral (GPI) controller. The proposed robust multivariable GPI controller is designed as a model-based strategy that uses a partial feedback linearization, in conjunction with iterated integral reconstructors, to estimate the state variables of the systems without the explicit use of state observers. Analysis of the hybrid zero dynamics with uncertainties (HZDU) is developed to determine stability conditions of the periodic walking. The second control strategy proposes a model-based active disturbance rejection control (ADRC), which uses a nonlinear extended state observer (NESO) to estimate the state variables and the total disturbance signals in the swing walking phase. Such estimation are used in a feedback control law to actively reject the effect of model uncertainties and external disturbances. The concept of the extended state observer is used to define an extended hybrid zero dynamics (EHZD). This strategy allows to examine the periodicity of persistent model uncertainties.
3.1
Robust multivariable generalized proportional integral (GPI) controller
Robust generalized proportional integral controllers are known to efficiently track trajectories and reject input perturbations, thus avoiding the explicit use of state observers [51]. Instead, a structural reconstruction of the state variables is performed through iterated integrations of inputs
18
Disturbance Rejection Control for Trajectory Tracking
and outputs, completing the stable feedback design. As a result, control laws based on state feedback can be implemented without the necessity of asymptotic observers [52]. The design of a robust multivariable GPI controller is divided into three stages. First, a model decomposition is performed to isolate the actuated joints from the underactuated one. Second, a partial feedback linearization is performed seeking to linearize the actuated part of the continuous dynamics. Finally, a chain of iterated integral reconstructors is built to form the robust multivariable GPI control structure. The components of the GPI tracking control loop are shown in Fig. 3.1.
𝒆𝒒
𝒒𝒅 −
𝜅 −1 𝑞𝑠 𝑢GPI
𝒗𝝃
−
+
𝒒𝒔
𝒖
+
𝒖∗𝝃
Saurian
𝜅 −1 𝑞𝑠 𝜓 𝑞𝑠 𝒒𝒃
1 0 ⋮ 0 0
0 1 ⋮ 0 0
⋯ 0 ⋯ 0 ⋱ ⋮ 0 1 0 0
Fig. 3.1. Robust multivariable GPI tracking control loop (Source: author).
3.1.1
Model decomposition
In order to apply the GPI controller to the trajectory tracking problem of a dynamic bipedal robot, the continuous model (2.1) is written in compact form as D s (q s )q¨ s + Ω(q s ) = Bs (q s )u + γ˜ ξ (q s , q˙ s ),
(3.1)
Ω(q s ) := G s (q s ),
(3.2)
where
3.1 Robust multivariable generalized proportional integral (GPI) controller
19
and γ˜ ξ (q s , q˙ s ) := −C s (q s , q˙ s )q˙ s + K s (qb − q′b ) + δ(q s , q˙ s ) + ζ.
(3.3)
Now, let us decompose the generalized coordinate vector q s and the output matrix Bs (q s ) into the actuated and the underactuated parts of the system. This is: qb q s := k×1 qN
,
B1 (q s )k×k Bs (q s ) := 01×k
,
(3.4)
where k is the number of actuators (controlled joints) and N is the number of degrees of freedom. In our robot, k = 4 and N = 5. In (3.4), qN is the underactuated DOF. In our robot this corresponds to the torso absolute angle q5 . Replacing (3.4) into (3.1) yields D11 (q s ) D12 (q s ) q¨ b Ω1 (q s ) B1 (q s ) γ˜ ξ1 (q s , q˙ s ) + = u + . D21 (q s ) D22 (q s ) q¨ N Ω2 (q s ) 0 γ˜ ξ2 (q s , q˙ s )
(3.5)
The decomposed model representation (3.5) is used to express the model as a function of the actuated variables as follows: h i D11 (q s ) − D12 (q s )D−1 ¨b + . . . 22 (q s )D21 (q s ) q · · · + Ω1 (q s ) − D12 (q s )D−1 22 (q s )Ω2 (q s ) = B1 (q s )u + . . .
(3.6)
· · · + γ˜ ξ1 (q s , q˙ s ) − D12 (q s )D−1 γξ2 (q s , q˙ s ). 22 (q s )˜ In compact form, (3.6) can be expressed as q¨ b = κ(q s )u + ψ(q s ) + γξ (q s , q˙ s ),
(3.7)
h i−1 κ(q s ) = κ1−1 B1 (q s ) = D11 (q s ) − D12 (q s )D−1 B1 (q s ), 22 (q s )D21 (q s )
(3.8)
γξ (q s , q˙ s ) = κ1−1 γ˜ ξ1 (q s , q˙ s ) − D12 (q s )D−1 (q )˜ γ (q , q ˙ ) 22 s ξ2 s s ,
(3.9)
ψ(q s ) = κ1−1 −Ω1 (q s ) + D12 (q s )D−1 (q )Ω (q ) . s 2 s 22
(3.10)
where
and
20
Disturbance Rejection Control for Trajectory Tracking
Hence, the dynamics of the underactuated variable qN is described as h h i i q¨ N = D−1 −D (q ) κ(q )u + ψ(q ) + γ (q , q ˙ ) − Ω (q ) + γ ˜ (q , q ˙ ) , 21 s s s ξ s s 2 s ξ2 s s 22
(3.11)
which represents the internal dynamics of the robot’s model. The decomposition of the robot’s model in (3.7) allows the design of a partial feedback linearization on the controlled joints. The development of the aforementioned partial feedback linearization is presented in the following section.
3.1.2
Partial feedback linearization
The following assumptions are proposed for the lumped disturbance vector γξ (q s , q˙ s ) in (3.7): A1: γξ (q s , q˙ s ) contains endogenous and exogenous disturbances. A2: γξ (q s , q˙ s ) can be approximated —on a time window around the current time— by selfupdating time polynomials of m − 1 order. A3: γξ (q s , q˙ s ) and its first m time-derivatives are bounded almost everywhere. In such a way, there is a finite constant εi that satisfies sup |γξ(i) | ≤ εi , i = 0, . . . , m for all t ≥ 0, except during the discontinuities of the lumped disturbance signals. In a self-updating fashion, this allows rejecting the disturbance effects through the base of its internal model [51, 53]. In our robot, this is taken as dm j γ (q s , q˙ s ) ≈ 0, dtm ξ
(3.12)
for j = 1, 2, . . . , k, and m = 3. With the aforementioned assumptions, the following control law is proposed: u = u∗ξ + vξ ,
(3.13)
u∗ξ = κ−1 (q s ) (−ψ(q s )) ,
(3.14)
vξ = κ−1 (q s ) (uGPI ) .
(3.15)
with
and
21
3.1 Robust multivariable generalized proportional integral (GPI) controller
By applying the control law (3.13) to the system (3.7), the tracking control task is transformed into a set of single-input and single-output (SISO) control design problems, instead of a more complex multiple-input and multiple-output (MIMO) problem. The effects of the lumped disturbances γξj (q s , q) ˙ are dynamically coupled, and it is not possible to mathematically decouple them. Remarkably, the GPI controller rejects the effect of such coupling. Thus, the control problem can be addressed as a decentralized problem [54], and each SISO problem can be represented by an integrator chain q¨ b j and the lumped disturbance variable γξj (q s , q) ˙ as: j q¨ b j = uGPI + γξj (q s , q˙ s ), (3.16) j where uGPI is the control signal for the jth joint and is produced by the GPI controller.
3.1.3
Integral reconstructors
The GPI controller is developed in the context of output trajectory tracking and takes into account desired trajectories of the actuated joints. Such desired trajectories can be defined by a vector qd4×1 . Thus, the output tracking error is governed by e¨ qj = euj + γξj (q s , q˙ s ),
(3.17)
j where eqj = qbj − qdj represents the tracking error vector, euj = uGPI − u∗GPI j is the control signal error, and u∗GPI j = q¨ dj is the nominal control signal, therefore: j euj = uGPI − q¨ dj .
(3.18)
The regulation of (3.17) can be trivially achieved with a state feedback controller, as follows: euj = −k5j eˆ˙ qj − k4j eqj ,
(3.19)
where kij are the gains of the GPI controller, and eˆ˙ q is an estimation of e˙ q . This can be computed by neglecting the total disturbance terms in (3.17) and applying the integral reconstructors eˆ˙ q =
Z 0
t
eu (σ1 )dσ1 .
(3.20)
22
Disturbance Rejection Control for Trajectory Tracking
Integrating (3.17) and replacing in (3.20), the estimation takes the form eˆ˙ q = e˙ q (t) − e˙ q (0) −
Z
t
γξ (σ1 )dσ1 .
(3.21)
0
The use of the integral reconstructor on the states estimation (3.21) avoids the need for an asymptotic state observer. However, this integral reconstructor does not consider the initial conditions, which produces a discrepancy between the reconstructed states and their actual values. To compensate this discrepancy, an integral of the tracking errors is included in the feedback controller (3.19) [53]. The resulting controller can be expressed as euj
=
−k5j eˆ˙ qj
−
k4j eqj
−
k3j
Z
t
eqj (σ1 )dσ1 .
(3.22)
0
With this, the integral of the tracking errors in (3.22) vanishes the estimation error caused by the initial conditions. In order to increase the robustness of the controller against unmodeled dynamics and external disturbances, a finite number of iterated integrals of the tracking errors are added to the proposed control (3.22). The number of iterated integrals is defined by the degree of the derivative in the internal model assumption (3.12). Hence, m + 1 iterated integrals are included in the feedback controller of our robot. These take the form j j euj = − kn+m eˆ˙ qj − kn+m−1 eqj · · · Z t j · · · − kn+m−2 eqj (σ1 )dσ1 · · · Z 0 t Z σ1 j · · · − kn+m−3 eqj (σ2 )dσ2 dσ1 · · ·
··· −
k0j
.. . Z tZ
0
σ1
Z ···
0
0
(3.23)
0
σm
eqj (σm+1 )dσm+1 · · · dσ2 dσ1 .
0
An explicit expression for the GPI controller can be obtained by replacing (3.20) into (3.23). Substituting the nominal control signal u∗GPI j (s) and applying Laplace transform yields j uGPI (s)
=
u∗GPI j (s)
j m+1 km+1 s + · · · + k1j s + k0j j eq (s). − j sm (s + km+n )
(3.24)
3.2 Hybrid zero dynamics with uncertainties (HZDU)
23
Substituting (3.23) and (3.20) into (3.17) leads to the dynamic equation that describes the closed-loop behavior. Applying Laplace transform, the closed-loop behavior can be expressed as
j sm+n+1 + km+n sm+n + · · · + k1j s + k0j eqj (s) = · · · j j · · · = (s + km+n )sm γξ j (s) + sm km+n e˙ q (0).
(3.25)
j Given that the term km+n e˙ q (0) is a constant, due to the initial conditions, then j sm km+n e˙ q (0) = 0.
(3.26)
Additionally, according to the internal model assumption (3.12), j (s + km+n )sm γξj (s) ≈ 0,
(3.27)
then, the characteristic polynomial of the closed-loop system is
j sm+n+1 + km+n sm+n + · · · + k1j s + k0j eqj (s) ≈ 0.
(3.28)
Finally, in order to impose a dominant dynamic behavior on the tracking errors, the designer can select the gains kij of the GPI controller. The appropriate selection of these gains results in tracking errors that are ultimately, uniformly, and absolutely bounded [55]. Next section analyzes the behavior of the underactuated degree of freedom qN under the action of the robust GPI controller.
3.2 3.2.1
Hybrid zero dynamics with uncertainties (HZDU) Derivation of HZDU
The robust multivariable GPI controller is able to track a set of four trajectory references qd1 , . . . , qd4 . However, it is necessary to consider that the robot in its swing phase has five DOFs. The additional DOF corresponds to the torso absolute angle qN , which is underactuated. This underactuated DOF produces an internal dynamics that is not controlled by the GPI controller and affects the system’s stability. In order to conveniently describe the internal dynamics, a transformation of the last row of the decomposed model (3.5) is proposed. This part of the model is directly related to the acceleration q¨ N . First, let us consider the Lagrange differential equation
24
Disturbance Rejection Control for Trajectory Tracking
used to find the underactuated part of the robot model, d ∂L ∂L − = γ˜ ξ2 (q s , q˙ s ) , dt ∂q˙ N ∂qN
(3.29)
which has a control input equal to zero and is affected by model uncertainties and external disturbances γ˜ ξ2 (q s , q˙ s ). Using the kinetic energy K (q s , q˙ s ) and the potential energy V (q s ), the Lagrangian is expressed as L := K (q s , q˙ s ) − V (q s ) , (3.30) and the Lagrange differential equation (3.29) can be written as ! ! d ∂K (q s , q˙ s ) d ∂V (q s ) ∂K (q s , q˙ s ) ∂V (q s ) + = γ˜ ξ2 (q s , q˙ s ) . − − dt ∂q˙ N dt ∂q˙ N ∂qN ∂qN
(3.31)
Following the concept that kinetic energy is independent of the world frame and that the angle q5 determines the orientation of the robot with respect to that frame, then ∂K (q s , q˙ s ) = 0. ∂qN
(3.32)
In addition, since the potential energy is not a function of the velocity, then ∂V (q s ) = 0. ∂q˙ N
(3.33)
! d ∂K (q s , q˙ s ) ∂V (q s ) + = γ˜ ξ2 (q s , q˙ s ) . dt ∂q˙ N ∂qN
(3.34)
1 K (q s , q˙ s ) = q˙ s T D (q s ) q˙ s , 2
(3.35)
Thus, (3.31) takes the form
Considering that
25
3.2 Hybrid zero dynamics with uncertainties (HZDU) then, ∂K (q s , q˙ s )/∂q˙ N can be simplified through the following procedure: ! ∂ 1 T ∂K (q s , q˙ s ) = q˙ s D (q s ) q˙ s , ∂q˙ N ∂q˙ N 2 i D11 (q s ) D12 (q s ) q˙ b 1 ∂ h , = q˙ b q˙ N 2 ∂q˙ 5 D21 (q s ) D22 (q s ) q˙ N h i q˙ b = D21 (q s ) D22 (q s ) , q˙ N
(3.36)
= Dn (q s ) q˙ s . Replacing (3.36) into (3.34) yields ∂V (q s ) d (Dn (q s ) q˙ s ) + = γ˜ ξ2 (q s , q˙ s ) . dt ∂qN
(3.37)
In (3.37), the internal dynamic states can be defined as ηξ1 := Dn (q s ) q˙ s ,
(3.38)
ηξ2 := Θ(q s ),
(3.39)
where Θ(q s ) is a function of qN that represents the angle between the ground and the virtual link that connects the support leg-end with the hip, as shown in Fig. 2.3., which for our robot it can be defined as h i Θ(q s ) = 1 0 0.5 0 1 q s − 0.5π. (3.40) Hence, the underactuated dynamics of the system can be described by d ∂V (q s ) (Dn (q s ) q˙ s ) = γ˜ ξ2 (q s , q˙ s ) − , dt ∂qN ∂Θ (q s ) η˙ ξ2 = q˙s . ∂q s
η˙ ξ1 =
(3.41) (3.42)
If there is an initial condition q s (t0 ) for which eq (t0 ) = 0 and a control signal u∗ , as in (3.14), such that eq (t) = 0, for all t > t0 , where t0 represents the initial time, then the system is constrained by the conditions qb = qd and q˙ b = q˙ d . Therefore, deq ∂eq = q˙ s = 0. (3.43) dt q =q , q˙ =q˙ ∂q s q =q , q˙ =q˙ b
d
b
d
b
d
b
d
26
Disturbance Rejection Control for Trajectory Tracking
Using (3.38) and (3.43), the angular velocity vector can be expressed as ∂eq −1 0 q˙ s = ∂qs , ηξ1 Dn (q s )
(3.44)
qb =qd , q˙ b =q˙ d
then, (3.41) and (3.42) take the form ! ∂V (q s ) , η˙ ξ1 = γ˜ ξ2 (q s , q˙ s ) − ∂q5 qb =qd , q˙ b =q˙ d ∂eq −1 ∂Θ (q s ) ∂qs 0k×1 η˙ ξ2 = ηξ1 ∂q s Dn (q s ) 11×1 q =q
d,
b
(3.45) .
(3.46)
q˙ b =q˙ d
Finally, the zero dynamics with uncertainties can be expressed as
where
η˙ ξ1 = κ˜ 1 (ηξ2 ) + γη ,
(3.47)
η˙ ξ2 = κ˜ 2 (ηξ2 )ηξ1 ,
(3.48)
∂V (q s ) κ˜ 1 (ηξ2 ) = − ∂qN qb =qd , q˙ b =q˙ d j ∂e ∂Θ (q s ) ∂qq s κ˜ 2 (ηξ2 ) = ∂q s Dn (q s )
−1 0k×1 1 1×1
(3.49)
q =q b
d,
,
(3.50)
q˙ b =q˙ d
and γη = γ˜ ξ2 (q s , q˙ s )
qb =qd , q˙ b =q˙ d
.
(3.51)
In compact form, (3.47) and (3.48) are written as z˙ξ = fzero (zξ ) + Ξη , where
ηξ1 zξ = , ηξ2
κ˜ 1 (ηξ2 ) , fzero (zξ ) = κ˜ 2 (ηξ2 )ηξ1
(3.52)
γη Ξη = . 0
The zero dynamics states are exposed to the discrete event of the support-leg exchange. This natural walking feature implies that the zero dynamics has a hybrid behavior. Therefore, the
27
3.2 Hybrid zero dynamics with uncertainties (HZDU)
zero dynamics state vectors before and after the impact are described by z−ξ = [η−ξ1 η−ξ2 ]T and z+ξ = [η+ξ1 η+ξ2 ]T , respectively. Consequently, the zero dynamics state vector after the impact is defined by η+ξ1 = Dn q+s q˙ +s ,
(3.53)
η+ξ2 = Θ(q+s ).
(3.54)
Using (2.19) and (2.20), the post-impact states (3.53) and (3.54) can be expressed as functions of the pre-impact state variables. This is, η+ξ1 = Dn ∆q q−s ∆q˙ q−s q˙ −s ,
(3.55)
η+ξ2 = Θ(∆q q−s ).
(3.56)
If the zero dynamics conditions are satisfied, then the reset law for the zero dynamics state vector can be expressed as − − − D ∆ q ∆ q q ˙ n q q ˙ s s s z+ξ = = ∆ z−ξ . (3.57) ξ Θ(∆q q−s ) q =q , q˙ =q˙ b
d
b
d
With the zero dynamics with uncertainties (3.52) and the reset law (3.57), the resulting hybrid zero dynamics with uncertainties (HZDU) can be expressed as z˙ξ = fzero(zξ) + Ξη , Σξ : z+ξ = ∆ξ z−ξ + Ξ∆ ,
z−ξ < Z, z−ξ ∈ Z.
(3.58)
where Z ⊂ S and it is defined as Z :=
nh
q s T q˙ s T
i
T
o ∈ Rn | qb = qd , q˙ b = q˙ d .
(3.59)
Finally, given that the GPI controller creates an attracting zero dynamics behavior that produces the HZDU, it allows analyzing the full hybrid model stability with the reduced order subsystem (3.58). In this way, an orbital behavior in the HZDU implies an orbital behavior in the full hybrid dynamics. The existence of orbital behaviors are demonstrated in the following section.
28
3.2.2
Disturbance Rejection Control for Trajectory Tracking
Orbital Gait Stability Analysis for HZDU
In order to define the conditions that provide gait stability in the presence of external disturbances and model uncertainties, let us define ϕ(t) as the trajectory that results from the solution of (3.58). Under the assumption of zero disturbances and zero uncertainties, the gait of the robot is periodic if the trajectory ϕ(t) belongs to a nominal periodic orbit O, such that ϕ(t + T ) = ϕ(t), where T is the time period between each support-leg exchanges. Under bounded uncertainties and bounded disturbances, the trajectory ϕ(t) has deviations from the nominal orbit O. Therefore, it is necessary to define the Euclidean distance between ϕ(t) and O as dist (ϕ(t), O). To define the conditions for gait stability under external disturbances and model uncertainties, an ultimate boundedness for the dist (ϕ(t), O) is established the existence of a constant ϵ > 0 and an open neighborhood V of O is observed, in such a way that for every ϖ ∈ V there is a solution ϕ(t) that satisfies ϕ(0) = ϖ, and limt→∞ dist(ϕ(t), O) ≤ ϵ. The boundedness concept around the nominal orbit is illustrated in Fig. 3.2.
Fig. 3.2. Neighborhood around the nominal periodic orbit (Source: author).
The periodicity of the gait makes the stability analysis a special case that is commonly treated with the method of Poincaré sections [23, Ch. 4]. Under undisturbed operation conditions, referred to as nominal behavior, the Poincaré method searches for periodic orbits in the evolution of the state variables. This allows to demonstrate orbital gait stability. The Poincaré method transforms the problem of finding periodic orbits into finding a fixed point on a nonlinear discrete dynamics referred as Poincaré return map. The Poincaré return map P(z−ξ (k)) is built with samples of the
29
3.2 Hybrid zero dynamics with uncertainties (HZDU)
zero dynamics state variables just before the support-leg exchange. The undisturbed Poincaré return map is described as z−ξ (k + 1) = P(z−ξ (k)), (3.60) where z−ξ (k) and z−ξ (k +1) are the zero dynamics state variables just before the support-leg exchange at the k-th step and the next, respectively. The stability test of the Poincaré return map (3.60) ∗ is summarized in the tasks of evaluating the existence of a stable fixed point z−ξ , such that ∗ ∗ z−ξ = P z−ξ . A closed-form of the Poincaré return map is usually unavailable, but it can be approximated through numerical simulation of the walk on nominal conditions without disturbances. From the simulation, the samples of the zero dynamics state variables z−ξ (k) are collected into a vector χ defined as ∗ χ1 z−ξ kρ − p − z−ξ ∗ − − χ2 zξ kρ − p + 1 − zξ , χ = . = (3.61) .. .. . ∗ χp z−ξ (kρ ) − z−ξ where p represents the number of support-leg exchanges executed in the simulation.
The linear approximation of the Poincaré return map is given by ∗
∗
P(z−ξ (kρ )) ≈ P(z−ξ ) + Jξ (z−ξ (kρ ) − z−ξ ),
(3.62)
where Jξ is the Jacobian of the Poincaré return map, which defines the stability of (3.60) around ∗ the fixed point z−ξ . Through a time displacement, the linear approximation (3.62) can also be expressed as ∗
∗
P(z−ξ (kρ − p + j − 1)) ≈ P(z−ξ ) + Jξ (z−ξ (kρ − p + j − 1) − z−ξ ),
(3.63)
replacing (3.60) in (3.63), the approximation of the Poincaré return map is ∗
∗
z−ξ (kρ − p + j) − z−ξ ≈ Jξ (z−ξ (kρ − p + j − 1) − z−ξ ),
(3.64)
χ j+1 ≈ Jξ χ j .
(3.65)
so that
30
Disturbance Rejection Control for Trajectory Tracking
Then, the Jacobian Jξ can be derived from the solution of find: Jξ 2×2 , such that: min
p−1 X
χ j+1 − Jξ χ j
2 .
(3.66)
j=1
The result yields the linear approximation of (3.60) as z−ξ (k + 1) ≈ Jξ z−ξ (k).
(3.67)
The stability analysis of (3.67), and therefore (3.60), is performed through the computation of the eigenvalues of Jξ ; namely, if the magnitude of each eigenvalue is less than one, then the robot has an orbital periodic stable behavior with asymptotic stability. However, under uncertainties and disturbed operation conditions, the asymptotic stability with convergence to a periodic orbit cannot be ensured [56]. For that reason, the distance dist (ϕ(t), O) is utilized just before the support-leg exchange to define an ultimate boundedness on the deference between the actual solution and the nominal orbit. The result is a Poincaré return map with uncertainties defined as z−ξ (k + 1) = Jξ z−ξ (k) + ΞΦ ,
(3.68)
where ΞΦ represents the model uncertainties and external disturbances affecting the Poincaré return map. By definition, ΞΦ is assumed to be uniformly and absolutely bounded around the origin. Thus, if ψ(k) is the solution of (3.68), then the gait under model uncertainties and disturbances is ∗ stable if there exist a constant ρ > 0 and an open neighborhood U ⊂ S of the fixed point z−ξ such
∗ that for every γ ∈ U there is a solution ψ(k) that satisfies ψ(0) = γ and limk→∞
ψ(k) − z−ξ
≤ ρ. The effects of the total hybrid disturbances ΞΦ in (3.68) are rejected through the trajectory generation strategy, which is described in the next section. Since ΞΦ is bounded, the stability of ∗ the Poincaré return map (3.60) in the vicinity of the fixed point z− is defined by the eigenvalues of Jξ . Thus, if the magnitudes of all the eigenvalues λ Jξ are less than one, the following statements are equivalent: ∗
(i) the Poincaré return map P(z−ξ (k)) is stable in a bounded neighborhood around z−ξ , (ii) the zero dynamic state variables, zξ , converge to a bounded neighborhood around the nominal orbital behavior O,
3.3 Model-based active disturbance rejection control (ADRC)
31
(iii) the full state variables, x, converge to a bounded neighborhood around a nominal orbital behavior, and
(iv) the gait has orbital periodic stability in a bounded neighborhood.
A trajectory generation strategy to adapt the gait to the effect of model uncertainties and external disturbances is described in the following section.
3.3
Model-based active disturbance rejection control (ADRC)
In order to provide robustness to the control of continuous dynamics against unknown model uncertainties and external disturbances, ADRC strategies have been successfully implemented. Examples of successful applications of ADRC are robotic exoskeletons [57, 58], mechatronic systems [59], robotic systems [45, 60], among other that can be found in [61]. The ADRC approach collects both endogenous (state-dependent) and exogenous (external force-dependent) disturbances into a lumped signal, referred to as the total disturbance. The total disturbance is treated as an unknown bounded signal with m continuous and bounded derivatives [54]. The core component of the ADRC approach is the design of an extended state observer (ESO) that estimates the total disturbance, which is, then, actively rejected through feedback control [62]. With this approach, the nonlinearities of the system are represented in a simplified model, affine in the control input, with a chain of integrators and the total disturbance. This has proved to successfully handle differences between the dynamics of the physical system and its mathematical model, driving the tracking errors to acceptable values [63]. Unfortunately, neglecting the system nonlinearities drastically reduces the performance of the closed-loop system. In this work, the trajectory tracking incorporates a model-based ADRC for hybrid dynamical systems that considers all the known system nonlinearities. In this approach, a nonlinear ESO estimates the total disturbance as well as the state variables. The design of the proposed modelbased ADRC is divided into three stages. First, a local coordinate transformation is performed to express the robot model into a normal form. Second, a nonlinear extended state observer (NESO) is designed to estimate the total disturbance signals in the robot. Finally, a feedback control law is proposed to perform an active cancellation of the disturbances. The components of the ADRC scheme are shown in Fig. 3.3.
32
Disturbance Rejection Control for Trajectory Tracking
𝜉𝑙𝑜𝑤 , 𝑧𝑙𝑜𝑤
𝐿𝑔 𝐿𝑓 ℎ
−1
𝐾𝐷 𝜉𝑙𝑜𝑤 + 𝐾𝑝 ℎ + 𝑧𝑙𝑜𝑤
NESO
𝒒𝒔
𝒗− −
Saurian
𝒖∗ 𝐿𝑔 𝐿𝑓 ℎ
−1
𝐿2𝑓 ℎ
1 0 ⋮ 0 0
0 1 ⋮ 0 0
⋯ ⋯ ⋱ 0 0
0 0 ⋮ 1 0
− 𝒒𝒃
ℎ
+
𝒒𝒅
Fig. 3.3. ADRC tracking control loop (Source: author).
3.3.1
Local coordinate transformation
A local coordinate transformation is proposed to express the model of the robot into a normal form. To this end, the controlled output vector h(x) (tracking error) is expressed as a function of the control input vector u (torque). This transformation formulates an explicit expression for the underactuated dynamics and decomposes the model into a reachable part and an unreachable part. The transformation also reveals important properties of the model, such as its relative degree. In this way, the output vector, which is a function of the generalized coordinates q s , is defined as y := h(x) = qd (q s ) − qb ,
(3.69)
where qb is the vector of controlled joints and qd (q s ) is the vector of target trajectories. In order to express the output vector as a function of the control input vector, successive time differentiations
3.3 Model-based active disturbance rejection control (ADRC)
33
of (3.69) are performed until the control input terms are explicit. This is, dy ∂h = x˙, dt h∂x ∂h = ∂q s
(3.70) ∂h ∂q˙ s
i
f (x) + g(x)u + γ(x, t) ,
(3.71)
= ∇h f (x) + ∇hg(x)u + ∇hγ(x, t),
(3.72)
= L f h + Lg hu + Lγ h,
(3.73)
where h is the short expression for h(x) and L f h, Lg h, and Lγ h, are the Lie derivatives of h along the vector fields f , g, and γ, respectively. Given that h is independent of q˙ s , then ∂h = 0, ∂q˙ s
(3.74)
therefore, ∇h =
h
∂h ∂q s
i 0 .
(3.75)
Based on the structure of (2.6), (2.7) and (3.75), the Lie derivatives of h along g and γ are Lg h = 0,
and
Lγ h = 0.
Then, the time derivative of the output can be expressed as dy = L f h. dt
(3.76)
Given that (3.76) is independent of u, an additional time derivative of the output is applied, d2 y h ∂ ∂h ∂h i = ∂qs ∂qs q˙ s ∂qs f (x) + g(x)u + γ(x, t) , 2 dt = L2f h + Lg L f hu + Lγ L f h,
(3.77) (3.78)
where L2f h := L f L f h , Lg L f h is a known decoupling matrix that is locally invertible, and Lγ L f h is a vector with the lumped total disturbance signals. The input-state interaction found in (3.78) implies that the robot has a relative degree equal to the sum of the relative degrees associated to each output, which are defined by the number of time derivatives required to make the control output a function of the control signal. That is, r = r1 +· · ·+rk , where k is the number of controlled joints. The relative degree for the bipedal robot considered in this work, which has one degree of
34
Disturbance Rejection Control for Trajectory Tracking
underactuation, is r = 2k = n − 2, where n is the number of state variables in the swing phase. After the definition of the relative degree r, it is possible to define a mapping Φ(x) :=
h
φ11 (x), · · · , φk1 (x), φ12 (x), · · · , φk2 (x), φr+1 (x), · · · , φn (x)
i
T
,
(3.79)
such that the Jacobian matrix of Φ(x) at the equlibrium point x◦ is nonsingular. Then, Φ(x) is a local coordinate transformation of (2.4) that is locally invertible in the neighborhood of x◦ [64].
Let us define the first r coordinate transformation functions as 1 1 ξ1 φ1 (x) h1 (x) . . .. .. .. . k k k ξ1 φ1 (x) h (x) , := ξ = 1 := 1 ξ2 φ2 (x) L f h1 (x) . . .. .. .. . L f hk (x) φk2 (x) ξ2k
(3.80)
where ξ is the vector of the first r state variable of the transformation.
Since n − r = 2, it is possible to define two functions independent of the control input, φr+1 (x) and φr+2 (x), to complete the transformation, such that Lg φr+1 (x) = 0,
and
Lg φr+2 (x) = 0.
Following [23], these two functions can be defined as, η1 φr+1 (x) := η = η2 φr+2 (x)
:=
Θ(q s ) Dn (q s )q˙s
,
(3.81)
where η is the vector of the last n − r state variable of the transformation.
The transformation defined by (3.80) and (3.81) is invertible. This is, q s = Φ−1 (ξ, η). x = q˙ s
(3.82)
35
3.3 Model-based active disturbance rejection control (ADRC) For the specific case of our robot, q s =
1 0 0 0 −1
0 0 1 0 0 1 0 0 0 − 21
0 0 0 1 0
0 0 0 0 1
ξ11 − q1d ξ12 − q2d ξ13 − q3d ξ14 − q4d η1
and q˙ s =
−1 dh dq s Dn (q s )
ξ21 ξ22 ξ23 ξ24 η2
+
.
0 0 0 0 π 2
,
(3.83)
(3.84)
The definition of the robot model considers disturbances that cannot be decoupled from the system dynamics. Therefore, the Lie derivatives of L f h, and φr+2 (x) along γ are different than zero, Lγ L f h , 0, and Lγ φr+2 (x) , 0. Notably, since φr+1 (x) is a function of the generalized coordinates only, then Lγ φr+1 (x) is equal to zero.
In order to model the disturbances, let us assume that each term of the vector Lγ L f h can be instantaneously approximated by a self-updated time-polynomial of order m − 1. Then, the mth time derivative of Lγ L f h vanishes, j
! j dm −1 Lγ L f h Φ (ξ, η) ≈ 0. dtm
(3.85)
In the same way, let us assume that Lγ φr+2 (x) can be instantaneously approximated by a constant, then d Lγ φr+2 (x) ≈ 0. (3.86) dt
36
Disturbance Rejection Control for Trajectory Tracking
Based on the above assumptions, that is, (3.85) and (3.86), one can define Lγ L f h, its corresponding m − 1 time derivatives, and Lγ φr+2 (x) as extended state variables of the model, z j =
j Lγ L f h d Lγ L f h j := dt .. . j j m−1 d zm L L h γ f m−1 z1j z2j .. .
,
(3.87)
dt
ρ := Lγ φr+2 (x),
(3.88)
for all j ∈ {1, · · · , k}. In an extended normal form, the continuous dynamics (2.4) can be expressed as a function of the state variables ξ, η, z j , and ρ as ξ˙1j ξ˙2j z˙1j z˙2j
= ξ2j j j = ϕ (ξ, η) + z1 j = z2 ∀ j, j = z3 .. . j m j d −1 z˙m = dtm Lγ L f h Φ (ξ, η) η˙ 1 L f φr+1 Φ−1 (ξ, η) η˙ 2 = L f φr+2 Φ−1 (ξ, η) + ρ(t) , d ρ˙ ρ(t) dt −1 y = h Φ (ξ, η) ,
(3.89)
(3.90) (3.91)
where j j ϕ j (ξ, η) = L2f h Φ−1 (ξ, η) + Lg L f h Φ−1 (ξ, η) u . In Section 3.3.2, the extended model described by (3.89), (3.90), and (3.91) is used to derive a nonlinear extended state observer that estimates the state variables and the total disturbances.
3.3.2
Nonlinear extended state observer (NESO)
An estimation of the state variables ξ, η, z j , and ρ can be found with the use of a NESO. The NESO design is based on the extended state model proposed in the local coordinate transformation
37
3.3 Model-based active disturbance rejection control (ADRC) (3.89), (3.90), and (3.91). Then, let us define NESO as ξ˙ˆ1j ξ˙ˆ2j z˙ˆ1j z˙ˆ2j
j = ξˆ2j + lm+1 (ξ jj − ξˆ1j ), ˆ η) = ϕ j (ξ, ˆ + zˆ1j + lm, j (ξ1j − ξˆ1j ), j (ξ1j − ξˆ1j ), = zˆ2j + lm−1 j = zˆ3j + lm−2 (ξ1j − ξˆ1j ), .. .
∀ j,
z˙ˆmj = l0j (ξ1j − ξˆ1j ), ˆ ηˆ ) + α2 (η1 − ηˆ 1 ) η˙ˆ 1 L f φr+1 Φ−1 (ξ, η˙ˆ 2 = L f φr+2 Φ−1 (ξ, ˆ ηˆ ) + ρˆ + α1 (η1 − ηˆ 1 ) ρ˙ˆ α0 (η1 − ηˆ 1 )
(3.92)
,
(3.93)
where l and α are the observer gains and ξˆ is the estimate of ξ (same for z, η, and ρ). Let us define the estimation error vectors as follows: j ξ1 − ξˆ1j j j ξ2 − ξˆ2 j j j ∀ j, (3.94) eˆ = z1 − zˆ1 . .. j j zm − zˆm η1 − ηˆ 1 ϱˆ = η2 − ηˆ 2 ρ − ρˆ
.
(3.95)
Now, subtracting the observer equations (3.92) and (3.93) from the extended model equations (3.89) and (3.90), it is possible to write the estimation error dynamics as j m d Lγ L f h Φ−1 (ξ, η) + ϕ j (ξ, η) − ϕ j ξ, ˆ ηˆ , e˙ˆ j = Aˆ j eˆ j + Bˆ dtm dρ ˜ ϱ˙ˆ = A˜ ϱˆ + B˜ + F, dt
∀ j,
(3.96)
(3.97)
38 where
Disturbance Rejection Control for Trajectory Tracking
j −lm+1 j −lm . Aˆ j = .. −l j 1 −l0j
0 0 0 0 . .. .. , ˆ , B = . 0 0 · · · 1 0 0 0 ··· 0 1 1 0 .. .
0 ··· 1 ··· .. . . . .
ˆ η) −α2 1 0 0 L f φr+1 Φ−1 (ξ, η) − L f φr+1 Φ−1 (ξ, ˆ ˆ η) A˜ = −α1 0 1 , B˜ = 0 , F˜ = L f φr+2 Φ−1 (ξ, η) − L f φr+2 Φ−1 (ξ, ˆ . −α0 0 0 1 0 ˆ η) Note that the difference between ϕ j (ξ, η) and ϕ j (ξ, ˆ are treated as disturbances in the estimation dynamics; thus, their effects are attenuated by the right selection of the observer gains. Similar effects can be accomplished with the differences ˆ η)), L f φr+1 (Φ−1 (ϵ, η)) − L f φr+1 (Φ−1 (ξ, ˆ and ˆ η)). L f φr+2 (Φ−1 (ξ, η)) − L f φr+2 (Φ−1 (ξ, ˆ The observer constants l and α must be appropriately selected in order to make the matrices Aˆ j and A˜ Hurwitz, and to achieve asymptotic estimation of the state variables and total disturbance signals.
3.3.3
Feedback control law
Let us use a feedback linearization strategy to design the control law for the model described in (3.78). This strategy is observer-based and includes a state feedback as well as the disturbance estimation. This is, u = u∗ + v, h i−1 h i u∗ = − Lg L f h L2f h , h i−1 h i v = − Lg L f h KD ξˆlow + KP h + zˆlow ,
(3.98) (3.99) (3.100)
39
3.4 Extended hybrid zero dynamics (EHZD) where ξˆlow =
h
zˆlow =
h
ξˆ21 ξˆ22 · · · ξˆ2k
i
zˆ11 zˆ21 · · · zˆk1
i
T
T
,
,
KD , and KP are diagonal positive defined matrices that tune the gains of the feedback control. Substituting (3.98) into (3.78), the closed-loop system takes the form d2 h + KD ξˆlow + KP h = Lγ L f h − zˆlow . dt2
(3.101)
Considering accurate estimations of ξˆlow and zˆlow , the estimation errors asymptotically converge to zero. Then, the closed-loop system dynamics is dominated by the differential equation d2 h dh + KP h ≈ 0. + K D dt2 dt
(3.102)
Finally, the control gain matrices KD and KP can be arbitrarily selected so that (3.102) is stable and satisfies a desired convergence rate.
3.4 3.4.1
Extended hybrid zero dynamics (EHZD) Derivation of EHZD
The maximal internal dynamics of the system when the output is identical to zero is called zero dynamics [64, p. 162]. Typically, the dimension of the zero dynamics is determined by the difference between the order of the system and its relative degree, n − r. However, this dimension does not consider unmodeled dynamics, model mismatching, or parameter uncertainties, which affect the stability of the system. This work proposes the use of an extended state variable ρ(t) that locally models the effects of the uncertainties and disturbances in the zero dynamics. The extended state ρ(t) and the states η1 and η2 in (3.90), with the state vector ξ being identically zero, produce the extended zero dynamics η˙ 1 a(η) η˙ 2 = b(η) + ρ(t) , (3.103) d ρ˙ ρ(t) dt
40
Disturbance Rejection Control for Trajectory Tracking
where −1 a(η) = L f φr+1 Φ (ξ, η) , ξ=0 −1 b(η) = L f φr+2 Φ (ξ, η) . ξ=0 The dimension of the extended zero dynamics is considerably less than the dimension of the system. Thus, the gait stability is implicitly encoded into a lower dimensional system defined by the extended zero dynamics.
Since, the impact produced at the support-leg exchange affects the system dynamics with a discrete event, the state variables of the extended zero dynamics are also affected. These state variables are reset after each support-leg exchange with the discrete reset function η+ ∆η (η− ) = ρ+ ∆ρ (ρ− )
,
(3.104)
where (η− , ρ− ) and (η+ , ρ+ ) are state variables of the extended zero dynamics state just before and after the support-leg exchange, respectively. ∆ρ (ρ− ) produces a unknown bounded value and ∆η can be computed directly from (2.19) and (3.81).
An EHZD is defined by (3.103) and (3.104). In a compact form, the EHZD can be written as z˙η = fη (zη ), Ση : z+η = ∆z (z−η ), where
z−η < S ∩ Z z−η ∈ S ∩ Z,
) ∂h(q s ) Z := ∈ R | y = h(q s ) = 0, y˙ = q˙ s = 0 , q s q˙ s ∂q s η1 a(η) ∆η (η− ) zη = η2 , fη (zη ) = b(η) + ρ(t) , and ∆z (z−η ) = d ∆ρ (ρ− ) ρ(t) ρ dt (h
T
T
i
T
(3.105)
n
(3.106) .
The next section defines a stability test for the EHZD using the estimations of the NESO developed in Section 3.3.2.
3.4 Extended hybrid zero dynamics (EHZD)
3.4.2
41
Asymptotic periodic orbits in EHZD
Under the assumption that the states h and L f h converge asymptotically to zero and remain zero after the support-leg exchange, there is an invariant set determined by the EHZD, which has the gait stability encoded. In this way, the gait stability can be defined by the presence of asymptotic periodic orbits in the evolution of the state variables of the EHZD. The use of the Poincaré return map transforms the problem of finding periodic orbits into a problem of finding fixed points of a particular discrete-time, nonlinear system [23, Ch. 4]. This work uses a stability test of the EHZD with the inclusion of an extended state that models zero dynamics uncertainties. The use of an extended state in the computation of the Poincaré return map makes possible to determine whether the uncertainties in the hybrid zero dynamics are periodic. Thus, if the uncertainties in the hybrid zero dynamics are periodic, then the stability of walking under uncertainties could be analyzed with the asymptotic convergence to a limit cycle in the neighborhood of the nominal unperturbed limit cycle. In this work, uncertainties (and disturbances) can be classified as persistent and non-persistent. Persistent uncertainties are inherent to the model and include unmodeled dynamics, model mismatching, and parameter uncertainties. Non-persistent uncertainties are sporadic external events and include rough terrain and external disturbances. In this way, the extended state variable ρ can be expressed as ρ = ρ p + ρ p¯ , (3.107) where ρ p and ρ p¯ represent the effect of the persistent and non-persistent uncertainties and disturbances in the zero dynamics, respectively. A periodic dynamic behavior is only observed under undisturbed conditions of operation, e.g., walking on flat terrain, constant mechanical properties, and no external disturbances. In this case, ρ p¯ = 0. Thus, stability can be determined based on the periodicity of the EHZD with persistent uncertainties and disturbances. In order to numerically compute the Poincaré return map, values of η1 , η2 , and ρˆ are sampled just before the support-leg exchange. Sampled values are collected in the vector z˜η (kρ ) := h i η−1 η−2 ρˆ − T , where kρ is a discrete-time variable that represents the kth support-leg exchange. Then, the Poincaré return map can be expressed as ˜ zη (kρ )), z˜η (kρ + 1) = P(˜
(3.108)
˜ zη (kρ )) maps the state variables of the extended zero dynamics just before the support-leg where P(˜ exchange of the current step z˜η (kρ ) to the states of the next support-leg exchange z˜η (kρ + 1). In ˜ zη (kρ )) around a fixed point z˜∗η (kρ ) order to test the stability of (3.108), a linear approximation of P(˜
42
Disturbance Rejection Control for Trajectory Tracking
is performed. The linear approximation is given by z˜η (kρ + 1) ≈ J˜zη (kρ ),
(3.109)
˜ zη (kρ )) around z˜∗η (kρ ). where J is the Jacobian of P(˜ The eigenvalues of J are used to indicate whether the gait is stable or not. In such a way, if the magnitude of the eigenvalues λ(J) satisfy |λ(J)| < 1,
(3.110)
then (3.109) is asymptotically stable. With this, the EHZD and, consequently, the full hybrid model have asymptotic periodic orbits; therefore, the gait is stable.
Chapter 4 Disturbance Rejection in Trajectory Generation This chapter presents a trajectory generation strategy to reject the effect of model uncertainties and external disturbances. The trajectory generation strategy produces adaptive reference trajectories for the tracking controllers developed in the previous chapter. The strategy proposed in this work is divided into three parts: first, a nominal reference trajectory is developed based on virtual holonomic constraints; second, a set of gait patterns is defined for a range of step lengths; and third, a reset control law is proposed to determine the gait pattern that best fit the post-impact robot state and to perform a smooth transition from the post-impact robot states to the selected gait pattern. The conjunction of these three parts allow the robot to walk on uncertain conditions and reject external disturbances. The remaining of this chapter describes these three parts.
4.1
Virtual holonomic constraints definition
This section develops a nominal reference trajectory to achieve a periodic gait pattern with asymptotic stability. This trajectory is defined using a trajectory generation strategy based on virtual holonomic constraints (VHC) [65]. VHC are imposed through feedback control with the action of actuators rather than internal forces of physical constraints. The main difference between physical and virtual holonomic constraints is that VHC can be modified on the fly without physical changes on the robot. In such a way, robustness against external disturbances and model uncertainties can be achieved through the modification of the reference trajectory defined by the nominal VHC [66].
44
Disturbance Rejection in Trajectory Generation
To achieve a stable gait, the controlled joints track a set of nominal reference trajectories that are synchronized with the underactuated degree of freedom q5 . In that way, the nominal reference trajectories are designed as functions of the angle Θ(q s ) between the ground and the virtual link that connects the support leg-end with the hip. Since Θ(q s ) is a function of q5 , then synchronizing the references with Θ(q s ) also synchronizes the references with the underactuated degree of freedom. In order to obtain a smooth motion of the controlled joints, the nominal reference trajectories are determined through the Bézier polynomials q¯ d, j (Θ(q s )) =
M X i=0
βij
M! si (1 − s) M−i , ∀ j, i!(M − i)!
(4.1)
where βij are the coefficients of the Bézier polynomials, M is the degree of the polynomials, s is defined in the interval [0, 1] and is computed with the normalization of the variable Θ(q s ) as Θ(q s ) − Θ+ ∗ s := − ∗ , Θ − Θ+ ∗
(4.2)
where Θ+ ∗ and Θ− ∗ are the target values of the angle Θ(q s ) at the beginning and end of the step, respectively. The Bézier polynomials allow us to define part of their coefficients directly from the evaluation of the polynomials and their time-derivatives at the target values of Θ(q s ) at the beginning and ending of the step. This is, q¯ d, j Θ+ ∗ = β0j , q¯ d, j Θ− ∗ = β Mj , M q˙¯ d, j Θ+ ∗ = − ∗ Θ − Θ+ ∗ ∗ M q˙¯ d, j Θ− = − ∗ Θ − Θ+ ∗
(4.3) (4.4) j ˙ +∗ , β1 − β0j Θ j j ˙ −∗ . Θ β M − β M−1
(4.5) (4.6)
Following (3.40), the target values Θ−∗ and Θ+∗ can be expressed as i 1 0 0.5 0 1 q−∗ s − 0.5π, h i = 1 0 0.5 0 1 q+∗ s − 0.5π,
Θ−∗ = Θ+∗
h
(4.7) (4.8)
45
4.1 Virtual holonomic constraints definition
+∗ where q−∗ s and q s are the target angles before and after the support-leg exchange, respectively. Considering that the Bézier polynomials (4.1) define the target trajectory of the angles, then (4.3) +∗ and (4.4) can be used to define q−∗ s and q s as
q+∗ s =
h
q−∗ s =
h
β10 β20 β30 β40 q±∗ 5
i
T
β1M β2M β3M β4M q±∗ 5
,
(4.9) i
T
,
(4.10)
where q±∗ 5 is the target angle of the torso at the support-leg exchange. Using (4.5) and (4.6), the target angular velocities can also be defined as functions of the Bézier polynomial coefficients as
q˙ +∗ s
=
q˙ −∗ s
=
M Θ− ∗ −Θ+ ∗
M Θ− ∗ −Θ+ ∗
1 β1 − β10 β21 − β20 ˙ +∗ Θ , 3 3 β − β 0 1 4 4 β1 − β0 +∗ q˙ 5 1 β M − β1M−1 β2M − β2M−1 ˙ −∗ β3 − β3 Θ M−1 M β4M − β4M−1 q˙ −∗ 5
(4.11)
,
(4.12)
where q˙ −∗ ˙ +∗ 5 and q 5 are the angular velocity of the torso before and after the support-leg exchange, respectively. In order to impose a periodic behavior in the robot’s hybrid dynamics, the target angles and angular velocities before and after the support-leg exchange can be related through the reset map (2.20) as −∗ q+∗ s = ∆q q s ,
(4.13)
q˙ +∗ s
(4.14)
=
−∗ ∆q˙ q−∗ ˙s . s q
An additional benefit produced by the relations (4.13) and (4.14) is that their use reduces the amount of unknown coefficients in two times the number of controlled joints. In the case of our robot, the reduction of unknown coefficients is eight. Now, the remaining coefficients βij in (4.1) are numerically selected with an optimization problem that searches for the minimum difference between the state variables of the robot at the
46
Disturbance Rejection in Trajectory Generation
ending of a step and their target values. This is, q−∗ s J(β) = −∗ q˙ s where
q−s − q˙ −s 2
(4.15)
j βi , β := q±∗ 5−∗ q˙ 5
for j = {1, 2, 3, 4} and i = {2, 3, · · · , M}. The optimization problem can be stated as find
h i −∗ T β = βij , q±∗ , q ˙ 5 5
minimize
J(β)
subject to
Behavioral constraints Nonlinear equality constraints Nonlinear inequality constraints β ≤ β ≤ β.
(4.16)
The feasible space of solution is defined by the lower boundary vector β and the upper boundary vector β. Additionally, the optimization problem satisfies a set of constraints that guarantees a stable gait. To this end, let us define the necessary conditions (constraints) to design a periodic stable gait.
4.1.1
Behavioral constraints
A behavioral constraint imposed by the robot’s dynamics is considered in the optimization problem (4.16). The nonlinearity and high order of the model that describes the robot’s dynamics increases the complexity of the optimization problem. To reduce such complexity, the order of the robot’s model can be enormously reduced with the assumption that a tracking control law u∗ , like (3.99), which is rewritten below, h i−1 h i u∗ = − Lg L f h L2f h , (4.17) allows tracking the VHC and zeroing the control output h, which in this case is equivalent to zeroing the tracking error. Then, the VHC induce a reduced-dimensional model, less complex
47
4.1 Virtual holonomic constraints definition
than the original robot’s model, called zero dynamics. Thus, the zero dynamics can become the behavioral constraint of the optimization problem and, consequently, reduce the complexity of the searching process. Assuming perfect knowledge of the robot’s model and without external disturbances, the zero dynamics of our robot can be extracted from (3.103) by replacing ρ(t) = 0, ∀t. Then, the zero dynamics can be expressed as z˙η = fη (zη ), where
(4.18)
) ∂h(q ) s Z := q˙ s = 0 , q s T q˙ s T T ∈ R | y = h(q s ) = 0, y˙ = ∂q s η1 a(η) zη = η2 , and fη (zη ) = b(η) . 0 0 h i The values of the state vector z can be used to compute the full state vector q s T q˙ s T T by applying the inverse transformation in (3.83) and (3.84) with ξ = 0. Thus, the zero dynamics can be used to reconstruct the values of the state variables of the robot at the ending of each step and use them in the objective function of the optimization problem.
4.1.2
(h
i
n
Nonlinear equality constraints
Nonlinear equality constraints are imposed in the optimization problem to satisfy a target step length sl∗ . Thus, the horizontal position of the swing leg-end at the beginning and ending of the step must be equal to the value of sl∗ . Under the assumptions that the support leg-end is in the zero position and that the robot walks in the negative direction, the nonlinear equality constraints can be formulated as +
ph2 − sl∗ = 0, − −ph2
+ sl∗ = 0.
(4.19) (4.20)
In the same way, the vertical position of the swing leg-end at the beginning and ending of the step must be equal to the ground height d. Since the design is being developed for nominal conditions,
48
Disturbance Rejection in Trajectory Generation
the ground height is d = 0. Then,
4.1.3
pv2 + = 0,
(4.21)
pv2 − = 0.
(4.22)
Nonlinear inequality constraints
Nonlinear inequality constraints are imposed in the gait design to satisfy conditions of the reaction forces in the support leg-end. Thus, the normal reaction force F1v is restricted to apply a unilateral constraint, such as −F1v < 0. (4.23) On the other hand, the tangential reaction force F1h is used to compute the ratio F1h /F1v , which must be less than the friction coefficient µ. This is, F1h /F1v − µ < 0.
(4.24)
A constraint in the control signals is imposed to ensure that the torque required to track the trajectories are reachable by the actuators. In this way, the values of the torque signals u∗ in (4.17) are bounded by the nominal torque of the gearmotors, τN , installed in the robot. Then, the constraint is max |u∗ | − τN < 0. (4.25) Finally, boundary constraints are imposed to the reference trajectories to ensure that the target movements are inside of the feasible range of movement of each joint. These constraints can be described as max q¯ d, j − qub d, j < 0, − min q¯ d, j + qlb d, j < 0,
∀ j,
(4.26)
∀ j,
(4.27)
lb where qub d, j and qd, j are the upper bound and lower bound of the jth joint, respectively. The following section presents a recurrent method to generate a set of gait patterns with different step length.
49
4.2 Surface of virtual holonomic constraints
4.2
Surface of virtual holonomic constraints
The VHC approach developed in Section 4.1 is used to generate a set of gait patterns that allows to reconfigure the VHC through software manipulation [24, 38]. In the method presented by [23], VHC are functions of the evolution angle Θ(q s ). Typically, VHC are updated only after each support-leg exchange, right before the swing phase. This feature implies a limitation in the classical VHC approach, since reaction to disturbances are taken just at the support leg exchange.
3.5
3.5
3
3
q¯ d,2 (rad)
q¯ d,1 (rad)
In this work, we propose to dynamically adjust VHC during the swing phase by adding the step length sl as an additional control variable. To this end, a set of gait patterns is defined for 0.13 m ≤ sl ≤ 0.20 m. The results of the gait patterns for each value of step length are shown in the Fig. 4.1.
2.5 2 2
2 2
0.2 1.5 Θ(q s ) (rad)
0.18
0.2 1.5
0.16
Θ(q s ) (rad)
sl (m)
0.18 0.16 sl (m)
0 q¯ d,4 (rad)
0 q¯ d,3 (rad)
2.5
-0.5
-1 2
0.2 1.5 Θ(q s ) (rad)
0.18 0.16 sl (m)
-0.5
-1 2
0.2 1.5 Θ(q s ) (rad)
0.18 0.16 sl (m)
Fig. 4.1. Trajectory reference curves for different step length targets, sl∗ (Source: author).
After all gait patterns have been defined, the results of each combination of sl and Θ(q s ) are used to fit four cubic smooth functions that allows to continuously modify the step length. The
50
Disturbance Rejection in Trajectory Generation
result of the fitting is shown in the Fig. 4.2. These surfaces are defined by qaux di (Θ(q s ), sl), which are the reference trajectories for each controlled joint. Including step length as a control variable to define the reference trajectories gives the trajectory generator the flexibility to reject model uncertainties and external disturbances in both continuous and discrete of a bipedal robot’s dynamics. The following section develops a reset control law to deal with disturbances that apart the robot from its nominal walking conditions.
Fig. 4.2. Trajectory reference surfaces based on Θ(q s ) and step length, sl (Source: author).
4.3
Reset control law for support-leg exchange
A reset control law is proposed to reject disturbances at the support-leg exchange. This reset control law combines a reset trajectory with a smooth transition from the post-impact robot states to the selected gait pattern. The reset trajectory uses an optimization process to find the gait pattern that best fits the configuration of the robot after each support-leg exchange. In a
4.3 Reset control law for support-leg exchange
51
complementary fashion, the smooth transition uses the passive trend of the post-impact states to perform a transition from the state of the robot after the support-leg exchange to the target trajectory. These two parts of the reset control law are described in the remainder of this section.
4.3.1
Optimal reset transition for support-leg exchange
The main limitation associated with the traditional use of VHC is the need of continuity on trajectory references to ensure zero tracking error after the support-leg exchange. This limitation implies that, after the support-leg exchange, the robot should be in a geometric configuration that coincides with the reference trajectory of the upcoming swing phase. This condition is almost never satisfied in uncertain walking conditions; therefore, the tracking errors at the beginning of swing phase are not zero. Despite the fact that the tracking controller can rapidly reduce the tracking error, a transient response affects the controlled joints suffering sudden changes. These sudden changes can produce a violation of the contact constraints on the support leg-end and cause the robot to take off the ground or slide. In order to address the continuity limitations of the VHC approach in the support-leg exchange, this work presents an optimization strategy that minimizes the tracking errors after this exchange and, therefore, minimizes the effects of the transitory responses. To this end, let us find a postimpact step length sld+ that minimizes the tracking error right after the support-leg exchange. The + + post-impact tracking error is defined as the difference between a set of references qaux di (Θ(q s ) , sld ) and the robot’s configuration q+bi . The optimization problem is formulated as min + sld
s.t.
4 X
qaux (Θ(q )+ , sl+ ) − q+
2 s d bi 2 di
(4.28)
i=1
0.13 ≤ sld+ ≤ 0.20.
∗ The optimal post-impact step length sld+ is found by solving the optimization problem (4.28) online after each support-leg exchange. This solution is used as the initial step length in each ∗ swing phase. Then, a dynamic transition between the initial step length sld+ and the target step length sld is determined by the transfer function slr =
1 sld , τ sl s + 1
(4.29)
52
Disturbance Rejection in Trajectory Generation
∗ with the initial condition sld+ . The transfer function (4.29) incorporates a step length dynamics to the trajectory definition. This dynamics is defined to be stable and with a steady state gain equals to one. The corresponding time constant τ sl is appropriately chosen to guarantee that the step length slr converges to its stationary value before the next support-leg exchange. This work uses the condition 5τ sl ≤ tavg /2, where tavg is the average time that a swing phase takes. The reference polynomials evaluated at slr in (4.29) produce an auxiliary set of trajectories qaux di (Θ(q s ), slr ).Such ∗ trajectories are illustrated in Fig. 4.3., which also shows the transition of the reference from sld+ to the target step length sld . With the proposed approach, the transient responses are minimized and the best gait pattern is defined for the robot’s state after each support-leg exchange. The next section presents a strategy to connect the post-impact robot configuration with the target trajectory.
Fig. 4.3. Optimal reset reference trajectory (Source: author).
4.3.2
Smooth transition from the passive to target dynamics
In order to provide continuity to the robot’s motion on uncertain walking conditions, this work proposes a smooth transition function that drives the robot’s states from the post-impact state to the target reference trajectories. This smooth transition benefits estimation of the state variables
53
4.3 Reset control law for support-leg exchange
given that jumps in the controlled joints are avoided and the state variables estimation remains in an invariant set [67, p. 68]. Under uncertain discrete dynamics, it is not possible to ensure that the robot’s states before the support-leg exchange are in their nominal values, defined here as q−∗ s x¯ = −∗ q˙ s
.
(4.30)
x− = x¯− + ε− ,
(4.31)
−
In that way, let us define the real pre-impact states as
where ε− is the offset between the nominal pre-impact states and the real ones. Then, post-impact states are defined by an extension of the reset map in (2.19) as x+ = ∆(x− ) + γ∆ , x¯+ + ε+ = ∆ x¯− + ε− .
(4.32) (4.33)
Following the above result, it is possible to conclude that even if the reference trajectories are designed in (4.15) to satisfy that J (β) → 0, it is unsure whether these conditions will be satisfied on uncertain terrain. Now, to avoid the sudden changes that could be produced by the uncertain terrain in the tracking error and its time-derivative, the post-impact angles q+b and the angular velocities q˙ +b are used to perform a smooth transition from the post-impact states to the nominal reference trajectories. To this end, let us define a passive trend function that will act as a passive reference just after the support-leg exchange. This is, ϑ j = q˙ +b j τ + q+b j , ∀ j,
(4.34)
considering the reset map in (2.20), (4.34) takes the form ϑ j = ∆q˙ (q−s )q˙ −s τ + ∆q q−s , ∀ j, j
j
(4.35)
where τ is a time variable that is reset to zero after each support-leg exchange. The functions ϑ j in (4.35) are used as the main passive reference just after the support-leg exchange. Then, a
54
Disturbance Rejection in Trajectory Generation
transition from ϑ to the trajectory qaux d (Θ(q s ), slr ) is performed with the use of the function aux qd, j = qaux + ϑ − q j d, j d, j Bz (taux ), ∀ j,
(4.36)
aux where qaux d, j is the short form of qd, j (Θ(q s , slr )), Bz (taux ) is a smooth function that changes from one to zero in a given period of time. The function Bz (taux ) is defined by a Bézier polynomial as
Bz (taux ) =
3 X i=0
bi
3! ti (1 − taux )3−i , 0 ≤ taux ≤ 1, i!(3 − i)! aux
(4.37)
satisfying the boundary conditions Bz (0) = b0 = 1, Bz (1) = b3 = 0, ! ∂Bz (taux ) = 3(b1 − b0 ) = 0, ∂taux t =0 aux
and
∂Bz (taux ) ∂taux
! t
= 3(b3 − b2 ) = 0. aux =1
The auxiliary time variable taux is defined so that (4.37) converges to zero in a fraction of the time of a nominal swing phase. Thus, taux = kτ τ,
(4.38)
where kτ is a constant that sets the transition period of the reference to 1/kτ . Fig. 4.4. shows the evolution of a reference qd, j from the trend function ϑ j to the target trajectory qaux d, j . As observed, the proposed smooth transition technique guarantees zero tracking error and zero first time-derivative error at the beginning of each step.
55
4.3 Reset control law for support-leg exchange
3.4 q-d
3.3
-
qb qaux+ d
Angle (rad)
3.2
q+ d +
qb
ϑ Impact
3.1
3
2.9
2.8 0
0.05
0.1
0.15
0.2
0.25
0.3
Time (s)
Fig. 4.4. Transference from the trend to the designed trajectory (Source: author).
Chapter 5 Numerical Simulations Numerical simulations are performed to evaluate the proposed control strategies in a variety of simulation scenarios. The robust multivariable GPI controller developed in Section 3.1 and the model-based ADRC developed in Section 3.3 are evaluated with tasks of tracking references produced by the trajectory generation strategy proposed in Section 4.2, and the reset control law formulated in Section 4.3. The connection scheme of these control actions is shown in Fig. 5.1.
+
𝒉
(𝒒𝒔 , 𝑭𝒗𝟏 ) Trajectory Tracking Controller
−
Saurian
𝒒𝒃
𝚯(𝒒𝒔 ) 𝒒𝒅 sl
Reset trajectory control law
Fig. 5.1. Complete scheme of control (Source: author).
58
Numerical Simulations
The performance and robustness of each controller is analyzed testing the robot’s gait in four different operation scenarios. The first operation scenario evaluates the robot under nominal conditions on a flat terrain without any perturbation. The second operation scenario corresponds to a walk on a terrain with height changes in uphill and downhill directions. The third operation scenario evaluates the robustness against external disturbance. This evaluation tests the robot in a horizontal walk on flat terrain with external disturbance forces. The fourth operation scenario tests the robustness against model mismatching. To perform these tests, uncertainties in the robot’s parameters are considered to build the dynamical model. Before we start with the numerical evaluation, the next section presents the robot’s nominal parameters and controller’s constants.
5.1 5.1.1
Parameters definition Robot parameters
The physical parameters of the robot are computed with a computer-aid design (CAD) software used to mechanically design a biped robot prototype. Table 5.1 shows the nominal values of the robot’s parameters. These values are used to build the hybrid dynamical model presented in Chapter 2 and to design the proposed control strategies in Chapter 3 and the trajectory generator in Chapter 4. Table 5.1 Physical parameters of the robot. Model parameter
Unit
Mass
kg
Length
m
Inertia
kg·m2
Mass center
m
Link Torso Tight Shin Torso Tight Shin Torso Tight Shin Torso Tight Shin
Label MT Mf Mt lT lf lt IT If It lTm lmf ltm
Value 2.5 1.0 0.4 0.291 0.185 0.185 0.014 0.010 0.002 0.062 0.086 0.055
59
5.2 Simulation under nominal conditions
5.1.2
Robust multivariable GPI controller tuning
The robust multivariable GPI controller tuning is based on a third-degree time polynomial approximation of the lumped disturbances γξj in (3.12). Following the protocol proposed in [68], the coefficients kij of the GPI controller in (3.24) are tuned to provide a stable and dominant behavior in the characteristic polynomial (3.28). The corresponding closed-loop roots are found to be −40, −50, −60, −75, −65, and −70.
5.1.3
Model-based ADRC tuning
In order to tune the model-based ADRC, the number of extended state variables in each controlled joint is selected as m = 1. The observer constants lij , α2 , α1 , and α0 in the NESO proposed in Section 3.3.2 are selected so that Aˆ j in (3.96) and A˜ in (3.97) are Hurwitz. Additionally, the tuning of the feedback control law, proposed in Section 3.3.3, includes a proportional-derivative action, which is tuned with identity matrixes multiplied by the proportional constant KP and the derivative constant KD . The selected constants are shown in Table 5.2 Table 5.2 ADRC tuning. α2 1 × 103
5.1.4
α1 5 × 104
α0 5 × 103
l2j 1 × 106
l1j 1 × 105
l0j 20
KP 350
KD 55
Trajectory generation parameters
The trajectory generation strategy proposed in Chapter 4, includes a reset control law that performs a transition from the post-impact states to the target trajectory. The duration of such transition is defined by τ sl in (4.29) and kτ in (4.38). These constants are functions of the average time duration of a step, tavg . Assuming tavg = 0.3 s, the time constant τ sl is selected to be τ sl = tavg /10 = 0.03, and the constant kτ = 10, thus taux in (4.38) converges to zero in 0.1 s.
5.2
Simulation under nominal conditions
The first operation scenario evaluates both controllers under nominal conditions, walking on a flat terrain, without external disturbances nor model uncertainties. A simulation of fifty steps is performed with each controller. These simulations include a test of the trajectory generator with constant parameters and a target step length sl = 15 cm.
60
Numerical Simulations
qd,1 qd,2 q s,1 q s,2
3.2 3
Force (N)
Angle (rad)
3.4
2.8 2.6 14
14.2 14.4 14.6 14.8
15
15.2 15.4 15.6 15.8
16
14.2 14.4 14.6 14.8
15
15.2 15.4 15.6 15.8
Force (N)
-0.5
5 Torque (N.m)
14.2 14.4 14.6 14.8
15
15.2 15.4 15.6 15.8
16
u1 u2 u3 u4
0
14.2 14.4 14.6 14.8
15 15.2 15.4 15.6 15.8 Time (s)
16
F1v
80 60 40 20 14
16 Friction ratio (N/N)
Angle (rad)
qd,3 qd,4 q s,3 q s,4 q s,5
0
-5 14
F1h
100
0.5
-1 14
20 10 0 -10 -20 14
14.2 14.4 14.6 14.8
15
15.2 15.4 15.6 15.8
16
1 F1h /F1v
0.5 0 -0.5 -1 14
14.2 14.4 14.6 14.8
15 15.2 15.4 15.6 15.8 Time (s)
16
Fig. 5.2. Tracking references, control signals, and reaction forces with the GPI tracking controller (Source: author).
Fig. 5.2. shows the reference trajectories qd, j , robot joints q s, j , and the control torques u j required to drive the robot to stable walking. As observed, the maximum values of the torques are within an admissible range of ±5 N·m. This figure also shows the normal and tangential reaction forces on the support leg-end, F1v and F1h . The positive sign of the normal force proves that the robot does not take off from the ground. In addition, the ratio between the tangential and the normal reaction forces, F1h /F1v , is less than the friction coefficient µ = 0.6, which guarantees that the support leg does not slip. These two characteristics of the reaction forces demonstrate that the unilateral constraints in the support leg-end are satisfied. An equivalent simulation is performed with the model-based ADRC. This controller also achieves trajectory tracking with bounded control signals. Fig. 5.3. shows the behavior of the trajectory tracking, control torques, and reaction forces in the robot during a walking under nominal conditions. This controller also satisfy the unilateral constraints in the support leg-end. Considering that the proposed tracking control strategies have different design approaches, a comparative analysis is not necessarily fair. However, it is possible to identify qualitative features in each controller. For example, the results of the tracking trajectory task with the GPI strategy show less oscillatory control signals than the ADRC. This effect can be attributed to the order of the polynomial used to approximate total disturbances. In the GPI controller, the total disturbance
61
5.2 Simulation under nominal conditions
qd,1 qd,2 q s,1 q s,2
3.2 3
Force (N)
Angle (rad)
3.4
2.8 2.6 14
14.2 14.4 14.6 14.8
15
15.2 15.4 15.6 15.8
16
14.2 14.4 14.6 14.8
15
15.2 15.4 15.6 15.8
Force (N)
-0.5
5 Torque (N.m)
14.2 14.4 14.6 14.8
15
15.2 15.4 15.6 15.8
16
u1 u2 u3 u4
0
14.2 14.4 14.6 14.8
15 15.2 15.4 15.6 15.8 Time (s)
16
F1v
80 60 40 20 14
16 Friction ratio (N/N)
Angle (rad)
qd,3 qd,4 q s,3 q s,4 q s,5
0
-5 14
F1h
100
0.5
-1 14
20 10 0 -10 -20 14
14.2 14.4 14.6 14.8
15
15.2 15.4 15.6 15.8
16
1 F1h /F1v
0.5 0 -0.5 -1 14
14.2 14.4 14.6 14.8
15 15.2 15.4 15.6 15.8 Time (s)
16
Fig. 5.3. Tracking references, control signals, and reaction forces with model-based ADRC (Source: author).
is approximated with a third order polynomial, while the model-based ADRC uses only one extended state, which is equivalent to make an approximation with a first order polynomial. A robustness measurement of each control strategy can be performed to study the behavior of the state variables and identify if they show a stable periodic behavior. Fig. 5.4. shows the evolution of the states variables during fifty steps. The initial conditions are marked with red asterisks. The evolution of the states reveals a periodic behavior in the full hybrid dynamics of the robot with both controllers. Although, the trajectory generator has the same settings for all the tests, the difference between the orbits produced by each controller is evident. The Poincaré return map can be used to quantify some of the differences between the orbits in each simulation. A linear approximation of the Poincaré return map can be defined to calculate the Jacobian of the return map in a fixed point, as described in (3.68). This approximation allows computing a metric for robustness in a periodic gait. This metric is defined by the dominant eigenvalue of the Jacobian. In that way, the state variables of the hybrid zero dynamics are sampled at the end of each step and collected to compute the multivariable regression described in Section 3.2.2. Since the Poincaré return map describes a discrete dynamics, the stability limit is defined by a unitary circle around the origin of the complex plane.
62
Numerical Simulations
q˙ s,2 (rad/s)
2 0 -2 2.6
q˙ s,3 (rad/s)
5
2.8
3 q s,1 (rad)
3.2
-5
3
10
2
5
1 0 -1 -0.5 -0.45 -0.4 -0.35 -0.3 -0.25 q s,3 (rad)
3 3.1 q s,2 (rad)
3.2
3.3
-5 -0.8
-0.6 -0.4 q s,4 (rad)
-0.2
1.2 1 η2
0 -2 -4 0.25
2.9
0
-10 -1
2 q˙ s,5 (rad/s)
0
-10 2.8
3.4
q˙ s,4 (rad/s)
q˙ s,1 (rad/s)
4
0.8 0.6
0.3
0.35 0.4 q s,5 (rad)
0.45
0.5
0.4 1.2
1.4
1.6 η1
1.8
2
Fig. 5.4. States convergence to stable cycles under nominal walking conditions. Blue: GPI controller; brown: model-based ADRC (Source: author).
For the GPI controller the Jacobian is −0.2719 −0.0065 , JGPI = −0.5637 0.7718
63
5.2 Simulation under nominal conditions and the corresponding magnitudes of the eigenvalues are 0.2754 . |λ (JGPI )| = 0.7753 Equivalently, for the model-based ADRC the Jacobian is JADRC
0.0611 0.0060 , = −5.1576 0.8109
and its eigenvalues magnitudes are 0.1055 . |λ (JADRC )| = 0.7664 Given that the eigenvalues magnitudes in both simulations are less than one, the total walking is asymptotically stable with periodic behavior for both controllers. The magnitude of the dominant eigenvalues in each simulations, 0.7753 for GPI and 0.7664 for ADRC, makes possible to identify that the ADRC strategy produces a periodic walking with eigenvalues farther from the stability limit in the GPI strategy. The difference between the dominant eigenvalues magnitudes could be understood as if the GPI controller had a higher robustness than the model-based ADRC; however, the difference is not big enough to make such conclusion. A performance analysis has been carried out to calculate the energy cost of the robot’s walking. For this, a metric based on the specific energetic cost of transport is defined, for a nominal step, as the ratio between the energy consumed in a step and the product of the step length and the robot’s weight. This is, Zt f 1 q˙ T Bu dt, h CT 1 = (5.1) s mg hip (t f ) − hiph (t0 ) t0
where hiph (t) is the horizontal position of the hip at time t, m is the total mass of the robot, g is the gravity constant, and t0 and t f are the time at the beginning and end of a step, respectively. A different metric of energetic cost that is commonly used is the specific mechanical cost of transport. This metric only considers the positive mechanical work of the actuators and is defined as Zt f 1 CT 2 = Pw dt, (5.2) mg hiph (t f ) − hiph (t0 ) t0
64 where
Numerical Simulations
q˙ s T Bu, if q˙ s T Bu > 0, Pw = 0, if q˙ s T Bu ≤ 0.
(5.3)
An alternative metric of energy cost is defined by the square norm of the control signals vector integrated during a full step, and divided by the product between the step length and the robot’s weight. This is Zt f 1 h uT u dt. (5.4) CT 3 = h mg hip (t f ) − hip (t0 ) t0
Table 5.3 shows the energy cost values of each controller measured with the three metrics. The results of energy cost show that the model-based ADRC strategy has a better energy use than the GPI controller. Indeed, the specific energetic cost of transport of the robot’s gait with model-based ADRC is less than humans’ energetic cost, which is estimated in 0.2 [69]. Table 5.4 ranks our mechanical cost of transport in comparative list with other representative robots. Table 5.3 Energetic cost of walking. GPI controller Model-based ADRC
CT 1 0.1773 0.1442
CT 2 0.1295 0.1122
CT 3 0.3121 0.2146
Table 5.4 Ranking of the mechanical cost of transport. Testbed RABBIT [19] MABEL [70] Saurian w/ GPI controller∗ Saurian w/ Model-based ADRC∗ Cornell Biped [69] ∗ Theoretical values.
5.3
CT 2 0.38 0.29 0.129 0.112 0.055
Simulation over uneven terrain
Simulations over uneven terrain with slopes of +3◦ (uphill), 0◦ (flat), and −3◦ (downhill) are performed with both controllers. As observed, both controllers allow the robot to maintain balance and satisfy all physical constraints. Fig. 5.5. shows a stick diagram of the robot walking
65
5.4 Simulation with external disturbances
over uneven terrain. Despite gait patterns have been designed for walking over flat terrain, the combined action of the tracking controllers and the trajectory generator empowers the robot with robustness against bounded height variations in the terrain. The slope of the terrain could be increased with trivial changes in the nonlinear equality constraints, (4.21) and (4.21), which are used to compute the virtual holonomic constraints.
0.4 (m)
0.3 0.2 0.1 0 -0.1
-1.8
-1.6
-1.4
-1.2
-1
-0.8 (m)
-0.6
-0.4
-0.2
0
0.2
Fig. 5.5. Stick diagram with the evolution of the walking over uneven terrain (Source: author).
Simulation with external disturbances
0.435
0.45
0.43
0.445 Average velocity (m/s)
Average velocity (m/s)
5.4
0.425 0.42 0.415 0.41 0.405 0.4 0.395 0
0.44 0.435 0.43 0.425 0.42 0.415
1
2
3
4 5 6 7 Time (s) (a) GPI controller
8
9
10
0.41 0
1
2
3
4 5 6 7 Time (s) (b) model-based ADRC
8
9
Fig. 5.6. Hip’s horizontal average velocity (Source: author).
The third operation scenario test robustness of the robot to reject external disturbances. A simulation is performed on nominal condition until the tenth step. Afterward, disturbance torques
66
Numerical Simulations
2
2.8
3 3.2 q s,1 (rad)
-6 2.8
3.4
3 3.1 q s,2 (rad)
3.2
2 0
-2 -0.5 -0.45 -0.4 -0.35 -0.3 -0.25 q s,3 (rad)
0 -5
1
0
0.8
-0.8
-0.6 -0.4 q s,4 (rad)
-1 -2 0.25
0.35 0.4 q s,5 (rad)
0.45
0.4 1.2
(a) GPI Controller.
q˙ s,2 (rad/s) 3 3.2 q s,1 (rad)
1.4
1.6 η1
1.8
2
0 -5 -10 2.8
3.4
2.9
3 3.1 q s,2 (rad)
3.2
3.3
10
2 1 0
2
0.6 0.3
2.8
-1 -0.5 -0.45 -0.4 -0.35 -0.3 -0.25 q s,3 (rad)
-0.2
η2
1
0
3
5
-10 -1
2 -2 2.6
3.3
q˙ s,3 (rad/s)
q˙ s,4 (rad/s)
q˙ s,3 (rad/s)
2.9
10
4
q˙ s,5 (rad/s)
-4
q˙ s,5 (rad/s)
-2 2.6
-2
5
4
q˙ s,4 (rad/s)
0
0
5 0 -5 -10 -1
-0.8
-0.6 -0.4 q s,4 (rad)
-0.2
1.2
0
1 η2
2
6 q˙ s,1 (rad/s)
q˙ s,2 (rad/s)
q˙ s,1 (rad/s)
4
-2
0.8
-4 0.25 0.3 0.35 0.4 0.45 0.5 q s,5 (rad)
0.6 1.2
1.4
1.6 η1
1.8
2
(b) Model-based ADRC.
Fig. 5.7. States convergence to nominal cycles after external disturbance (Source: author). are applied to the robot’s joints. The magnitude of disturbances are ± 40% of the maximum torque available on the motors (τN = 5 N·m). The disturbance has a duration of 0.2 s with a square form. Fig. 5.6. shows the average horizontal velocity of the robot’s hip during the walk. This figure also shows how the robot recovers its nominal average velocity after external disturbances, demonstrating the effectiveness of the disturbance rejection strategy. Fig. 5.7. shows the evolution of the robot’s state variables during the simulation test of external disturbances. In this figure, the convergence of the states to their nominal cycles is evidenced. Although each controller has its own nominal orbits, the asymptotic stability of the limit cycles is proved with the recover of the nominal behavior after the external disturbances.
5.5
Simulation with parameter uncertainties
The fourth operation scenario evaluates the robustness against parameter uncertainties (internal disturbances) with a variation of ± 20% on the mass of the torso, tights, and shins. Fig. 5.8. shows ˙ s ) for the robot walking with masses of 80%, 100%, and 120% of the evolution of Θ(q s ) and Θ(q their nominal values (Table 5.1). All the simulations start with the same initial conditions and all them have the same step length target. This figure also shows the expected adaptive behavior on the step length as a response to the disturbances produced by the parameter uncertainties.
5.5 Simulation with parameter uncertainties
67
The simulation results show that the sensitivity to parameter uncertainties of the model-based ADRC is higher than GPI controller; however, the action of the trajectory generator with the reset control law allows the robot to maintain a stable walking. The action of the reset control law is evident in the simulation of the model-based ADRC with the parameters in 80% of the nominal values. This simulation shows the evolution of step length from the post-impact value to the target value.
68
Numerical Simulations
1.6 IC 100 % 120 % 80 %
˙ (rad/s) Θ
1.4 1.2 1 0.8 0.151
0.1505
sl (m)
0.15 1.9
1.7
1.8
1.6
1.5
1.4
1.3
Θ (rad) (a) GPI Controller.
1.8
˙ (rad/s) Θ
1.6
IC 100 % 120 % 80 %
1.4 1.2 1 0.158 0.156 0.154 0.152 sl (m)
0.15 1.9
1.8
1.7
1.6
1.5
1.4
1.3
Θ (rad) (b) Model-based ADRC.
Fig. 5.8. Parameter uncertainties (Source: author).
Chapter 6 Design of the Testbed (Saurian) and Physical Experiments In order to analyze, design, and test the proposed disturbance rejection control strategies for hybrid dynamic systems, a bipedal robot was designed and fabricated. This robot, named Saurian, combines the continuous dynamics of the swing walking phase with the discrete dynamics of the support-leg exchange. An overview of the design and fabrication of Saurian is presented below.
6.1
Mechanism design
Saurian is conceived to move along its sagittal plane. Its lateral movements are constrained by a radial bar attached to a central column through a universal joint. The length of the radial bar is large enough, so that the robot’s gait can be approximated with a straight gait for all practical purposes. The mechanical configuration of Saurian is inspired by the French robot RABBIT [25], developed to be an active bipedal robot with the natural movement of a passive dynamic walker [1]. As RABBIT, Saurian is designed with five rigid links: two shins, two tights, and one torso. It takes advantage of the passive dynamics to achieve a power efficient walking through pointy-feet leg-ends without ankles. In order to physically approximate the leg-ends to pointy-feet, the first were built with fixed rubber wheels, which provide a pivot contact with the ground and a high friction coefficient (Fig. 6.1.). A significant difference from RABBIT is that Saurian incorporates flexible actuated joints as compliant mechanisms that isolate the motor’s shafts from impacts produced during support-leg
70
Design of the Testbed (Saurian) and Physical Experiments
Fixed rubber wheels
Fig. 6.1. Pointy feet built with fixed rubber wheel (Source: author).
exchange (Fig. 6.2.). The compliant mechanisms in Saurian also increase power efficiency due to the spring effect in storing impact kinetic energy and releasing it during the propulsion of the body in the next swing phase [26, 71, 72]. The design of hip and knee joints with compliant mechanisms are shown in Fig. 6.3. and Fig. 6.4., respectively. The hip and knee mechanisms have two four-bar linkage connected through a bi-directional springs arrangement assembled with compression springs, as it is shown in Fig. 6.2. These four-bar linkages work as torque transmission systems with a transmission ratio of 1:1. The use of these linkages allow measuring the relative angle of actuated joints and the relative angle of flexible joints.
6.2
Sensors, actuators, and control hardware
Saurian is equipped with four DC brushed motors coupled to high efficiency titanium gearboxes that transmit the torque to the controlled joints with a high power-to-weight ratio. A torque feedback control in the DC motors is designed and implemented using four current sensors. Each joint has an incremental encoder (nine in total): one encoder measures the absolute angle of the torso with respect to the central column, four encoders measure the relative angles of the actuated joints, and four encoders measure the relative angles of the flexible joints. Four linear potentiometers are also used in the actuated joints to define a fix reference frame for the
71
6.3 Walking experiments
Compression springs
Fig. 6.2. Compliant joint (Source: author).
corresponding angular positions. Two axial load cells are part of the shins to detect the reaction forces in the legs. Saurian’s testbed is shown in Fig. 6.5., which is composed of a Host-PC acting as the human-machine interface, and an XPC-Target dedicated computer in charge of computing the control signals. Saurian uses a real-time computing system to perform feedback control and store data for off-line analysis. The real-time computing system is developed on the XPC-Target toolbox from Matlab&Simulink® with a data acquisition DAQ environment to acquire data from sensors and transmit control outputs to the actuators, all at a rate of 1.0 KHz. Fig. 6.6. shows the flow diagram with the connection of the testbed and the interaction between the controller hardware, sensors, and the robot.
6.3
Walking experiments
Saurian is used to experimentally validate the proposed disturbance rejection control strategies. A set of three experiments were performed with the robot set up to walk over a flat terrain (a wooden
72
Design of the Testbed (Saurian) and Physical Experiments
Servomotor Compliant joint
Torso Encoder
Thigh
Internal view
External view
Fig. 6.3. Hip design with a compliant joint (Source: author).
Thigh
Compliant joint Servomotor
Shin
Internal view
Load cell
Encoder
External view
Fig. 6.4. Knee design with a compliant joint (Source: author).
73
6.3 Walking experiments
Host – PC
XPC – Target
Radial bar
Encoders Gear motors
Load cells Saurian
Fig. 6.5. Saurian’s testbed (Source: author).
table). A first experiment tested the subsystems integrations, the second experiment evaluated the GPI controller combined with the trajectory generator, and the third experiment tested the model-based ADRC strategy working with the trajectory generator. The details and results of these three experiments are presented below. The first experiment was carried out with a hand-assisted walking to test the right operation of all the subsystems in Saurian. This preliminary experiment can be seen in the snapshots in Fig. 6.7. The results of this test show the relevance of developing a trajectory generator with periodic gait patters and a reset control law to allow the robot a smooth transition in the support-leg exchange. The second experiment used Saurian to test the GPI controller integrated with the trajectory generator strategy and the reset control law. The results of this experiment confirm the expected periodic stable walking. The evolution of the trajectory references produced by the trajectory generator (hl,d , hr,d , kl,d , kr,d ), the controlled joint angles (hl , hr , kl , kr ), and the control torques
74
Design of the Testbed (Saurian) and Physical Experiments
Host - PC Parameters setting
Signal Conditioning Incremental encoders
Data saving
Amplifier and Low-pass filter
XPC-Target
Support leg Algorithm
𝑞𝑑 Trajectory tracking controller
Load cells x 2
PCI-port ADC
Θ(𝑞𝑠 )
𝑞𝑠
Linear Pot. x 4
PCI-port counter
Angles measurement
Trajectory generator
Encoders x 9
Torque feedback control 𝑢 Scaling
Control Signal
DC gearmotors x 4 Current sensors x 4 Power Supply
7.4V source
5V battery
Fig. 6.6. Flow diagram containing six modules: Host-PC, XPC-Target, Signal Conditioning, Power Drive, Power Supply, and Saurian (Source: author).
(τhl , τhr , τkl , τkr ) are shown in Fig. 6.8.. This figure shows the controlled joint angles closely tracking the trajectory references with control torques bounded inside of the operation range in the gearmotors. The third experiment evaluates the model-based ADRC strategy tracking the trajectory references for a target step length of 17 cm. Fig. 6.9. shows the controlled angles tracking the trajectory references with torque control signals bounded inside of the admissible values of the actuators. The evolution of the state variables is presented in the form of phase portraits in Fig. 6.10. for the GPI controller and in Fig. 6.11. for the model-based ADRC. The average trends in these plots shown to be periodic. Finally, video snapshots of the experiment are shown in Fig. 6.12. This figure and its linked video confirm the success in the physical implementation of the control strategies proposed.
6.4
Discussion of experiments
The experiments carried out in Saurian confirmed the effectivity of the proposed control strategies. The experimental results allow us to estimate the energetic cost of Saurian’s gait. Table 6.1
75
6.4 Discussion of experiments
01 s
02 s
03 s
04 s
05 s
06 s
07 s
08 s
09 s
10 s
11 s
12 s
Fig. 6.7. Preliminary experiment of hand-assisted walking. Snapshots sampled with a period of 1.0 s (Source: author). See video at https://youtu.be/JJ3R35p6Cn8
76
5
3.2 3 2.8 2.6 415 0
416
417
418
419
420
421
422
423
τh,l (Nm)
hd,l hl 424
416
417
418
419
420
421
422
423
416
417
418
419
420
421
422
423
424
416
417
418
419
420
421
422
423
424
416
417
418
419
420
421
422
423
424
416
417
418
419 420 Time (s)
421
422
423
424
5
424
0 -5 415
kd,l kl
-0.5
0 -5 415
hd,r hr τh,r (Nm)
3.2 3 2.8 2.6 415
416
417
418
419
420
421
422
416
417
418
419
420
421
422
423
416
417
418
419 420 Time (s)
421
422
5
424
423
0 -5 415
qT
0.5 0 415
424
kd,r kr
-0.5 -1 415 1
423
τk,l (Nm)
5 -1 415 0
τk,r (Nm)
Angle (rad)
Angle (rad)
Angle (rad)
Angle (rad)
Angle (rad)
Design of the Testbed (Saurian) and Physical Experiments
0 -5 415
424
5
3.2 3 2.8 2.6 405 0
406
407
408
409
410
411
412
413
τh,l (Nm)
hd,l hl 414
406
407
408
409
410
411
412
413
406
407
408
409
410
411
412
413
414
406
407
408
409
410
411
412
413
414
406
407
408
409
410
411
412
413
414
406
407
408
409 410 Time (s)
411
412
413
414
5
414
0 -5 405
kd,l kl
-0.5
0 -5 405
hd,r hr τh,r (Nm)
3.2 3 2.8 2.6 405
-1 405 0
406
407
408
409
410
411
412
406
407
408
409
410
411
412
413
406
407
408
409 410 Time (s)
411
412
413
0 -5 405 2
414 qT
0.5 0 405
414
kd,r kr
-0.5 -1 405 1
413
τk,l (Nm)
5
τk,r (Nm)
Angle (rad)
Angle (rad)
Angle (rad)
Angle (rad)
Angle (rad)
Fig. 6.8. Behavior of the states variables during the physical experiment of Saurian with a GPI controller (Source: author).
414
0 -2 -4 405
Fig. 6.9. Behavior of the states variables during the physical experiment of Saurian with a ADRC strategy (Source: author).
shows an estimation of the energetic cost of Saurian during a walking under nominal operation
77
4
4
2
2 k˙ l (rad/s)
k˙ r (rad/s)
6.4 Discussion of experiments
0 -2 -4
-2 -4
-0.8
-0.6 kr (rad)
-6 -1
-0.4
3
3
2
2 h˙ l (rad/s)
h˙ r (rad/s)
-6 -1
0
1 0 -1 -2 2.8
-0.8
-0.6 kl (rad)
-0.4
1 0 -1
2.9
3 3.1 hr (rad)
3.2
3.3
-2 2.8
2.9
3 3.1 hl (rad)
3.2
3.3
q˙ T (rad/s)
2 1 0 -1 -2 0.3
0.4
0.5 qT (rad)
0.6
0.7
Fig. 6.10. Periodic behavior in the state variables of Saurian. Experimental data with GPI controller (Source: author).
conditions. A comparative for energy costs can be performed between the experimental and theoretical energetic costs of transport, presented in Tables 5.3 and 6.1 In experiments, Saurian has a specific energetic cost of transport, CT 1 , with around twice the theoretical values. In contrast, the mechanical cost of transport, CT 2 , in experiments is around half of the theoretical values. The experimental CT 2 is in the range of humans’ mechanical cost of transport, which is estimated in 0.05 [69]. A comparative ranking of the specific energetic cost of transport, CT 1 , is shown in
78
4
4
2
2 k˙ l (rad/s)
k˙ r (rad/s)
Design of the Testbed (Saurian) and Physical Experiments
0 -2 -4
-2 -4
-0.8
-0.6 kr (rad)
-6 -1
-0.4
3
3
2
2 h˙ l (rad/s)
h˙ r (rad/s)
-6 -1
0
1 0 -1 -2 2.8
-0.8
-0.6 kl (rad)
-0.4
1 0 -1
2.9
3 3.1 hr (rad)
3.2
3.3
0.4
0.5 0.6 qT (rad)
0.7
0.8
-2 2.8
2.9
3 3.1 hl (rad)
3.2
3.3
q˙ T (rad/s)
2 1 0 -1 -2 0.3
Fig. 6.11. Periodic behavior in the state variables of Saurian. Experimental data with model-based ADRC (Source: author).
Table 6.2 This table ranks Saurian as one of the most efficient walkers, outweighed only by the iconic Cornell biped robot and humans. Despite the successful validation of the controllers, there are improvement possibilities in the robot design and fabrication process that could increase gait robustness and minimize its energetic cost. Saurian’s testbed has a wide source of model uncertainties including model mismatching and manufacturing imperfections. Model mismatching is caused by factors such as joint compliance and robot asymmetry. The joint compliance is a product of the flexible coupling between the
79
6.4 Discussion of experiments
31 s
32 s
33 s
34 s
35 s
36 s
37 s
38 s
39 s
40 s
41 s
42 s
Fig. 6.12. Snapshots sampled with a period of 1.0 s (Source: author). See video at https: //youtu.be/sNaXcFzXQFc
80
Design of the Testbed (Saurian) and Physical Experiments Table 6.1 Energetic cost of walking in experiments. GPI controller Model-based ADRC
CT 1 0.4455 0.3279
CT 2 0.1794 0.0530
CT 3 2.2188 0.8635
Table 6.2 Experimental ranking of the specific energetic cost of transport [69]. Testbed Petman-Boston Dynamics ASIMO DURUS Saurian w/ GPI controller Saurian w/ Model-based ADRC Cornell Biped Humans
CT 1 20 3.2 1.0 0.45 0.33 0.2 0.2
actuators and the joints, which causes deviations in the controlled angles that are considered in the robot’s model as unmodel dynamics. The robot asymmetry is caused in large part by the difference in the radii of the circular paths of the internal and the external (right and left) legs of the robot. Manufacturing imperfections, which are ever-present in the fabrication and assembly of a physical prototype, cause aleatory uncertainties that produce asymmetries and joint backlash. Finally, since the double support phase of the walking is not instantaneous, as assumed in the mathematical model, the robot suffers external unexpected perturbing forces during the leg-end swing. Notably, despite the multiple sources of uncertainty, the time evolution of all state variables shows a periodic trend demonstrating that the proposed disturbance rejection control strategies are able to maintain Saurian in a periodic and stable gait.
Chapter 7 Concluding Remarks 7.1 7.1.1
Summary Robust multivariable GPI controller for hybrid dynamical systems
Model uncertainties produced by unmodeled dynamics and parameter uncertainties were lumped with external disturbances into the total disturbance signals γξ , as presented in (3.7) (Section 3.1.1). In terms of trajectory tracking control for dynamic bipedal robots, the contributions of this work include (i) a dynamic decoupling of multivariate disturbances through the use of a simplified model with polynomial input disturbances of certain finite, but arbitrary, degree (Section 3.1.2); (ii) and a robust multivarable GPI controller for a nonlinear underactuated system, which allows an effective trajectory tracking and the rejection of external disturbances and model uncertainties (Section 3.1.3).
7.1.2
Asymptotic periodic orbits in HZDU
The conditions to analyze the gait stability of dynamic bipedal robots with uncertainties have been established (Section 3.2.1). The Poincaré method is used to define the periodic stability of a reduced order model defined by the HZDU. The periodic stability of HZDU is used to conclude that the full hybrid dynamics with uncertainties is periodic stable, and, consequently, the robot’s gait is stable (Section 3.3.3).
82
7.1.3
Concluding Remarks
Model-based ADRC for hybrid dynamical systems
A trajectory tracking controller is developed with a model-based ADRC for an underactuated hybrid dynamic bipedal robot (Section 3.3). A local coordinate transformation is established to decompose the model into its reachable and unreachable parts (Section 3.3.1). The result of the local coordinate transformation is used to build a NESO, which estimates the state variables and the total disturbances in the swing phase of the robot’s gait (Section 3.3.2). NESO’s resulting estimations are used to perform a feedback control law that actively rejects the model uncertainties and the external disturbances in the robot’s continuous dynamics (Section 3.3.2).
7.1.4
Asymptotic periodic orbits in EHZD
In order to analyze gait stability with model uncertainties, a stability test based on an extended hybrid zero dynamics (EHZD) was introduced (Section 3.4). The proposed EHZD incorporates an extended state variable that models the uncertainties in the hybrid zero dynamics (Section 3.4.1). The extended state variable is estimated to search for an asymptotic periodic behavior in the reduced order model EHZD. The Poincaré method is used to search periodic stable orbits in EHZD and identify periodic stable orbits of the full hybrid model with uncertainties and, consequently, the stability of the robot’s gait (Section 3.4.2).
7.1.5
Disturbance rejection in trajectory generation
A methodology to define a set of gait patterns in a feasible range of step lengths was developed. The gait patterns produced with this methodology were used to construct continuous surfaces of VHC, which allowed to dynamically adjust the target step length even in the middle of a swing phase. The VHC were numerically calculated to guarantee periodic stable gait under nominal conditions (Section 4.1). The reference trajectories were designed to satisfy the unilateral constraints on the reaction forces in the support leg-end. These reference trajectories produced with the VHC also satisfy the boundary conditions imposed by the saturation limits in the actuators of the robot. The surfaces of VHC eliminate the limitation of the classical VHC approach by updating gait patterns in the swing phase (Section 4.2)
7.1.6
Reset control law to reject disturbances at the support-leg exchange
A reset control law is proposed to reject disturbances and guarantee a stable gait under uncertain walking conditions (Section 4.3). The proposed reset control law combines a reset reference
7.2 Perspectives for future studies
83
trajectory and a smooth transition strategy to drive the robot from its post-impact state to the target trajectory. The reset reference trajectory solves an optimization problem to find the best gait pattern after each support-leg exchange (Section 4.3.1). The smooth transition strategy ensures zero tracking error after the this process, driving the robot from its passive dynamics trend to the target trajectory defined by the selected gait pattern (Section 4.3.2).
7.1.7
Numerical simulations
The proposed control strategies were validated using numerical simulations that demonstrate robustness against external disturbances (external torques) and model uncertainties (terrain variations and parameter uncertainties). The numerical evaluations exhibit that, under nominal operation conditions, the control strategies have the ability to produce stable gaits with asymptotic periodic orbits in the robot’s state variables. Furthermore, analysis of robustness and performance are developed with results that show high degrees of robustness with low energetic costs (Section 5.2). The evaluations of the proposed control strategies also establish the robustness of the walking in different operation scenarios, such as walking under external disturbances (Section 5.3), uneven ground with uphills and downhills terrains (Section 5.4), and controllers with model-parameter uncertainties (Section 5.5).
7.1.8
Experiments
A testbed for a planar biped robot with dynamic walking was designed and fabricated to evaluate the proposed disturbance rejection control strategies. Three experiments were presented to prove the effective operation and integration of the subsystems in the testbed. The performance analysis of experiments confirmed the energetic efficiency of the robot while walking in laboratory conditions with the proposed controllers. Additionally, as expected from simulation results, the results of the experiments show periodic orbits in the behavior of state variables.
7.2
Perspectives for future studies
The perspectives for future studies on the field include the extension of the proposed disturbance rejection control strategies to dynamic bipedal robots in three-dimensions. To accomplish such objective would be necessary to develop a trajectory generator that includes the lateral degrees of freedom of the robot. Additionally, it would be required to define which of the underactuated
84
Concluding Remarks
degrees of freedom can be assumed as unmodeled dynamics to subsequently estimate their effects in the NESO. An opportunity to increase the robustness of the walking would be to design an active rejection controller based on the disturbance estimation of the hybrid zero dynamics. A natural extension of this research would be to examine the sensitivity of gait parameters such as step length or forward speed to use them as control variables in an outer loop. In terms of the robot design, future improvements could be achieved by designing legged robots with flexible links instead of flexible joints. This would produce the same compliant effect in the robot but with less mechanical elements. Finally, reducing elements in the robot could also reduce the total mass, decrease the energetic cost of transport, and alleviate the backlash effects produced in the coupling joints.
References [1] T. McGeer et al., “Passive dynamic walking,” I. J. Robotic Res., vol. 9, no. 2, pp. 62–82, 1990. [2] G. Nelson, A. Saunders, N. Neville, B. Swilling, J. Bondaryk, D. Billings, C. Lee, R. Playter, and M. Raibert, “Petman: A humanoid robot for testing chemical protective clothing,” Journal of the Robotics Society of Japan, vol. 30, no. 4, pp. 372–377, 2012. [3] C. G. Atkeson, B. Babu, N. Banerjee, D. Berenson, C. Bove, X. Cui, M. DeDonato, R. Du, S. Feng, P. Franklin, et al., “What happened at the darpa robotics challenge, and why?,” submitted to the DRC Finals Special Issue of the Journal of Field Robotics, vol. 1, pp. 1–12, 2016. [4] T. McGeer, “Passive walking with knees,” in Robotics and Automation, 1990. Proceedings., 1990 IEEE International Conference on, pp. 1640–1645, IEEE, 1990. [5] A. Goswami, B. Espiau, and A. Keramane, “Limit cycles and their stability in a passive bipedal gait,” in Robotics and Automation, 1996. Proceedings., 1996 IEEE International Conference on, vol. 1, pp. 246–251, IEEE, 1996. [6] A. Goswami, B. Espiau, and A. Keramane, “Limit cycles in a passive compass gait biped and passivity-mimicking control laws,” Autonomous Robots, vol. 4, no. 3, pp. 273–286, 1997. [7] M. W. Spong, “Passivity based control of the compass gait biped,” IFAC Proceedings Volumes, vol. 32, no. 2, pp. 506–510, 1999. [8] M. W. Spong, J. K. Holm, and D. Lee, “Passivity-based control of bipedal locomotion,” IEEE Robotics & Automation Magazine, vol. 14, no. 2, pp. 30–40, 2007. [9] S. H. Collins, M. Wisse, and A. Ruina, “A three-dimensional passive-dynamic walking robot with two legs and knees,” The International Journal of Robotics Research, vol. 20, no. 7, pp. 607–615, 2001. [10] Y. Sakagami, R. Watanabe, C. Aoyama, S. Matsunaga, N. Higaki, and K. Fujimura, “The intelligent asimo: System overview and integration,” in International Conference on Intelligent Robots and Systems, 2002. IEEE/RSJ, vol. 3, pp. 2478–2483, IEEE, 2002. [11] M. Vukobratovi´c and B. Borovac, “Zero-moment point-thirty five years of its life,” International Journal of Humanoid Robotics, vol. 1, no. 1, pp. 157–173, 2004.
86
References
[12] P. G. Adamczyk, S. H. Collins, and A. D. Kuo, “The advantages of a rolling foot in human walking,” Journal of Experimental Biology, vol. 209, no. 20, pp. 3953–3963, 2006. [13] S. Kajita, H. Hirukawa, K. Harada, and K. Yokoi, Introduction to humanoid robotics, vol. 101. Springer, 2014. [14] M. H. Raibert, “Hopping in legged systems-modeling and simulation for the two-dimensional one-legged case,” IEEE Transactions on Systems, Man, and Cybernetics, no. 3, pp. 451–463, 1984. [15] M. H. Raibert, “Legged robots,” Communications of the ACM, vol. 29, no. 6, pp. 499–514, 1986. [16] R. Alexander, “Three uses for springs in legged locomotion,” International Journal of Robotics Research, vol. 9, no. 2, pp. 53–61, 1990. [17] J. Pratt, P. Dilworth, and G. Pratt, “Virtual model control of a bipedal walking robot,” in Robotics and Automation, 1997. Proceedings., 1997 IEEE International Conference on, vol. 1, pp. 193–198, IEEE, 1997. [18] J. Pratt, C.-M. Chew, A. Torres, P. Dilworth, and G. Pratt, “Virtual model control: An intuitive approach for bipedal locomotion,” The International Journal of Robotics Research, vol. 20, no. 2, pp. 129–143, 2001. [19] E. R. Westervelt, Toward a coherent framework for the control of planar biped locomotion. PhD thesis, University of Michigan Ann Arbor, MI, USA, 2003. [20] Y. Hürmüzlü and G. D. Moskowitz, “The role of impact in the stability of bipedal locomotion,” Dynamics and Stability of Systems, vol. 1, no. 3, pp. 217–234, 1986. [21] Y. Hürmüzlü and G. D. Moskowitz, “Bipedal locomotion stabilized by impact and switching: I. two-and three-dimensional, three-element models,” Dynamics and Stability of Systems, vol. 2, no. 2, pp. 73–96, 1987. [22] Y. Hürmüzlü and G. D. Moskowitz, “Bipedal locomotion stabilized by impact and switching: Ii. structural stability analysis of a four-element bipedal locomotion model,” Dynamics and Stability of Systems, vol. 2, no. 2, pp. 97–112, 1987. [23] E. R. Westervelt, J. W. Grizzle, C. Chevallereau, J. H. Choi, and B. Morris, Feedback control of dynamic bipedal robot locomotion, vol. 28. CRC press, 2007. [24] C. Canudas-de Wit, “On the concept of virtual constraints as a tool for walking robot control and balancing,” Annual Reviews in Control, vol. 28, no. 2, pp. 157–166, 2004. [25] C. Chevallereau, G. Abba, Y. Aoustin, F. Plestan, E. Westervelt, C. C. de Wit, and J. Grizzle, “Rabbit: A testbed for advanced control theory,” IEEE Control Systems Magazine, vol. 23, no. 5, pp. 57–79, 2003.
References
87
[26] K. Sreenath, H.-W. Park, I. Poulakakis, and J. W. Grizzle, “A compliant hybrid zero dynamics controller for stable, efficient and fast bipedal walking on mabel,” The International Journal of Robotics Research, vol. 30, no. 9, pp. 1170–1193, 2011. [27] K. A. Hamed and J. W. Grizzle, “Reduced-order framework for exponential stabilization of periodic orbits on parameterized hybrid zero dynamics manifolds: Application to bipedal locomotion,” Nonlinear Analysis: Hybrid Systems, vol. 25, pp. 227–245, 2017. [28] E. R. Westervelt, J. W. Grizzle, and D. E. Koditschek, “Hybrid zero dynamics of planar biped walkers,” IEEE Transactions on Automatic Control, vol. 48, no. 1, pp. 42–56, 2003. [29] H. Dai and R. Tedrake, “L 2-gain optimization for robust bipedal walking on unknown terrain,” in IEEE International Conference on Robotics and Automation (ICRA), 2013, pp. 3116–3123, IEEE, 2013. [30] B. Griffin and J. Grizzle, “Walking gait optimization for ACCommodation of unknown terrain height variations,” in American Control Conference (ACC), 2015, pp. 4810–4817, IEEE, 2015. [31] B. Griffin and J. Grizzle, “Nonholonomic virtual constraints and gait optimization for robust walking control,” The International Journal of Robotics Research, vol. 36, no. 8, pp. 895–922, 2017. [32] A. D. Ames, K. Galloway, K. Sreenath, and J. W. Grizzle, “Rapidly exponentially stabilizing control lyapunov functions and hybrid zero dynamics,” IEEE Transactions on Automatic Control, vol. 59, no. 4, pp. 876–891, 2014. [33] S.-C. Hsu, X. Xu, and A. D. Ames, “Control barrier function based quadratic programs with application to bipedal robotic walking,” in American Control Conference (ACC), 2015, pp. 4542–4548, IEEE, 2015. [34] K. A. Hamed and A. D. Ames, “Nonholonomic hybrid zero dynamics for the stabilization of periodic orbits: Application to underactuated robotic walking,” IEEE Transactions on Control Systems Technology, vol. 28, no. 6, pp. 2689–2696, 2019. [35] J. C. Horn, A. Mohammadi, K. A. Hamed, and R. D. Gregg, “Nonholonomic virtual constraint design for variable-incline bipedal robotic walking,” IEEE Robotics and Automation Letters, vol. 5, no. 2, pp. 3691–3698, 2020. [36] J. P. Reher, A. Hereid, S. Kolathaya, C. M. Hubicki, and A. D. Ames, “Algorithmic foundations of realizing multi-contact locomotion on the humanoid robot durus,” in Algorithmic Foundations of Robotics XII, pp. 400–415, Springer, 2020. [37] B. G. Buss, K. A. Hamed, B. A. Griffin, and J. W. Grizzle, “Experimental results for 3d bipedal robot walking based on systematic optimization of virtual constraints,” in 2016 American Control Conference (ACC), pp. 4785–4792, IEEE, 2016.
88
References
[38] C. Chevallereau, J. W. Grizzle, and C.-L. Shih, “Asymptotically stable walking of a five-link underactuated 3-d bipedal robot,” IEEE Transactions on Robotics, vol. 25, no. 1, pp. 37–50, 2009. [39] M. Johnson, B. Shrewsbury, S. Bertrand, T. Wu, D. Duran, M. Floyd, P. Abeles, D. Stephen, N. Mertins, A. Lesman, et al., “Team ihmc’s lessons learned from the darpa robotics challenge trials,” Journal of Field Robotics, vol. 32, no. 2, pp. 192–208, 2015. [40] M. Johnson, B. Shrewsbury, S. Bertrand, D. Calvert, T. Wu, D. Duran, D. Stephen, N. Mertins, J. Carff, W. Rifenburgh, et al., “Team ihmc’s lessons learned from the darpa robotics challenge: finding data in the rubble,” Journal of Field Robotics, vol. 34, no. 2, pp. 241–261, 2017. [41] C. Hubicki, J. Grimes, M. Jones, D. Renjewski, A. Spröwitz, A. Abate, and J. Hurst, “Atrias: Design and validation of a tether-free 3d-capable spring-mass bipedal robot,” The International Journal of Robotics Research, vol. 35, no. 12, pp. 1497–1521, 2016. [42] W.-L. Ma, S. Kolathaya, E. R. Ambrose, C. M. Hubicki, and A. D. Ames, “Bipedal robotic running with durus-2d: Bridging the gap between theory and experiment,” in Proceedings of the 20th International Conference on Hybrid Systems: Computation and Control, pp. 265– 274, ACM, 2017. [43] J. Arcos-Legarda, J. Cortes-Romero, and A. Tovar, “Robust compound control of dynamic bipedal robots,” Mechatronics, vol. 59, pp. 154–167, 2019. [44] J. Arcos-Legarda, J. Cortes-Romero, and A. Tovar, “Generalized proportional integral control for aperiodic gait stabilization of a bipedal robot with seven degrees of freedom,” in Latin American Conference of Automatic Control, 2016. [45] J. Arcos-Legarda, J. Cortes-Romero, and A. Tovar, “Active disturbance rejection control based on generalized proportional integral observer to control a bipedal robot with five degrees of freedom,” in 2016 American Control Conference (ACC), pp. 3928–3933, IEEE, 2016. [46] J. Arcos-Legarda, J. Cortes-Romero, A. Beltran-Pulido, and A. Tovar, “Hybrid disturbance rejection control of dynamic bipedal robots,” Multibody System Dynamics, vol. 46, no. 3, pp. 281–306, 2019. [47] J. Arcos-Legarda, J. Cortes-Romero, and A. Tovar, “Nonlinear extended state observer for hybrid dynamical systems,” in 2019 IEEE 4th Colombian Conference on Automatic Control (CCAC), pp. 1–6, IEEE, 2019. [48] Y. Hurmuzlu and D. B. Marghitu, “Rigid body collisions of planar kinematic chains with multiple contact points,” The International Journal of Robotics Research, vol. 13, no. 1, pp. 82–92, 1994. [49] J. W. Grizzle, G. Abba, and F. Plestan, “Asymptotically stable walking for biped robots: Analysis via systems with impulse effects,” IEEE Transactions on Automatic Control, vol. 46, no. 1, pp. 51–64, 2001.
References
89
[50] A. S. Householder, The theory of matrices in numerical analysis. Mineola, New York: Dover Publications, Inc., 1964. [51] H. Sira-Ramirez, F. Beltrán-Carbajal, and A. Blanco-Ortega, “A generalized proportional integral output feedback controller for the robust perturbation rejection in a mechanical system,” STA, vol. 5, no. 4, pp. 24–32, 2008. [52] H. Sira-Ramírez, C. G. Rodríguez, J. C. Romero, and A. L. Juárez, Algebraic identification and estimation methods in feedback control systems. Chichester, West Sussex, United Kingdom: John Wiley & Sons, 2014. [53] H. Sira-Ramírez, A. Luviano-Juárez, M. Ramirez-Neria, and R. Garrido-Moctezuma, “Flat filtering: A classical approach to robust control of nonlinear systems,” in 2016 American Control Conference (ACC), pp. 3844–3849, IEEE, 2016. [54] H. Sira-Ramírez, Z. Gao, and E. Canuto, “An active disturbance rejection control approach for decentralized tracking in interconnected systems,” in 2014 European Control Conference (ECC), pp. 588–593, IEEE, 2014. [55] J. Cortés-Romero, G. A. Ramos, and H. Coral-Enriquez, “Generalized proportional integral control for periodic signals under active disturbance rejection approach,” transactions, vol. 53, no. 6, pp. 1901–1909, 2014. [56] S. Veer and I. Poulakakis, “Input-to-state stability of periodic orbits of systems with impulse effects via poincaré analysis,” IEEE Transactions on Automatic Control, vol. 64, no. 11, pp. 4583–4598, 2019. [57] R. Mado´nski, M. Kordasz, and P. Sauer, “Application of a disturbance-rejection controller for robotic-enhanced limb rehabilitation trainings,” ISA Transactions, vol. 53, no. 4, pp. 899– 908, 2014. [58] Y. Long, Z. Du, L. Cong, W. Wang, Z. Zhang, and W. Dong, “Active disturbance rejection control based human gait tracking for lower extremity rehabilitation exoskeleton,” ISA transactions, vol. 67, pp. 389–397, 2017. [59] X. Shi and S. Chang, “Extended state observer-based time-optimal control for fast and precise point-to-point motions driven by a novel electromagnetic linear actuator,” Mechatronics, vol. 23, no. 4, pp. 445–451, 2013. [60] M. Przybyła, M. Kordasz, R. Mado´nski, P. Herman, and P. Sauer, “Active disturbance rejection control of a 2dof manipulator with significant modeling uncertainty,” Bulletin of the Polish Academy of Sciences: Technical Sciences, vol. 60, no. 3, pp. 509–520, 2012. [61] B.-Z. Guo and Z.-L. Zhao, Active Disturbance Rejection Control for Nonlinear Systems: An Introduction. Singapore; Hoboken, NJ: John Wiley & Sons, 2016. [62] Y. Huang and W. Xue, “Active disturbance rejection control: methodology and theoretical analysis,” ISA Transactions, vol. 53, no. 4, pp. 963–976, 2014.
90
References
[63] Z. Gao, “On the centrality of disturbance rejection in automatic control,” ISA transactions, vol. 53, no. 4, pp. 850–857, 2014. [64] A. Isidori, Nonlinear control systems. London: Springer Science & Business Media, third ed., 1995. [65] C. Canudas-de Wit, B. Espiau, and C. Urrea, “Orbital stabilization of underactuated mechanical systems,” IFAC Proceedings Volumes, vol. 35, no. 1, pp. 527–532, 2002. [66] J. W. Grizzle and C. Chevallereau, “Virtual constraints and hybrid zero dynamics for realizing underactuated bipedal locomotion,” arXiv preprint arXiv:1706.01127, 2017. [67] J.-J. E. Slotine and W. Li, Applied nonlinear control. NJ: Prentice hall Englewood Cliffs, 1991. [68] Y. C. Kim, L. H. Keel, and S. P. Bhattacharyya, “Transient response control via characteristic ratio assignment,” IEEE Transactions on Automatic Control, vol. 48, no. 12, pp. 2238–2244, 2003. [69] S. Collins, A. Ruina, R. Tedrake, and M. Wisse, “Efficient bipedal robots based on passivedynamic walkers,” Science, vol. 307, no. 5712, pp. 1082–1085, 2005. [70] K. Sreenath, Feedback control of a bipedal walker and runner with compliance. PhD thesis, University of Michigan, 2011. [71] J. K. Hodgins and M. Raibert, “Adjusting step length for rough terrain locomotion,” IEEE Transactions on Robotics and Automation, vol. 7, no. 3, pp. 289–298, 1991. [72] J. W. Hurst and A. A. Rizzi, “Series compliance for an efficient running gait,” IEEE Robotics & Automation Magazine, vol. 15, no. 3, 2008. [73] S. Tzafestas, M. Raibert, and C. Tzafestas, “Robust sliding-mode control applied to a 5-link biped robot,” Journal of Intelligent and Robotic Systems, vol. 15, no. 1, pp. 67–133, 1996.
Appendix A Lagrange Formulation This appendix introduces the Lagrange dynamic formulation used to develop the mathematical model for the continuous dynamics of a dynamic bipedal robot such as Saurian. The Lagrange formulation is an energy-based approach to get the Euler-Lagrange equations of the robot. In that way, let us define the Lagrangian as L = K (q s , q˙ s ) − V (q s ) ,
(A.1)
where q s is a vector of generalized coordinates, q˙ s is the velocity of the generalized coordinates, K (q s , q˙ s ) is the kinetic energy and V (q s ) is the potential energy. Thus, the Lagrange differential equation is defined as ∂L d ∂L − = Γ s,i , i ∈ {1, 2, · · · , n}, (A.2) dt ∂q˙ s,i ∂q s,i where n is the number of generalized coordinates (for Saurian n = 5), Γ s,i is the vector of generalized torques and forces [73]. Considering that for mechanical systems the potential energy V (q s ) is independent of velocity, then (A.2) can be written as d ∂K ∂K ∂V − + = Γ s,i , dt ∂q˙ s,i ∂q s,i ∂q s,i
i ∈ {1, 2, · · · , n}.
(A.3)
In order to compute the kinetic energy of the robot, which is equal to the sum of the kinetic energy of all the robot’s links, let us define the position of the center of mass of each element with respect to the support-leg end. Based on Fig. A.1., the central position of the masses are defined
92
Lagrange Formulation
( )
Fig. A.1. Stick description of Saurian.
by r1 r2 r3 r4 r5
cos θ1 a , := lt − ltm sin θa1 cos θa2 cos θa1 + l f − lmf , := lt sin θa1 sin θa2 cos θa1 cos θa2 m cos θa3 + l f + lT := lt sin θa1 sin θa2 sin θa3 cos θa1 cos θa2 m cos θa4 + l f + l := lt sin θa1 sin θa2 f sin θa4 cos θa2 cos θa4 cos θa1 + l f + l f := lt sin θa1 sin θa2 sin θa4
(A.4) (A.5) ,
(A.6)
,
(A.7)
m cos θa5 + lt sin θa5
,
(A.8)
93 where the relation between the absolute angles θai and the relative angles qi is give by
θa1 θa2 θa3 θa4 θa5
:=
1 1 0 0 0
0 0 0 1 1
1 0 0 0 0
0 0 0 0 1
1 1 1 1 1
q1 q2 q3 q4 q5
π − 2 π − 2 + π . π2 2 π
(A.9)
2
With the position vector of the center of masses defined, their time derivatives are used to compute the total kinetic energy as ! n X 1 1 i 2 mi r˙i T r˙i + Ii (θa ) . K (q s , q˙ s ) := 2 2 i=1
(A.10)
In the modeling of Saurian, the potential energy was computed with the effect of the gravity, while spring effects were considered part of the generalized torques and forces [26]. Thus, the potential energy is n X (q ) V s = gmi riv , (A.11) i=1
where g is the gravity constant, mi is the mass of the link i, and riv is the vertical position of its center of mass. Computing the Lagrange differential equation (A.3) with the information of (A.10) and (A.11), the mathematical model of the robot at the single support phase (swing phase) is given by D s (q s )q¨ s + C s (q s , q˙ s )q˙ s + G s (q s ) = Γ s , (A.12) where the generalized forces and torques are defined by Γ s := Bs (q s )u + K s (qb − q′b ) + δ(q s , q˙ s ) + ζ(t),
(A.13)
δ(q s , q˙ s ) represents the unmodeled dynamics and model mismatching, and ζ(t) represents the external disturbances, i.e., external forces and torques. The remaining parameter of (A.12) and (A.13) are described below: D s (q s )1,1 =Izz f + Izzt + lmf 2 m f + l f 2 mT + ltm 2 mt + lt 2 mT + 2 l f 2 m f + l f 2 mt + ... + 2 lt 2 m f + 2 lt 2 mt − 2 lmf l f m f − 2 ltm lt mt − 2 lm f lt m f cos(q3 ) + ... + 2 l f lt mT cos(q3 ) + 4 l f lt m f cos(q3 ) + 2 l f lt mt cos(q3 ) ,
94
Lagrange Formulation
D s (q s )1,2 = − l f 2 mt cos(q1 − q2 ) − ltm l f mt cos(q1 − q2 − q4 ) + ... − lmf l f m f cos(q1 − q2 ) − ltm lt mt cos(q1 − q2 + q3 − q4 ) + ... − lmf lt m f cos(q1 − q2 + q3 ) − l f lt mt cos(q1 − q2 + q3 ) ,
D s (q s )1,3 =Izzt + ltm 2 mt + lt 2 mT + 2 lt 2 m f + 2 lt 2 mt − 2 ltm lt mt + ... − lmf lt m f cos(q3 ) + l f lt mT cos(q3 ) + 2 l f lt m f cos(q3 ) + l f lt mt cos(q3 ) ,
D s (q s )1,4 = − ltm l f mt cos(q1 − q2 − q4 ) − ltm lt mt cos(q1 − q2 + q3 − q4 ) ,
D s (q s )1,5 =Izz f + Izzt + lmf 2 m f + l f 2 mT + ltm 2 mt + lt 2 mT + 2 l f 2 m f + l f 2 mt + ... + 2 lt 2 m f + 2 lt 2 mt − 2 lmf l f m f − 2 ltm lt mt − l f 2 mt cos(q1 − q2 ) + ... − lT l f mT cos(q1 ) − 2 lmf lt m f cos(q3 ) + 2 l f lt mT cos(q3 ) + ... + 4 l f lt m f cos(q3 ) + 2 l f lt mt cos(q3 ) − ltm l f mt cos(q1 − q2 − q4 ) + ... − lmf l f m f cos(q1 − q2 ) − ltm lt mt cos(q1 − q2 + q3 − q4 ) + ... − lmf lt m f cos(q1 − q2 + q3 ) − l f lt mt cos(q1 − q2 + q3 ) + ... − lT lt mT cos(q1 + q3 ) ,
D s (q s )2,1 = − l f 2 mt cos(q1 − q2 ) − ltm l f mt cos(q1 − q2 − q4 ) − lmf l f m f cos(q1 − q2 ) + ... − ltm lt mt cos(q1 − q2 + q3 − q4 ) − lmf lt m f cos(q1 − q2 + q3 ) + ... − l f lt mt cos(q1 − q2 + q3 ) ,
D s (q s )2,2 =m f lmf 2 + mt ltm 2 + 2 mt cos(q4 ) ltm l f + mt l f 2 + Izz f + Izzt ,
D s (q s )2,3 = − ltm lt mt cos(q1 − q2 + q3 − q4 ) − lmf lt m f cos(q1 − q2 + q3 ) + ... − l f lt mt cos(q1 − q2 + q3 ) ,
D s (q s )2,4 =mt ltm 2 + l f mt cos(q4 ) ltm + Izzt ,
95 D s (q s )2,5 =Izz f + Izzt + lmf 2 m f + ltm 2 mt + l f 2 mt − l f 2 mt cos(q1 − q2 ) + ... + 2 ltm l f mt cos(q4 ) − ltm l f mt cos(q1 − q2 − q4 ) − lmf l f m f cos(q1 − q2 ) + ... − ltm lt mt cos(q1 − q2 + q3 − q4 ) − lmf lt m f cos(q1 − q2 + q3 ) + ... − l f lt mt cos(q1 − q2 + q3 ) ,
D s (q s )3,1 =Izzt + ltm 2 mt + lt 2 mT + 2 lt 2 m f + 2 lt 2 mt − 2 ltm lt mt − lmf lt m f cos(q3 ) + ... + l f lt mT cos(q3 ) + 2 l f lt m f cos(q3 ) + l f lt mt cos(q3 ) ,
D s (q s )3,2 = − ltm lt mt cos(q1 − q2 + q3 − q4 ) − lmf lt m f cos(q1 − q2 + q3 ) + ... − l f lt mt cos(q1 − q2 + q3 ) ,
D s (q s )3,3 =Izzt + ltm 2 mt + lt 2 mT + 2 lt 2 m f + 2 lt 2 mt − 2 ltm lt mt ,
D s (q s )3,4 = − ltm lt mt cos(q1 − q2 + q3 − q4 ) ,
D s (q s )3,5 =Izzt + ltm 2 mt + lt 2 mT + 2 lt 2 m f + 2 lt 2 mt − 2 ltm lt mt − lmf lt m f cos(q3 ) + ... + l f lt mT cos(q3 ) + 2 l f lt m f cos(q3 ) + l f lt mt cos(q3 ) + ... − ltm lt mt cos(q1 − q2 + q3 − q4 ) − lmf lt m f cos(q1 − q2 + q3 ) + ... − l f lt mt cos(q1 − q2 + q3 ) − lT lt mT cos(q1 + q3 ) ,
D s (q s )4,1 = − ltm l f mt cos(q1 − q2 − q4 ) − ltm lt mt cos(q1 − q2 + q3 − q4 ) ,
D s (q s )4,2 =mt ltm 2 + l f mt cos(q4 ) ltm + Izzt ,
D s (q s )4,3 = − ltm lt mt cos(q1 − q2 + q3 − q4 ) ,
96
Lagrange Formulation
D s (q s )4,4 =mt ltm 2 + Izzt ,
D s (q s )4,5 =Izzt + ltm 2 mt + ltm l f mt cos(q4 ) − ltm l f mt cos(q1 − q2 − q4 ) + ... − ltm lt mt cos(q1 − q2 + q3 − q4 ) ,
D s (q s )5,1 =Izz f + Izzt + lmf 2 m f + l f 2 mT + ltm 2 mt + lt 2 mT + 2 l f 2 m f + l f 2 mt + ... + 2 lt 2 m f + 2 lt 2 mt − 2 lmf l f m f − 2 ltm lt mt − l f 2 mt cos(q1 − q2 ) + ... − lT l f mT cos(q1 ) − 2 lmf lt m f cos(q3 ) + 2 l f lt mT cos(q3 ) + ... + 4 l f lt m f cos(q3 ) + 2 l f lt mt cos(q3 ) − ltm l f mt cos(q1 − q2 − q4 ) + ... − lmf l f m f cos(q1 − q2 ) − ltm lt mt cos(q1 − q2 + q3 − q4 ) + ... − lmf lt m f cos(q1 − q2 + q3 ) − l f lt mt cos(q1 − q2 + q3 ) − lT lt mT cos(q1 + q3 ) ,
D s (q s )5,2 =Izz f + Izzt + lmf 2 m f + ltm 2 mt + l f 2 mt − l f 2 mt cos(q1 − q2 ) + ... + 2 ltm l f mt cos(q4 ) − ltm l f mt cos(q1 − q2 − q4 ) + ... − lmf l f m f cos(q1 − q2 ) − ltm lt mt cos(q1 − q2 + q3 − q4 ) + ... − lmf lt m f cos(q1 − q2 + q3 ) − l f lt mt cos(q1 − q2 + q3 ) ,
D s (q s )5,3 =Izzt + ltm 2 mt + lt 2 mT + 2 lt 2 m f + 2 lt 2 mt − 2 ltm lt mt + ... − lmf lt m f cos(q3 ) + l f lt mT cos(q3 ) + 2 l f lt m f cos(q3 ) + ... + l f lt mt cos(q3 ) − ltm lt mt cos(q1 − q2 + q3 − q4 ) + ... − lmf lt m f cos(q1 − q2 + q3 ) − l f lt mt cos(q1 − q2 + q3 ) + ... − lT lt mT cos(q1 + q3 ) ,
D s (q s )5,4 =Izzt + ltm 2 mt + ltm l f mt cos(q4 ) − ltm l f mt cos(q1 − q2 − q4 ) + ... − ltm lt mt cos(q1 − q2 + q3 − q4 ) ,
97 D s (q s )5,5 =IzzT + 2 Izz f + 2 Izzt + lT 2 mT + 2 lmf 2 m f + l f 2 mT + 2 ltm 2 mt + lt 2 mT + ... + 2 l f 2 m f + 2 l f 2 mt + 2 lt 2 m f + 2 lt 2 mt − 2 lmf l f m f − 2 ltm lt mt + ... − 2 l f 2 mt cos(q1 − q2 ) − 2 lT l f mT cos(q1 ) − 2 lmf lt m f cos(q3 ) + ... + 2 ltm l f mt cos(q4 ) + 2 l f lt mT cos(q3 ) + 4 l f lt m f cos(q3 ) + ... + 2 l f lt mt cos(q3 ) − 2 ltm l f mt cos(q1 − q2 − q4 ) − 2 lmf l f m f cos(q1 − q2 ) + ... − 2 ltm lt mt cos(q1 − q2 + q3 − q4 ) − 2 lmf lt m f cos(q1 − q2 + q3 ) + ... − 2 l f lt mt cos(q1 − q2 + q3 ) − 2 lT lt mT cos(q1 + q3 ) ,
C s (q s , q˙ s )1,1 = − lt q˙ 3 sin(q3 ) l f mT − lmf m f + 2 l f m f + l f mt ,
C s (q s , q˙ s )1,2 = − q˙ 2 l f 2 mt sin(q1 − q2 ) + ltm l f mt sin(q1 − q2 − q4 ) + ... + lmf l f m f sin(q1 − q2 ) + ltm lt mt sin(q1 − q2 + q3 − q4 ) + ... +lmf lt m f sin(q1 − q2 + q3 ) + l f lt mt sin(q1 − q2 + q3 ) + ... − q˙ 5 l f 2 mt sin(q1 − q2 ) + ltm l f mt sin(q1 − q2 − q4 ) + ... + lmf l f m f sin(q1 − q2 ) + ltm lt mt sin(q1 − q2 + q3 − q4 ) + ... +lmf lt m f sin(q1 − q2 + q3 ) + l f lt mt sin(q1 − q2 + q3 ) + ... − ltm mt q˙ 4 lt sin(q1 − q2 + q3 − q4 ) + l f sin(q1 − q2 − q4 ) ,
C s (q s , q˙ s )1,3 = − lt sin(q3 ) (q˙ 1 + q˙ 3 + q˙ 5 ) l f mT − lmf m f + 2 l f m f + l f mt ,
C s (q s , q˙ s )1,4 = − ltm mt lt sin(q1 − q2 + q3 − q4 ) + l f sin(q1 − q2 − q4 ) (q˙ 2 + q˙ 4 + q˙ 5 ) ,
98
Lagrange Formulation
C s (q s , q˙ s )1,5 =lmf lt m f q˙ 3 sin(q3 ) − l f 2 mt q˙ 5 sin(q1 − q2 ) + ... − lmf lt m f q˙ 2 sin(q1 − q2 + q3 ) − lmf lt m f q˙ 5 sin(q1 − q2 + q3 ) + ... − l f lt mt q˙ 2 sin(q1 − q2 + q3 ) − l f lt mt q˙ 5 sin(q1 − q2 + q3 ) + ... − lT lt mT q˙ 5 sin(q1 + q3 ) − lT l f mT q˙ 5 sin(q1 ) + ... − l f 2 mt q˙ 2 sin(q1 − q2 ) − l f lt mT q˙ 3 sin(q3 ) + ... − 2 l f lt m f q˙ 3 sin(q3 ) − l f lt mt q˙ 3 sin(q3 ) + ... − ltm l f mt q˙ 2 sin(q1 − q2 − q4 ) − ltm l f mt q˙ 4 sin(q1 − q2 − q4 ) + ... − ltm l f mt q˙ 5 sin(q1 − q2 − q4 ) − lmf l f m f q˙ 2 sin(q1 − q2 ) + ... − lmf l f m f q˙ 5 sin(q1 − q2 ) − ltm lt mt q˙ 2 sin(q1 − q2 + q3 − q4 ) + ... − ltm lt mt q˙ 4 sin(q1 − q2 + q3 − q4 ) − ltm lt mt q˙ 5 sin(q1 − q2 + q3 − q4 ) ,
C s (q s , q˙ s )2,1 =q˙ 1 l f 2 mt sin(q1 − q2 ) + ltm l f mt sin(q1 − q2 − q4 ) + ... + lmf l f m f sin(q1 − q2 ) + ltm lt mt sin(q1 − q2 + q3 − q4 ) + ... +lmf lt m f sin(q1 − q2 + q3 ) + l f lt mt sin(q1 − q2 + q3 ) + ... + q˙ 5 l f 2 mt sin(q1 − q2 ) + ltm l f mt sin(q1 − q2 − q4 ) + ... + lmf l f m f sin(q1 − q2 ) + ltm lt mt sin(q1 − q2 + q3 − q4 ) + ... +lmf lt m f sin(q1 − q2 + q3 ) + l f lt mt sin(q1 − q2 + q3 ) + ... + lt q˙ 3 ltm mt sin(q1 − q2 + q3 − q4 ) + lmf m f sin(q1 − q2 + q3 ) + ... +l f mt sin(q1 − q2 + q3 ) ,
C s (q s , q˙ s )2,2 = − ltm l f mt q˙ 4 sin(q4 ) ,
C s (q s , q˙ s )2,3 =lt (q˙ 1 + q˙ 3 + q˙ 5 ) ltm mt sin(q1 − q2 + q3 − q4 ) + ... +lmf m f sin(q1 − q2 + q3 ) + l f mt sin(q1 − q2 + q3 ) ,
C s (q s , q˙ s )2,4 = − ltm l f mt sin(q4 ) (q˙ 2 + q˙ 4 + q˙ 5 ) ,
99 C s (q s , q˙ s )2,5 =l f 2 mt q˙ 1 sin(q1 − q2 ) + l f 2 mt q˙ 5 sin(q1 − q2 ) + ... + lmf lt m f q˙ 1 sin(q1 − q2 + q3 ) + lmf lt m f q˙ 3 sin(q1 − q2 + q3 ) + ... + lmf lt m f q˙ 5 sin(q1 − q2 + q3 ) + l f lt mt q˙ 1 sin(q1 − q2 + q3 ) + ... + l f lt mt q˙ 3 sin(q1 − q2 + q3 ) + l f lt mt q˙ 5 sin(q1 − q2 + q3 ) + ... − ltm l f mt q˙ 4 sin(q4 ) + ltm l f mt q˙ 1 sin(q1 − q2 − q4 ) + ... + ltm l f mt q˙ 5 sin(q1 − q2 − q4 ) + lmf l f m f q˙ 1 sin(q1 − q2 ) + ... + lmf l f m f q˙ 5 sin(q1 − q2 ) + ltm lt mt q˙ 1 sin(q1 − q2 + q3 − q4 ) + ... + ltm lt mt q˙ 3 sin(q1 − q2 + q3 − q4 ) + ltm lt mt q˙ 5 sin(q1 − q2 + q3 − q4 ) ,
C s (q s , q˙ s )3,1 =lt sin(q3 ) (q˙ 1 + q˙ 5 ) l f mT − lmf m f + 2 l f m f + l f mt ,
C s (q s , q˙ s )3,2 = − lt q˙ 2 ltm mt sin(q1 − q2 + q3 − q4 ) + lmf m f sin(q1 − q2 + q3 ) + ... +l f mt sin(q1 − q2 + q3 ) − lt q˙ 5 ltm mt sin(q1 − q2 + q3 − q4 ) + ... +lmf m f sin(q1 − q2 + q3 ) + l f mt sin(q1 − q2 + q3 ) + ... − ltm lt mt q˙ 4 sin(q1 − q2 + q3 − q4 ) ,
C s (q s , q˙ s )3,3 =0,
C s (q s , q˙ s )3,4 = − ltm lt mt sin(q1 − q2 + q3 − q4 ) (q˙ 2 + q˙ 4 + q˙ 5 ) ,
100
Lagrange Formulation
C s (q s , q˙ s )3,5 =l f lt mT q˙ 1 sin(q3 ) − lmf lt m f q˙ 5 sin(q1 − q2 + q3 ) + ... − l f lt mt q˙ 2 sin(q1 − q2 + q3 ) − l f lt mt q˙ 5 sin(q1 − q2 + q3 ) + ... − lT lt mT q˙ 5 sin(q1 + q3 ) − lmf lt m f q˙ 1 sin(q3 ) + ... − lmf lt m f q˙ 5 sin(q3 ) − lmf lt m f q˙ 2 sin(q1 − q2 + q3 ) + ... + l f lt mT q˙ 5 sin(q3 ) + 2 l f lt m f q˙ 1 sin(q3 ) + ... + 2 l f lt m f q˙ 5 sin(q3 ) + l f lt mt q˙ 1 sin(q3 ) + ... + l f lt mt q˙ 5 sin(q3 ) − ltm lt mt q˙ 2 sin(q1 − q2 + q3 − q4 ) + ... − ltm lt mt q˙ 4 sin(q1 − q2 + q3 − q4 ) − ltm lt mt q˙ 5 sin(q1 − q2 + q3 − q4 ) ,
C s (q s , q˙ s )4,1 =q˙ 1 ltm l f mt sin(q1 − q2 − q4 ) + ltm lt mt sin(q1 − q2 + q3 − q4 ) + ... + q˙ 5 ltm l f mt sin(q1 − q2 − q4 ) + ltm lt mt sin(q1 − q2 + q3 − q4 ) + ... + ltm lt mt q˙ 3 sin(q1 − q2 + q3 − q4 ) ,
C s (q s , q˙ s )4,2 =ltm l f mt sin(q4 ) (q˙ 2 + q˙ 5 ) ,
C s (q s , q˙ s )4,3 =ltm lt mt sin(q1 − q2 + q3 − q4 ) (q˙ 1 + q˙ 3 + q˙ 5 ) ,
C s (q s , q˙ s )4,4 =0,
C s (q s , q˙ s )4,5 =ltm mt (lt q˙ 1 sin(q1 − q2 + q3 − q4 ) + lt q˙ 3 sin(q1 − q2 + q3 − q4 ) + ... + lt q˙ 5 sin(q1 − q2 + q3 − q4 ) + l f q˙ 2 sin(q4 ) + l f q˙ 5 sin(q4 ) + ... +l f q˙ 1 sin(q1 − q2 − q4 ) + l f q˙ 5 sin(q1 − q2 − q4 ) ,
101 C s (q s , q˙ s )5,1 =q˙ 1 l f 2 mt sin(q1 − q2 ) + lT l f mT sin(q1 ) + ... + ltm l f mt sin(q1 − q2 − q4 ) + lmf l f m f sin(q1 − q2 ) + ... + ltm lt mt sin(q1 − q2 + q3 − q4 ) + lmf lt m f sin(q1 − q2 + q3 ) + ... +l f lt mt sin(q1 − q2 + q3 ) + lT lt mT sin(q1 + q3 ) + ... + q˙ 5 l f 2 mt sin(q1 − q2 ) + lT l f mT sin(q1 ) + ... + ltm l f mt sin(q1 − q2 − q4 ) + lmf l f m f sin(q1 − q2 ) + ... + ltm lt mt sin(q1 − q2 + q3 − q4 ) + lmf lt m f sin(q1 − q2 + q3 ) + ... +l f lt mt sin(q1 − q2 + q3 ) + lT lt mT sin(q1 + q3 ) + ... + lt q˙ 3 ltm mt sin(q1 − q2 + q3 − q4 ) + lmf m f sin(q1 − q2 + q3 ) + ... + l f mt sin(q1 − q2 + q3 ) + lT mT sin(q1 + q3 ) + lmf m f sin(q3 ) + ... −l f mT sin(q3 ) − 2 l f m f sin(q3 ) − l f mt sin(q3 ) ,
C s (q s , q˙ s )5,2 = − q˙ 2 l f 2 mt sin(q1 − q2 ) + ltm l f mt sin(q1 − q2 − q4 ) + ... + lmf l f m f sin(q1 − q2 ) + ltm lt mt sin(q1 − q2 + q3 − q4 ) + ... +lmf lt m f sin(q1 − q2 + q3 ) + l f lt mt sin(q1 − q2 + q3 ) + ... − q˙ 5 l f 2 mt sin(q1 − q2 ) + ltm l f mt sin(q1 − q2 − q4 ) + ... + lmf l f m f sin(q1 − q2 ) + ltm lt mt sin(q1 − q2 + q3 − q4 ) + ... +lmf lt m f sin(q1 − q2 + q3 ) + l f lt mt sin(q1 − q2 + q3 ) + ... − ltm mt q˙ 4 lt sin(q1 − q2 + q3 − q4 ) + l f sin(q4 ) + l f sin(q1 − q2 − q4 ) ,
C s (q s , q˙ s )5,3 =lt (q˙ 1 + q˙ 3 + q˙ 5 ) ltm mt sin(q1 − q2 + q3 − q4 ) + ... + lmf m f sin(q1 − q2 + q3 ) + l f mt sin(q1 − q2 + q3 ) + ... + lT mT sin(q1 + q3 ) + lmf m f sin(q3 ) − l f mT sin(q3 ) + ... −2 l f m f sin(q3 ) − l f mt sin(q3 ) ,
C s (q s , q˙ s )5,4 = − ltm mt lt sin(q1 − q2 + q3 − q4 ) + l f sin(q4 ) + ... +l f sin(q1 − q2 − q4 ) (q˙ 2 + q˙ 4 + q˙ 5 ) ,
102
Lagrange Formulation
C s (q s , q˙ s )5,5 =l f 2 mt q˙ 1 sin(q1 − q2 ) − l f 2 mt q˙ 2 sin(q1 − q2 ) + ... + lmf lt m f q˙ 1 sin(q1 − q2 + q3 ) − lmf lt m f q˙ 2 sin(q1 − q2 + q3 ) + ... + lmf lt m f q˙ 3 sin(q1 − q2 + q3 ) + l f lt mt q˙ 1 sin(q1 − q2 + q3 ) + ... − l f lt mt q˙ 2 sin(q1 − q2 + q3 ) + l f lt mt q˙ 3 sin(q1 − q2 + q3 ) + ... + lT lt mT q˙ 1 sin(q1 + q3 ) + lT lt mT q˙ 3 sin(q1 + q3 ) + ... + lT l f mT q˙ 1 sin(q1 ) + lmf lt m f q˙ 3 sin(q3 ) + ... − ltm l f mt q˙ 4 sin(q4 ) − l f lt mT q˙ 3 sin(q3 ) + ... − 2 l f lt m f q˙ 3 sin(q3 ) − l f lt mt q˙ 3 sin(q3 ) + ... + ltm l f mt q˙ 1 sin(q1 − q2 − q4 ) − ltm l f mt q˙ 2 sin(q1 − q2 − q4 ) + ... − ltm l f mt q˙ 4 sin(q1 − q2 − q4 ) + lmf l f m f q˙ 1 sin(q1 − q2 ) + ... − lmf l f m f q˙ 2 sin(q1 − q2 ) + ltm lt mt q˙ 1 sin(q1 − q2 + q3 − q4 ) + ... − ltm lt mt q˙ 2 sin(q1 − q2 + q3 − q4 ) + ... + ltm lt mt q˙ 3 sin(q1 − q2 + q3 − q4 ) − ltm lt mt q˙ 4 sin(q1 − q2 + q3 − q4 ) ,
G s (q s )1,1 =g lt mT sin(q1 + q3 + q5 ) − ltm mt sin(q1 + q3 + q5 ) + ... + 2 lt m f sin(q1 + q3 + q5 ) + 2 lt mt sin(q1 + q3 + q5 ) + ... − lmf m f sin(q1 + q5 ) + l f mT sin(q1 + q5 ) + 2 l f m f sin(q1 + q5 ) + ... +l f mt sin(q1 + q5 ) ,
G s (q s )1,2 = − g ltm mt sin(q2 + q4 + q5 ) + lmf m f sin(q2 + q5 ) + l f mt sin(q2 + q5 ) ,
G s (q s )1,3 =g sin(q1 + q3 + q5 ) lt mT − ltm mt + 2 lt m f + 2 lt mt ,
G s (q s )1,4 = − ltm mt g sin(q2 + q4 + q5 ) ,
103 G s (q s )1,5 = − g ltm mt sin(q1 + q3 + q5 ) + ltm mt sin(q2 + q4 + q5 ) + ... − lt mT sin(q1 + q3 + q5 ) − 2 lt m f sin(q1 + q3 + q5 ) + ... − 2 lt mt sin(q1 + q3 + q5 ) + lmf m f sin(q1 + q5 ) + ... + lmf m f sin(q2 + q5 ) − l f mT sin(q1 + q5 ) + ... − 2 l f m f sin(q1 + q5 ) − l f mt sin(q1 + q5 ) + ... +l f mt sin(q2 + q5 ) + lT mT sin(q5 ) ,
Bs (q s ) =
1 0 0 0 0
0 1 0 0 0
K s =
0 E 0 0 0
0 0 E 0 0
E 0 0 0 0
0 0 1 0 0
0 0 0 E 0
0 0 0 1 0
,
.
Index A ADRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 active disturbance rejection controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
B Bézier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 behavioral constraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
D disturbance rejection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 dynamic walkers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
E EHZD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 extended hybrid zero dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
F feedback linearization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Partial feedback linearization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
G GPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 generalized proportional-integral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
H hybrid dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 hybrid model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 HZD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 hybrid zero dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 HZDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
106
Index
J Jacobian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
L Lagrange differential equation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
N NESO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 nonlinear extended state observer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Nonlinear equality constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Nonlinear inequality constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
P passive walkers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Poincaré . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Poincaré return map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
R reset control law . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
S Saurian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 specific energetic cost of transport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 specific mechanical cost of transport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
T trajectory generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
V VHC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 virtual holonomic constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Z zero dynamics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 ZMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 zero moment point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Disturbance rejection control for bipedal robot walkers
Este libro forma parte de la Colección Techné. Se editó y diagramó en la Editorial Universidad Nacional de Colombia. Se digitalizó en formato ePub por Mákina Editorial en diciembre de 2022. Bogotá, D. C., Colombia.
Techné recoge ensayos que, a partir de nuevos hallazgos, procedimientos o puntos de vista, ofrecen nuevos aportes a temas prácticos de las disciplinas o las profesiones. El rigor de la selección de cada una de las obras está respaldado por el Sello Editorial Universidad Nacional de Colombia, que garantiza la excelencia de la producción editorial en todas las ramas del saber.
This dissertation contributes to the theoretical and experimental foundation of disturbance rejection control in dynamic bipedal robots. Disturbances produced by model uncertainties and external disturbances are studied as lumped signals that can be rejected through feedback control techniques. The disturbance rejection problem is addressed with the design of trajectory tracking controllers working complementary with an adaptive reference trajectory generator. Two trajectory tracking control strategies were developed: (i) a novel model-based active disturbance rejection control and (ii) a robust multivariable generalized proportional integral control. The methodology adopted allows the design of trajectory generators with the ability to produce periodic stable gait patterns and reject disturbances through the use of an adaptive reference trajectory generator. A discrete control action resets the gait trajectory references after the impact produced by the robot’s support-leg exchange in order to maintain a zero tracking error in the controlled joints. In addition, an extended hybrid zero dynamics is introduced to examine the periodic stability of the system with the use of a lower-dimensional representation of the full hybrid dynamics with uncertainties. A physical bipedal robot testbed, named as Saurian, was fabricated for validation purposes. Numerical simulation and physical experiments show the robustness of the proposed control strategies against external disturbances and model uncertainties that could affect both the swing motion phase and the support-leg exchange.